WordPress.org

Plugin Directory

Changeset 1650789


Ignore:
Timestamp:
05/04/17 07:41:41 (7 months ago)
Author:
ratkosolaja
Message:

Update plugin to version 1.0.6

Location:
rs-save-for-later/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • rs-save-for-later/trunk/README.txt

    r1547009 r1650789  
    33Tags: save for later, bookmark, pocket, logged out, wishlist 
    44Requires at least: 3.0 
    5 Tested up to: 4.7 
    6 Stable tag: 1.0.5 
     5Tested up to: 4.7.4 
     6Stable tag: 1.0.6 
    77License: GNU General Public License version 3.0 
    88License URI: http://www.gnu.org/licenses/gpl-3.0.html 
     
    1717 
    1818**NOTE:** Since the plugin name has changed, so did the shortcodes. Make sure you change "rs" prefix to "simplicity": 
     19**NOTE 2:** In the next version I will implement some additional features as well as change how cookies are being saved. This is going to be a pretty big update. :) 
    1920 
    20211. In Saved for Later page, use [simplicity-saved-for-later] instead of [rs-saved-for-later] 
     
    7172== Changelog == 
    7273 
     74= 1.0.6 = 
     75* Fixed a bug where on some server specific settings when user is logged in, saving item wouldn't work. 
     76* When user isn't logged in, set and get cookies via JS rather than PHP. 
     77 
    7378= 1.0.5 = 
    7479* Fixed a bug when user changed "See Saved" text, it wouldn't apply on the front end. 
  • rs-save-for-later/trunk/public/class-rs-save-for-later-public.php

    r1497626 r1650789  
    7474 
    7575    /** 
    76      * Set cookie 
    77      * 
    78      * @since    1.0.4 
    79      */ 
    80     public function rssfl_set_cookie( $name, $value = array(), $time = null ) { 
    81  
    82         $time = $time != null ? $time : time() + apply_filters( 'rssfl_cookie_expiration', 60 * 60 * 24 * 30 ); 
    83         $value = base64_encode( json_encode( stripslashes_deep( $value ) ) ); 
    84         $expiration = apply_filters( 'rssfl_cookie_expiration_time', $time ); 
    85  
    86         $_COOKIE[ $name ] = $value; 
    87         setcookie( $name, $value, $expiration, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, false ); 
    88  
    89     } 
    90  
    91     /** 
    92      * Get cookie 
    93      * 
    94      * @since    1.0.4 
    95      */ 
    96     public function rssfl_get_cookie( $name ) { 
    97  
    98         if ( isset( $_COOKIE[$name] ) ) { 
    99             return json_decode( base64_decode( stripslashes( $_COOKIE[$name] ) ), true ); 
     76     * Get cookie value 
     77     * 
     78     * @since    1.0.6 
     79     */ 
     80    public function get_cookie() { 
     81 
     82        if ( array_key_exists( 'rs_save_for_later', $_COOKIE ) ) { 
     83            if ( isset( $_COOKIE[ 'rs_save_for_later' ] ) ) { 
     84                return json_decode( base64_decode( stripslashes( $_COOKIE[ 'rs_save_for_later' ] ) ), true ); 
     85            } 
     86            return array(); 
    10087        } 
    10188 
     
    10592 
    10693    /** 
     94     * Set cookie value 
     95     * 
     96     * @since    1.0.6 
     97     */ 
     98    public function set_cookie( $value ) { 
     99 
     100        return base64_encode( json_encode( stripslashes_deep( $value ) ) ); 
     101 
     102    } 
     103 
     104    /** 
    107105     * Get number of saved items 
    108106     * 
    109107     * @since    1.0.2 
     108     * @version  1.0.6 
    110109     */ 
    111110    public function get_number_of_saved_items() { 
     
    121120                $count = 0; 
    122121            } else { 
    123                 $cookie_values = $this->rssfl_get_cookie( 'rs_save_for_later' ); 
     122                $cookie_values = $this->get_cookie(); 
     123 
    124124                $count = count( $cookie_values ); 
    125125            } 
     
    160160     * 
    161161     * @since    1.0.0 
     162     * @version  1.0.6 
    162163     */ 
    163164    public function enqueue_scripts() { 
     
    208209            $toggle_logged_in = $this->get_toggle_logged_in(); 
    209210 
     211            wp_enqueue_script( $this->plugin_name . 'js-cookie', plugin_dir_url( __FILE__ ) . 'js/js.cookie.js', array( 'jquery' ), '2.1.4', false ); 
    210212            wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/rs-save-for-later-public.js', array( 'jquery' ), $this->version, false ); 
    211213            wp_localize_script( 
     
    213215                'rs_save_for_later_ajax', 
    214216                array( 
    215                     'ajax_url'          => admin_url( 'admin-ajax.php' ), 
     217                    'ajax_url'          => admin_url( 'admin-ajax.php', 'relative' ), 
    216218                    'save_txt'          => $save, 
    217219                    'unsave_txt'        => $unsave, 
     
    319321     * 
    320322     * @since    1.0.0 
     323     * @version  1.0.6 
    321324     */ 
    322325    public function save_unsave_for_later() { 
     
    340343        // Check cookie if object is saved 
    341344        $saved = false; 
     345 
     346        // Cookies 
     347        $cookie_values = $this->get_cookie(); 
    342348 
    343349        if ( is_user_logged_in() ) { 
     
    355361            update_user_meta( get_current_user_id(), 'rs_saved_for_later', $matches ); 
    356362        } else { 
    357             $cookie_values = $this->rssfl_get_cookie( 'rs_save_for_later' ); 
    358363            if ( in_array( $object_id, $cookie_values ) ) { 
    359364                $saved = true; 
    360365                unset( $cookie_values[array_search( $object_id, $cookie_values )] ); 
    361                 $this->rssfl_set_cookie( 'rs_save_for_later', $cookie_values ); 
     366                $cookie_values_js = $this->set_cookie( $cookie_values ); 
    362367            } else { 
    363368                $saved = false; 
    364369                array_push( $cookie_values, $object_id ); 
    365                 $this->rssfl_set_cookie( 'rs_save_for_later', $cookie_values ); 
     370                $cookie_values_js = $this->set_cookie( $cookie_values ); 
    366371            } 
    367372        } 
     
    374379 
    375380        $return = array( 
     381            'status'  => is_user_logged_in(), 
    376382            'update'  => $saved, 
    377383            'message' => esc_attr( $no_content ), 
     
    379385        ); 
    380386 
     387        if ( ! is_user_logged_in() ) { 
     388            $return['cookie'] = $cookie_values_js; 
     389        } 
     390 
    381391        return wp_send_json( $return ); 
    382392 
     
    387397     * 
    388398     * @since    1.0.0 
     399     * @version  1.0.6 
    389400     */ 
    390401    public function get_save_for_later_button_display() { 
     
    414425            } 
    415426        } else { 
    416             $cookie_values = $this->rssfl_get_cookie( 'rs_save_for_later' ); 
     427            $cookie_values = $this->get_cookie(); 
    417428            if ( in_array( $object_id, $cookie_values ) ) { 
    418429                $saved = true; 
     
    475486     * 
    476487     * @since    1.0.0 
     488     * @version  1.0.6 
    477489     */ 
    478490    public function saved_for_later_shortcode() { 
     
    503515            $matches = get_user_meta( get_current_user_id(), 'rs_saved_for_later', true ); 
    504516        } else { 
    505             $cookie_values = $this->rssfl_get_cookie( 'rs_save_for_later' ); 
     517            $cookie_values = $this->get_cookie(); 
    506518            foreach ( $cookie_values as $key => $value ) { 
    507519                $matches[] = $value; 
     
    561573     * 
    562574     * @since    1.0.3 
     575     * @version  1.0.6 
    563576     */ 
    564577    public function save_for_later_remove_all() { 
     
    583596            ); 
    584597        } else { 
    585             $this->rssfl_set_cookie( 'rs_save_for_later', array() ); 
     598            $cookie = $this->set_cookie( array() ); 
    586599            $return = array( 
    587600                'user_type' => 'not_logged_in', 
     601                'cookie'    => $cookie, 
    588602                'message'   => esc_attr( $no_content ) 
    589603            ); 
  • rs-save-for-later/trunk/public/js/rs-save-for-later-public.js

    r1497626 r1650789  
    4545                    'nonce': nonce, 
    4646                    'object_id': object_id, 
    47                     'action': 'save_unsave_for_later', 
     47                    'action': 'save_unsave_for_later' 
    4848                }, 
    4949                success: function(data) { 
    50                     console.log(data.count); 
     50                    if(data.status == false) { 
     51                        Cookies.set('rs_save_for_later', data.cookie, { expires: 365 }); 
     52                    } 
    5153                    if(data.update == true) { 
    5254                        if($this.hasClass('saved-in-list')) { 
     
    107109            }, 
    108110            success: function(data) { 
     111                if ( data.user_type == 'not_logged_in' ) { 
     112                    Cookies.set('rs_save_for_later', data.cookie, { expires: 365 }); 
     113                } 
    109114                $('.rs-saved-trigger span').text(data.count); 
    110115                $('ul.rs-saved-for-later').after('<p class="nothing-saved nothing-saved-hide">'+data.message+'</p>'); 
  • rs-save-for-later/trunk/rs-save-for-later.php

    r1497626 r1650789  
    99 * Plugin URI:  https://wordpress.org/plugins/rs-save-for-later/ 
    1010 * Description: Save content for later. 
    11  * Version:     1.0.5 
     11 * Version:     1.0.6 
    1212 * Author:      Simplicity LLC 
    1313 * Author URI:  http://www.simplicity.rs/ 
Note: See TracChangeset for help on using the changeset viewer.