Example #1
0
 /**
  * Creates a collection to select files for the given $iddirectory.
  * The collection checks download perm. Found and accessable files will
  * be copied to $temp_out_path. Directories are created only if one file exists.
  * @param integer $iddirectory Current iddirectory
  * @param string $temp_out_path Path to the temporary download directory
  * @return void
  */
 protected function _prepareDownloadDirectoryCopyFiles($iddirectory, $temp_out_path)
 {
     $filecol = $this->file_sql_collection;
     $filecol->reset();
     // reset to get a fresh collection
     $filecol->setCfg('perm_nr', $this->file_sql_item->getObjectPermId('download'));
     $filecol->setPermCheckActive(TRUE);
     $filecol->setIdclient($this->config_area['idclient']);
     $filecol->setIdlang($this->config_area['idlang']);
     $filecol->setFreefilter('iddirectory', $iddirectory);
     $filecol->setFreefilter('area', $this->config_area['area_name']);
     $filecol->generate();
     if ($filecol->getCount() > 0) {
         $fsm = sf_api('LIB', 'FilesystemManipulation');
         if ($this->directory_sql_item->loadById($iddirectory) == TRUE) {
             $temp_out_path .= '/' . $this->directory_sql_item->getField('dirname');
             $fsm->createDirectory($temp_out_path, FALSE, TRUE);
             // 3. parameter (TRUE) = create recursively !
             $iter = $filecol->getItemsAsIterator();
             while ($iter->valid()) {
                 $file = $iter->current();
                 $fsm->copyFile($file->getPath(), $temp_out_path . $file->getField('filename'));
                 $iter->next();
             }
         }
     }
 }
Example #2
0
 /**
  * Stores the thumbnail settings in a static array.
  * So every item uses the same settings.
  * @param array $settings
  */
 public function setGlobalThumbnailSettings($settings)
 {
     // merge sizes
     $sizes = array();
     if (strlen($settings['more_thumb_size'][0]) > 0) {
         $sizes = $settings['more_thumb_size'];
     }
     array_unshift($sizes, $settings['thumb_size']);
     unset($settings['more_thumb_size'], $settings['thumb_size']);
     $settings['sizes'] = $sizes;
     // merge aspect ratio
     $aspect_ratio = array();
     if (strlen($settings['more_thumb_aspect_ratio'][0]) > 0) {
         $aspect_ratio = $settings['more_thumb_aspect_ratio'];
     }
     array_unshift($aspect_ratio, $settings['thumb_aspect_ratio']);
     unset($settings['more_thumb_aspect_ratio'], $settings['thumb_aspect_ratio']);
     $settings['aspect_ratio'] = $aspect_ratio;
     self::$thumbnail_settings = $settings;
 }