WordPress.org

Plugin Directory

Changeset 516062


Ignore:
Timestamp:
03/07/12 21:32:41 (2 years ago)
Author:
mattwiebe
Message:

Fix to allow the widget to work in the non-async (browser) uploader. Props Bjorn Wijers.

Location:
image-widget/trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • image-widget/trunk/image-widget.php

    r478776 r516062  
    55Description: Simple image widget that uses native Wordpress upload thickbox to add image widgets to your site. 
    66Author: Modern Tribe, Inc. 
    7 Version: 3.2.11 
     7Version: 3.2.11 patched with working html form uploads by <a href="http://burobjorn.nl">Burobjorn</a> 
    88Author URI: http://tri.be/ 
    99*/ 
     
    1616 
    1717/** 
    18  * SP Image Widget class 
     18 * Tribe_Image_Widget class 
    1919 * 
    2020 * @author Shane & Peter, Inc. (Peter Chester) 
    2121 **/ 
    2222class Tribe_Image_Widget extends WP_Widget { 
    23      
     23 
    2424    var $pluginDomain = 'sp_image_widget'; 
    2525 
     
    3535        $control_ops = array( 'id_base' => 'widget_sp_image' ); 
    3636        $this->WP_Widget('widget_sp_image', __('Image Widget', $this->pluginDomain), $widget_ops, $control_ops); 
     37        $this->register_scripts_and_styles(); 
    3738 
    3839        global $pagenow; 
    3940        if (defined("WP_ADMIN") && WP_ADMIN) { 
    40             add_action( 'admin_init', array( $this, 'fix_async_upload_image' ) ); 
     41            add_action( 'admin_init', array( $this, 'fix_async_upload_image' ) ); 
     42 
    4143            if ( 'widgets.php' == $pagenow ) { 
    4244                wp_enqueue_style( 'thickbox' ); 
    43                 wp_enqueue_script( $control_ops['id_base'], WP_PLUGIN_URL.'/image-widget/image-widget.js',array('thickbox'), false, true ); 
     45                wp_enqueue_script( 'tribe-image-widget' ); 
    4446                add_action( 'admin_head-widgets.php', array( $this, 'admin_head' ) ); 
    45             } elseif ( 'media-upload.php' == $pagenow || 'async-upload.php' == $pagenow ) { 
     47            } 
     48            elseif ( 'media-upload.php' == $pagenow || 'async-upload.php' == $pagenow ) { 
     49                wp_enqueue_script( 'fix-browser-upload' ); 
    4650                add_filter( 'image_send_to_editor', array( $this,'image_send_to_editor'), 1, 8 ); 
    4751                add_filter( 'gettext', array( $this, 'replace_text_in_thickbox' ), 1, 3 ); 
     
    4953            } 
    5054        } 
    51          
    52     } 
    53      
     55 
     56    } 
     57 
     58    function register_scripts_and_styles() { 
     59        $dir = plugins_url('/', __FILE__); 
     60        wp_register_script( 'tribe-image-widget', $dir . 'image-widget.js', array('thickbox'), false, true ); 
     61        wp_register_script( 'fix-browser-upload', $dir . 'image-widget-fix-browser-upload.js', array('jquery'), false, true ); 
     62    } 
     63 
    5464    function fix_async_upload_image() { 
    5565        if(isset($_REQUEST['attachment_id'])) { 
    56             $GLOBALS['post'] = get_post($_REQUEST['attachment_id']); 
    57         } 
    58     } 
    59      
     66            $id = (int) $_REQUEST['attachment_id']; 
     67            $GLOBALS['post'] = get_post( $id ); 
     68        } 
     69    } 
     70 
    6071    function loadPluginTextDomain() { 
    6172        load_plugin_textdomain( $this->pluginDomain, false, trailingslashit(basename(dirname(__FILE__))) . 'lang/'); 
    6273    } 
    63      
     74 
    6475    /** 
    6576     * Retrieve resized image URL 
     
    7283     */ 
    7384    function get_image_url( $id, $width=false, $height=false ) { 
    74          
     85 
    7586        /**/ 
    7687        // Get attachment and resize but return attachment path (needs to return url) 
     
    114125        return false; 
    115126    } 
    116      
     127 
    117128    /** 
    118129     * Somewhat hacky way of replacing "Insert into Post" with "Insert into Widget" 
     
    132143        return $translated_text; 
    133144    } 
    134      
     145 
    135146    /** 
    136147     * Filter image_end_to_editor results 
    137148     * 
    138      * @param string $html  
    139      * @param int $id  
    140      * @param string $alt  
    141      * @param string $title  
    142      * @param string $align  
    143      * @param string $url  
    144      * @param array $size  
     149     * @param string $html 
     150     * @param int $id 
     151     * @param string $alt 
     152     * @param string $title 
     153     * @param string $align 
     154     * @param string $url 
     155     * @param array $size 
    145156     * @return string javascript array of attachment url and id or just the url 
    146157     * @author Shane & Peter, Inc. (Peter Chester) 
     
    173184     * Remove from url tab until that functionality is added to widgets. 
    174185     * 
    175      * @param array $tabs  
     186     * @param array $tabs 
    176187     * @return void 
    177188     * @author Shane & Peter, Inc. (Peter Chester) 
     
    184195    } 
    185196 
    186      
     197 
    187198    /** 
    188199     * Widget frontend output 
    189200     * 
    190      * @param array $args  
    191      * @param array $instance  
     201     * @param array $args 
     202     * @param array $instance 
    192203     * @return void 
    193204     * @author Shane & Peter, Inc. (Peter Chester) 
     
    197208        extract( $instance ); 
    198209        $title = apply_filters( 'widget_title', empty( $title ) ? '' : $title ); 
    199          
     210 
    200211        include( $this->getTemplateHierarchy( 'widget' ) ); 
    201212    } 
     
    205216     * 
    206217     * @param object $new_instance Widget Instance 
    207      * @param object $old_instance Widget Instance  
     218     * @param object $old_instance Widget Instance 
    208219     * @return object 
    209220     * @author Shane & Peter, Inc. (Peter Chester) 
     
    243254    function form( $instance ) { 
    244255 
    245         $instance = wp_parse_args( (array) $instance, array(  
    246             'title' => '',  
    247             'description' => '',  
    248             'link' => '',  
    249             'linktarget' => '',  
    250             'width' => '',  
    251             'height' => '',  
     256        $instance = wp_parse_args( (array) $instance, array( 
     257            'title' => '', 
     258            'description' => '', 
     259            'link' => '', 
     260            'linktarget' => '', 
     261            'width' => '', 
     262            'height' => '', 
    252263            'image' => '', 
    253264            'imageurl' => '', 
     
    257268        include( $this->getTemplateHierarchy( 'widget-admin' ) ); 
    258269    } 
    259      
     270 
    260271    /** 
    261272     * Admin header css 
     
    277288 
    278289    /** 
    279      * Loads theme files in appropriate hierarchy: 1) child theme,  
     290     * Loads theme files in appropriate hierarchy: 1) child theme, 
    280291     * 2) parent template, 3) plugin resources. will look in the image-widget/ 
    281292     * directory in a theme and the views/ directory in the plugin 
     
    283294     * @param string $template template file to search for 
    284295     * @return template path 
    285      * @author Shane & Peter, Inc. (Matt Wiebe) 
     296     * @author Modern Tribe, Inc. (Matt Wiebe) 
    286297     **/ 
    287298 
     
    290301        $template_slug = rtrim($template, '.php'); 
    291302        $template = $template_slug . '.php'; 
    292          
     303 
    293304        if ( $theme_file = locate_template(array('image-widget/'.$template)) ) { 
    294305            $file = $theme_file; 
     
    299310    } 
    300311} 
    301 ?> 
  • image-widget/trunk/readme.txt

    r478776 r516062  
    55Requires at least: 3.0 
    66Tested up to: 3.3 
    7 Stable tag: 3.2.11 
     7Stable tag: 3.3 
    88 
    99== Description == 
     
    6969== Changelog == 
    7070 
     71= 3.3 = 
     72 
     73* Fix to allow the widget to work in the non-async (browser) uploader. Props Bjorn Wijers 
     74 
    7175= 3.2.11 = 
    7276 
Note: See TracChangeset for help on using the changeset viewer.