Ignore:
Timestamp:
01/20/08 23:13:25 (12 years ago)
Author:
ray
Message:

#1132 [ExtendedFileManager?] new Version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/ImageManager/Classes/ImageEditor.php

    r709 r937  
    9595                        $image['file'] = $relative; 
    9696                        $image['fullpath'] = $fullpath; 
     97                        $image['filesize'] = @filesize($fullpath); 
    9798                } 
    9899 
     
    119120                        $params = $_GET['params']; 
    120121 
    121                 $values =  explode(',',$params,4); 
     122                $values =  explode(',',$params); 
    122123                $saveFile = $this->getSaveFileName($values[0]); 
    123124 
    124125                $img = Image_Transform::factory(IMAGE_CLASS); 
    125126                $img->load($fullpath); 
    126  
     127                if ( is_callable($img,'paletteToTrueColorWithTransparency') && !imageistruecolor( $img->imageHandle)) 
     128                { 
     129                        $img->paletteToTrueColorWithTransparency(); 
     130                } 
    127131                switch ($action)  
    128132                { 
     
    154158                                        //we need to make the relative path once more. 
    155159                                        $newSaveFile = $this->makeRelative($relative, $newSaveFile); 
    156           $image['saveFile'] = $newSaveFile; 
     160                                $image['saveFile'] = $newSaveFile; 
    157161                                        $newSaveFullpath = $this->manager->getFullPath($newSaveFile); 
     162                                        if ( $values[0] == 'gif' && is_callable(array($img, 'preserveTransparencyForPalette'))) 
     163                                        { 
     164                                                $img->preserveTransparencyForPalette(); 
     165                                        } 
    158166                                        $img->save($newSaveFullpath, $values[0], $quality); 
    159167                                        if(is_file($newSaveFullpath)) 
     
    163171                                } 
    164172                                break; 
     173                                case 'preview': 
     174                                        $quality = intval($values[1]); 
     175                                         
     176                                         
     177                                        $image['file'] = $relative; 
     178                                        $image['fullpath'] = $fullpath; 
     179                                         
     180                                        //create the tmp image file 
     181                                        $filename = $this->createUnique($fullpath); 
     182                                        $newRelative = $this->makeRelative($relative, $filename); 
     183                                        $newFullpath = $this->manager->getFullPath($newRelative); 
     184                                        $newURL = $this->manager->getFileURL($newRelative); 
     185                                         
     186                                         
     187                                        if ( $values[0] == 'gif' && is_callable(array($img, 'preserveTransparencyForPalette'))) 
     188                                        { 
     189                                                $img->preserveTransparencyForPalette(); 
     190                                        } 
     191                                        $img->save($newFullpath, $values[0] ); 
     192                                        $img->free(); 
     193                         
     194                                        //get the image information 
     195                                        $imgInfo = @getimagesize($newFullpath); 
     196                                 
     197                                        $image['src'] = $newURL; 
     198                                $image['width'] = $imgInfo[0]; 
     199                                        $image['height'] = $imgInfo[1]; 
     200                                        $image['dimensions'] = $imgInfo[3]; 
     201                                        $image['file'] = $relative; 
     202                                        $image['fullpath'] = $fullpath; 
     203                                        $image['filesize'] = @filesize($newFullpath); 
     204 
     205                                        Return $image; 
     206         
     207                                break; 
    165208                } 
    166209                 
     
    170213                $newFullpath = $this->manager->getFullPath($newRelative); 
    171214                $newURL = $this->manager->getFileURL($newRelative); 
    172                  
     215 
    173216                //save the file. 
    174                 $img->save($newFullpath); 
     217                $img->save($newFullpath, 'png' ); 
    175218                $img->free(); 
    176219 
     
    179222 
    180223                $image['src'] = $newURL; 
    181     $image['width'] = $imgInfo[0]; 
    182     $image['height'] = $imgInfo[1]; 
     224        $image['width'] = $imgInfo[0]; 
     225                $image['height'] = $imgInfo[1]; 
    183226                $image['dimensions'] = $imgInfo[3]; 
    184227                $image['file'] = $newRelative; 
    185228                $image['fullpath'] = $newFullpath; 
    186  
     229                $image['filesize'] = @filesize($newFullpath); 
     230                $image['type'] = image_type_to_mime_type($imgInfo[2]); 
     231                 
    187232                Return $image; 
    188233         
     
    418463 
    419464                $fullpath = $this->manager->getFullPath($relative); 
    420  
     465  
    421466                $type = $this->getImageType($fullpath); 
    422467                if($type != 'gif') 
    423468                        Return 0; 
    424469 
    425                 if(function_exists('ImageCreateFrom'+$type) 
    426                         && function_exists('image'+$type)) 
     470                if(function_exists('ImageCreateFrom'.$type) 
     471                        && function_exists('image'.$type)) 
    427472                        Return 1; 
    428473                else 
Note: See TracChangeset for help on using the changeset viewer.