/**
  * 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));
     }
 }