MDL-47950 course: Adding sesskey confirmation when duplicating activities
authorDavid Monllao <davidm@moodle.com>
Wed, 29 Oct 2014 07:00:03 +0000 (15:00 +0800)
committerDan Poltawski <dan@moodle.com>
Thu, 30 Oct 2014 16:58:45 +0000 (16:58 +0000)
course/mod.php
course/modduplicate.php

index 2cca5c7..3247db4 100644 (file)
@@ -78,7 +78,7 @@ if (!empty($add)) {
     $returntomod = optional_param('return', 0, PARAM_BOOL);
     redirect("$CFG->wwwroot/course/modedit.php?update=$update&return=$returntomod&sr=$sectionreturn");
 
-} else if (!empty($duplicate)) {
+} else if (!empty($duplicate) and confirm_sesskey()) {
      $cm     = get_coursemodule_from_id('', $duplicate, 0, true, MUST_EXIST);
      $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST);
 
index ae75273..81eefa6 100644 (file)
 require_once(dirname(dirname(__FILE__)) . '/config.php');
 
 $cmid           = required_param('cmid', PARAM_INT);
-$courseid       = optional_param('course', PARAM_INT);
+$courseid       = required_param('course', PARAM_INT);
 $sectionreturn  = optional_param('sr', null, PARAM_INT);
 
+require_sesskey();
+
 debugging('Please use moodle_url(\'/course/mod.php\', array(\'duplicate\' => $cmid
     , \'id\' => $courseid, \'sesskey\' => sesskey(), \'sr\' => $sectionreturn)))
     instead of new moodle_url(\'/course/modduplicate.php\', array(\'cmid\' => $cmid