Differences Between: [Versions 310 and 311] [Versions 311 and 400] [Versions 311 and 401] [Versions 311 and 402] [Versions 311 and 403] [Versions 39 and 311]
1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * Wiki files management 19 * 20 * @package mod_wiki 21 * @copyright 2011 Dongsheng Cai <dongsheng@moodle.com> 22 * 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 */ 25 26 require_once('../../config.php'); 27 require_once($CFG->dirroot . '/mod/wiki/lib.php'); 28 require_once($CFG->dirroot . '/mod/wiki/locallib.php'); 29 30 $pageid = required_param('pageid', PARAM_INT); // Page ID 31 $wid = optional_param('wid', 0, PARAM_INT); // Wiki ID 32 $currentgroup = optional_param('group', 0, PARAM_INT); // Group ID 33 $userid = optional_param('uid', 0, PARAM_INT); // User ID 34 $groupanduser = optional_param('groupanduser', null, PARAM_TEXT); 35 36 if (!$page = wiki_get_page($pageid)) { 37 print_error('incorrectpageid', 'wiki'); 38 } 39 40 if ($groupanduser) { 41 list($currentgroup, $userid) = explode('-', $groupanduser); 42 $currentgroup = clean_param($currentgroup, PARAM_INT); 43 $userid = clean_param($userid, PARAM_INT); 44 } 45 46 if ($wid) { 47 // in group mode 48 if (!$wiki = wiki_get_wiki($wid)) { 49 print_error('incorrectwikiid', 'wiki'); 50 } 51 if (!$subwiki = wiki_get_subwiki_by_group($wiki->id, $currentgroup, $userid)) { 52 // create subwiki if doesn't exist 53 $subwikiid = wiki_add_subwiki($wiki->id, $currentgroup, $userid); 54 $subwiki = wiki_get_subwiki($subwikiid); 55 } 56 } else { 57 // no group 58 if (!$subwiki = wiki_get_subwiki($page->subwikiid)) { 59 print_error('incorrectsubwikiid', 'wiki'); 60 } 61 62 // Checking wiki instance of that subwiki 63 if (!$wiki = wiki_get_wiki($subwiki->wikiid)) { 64 print_error('incorrectwikiid', 'wiki'); 65 } 66 } 67 68 // Checking course module instance 69 if (!$cm = get_coursemodule_from_instance("wiki", $subwiki->wikiid)) { 70 print_error('invalidcoursemodule'); 71 } 72 73 // Checking course instance 74 $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST); 75 76 $context = context_module::instance($cm->id); 77 78 79 $PAGE->set_url('/mod/wiki/files.php', array('pageid'=>$pageid)); 80 require_course_login($course, true, $cm); 81 82 if (!wiki_user_can_view($subwiki, $wiki)) { 83 print_error('cannotviewfiles', 'wiki'); 84 } 85 86 $PAGE->set_title(get_string('wikifiles', 'wiki')); 87 $PAGE->set_heading($course->fullname); 88 $PAGE->navbar->add(format_string(get_string('wikifiles', 'wiki'))); 89 echo $OUTPUT->header(); 90 echo $OUTPUT->heading(format_string($wiki->name)); 91 92 // Render the activity information. 93 $cminfo = cm_info::create($cm); 94 $completiondetails = \core_completion\cm_completion_details::get_instance($cminfo, $USER->id); 95 $activitydates = \core\activity_dates::get_dates_for_module($cminfo, $USER->id); 96 echo $OUTPUT->activity_information($cminfo, $completiondetails, $activitydates); 97 98 echo $OUTPUT->box(format_module_intro('wiki', $wiki, $PAGE->cm->id), 'generalbox', 'intro'); 99 100 $renderer = $PAGE->get_renderer('mod_wiki'); 101 102 $tabitems = array('view' => 'view', 'edit' => 'edit', 'comments' => 'comments', 'history' => 'history', 'map' => 'map', 'files' => 'files', 'admin' => 'admin'); 103 104 $options = array('activetab'=>'files'); 105 echo $renderer->tabs($page, $tabitems, $options); 106 107 108 echo $OUTPUT->box_start('generalbox'); 109 echo $renderer->wiki_print_subwiki_selector($PAGE->activityrecord, $subwiki, $page, 'files'); 110 echo $renderer->wiki_files_tree($context, $subwiki); 111 echo $OUTPUT->box_end(); 112 113 if (has_capability('mod/wiki:managefiles', $context)) { 114 echo $OUTPUT->single_button(new moodle_url('/mod/wiki/filesedit.php', array('subwiki'=>$subwiki->id, 'pageid'=>$pageid)), get_string('editfiles', 'wiki'), 'get'); 115 } 116 echo $OUTPUT->footer();
title
Description
Body
title
Description
Body
title
Description
Body
title
Body