public function removeTask() { $user = $this->authenticate(); $emptyrequest = !isset($_GET) && !isset($_POST) || sizeof($_GET) == 0 && sizeof($_POST) == 0; $input; if (!$emptyrequest) { $input = new Validation(array_merge($_GET, $_POST)); $input->add_rules('task_id', 'required', 'numeric'); $validator = new TaskValidation_Model(); $validator->expectedUser_id = $user->user_id; $input->add_callbacks('task_id', array($validator, "validateExists")); $input->add_callbacks('task_id', array($validator, "validateUserOwnsTask")); } else { $input = new Validation(array()); $input->add_error('task_id', 'required'); } if ($input->validate()) { $task = new Task_Model(); $task->task_id = $input->task_id; $task->retrieveInfoFromDB(); $task->removeFromDB(); Kohana::render($this->encode($task)); } else { //@TODO : make better error messages...... Kohana::render($this->encode(NULL, $input->errors())); } }