Merge commit 'upstream/master'
This commit is contained in:
commit
6b8b7325d1
@ -27,7 +27,14 @@ class rescue_task_Core {
|
|||||||
->name(t("Fix Album/Photo hierarchy"))
|
->name(t("Fix Album/Photo hierarchy"))
|
||||||
->description(t("Fix problems where your album/photo breadcrumbs are out of " .
|
->description(t("Fix problems where your album/photo breadcrumbs are out of " .
|
||||||
"sync with your actual hierarchy."))
|
"sync with your actual hierarchy."))
|
||||||
->severity(log::SUCCESS));
|
->severity(log::SUCCESS),
|
||||||
|
|
||||||
|
Task_Definition::factory()
|
||||||
|
->callback("rescue_task::fix_internet_addresses")
|
||||||
|
->name(t("Fix internet addresses"))
|
||||||
|
->description(t("Fix internet addresses broken when upgrading to Beta 3"))
|
||||||
|
->severity(log::SUCCESS),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
static function fix_mptt($task) {
|
static function fix_mptt($task) {
|
||||||
@ -80,6 +87,48 @@ class rescue_task_Core {
|
|||||||
array("total" => $total));
|
array("total" => $total));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static function fix_internet_addresses($task) {
|
||||||
|
$start = microtime(true);
|
||||||
|
|
||||||
|
$total = $task->get("total");
|
||||||
|
if (empty($total)) {
|
||||||
|
$task->set("total", $total = Database::instance()->count_records("items"));
|
||||||
|
$task->set("last_id", 0);
|
||||||
|
$task->set("completed", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
$last_id = $task->get("last_id");
|
||||||
|
$completed = $task->get("completed");
|
||||||
|
|
||||||
|
foreach (ORM::factory("item")
|
||||||
|
->where("id >", $last_id)
|
||||||
|
->find_all(100) as $item) {
|
||||||
|
$item->slug = item::convert_filename_to_slug($item->slug);
|
||||||
|
$item->save();
|
||||||
|
$last_id = $item->id;
|
||||||
|
$completed++;
|
||||||
|
|
||||||
|
if ($completed == $total || microtime(true) - $start > 1.5) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$task->set("completed", $completed);
|
||||||
|
$task->set("last_id", $last_id);
|
||||||
|
|
||||||
|
if ($total == $completed) {
|
||||||
|
$task->done = true;
|
||||||
|
$task->state = "success";
|
||||||
|
$task->percent_complete = 100;
|
||||||
|
Database::instance()
|
||||||
|
->query("UPDATE {items} SET `relative_path_cache` = NULL, `relative_url_cache` = NULL");
|
||||||
|
} else {
|
||||||
|
$task->percent_complete = round(100 * $completed / $total);
|
||||||
|
}
|
||||||
|
$task->status = t2("One row updated", "%count / %total rows updated", $completed,
|
||||||
|
array("total" => $total));
|
||||||
|
}
|
||||||
|
|
||||||
static function children($parent_id) {
|
static function children($parent_id) {
|
||||||
return Database::instance()
|
return Database::instance()
|
||||||
->select("id")
|
->select("id")
|
||||||
|
Reference in New Issue
Block a user