. /* * Handling all ajax request for comments API */ require_once('../config.php'); require_once($CFG->dirroot . '/comment/lib.php'); $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($course->id, true, $cm); $err = new stdclass; if (!confirm_sesskey()) { print_error('invalidsesskey'); } if (!isloggedin()){ print_error('loggedinnot'); } if (isguestuser()) { print_error('loggedinnot'); } $action = optional_param('action', '', PARAM_ALPHA); $area = optional_param('area', '', PARAM_ALPHAEXT); $commentid = optional_param('commentid', -1, PARAM_INT); $content = optional_param('content', '', PARAM_RAW); $itemid = optional_param('itemid', '', PARAM_INT); $returnurl = optional_param('returnurl', '', PARAM_URL); $cmt = new stdclass; $cmt->contextid = $contextid; $cmt->courseid = $course->id; $cmt->area = $area; $cmt->itemid = $itemid; $comment = new comment($cmt); switch ($action) { case 'add': try { $cmt = $comment->add($content); if (!empty($cmt) && is_object($cmt)) { redirect($returnurl, get_string('pageshouldredirect'), 0); } } catch(comment_exception $e) { print_error($e->errorcode); } break; default: exit; }