diff --git a/comment/comment_ajax.php b/comment/comment_ajax.php index 08d948a27a46..57dbcbeccf62 100644 --- a/comment/comment_ajax.php +++ b/comment/comment_ajax.php @@ -26,52 +26,57 @@ $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); } diff --git a/comment/lib.php b/comment/lib.php index 3d1afd95b8b9..42eb208c459f 100644 --- a/comment/lib.php +++ b/comment/lib.php @@ -146,6 +146,8 @@ public function __construct($options) { // setup itemid if (!empty($options->itemid)) { $this->itemid = $options->itemid; + } else { + $this->itemid = 0; } // setup env