register_error("[{$guid}] Failed moving `{$from}` to `{$to}`"); $num_errors += 1; $helper->markFailure($guid); } else { $num_successes += 1; $helper->markSuccess($guid); } // store the year for cleanup $year = date('Y', $user_row->time_created); if (!in_array($year, $cleanup_years)) { $cleanup_years[] = $year; } } // remove all dirs that are empty. // @todo this could take some time, so we may want to lower the batch run time to compensate. foreach ($cleanup_years as $year) { $helper->removeDirIfEmpty($data_root . $year); } if ($is_complete && !$helper->hasFailures()) { // migration has completed, lets clean up $helper->forgetSuccesses(); // set the upgrade as completed $factory = new ElggUpgrade(); $upgrade = $factory->getUpgradeFromPath('admin/upgrades/datadirs'); if ($upgrade instanceof ElggUpgrade) { $upgrade->setCompleted(); } } access_show_hidden_entities($access_status); _elgg_services()->db->enableQueryCache(); echo json_encode(array('numSuccess' => $num_successes, 'numErrors' => $num_errors));