WordPress.org

Plugin Directory

Changeset 1794647


Ignore:
Timestamp:
12/30/17 19:30:37 (3 weeks ago)
Author:
vasyl_m
Message:

Fixed bug with extension status and moved profile update hook of the Backend Filter class

Location:
advanced-access-manager/trunk/Application
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • advanced-access-manager/trunk/Application/Backend/Filter.php

    r1794632 r1794647  
    6767         
    6868        add_action('pre_post_update', array($this, 'prePostUpdate'), 10, 2); 
    69          
    70         //user profile update action 
    71         add_action('profile_update', array($this, 'profileUpdate'), 10, 2); 
    7269         
    7370        //user/role filters 
     
    398395     
    399396    /** 
    400      * Profile updated hook 
    401      *  
    402      * Adjust expiration time and user cache if profile updated 
    403      *  
    404      * @param int     $id 
    405      * @param WP_User $old 
    406      *  
    407      * @return void 
    408      *  
    409      * @access public 
    410      */ 
    411     public function profileUpdate($id, $old) { 
    412         $user = get_user_by('ID', $id); 
    413          
    414         //role changed? 
    415         if (implode('', $user->roles) != implode('', $old->roles)) { 
    416             AAM_Core_Cache::clear($id); 
    417              
    418             //check if role has expiration data set 
    419             $role   = (is_array($user->roles) ? $user->roles[0] : ''); 
    420             $expire = AAM_Core_API::getOption("aam-role-{$role}-expiration", ''); 
    421              
    422             if ($expire) { 
    423                 update_user_option($id, "aam-original-roles", $old->roles); 
    424                 update_user_option($id, "aam-role-expires", strtotime($expire)); 
    425             } 
    426         } 
    427     } 
    428      
    429     /** 
    430397     * Filter roles 
    431398     *  
  • advanced-access-manager/trunk/Application/Backend/Manager.php

    r1786947 r1794647  
    4646        add_filter('map_meta_cap', array($this, 'mapMetaCap'), 10, 4); 
    4747         
     48        //user profile update action 
     49        add_action('profile_update', array($this, 'profileUpdate'), 10, 2); 
     50         
    4851        //post title decorator 
    4952        add_filter('the_title', array($this, 'theTitle'), 10, 2); 
     
    127130         
    128131        return $caps; 
     132    } 
     133     
     134    /** 
     135     * Profile updated hook 
     136     *  
     137     * Adjust expiration time and user cache if profile updated 
     138     *  
     139     * @param int     $id 
     140     * @param WP_User $old 
     141     *  
     142     * @return void 
     143     *  
     144     * @access public 
     145     */ 
     146    public function profileUpdate($id, $old) { 
     147        $user = get_user_by('ID', $id); 
     148         
     149        //role changed? 
     150        if (implode('', $user->roles) != implode('', $old->roles)) { 
     151            AAM_Core_Cache::clear($id); 
     152             
     153            //check if role has expiration data set 
     154            $role   = (is_array($user->roles) ? $user->roles[0] : ''); 
     155            $expire = AAM_Core_API::getOption("aam-role-{$role}-expiration", ''); 
     156             
     157            if ($expire) { 
     158                update_user_option($id, "aam-original-roles", $old->roles); 
     159                update_user_option($id, "aam-role-expires", strtotime($expire)); 
     160            } 
     161        } 
    129162    } 
    130163     
  • advanced-access-manager/trunk/Application/Extension/Repository.php

    r1788460 r1794647  
    278278                } 
    279279            } 
    280         } elseif ($status == AAM_Extension_Repository::STATUS_INSTALLED && !defined($id)) { 
    281             $status = AAM_Extension_Repository::STATUS_DOWNLOAD; 
     280        } elseif ($status == AAM_Extension_Repository::STATUS_INSTALLED) { 
     281            if (!defined($id)) { 
     282                $status = AAM_Extension_Repository::STATUS_DOWNLOAD; 
     283            } elseif ($this->isOutdatedVersion($item, $retrieved, constant($id))) { 
     284                $status = AAM_Extension_Repository::STATUS_UPDATE; 
     285            } 
    282286        } 
    283287         
Note: See TracChangeset for help on using the changeset viewer.