"MDL-19118, fixed security bug in comments, thanks to Petr"
authorDongsheng Cai <unoter@gmail.com>
Tue, 16 Mar 2010 07:57:45 +0000 (07:57 +0000)
committerDongsheng Cai <unoter@gmail.com>
Tue, 16 Mar 2010 07:57:45 +0000 (07:57 +0000)
comment/comment_ajax.php
comment/comment_post.php

index c682716..0bb743e 100644 (file)
 require_once('../config.php');
 require_once($CFG->dirroot . '/comment/lib.php');
 
-$courseid  = optional_param('courseid',  SITEID, PARAM_INT);
 $contextid = optional_param('contextid', SYSCONTEXTID, PARAM_INT);
+list($context, $course, $cm) = get_context_info_array($contextid);
 
-$context   = get_context_instance_by_id($contextid);
-if ($context->contextlevel == CONTEXT_MODULE) {
-    $cm = get_coursemodule_from_id('', $context->instanceid);
-} else {
-    $cm = null;
-}
-require_login($courseid, true, $cm);
+require_login($course->id, true, $cm);
 
 $err = new stdclass;
 
@@ -60,7 +54,7 @@ $page      = optional_param('page',      0,      PARAM_INT);
 if (!empty($client_id)) {
     $cmt = new stdclass;
     $cmt->contextid = $contextid;
-    $cmt->courseid  = $courseid;
+    $cmt->courseid  = $course->id;
     $cmt->area      = $area;
     $cmt->itemid    = $itemid;
     $cmt->client_id = $client_id;
index 154932c..1064cac 100644 (file)
@@ -21,8 +21,8 @@
 require_once('../config.php');
 require_once($CFG->dirroot . '/comment/lib.php');
 
-$courseid  = optional_param('courseid',  SITEID, PARAM_INT);
 $contextid = optional_param('contextid', SYSCONTEXTID, PARAM_INT);
+list($context, $course, $cm) = get_context_info_array($contextid);
 
 $context   = get_context_instance_by_id($contextid);
 if ($context->contextlevel == CONTEXT_MODULE) {
@@ -30,7 +30,7 @@ if ($context->contextlevel == CONTEXT_MODULE) {
 } else {
     $cm = null;
 }
-require_login($courseid, true, $cm);
+require_login($course->id, true, $cm);
 
 $err = new stdclass;
 
@@ -55,7 +55,7 @@ $returnurl = optional_param('returnurl', '',     PARAM_URL);
 
 $cmt = new stdclass;
 $cmt->contextid = $contextid;
-$cmt->courseid  = $courseid;
+$cmt->courseid  = $course->id;
 $cmt->area      = $area;
 $cmt->itemid    = $itemid;
 $comment = new comment($cmt);