|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 // This file is part of Moodle - http://moodle.org/ 00003 // 00004 // Moodle is free software: you can redistribute it and/or modify 00005 // it under the terms of the GNU General Public License as published by 00006 // the Free Software Foundation, either version 3 of the License, or 00007 // (at your option) any later version. 00008 // 00009 // Moodle is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 // GNU General Public License for more details. 00013 // 00014 // You should have received a copy of the GNU General Public License 00015 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 00016 00025 require_once(dirname(dirname(dirname(__FILE__))) . '/config.php'); 00026 require_once('lib.php'); 00027 require_once('locallib.php'); 00028 require_once("$CFG->dirroot/mod/wiki/filesedit_form.php"); 00029 require_once("$CFG->dirroot/repository/lib.php"); 00030 00031 $subwikiid = required_param('subwiki', PARAM_INT); 00032 // not being used for file management, we use it to generate navbar link 00033 $pageid = optional_param('pageid', 0, PARAM_INT); 00034 $returnurl = optional_param('returnurl', '', PARAM_URL); 00035 00036 if (!$subwiki = wiki_get_subwiki($subwikiid)) { 00037 print_error('incorrectsubwikiid', 'wiki'); 00038 } 00039 00040 // Checking wiki instance of that subwiki 00041 if (!$wiki = wiki_get_wiki($subwiki->wikiid)) { 00042 print_error('incorrectwikiid', 'wiki'); 00043 } 00044 00045 // Checking course module instance 00046 if (!$cm = get_coursemodule_from_instance("wiki", $subwiki->wikiid)) { 00047 print_error('invalidcoursemodule'); 00048 } 00049 00050 // Checking course instance 00051 $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST); 00052 00053 $context = get_context_instance(CONTEXT_MODULE, $cm->id); 00054 00055 require_login($course, true, $cm); 00056 require_capability('mod/wiki:managefiles', $context); 00057 00058 if (empty($returnurl)) { 00059 if (!empty($_SERVER["HTTP_REFERER"])) { 00060 $returnurl = $_SERVER["HTTP_REFERER"]; 00061 } else { 00062 $returnurl = new moodle_url('/mod/wiki/files.php', array('subwiki'=>$subwiki->id)); 00063 } 00064 } 00065 00066 $title = get_string('editfiles', 'wiki'); 00067 00068 $struser = get_string('user'); 00069 $url = new moodle_url('/mod/wiki/filesedit.php', array('subwiki'=>$subwiki->id, 'pageid'=>$pageid)); 00070 $PAGE->set_url($url); 00071 $PAGE->set_context($context); 00072 $PAGE->set_title($title); 00073 $PAGE->set_heading($title); 00074 $PAGE->navbar->add(format_string(get_string('wikifiles', 'wiki')), $CFG->wwwroot . '/mod/wiki/files.php?pageid=' . $pageid); 00075 $PAGE->navbar->add(format_string($title)); 00076 00077 $data = new stdClass(); 00078 $data->returnurl = $returnurl; 00079 $data->subwikiid = $subwiki->id; 00080 $maxbytes = get_max_upload_file_size($CFG->maxbytes, $COURSE->maxbytes); 00081 $options = array('subdirs'=>0, 'maxbytes'=>$maxbytes, 'maxfiles'=>-1, 'accepted_types'=>'*', 'return_types'=>FILE_INTERNAL); 00082 file_prepare_standard_filemanager($data, 'files', $options, $context, 'mod_wiki', 'attachments', $subwiki->id); 00083 00084 $mform = new mod_wiki_filesedit_form(null, array('data'=>$data, 'options'=>$options)); 00085 00086 if ($mform->is_cancelled()) { 00087 redirect($returnurl); 00088 } else if ($formdata = $mform->get_data()) { 00089 $formdata = file_postupdate_standard_filemanager($formdata, 'files', $options, $context, 'mod_wiki', 'attachments', $subwiki->id); 00090 redirect($returnurl); 00091 } 00092 00093 echo $OUTPUT->header(); 00094 echo $OUTPUT->box_start('generalbox'); 00095 $mform->display(); 00096 echo $OUTPUT->box_end(); 00097 echo $OUTPUT->footer();