Example #1
0
$batch_run_time_in_secs = 2;
$data_root = elgg_get_config('dataroot');
$cleanup_years = array();
$num_successes = 0;
$num_errors = 0;
$is_complete = true;
_elgg_services()->db->disableQueryCache();
$batch = new ElggBatch('elgg_get_entities', $helper->getBatchOptions(), null, 50, false);
foreach ($batch as $user_row) {
    if (microtime(true) - $START_MICROTIME > $batch_run_time_in_secs) {
        $is_complete = false;
        break;
    }
    $guid = $user_row->guid;
    $from = $data_root . $helper->makeMatrix($user_row);
    $bucket_dir = $data_root . $helper->getLowerBucketBound($guid);
    $to = "{$bucket_dir}/{$guid}";
    if (!is_dir($from)) {
        $num_successes += 1;
        $helper->markSuccess($guid);
        continue;
    }
    // make sure bucket dir exists
    if (!is_dir($bucket_dir)) {
        // same perms as ElggDiskFilestore.
        if (!mkdir($bucket_dir, 0700, true)) {
            register_error("[{$guid}] Failed creating `{$bucket_dir}`");
            $num_errors += 1;
            $helper->markFailure($guid);
            continue;
        }