public function admin_update_milestone($admin) { if (!isset($_POST['milestone_id'])) { error(__("Error"), __("No milestone ID specified.", "progress")); } if (!isset($_POST['hash']) or $_POST['hash'] != Config::current()->secure_hashkey) { show_403(__("Access Denied"), __("Invalid security key.")); } $milestone = new Milestone($_POST['milestone_id']); if ($milestone->no_results) { error(__("Error"), __("Invalid milestone ID specified.", "progress")); } if (!$milestone->editable()) { show_403(__("Access Denied"), __("You do not have sufficient privileges to edit this milestone.", "progress")); } $due = empty($_POST['due']) ? "0000-00-00 00:00:00" : datetime($_POST['due']); $milestone->update($_POST['name'], $_POST['description'], $due); Flash::notice(__("Milestone updated.", "progress"), "/admin/?action=manage_milestones"); }