You are here

function media_browser_plus_rebuild_folder_structure_process in Media Browser Plus 7.3

Batch process of folder rebuild moves files and delete leftover directories.

See also

media_browser_plus_rebuild_folder_structure()

1 string reference to 'media_browser_plus_rebuild_folder_structure_process'
media_browser_plus_rebuild_folder_structure in includes/media_browser_plus.folders.inc
Rebuilds the folder structure on the disk.

File

includes/media_browser_plus.folders.inc, line 278
Folder manipulation functions.

Code

function media_browser_plus_rebuild_folder_structure_process(&$context) {

  // Reuse existing code to move the files.
  media_browser_plus_folder_update_file_locations_batch(array(), $context);

  // Cleanup empty directories.
  if ($context['finished'] >= 1 && !empty($context['handled_directories'])) {
    clearstatcache();
    foreach ($context['handled_directories'] as $uri) {
      $directory = drupal_realpath($uri);
      if (is_dir($directory)) {
        foreach (new RecursiveIteratorIterator(new SkipDotsRecursiveDirectoryIterator($directory), RecursiveIteratorIterator::CHILD_FIRST) as $filename => $file) {
          if ($file
            ->isDir()) {
            @drupal_rmdir($filename);
          }
          elseif ($file
            ->isFile()) {

            // If there's a file left, don't delete the folder.
            break;
          }
        }
      }
    }
  }
}