summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/controllers/admin_maintenance.php10
-rw-r--r--core/views/admin_maintenance.html.php1
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>