Beispiel #1
0
 /**
  * LazyestAdmin::rebuild_cache()
  * Creates thumbs and slides per folder
  * If thumb/slide exists, don't rebuild  
  * 
  * @param int $i key of folder in _build_folders_array() 
  * @return int next key
  */
 function rebuild_cache($fcount, $icount = 0)
 {
     $cache_thumbs = 'TRUE' == $this->get_option('enable_cache');
     $cache_slides = 'TRUE' == $this->get_option('enable_slides_cache');
     $folder_array = get_transient('lg_rebuild_cache_folders');
     if (false === $folder_array) {
         $folder_array = $this->_build_folders_array();
         set_transient('lg_rebuild_cache_folders', $folder_array, 300);
     }
     $nfcount = $fcount == 0 ? count($folder_array) : $fcount;
     if ($nfcount < count($folder_array) + 1) {
         $file = substr($folder_array[$nfcount - 1], strlen($this->root));
         $folder = $folder = new LazyestFolder($file);
         if ($folder->valid()) {
             $folder->load();
             $i = 0;
             while ($icount < count($folder->list) && $i < 10) {
                 $image = $folder->list[$icount];
                 if ($cache_thumbs) {
                     $thumb = new LazyestThumb($folder);
                     $thumb->image = $image->image;
                     $thumb->cache();
                     unset($thumb);
                 }
                 if ($cache_slides) {
                     $slide = new LazyestSlide($folder);
                     $slide->image = $image->image;
                     $slide->cache();
                     unset($slide);
                 }
                 $i++;
                 $icount++;
             }
             if ($icount == count($folder->list)) {
                 $icount = 0;
                 $nfcount = $nfcount - 1;
             }
         }
     } else {
         $nfcount = 0;
     }
     if ($nfcount == 0) {
         delete_transient('lg_rebuild_cache_folders');
     }
     return array('folder' => $nfcount, 'image' => $icount);
 }