diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/controllers/admin_maintenance.php | 10 | ||||
-rw-r--r-- | core/views/admin_maintenance.html.php | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/core/controllers/admin_maintenance.php b/core/controllers/admin_maintenance.php index 80403906..482e64c2 100644 --- a/core/controllers/admin_maintenance.php +++ b/core/controllers/admin_maintenance.php @@ -102,6 +102,16 @@ class Admin_Maintenance_Controller extends Admin_Controller { 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 diff --git a/core/views/admin_maintenance.html.php b/core/views/admin_maintenance.html.php index e3afb9f5..21638c6b 100644 --- a/core/views/admin_maintenance.html.php +++ b/core/views/admin_maintenance.html.php @@ -41,6 +41,7 @@ <? if ($running_tasks->count()): ?> <div id="gRunningTasks"> <h2> <?= t("Running Tasks") ?> </h2> + <a href="<?= url::site("admin/maintenance/cancel_running_tasks?csrf=$csrf") ?>"><?= t("cancel all") ?></a> <table> <tr> |