Plugin Directory

Changeset 1435004


Ignore:
Timestamp:
06/11/2016 05:01:47 PM (10 years ago)
Author:
MatthewRuddy
Message:

Uploading v3.0.6 to trunk.

Location:
easing-slider/trunk
Files:
4 added
1 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • easing-slider/trunk/bower.json

    r1432934 r1435004  
    11{
    22  "name": "Easing Slider",
    3   "version": "3.0.5",
     3  "version": "3.0.6",
    44  "homepage": "https://github.com/easingslider/easing-slider",
    55  "authors": [
  • easing-slider/trunk/easing-slider.php

    r1432934 r1435004  
    44 * Plugin URI: http://easingslider.com/
    55 * Description: A simple WordPress plugin for creating beautiful sliders.
    6  * Version: 3.0.5
     6 * Version: 3.0.6
    77 * Author: Matthew Ruddy
    88 * Author URI: http://matthewruddy.com
     
    2626 * Define constants
    2727 */
    28 define('EASINGSLIDER_VERSION', '3.0.5');
     28define('EASINGSLIDER_VERSION', '3.0.6');
    2929define('EASINGSLIDER_NAME', 'Easing Slider');
    3030define('EASINGSLIDER_API_URL', 'http://easingslider.com/');
  • easing-slider/trunk/languages/easingslider.pot

    r1432950 r1435004  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Easing Slider 3.0.5\n"
     5"Project-Id-Version: Easing Slider 3.0.6\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/easing-slider\n"
    77"POT-Creation-Date: 2016-06-08 01:05:08+00:00\n"
  • easing-slider/trunk/package.json

    r1432934 r1435004  
    22  "name": "easing-slider",
    33  "title": "Easing Slider",
    4   "version": "3.0.5",
     4  "version": "3.0.6",
    55  "devDependencies": {
    66    "grunt": "0.4.5",
  • easing-slider/trunk/readme.txt

    r1432950 r1435004  
    55Requires at least: 4.5
    66Tested up to: 4.6
    7 Stable tag: 3.0.5
     7Stable tag: 3.0.6
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    8989
    9090== Changelog ==
     91
     92= 3.0.6 - June 11th, 2016 =
     93* Refactored & improved initial v3.0.0 upgrade, fixing issues with upgrade process between v3.0.4 & v3.0.5.
     94* Now using `admin_url` function to generate redirect URLs in admin.
    9195
    9296= 3.0.5 - June 8th, 2016 =
  • easing-slider/trunk/src/Plugin/Admin/Actions/Settings.php

    r1429811 r1435004  
    8181        $this->activator->activate();
    8282
     83        // Get the redirect URL
     84        $redirectUrl = admin_url('admin.php?page=easingslider-settings&easingslider_notice=reset_plugin');
     85
    8386        // Redirect back to settings page to avoid resetting the plugin again if the user refreshes the page.
    84         wp_safe_redirect( "admin.php?page=easingslider-settings&easingslider_notice=reset_plugin" );
     87        wp_safe_redirect($redirectUrl);
    8588        exit();
    8689    }
  • easing-slider/trunk/src/Plugin/Admin/Actions/Sliders.php

    r1429811 r1435004  
    6464    protected function creationRedirect($id)
    6565    {
    66         wp_safe_redirect("admin.php?page=easingslider&edit={$id}&easingslider_notice=publish_slider");
     66        $redirectUrl = admin_url(sprintf('admin.php?page=easingslider&edit=%d&easingslider_notice=publish_slider', $id));
     67
     68        wp_safe_redirect($redirectUrl);
    6769        exit();
    6870    }
  • easing-slider/trunk/src/Plugin/Admin/Upgrades/UpgradeTo220.php

    r1432934 r1435004  
    44
    55use EasingSlider\Foundation\Admin\Upgrades\Upgrade;
     6use EasingSlider\Plugin\Admin\Upgrades\SliderTransformers\v210 as SliderTransformer;
    67
    78/**
     
    2930
    3031    /**
    31      * Possible option prefixes through v2.1.* Easing Slider "Lite" lifespan
    32      *
    33      * @var array
    34      */
    35     protected $optionPrefixes = array('easingsliderlite', 'rivasliderlite');
    36 
    37     /**
    3832     * Upgrade Flag
    3933     *
     
    4337
    4438    /**
    45      * Reference ID
     39     * Lite Slider ID
    4640     *
    4741     * @var string
    4842     */
    49     protected $referenceId = 'easingslider_lite_slider_id';
     43    protected $liteSliderId = 'easingslider_lite_slider_id';
    5044
    5145    /**
     
    6458        }
    6559
    66         if ($this->liteVersionIsEligible()) {
     60        if ($this->versionIsEligible()) {
    6761            return true;
    6862        }
     
    7670     * @return boolean
    7771     */
    78     protected function liteVersionIsEligible()
     72    protected function versionIsEligible()
    7973    {
    8074        // Hijack version with old version option
    81         $version = $this->getLiteOption('version');
     75        $version = get_option('easingsliderlite_version');
    8276
    8377        // Do the comparison and run the upgrade if version is eligible
     
    9084
    9185    /**
    92      * Delets an Easing Slider "Lite" option
     86     * Creates the new upgraded "Lite" slider
    9387     *
    94      * @param  string $name
    95      * @return void
    96      */
    97     protected function deleteLiteOption($name)
    98     {
    99         foreach ($this->optionPrefixes as $prefix) {
    100             delete_option("{$prefix}_{$name}");
    101         }
    102     }
    103 
    104     /**
    105      * Gets an Easing Slider "Lite" option
    106      *
    107      * @param  string $name
    108      * @return mixed|false
    109      */
    110     protected function getLiteOption($name)
    111     {
    112         foreach ($this->optionPrefixes as $prefix) {
    113             $value = get_option("{$prefix}_{$name}", false);
    114 
    115             if ($value) {
    116                 return $value;
    117             }
    118         }
    119 
    120         return false;
    121     }
    122 
    123     /**
    124      * Gets the "Easing Slider 'Lite'" slider
    125      *
    126      * @return object|false
    127      */
    128     protected function getLiteSlider()
    129     {
    130         return $this->getLiteOption('slideshow');
    131     }
    132 
    133     /**
    134      * Creates the upgraded "Lite" slider
    135      *
    136      * @param  object $liteSlider
    13788     * @return int
    13889     */
    139     protected function createUpgradedSlider($liteSlider)
     90    protected function createNewSlider()
    14091    {
    141         // Create the post
     92        $transformer = new SliderTransformer();
     93
     94        // Get the transformed data
     95        $data = $transformer->transform();
     96
     97        // Create the post (aka. slider)
    14298        $postId = wp_insert_post(array(
    14399            'post_type'   => 'easingslider',
     
    146102        ));
    147103
    148         // Add post meta
    149         add_post_meta($postId, '_easingslider_slides', $this->transformLiteSlides($liteSlider->slides));
    150         add_post_meta($postId, '_easingslider_general', $liteSlider->general);
    151         add_post_meta($postId, '_easingslider_dimensions', $liteSlider->dimensions);
    152         add_post_meta($postId, '_easingslider_transitions', $liteSlider->transitions);
    153         add_post_meta($postId, '_easingslider_navigation', $liteSlider->navigation);
    154         add_post_meta($postId, '_easingslider_playback', $liteSlider->playback);
     104        // Add post metadata
     105        foreach ($data as $key => $value) {
     106            add_post_meta($postId, "_easingslider_{$key}", $value);
     107        }
    155108
    156109        return $postId;
     
    158111
    159112    /**
    160      * Transforms our "Lite" slides into our new slide data structure
     113     * Sets the Lite Slider ID (used to enable our old shortcode)
    161114     *
    162      * @param  array $liteSlides
    163      * @return array
    164      */
    165     protected function transformLiteSlides($liteSlides)
    166     {
    167         global $wpdb;
    168 
    169         $slides = array();
    170 
    171         // Transform each slide
    172         foreach ($liteSlides as $liteSlide) {
    173 
    174             // Query the guid
    175             $attachmentQuery = $wpdb->prepare("SELECT ID FROM {$wpdb->posts} WHERE guid='%s'", $liteSlide->url);
    176 
    177             // Attempt to get the attachment of this image
    178             $attachmentId = $wpdb->get_var($attachmentQuery);
    179 
    180             // Populate the slide
    181             $slide = (object) array(
    182                 'type'            => 'image',
    183                 'id'              => absint($liteSlide->id),
    184                 'attachment_id'   => absint($attachmentId),
    185                 'alt'             => sanitize_text_field($liteSlide->alt),
    186                 'link'            => ($liteSlide->link) ? 'custom' : 'none',
    187                 'linkUrl'         => sanitize_text_field($liteSlide->link),
    188                 'linkTargetBlank' => ('_blank' == $liteSlide->linkTarget) ? true : false,
    189                 'title'           => sanitize_text_field($liteSlide->title),
    190                 'url'             => null
    191             );
    192 
    193             // Add an image URL if we aren't using an attachment
    194             if ( ! $attachmentId) {
    195                 $slide->url = sanitize_text_field($liteSlide->url);
    196             }
    197 
    198             // Add the slide
    199             $slides[] = $slide;
    200 
    201         }
    202 
    203         return $slides;
    204     }
    205 
    206     /**
    207      * Sets the reference ID
    208      *
    209      * @param int $id
     115     * @param  int $id
    210116     * @return void
    211117     */
    212     protected function setReferenceId($id)
     118    protected function setLiteSliderId($id)
    213119    {
    214         update_option($this->referenceId, $id);
     120        update_option($this->liteSliderId, $id);
    215121    }
    216122
     
    236142
    237143    /**
    238      * Deletes all "Easing Slider 'Lite'" options that are no longer used
    239      *
    240      * @return void
    241      */
    242     protected function cleanupOptions()
    243     {
    244         $this->deleteLiteOption('customizations');
    245         $this->deleteLiteOption('disable_welcome_panel');
    246         $this->deleteLiteOption('major_upgrade');
    247         $this->deleteLiteOption('settings');
    248         $this->deleteLiteOption('slideshow');
    249         $this->deleteLiteOption('version');
    250     }
    251 
    252     /**
    253144     * Upgrades the "Lite" slider
    254145     *
     
    257148    public function upgradeSlider()
    258149    {
    259         $liteSlider = $this->getLiteSlider();
     150        // Create the new upgraded slider
     151        $sliderId = $this->createNewSlider();
    260152
    261         if ($liteSlider) {
     153        // Set the reference ID so we can continue to use the `[easingsliderlite]` shortcode
     154        $this->setLiteSliderId($sliderId);
    262155
    263             // Create the upgraded slider
    264             $sliderId = $this->createUpgradedSlider($liteSlider);
    265 
    266             // Set the reference ID so we can continue to use the `[easingsliderlite`] shortcode
    267             $this->setReferenceId($sliderId);
    268 
    269             // Mark the upgrade as complete so it doesn't occur again
    270             $this->markAsUpgraded();
    271 
    272             // Cleanup "Lite" plugin options as they are now redundant
    273             // $this->cleanupOptions(); // Temporarily disabling this to allow users time to revert.
    274 
    275         }
     156        // Mark the upgrade as complete so it doesn't occur again
     157        $this->markAsUpgraded();
    276158    }
    277159
  • easing-slider/trunk/src/Plugin/Admin/Upgrades/UpgradeTo300.php

    r1432934 r1435004  
    66use WP_Query;
    77use EasingSlider\Foundation\Admin\Upgrades\Upgrade;
    8 use EasingSlider\Foundation\Contracts\Repositories\Repository;
    9 use EasingSlider\Plugin\Contracts\Options\License;
    10 use EasingSlider\Plugin\Contracts\Options\Settings;
    11 
     8use EasingSlider\Plugin\Admin\Upgrades\SliderTransformers\v220 as SliderTransformer;
    129
    1310/**
     
    2017class UpgradeTo300 extends Upgrade
    2118{
    22     /**
    23      * Sliders
    24      *
    25      * @var \EasingSlider\Foundation\Contracts\Repositories\Repository
    26      */
    27     protected $sliders;
    28 
    29     /**
    30      * Settings
    31      *
    32      * @var \EasingSlider\Plugin\Contracts\Options\Settings
    33      */
    34     protected $settings;
    35 
    36     /**
    37      * License
    38      *
    39      * @var \EasingSlider\Plugin\Contracts\Options\License
    40      */
    41     protected $license;
    42 
    4319    /**
    4420     * The version we're upgrading from (or greater)
     
    5632
    5733    /**
    58      * Old Slider Meta Keys
     34     * Gets the sliders
    5935     *
    60      * @var array
     36     * @return array
    6137     */
    62     protected $oldSliderMetaKeys = array(
    63         'slides'      => '_easingslider_slides',
    64         'general'     => '_easingslider_general',
    65         'dimensions'  => '_easingslider_dimensions',
    66         'transitions' => '_easingslider_transitions',
    67         'navigation'  => '_easingslider_navigation',
    68         'playback'    => '_easingslider_playback'
    69     );
    70 
    71     /**
    72      * Constructor
    73      *
    74      * @param  \EasingSlider\Foundation\Contracts\Repositories\Repository $sliders
    75      * @param  \EasingSlider\Plugin\Contracts\Options\Settings            $settings
    76      * @param  \EasingSlider\Plugin\Contracts\Options\License             $license
    77      * @return void
    78      */
    79     public function __construct(Repository $sliders, Settings $settings, License $license)
     38    protected function getSliders()
    8039    {
    81         $this->sliders = $sliders;
    82         $this->settings = $settings;
    83         $this->license = $license;
     40        return get_posts(array(
     41            'post_type'      => 'easingslider',
     42            'post_status'    => 'all',
     43            'posts_per_page' => -1
     44        ));
    8445    }
    8546
    8647    /**
    87      * Sets a slider data attribute, only if the old slider value exists.
     48     * Upgrades a slider
    8849     *
    89      * @param  array  $slider
    90      * @param  string $key
    91      * @param  object $oldSlider
    92      * @param  string $oldSection
    93      * @param  string $oldKey
    94      * @return array
     50     * @param  int $id
     51     * @return void
    9552     */
    96     protected function setAttributeIfExists($slider, $key, $oldSlider, $oldSection, $oldValue)
     53    protected function upgradeSlider($id)
    9754    {
    98         if (isset($oldSlider->{$oldSection}->{$oldValue})) {
    99             $slider[$key] = $oldSlider->{$oldSection}->{$oldValue};
    100         }
     55        $transformer = new SliderTransformer($id);
    10156
    102         return $slider;
    103     }
     57        // Get the transformed data
     58        $data = $transformer->transform();
    10459
    105     /**
    106      * Transforms the old slider data into our new data structure
    107      *
    108      * @param  object $oldSlider
    109      * @return array
    110      */
    111     protected function transformOldSliderData($oldSlider)
    112     {
    113         $data = array();
    114 
    115         // Map linear values
    116         $data['post_title'] = get_the_title($oldSlider->ID);
    117         $data['type'] = 'media';
    118         $data['image_resizing'] = true;
    119         $data['auto_height'] = false;
    120         $data['lazy_loading'] = true;
    121 
    122         // Map dynamic values
    123         $data = $this->setAttributeIfExists($data, 'randomize', $oldSlider, 'general', 'randomize');
    124         $data = $this->setAttributeIfExists($data, 'width', $oldSlider, 'dimensions', 'width');
    125         $data = $this->setAttributeIfExists($data, 'height', $oldSlider, 'dimensions', 'height');
    126         $data = $this->setAttributeIfExists($data, 'full_width', $oldSlider, 'dimensions', 'full_width');
    127         $data = $this->setAttributeIfExists($data, 'background_images', $oldSlider, 'dimensions', 'background_images');
    128         $data = $this->setAttributeIfExists($data, 'transition_effect', $oldSlider, 'transitions', 'effect');
    129         $data = $this->setAttributeIfExists($data, 'transition_duration', $oldSlider, 'transitions', 'duration');
    130         $data = $this->setAttributeIfExists($data, 'arrows', $oldSlider, 'navigation', 'arrows');
    131         $data = $this->setAttributeIfExists($data, 'arrows_hover', $oldSlider, 'navigation', 'arrows_hover');
    132         $data = $this->setAttributeIfExists($data, 'arrows_position', $oldSlider, 'navigation', 'arrows_position');
    133         $data = $this->setAttributeIfExists($data, 'pagination', $oldSlider, 'navigation', 'pagination');
    134         $data = $this->setAttributeIfExists($data, 'pagination_hover', $oldSlider, 'navigation', 'pagination_hover');
    135         $data = $this->setAttributeIfExists($data, 'pagination_position', $oldSlider, 'navigation', 'pagination_position');
    136         $data = $this->setAttributeIfExists($data, 'pagination_location', $oldSlider, 'navigation', 'pagination_location');
    137         $data = $this->setAttributeIfExists($data, 'playback_enabled', $oldSlider, 'playback', 'enabled');
    138         $data = $this->setAttributeIfExists($data, 'playback_pause', $oldSlider, 'playback', 'pause');
    139 
    140         // Transform old slides
    141         $data['slides'] = $this->transformOldSlides($oldSlider->slides);
    142 
    143         return $data;
    144     }
    145 
    146     /**
    147      * Transforms our old slides into our new slide data structure
    148      *
    149      * @param  array $oldSlides
    150      * @return array
    151      */
    152     protected function transformOldSlides($oldSlides)
    153     {
    154         global $wpdb;
    155 
    156         $slides = array();
    157 
    158         // Transform each slide
    159         foreach ($oldSlides as $oldSlide) {
    160 
    161             // Populate the slide
    162             $slide = (object) array(
    163                 'type'            => 'image',
    164                 'id'              => absint($oldSlide->id),
    165                 'attachment_id'   => absint($oldSlide->attachment_id),
    166                 'alt'             => sanitize_text_field($oldSlide->alt),
    167                 'link'            => sanitize_text_field($oldSlide->link),
    168                 'linkUrl'         => sanitize_text_field($oldSlide->linkUrl),
    169                 'linkTargetBlank' => (true == $oldSlide->linkTargetBlank) ? true : false,
    170                 'title'           => sanitize_text_field($oldSlide->title),
    171                 'url'             => null
    172             );
    173 
    174             // Add an image URL if we aren't using an attachment
    175             if ( ! $oldSlide->attachment_id) {
    176                 $slide->url = $oldSlide->url;
    177             }
    178 
    179             // Add the slide
    180             $slides[] = $slide;
    181 
    182         }
    183 
    184         return $slides;
    185     }
    186 
    187     /**
    188      * Gets the old sliders
    189      *
    190      * @return array
    191      */
    192     protected function getOldSliders()
    193     {
    194         // Get sliders
    195         $sliders = array();
    196 
    197         // Query posts
    198         $wpQuery = new WP_Query(array('post_type' => 'easingslider'));
    199 
    200         // Loop through each post
    201         if ($wpQuery->have_posts()) {
    202             while($wpQuery->have_posts()) {
    203 
    204                 $wpQuery->the_post();
    205 
    206                 // Get post ID
    207                 $id = get_the_ID();
    208 
    209                 // Get slider
    210                 $slider = (object) array(
    211                     'ID' => $id
    212                 );
    213 
    214                 // Add metadata
    215                 foreach ($this->oldSliderMetaKeys as $settingsKey => $metaKey) {
    216                     $slider->{$settingsKey} = get_post_meta($id, $metaKey, true);
    217                 }
    218 
    219                 // Add to sliders
    220                 $sliders[] = $slider;
    221 
    222             }
    223         }
    224 
    225         return $sliders;
     60        // Update the slider data
     61        update_post_meta($id, '_easingslider', $data);
    22662    }
    22763
     
    23571    {
    23672        add_option('easingslider_upgraded_from_v2', true);
    237     }
    238 
    239     /**
    240      * Migrates the license key
    241      *
    242      * @return void
    243      */
    244     public function migrateLicense()
    245     {
    246         // Set the license key
    247         $this->license['key'] = get_option('easingslider_license_key');
    248 
    249         // Save it
    250         $this->license->save();
    251 
    252         // Delete old license key
    253         delete_option('easingslider_license_key');
    254     }
    255 
    256     /**
    257      * Upgrades the plugin settings
    258      *
    259      * @return void
    260      */
    261     public function upgradeSettings()
    262     {
    263         // Get new settings array of defaults
    264         $settings = $this->settings->getDefaults();
    265 
    266         // Get the old settings
    267         $oldSettings = (array) get_option('easingslider_settings');
    268 
    269         // Convert "Load in Footer" option
    270         if (isset($oldSettings['load_assets']) && 'footer' == $oldSettings['load_assets']) {
    271             $settings['load_in_footer'] = true;
    272         }
    273 
    274         // Convert "Remove Data" option
    275         $settings['remove_data'] = $oldSettings['remove_data'];
    276 
    277         // Set the new settings
    278         $this->settings->setValue($settings);
    279 
    280         // Update the settings
    281         $this->settings->save();
    28273    }
    28374
     
    29889        }
    29990
    300         /**
    301          * In this version (v2.3), we've also unprefixed the plugin capabilities.
    302          * Let's reflect this.
    303          */
     91        // If we have roles, map the capabilities
    30492        if (is_object($wp_roles) && ! empty($wp_roles->roles)) {
    30593            foreach ($wp_roles->roles as $role => $info) {
    306 
    307                 // Get the user role
    30894                $userRole = get_role($role);
    30995
     
    324110                $userRole->remove_cap('easingslider_discover_extensions');
    325111                $userRole->remove_cap('easingslider_manage_extensions');
    326 
    327112            }
    328113        }
     114    }
     115
     116    /**
     117     * Upgrades the plugin settings
     118     *
     119     * @return void
     120     */
     121    public function upgradeSettings()
     122    {
     123        $settings = (object) get_option('easingslider_settings');
     124
     125        // Only two settings option available in v3.0.0
     126        update_option('easingslider_settings', array(
     127            'load_in_footer' => ( ! empty($settings->load_assets) && 'footer' == $settings->load_assets) ? true : false,
     128            'remove_data'    => ( ! empty($settings->remove_data)) ? true : false
     129        ));
    329130    }
    330131
     
    336137    public function upgradeSliders()
    337138    {
    338         // Get old sliders
    339         $oldSliders = $this->getOldSliders();
     139        $sliders = $this->getSliders();
    340140
    341141        /**
     
    343143         * so instead of creating entirely new sliders, we're upgrading the old ones to our new metadata format.
    344144         */
    345         foreach ($oldSliders as $oldSlider) {
    346 
    347             // Transform data
    348             $data = $this->transformOldSliderData($oldSlider);
    349 
    350             // Update the slider with new data
    351             $this->sliders->update($oldSlider->ID, $data);
    352 
    353             // Delete old slider meta data
    354             // foreach ($this->oldSliderMetaKeys as $metaKey) {
    355             //  delete_post_meta($oldSlider->ID, $metaKey, true); // Temporarily disable this to allow users to revert back if they have issues.
    356             // }
    357 
     145        foreach ($sliders as $slider) {
     146            $this->upgradeSlider($slider->ID);
    358147        }
    359148    }
     
    368157        $this->setupUpgradeInfoNotice();
    369158
    370         $this->migrateLicense();
    371 
    372159        $this->transferCapabilities();
    373160
  • easing-slider/trunk/src/Plugin/Admin/Upgrades/Upgrader.php

    r1432934 r1435004  
    2323        $this->upgrades[] = $this->plugin->make('\EasingSlider\Plugin\Admin\Upgrades\UpgradeTo220');
    2424        $this->upgrades[] = $this->plugin->make('\EasingSlider\Plugin\Admin\Upgrades\UpgradeTo300');
    25         $this->upgrades[] = $this->plugin->make('\EasingSlider\Plugin\Admin\Upgrades\UpgradeTo305');
     25        $this->upgrades[] = $this->plugin->make('\EasingSlider\Plugin\Admin\Upgrades\UpgradeTo306');
    2626    }
    2727}
Note: See TracChangeset for help on using the changeset viewer.