MDL-19118, set $PAGE->context for comment_ajax.php
authorDongsheng Cai <unoter@gmail.com>
Wed, 14 Apr 2010 05:01:43 +0000 (05:01 +0000)
committerDongsheng Cai <unoter@gmail.com>
Wed, 14 Apr 2010 05:01:43 +0000 (05:01 +0000)
comment/comment_ajax.php
comment/lib.php

index 08d948a..57dbcbe 100644 (file)
@@ -26,52 +26,57 @@ require_once($CFG->dirroot . '/comment/lib.php');
 $contextid = optional_param('contextid', SYSCONTEXTID, PARAM_INT);
 list($context, $course, $cm) = get_context_info_array($contextid);
 
+$PAGE->set_context($context);
+$PAGE->set_url('/comment/comment_ajax.php');
+
 require_login($course, true, $cm);
 require_sesskey();
 
-$action    = optional_param('action',    '',     PARAM_ALPHA);
-$area      = optional_param('area',      '',     PARAM_ALPHAEXT);
-$client_id = optional_param('client_id', '',     PARAM_RAW);
-$commentid = optional_param('commentid', -1,     PARAM_INT);
-$content   = optional_param('content',   '',     PARAM_RAW);
-$itemid    = optional_param('itemid',    '',     PARAM_INT);
-$page      = optional_param('page',      0,      PARAM_INT);
+$action    = optional_param('action',    '', PARAM_ALPHA);
+$area      = optional_param('area',      '', PARAM_ALPHAEXT);
+$client_id = optional_param('client_id', '', PARAM_RAW);
+$commentid = optional_param('commentid', -1, PARAM_INT);
+$content   = optional_param('content',   '', PARAM_RAW);
+$itemid    = optional_param('itemid',    '', PARAM_INT);
+$page      = optional_param('page',      0,  PARAM_INT);
 
+// initilising comment object
 if (!empty($client_id)) {
-    $cmt = new stdclass;
-    $cmt->context   = $context;
-    $cmt->course    = $course;
-    $cmt->cm        = $cm;
-    $cmt->area      = $area;
-    $cmt->itemid    = $itemid;
-    $cmt->client_id = $client_id;
-    $comment = new comment($cmt);
+    $args = new stdclass;
+    $args->context   = $context;
+    $args->course    = $course;
+    $args->cm        = $cm;
+    $args->area      = $area;
+    $args->itemid    = $itemid;
+    $args->client_id = $client_id;
+    $manager = new comment($args);
 } else {
     die;
 }
 
+// process ajax request
 switch ($action) {
     case 'add':
-        $cmt = $comment->add($content);
-        if (!empty($cmt) && is_object($cmt)) {
-            $cmt->count = $comment->count();
-            $cmt->client_id = $client_id;
-            echo json_encode($cmt);
+        $result = $manager->add($content);
+        if (!empty($result) && is_object($result)) {
+            $result->count = $manager->count();
+            $result->client_id = $client_id;
+            echo json_encode($result);
         }
         break;
     case 'delete':
-        $result = $comment->delete($commentid);
+        $result = $manager->delete($commentid);
         if ($result === true) {
             echo json_encode(array('client_id'=>$client_id, 'commentid'=>$commentid));
         }
         break;
     case 'get':
     default:
-        $ret = array();
-        $comments = $comment->get_comments($page);
-        $ret['list'] = $comments;
-        $ret['count'] = $comment->count();
-        $ret['pagination'] = $comment->get_pagination($page);
-        $ret['client_id']  = $client_id;
-        echo json_encode($ret);
+        $result = array();
+        $comments = $manager->get_comments($page);
+        $result['list'] = $comments;
+        $result['count'] = $manager->count();
+        $result['pagination'] = $manager->get_pagination($page);
+        $result['client_id']  = $client_id;
+        echo json_encode($result);
 }
index 3d1afd9..42eb208 100644 (file)
@@ -146,6 +146,8 @@ class comment {
         // setup itemid
         if (!empty($options->itemid)) {
             $this->itemid = $options->itemid;
+        } else {
+            $this->itemid = 0;
         }
 
         // setup env