WordPress.org

Plugin Directory

Changeset 464761


Ignore:
Timestamp:
11/18/11 15:16:38 (2 years ago)
Author:
joehoyle
Message:

new

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wp-thumb/trunk/wpthumb.php

    r461781 r464761  
    33Plugin Name: WP Thumb 
    44Plugin URI: https://github.com/humanmade/WPThumb 
    5 Description: Dynamic Image Resizing integrated with WordPress 
     5Description: phpThumb for WordPress 
    66Author: Human Made Limited 
    7 Version: 1.0 
    8 Author URI: http://www.humanmade.co.uk/ 
     7Version: 0.4 
     8Author URI: http://www.hmn.md/ 
    99*/ 
    1010 
     
    2222            $this->setFilePath( $file_path ); 
    2323         
    24         if( $args ) 
    25             $this->setArgs( $args ); 
     24        $this->setArgs( $args ); 
    2625         
    2726        if( $file_path && ! file_exists( $this->getCacheFilePath() ) ) 
     
    3938        } 
    4039         
    41         if ( is_multisite() && !is_main_site() ) 
    42             $this->file_path = str_replace( get_bloginfo('wpurl') . '/files', $upload_dir['basedir'], $file_path ); 
    43          
    44         elseif( strpos( $file_path, $upload_dir['baseurl'] ) !== false ) 
     40        if( strpos( $file_path, $upload_dir['baseurl'] ) !== false ) 
    4541            $this->file_path = str_replace( $upload_dir['baseurl'], $upload_dir['basedir'], $file_path ); 
    4642         
     
    168164        else : 
    169165            $parts = parse_url( $this->getFilePath() ); 
    170             $new_dir = $upload_dir['basedir'] . '/cache/remote/' . sanitize_title( $parts['host'] ); 
     166             
     167            if ( !empty( $parts['host'] ) ) 
     168                $new_dir = $upload_dir['basedir'] . '/cache/remote/' . sanitize_title( $parts['host'] ); 
     169                 
     170            else 
     171                $new_dir = $upload_dir['basedir'] . '/cache/remote/'; 
    171172         
    172173        endif; 
     
    179180     
    180181    public function getCacheFileName() { 
    181              
    182         return crc32( serialize( $this->args ) ) . '.' . $this->getFileExtension(); 
     182 
     183        $serialize = crc32( serialize( array_merge( $this->args, array( $this->getFilePath() ) ) ) ); 
     184         
     185        // Gifs are converted to pngs 
     186        if ( $this->getFileExtension() == 'gif' ) 
     187            return $serialize . '.png'; 
     188         
     189        return $serialize . '.' . $this->getFileExtension(); 
    183190     
    184191    } 
     
    207214         
    208215        // Convert gif images to png before resizing 
    209         if ( $ext == '.gif' ) : 
     216        if ( $this->getFileExtension() == 'gif' ) : 
    210217 
    211218            // Don't resize animated gifs and the animations will be broken 
     
    232239         
    233240        // Cropping 
    234  
    235241        if ( $crop === true && $resize === true ) : 
     242           
    236243            if ( $crop_from_position && count( $crop_from_position ) == 2 && method_exists( $thumb, 'adaptiveResizeFromPoint' ) && empty( $background_fill ) ) { 
    237244                $thumb->adaptiveResizeFromPoint( $width, $height, $crop_from_position[0], $crop_from_position[1] ); 
     
    289296    } 
    290297     
     298    public function getCacheFileURL() { 
     299        return $this->getFileURLForFilePath( $this->getCacheFilePath() ); 
     300    } 
     301     
     302    public function getFileURL() { 
     303        return $this->getFileURLForFilePath( $this->getFilePath() ); 
     304    } 
     305     
    291306    private function getFileURLForFilePath( $path ) { 
    292307     
    293308        $upload_dir = wp_upload_dir(); 
    294  
    295         if ( is_multisite() && !is_main_site() ) { 
    296              
    297             return str_replace( $upload_dir['basedir'], get_bloginfo('wpurl') . '/files', $path ); 
    298          
    299         } elseif( strpos( $path, $upload_dir['basedir'] ) !== false ) { 
     309         
     310        if ( strpos( $path, $upload_dir['basedir'] ) !== false ) { 
    300311            return str_replace( $upload_dir['basedir'], $upload_dir['baseurl'], $path ); 
    301312            
    302         } else { 
    303          
     313        } else {         
    304314            return str_replace( ABSPATH, get_bloginfo( 'url' ) . '/', $path ); 
     315 
    305316        }  
    306317     
     
    509520    if ( empty( $args['crop_from_position'] ) ) 
    510521         $args['crop_from_position'] = get_post_meta( $id, 'wpthumb_crop_pos', true ); 
    511      
    512      
    513  
    514     if ( $args['original_size'] == 'thumbnail' && $args['crop_from_position'] == array( 'center', 'center' ) ) { 
    515  
    516         $intermediate = image_get_intermediate_size( $id, 'thumbnail' ); 
    517         $path = wpthumb_get_file_path_from_file_url( $intermediate['url'] ); 
    518  
    519         if ( wpthumb_is_image_smaller_than_dimensions( $path, $args['width'], $args['height'] ) ) 
    520             $path = null; 
    521     } 
    522522 
    523523    if ( empty( $path ) ) 
     
    530530    extract( $args ); 
    531531 
    532     if( file_exists( $path ) ) { 
     532    if ( file_exists( $path ) ) { 
     533     
    533534        $image_src = $image->returnImage(); 
     535     
    534536        $crop = (bool) ( empty( $crop ) ) ? false : $crop; 
    535537 
     
    543545 
    544546        endif; 
     547     
    545548    } else { 
    546549 
    547550        $html_width = $width; 
    548551        $html_height = $height; 
    549         $image_src = null; 
     552        $image_src = $image->getFileURL(); 
    550553 
    551554    } 
Note: See TracChangeset for help on using the changeset viewer.