From 28b41056e3ea962dce1ad017a3c0a60252195e7a Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Wed, 27 May 2009 15:07:27 -0700 Subject: Restructure things so that the application is now just another module. Kohana makes this type of transition fairly straightforward in that all controllers/helpers/etc are still located in the cascading filesystem without any extra effort, except that I've temporarily added a hack to force modules/gallery into the module path. Rename what's left of "core" to be "application" so that it conforms more closely to the Kohana standard (basically, just application/config/config.php which is the minimal thing that you need in the application directory) There's still considerable work left to be done here. --- core/controllers/admin_maintenance.php | 181 --------------------------------- 1 file changed, 181 deletions(-) delete mode 100644 core/controllers/admin_maintenance.php (limited to 'core/controllers/admin_maintenance.php') diff --git a/core/controllers/admin_maintenance.php b/core/controllers/admin_maintenance.php deleted file mode 100644 index c169de75..00000000 --- a/core/controllers/admin_maintenance.php +++ /dev/null @@ -1,181 +0,0 @@ -query( - "UPDATE {tasks} SET `state` = 'stalled' " . - "WHERE done = 0 " . - "AND state <> 'stalled' " . - "AND unix_timestamp(now()) - updated > 15"); - $stalled_count = $query->count(); - if ($stalled_count) { - log::warning("tasks", - t2("One task is stalled", - "%count tasks are stalled", - $stalled_count), - t('view', - array("url" => url::site("admin/maintenance")))); - } - - $view = new Admin_View("admin.html"); - $view->content = new View("admin_maintenance.html"); - $view->content->task_definitions = task::get_definitions(); - $view->content->running_tasks = ORM::factory("task") - ->where("done", 0)->orderby("updated", "DESC")->find_all(); - $view->content->finished_tasks = ORM::factory("task") - ->where("done", 1)->orderby("updated", "DESC")->find_all(); - print $view; - } - - /** - * Start a new task - * @param string $task_callback - */ - public function start($task_callback) { - access::verify_csrf(); - - $tasks = task::get_definitions(); - $task = task::create($tasks[$task_callback], array()); - $view = new View("admin_maintenance_task.html"); - $view->task = $task; - - log::info("tasks", t("Task %task_name started (task id %task_id)", - array("task_name" => $task->name, "task_id" => $task->id)), - html::anchor(url::site("admin/maintenance"), t("maintenance"))); - print $view; - } - - /** - * Resume a stalled task - * @param string $task_id - */ - public function resume($task_id) { - access::verify_csrf(); - - $task = ORM::factory("task", $task_id); - if (!$task->loaded) { - throw new Exception("@todo MISSING_TASK"); - } - $view = new View("admin_maintenance_task.html"); - $view->task = $task; - - log::info("tasks", t("Task %task_name resumed (task id %task_id)", - array("task_name" => $task->name, "task_id" => $task->id)), - html::anchor(url::site("admin/maintenance"), t("maintenance"))); - print $view; - } - - /** - * Cancel a task. - * @param string $task_id - */ - public function cancel($task_id) { - access::verify_csrf(); - - task::cancel($task_id); - - message::success(t("Task cancelled")); - url::redirect("admin/maintenance"); - } - - public function cancel_running_tasks() { - access::verify_csrf(); - Database::instance()->update( - "tasks", - array("done" => 1, "state" => "cancelled"), - array("done" => 0)); - message::success(t("All running tasks cancelled")); - url::redirect("admin/maintenance"); - } - - /** - * Remove a task. - * @param string $task_id - */ - public function remove($task_id) { - access::verify_csrf(); - - task::remove($task_id); - - message::success(t("Task removed")); - url::redirect("admin/maintenance"); - } - - public function remove_finished_tasks() { - access::verify_csrf(); - Database::instance()->delete("tasks", array("done" => 1)); - message::success(t("All finished tasks removed")); - url::redirect("admin/maintenance"); - } - - /** - * Run a task. This will trigger the task to do a small amount of work, then it will report - * back with status on the task. - * @param string $task_id - */ - public function run($task_id) { - access::verify_csrf(); - - try { - $task = task::run($task_id); - } catch (Exception $e) { - Kohana::log( - "error", - sprintf( - "%s in %s at line %s:\n%s", $e->getMessage(), $e->getFile(), - $e->getLine(), $e->getTraceAsString())); - throw $e; - } - - if ($task->done) { - switch ($task->state) { - case "success": - log::success("tasks", t("Task %task_name completed (task id %task_id)", - array("task_name" => $task->name, "task_id" => $task->id)), - html::anchor(url::site("admin/maintenance"), t("maintenance"))); - message::success(t("Task completed successfully")); - break; - - case "error": - log::error("tasks", t("Task %task_name failed (task id %task_id)", - array("task_name" => $task->name, "task_id" => $task->id)), - html::anchor(url::site("admin/maintenance"), t("maintenance"))); - message::success(t("Task failed")); - break; - } - print json_encode(array("result" => "success", - "task" => array( - "percent_complete" => $task->percent_complete, - "status" => $task->status, - "done" => $task->done), - "location" => url::site("admin/maintenance"))); - - } else { - print json_encode(array("result" => "in_progress", - "task" => array( - "percent_complete" => $task->percent_complete, - "status" => $task->status, - "done" => $task->done))); - } - } -} -- cgit v1.2.3