WordPress.org

Plugin Directory

Changeset 1359722


Ignore:
Timestamp:
02/27/16 16:58:16 (21 months ago)
Author:
tepelstreel
Message:

RSS Image Feed Version 4.2.3

Location:
rss-image-feed
Files:
20 edited
1 copied

Legend:

Unmodified
Added
Removed
  • rss-image-feed/tags/4.2.3/class-lib/A5_ExcerptClass.php

    r1260449 r1359722  
    66 * 
    77 * @ A5 Plugin Framework 
    8  * Version: 1.0 beta 20150909 
     8 * Version: 1.0 beta 20160127 
    99 * 
    1010 * Gets the excerpt of a post according to some parameters 
    1111 * 
    12  * standard parameters: offset(=0), usertext, excerpt, count 
     12 * standard parameters: offset(=0), usertext, excerpt, count, style 
    1313 * additional parameters: class(classname), filter(boolean), shortcode(boolean), format(boolean), links(boolean), 
    1414 * readmore_link(boolean), readmore_text(string) 
     
    8080                        break; 
    8181                         
    82                     case 'letters' : 
     82                    case 'characters' : 
    8383                             
    8484                        $output = substr($text, $offset, $length); 
  • rss-image-feed/tags/4.2.3/class-lib/A5_FormFieldClass.php

    r1260449 r1359722  
    66 * 
    77 * @ A5 Plugin Framework 
    8  * Version: 1.0 beta 20150909 
     8 * Version: 1.0 beta 20160127 
    99 * 
    1010 * Gets all sort of input fields for plugins by Atelier 5  
     
    1616class A5_FormField { 
    1717     
    18     const version = '1.0 beta 20150909 RIF'; 
     18    const version = '1.0 beta 20160127 RIF'; 
    1919     
    2020    public $formfield; 
  • rss-image-feed/tags/4.2.3/class-lib/A5_ImageClass.php

    r1260449 r1359722  
    66 * 
    77 * @ A5 Plugin Framework 
    8  * Version: 1.0 beta 20150909 
     8 * Version: 1.0 beta 20160127 
    99 * 
    1010 * Gets the alt and title tag for attachments 
     
    7272     * if the variable number is specified all of the above is skipped and we look for that specific image in the post 
    7373     * 
    74      * @param: $id, $option (for caching, so that we don't touch the file over and over again) 
     74     * @param: $id 
    7575     * 
    76      * @optional param: [$image_size (i.e 'medium')], [$width], [$height], [$number], [$multisite] 
     76     * @optional param: [$image_size (i.e 'medium')], [$width], [$height], [$number] 
    7777     *  
    7878     */ 
     
    8282        extract($args); 
    8383         
    84         $multisite = (isset($multisite)) ? $multisite : false; 
    85          
    8684        if (!isset($image_size) && !isset($height) && (!isset($width) || empty($width))) $image_size = 'thumbnail'; 
    8785         
    88         $default_sizes = array('large', 'medium', 'thumbnail'); 
    89          
    90         $defaults = self::get_defaults(); 
    91          
    92         if (!isset($width) || empty($width)) : 
    93          
    94             if (in_array($image_size, $default_sizes)) : 
    95              
    96                 $width = $defaults[$image_size]['w']; 
    97              
    98                 $height = $defaults[$image_size]['h']; 
    99              
    100             else : 
    101              
    102                 global $_wp_additional_image_sizes; 
    103                  
    104                 $width = $_wp_additional_image_sizes[$image_size]['width']; 
    105                  
    106                 $height = ($_wp_additional_image_sizes[$image_size]['crop'] === false) ? $_wp_additional_image_sizes[$image_size]['height'] : 9999; 
    107              
    108             endif; 
    109              
    110         endif; 
    111          
    112         if ($width <= $defaults['large']['w']) $size = 'large'; 
    113         if ($width <= $defaults['medium']['w']) $size = 'medium'; 
    114         if ($width <= $defaults['thumbnail']['w']) $size = 'thumbnail'; 
    115          
    11686        if (!isset($height)) $height = 9999; 
    11787         
     
    12191         
    12292            if (has_post_thumbnail()) $attachment_id = get_post_thumbnail_id(); 
    123              
    124             $custom_fields = get_post_custom($id); 
    12593             
    12694            if (!isset($attachment_id)) : 
     
    145113             
    146114                if (false === $thumb) unset($thumb, $attachment_id); 
     115                     
     116                else return $thumb; 
    147117                 
    148118            endif; 
     
    215185         
    216186        if (!isset($img_src)) return false; 
    217          
    218         $options = ($multisite) ? get_site_option($option) : get_option($option); 
    219          
    220         $cache = $options['cache']; 
    221          
    222         if (array_key_exists($img_src, $cache)) return array($img_src, $cache[$img_src][0], $cache[$img_src][1]); 
    223187         
    224188        $img_tag = $matches['img_tag'][$number]; 
     
    260224        $thumb = array ($img_src, $thumb_width, $thumb_height); 
    261225         
    262         $cache[$img_src] = array($thumb_width, $thumb_height); 
    263          
    264         $options['cache'] = $cache; 
    265          
    266         if ($multisite) update_site_option($option, $options); 
    267          
    268         else update_option($option, $options); 
    269          
    270226        return $thumb; 
    271227     
     
    359315    } 
    360316     
    361     // getting the default sizes 
    362      
    363     private static function get_defaults() { 
    364      
    365         $defaults['large']['w'] = (get_option('large_size_w')) ? $width = get_option('large_size_w') : 1024; 
    366         $defaults['large']['h'] = (get_option('large_size_h')) ? $width = get_option('large_size_h') : 1024; 
    367          
    368         $defaults['medium']['w'] = (get_option('medium_size_w')) ? $width = get_option('medium_size_w') : 300; 
    369         $defaults['medium']['h'] = (get_option('medium_size_h')) ? $width = get_option('medium_size_h') : 300; 
    370          
    371         $defaults['thumbnail']['w'] = (get_option('thumbnail_size_w')) ? $width = get_option('thumbnail_size_w') : 150; 
    372         $defaults['thumbnail']['h'] = (get_option('thumbnail_size_h')) ? $width = get_option('thumbnail_size_h') : 150; 
    373          
    374         return $defaults; 
     317    /** 
     318     * Get size information for all currently-registered image sizes. 
     319     * 
     320     * @global $_wp_additional_image_sizes 
     321     * @uses   get_intermediate_image_sizes() 
     322     * @return array $sizes Data for all currently-registered image sizes. 
     323     */ 
     324    private static function get_image_sizes() { 
     325         
     326        global $_wp_additional_image_sizes; 
     327     
     328        $sizes = array(); 
     329     
     330        foreach ( get_intermediate_image_sizes() as $_size ) { 
     331            if ( in_array( $_size, array('thumbnail', 'medium', 'medium_large', 'large') ) ) { 
     332                $sizes[ $_size ]['width']  = get_option( "{$_size}_size_w" ); 
     333                $sizes[ $_size ]['height'] = get_option( "{$_size}_size_h" ); 
     334                $sizes[ $_size ]['crop']   = (bool) get_option( "{$_size}_crop" ); 
     335            } elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) { 
     336                $sizes[ $_size ] = array( 
     337                    'width'  => $_wp_additional_image_sizes[ $_size ]['width'], 
     338                    'height' => $_wp_additional_image_sizes[ $_size ]['height'], 
     339                    'crop'   => $_wp_additional_image_sizes[ $_size ]['crop'], 
     340                ); 
     341            } 
     342        } 
     343     
     344        return $sizes; 
     345    } 
     346     
     347    /** 
     348     * Get size information for a specific image size. 
     349     * 
     350     * @uses   get_image_sizes() 
     351     * @param  string $size The image size for which to retrieve data. 
     352     * @return bool|array $size Size data about an image size or false if the size doesn't exist. 
     353     */ 
     354    private static function get_image_size( $size ) { 
     355         
     356        $sizes = self::get_image_sizes(); 
     357     
     358        if ( isset( $sizes[ $size ] ) ) return $sizes[ $size ]; 
     359     
     360        return false; 
    375361         
    376362    } 
     
    396382    } 
    397383     
    398     // getting the image source for the thumbnail 
     384    // getting the image source for the thumbnail according to the desired size. 
    399385     
    400386    private static function get_image($attachment_id, $image_size) { 
    401387         
    402         $thumb = wp_get_attachment_image_src($attachment_id, $image_size); 
    403              
    404         if ($thumb) :  
    405          
    406             if ($thumb[3] === false) $smaller_thumb = wp_get_attachment_image_src($attachment_id, $image_size); 
    407              
    408             if (isset($smaller_thumb)) $thumb[0] = $smaller_thumb[0]; 
    409          
    410         endif; 
    411              
     388        if (!is_array($image_size) && is_numeric($image_size)) : 
     389         
     390            $size[0] = $image_size; 
     391              
     392            $size[1] = '9999'; 
     393             
     394        else : 
     395         
     396            $size = $image_size; 
     397              
     398        endif; 
     399         
     400        $thumb = wp_get_attachment_image_src($attachment_id, $size); 
     401         
     402        if (!$thumb) return false; 
     403         
     404        if ($thumb[3] == false) : 
     405         
     406            if (!is_array($size)) : 
     407             
     408                $image_size = self::get_image_size($size); 
     409                 
     410                if (false == $image_size) return $thumb; 
     411                 
     412                $size = array($image_size['width'], (true == $image_size['crop']) ? $image_size['height'] : '9999'); 
     413             
     414            endif; 
     415         
     416            $src = explode(',', wp_get_attachment_image_srcset($attachment_id, $size)); 
     417             
     418            foreach ($src as $img) : 
     419             
     420                $img_src = explode(' ', trim($img)); 
     421                 
     422                $width = str_replace('w', '', $img_src[1]); 
     423                 
     424                if ($size[0] <= $width) : 
     425                 
     426                    $image[$width] = $img_src[0]; 
     427                     
     428                endif; 
     429             
     430            endforeach; 
     431             
     432            if (isset($image)) : 
     433             
     434                ksort($image); 
     435             
     436                $thumb[0] = current($image); 
     437                 
     438            endif; 
     439         
     440        endif; 
     441         
    412442        return $thumb; 
    413443         
  • rss-image-feed/tags/4.2.3/class-lib/A5_OptionPageClass.php

    r1260449 r1359722  
    66 * 
    77 * @ A5 Plugin Framework 
    8  * Version: 1.0 beta 20150909 
     8 * Version: 1.0 beta 20160127 
    99 * 
    1010 * Gets all sort of containers for the flexible A5 settings pages 
     
    354354        $postbox .= self::tag_it(a5_get_version(), 'p'); 
    355355         
    356         ob_start(); 
    357          
    358         var_dump($options); 
    359          
    360         $options = ob_get_contents(); 
    361          
    362         ob_end_clean(); 
    363          
    364         $postbox .= self::tag_it($options, 'pre', 1); 
     356        if (!is_array($options)) $options = array ($options); 
     357         
     358        $opt_str = ''; 
     359         
     360        foreach ($options as $key => $value) : 
     361         
     362            $key = str_replace('_', '&nbsp;', $key); 
     363             
     364            if (is_array($value)) : 
     365             
     366                ob_start(); 
     367         
     368                var_dump($value); 
     369                 
     370                $value = ob_get_contents(); 
     371                 
     372                $value = self::tag_it($value, 'pre', 3); 
     373                 
     374                ob_end_clean(); 
     375                 
     376            else: 
     377             
     378                if (true === $value) $value = 'true'; 
     379             
     380                if (false === $value) $value = 'false'; 
     381                 
     382                if (NULL === $value) $value = 'NULL'; 
     383                 
     384                if (empty($value)) $value = __('Not set', 'rss-image-feed'); 
     385             
     386                $value = str_replace(array("\r\n", "\n", "\r"), '<br />', $value); 
     387             
     388            endif; 
     389             
     390            $key = self::tag_it(ucwords($key).':', 'td', 2, array('style' => 'width: 25%; border: solid 1px')); 
     391             
     392            $value = self::tag_it($value, 'td', 2, array('style' => 'border: solid 1px')); 
     393             
     394            $opt_str .= self::tag_it($key.$value, 'tr', 1); 
     395         
     396        endforeach; 
     397         
     398        $postbox .= self::tag_it($opt_str, 'table', 0, array('style' => 'border-collapse: collapse')); 
    365399         
    366400        $postbox .= self::close_postbox(); 
  • rss-image-feed/tags/4.2.3/class-lib/RIF_AdminClass.php

    r1222500 r1359722  
    2424            add_action('network_admin_menu', array($this, 'add_site_admin_menu')); 
    2525                 
    26             self::$options = get_site_option('rss_options'); 
     26            self::$options = get_network_option(NULL, 'rss_options'); 
    2727                 
    2828        else : 
     
    8888            self::$options = $this->validate_options($input); 
    8989             
    90             update_site_option('rss_options', self::$options); 
     90            update_network_option(NULL, 'rss_options', self::$options); 
    9191             
    9292            $this->initialize_settings(); 
     
    144144        add_settings_field('image_number', __('Image Number:', 'rss-image-feed'), array($this, 'display_imgnmbr'), 'new_image_settings', 'image_rss_settings'); 
    145145         
     146        add_settings_field('media_tag', __('Add the &#34;media:content&#34; tag:', 'rss-image-feed'), array($this, 'display_media_content'), 'new_image_settings', 'image_rss_settings'); 
     147         
     148        add_settings_field('enclosure_tag', __('Add the &#34;enclosure&#34; tag:', 'rss-image-feed'), array($this, 'display_enclosure'), 'new_image_settings', 'image_rss_settings'); 
     149         
    146150        add_settings_field('force_excerpt', __('Force Excerpt:', 'rss-image-feed'), array($this, 'display_force'), 'new_image_settings', 'image_rss_settings'); 
    147151         
     
    165169         
    166170        a5_checkbox('responsive', 'rss_options[responsive]', @self::$options['responsive'], __('Click, to make image size relativ and not static. This might make the feed more responsive.', 'rss-image-feed')); 
     171         
     172    } 
     173     
     174    function display_media_content() { 
     175         
     176        a5_checkbox('media_content', 'rss_options[media_content]', @self::$options['media_content'], __('Click, to include the &#34;media:content&#34; tag in the feed.', 'rss-image-feed')); 
     177         
     178    } 
     179     
     180    function display_enclosure() { 
     181         
     182        a5_checkbox('enclosure', 'rss_options[enclosure]', @self::$options['enclosure'], __('Click, to include the &#34;enclosure&#34; tag in the feed.', 'rss-image-feed')); 
    167183         
    168184    } 
     
    190206        $newinput['image_size'] = trim($input['image_size']); 
    191207        $newinput['responsive'] = (isset($input['responsive'])) ? true : false; 
     208        $newinput['media_content'] = (isset($input['media_content'])) ? true : false; 
     209        $newinput['enclosure'] = (isset($input['enclosure'])) ? true : false; 
    192210        $newinput['image_number'] = trim($input['image_number']); 
    193211        $newinput['force_excerpt'] = (isset($input['force_excerpt'])) ? true : false; 
    194212        $newinput['excerpt_size'] = trim($input['excerpt_size']); 
    195213         
    196             if(!is_numeric($newinput['image_size'])) : 
    197              
    198                 add_settings_error('rss_options', 'not-numeric-image-size', __('Please enter a numeric value for the image size.', 'rss-image-feed'), 'error'); 
    199                  
    200                 $newinput['image_size'] = 200; 
    201                  
    202             endif; 
    203              
    204             if(!is_numeric($newinput['excerpt_size'])) : 
    205              
    206                 add_settings_error('rss_options', 'not-numeric-excerpt-size', __('Please enter a numeric value for the excerpt length.', 'rss-image-feed'), 'error'); 
    207                  
    208                 $newinput['excerpt_size'] = 3; 
    209                  
    210             endif; 
    211              
    212             $newinput['excerpt_size'] = intval($newinput['excerpt_size']); 
    213                  
    214             if($newinput['image_size'] > 999) : 
    215              
    216                 add_settings_error('rss_options', 'too-large-image-size', __('Imagesize too large. Please choose a value smaller than 1000.', 'rss-image-feed'), 'error'); 
    217                  
    218                 $newinput['image_size'] = 200; 
    219                  
    220             endif; 
    221              
    222             $newinput['image_size'] = intval($newinput['image_size']); 
    223              
    224             if ($newinput['image_size'] != self::$options['image_size']) add_image_size( 'rss-image', $newinput['image_size'], $newinput['image_size'] ); 
    225              
    226             if(!empty($newinput['image_number']) && !is_numeric($newinput['image_number'])) : 
    227              
    228                 $newinput['image_number'] = 'last'; 
    229                  
    230             endif; 
     214        if(!is_numeric($newinput['image_size'])) : 
     215         
     216            add_settings_error('rss_options', 'not-numeric-image-size', __('Please enter a numeric value for the image size.', 'rss-image-feed'), 'error'); 
     217             
     218            $newinput['image_size'] = 200; 
     219             
     220        endif; 
     221         
     222        if(!is_numeric($newinput['excerpt_size'])) : 
     223         
     224            add_settings_error('rss_options', 'not-numeric-excerpt-size', __('Please enter a numeric value for the excerpt length.', 'rss-image-feed'), 'error'); 
     225             
     226            $newinput['excerpt_size'] = 3; 
     227             
     228        endif; 
     229         
     230        $newinput['excerpt_size'] = intval($newinput['excerpt_size']); 
     231             
     232        if($newinput['image_size'] > 999) : 
     233         
     234            add_settings_error('rss_options', 'too-large-image-size', __('Imagesize too large. Please choose a value smaller than 1000.', 'rss-image-feed'), 'error'); 
     235             
     236            $newinput['image_size'] = 200; 
     237             
     238        endif; 
     239         
     240        $newinput['image_size'] = intval($newinput['image_size']); 
     241         
     242        if ($newinput['image_size'] != self::$options['image_size']) add_image_size( 'rss-image', $newinput['image_size'], $newinput['image_size'] ); 
     243         
     244        if(!empty($newinput['image_number']) && !is_numeric($newinput['image_number'])) : 
     245         
     246            $newinput['image_number'] = 'last'; 
     247             
     248        endif; 
    231249             
    232250        self::$options['image_size'] = $newinput['image_size']; 
    233251        self::$options['responsive'] = $newinput['responsive']; 
     252        self::$options['media_content'] = $newinput['media_content']; 
     253        self::$options['enclosure'] = $newinput['enclosure']; 
    234254        self::$options['force_excerpt'] = $newinput['force_excerpt']; 
    235255        self::$options['excerpt_size'] = $newinput['excerpt_size']; 
    236256        self::$options['image_number'] = $newinput['image_number']; 
     257         
     258        self::$options['cache'] = array(); 
    237259         
    238260        return self::$options; 
  • rss-image-feed/tags/4.2.3/image-rss.php

    r1266439 r1359722  
    55Description: RSS Image Feed is not literally producing a feed of images but it adds the first image of the post to the normal feeds of your blog. Those images display even if you have the summary in the feed and not the content. 
    66Version: 4.2.3 
    7 Author: Waldemar Stoffel 
    8 Author URI: http://www.waldemarstoffel.com 
     7Author: Stefan Crämer 
     8Author URI: http://www.stefan-craemer.com 
    99License: GPL3 
    1010Text Domain: rss-image-feed 
     
    1212*/ 
    1313 
    14 /*  Copyright 2011 - 2015 Waldemar Stoffel  (email : stoffel@atelier-fuenf.de) 
     14/*  Copyright 2011 - 2016 Stefan Crämer (email : support@atelier-fuenf.de) 
    1515 
    1616    This program is free software: you can redistribute it and/or modify 
     
    6565         
    6666        add_filter('image_size_names_choose', array($this, 'rss_image_to_menu')); 
     67         
     68        add_action('save_post', array($this, 'flush_widget_cache')); 
     69        add_action('deleted_post', array($this, 'flush_widget_cache')); 
     70        add_action('switch_theme', array($this, 'flush_widget_cache')); 
    6771     
    6872        load_plugin_textdomain('rss-image-feed', false , basename(dirname(__FILE__)).'/languages'); 
    6973         
    70         register_activation_hook(  __FILE__, array($this, 'install') ); 
    71         register_deactivation_hook(  __FILE__, array($this, 'uninstall') ); 
     74        register_activation_hook(  __FILE__, array($this, '_install') ); 
     75        register_deactivation_hook(  __FILE__, array($this, '_uninstall') ); 
    7276         
    7377        if (is_multisite()) : 
    7478         
    75             $plugins = get_site_option('active_sitewide_plugins'); 
     79            $plugins = get_network_option(NULL, 'active_sitewide_plugins'); 
    7680             
    7781            if (isset($plugins[RIF_BASE])) : 
    7882         
    79                 self::$options = get_site_option('rss_options'); 
     83                self::$options = get_network_option(NULL, 'rss_options'); 
    8084                 
    8185                if (self::version != self::$options['version']) : 
     
    8387                    self::$options['version'] = self::version; 
    8488                     
    85                     update_site_option('rss_options', self::$options); 
     89                    update_network_option(NULL, 'rss_options', self::$options); 
    8690                 
    8791                endif; 
     
    129133        add_image_size('rss-image', self::$options['image_size'], self::$options['image_size']); 
    130134         
     135        if (true == WP_DEBUG): 
     136         
     137            add_action('wp_before_admin_bar_render', array($this, 'admin_bar_menu')); 
     138         
     139        endif; 
     140         
     141        if (self::$options['media_content'] || self::$options['enclosure']) : 
     142         
     143            add_action( "rss2_ns", array( $this, 'set_feed_NameSpace') ); 
     144            add_action( "rss_item", array( $this, 'add_media_enclosure' ), 5, 1 ); 
     145            add_action( "rss2_item", array( $this, 'add_media_enclosure' ), 5, 1 ); 
     146         
     147        endif; 
     148         
     149        add_action( "rss_head", array( $this, 'add_fav_icon' ) ); 
     150        add_action( "rss2_head", array( $this, 'add_fav_icon' ) ); 
     151         
    131152        $RIF_Admin = new RIF_Admin(self::$options['sitewide']); 
    132153         
     
    162183    // Setting some default values 
    163184     
    164     function install() { 
     185    function _install() { 
    165186         
    166187        $screen = get_current_screen(); 
    167188         
    168189        $defaults = array( 
    169             'image_size' => 200, 
     190            'image_size' => 300, 
    170191            'force_excerpt' => false, 
    171192            'excerpt_size' => 3, 
    172193            'version' => self::version, 
    173194            'sitewide' => false, 
     195            'responsive' => false, 
     196            'enclosure' => false, 
     197            'media_content' => false, 
    174198            'cache' => array(),  
    175199            'image_number' => false 
     
    180204            $defaults['sitewide'] = true;  
    181205         
    182             add_site_option('rss_options', $defaults); 
     206            add_network_option(NULL, 'rss_options', $defaults); 
    183207         
    184208        else :  
     
    192216    // Deleting the option 
    193217     
    194     function uninstall() { 
     218    function _uninstall() { 
    195219         
    196220        $screen = get_current_screen(); 
     
    198222        if (is_multisite() && $screen->is_network) : 
    199223         
    200             delete_site_option('rss_options'); 
     224            delete_network_option(NULL, 'rss_options'); 
    201225         
    202226        else : 
     
    225249        $imagetag = $this->get_feed_image(); 
    226250         
    227         return $imagetag[0].$imagetag[1].$output; 
     251        return $imagetag.$output; 
    228252     
    229253    } 
     
    247271        $content = A5_Excerpt::text($args); 
    248272         
    249         return $imagetag[0].$imagetag[1].$content; 
     273        return $imagetag.$content; 
    250274     
    251275    } 
     
    257281        $id = get_the_ID(); 
    258282         
    259         $img_container = ''; 
    260          
    261         $rif_tags = A5_Image::tags(); 
    262          
    263         $rif_image_alt = $rif_tags['image_alt']; 
    264         $rif_image_title = $rif_tags['image_title']; 
    265         $rif_title_tag = $rif_tags['title_tag']; 
    266          
    267         $args = array ( 
    268             'id' => $id, 
    269             'option' => 'rss_options', 
    270             'image_size' => 'rss-image', 
    271             'multisite' => self::$options['sitewide'] 
    272         ); 
    273          
    274         if (self::$options['image_number']) $args['number'] = self::$options['image_number']; 
    275          
    276         $rif_image_info = A5_Image::thumbnail($args); 
    277          
    278         if ($rif_image_info) : 
    279          
    280             $rif_thumb = $rif_image_info[0]; 
    281              
    282             $rif_width = $rif_image_info[1]; 
    283          
    284             $rif_height = ($rif_image_info[2]) ? ' height="'.$rif_image_info[2].'"' :''; 
    285              
    286             $rif_image_width = (!self::$options['responsive']) ? '" width="'.$rif_width.'"'.$rif_height : '" style="max-width: '.$rif_width.'px; height: auto;"'; 
     283        $img_container = self::$options['cache'][$id]['image']; 
     284         
     285        if (empty($img_container) && false !== $img_container) : 
     286         
     287            $img_container = false; 
     288             
     289            $rif_tags = A5_Image::tags(); 
     290             
     291            $rif_image_alt = $rif_tags['image_alt']; 
     292            $rif_image_title = $rif_tags['image_title']; 
     293            $rif_title_tag = $rif_tags['title_tag']; 
     294             
     295            $args = array ( 
     296                'id' => $id, 
     297                'image_size' => 'rss-image' 
     298            ); 
     299             
     300            if (self::$options['image_number']) $args['number'] = self::$options['image_number']; 
     301             
     302            $rif_image_info = A5_Image::thumbnail($args); 
     303             
     304            if ($rif_image_info) : 
     305             
     306                $rif_thumb = $rif_image_info[0]; 
     307                 
     308                $rif_width = $rif_image_info[1]; 
     309             
     310                $rif_height = ($rif_image_info[2]) ? ' height="'.$rif_image_info[2].'"' :''; 
     311                 
     312                $rif_image_size = (!self::$options['responsive']) ? '" width="'.$rif_width.'"'.$rif_height : '" style="max-width: '.$rif_width.'px; height: auto;"'; 
     313             
     314                $eol = "\n"; 
     315                $tab = "\t"; 
     316             
     317                $rif_img_tag = '<a href="'.get_permalink().'"><img title="'.$rif_image_title.'" src="'.$rif_thumb.'" alt="'.$rif_image_alt.$rif_image_size.' /></a>'; 
     318                 
     319                $img_container=$eol.$tab.'<div>'.$eol.$tab.$rif_img_tag.$eol.$tab.'</div>'.$eol.$tab; 
     320                 
     321            endif; 
     322             
     323            self::$options['cache'][$id]['image'] = $img_container; 
     324             
     325            (self::$options['sitewide']) ? update_network_option(NULL, 'rss_options', self::$options) : update_option('rss_options', self::$options); 
     326             
     327        endif; 
     328         
     329        return $img_container; 
     330         
     331    } 
     332     
     333    function set_feed_NameSpace() { 
     334         
     335        echo 'xmlns:media="http://search.yahoo.com/mrss/"'; 
     336         
     337    } 
     338     
     339    function add_media_enclosure($for_comments) { 
     340         
     341        global $post; 
     342         
     343        if (!$for_comments) : 
    287344         
    288345            $eol = "\n"; 
    289             $tab = "\t"; 
    290          
    291             $rif_img_tag = '<a href="'.get_permalink().'"><img title="'.$rif_image_title.'" src="'.$rif_thumb.'" alt="'.$rif_image_alt.$rif_image_width.' /></a>'; 
    292              
    293             $img_container=$eol.$tab.'<div>'.$eol.$tab.$rif_img_tag.$eol.$tab.'</div>'.$eol.$tab; 
    294              
    295         endif; 
    296          
    297         $media_content = $eol.$tab.'<media:content url="'.$rif_thumb.'"'.$rif_image_width.' />'.$eol.$tab; 
    298          
    299         return array($img_container, $media_content); 
     346         
     347            if (self::$options['enclosure']) : 
     348             
     349                $enclosure = self::$options['cache'][$post-ID]['enclosure']; 
     350                 
     351                if (!$enclosure) : 
     352                 
     353                    $enclosure = false; 
     354             
     355                    $upload_dir = wp_upload_dir(); 
     356                 
     357                    $full_image = A5_Image::thumbnail(array('id' => $post->ID, 'image_size' => 'full')); 
     358                     
     359                    $image_src = str_replace( $upload_dir['baseurl'], $upload_dir['basedir'], $full_image[0] ); 
     360                     
     361                    $length = @filesize($image_src); 
     362                     
     363                    if ($full_image) $enclosure = '<enclosure url="'.$full_image[0].'" length="'.$length.'" type="image/jpg" />'.$eol; 
     364                    self::$options['cache'][$post->ID]['enclosure'] = $enclosure; 
     365             
     366            (self::$options['sitewide']) ? update_network_option(NULL, 'rss_options', self::$options) : update_option('rss_options', self::$options); 
     367             
     368                endif; 
     369                 
     370                echo $enclosure; 
     371                 
     372            endif; 
     373             
     374            if (self::$options['media_content']) : 
     375             
     376                $media_content = self::$options['cache'][$post-ID]['media_content']; 
     377                 
     378                if (!$media_content) : 
     379                 
     380                    $media_content = false; 
     381             
     382                    $rss_image = A5_Image::thumbnail(array('id' => $post->ID, 'image_size' => 'rss-image')); 
     383                 
     384                    if ($rss_image) $media_content = '<media:content url="'.$rss_image[0].'" width="'.$rss_image[1].'" height="'.$rss_image[2].'" medium="image" type="image/jpeg" />'.$eol; 
     385                     
     386                    self::$options['cache'][$post->ID]['media_content'] = $media_content; 
     387                 
     388                (self::$options['sitewide']) ? update_network_option(NULL, 'rss_options', self::$options) : update_option('rss_options', self::$options); 
     389                 
     390                endif; 
     391                 
     392                echo $media_content; 
     393                 
     394            endif; 
     395         
     396        endif; 
     397     
     398    } 
     399     
     400    function add_fav_icon() {return; 
     401         
     402        $eol = "\n"; 
     403         
     404        $tab = "\t"; 
     405         
     406        $dtab = "\t\t"; 
     407         
     408        echo $tab.'<image>'.$eol.$dtab.'<url>http://yritys-test.waldemarstoffel.com/ty678uui/wp-content/plugins/rss-image-feed/img/a5-icon-34.png</url>'.$eol.$dtab.'<title>'.get_bloginfo().'</title>'.$eol.$dtab.'<link>'.get_bloginfo('url').'</link>'.$eol.$dtab.'<width>32</width>'.$eol.$dtab.'<height>32</height>'.$eol.$tab.'</image>'.$eol; 
     409         
     410    } 
     411     
     412    function flush_widget_cache() { 
     413         
     414        global $wpdb; 
     415         
     416        self::$options['cache'] = array(); 
     417         
     418        if (!self::$options['sitewide']) : 
     419         
     420            $update_args = array('option_value' => serialize(self::$options)); 
     421         
     422            $result = $wpdb->update( $wpdb->options, $update_args, array( 'option_name' => 'rss_options' ) ); 
     423             
     424        else : 
     425         
     426            global $current_site; 
     427         
     428            $result = $wpdb->update( $wpdb->sitemeta, array( 'meta_value' => serialize(self::$options) ), array( 'site_id' => $current_site->id, 'meta_key' => 'rss_options' ) ); 
     429             
     430        endif; 
     431     
     432    } 
     433     
     434    /** 
     435     * 
     436     * Adds a link to the settings to the admin bar in case WP_DEBUG is true 
     437     * 
     438     */ 
     439    function admin_bar_menu() { 
     440         
     441        global $wp_admin_bar; 
     442         
     443        if (!is_super_admin() || !is_admin_bar_showing()) return; 
     444         
     445        $wp_admin_bar->add_node(array('parent' => '', 'id' => 'a5-framework', 'title' => 'A5 Framework')); 
     446         
     447        $wp_admin_bar->add_node(array('parent' => 'a5-framework', 'id' => 'rss-image', 'title' => 'RSS Image Feed', 'href' => admin_url('plugins.php?page=rss-image-feed'))); 
    300448         
    301449    } 
  • rss-image-feed/tags/4.2.3/languages/rss-image-feed-de_DE.po

    r1231805 r1359722  
    22msgstr "" 
    33"Project-Id-Version: RSS Image Feed\n" 
    4 "POT-Creation-Date: 2015-08-27 11:08+0200\n" 
    5 "PO-Revision-Date: 2015-08-27 11:09+0200\n" 
    6 "Last-Translator: Waldemar Stoffel <stoffel@atelier-furnf.de>\n" 
     4"POT-Creation-Date: 2016-02-22 21:41+0200\n" 
     5"PO-Revision-Date: 2016-02-22 21:43+0200\n" 
     6"Last-Translator: Stefan Crämer <translate@atelier-fuenf.de>\n" 
    77"Language-Team: Waldemar Stoffel <stoffel@atelier-fuenf.de>\n" 
    88"Language: de_DE\n" 
     
    2323msgstr "Link zu:" 
    2424 
    25 #: class-lib/A5_OptionPageClass.php:31 image-rss.php:150 
     25#: class-lib/A5_OptionPageClass.php:31 image-rss.php:156 
    2626msgid "Settings" 
    2727msgstr "Einstellungen" 
     
    3030msgid "Click to toggle" 
    3131msgstr "Zum Umschalten klicken" 
     32 
     33#: class-lib/A5_OptionPageClass.php:384 
     34msgid "Not set" 
     35msgstr "Nicht gesetzt" 
    3236 
    3337#: class-lib/RIF_AdminClass.php:100 
     
    6569 
    6670#: class-lib/RIF_AdminClass.php:146 
     71msgid "Add the &#34;media:content&#34; tag:" 
     72msgstr "Hänge das &#34;media:content&#34; Tag an den Feed." 
     73 
     74#: class-lib/RIF_AdminClass.php:148 
     75msgid "Add the &#34;enclosure&#34; tag:" 
     76msgstr "Hänge das &#34;enclosure&#34; Tag an den Feed." 
     77 
     78#: class-lib/RIF_AdminClass.php:150 
    6779msgid "Force Excerpt:" 
    6880msgstr "Auszug erzwingen:" 
    6981 
    70 #: class-lib/RIF_AdminClass.php:148 
     82#: class-lib/RIF_AdminClass.php:152 
    7183msgid "Limit Excerpt:" 
    7284msgstr "Auszug limitieren:" 
    7385 
    74 #: class-lib/RIF_AdminClass.php:154 
     86#: class-lib/RIF_AdminClass.php:158 
    7587msgid "Change the size of the image and the excerpt here." 
    7688msgstr "Ändere die Größe des Bildes und des Auszuges hier." 
    7789 
    78 #: class-lib/RIF_AdminClass.php:160 
     90#: class-lib/RIF_AdminClass.php:164 
    7991msgid "" 
    8092"Give here only the longest side of the image. The smaller side will be " 
     
    8496"erstellen des Feed berechnet. Die Bilder werden nicht beschnitten." 
    8597 
    86 #: class-lib/RIF_AdminClass.php:166 
     98#: class-lib/RIF_AdminClass.php:170 
    8799msgid "" 
    88100"Click, to make image size relativ and not static. This might make the feed " 
     
    92104"deinen Feed mehr responsive machen." 
    93105 
    94 #: class-lib/RIF_AdminClass.php:172 
     106#: class-lib/RIF_AdminClass.php:176 
     107msgid "Click, to include the &#34;media:content&#34; tag in the feed." 
     108msgstr "Anklicken, um das &#34;media:content&#34; Tag zu setzen." 
     109 
     110#: class-lib/RIF_AdminClass.php:182 
     111msgid "Click, to include the &#34;enclosure&#34; tag in the feed." 
     112msgstr "Anklicken, um das &#34;enclosure&#34; Tag zu setzen." 
     113 
     114#: class-lib/RIF_AdminClass.php:188 
    95115#, php-format 
    96116msgid "" 
     
    101121"des Bildes an. Das Wort %s wird das letzte Bild des Artikels anzeigen." 
    102122 
    103 #: class-lib/RIF_AdminClass.php:178 
     123#: class-lib/RIF_AdminClass.php:194 
    104124msgid "" 
    105125"Click, to limit the post content to a summary if the post doesn&#39;t have " 
    106126"an excerpt." 
    107127msgstr "" 
    108 "Anklicken um einen Auszug im Feed zu erzwingen, wenn der Artikel keinen " 
     128"Anklicken, um einen Auszug im Feed zu erzwingen, wenn der Artikel keinen " 
    109129"Auszug hat." 
    110130 
    111 #: class-lib/RIF_AdminClass.php:184 
     131#: class-lib/RIF_AdminClass.php:200 
    112132msgid "" 
    113133"How long should the summary of the article be? Enter the number of sentences " 
     
    117137"ein." 
    118138 
    119 #: class-lib/RIF_AdminClass.php:198 
     139#: class-lib/RIF_AdminClass.php:216 
    120140msgid "Please enter a numeric value for the image size." 
    121141msgstr "Bitte einen numerischen Wert für die Bildgröße eingeben." 
    122142 
    123 #: class-lib/RIF_AdminClass.php:206 
     143#: class-lib/RIF_AdminClass.php:224 
    124144msgid "Please enter a numeric value for the excerpt length." 
    125145msgstr "Bitte einen numerischen Wert für die Länge des Auszugs eingeben." 
    126146 
    127 #: class-lib/RIF_AdminClass.php:216 
     147#: class-lib/RIF_AdminClass.php:234 
    128148msgid "Imagesize too large. Please choose a value smaller than 1000." 
    129149msgstr "Bildgröße zu groß. Bitte wähle einen Wert kleiner als 1000." 
    130150 
    131 #: image-rss.php:139 
     151#: image-rss.php:145 
    132152msgid "FAQ" 
    133153msgstr "FAQ" 
    134154 
    135 #: image-rss.php:140 
     155#: image-rss.php:146 
    136156msgid "Donate" 
    137157msgstr "Spenden" 
    138158 
    139 #: image-rss.php:158 
     159#: image-rss.php:164 
    140160msgid "RSS Image" 
    141161msgstr "RSS-Bild" 
  • rss-image-feed/tags/4.2.3/languages/rss-image-feed.pot

    r925536 r1359722  
    1 # Copyright (C) 2014  
    2 # This file is distributed under the same license as the  package. 
     1#, fuzzy 
    32msgid "" 
    43msgstr "" 
    5 "Project-Id-Version:  \n" 
    6 "Report-Msgid-Bugs-To: http://wordpress.org/tag/rss-image-feed\n" 
    7 "POT-Creation-Date: 2014-02-21 12:29:39+00:00\n" 
     4"Project-Id-Version: RSS Image Feed\n" 
     5"POT-Creation-Date: 2016-02-22 21:44+0200\n" 
     6"PO-Revision-Date: 2016-02-22 21:44+0200\n" 
     7"Last-Translator: Stefan Crämer <translate@atelier-fuenf.de>\n" 
     8"Language-Team: Stefan Crämer <translate@atelier-fuenf.de>\n" 
    89"MIME-Version: 1.0\n" 
    910"Content-Type: text/plain; charset=UTF-8\n" 
    1011"Content-Transfer-Encoding: 8bit\n" 
    11 "PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n" 
    12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 
    13 "Language-Team: LANGUAGE <LL@li.org>\n" 
     12"X-Generator: Poedit 1.8.1\n" 
     13"X-Poedit-Basepath: ..\n" 
     14"X-Poedit-WPHeader: image-rss.php\n" 
     15"X-Poedit-SourceCharset: UTF-8\n" 
     16"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" 
     17"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" 
     18"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" 
     19"X-Poedit-SearchPath-0: .\n" 
     20"X-Poedit-SearchPathExcluded-0: *.js\n" 
    1421 
    15 #: class-lib/A5_ImageClass.php:40 
     22#: class-lib/A5_ImageClass.php:48 
    1623msgid "Permalink to" 
    1724msgstr "" 
    1825 
    19 #: image-rss.php:98 
    20 msgid "FAQ" 
    21 msgstr "" 
    22  
    23 #: image-rss.php:99 
    24 msgid "Donate" 
    25 msgstr "" 
    26  
    27 #: image-rss.php:111 
     26#: class-lib/A5_OptionPageClass.php:31 image-rss.php:156 
    2827msgid "Settings" 
    2928msgstr "" 
    3029 
    31 #: image-rss.php:127 
     30#: class-lib/A5_OptionPageClass.php:145 
     31msgid "Click to toggle" 
     32msgstr "" 
     33 
     34#: class-lib/A5_OptionPageClass.php:384 
     35msgid "Not set" 
     36msgstr "" 
     37 
     38#: class-lib/RIF_AdminClass.php:100 
     39msgid "" 
     40"http://wasistlos.waldemarstoffel.com/plugins-fur-wordpress/rss-image-feed" 
     41msgstr "" 
     42 
     43#: class-lib/RIF_AdminClass.php:100 
     44msgid "Plugin Support" 
     45msgstr "" 
     46 
     47#: class-lib/RIF_AdminClass.php:102 
     48msgid "Define the size of the images and summary in your feed." 
     49msgstr "" 
     50 
     51#: class-lib/RIF_AdminClass.php:119 
     52msgid "Debug Info" 
     53msgstr "" 
     54 
     55#: class-lib/RIF_AdminClass.php:138 
    3256msgid "RSS Settings" 
    3357msgstr "" 
    3458 
    35 #: image-rss.php:129 
    36 msgid "Imagesize:" 
     59#: class-lib/RIF_AdminClass.php:140 
     60msgid "Image Size:" 
    3761msgstr "" 
    3862 
    39 #: image-rss.php:131 
     63#: class-lib/RIF_AdminClass.php:142 
     64msgid "Make the size relative:" 
     65msgstr "" 
     66 
     67#: class-lib/RIF_AdminClass.php:144 
     68msgid "Image Number:" 
     69msgstr "" 
     70 
     71#: class-lib/RIF_AdminClass.php:146 
     72msgid "Add the &#34;media:content&#34; tag:" 
     73msgstr "" 
     74 
     75#: class-lib/RIF_AdminClass.php:148 
     76msgid "Add the &#34;enclosure&#34; tag:" 
     77msgstr "" 
     78 
     79#: class-lib/RIF_AdminClass.php:150 
    4080msgid "Force Excerpt:" 
    4181msgstr "" 
    4282 
    43 #: image-rss.php:133 
     83#: class-lib/RIF_AdminClass.php:152 
    4484msgid "Limit Excerpt:" 
    4585msgstr "" 
    4686 
    47 #: image-rss.php:139 
     87#: class-lib/RIF_AdminClass.php:158 
    4888msgid "Change the size of the image and the excerpt here." 
    4989msgstr "" 
    5090 
    51 #: image-rss.php:145 
     91#: class-lib/RIF_AdminClass.php:164 
    5292msgid "" 
    5393"Give here only the longest side of the image. The smaller side will be " 
     
    5595msgstr "" 
    5696 
    57 #: image-rss.php:151 
     97#: class-lib/RIF_AdminClass.php:170 
     98msgid "" 
     99"Click, to make image size relativ and not static. This might make the feed " 
     100"more responsive." 
     101msgstr "" 
     102 
     103#: class-lib/RIF_AdminClass.php:176 
     104msgid "Click, to include the &#34;media:content&#34; tag in the feed." 
     105msgstr "" 
     106 
     107#: class-lib/RIF_AdminClass.php:182 
     108msgid "Click, to include the &#34;enclosure&#34; tag in the feed." 
     109msgstr "" 
     110 
     111#: class-lib/RIF_AdminClass.php:188 
     112#, php-format 
     113msgid "" 
     114"To use an image of the post instead of the post thumbnail, enter the number " 
     115"of that image. The word %s will bring the last image of the post." 
     116msgstr "" 
     117 
     118#: class-lib/RIF_AdminClass.php:194 
    58119msgid "" 
    59120"Click, to limit the post content to a summary if the post doesn&#39;t have " 
     
    61122msgstr "" 
    62123 
    63 #: image-rss.php:157 
     124#: class-lib/RIF_AdminClass.php:200 
    64125msgid "" 
    65126"How long should the summary of the article be? Enter the number of sentences " 
     
    67128msgstr "" 
    68129 
    69 #: image-rss.php:235 
     130#: class-lib/RIF_AdminClass.php:216 
     131msgid "Please enter a numeric value for the image size." 
     132msgstr "" 
     133 
     134#: class-lib/RIF_AdminClass.php:224 
     135msgid "Please enter a numeric value for the excerpt length." 
     136msgstr "" 
     137 
     138#: class-lib/RIF_AdminClass.php:234 
     139msgid "Imagesize too large. Please choose a value smaller than 1000." 
     140msgstr "" 
     141 
     142#: image-rss.php:145 
     143msgid "FAQ" 
     144msgstr "" 
     145 
     146#: image-rss.php:146 
     147msgid "Donate" 
     148msgstr "" 
     149 
     150#: image-rss.php:164 
     151msgid "RSS Image" 
     152msgstr "" 
     153 
     154#. Plugin Name of the plugin/theme 
     155msgid "RSS Image Feed" 
     156msgstr "" 
     157 
     158#. Plugin URI of the plugin/theme 
    70159msgid "http://wasistlos.waldemarstoffel.com/plugins-fur-wordpress/image-feed" 
    71160msgstr "" 
    72161 
    73 #: image-rss.php:237 
    74 msgid "Define the size of the images and summary in your feed." 
     162#. Description of the plugin/theme 
     163msgid "" 
     164"RSS Image Feed is not literally producing a feed of images but it adds the " 
     165"first image of the post to the normal feeds of your blog. Those images " 
     166"display even if you have the summary in the feed and not the content." 
    75167msgstr "" 
    76168 
    77 #: image-rss.php:261 
    78 msgid "Please enter a numeric value for the image size." 
     169#. Author of the plugin/theme 
     170msgid "Stefan Crämer" 
    79171msgstr "" 
    80172 
    81 #: image-rss.php:271 
    82 msgid "Please enter a numeric value for the excerpt length." 
     173#. Author URI of the plugin/theme 
     174msgid "http://www.stefan-craemer.com" 
    83175msgstr "" 
    84  
    85 #: image-rss.php:281 
    86 msgid "Imagesize too large. Please choose a value smaller than 1000." 
    87 msgstr "" 
  • rss-image-feed/tags/4.2.3/readme.txt

    r1266439 r1359722  
    22Contributors: tepelstreel 
    33Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=LLUFQDHG33XCE 
    4 Tags: rss, feed, excerpt, content, custom, customize, image, images 
     4Tags: rss, feed, excerpt, content, custom, customize, image, images, enclosure, media content 
    55Requires at least: 2.7 
    6 Tested up to: 4.4 
    7 Stable tag: 4.2.2 
     6Tested up to: 4.5 
     7Stable tag: 4.2.3 
    88 
    99The RSS Image Feed adds the first image of a post to your feeds, even in firefox and even if you only display the excerpt. 
     
    1313The RSS Image Feed doesn't create a feed of images, but ataches the first image of the post to your feeds. Normally only the content has images showing. With our plugin there will be a clickable image even in the excerpt and in the content there will be only one image instead of all the images of the post. Since version 2.2 it works as a multisite plugin as well. 
    1414 
    15 The plugin was tested up to WP 3.9. It should work with versions down to 2.7 but was never tested on those. 
     15The plugin was tested up to WP 4.5 It should work with versions down to 2.7 but was never tested on those. 
    1616 
    1717== Installation == 
  • rss-image-feed/trunk/class-lib/A5_ExcerptClass.php

    r1260449 r1359722  
    66 * 
    77 * @ A5 Plugin Framework 
    8  * Version: 1.0 beta 20150909 
     8 * Version: 1.0 beta 20160127 
    99 * 
    1010 * Gets the excerpt of a post according to some parameters 
    1111 * 
    12  * standard parameters: offset(=0), usertext, excerpt, count 
     12 * standard parameters: offset(=0), usertext, excerpt, count, style 
    1313 * additional parameters: class(classname), filter(boolean), shortcode(boolean), format(boolean), links(boolean), 
    1414 * readmore_link(boolean), readmore_text(string) 
     
    8080                        break; 
    8181                         
    82                     case 'letters' : 
     82                    case 'characters' : 
    8383                             
    8484                        $output = substr($text, $offset, $length); 
  • rss-image-feed/trunk/class-lib/A5_FormFieldClass.php

    r1260449 r1359722  
    66 * 
    77 * @ A5 Plugin Framework 
    8  * Version: 1.0 beta 20150909 
     8 * Version: 1.0 beta 20160127 
    99 * 
    1010 * Gets all sort of input fields for plugins by Atelier 5  
     
    1616class A5_FormField { 
    1717     
    18     const version = '1.0 beta 20150909 RIF'; 
     18    const version = '1.0 beta 20160127 RIF'; 
    1919     
    2020    public $formfield; 
  • rss-image-feed/trunk/class-lib/A5_ImageClass.php

    r1260449 r1359722  
    66 * 
    77 * @ A5 Plugin Framework 
    8  * Version: 1.0 beta 20150909 
     8 * Version: 1.0 beta 20160127 
    99 * 
    1010 * Gets the alt and title tag for attachments 
     
    7272     * if the variable number is specified all of the above is skipped and we look for that specific image in the post 
    7373     * 
    74      * @param: $id, $option (for caching, so that we don't touch the file over and over again) 
     74     * @param: $id 
    7575     * 
    76      * @optional param: [$image_size (i.e 'medium')], [$width], [$height], [$number], [$multisite] 
     76     * @optional param: [$image_size (i.e 'medium')], [$width], [$height], [$number] 
    7777     *  
    7878     */ 
     
    8282        extract($args); 
    8383         
    84         $multisite = (isset($multisite)) ? $multisite : false; 
    85          
    8684        if (!isset($image_size) && !isset($height) && (!isset($width) || empty($width))) $image_size = 'thumbnail'; 
    8785         
    88         $default_sizes = array('large', 'medium', 'thumbnail'); 
    89          
    90         $defaults = self::get_defaults(); 
    91          
    92         if (!isset($width) || empty($width)) : 
    93          
    94             if (in_array($image_size, $default_sizes)) : 
    95              
    96                 $width = $defaults[$image_size]['w']; 
    97              
    98                 $height = $defaults[$image_size]['h']; 
    99              
    100             else : 
    101              
    102                 global $_wp_additional_image_sizes; 
    103                  
    104                 $width = $_wp_additional_image_sizes[$image_size]['width']; 
    105                  
    106                 $height = ($_wp_additional_image_sizes[$image_size]['crop'] === false) ? $_wp_additional_image_sizes[$image_size]['height'] : 9999; 
    107              
    108             endif; 
    109              
    110         endif; 
    111          
    112         if ($width <= $defaults['large']['w']) $size = 'large'; 
    113         if ($width <= $defaults['medium']['w']) $size = 'medium'; 
    114         if ($width <= $defaults['thumbnail']['w']) $size = 'thumbnail'; 
    115          
    11686        if (!isset($height)) $height = 9999; 
    11787         
     
    12191         
    12292            if (has_post_thumbnail()) $attachment_id = get_post_thumbnail_id(); 
    123              
    124             $custom_fields = get_post_custom($id); 
    12593             
    12694            if (!isset($attachment_id)) : 
     
    145113             
    146114                if (false === $thumb) unset($thumb, $attachment_id); 
     115                     
     116                else return $thumb; 
    147117                 
    148118            endif; 
     
    215185         
    216186        if (!isset($img_src)) return false; 
    217          
    218         $options = ($multisite) ? get_site_option($option) : get_option($option); 
    219          
    220         $cache = $options['cache']; 
    221          
    222         if (array_key_exists($img_src, $cache)) return array($img_src, $cache[$img_src][0], $cache[$img_src][1]); 
    223187         
    224188        $img_tag = $matches['img_tag'][$number]; 
     
    260224        $thumb = array ($img_src, $thumb_width, $thumb_height); 
    261225         
    262         $cache[$img_src] = array($thumb_width, $thumb_height); 
    263          
    264         $options['cache'] = $cache; 
    265          
    266         if ($multisite) update_site_option($option, $options); 
    267          
    268         else update_option($option, $options); 
    269          
    270226        return $thumb; 
    271227     
     
    359315    } 
    360316     
    361     // getting the default sizes 
    362      
    363     private static function get_defaults() { 
    364      
    365         $defaults['large']['w'] = (get_option('large_size_w')) ? $width = get_option('large_size_w') : 1024; 
    366         $defaults['large']['h'] = (get_option('large_size_h')) ? $width = get_option('large_size_h') : 1024; 
    367          
    368         $defaults['medium']['w'] = (get_option('medium_size_w')) ? $width = get_option('medium_size_w') : 300; 
    369         $defaults['medium']['h'] = (get_option('medium_size_h')) ? $width = get_option('medium_size_h') : 300; 
    370          
    371         $defaults['thumbnail']['w'] = (get_option('thumbnail_size_w')) ? $width = get_option('thumbnail_size_w') : 150; 
    372         $defaults['thumbnail']['h'] = (get_option('thumbnail_size_h')) ? $width = get_option('thumbnail_size_h') : 150; 
    373          
    374         return $defaults; 
     317    /** 
     318     * Get size information for all currently-registered image sizes. 
     319     * 
     320     * @global $_wp_additional_image_sizes 
     321     * @uses   get_intermediate_image_sizes() 
     322     * @return array $sizes Data for all currently-registered image sizes. 
     323     */ 
     324    private static function get_image_sizes() { 
     325         
     326        global $_wp_additional_image_sizes; 
     327     
     328        $sizes = array(); 
     329     
     330        foreach ( get_intermediate_image_sizes() as $_size ) { 
     331            if ( in_array( $_size, array('thumbnail', 'medium', 'medium_large', 'large') ) ) { 
     332                $sizes[ $_size ]['width']  = get_option( "{$_size}_size_w" ); 
     333                $sizes[ $_size ]['height'] = get_option( "{$_size}_size_h" ); 
     334                $sizes[ $_size ]['crop']   = (bool) get_option( "{$_size}_crop" ); 
     335            } elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) { 
     336                $sizes[ $_size ] = array( 
     337                    'width'  => $_wp_additional_image_sizes[ $_size ]['width'], 
     338                    'height' => $_wp_additional_image_sizes[ $_size ]['height'], 
     339                    'crop'   => $_wp_additional_image_sizes[ $_size ]['crop'], 
     340                ); 
     341            } 
     342        } 
     343     
     344        return $sizes; 
     345    } 
     346     
     347    /** 
     348     * Get size information for a specific image size. 
     349     * 
     350     * @uses   get_image_sizes() 
     351     * @param  string $size The image size for which to retrieve data. 
     352     * @return bool|array $size Size data about an image size or false if the size doesn't exist. 
     353     */ 
     354    private static function get_image_size( $size ) { 
     355         
     356        $sizes = self::get_image_sizes(); 
     357     
     358        if ( isset( $sizes[ $size ] ) ) return $sizes[ $size ]; 
     359     
     360        return false; 
    375361         
    376362    } 
     
    396382    } 
    397383     
    398     // getting the image source for the thumbnail 
     384    // getting the image source for the thumbnail according to the desired size. 
    399385     
    400386    private static function get_image($attachment_id, $image_size) { 
    401387         
    402         $thumb = wp_get_attachment_image_src($attachment_id, $image_size); 
    403              
    404         if ($thumb) :  
    405          
    406             if ($thumb[3] === false) $smaller_thumb = wp_get_attachment_image_src($attachment_id, $image_size); 
    407              
    408             if (isset($smaller_thumb)) $thumb[0] = $smaller_thumb[0]; 
    409          
    410         endif; 
    411              
     388        if (!is_array($image_size) && is_numeric($image_size)) : 
     389         
     390            $size[0] = $image_size; 
     391              
     392            $size[1] = '9999'; 
     393             
     394        else : 
     395         
     396            $size = $image_size; 
     397              
     398        endif; 
     399         
     400        $thumb = wp_get_attachment_image_src($attachment_id, $size); 
     401         
     402        if (!$thumb) return false; 
     403         
     404        if ($thumb[3] == false) : 
     405         
     406            if (!is_array($size)) : 
     407             
     408                $image_size = self::get_image_size($size); 
     409                 
     410                if (false == $image_size) return $thumb; 
     411                 
     412                $size = array($image_size['width'], (true == $image_size['crop']) ? $image_size['height'] : '9999'); 
     413             
     414            endif; 
     415         
     416            $src = explode(',', wp_get_attachment_image_srcset($attachment_id, $size)); 
     417             
     418            foreach ($src as $img) : 
     419             
     420                $img_src = explode(' ', trim($img)); 
     421                 
     422                $width = str_replace('w', '', $img_src[1]); 
     423                 
     424                if ($size[0] <= $width) : 
     425                 
     426                    $image[$width] = $img_src[0]; 
     427                     
     428                endif; 
     429             
     430            endforeach; 
     431             
     432            if (isset($image)) : 
     433             
     434                ksort($image); 
     435             
     436                $thumb[0] = current($image); 
     437                 
     438            endif; 
     439         
     440        endif; 
     441         
    412442        return $thumb; 
    413443         
  • rss-image-feed/trunk/class-lib/A5_OptionPageClass.php

    r1260449 r1359722  
    66 * 
    77 * @ A5 Plugin Framework 
    8  * Version: 1.0 beta 20150909 
     8 * Version: 1.0 beta 20160127 
    99 * 
    1010 * Gets all sort of containers for the flexible A5 settings pages 
     
    354354        $postbox .= self::tag_it(a5_get_version(), 'p'); 
    355355         
    356         ob_start(); 
    357          
    358         var_dump($options); 
    359          
    360         $options = ob_get_contents(); 
    361          
    362         ob_end_clean(); 
    363          
    364         $postbox .= self::tag_it($options, 'pre', 1); 
     356        if (!is_array($options)) $options = array ($options); 
     357         
     358        $opt_str = ''; 
     359         
     360        foreach ($options as $key => $value) : 
     361         
     362            $key = str_replace('_', '&nbsp;', $key); 
     363             
     364            if (is_array($value)) : 
     365             
     366                ob_start(); 
     367         
     368                var_dump($value); 
     369                 
     370                $value = ob_get_contents(); 
     371                 
     372                $value = self::tag_it($value, 'pre', 3); 
     373                 
     374                ob_end_clean(); 
     375                 
     376            else: 
     377             
     378                if (true === $value) $value = 'true'; 
     379             
     380                if (false === $value) $value = 'false'; 
     381                 
     382                if (NULL === $value) $value = 'NULL'; 
     383                 
     384                if (empty($value)) $value = __('Not set', 'rss-image-feed'); 
     385             
     386                $value = str_replace(array("\r\n", "\n", "\r"), '<br />', $value); 
     387             
     388            endif; 
     389             
     390            $key = self::tag_it(ucwords($key).':', 'td', 2, array('style' => 'width: 25%; border: solid 1px')); 
     391             
     392            $value = self::tag_it($value, 'td', 2, array('style' => 'border: solid 1px')); 
     393             
     394            $opt_str .= self::tag_it($key.$value, 'tr', 1); 
     395         
     396        endforeach; 
     397         
     398        $postbox .= self::tag_it($opt_str, 'table', 0, array('style' => 'border-collapse: collapse')); 
    365399         
    366400        $postbox .= self::close_postbox(); 
  • rss-image-feed/trunk/class-lib/RIF_AdminClass.php

    r1222500 r1359722  
    2424            add_action('network_admin_menu', array($this, 'add_site_admin_menu')); 
    2525                 
    26             self::$options = get_site_option('rss_options'); 
     26            self::$options = get_network_option(NULL, 'rss_options'); 
    2727                 
    2828        else : 
     
    8888            self::$options = $this->validate_options($input); 
    8989             
    90             update_site_option('rss_options', self::$options); 
     90            update_network_option(NULL, 'rss_options', self::$options); 
    9191             
    9292            $this->initialize_settings(); 
     
    144144        add_settings_field('image_number', __('Image Number:', 'rss-image-feed'), array($this, 'display_imgnmbr'), 'new_image_settings', 'image_rss_settings'); 
    145145         
     146        add_settings_field('media_tag', __('Add the &#34;media:content&#34; tag:', 'rss-image-feed'), array($this, 'display_media_content'), 'new_image_settings', 'image_rss_settings'); 
     147         
     148        add_settings_field('enclosure_tag', __('Add the &#34;enclosure&#34; tag:', 'rss-image-feed'), array($this, 'display_enclosure'), 'new_image_settings', 'image_rss_settings'); 
     149         
    146150        add_settings_field('force_excerpt', __('Force Excerpt:', 'rss-image-feed'), array($this, 'display_force'), 'new_image_settings', 'image_rss_settings'); 
    147151         
     
    165169         
    166170        a5_checkbox('responsive', 'rss_options[responsive]', @self::$options['responsive'], __('Click, to make image size relativ and not static. This might make the feed more responsive.', 'rss-image-feed')); 
     171         
     172    } 
     173     
     174    function display_media_content() { 
     175         
     176        a5_checkbox('media_content', 'rss_options[media_content]', @self::$options['media_content'], __('Click, to include the &#34;media:content&#34; tag in the feed.', 'rss-image-feed')); 
     177         
     178    } 
     179     
     180    function display_enclosure() { 
     181         
     182        a5_checkbox('enclosure', 'rss_options[enclosure]', @self::$options['enclosure'], __('Click, to include the &#34;enclosure&#34; tag in the feed.', 'rss-image-feed')); 
    167183         
    168184    } 
     
    190206        $newinput['image_size'] = trim($input['image_size']); 
    191207        $newinput['responsive'] = (isset($input['responsive'])) ? true : false; 
     208        $newinput['media_content'] = (isset($input['media_content'])) ? true : false; 
     209        $newinput['enclosure'] = (isset($input['enclosure'])) ? true : false; 
    192210        $newinput['image_number'] = trim($input['image_number']); 
    193211        $newinput['force_excerpt'] = (isset($input['force_excerpt'])) ? true : false; 
    194212        $newinput['excerpt_size'] = trim($input['excerpt_size']); 
    195213         
    196             if(!is_numeric($newinput['image_size'])) : 
    197              
    198                 add_settings_error('rss_options', 'not-numeric-image-size', __('Please enter a numeric value for the image size.', 'rss-image-feed'), 'error'); 
    199                  
    200                 $newinput['image_size'] = 200; 
    201                  
    202             endif; 
    203              
    204             if(!is_numeric($newinput['excerpt_size'])) : 
    205              
    206                 add_settings_error('rss_options', 'not-numeric-excerpt-size', __('Please enter a numeric value for the excerpt length.', 'rss-image-feed'), 'error'); 
    207                  
    208                 $newinput['excerpt_size'] = 3; 
    209                  
    210             endif; 
    211              
    212             $newinput['excerpt_size'] = intval($newinput['excerpt_size']); 
    213                  
    214             if($newinput['image_size'] > 999) : 
    215              
    216                 add_settings_error('rss_options', 'too-large-image-size', __('Imagesize too large. Please choose a value smaller than 1000.', 'rss-image-feed'), 'error'); 
    217                  
    218                 $newinput['image_size'] = 200; 
    219                  
    220             endif; 
    221              
    222             $newinput['image_size'] = intval($newinput['image_size']); 
    223              
    224             if ($newinput['image_size'] != self::$options['image_size']) add_image_size( 'rss-image', $newinput['image_size'], $newinput['image_size'] ); 
    225              
    226             if(!empty($newinput['image_number']) && !is_numeric($newinput['image_number'])) : 
    227              
    228                 $newinput['image_number'] = 'last'; 
    229                  
    230             endif; 
     214        if(!is_numeric($newinput['image_size'])) : 
     215         
     216            add_settings_error('rss_options', 'not-numeric-image-size', __('Please enter a numeric value for the image size.', 'rss-image-feed'), 'error'); 
     217             
     218            $newinput['image_size'] = 200; 
     219             
     220        endif; 
     221         
     222        if(!is_numeric($newinput['excerpt_size'])) : 
     223         
     224            add_settings_error('rss_options', 'not-numeric-excerpt-size', __('Please enter a numeric value for the excerpt length.', 'rss-image-feed'), 'error'); 
     225             
     226            $newinput['excerpt_size'] = 3; 
     227             
     228        endif; 
     229         
     230        $newinput['excerpt_size'] = intval($newinput['excerpt_size']); 
     231             
     232        if($newinput['image_size'] > 999) : 
     233         
     234            add_settings_error('rss_options', 'too-large-image-size', __('Imagesize too large. Please choose a value smaller than 1000.', 'rss-image-feed'), 'error'); 
     235             
     236            $newinput['image_size'] = 200; 
     237             
     238        endif; 
     239         
     240        $newinput['image_size'] = intval($newinput['image_size']); 
     241         
     242        if ($newinput['image_size'] != self::$options['image_size']) add_image_size( 'rss-image', $newinput['image_size'], $newinput['image_size'] ); 
     243         
     244        if(!empty($newinput['image_number']) && !is_numeric($newinput['image_number'])) : 
     245         
     246            $newinput['image_number'] = 'last'; 
     247             
     248        endif; 
    231249             
    232250        self::$options['image_size'] = $newinput['image_size']; 
    233251        self::$options['responsive'] = $newinput['responsive']; 
     252        self::$options['media_content'] = $newinput['media_content']; 
     253        self::$options['enclosure'] = $newinput['enclosure']; 
    234254        self::$options['force_excerpt'] = $newinput['force_excerpt']; 
    235255        self::$options['excerpt_size'] = $newinput['excerpt_size']; 
    236256        self::$options['image_number'] = $newinput['image_number']; 
     257         
     258        self::$options['cache'] = array(); 
    237259         
    238260        return self::$options; 
  • rss-image-feed/trunk/image-rss.php

    r1266439 r1359722  
    55Description: RSS Image Feed is not literally producing a feed of images but it adds the first image of the post to the normal feeds of your blog. Those images display even if you have the summary in the feed and not the content. 
    66Version: 4.2.3 
    7 Author: Waldemar Stoffel 
    8 Author URI: http://www.waldemarstoffel.com 
     7Author: Stefan Crämer 
     8Author URI: http://www.stefan-craemer.com 
    99License: GPL3 
    1010Text Domain: rss-image-feed 
     
    1212*/ 
    1313 
    14 /*  Copyright 2011 - 2015 Waldemar Stoffel  (email : stoffel@atelier-fuenf.de) 
     14/*  Copyright 2011 - 2016 Stefan Crämer (email : support@atelier-fuenf.de) 
    1515 
    1616    This program is free software: you can redistribute it and/or modify 
     
    6565         
    6666        add_filter('image_size_names_choose', array($this, 'rss_image_to_menu')); 
     67         
     68        add_action('save_post', array($this, 'flush_widget_cache')); 
     69        add_action('deleted_post', array($this, 'flush_widget_cache')); 
     70        add_action('switch_theme', array($this, 'flush_widget_cache')); 
    6771     
    6872        load_plugin_textdomain('rss-image-feed', false , basename(dirname(__FILE__)).'/languages'); 
    6973         
    70         register_activation_hook(  __FILE__, array($this, 'install') ); 
    71         register_deactivation_hook(  __FILE__, array($this, 'uninstall') ); 
     74        register_activation_hook(  __FILE__, array($this, '_install') ); 
     75        register_deactivation_hook(  __FILE__, array($this, '_uninstall') ); 
    7276         
    7377        if (is_multisite()) : 
    7478         
    75             $plugins = get_site_option('active_sitewide_plugins'); 
     79            $plugins = get_network_option(NULL, 'active_sitewide_plugins'); 
    7680             
    7781            if (isset($plugins[RIF_BASE])) : 
    7882         
    79                 self::$options = get_site_option('rss_options'); 
     83                self::$options = get_network_option(NULL, 'rss_options'); 
    8084                 
    8185                if (self::version != self::$options['version']) : 
     
    8387                    self::$options['version'] = self::version; 
    8488                     
    85                     update_site_option('rss_options', self::$options); 
     89                    update_network_option(NULL, 'rss_options', self::$options); 
    8690                 
    8791                endif; 
     
    129133        add_image_size('rss-image', self::$options['image_size'], self::$options['image_size']); 
    130134         
     135        if (true == WP_DEBUG): 
     136         
     137            add_action('wp_before_admin_bar_render', array($this, 'admin_bar_menu')); 
     138         
     139        endif; 
     140         
     141        if (self::$options['media_content'] || self::$options['enclosure']) : 
     142         
     143            add_action( "rss2_ns", array( $this, 'set_feed_NameSpace') ); 
     144            add_action( "rss_item", array( $this, 'add_media_enclosure' ), 5, 1 ); 
     145            add_action( "rss2_item", array( $this, 'add_media_enclosure' ), 5, 1 ); 
     146         
     147        endif; 
     148         
     149        add_action( "rss_head", array( $this, 'add_fav_icon' ) ); 
     150        add_action( "rss2_head", array( $this, 'add_fav_icon' ) ); 
     151         
    131152        $RIF_Admin = new RIF_Admin(self::$options['sitewide']); 
    132153         
     
    162183    // Setting some default values 
    163184     
    164     function install() { 
     185    function _install() { 
    165186         
    166187        $screen = get_current_screen(); 
    167188         
    168189        $defaults = array( 
    169             'image_size' => 200, 
     190            'image_size' => 300, 
    170191            'force_excerpt' => false, 
    171192            'excerpt_size' => 3, 
    172193            'version' => self::version, 
    173194            'sitewide' => false, 
     195            'responsive' => false, 
     196            'enclosure' => false, 
     197            'media_content' => false, 
    174198            'cache' => array(),  
    175199            'image_number' => false 
     
    180204            $defaults['sitewide'] = true;  
    181205         
    182             add_site_option('rss_options', $defaults); 
     206            add_network_option(NULL, 'rss_options', $defaults); 
    183207         
    184208        else :  
     
    192216    // Deleting the option 
    193217     
    194     function uninstall() { 
     218    function _uninstall() { 
    195219         
    196220        $screen = get_current_screen(); 
     
    198222        if (is_multisite() && $screen->is_network) : 
    199223         
    200             delete_site_option('rss_options'); 
     224            delete_network_option(NULL, 'rss_options'); 
    201225         
    202226        else : 
     
    225249        $imagetag = $this->get_feed_image(); 
    226250         
    227         return $imagetag[0].$imagetag[1].$output; 
     251        return $imagetag.$output; 
    228252     
    229253    } 
     
    247271        $content = A5_Excerpt::text($args); 
    248272         
    249         return $imagetag[0].$imagetag[1].$content; 
     273        return $imagetag.$content; 
    250274     
    251275    } 
     
    257281        $id = get_the_ID(); 
    258282         
    259         $img_container = ''; 
    260          
    261         $rif_tags = A5_Image::tags(); 
    262          
    263         $rif_image_alt = $rif_tags['image_alt']; 
    264         $rif_image_title = $rif_tags['image_title']; 
    265         $rif_title_tag = $rif_tags['title_tag']; 
    266          
    267         $args = array ( 
    268             'id' => $id, 
    269             'option' => 'rss_options', 
    270             'image_size' => 'rss-image', 
    271             'multisite' => self::$options['sitewide'] 
    272         ); 
    273          
    274         if (self::$options['image_number']) $args['number'] = self::$options['image_number']; 
    275          
    276         $rif_image_info = A5_Image::thumbnail($args); 
    277          
    278         if ($rif_image_info) : 
    279          
    280             $rif_thumb = $rif_image_info[0]; 
    281              
    282             $rif_width = $rif_image_info[1]; 
    283          
    284             $rif_height = ($rif_image_info[2]) ? ' height="'.$rif_image_info[2].'"' :''; 
    285              
    286             $rif_image_width = (!self::$options['responsive']) ? '" width="'.$rif_width.'"'.$rif_height : '" style="max-width: '.$rif_width.'px; height: auto;"'; 
     283        $img_container = self::$options['cache'][$id]['image']; 
     284         
     285        if (empty($img_container) && false !== $img_container) : 
     286         
     287            $img_container = false; 
     288             
     289            $rif_tags = A5_Image::tags(); 
     290             
     291            $rif_image_alt = $rif_tags['image_alt']; 
     292            $rif_image_title = $rif_tags['image_title']; 
     293            $rif_title_tag = $rif_tags['title_tag']; 
     294             
     295            $args = array ( 
     296                'id' => $id, 
     297                'image_size' => 'rss-image' 
     298            ); 
     299             
     300            if (self::$options['image_number']) $args['number'] = self::$options['image_number']; 
     301             
     302            $rif_image_info = A5_Image::thumbnail($args); 
     303             
     304            if ($rif_image_info) : 
     305             
     306                $rif_thumb = $rif_image_info[0]; 
     307                 
     308                $rif_width = $rif_image_info[1]; 
     309             
     310                $rif_height = ($rif_image_info[2]) ? ' height="'.$rif_image_info[2].'"' :''; 
     311                 
     312                $rif_image_size = (!self::$options['responsive']) ? '" width="'.$rif_width.'"'.$rif_height : '" style="max-width: '.$rif_width.'px; height: auto;"'; 
     313             
     314                $eol = "\n"; 
     315                $tab = "\t"; 
     316             
     317                $rif_img_tag = '<a href="'.get_permalink().'"><img title="'.$rif_image_title.'" src="'.$rif_thumb.'" alt="'.$rif_image_alt.$rif_image_size.' /></a>'; 
     318                 
     319                $img_container=$eol.$tab.'<div>'.$eol.$tab.$rif_img_tag.$eol.$tab.'</div>'.$eol.$tab; 
     320                 
     321            endif; 
     322             
     323            self::$options['cache'][$id]['image'] = $img_container; 
     324             
     325            (self::$options['sitewide']) ? update_network_option(NULL, 'rss_options', self::$options) : update_option('rss_options', self::$options); 
     326             
     327        endif; 
     328         
     329        return $img_container; 
     330         
     331    } 
     332     
     333    function set_feed_NameSpace() { 
     334         
     335        echo 'xmlns:media="http://search.yahoo.com/mrss/"'; 
     336         
     337    } 
     338     
     339    function add_media_enclosure($for_comments) { 
     340         
     341        global $post; 
     342         
     343        if (!$for_comments) : 
    287344         
    288345            $eol = "\n"; 
    289             $tab = "\t"; 
    290          
    291             $rif_img_tag = '<a href="'.get_permalink().'"><img title="'.$rif_image_title.'" src="'.$rif_thumb.'" alt="'.$rif_image_alt.$rif_image_width.' /></a>'; 
    292              
    293             $img_container=$eol.$tab.'<div>'.$eol.$tab.$rif_img_tag.$eol.$tab.'</div>'.$eol.$tab; 
    294              
    295         endif; 
    296          
    297         $media_content = $eol.$tab.'<media:content url="'.$rif_thumb.'"'.$rif_image_width.' />'.$eol.$tab; 
    298          
    299         return array($img_container, $media_content); 
     346         
     347            if (self::$options['enclosure']) : 
     348             
     349                $enclosure = self::$options['cache'][$post-ID]['enclosure']; 
     350                 
     351                if (!$enclosure) : 
     352                 
     353                    $enclosure = false; 
     354             
     355                    $upload_dir = wp_upload_dir(); 
     356                 
     357                    $full_image = A5_Image::thumbnail(array('id' => $post->ID, 'image_size' => 'full')); 
     358                     
     359                    $image_src = str_replace( $upload_dir['baseurl'], $upload_dir['basedir'], $full_image[0] ); 
     360                     
     361                    $length = @filesize($image_src); 
     362                     
     363                    if ($full_image) $enclosure = '<enclosure url="'.$full_image[0].'" length="'.$length.'" type="image/jpg" />'.$eol; 
     364                    self::$options['cache'][$post->ID]['enclosure'] = $enclosure; 
     365             
     366            (self::$options['sitewide']) ? update_network_option(NULL, 'rss_options', self::$options) : update_option('rss_options', self::$options); 
     367             
     368                endif; 
     369                 
     370                echo $enclosure; 
     371                 
     372            endif; 
     373             
     374            if (self::$options['media_content']) : 
     375             
     376                $media_content = self::$options['cache'][$post-ID]['media_content']; 
     377                 
     378                if (!$media_content) : 
     379                 
     380                    $media_content = false; 
     381             
     382                    $rss_image = A5_Image::thumbnail(array('id' => $post->ID, 'image_size' => 'rss-image')); 
     383                 
     384                    if ($rss_image) $media_content = '<media:content url="'.$rss_image[0].'" width="'.$rss_image[1].'" height="'.$rss_image[2].'" medium="image" type="image/jpeg" />'.$eol; 
     385                     
     386                    self::$options['cache'][$post->ID]['media_content'] = $media_content; 
     387                 
     388                (self::$options['sitewide']) ? update_network_option(NULL, 'rss_options', self::$options) : update_option('rss_options', self::$options); 
     389                 
     390                endif; 
     391                 
     392                echo $media_content; 
     393                 
     394            endif; 
     395         
     396        endif; 
     397     
     398    } 
     399     
     400    function add_fav_icon() {return; 
     401         
     402        $eol = "\n"; 
     403         
     404        $tab = "\t"; 
     405         
     406        $dtab = "\t\t"; 
     407         
     408        echo $tab.'<image>'.$eol.$dtab.'<url>http://yritys-test.waldemarstoffel.com/ty678uui/wp-content/plugins/rss-image-feed/img/a5-icon-34.png</url>'.$eol.$dtab.'<title>'.get_bloginfo().'</title>'.$eol.$dtab.'<link>'.get_bloginfo('url').'</link>'.$eol.$dtab.'<width>32</width>'.$eol.$dtab.'<height>32</height>'.$eol.$tab.'</image>'.$eol; 
     409         
     410    } 
     411     
     412    function flush_widget_cache() { 
     413         
     414        global $wpdb; 
     415         
     416        self::$options['cache'] = array(); 
     417         
     418        if (!self::$options['sitewide']) : 
     419         
     420            $update_args = array('option_value' => serialize(self::$options)); 
     421         
     422            $result = $wpdb->update( $wpdb->options, $update_args, array( 'option_name' => 'rss_options' ) ); 
     423             
     424        else : 
     425         
     426            global $current_site; 
     427         
     428            $result = $wpdb->update( $wpdb->sitemeta, array( 'meta_value' => serialize(self::$options) ), array( 'site_id' => $current_site->id, 'meta_key' => 'rss_options' ) ); 
     429             
     430        endif; 
     431     
     432    } 
     433     
     434    /** 
     435     * 
     436     * Adds a link to the settings to the admin bar in case WP_DEBUG is true 
     437     * 
     438     */ 
     439    function admin_bar_menu() { 
     440         
     441        global $wp_admin_bar; 
     442         
     443        if (!is_super_admin() || !is_admin_bar_showing()) return; 
     444         
     445        $wp_admin_bar->add_node(array('parent' => '', 'id' => 'a5-framework', 'title' => 'A5 Framework')); 
     446         
     447        $wp_admin_bar->add_node(array('parent' => 'a5-framework', 'id' => 'rss-image', 'title' => 'RSS Image Feed', 'href' => admin_url('plugins.php?page=rss-image-feed'))); 
    300448         
    301449    } 
  • rss-image-feed/trunk/languages/rss-image-feed-de_DE.po

    r1231805 r1359722  
    22msgstr "" 
    33"Project-Id-Version: RSS Image Feed\n" 
    4 "POT-Creation-Date: 2015-08-27 11:08+0200\n" 
    5 "PO-Revision-Date: 2015-08-27 11:09+0200\n" 
    6 "Last-Translator: Waldemar Stoffel <stoffel@atelier-furnf.de>\n" 
     4"POT-Creation-Date: 2016-02-22 21:41+0200\n" 
     5"PO-Revision-Date: 2016-02-22 21:43+0200\n" 
     6"Last-Translator: Stefan Crämer <translate@atelier-fuenf.de>\n" 
    77"Language-Team: Waldemar Stoffel <stoffel@atelier-fuenf.de>\n" 
    88"Language: de_DE\n" 
     
    2323msgstr "Link zu:" 
    2424 
    25 #: class-lib/A5_OptionPageClass.php:31 image-rss.php:150 
     25#: class-lib/A5_OptionPageClass.php:31 image-rss.php:156 
    2626msgid "Settings" 
    2727msgstr "Einstellungen" 
     
    3030msgid "Click to toggle" 
    3131msgstr "Zum Umschalten klicken" 
     32 
     33#: class-lib/A5_OptionPageClass.php:384 
     34msgid "Not set" 
     35msgstr "Nicht gesetzt" 
    3236 
    3337#: class-lib/RIF_AdminClass.php:100 
     
    6569 
    6670#: class-lib/RIF_AdminClass.php:146 
     71msgid "Add the &#34;media:content&#34; tag:" 
     72msgstr "Hänge das &#34;media:content&#34; Tag an den Feed." 
     73 
     74#: class-lib/RIF_AdminClass.php:148 
     75msgid "Add the &#34;enclosure&#34; tag:" 
     76msgstr "Hänge das &#34;enclosure&#34; Tag an den Feed." 
     77 
     78#: class-lib/RIF_AdminClass.php:150 
    6779msgid "Force Excerpt:" 
    6880msgstr "Auszug erzwingen:" 
    6981 
    70 #: class-lib/RIF_AdminClass.php:148 
     82#: class-lib/RIF_AdminClass.php:152 
    7183msgid "Limit Excerpt:" 
    7284msgstr "Auszug limitieren:" 
    7385 
    74 #: class-lib/RIF_AdminClass.php:154 
     86#: class-lib/RIF_AdminClass.php:158 
    7587msgid "Change the size of the image and the excerpt here." 
    7688msgstr "Ändere die Größe des Bildes und des Auszuges hier." 
    7789 
    78 #: class-lib/RIF_AdminClass.php:160 
     90#: class-lib/RIF_AdminClass.php:164 
    7991msgid "" 
    8092"Give here only the longest side of the image. The smaller side will be " 
     
    8496"erstellen des Feed berechnet. Die Bilder werden nicht beschnitten." 
    8597 
    86 #: class-lib/RIF_AdminClass.php:166 
     98#: class-lib/RIF_AdminClass.php:170 
    8799msgid "" 
    88100"Click, to make image size relativ and not static. This might make the feed " 
     
    92104"deinen Feed mehr responsive machen." 
    93105 
    94 #: class-lib/RIF_AdminClass.php:172 
     106#: class-lib/RIF_AdminClass.php:176 
     107msgid "Click, to include the &#34;media:content&#34; tag in the feed." 
     108msgstr "Anklicken, um das &#34;media:content&#34; Tag zu setzen." 
     109 
     110#: class-lib/RIF_AdminClass.php:182 
     111msgid "Click, to include the &#34;enclosure&#34; tag in the feed." 
     112msgstr "Anklicken, um das &#34;enclosure&#34; Tag zu setzen." 
     113 
     114#: class-lib/RIF_AdminClass.php:188 
    95115#, php-format 
    96116msgid "" 
     
    101121"des Bildes an. Das Wort %s wird das letzte Bild des Artikels anzeigen." 
    102122 
    103 #: class-lib/RIF_AdminClass.php:178 
     123#: class-lib/RIF_AdminClass.php:194 
    104124msgid "" 
    105125"Click, to limit the post content to a summary if the post doesn&#39;t have " 
    106126"an excerpt." 
    107127msgstr "" 
    108 "Anklicken um einen Auszug im Feed zu erzwingen, wenn der Artikel keinen " 
     128"Anklicken, um einen Auszug im Feed zu erzwingen, wenn der Artikel keinen " 
    109129"Auszug hat." 
    110130 
    111 #: class-lib/RIF_AdminClass.php:184 
     131#: class-lib/RIF_AdminClass.php:200 
    112132msgid "" 
    113133"How long should the summary of the article be? Enter the number of sentences " 
     
    117137"ein." 
    118138 
    119 #: class-lib/RIF_AdminClass.php:198 
     139#: class-lib/RIF_AdminClass.php:216 
    120140msgid "Please enter a numeric value for the image size." 
    121141msgstr "Bitte einen numerischen Wert für die Bildgröße eingeben." 
    122142 
    123 #: class-lib/RIF_AdminClass.php:206 
     143#: class-lib/RIF_AdminClass.php:224 
    124144msgid "Please enter a numeric value for the excerpt length." 
    125145msgstr "Bitte einen numerischen Wert für die Länge des Auszugs eingeben." 
    126146 
    127 #: class-lib/RIF_AdminClass.php:216 
     147#: class-lib/RIF_AdminClass.php:234 
    128148msgid "Imagesize too large. Please choose a value smaller than 1000." 
    129149msgstr "Bildgröße zu groß. Bitte wähle einen Wert kleiner als 1000." 
    130150 
    131 #: image-rss.php:139 
     151#: image-rss.php:145 
    132152msgid "FAQ" 
    133153msgstr "FAQ" 
    134154 
    135 #: image-rss.php:140 
     155#: image-rss.php:146 
    136156msgid "Donate" 
    137157msgstr "Spenden" 
    138158 
    139 #: image-rss.php:158 
     159#: image-rss.php:164 
    140160msgid "RSS Image" 
    141161msgstr "RSS-Bild" 
  • rss-image-feed/trunk/languages/rss-image-feed.pot

    r925536 r1359722  
    1 # Copyright (C) 2014  
    2 # This file is distributed under the same license as the  package. 
     1#, fuzzy 
    32msgid "" 
    43msgstr "" 
    5 "Project-Id-Version:  \n" 
    6 "Report-Msgid-Bugs-To: http://wordpress.org/tag/rss-image-feed\n" 
    7 "POT-Creation-Date: 2014-02-21 12:29:39+00:00\n" 
     4"Project-Id-Version: RSS Image Feed\n" 
     5"POT-Creation-Date: 2016-02-22 21:44+0200\n" 
     6"PO-Revision-Date: 2016-02-22 21:44+0200\n" 
     7"Last-Translator: Stefan Crämer <translate@atelier-fuenf.de>\n" 
     8"Language-Team: Stefan Crämer <translate@atelier-fuenf.de>\n" 
    89"MIME-Version: 1.0\n" 
    910"Content-Type: text/plain; charset=UTF-8\n" 
    1011"Content-Transfer-Encoding: 8bit\n" 
    11 "PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n" 
    12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 
    13 "Language-Team: LANGUAGE <LL@li.org>\n" 
     12"X-Generator: Poedit 1.8.1\n" 
     13"X-Poedit-Basepath: ..\n" 
     14"X-Poedit-WPHeader: image-rss.php\n" 
     15"X-Poedit-SourceCharset: UTF-8\n" 
     16"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" 
     17"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" 
     18"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" 
     19"X-Poedit-SearchPath-0: .\n" 
     20"X-Poedit-SearchPathExcluded-0: *.js\n" 
    1421 
    15 #: class-lib/A5_ImageClass.php:40 
     22#: class-lib/A5_ImageClass.php:48 
    1623msgid "Permalink to" 
    1724msgstr "" 
    1825 
    19 #: image-rss.php:98 
    20 msgid "FAQ" 
    21 msgstr "" 
    22  
    23 #: image-rss.php:99 
    24 msgid "Donate" 
    25 msgstr "" 
    26  
    27 #: image-rss.php:111 
     26#: class-lib/A5_OptionPageClass.php:31 image-rss.php:156 
    2827msgid "Settings" 
    2928msgstr "" 
    3029 
    31 #: image-rss.php:127 
     30#: class-lib/A5_OptionPageClass.php:145 
     31msgid "Click to toggle" 
     32msgstr "" 
     33 
     34#: class-lib/A5_OptionPageClass.php:384 
     35msgid "Not set" 
     36msgstr "" 
     37 
     38#: class-lib/RIF_AdminClass.php:100 
     39msgid "" 
     40"http://wasistlos.waldemarstoffel.com/plugins-fur-wordpress/rss-image-feed" 
     41msgstr "" 
     42 
     43#: class-lib/RIF_AdminClass.php:100 
     44msgid "Plugin Support" 
     45msgstr "" 
     46 
     47#: class-lib/RIF_AdminClass.php:102 
     48msgid "Define the size of the images and summary in your feed." 
     49msgstr "" 
     50 
     51#: class-lib/RIF_AdminClass.php:119 
     52msgid "Debug Info" 
     53msgstr "" 
     54 
     55#: class-lib/RIF_AdminClass.php:138 
    3256msgid "RSS Settings" 
    3357msgstr "" 
    3458 
    35 #: image-rss.php:129 
    36 msgid "Imagesize:" 
     59#: class-lib/RIF_AdminClass.php:140 
     60msgid "Image Size:" 
    3761msgstr "" 
    3862 
    39 #: image-rss.php:131 
     63#: class-lib/RIF_AdminClass.php:142 
     64msgid "Make the size relative:" 
     65msgstr "" 
     66 
     67#: class-lib/RIF_AdminClass.php:144 
     68msgid "Image Number:" 
     69msgstr "" 
     70 
     71#: class-lib/RIF_AdminClass.php:146 
     72msgid "Add the &#34;media:content&#34; tag:" 
     73msgstr "" 
     74 
     75#: class-lib/RIF_AdminClass.php:148 
     76msgid "Add the &#34;enclosure&#34; tag:" 
     77msgstr "" 
     78 
     79#: class-lib/RIF_AdminClass.php:150 
    4080msgid "Force Excerpt:" 
    4181msgstr "" 
    4282 
    43 #: image-rss.php:133 
     83#: class-lib/RIF_AdminClass.php:152 
    4484msgid "Limit Excerpt:" 
    4585msgstr "" 
    4686 
    47 #: image-rss.php:139 
     87#: class-lib/RIF_AdminClass.php:158 
    4888msgid "Change the size of the image and the excerpt here." 
    4989msgstr "" 
    5090 
    51 #: image-rss.php:145 
     91#: class-lib/RIF_AdminClass.php:164 
    5292msgid "" 
    5393"Give here only the longest side of the image. The smaller side will be " 
     
    5595msgstr "" 
    5696 
    57 #: image-rss.php:151 
     97#: class-lib/RIF_AdminClass.php:170 
     98msgid "" 
     99"Click, to make image size relativ and not static. This might make the feed " 
     100"more responsive." 
     101msgstr "" 
     102 
     103#: class-lib/RIF_AdminClass.php:176 
     104msgid "Click, to include the &#34;media:content&#34; tag in the feed." 
     105msgstr "" 
     106 
     107#: class-lib/RIF_AdminClass.php:182 
     108msgid "Click, to include the &#34;enclosure&#34; tag in the feed." 
     109msgstr "" 
     110 
     111#: class-lib/RIF_AdminClass.php:188 
     112#, php-format 
     113msgid "" 
     114"To use an image of the post instead of the post thumbnail, enter the number " 
     115"of that image. The word %s will bring the last image of the post." 
     116msgstr "" 
     117 
     118#: class-lib/RIF_AdminClass.php:194 
    58119msgid "" 
    59120"Click, to limit the post content to a summary if the post doesn&#39;t have " 
     
    61122msgstr "" 
    62123 
    63 #: image-rss.php:157 
     124#: class-lib/RIF_AdminClass.php:200 
    64125msgid "" 
    65126"How long should the summary of the article be? Enter the number of sentences " 
     
    67128msgstr "" 
    68129 
    69 #: image-rss.php:235 
     130#: class-lib/RIF_AdminClass.php:216 
     131msgid "Please enter a numeric value for the image size." 
     132msgstr "" 
     133 
     134#: class-lib/RIF_AdminClass.php:224 
     135msgid "Please enter a numeric value for the excerpt length." 
     136msgstr "" 
     137 
     138#: class-lib/RIF_AdminClass.php:234 
     139msgid "Imagesize too large. Please choose a value smaller than 1000." 
     140msgstr "" 
     141 
     142#: image-rss.php:145 
     143msgid "FAQ" 
     144msgstr "" 
     145 
     146#: image-rss.php:146 
     147msgid "Donate" 
     148msgstr "" 
     149 
     150#: image-rss.php:164 
     151msgid "RSS Image" 
     152msgstr "" 
     153 
     154#. Plugin Name of the plugin/theme 
     155msgid "RSS Image Feed" 
     156msgstr "" 
     157 
     158#. Plugin URI of the plugin/theme 
    70159msgid "http://wasistlos.waldemarstoffel.com/plugins-fur-wordpress/image-feed" 
    71160msgstr "" 
    72161 
    73 #: image-rss.php:237 
    74 msgid "Define the size of the images and summary in your feed." 
     162#. Description of the plugin/theme 
     163msgid "" 
     164"RSS Image Feed is not literally producing a feed of images but it adds the " 
     165"first image of the post to the normal feeds of your blog. Those images " 
     166"display even if you have the summary in the feed and not the content." 
    75167msgstr "" 
    76168 
    77 #: image-rss.php:261 
    78 msgid "Please enter a numeric value for the image size." 
     169#. Author of the plugin/theme 
     170msgid "Stefan Crämer" 
    79171msgstr "" 
    80172 
    81 #: image-rss.php:271 
    82 msgid "Please enter a numeric value for the excerpt length." 
     173#. Author URI of the plugin/theme 
     174msgid "http://www.stefan-craemer.com" 
    83175msgstr "" 
    84  
    85 #: image-rss.php:281 
    86 msgid "Imagesize too large. Please choose a value smaller than 1000." 
    87 msgstr "" 
  • rss-image-feed/trunk/readme.txt

    r1266439 r1359722  
    22Contributors: tepelstreel 
    33Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=LLUFQDHG33XCE 
    4 Tags: rss, feed, excerpt, content, custom, customize, image, images 
     4Tags: rss, feed, excerpt, content, custom, customize, image, images, enclosure, media content 
    55Requires at least: 2.7 
    6 Tested up to: 4.4 
    7 Stable tag: 4.2.2 
     6Tested up to: 4.5 
     7Stable tag: 4.2.3 
    88 
    99The RSS Image Feed adds the first image of a post to your feeds, even in firefox and even if you only display the excerpt. 
     
    1313The RSS Image Feed doesn't create a feed of images, but ataches the first image of the post to your feeds. Normally only the content has images showing. With our plugin there will be a clickable image even in the excerpt and in the content there will be only one image instead of all the images of the post. Since version 2.2 it works as a multisite plugin as well. 
    1414 
    15 The plugin was tested up to WP 3.9. It should work with versions down to 2.7 but was never tested on those. 
     15The plugin was tested up to WP 4.5 It should work with versions down to 2.7 but was never tested on those. 
    1616 
    1717== Installation == 
Note: See TracChangeset for help on using the changeset viewer.