WordPress.org

Plugin Directory

Changeset 559660


Ignore:
Timestamp:
06/18/12 04:15:56 (23 months ago)
Author:
tollmanz
Message:

Added transient functions.

Added transient removal functions including a function that can remove grouped transients, as well as a function that will remove all transients. Bumped version to 0.1.1.

Location:
a-fresher-cache/trunk
Files:
3 added
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • a-fresher-cache/trunk/a-fresher-cache.php

    r550038 r559660  
    4141    /** 
    4242     * Registers the main actions. 
     43     * 
     44     * @return  void 
    4345     */ 
    4446    public function __construct() { 
    4547        // Including required files 
    4648        require_once( A_FRESHER_CACHE_ROOT . '/classes/class-afc-fresher-cache-item.php' ); 
    47         require_once( A_FRESHER_CACHE_ROOT . '/public-functions.php' ); 
     49        require_once( A_FRESHER_CACHE_ROOT . '/includes/public-functions.php' ); 
     50        require_once( A_FRESHER_CACHE_ROOT . '/includes/core-freshen-functions.php' ); 
    4851 
    4952        // l18n support 
     
    6366     * Generates the menu items. 
    6467     * 
    65      * The function loops through all of the registeres buttons and creates menu items out of them. 
     68     * The function loops through all of the registered buttons and creates menu items out of them. 
    6669     * The "registered buttons" are simply wrappers for admin bar menu items. The only difference, is 
    6770     * that the registered buttons take two additional arguments that are used to route the links to 
    6871     * the correct functions with the correct parameters. 
    6972     * 
    70      * @return bool 
     73     * @return  void 
    7174     */ 
    7275    public function do_items() { 
     
    7477 
    7578        if ( empty( $items ) ) 
    76             return false; 
     79            return; 
    7780 
    7881        // Add the parent item 
     
    8588                // Create the final URL by appending the item key and a nonce, but do it only if the user has not provided a custom url 
    8689                if ( home_url() == $button['href'] ) { 
    87                     $params = array( 
    88                         'afc-key' => $button['id'], 
    89                     ); 
    90  
    91                     $href = add_query_arg( $params, $button['href'] ); 
    92                     $href = wp_nonce_url( $href, 'afc-refresh' ); 
    93                     $href = esc_url( $href ); 
    94  
    95                     $button['href'] = $href; 
     90                    $href = add_query_arg( 'afc-key', $button['id'], $button['href'] ); 
     91                    $button['href'] = esc_url( wp_nonce_url( $href, 'afc-refresh' ) ); 
    9692                } else { 
    9793                    $button['href'] = esc_url( $button['href'] ); 
     
    118114     * may cause unexpected changes for users not expecting to see the item labelled differently or 
    119115     * in a different location. 
     116     * 
     117     * @return  void 
    120118     */ 
    121119    private function _add_main_menu() { 
     
    132130     * Registers a new cache refresh item. 
    133131     * 
    134      * @param $args 
    135      * @return array|bool 
     132     * @param   array   $args   Arguments to setup the item. 
     133     * @return  array|bool      Array of items on success, false on failure. 
    136134     */ 
    137135    public function add_item( $args ) { 
     
    150148     * Gets an a single registered item by key. 
    151149     * 
    152      * @param $key 
    153      * @return array|bool 
     150     * @param   string  $key    ID of the item to retrieve. 
     151     * @return  array|bool      Array representing item on success, false on failure. 
    154152     */ 
    155153    public function retrieve_item( $key ) { 
     
    165163     * Remove a registered fresher cache item. 
    166164     * 
    167      * @param $key 
    168      * @return array|WP_Error 
     165     * @param   string  $key    ID of the item to retrieve. 
     166     * @return  array|WP_Error  Array of items on success, false on failure. 
    169167     */ 
    170168    public function remove_item( $key ) { 
     
    183181     * Sets all items. 
    184182     * 
    185      * @param $buttons 
    186      * @return void 
     183     * @param   array   $buttons    Array of items. 
     184     * @return  void 
    187185     */ 
    188186    public function set_items( $buttons ) { 
     
    193191     * Gets all items. 
    194192     * 
    195      * @return array 
     193     * @return  array   All items. 
    196194     */ 
    197195    public function get_items() { 
     
    217215            return; 
    218216 
    219         $key = sanitize_key( $_GET['afc-key'] ); 
    220  
    221217        // Verify the nonce 
    222218        if ( ! isset( $_GET['_wpnonce'] ) || ! wp_verify_nonce( $_GET['_wpnonce'], 'afc-refresh' ) ) 
    223219            return; 
     220         
     221        // sanitize the key 
     222        $key = sanitize_key( $_GET['afc-key'] ); 
     223 
    224224 
    225225        // Make sure user has permission 
     
    237237        // Call the function 
    238238        $args = $this->get_args( $key ); 
     239         
    239240 
    240241        if ( empty( $args ) ) 
     
    250251     * Get the function associated with the item id. 
    251252     * 
    252      * @param $id 
    253      * @return bool|string 
     253     * @param   string  $id Gets a function associated with an item's ID. 
     254     * @return  bool|string Function name on success, false on failure. 
    254255     */ 
    255256    public function get_function( $id ) { 
     
    260261     * Get the args associated with the item id. 
    261262     * 
    262      * @param $id 
    263      * @return bool|string 
     263     * @param   string  $id ID of the item to retrieve. 
     264     * @return  bool|string Array representing item on success, false on failure. 
    264265     */ 
    265266    public function get_args( $id ) { 
     
    270271     * Get the capability associated with the item id. 
    271272     * 
    272      * @param $id 
    273      * @return bool|string 
     273     * @param   string  $id ID of the item to retrieve. 
     274     * @return  bool|string Capability on success, false on failure. 
    274275     */ 
    275276    public function get_capability( $id ) { 
     
    284285     * security feature in that it allows only registered functions and values are executed. 
    285286     * 
    286      * @param $id 
    287      * @param $value 
    288      * @return bool|string 
     287     * @param   string      $id     ID of the item to retrieve. 
     288     * @param   mixed       $value  Associated value 
     289     * @return  bool|string         Value on success, false on failure. 
    289290     */ 
    290291    private function _get_value( $id, $value ) { 
     
    303304     */ 
    304305    public function add_defaults() { 
     306        // Define each default menu item 
    305307        $default_items = array( 
    306308            array( 
     
    315317                'parent' => 'afc-core-items', 
    316318                'args' => array( true ) 
     319            ), 
     320            array( 
     321                'id' => 'afc-update-term-cache-all', 
     322                'title' => __( 'Term Caches', 'a-fresher-cache' ), 
     323                'function' => 'afc_update_term_cache_all', 
     324                'parent' => 'afc-core-items' 
    317325            ) 
    318326        ); 
    319327 
     328        // Add the individual taxonomy cache updates 
     329        foreach ( get_taxonomies() as $taxonomy ) { 
     330            $taxonomy_object = get_taxonomy( $taxonomy ); 
     331 
     332            $default_items[] = array( 
     333                'id' => 'afc-update-term-cache-' . $taxonomy, 
     334                'title' => __( $taxonomy_object->label, 'a-fresher-cache' ), 
     335                'function' => 'afc_update_taxonomy_term_cache', 
     336                'parent' => 'afc-update-term-cache-all', 
     337                'args' => array( $taxonomy ) 
     338            ); 
     339        } 
     340 
    320341        $default_items = apply_filters( 'afc_default_items', $default_items ); 
    321342 
     343        // Register each menu 
    322344        foreach ( $default_items as $key => $value ) 
    323345            afc_add_item( $value ); 
  • a-fresher-cache/trunk/classes/class-afc-fresher-cache-item.php

    r550038 r559660  
    8989     * Constructs the class. 
    9090     * 
    91      * @param array $args 
     91     * @param   array   $args   See "parse_args" for accepted args. 
    9292     */ 
    9393    public function __construct( $args = array() ) { 
     
    104104     * Handles adding defaults, sanitizes values, and setting the class variables. 
    105105     * 
    106      * @param $args array These values are the same as the add_menu args 
    107      *      'id'        => false 
    108      *      'title'     => false 
    109      *      'parent'    => false 
    110      *      'href'      => false 
    111      *      'group'     => false 
    112      *      'meta'      => array() 
    113      *      'function'  => false 
    114      *      'args'      => array() 
     106     * @param   array   $args  These values are the same as the add_menu args 
     107     *  'id'        => false 
     108     *  'title'     => false 
     109     *  'parent'    => false 
     110     *  'href'      => false 
     111     *  'group'     => false 
     112     *  'meta'      => array() 
     113     *  'function'  => false 
     114     *  'args'      => array() 
    115115     *      'capability'=> 'edit_theme_options' 
    116116     *      'no_href'   => false 
    117      * @return array 
     117     * @return  array           The validated/sanitized values. 
    118118     */ 
    119119    public function parse_args( $args ) { 
     
    161161     * Add an item to the main global variable to hold the refresh item. 
    162162     * 
    163      * @param $args 
    164      * @return bool 
     163     * @param   array   $args   Arrays of args defined in "parse_args". 
     164     * @return  bool            True on success, false on failure. 
    165165     */ 
    166166    public function add_refresh_item( $args ) { 
     
    187187     * Set a class variable. 
    188188     * 
    189      * @param $arg_name 
    190      * @param $value 
    191      * @return void 
     189     * @param   string  $arg_name   Name of the class variable to set. 
     190     * @param   mixed   $value      Value to set the variable to. 
     191     * @return  void 
    192192     */ 
    193193    public function set_arg( $arg_name, $value ) { 
     
    201201     * Get a class variable. 
    202202     * 
    203      * @param $arg_name 
    204      * @return array|WP_Error 
     203     * @param   string  $arg_name   Name of variable to get. 
     204     * @return  mixed|WP_Error      Value on success, WP_Error on failure. 
    205205     */ 
    206206    public function get_arg( $arg_name ) { 
  • a-fresher-cache/trunk/readme.txt

    r550046 r559660  
    44Tags: cache, admin bar 
    55Requires at least: 3.3 
    6 Tested up to: 3.4 RC1 
    7 Stable tag: 0.1 
     6Tested up to: 3.4 
     7Stable tag: 0.1.1 
    88License: GPLv2 or later 
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html 
     
    7777== Changelog == 
    7878 
     79= 0.1.1 = 
     80* Functions for removing transients 
     81* Documentation updates 
     82* Verified compatibility with 3.4 
     83 
    7984= 0.1 = 
    8085* Initial release 
Note: See TracChangeset for help on using the changeset viewer.