function moderate() { $id = (int) $this->urlParams['ID']; $className = Convert::raw2sql($this->urlParams['ClassName']); $state = Convert::raw2sql($this->urlParams['State']); $methods = array("delete" => "moderatorDelete", "isspam" => "markSpam", "isham" => "markHam", "approve" => "markApproved", "unapprove" => "markUnapproved"); ModeratableState::push_state($state); $method = $methods[$this->urlParams['Command']]; if (!$method) { FormResponse::clear(); FormResponse::status_message("Command invalid", 'bad'); } else { if ($error = DataObject::get_by_id($className, $id)->{$method}()) { FormResponse::status_message($error, 'bad'); } else { FormResponse::add('$("moderation").elementMoved(' . $id . ');'); } } ModeratableState::pop_state(); return FormResponse::respond(); }