summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/controllers/admin_maintenance.php4
-rw-r--r--core/helpers/task.php14
-rw-r--r--modules/server_add/controllers/server_add.php10
3 files changed, 12 insertions, 16 deletions
diff --git a/core/controllers/admin_maintenance.php b/core/controllers/admin_maintenance.php
index 6da04e46..99d6f067 100644
--- a/core/controllers/admin_maintenance.php
+++ b/core/controllers/admin_maintenance.php
@@ -56,7 +56,9 @@ class Admin_Maintenance_Controller extends Admin_Controller {
public function start($task_callback) {
access::verify_csrf();
- $task = task::create($task_callback);
+ $tasks = task::get_definitions();
+
+ $task = task::create($tasks[$task_callback], array());
$view = new View("admin_maintenance_task.html");
$view->csrf = access::csrf_token();
diff --git a/core/helpers/task.php b/core/helpers/task.php
index 75151796..051cc76d 100644
--- a/core/helpers/task.php
+++ b/core/helpers/task.php
@@ -35,18 +35,10 @@ class task_Core {
return $tasks;
}
- static function create($task_callback, $task_name=null, $context=array()) {
+ static function create($task_definitions, $context) {
$task = ORM::factory("task");
- $task->callback = $task_callback;
- if (empty($task_name)) {
- $task_definitions = self::get_definitions();
- $task->name = $task_definitions[$task_callback]->name;
- } else {
- $task->name = $task_name;
- }
- if (empty($task->name)) {
- $task_name = $task_callback;
- }
+ $task->callback = $task_definitions->callback;
+ $task->name = $task_definitions->name;
$task->percent_complete = 0;
$task->status = "";
$task->state = "started";
diff --git a/modules/server_add/controllers/server_add.php b/modules/server_add/controllers/server_add.php
index 10bf28d3..430d8745 100644
--- a/modules/server_add/controllers/server_add.php
+++ b/modules/server_add/controllers/server_add.php
@@ -82,10 +82,12 @@ class Server_Add_Controller extends Controller {
}
}
- $task = task::create("server_add_task::add_from_server", t("Add from server"),
- array("item_id" => $id,
- "next" => 0,
- "paths" => $files));
+ $task_def = Task_Definition::factory()
+ ->callback("server_add_task::add_from_server")
+ ->description(t("Add photos or movies from the local server"))
+ ->name(t("Add from server"));
+ $task = task::create($task_def, array("item_id" => $id, "next" => 0, "paths" => $files));
+
batch::start();
print json_encode(array("result" => "started",
"url" => url::site("server_add/add_photo/{$task->id}?csrf=" .