Development

Changeset 4723

You must first sign up to be able to contribute.

Changeset 4723

Show
Ignore:
Timestamp:
07/26/07 21:29:42 (1 year ago)
Author:
fabien
Message:

fixed thumbnail creation for non image media (#1981). This is a quick fix with the current code, but all the code really need to be rewritten

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • plugins/sfMediaLibraryPlugin/README

    r4564 r4723  
    140140=== Trunk === 
    141141 
     142 * fabien: Fixed thumbnail creation for non image media (#1981) 
     143 
    142144=== 2007-07-10 | 0.8.2 Beta ===  
    143145 
  • plugins/sfMediaLibraryPlugin/modules/sfMediaLibrary/lib/BasesfMediaLibraryActions.class.php

    r4425 r4723  
    1818class BasesfMediaLibraryActions extends sfActions 
    1919{ 
     20  protected 
     21    $useThumbnails = false; 
     22 
    2023  public function preExecute() 
    2124  { 
    22     $this->use_thumbnails = false; 
    23     if(sfConfig::get('app_sfMediaLibrary_use_thumbnails', true) && class_exists('sfThumbnail')) 
    24     { 
    25       $this->use_thumbnails = true; 
     25    if (sfConfig::get('app_sfMediaLibrary_useThumbnails', true) && class_exists('sfThumbnail')) 
     26    { 
     27      $this->useThumbnails = true; 
    2628      $this->thumbnails_dir = sfConfig::get('app_sfMediaLibrary_thumbnails_dir', 'thumbnail'); 
    27     }  
    28   } 
    29    
     29    } 
     30  } 
     31 
    3032  public function executeIndex() 
    3133  { 
    3234    $currentDir = $this->dot2slash($this->getRequestParameter('dir')); 
    3335    $this->currentDir = $this->getRequestParameter('dir'); 
    34     $this->current_dir_slash = $currentDir . '/'; 
     36    $this->current_dir_slash = $currentDir.'/'; 
    3537    $this->webAbsCurrentDir = $this->getRequest()->getRelativeUrlRoot().'/'.sfConfig::get('sf_upload_dir_name').'/assets'.$currentDir; 
    3638    $this->absCurrentDir = sfConfig::get('sf_upload_dir').'/assets/'.$currentDir; 
     
    4042    // directories 
    4143    $dirsQuery = sfFinder::type('dir')->maxdepth(0)->prune('.*')->discard('.*')->relative(); 
    42     if($this->use_thumbnails) 
     44    if ($this->useThumbnails) 
    4345    { 
    4446      $dirsQuery = $dirsQuery->discard($this->thumbnails_dir); 
    4547    } 
    46     $dirs = $dirsQuery->in($this->absCurrentDir); 
     48    $dirs = $dirsQuery->in($this->absCurrentDir); 
    4749    sort($dirs); 
    4850    $this->dirs = $dirs; 
    49      
     51 
    5052    // files, with stats 
    5153    $files = sfFinder::type('file')->maxdepth(0)->prune('.*')->discard('.*')->relative()->in($this->absCurrentDir); 
     
    5456    foreach ($files as $file) 
    5557    { 
    56       $ext = substr($file, strpos($file, '.') - strlen($file) + 1); 
     58      $ext = substr($file, strpos($file, '.') - strlen($file) + 1); 
    5759      if (!$this->getRequestParameter('images_only') || $this->isImage($ext)) 
    5860      { 
     
    103105 
    104106    @rename($absCurrentDir.'/'.$name, $absCurrentDir.'/'.$new_name); 
    105      
    106     if($this->use_thumbnails && ($type === 'file') && file_exists($absCurrentDir.'/'.$this->thumbnails_dir.'/'.$name)) 
     107 
     108    if ($this->useThumbnails && ($type === 'file') && file_exists($absCurrentDir.'/'.$this->thumbnails_dir.'/'.$name)) 
    107109    { 
    108110      @rename($absCurrentDir.'/'.$this->thumbnails_dir.'/'.$name, $absCurrentDir.'/'.$this->thumbnails_dir.'/'.$new_name); 
     
    125127      $this->info = $this->getInfo($name); 
    126128    } 
    127      
     129 
    128130    $this->type = $type; 
    129131  } 
     
    135137    $stats = stat($this->absCurrentDir.'/'.$filename); 
    136138    $info['size'] = $stats['size']; 
    137     if($this->isImage($info['ext'])) 
    138     { 
    139       if($this->use_thumbnails && is_readable(sfConfig::get('sf_web_dir').$this->webAbsCurrentDir.'/'.$this->thumbnails_dir.'/'.$filename)) 
     139    if ($this->isImage($info['ext'])) 
     140    { 
     141      if ($this->useThumbnails && is_readable(sfConfig::get('sf_web_dir').$this->webAbsCurrentDir.'/'.$this->thumbnails_dir.'/'.$filename)) 
    140142      { 
    141143        $info['icon'] = $this->webAbsCurrentDir.'/'.$this->thumbnails_dir.'/'.$filename; 
     
    149151    else 
    150152    { 
    151       if(is_readable(sfConfig::get('sf_web_dir').'/sfMediaLibraryPlugin/images/'.$info['ext'].'.png')) 
     153      if (is_readable(sfConfig::get('sf_web_dir').'/sfMediaLibraryPlugin/images/'.$info['ext'].'.png')) 
    152154      { 
    153155        $info['icon'] = '/sfMediaLibraryPlugin/images/'.$info['ext'].'.png'; 
     
    158160      } 
    159161    } 
    160      
     162 
    161163    return $info; 
    162164  } 
     
    172174    $fileName = $this->sanitizeFile($this->getRequest()->getFileName('file')); 
    173175 
    174     if($this->use_thumbnails) 
    175     { 
    176       if(!is_dir($absCurrentDir.'/'.$this->thumbnails_dir)) 
     176    if ($this->isImage($info['ext']) && $this->useThumbnails) 
     177    { 
     178      if (!is_dir($absCurrentDir.'/'.$this->thumbnails_dir)) 
    177179      { 
    178180        // If the thumbnails directory doesn't exist, create it now 
     
    199201 
    200202    unlink($absCurrentFile); 
    201      
    202     if($this->use_thumbnails) 
     203 
     204    if ($this->useThumbnails) 
    203205    { 
    204206      $absThumbnailFile = sfConfig::get('sf_upload_dir').'/assets/'.$currentDir.'/'.$this->thumbnails_dir.'/'.$currentFile; 
    205       if(is_readable($absThumbnailFile)) 
     207      if (is_readable($absThumbnailFile)) 
    206208      { 
    207209        unlink($absThumbnailFile); 
     
    220222    $old = umask(0000); 
    221223    @mkdir($absCurrentDir, 0777); 
    222     if($this->use_thumbnails) 
     224    if ($this->useThumbnails) 
    223225    { 
    224226      @mkdir($absCurrentDir.'/'.$this->thumbnails_dir, 0777); 
     
    236238    $this->forward404Unless(is_dir($absCurrentDir)); 
    237239 
    238     if($this->use_thumbnails && is_readable($absCurrentDir.'/'.$this->thumbnails_dir)) 
     240    if($this->useThumbnails && is_readable($absCurrentDir.'/'.$this->thumbnails_dir)) 
    239241    { 
    240242      rmdir($absCurrentDir.'/'.$this->thumbnails_dir); 
    241243    } 
    242      
     244 
    243245    rmdir($absCurrentDir); 
    244246 
    245247    $this->redirect('sfMediaLibrary/index?dir='.$this->getRequestParameter('current_path')); 
    246248  } 
    247    
     249 
    248250  protected function dot2slash($txt) 
    249251  {