/** * Toggle Post Flags */ public function flag_action() { global $DB; require_sesskey(); $postid = required_param('postid', PARAM_INT); $flag = required_param('flag', PARAM_ALPHA); $returnurl = required_param('returnurl', PARAM_LOCALURL); $flags = $DB->get_field('hsuforum_posts', 'flags', array('id' => $postid), MUST_EXIST); $flaglib = new \hsuforum_lib_flag(); $newflags = $flaglib->toggle_flag($flags, $flag); if ($newflags != $flags) { $updateok = $DB->set_field('hsuforum_posts', 'flags', $newflags, array('id' => $postid)); if (AJAX_SCRIPT && !$updateok) { http_response_code(500); } } if (!AJAX_SCRIPT) { redirect(new \moodle_url($returnurl)); } }