original_string: public function execute() {
          global $CFG;
          require_once($CFG->dirroot . '/repository/lib.php');
  
          $fs = get_file_storage();
          // Find all generated thumbnails and group them in array by itemid (itemid == repository instance id).
          $allfiles = array_merge(
              $fs->get_area_files(SYSCONTEXTID, 'repository_filesystem', 'thumb'),
              $fs->get_area_files(SYSCONTEXTID, 'repository_filesystem', 'icon')
          );
          $filesbyitem = array();
          foreach ($allfiles as $file) {
              if (!isset($filesbyitem[$file->get_itemid()])) {
                  $filesbyitem[$file->get_itemid()] = array();
              }
              $filesbyitem[$file->get_itemid()][] = $file;
          }
          // Find all instances of repository_filesystem.
          $instances = \repository::get_instances(array('type' => 'filesystem'));
          // Loop through all itemids of generated thumbnails.
          foreach ($filesbyitem as $itemid => $files) {
              if (!isset($instances[$itemid]) || !($instances[$itemid] instanceof repository_filesystem)) {
                  // Instance was deleted.
                  $fs->delete_area_files(SYSCONTEXTID, 'repository_filesystem', 'thumb', $itemid);
                  $fs->delete_area_files(SYSCONTEXTID, 'repository_filesystem', 'icon', $itemid);
                  mtrace(" instance $itemid does not exist: deleted all thumbnails");
              } else {
                  // Instance has some generated thumbnails, check that they are not outdated.
                  $instances[$itemid]->remove_obsolete_thumbnails($files);
              }
          }
      }
code: public function execute() {
          global $CFG;
          require_once($CFG->dirroot . '/repository/lib.php');
  
          $fs = get_file_storage();
          // Find all generated thumbnails and group them in array by itemid (itemid == repository instance id).
          $allfiles = array_merge(
              $fs->get_area_files(SYSCONTEXTID, 'repository_filesystem', 'thumb'),
              $fs->get_area_files(SYSCONTEXTID, 'repository_filesystem', 'icon')
          );
          $filesbyitem = array();
          foreach ($allfiles as $file) {
              if (!isset($filesbyitem[$file->get_itemid()])) {
                  $filesbyitem[$file->get_itemid()] = array();
              }
              $filesbyitem[$file->get_itemid()][] = $file;
          }
          // Find all instances of repository_filesystem.
          $instances = \repository::get_instances(array('type' => 'filesystem'));
          // Loop through all itemids of generated thumbnails.
          foreach ($filesbyitem as $itemid => $files) {
              if (!isset($instances[$itemid]) || !($instances[$itemid] instanceof repository_filesystem)) {
                  // Instance was deleted.
                  $fs->delete_area_files(SYSCONTEXTID, 'repository_filesystem', 'thumb', $itemid);
                  $fs->delete_area_files(SYSCONTEXTID, 'repository_filesystem', 'icon', $itemid);
                  mtrace(" instance $itemid does not exist: deleted all thumbnails");
              } else {
                  // Instance has some generated thumbnails, check that they are not outdated.
                  $instances[$itemid]->remove_obsolete_thumbnails($files);
              }
          }
      }
code_tokens: public function execute ( ) { global $ CFG ; require_once ( $ CFG -> dirroot . '/repository/lib.php' ) ; $ fs = get_file_storage ( ) ; // Find all generated thumbnails and group them in array by itemid (itemid == repository instance id). $ allfiles = array_merge ( $ fs -> get_area_files ( SYSCONTEXTID , 'repository_filesystem' , 'thumb' ) , $ fs -> get_area_files ( SYSCONTEXTID , 'repository_filesystem' , 'icon' ) ) ; $ filesbyitem = array ( ) ; foreach ( $ allfiles as $ file ) { if ( ! isset ( $ filesbyitem [ $ file -> get_itemid ( ) ] ) ) { $ filesbyitem [ $ file -> get_itemid ( ) ] = array ( ) ; } $ filesbyitem [ $ file -> get_itemid ( ) ] [ ] = $ file ; } // Find all instances of repository_filesystem. $ instances = \ repository :: get_instances ( array ( 'type' => 'filesystem' ) ) ; // Loop through all itemids of generated thumbnails. foreach ( $ filesbyitem as $ itemid => $ files ) { if ( ! isset ( $ instances [ $ itemid ] ) || ! ( $ instances [ $ itemid ] instanceof repository_filesystem ) ) { // Instance was deleted. $ fs -> delete_area_files ( SYSCONTEXTID , 'repository_filesystem' , 'thumb' , $ itemid ) ; $ fs -> delete_area_files ( SYSCONTEXTID , 'repository_filesystem' , 'icon' , $ itemid ) ; mtrace ( " instance $itemid does not exist: deleted all thumbnails" ) ; } else { // Instance has some generated thumbnails, check that they are not outdated. $ instances [ $ itemid ] -> remove_obsolete_thumbnails ( $ files ) ; } } }
docstring: Run file system repository cron.
docstring_tokens: Run file system repository cron .