summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/server_add/controllers/server_add.php13
-rw-r--r--modules/server_add/js/server_add.js4
-rw-r--r--modules/server_add/views/server_add_tree_dialog.html.php9
3 files changed, 20 insertions, 6 deletions
diff --git a/modules/server_add/controllers/server_add.php b/modules/server_add/controllers/server_add.php
index 288e6342..638a4d63 100644
--- a/modules/server_add/controllers/server_add.php
+++ b/modules/server_add/controllers/server_add.php
@@ -86,6 +86,7 @@ class Server_Add_Controller extends Admin_Controller {
print json_encode(
array("result" => "started",
+ "status" => $task->status,
"url" => url::site("server_add/run/$task->id?csrf=" . access::csrf_token())));
}
@@ -99,6 +100,7 @@ class Server_Add_Controller extends Admin_Controller {
$task = task::run($task_id);
print json_encode(array("done" => $task->done,
+ "status" => $task->status,
"percent_complete" => $task->percent_complete));
}
@@ -117,6 +119,7 @@ class Server_Add_Controller extends Admin_Controller {
case "init":
$task->set("mode", "build-file-list");
$task->set("queue", array_keys($selections));
+ $task->status = t("Starting up");
$task->percent_complete = 0;
batch::start();
break;
@@ -126,7 +129,6 @@ class Server_Add_Controller extends Admin_Controller {
// Don't use an iterator here because we can't get enough control over it when we're dealing
// with a deep hierarchy and we don't want to go over our time quota.
$queue = $task->get("queue");
- Kohana::log("alert",print_r($queue,1));
while ($queue && microtime(true) - $start < 0.5) {
$file = array_shift($queue);
$entry = ORM::factory("server_add_file");
@@ -144,6 +146,10 @@ class Server_Add_Controller extends Admin_Controller {
// over 10% in percent_complete.
$task->set("queue", $queue);
$task->percent_complete = min($task->percent_complete + 0.1, 10);
+ $task->status = t2("Found one file", "Found %count files",
+ Database::instance()
+ ->where("task_id", $task->id)
+ ->count_records("server_add_files"));
if (!$queue) {
$task->set("mode", "add-files");
@@ -202,6 +208,7 @@ class Server_Add_Controller extends Admin_Controller {
} else if (in_array($extension, array("flv", "mp4"))) {
movie::create($parent, $entry->file, $name, $title, null, user::active()->id);
} else {
+ $task->log("Skipping unknown file type: $relative_path");
// Unsupported type
// @todo: $task->log this
}
@@ -211,8 +218,10 @@ class Server_Add_Controller extends Admin_Controller {
$entry->delete();
}
$task->set("completed_files", $completed_files);
+ $task->status = t("Adding photos (%completed of %total)",
+ array("completed" => $completed_files,
+ "total" => $total_files));
$task->percent_complete = 10 + 100 * ($completed_files / $total_files);
- Kohana::log("alert",print_r($task->as_array(),1));
break;
case "done":
diff --git a/modules/server_add/js/server_add.js b/modules/server_add/js/server_add.js
index cba8c9ce..1a78d733 100644
--- a/modules/server_add/js/server_add.js
+++ b/modules/server_add/js/server_add.js
@@ -66,6 +66,7 @@ function start_add() {
data: { "paths[]": paths },
dataType: "json",
success: function(data, textStatus) {
+ $("#gStatus").html(data.status);
$("#gServerAdd .gProgressBar").progressbar("value", data.percent_complete);
setTimeout(function() { run_add(data.url); }, 0);
}
@@ -79,9 +80,10 @@ function run_add(url) {
async: false,
dataType: "json",
success: function(data, textStatus) {
+ $("#gStatus").html(data.status);
$("#gServerAdd .gProgressBar").progressbar("value", data.percent_complete);
if (data.done) {
- $("#gServerAdd .gProgressBar").slideUp();
+ $("#gProgress").slideUp();
} else {
setTimeout(function() { run_add(url); }, 0);
}
diff --git a/modules/server_add/views/server_add_tree_dialog.html.php b/modules/server_add/views/server_add_tree_dialog.html.php
index 0d56df7b..bbad4e69 100644
--- a/modules/server_add/views/server_add_tree_dialog.html.php
+++ b/modules/server_add/views/server_add_tree_dialog.html.php
@@ -25,7 +25,10 @@
<?= $tree ?>
</ul>
- <div class="gProgressBar" style="display: none"></div>
+ <div id="gProgress" style="display: none">
+ <div class="gProgressBar"></div>
+ <div id="gStatus"></div>
+ </div>
<span>
<input id="gServerAddAddButton" class="submit ui-state-disabled" disabled="disabled"
@@ -38,8 +41,8 @@
event.preventDefault();
$("#gServerAdd .gProgressBar").
progressbar().
- progressbar("value", 0).
- slideDown("fast", function() { start_add() });
+ progressbar("value", 0);
+ $("#gProgress").slideDown("fast", function() { start_add() });
});
});
</script>