$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);
}