/** * Delete controller function * * Deletes the user with userid. * Verifies that the user is authenticated. * * @return json|xml True on success otherwise false */ public function delete() { try { $error_flag = false; $message = ""; $user = new LoveUser(); if (!$user->loadUserFromSession()) { $error_flag = true; $message[] = "Unable to located the user using the current session"; } else { if (!$user->authenticate($_REQUEST["password"])) { $error_flag = true; $message[] = "Invalid password"; } else { if (!$user->delete()) { $error_flag = true; $message[] = "Delete failed"; } else { $message[] = "Delete successful"; $user->logout(); } } } if ($error_flag) { echo json_encode(array("error" => 1, "message" => $message)); exit(0); } else { $repost = $this->request->getRepostPage(); if (isset($repost)) { CURLHandler::doRequest("POST", $repost, $_REQUEST); } echo json_encode(array("error" => 1, "message" => $message)); exit(0); } } catch (Exception $e) { $msg = 'An error occured while updating:' . "\n"; $msg .= "\n" . ' ' . $e->getMessage(); if (defined('APPLICATION_ENV') && APPLICATION_ENV == 'development') { $msg .= "\n\nFile: " . $e->getFile(); $msg .= "\nLine: " . $e->getLine(); $msg .= "\n" . $e->getTraceAsString(); } else { if (defined('APPLICATION_ENV') && APPLICATION_ENV == 'testing') { $msg .= "<br /><br />File: " . $e->getFile(); $msg .= "<br />Line: " . $e->getLine(); $msg .= "<br />" . $e->getTraceAsString(); } } echo $msg; exit; } }