WordPress.org

Plugin Directory

Changeset 1788719


Ignore:
Timestamp:
12/18/17 11:34:20 (5 weeks ago)
Author:
hideokamoto
Message:

update v4.4.0

Location:
c3-cloudfront-clear-cache/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • c3-cloudfront-clear-cache/trunk/c3-cloudfront-clear-cache.php

    r1739459 r1788719  
    22/* 
    33 * Plugin Name: C3 Cloudfront Cache Controller 
    4  * Version: 4.3.1 
     4 * Version: 4.4.0 
    55 * Plugin URI:https://github.com/megumiteam/C3-Cloudfront-Clear-Cache 
    66 * Description:This is simple plugin that clear all cloudfront cache if you publish posts. 
     
    9292            return; 
    9393        } 
     94        $result = false; 
    9495        if ( $this->is_trust_post_param( C3_Base::C3_AUTHENTICATION ) ) { 
    9596            $options = $this->_esc_setting_param( $_POST[ C3_Base::OPTION_NAME ] ); 
     
    109110            } 
    110111        } 
    111  
     112        if ( $result ) { 
     113            if ( is_wp_error( $result ) ) { 
     114                $this->_show_error( $result ); 
     115            } else { 
     116                // $this->_show_result( $result ); 
     117            } 
     118        } 
     119    } 
     120 
     121    /** 
     122     * Show error message on wp-admin 
     123     * 
     124     * @access private 
     125     * @param WP_Error $error Wp_error object. 
     126     * @since 4.4.0 
     127     **/ 
     128    private function _show_error( WP_Error $error ) { 
     129        $messages = $error->get_error_messages(); 
     130        $codes = $error->get_error_codes(); 
     131        $code = esc_html( $codes[0] ); 
     132        ?> 
     133        <div class='error'><ul> 
     134                <?php foreach ( $messages as $key => $message ) : ?> 
     135                    <li> 
     136                        <b><?php echo esc_html( $code );?></b> 
     137                        : <?php echo esc_html( $message );?> 
     138                    </li> 
     139                <?php endforeach; ?> 
     140            </ul></div> 
     141        <?php 
    112142    } 
    113143 
     
    165195        $invalidator = C3_Invalidation::get_instance(); 
    166196        $result = $invalidator->invalidation( $post ); 
     197        return $result; 
    167198    } 
    168199} 
  • c3-cloudfront-clear-cache/trunk/module/base.php

    r1525076 r1788719  
    6464 
    6565    /** 
     66     * Check is AMIMOTO Managed mode 
     67     * 
     68     * @return bool 
     69     * @since 4.4.0 
     70     */ 
     71    public static function is_amimoto_managed() { 
     72        if ( isset( $_SERVER['HTTP_X_AMIMOTO_MANAGED'] ) && $_SERVER['HTTP_X_AMIMOTO_MANAGED'] ){ 
     73            return true; 
     74        } 
     75        return false; 
     76    } 
     77 
     78    /** 
    6679     * Check is multisite 
    6780     * 
  • c3-cloudfront-clear-cache/trunk/module/model/client-v2.php

    r1508667 r1788719  
    6868     * Create Credentials Object 
    6969     * 
    70      * @return Object (Aws\Common\Credentials\Credentials) 
     70     * @return array (Aws\Common\Credentials\Credentials) | WP_Error 
    7171     * @since 4.0.0 
    7272     * @access public 
     
    8787        } 
    8888        if ( is_wp_error( $e ) ) { 
     89            if ( $this->is_amimoto_managed() ) { 
     90                return array(); 
     91            } 
    8992            return $e; 
    9093        } 
     
    105108     * @access public 
    106109     */ 
    107     public function create_invalidation_query( $options, $post = false ) { 
     110    public function create_invalidation_query( $dist_id, $options, $post = false ) { 
    108111        $items = $this->get_invalidation_items( $options, $post ); 
    109112 
    110113        return array( 
    111             'DistributionId' => esc_attr( $options['distribution_id'] ), 
     114            'DistributionId' => esc_attr( $dist_id ), 
    112115            'Paths' => array( 
    113116                'Quantity' => count( $items ), 
  • c3-cloudfront-clear-cache/trunk/module/model/client-v3.php

    r1508667 r1788719  
    109109     * @access public 
    110110     */ 
    111     public function create_invalidation_query( $options, $post = false ) { 
     111    public function create_invalidation_query( $dist_id, $options, $post = false ) { 
    112112        $items = $this->get_invalidation_items( $options, $post ); 
    113113 
    114114        return array( 
    115             'DistributionId' => esc_attr( $options['distribution_id'] ), 
     115            'DistributionId' => esc_attr( $dist_id ), 
    116116            'InvalidationBatch' => array( 
    117117                'CallerReference' => uniqid(), 
  • c3-cloudfront-clear-cache/trunk/module/model/invalidation.php

    r1739459 r1788719  
    105105    } 
    106106 
     107    /* 
     108     * Get CloudFront Distribution Id 
     109     * 
     110     * @return string | WP_Error 
     111     * @since 4.4.0 
     112     * @access private 
     113     */ 
     114    private function _get_dist_id() { 
     115        if ( $this->is_amimoto_managed() && defined( 'AMIMOTO_CDN_ID' ) ) { 
     116            return AMIMOTO_CDN_ID; 
     117        } 
     118        $options = $this->get_c3_options(); 
     119        if ( ! isset( $options['distribution_id'] ) || ! $options['distribution_id'] ) { 
     120            return new WP_Error( 'C3 Invalidation Error', 'Distribution ID is not defined.' ); 
     121        } 
     122        return $options['distribution_id']; 
     123    } 
     124 
    107125    /** 
    108126     * Create Invalidation Request 
     
    113131     */ 
    114132    public function invalidation( $post = false ) { 
     133 
    115134        $key = self::C3_INVALIDATION_KEY; 
    116135        if ( c3_is_later_than_php_55() ) { 
     
    120139        } 
    121140 
     141        $dist_id = $this->_get_dist_id(); 
     142        if ( is_wp_error( $dist_id ) ) { 
     143            return $dist_id; 
     144        } 
    122145        $options = $this->get_c3_options(); 
    123         if ( ! isset( $options['distribution_id'] ) || ! $options['distribution_id'] ) { 
    124             return new WP_Error( 'C3 Invalidation Error', 'Distribution ID is not defined.' ); 
    125         } 
    126         $query = $sdk->create_invalidation_query( $options, $post ); 
     146        $query = $sdk->create_invalidation_query( $dist_id, $options, $post ); 
    127147        if ( apply_filters( 'c3_invalidation_flag', get_transient( $key ) ) ) { 
    128148            $this->_register_cron_event( $query ); 
     
    162182     * @access private 
    163183     * @since 4.3.0 
    164      * @return boolean | WP_Error 
     184     * @return array | WP_Error 
    165185     **/ 
    166186    private function _do_invalidation( $cf_client, $query ) { 
     
    168188            set_transient( self::C3_INVALIDATION_KEY , true , apply_filters( 'c3_invalidation_interval', 1 ) * 60 ); 
    169189            $result = $cf_client->createInvalidation( $query ); 
    170             return true; 
     190            return $result; 
    171191        } catch ( Aws\CloudFront\Exception\TooManyInvalidationsInProgressException $e ) { 
    172192            error_log( $e->__toString( ) , 0 ); 
     
    179199        } catch ( Exception $e ) { 
    180200            $e = new WP_Error( 'C3 Invalidation Error', $e->getMessage() ); 
    181             error_log( $e->get_error_messages() , 0 ); 
     201            error_log( print_r( $e->get_error_messages(), true ) , 0 ); 
    182202            return $e; 
    183203        } 
  • c3-cloudfront-clear-cache/trunk/readme.txt

    r1739459 r1788719  
    44Tags: AWS,CDN,CloudFront 
    55Requires at least: 4.3.1 
    6 Tested up to: 4.8.2 
    7 Stable tag: 4.3.1 
     6Tested up to: 4.9.1 
     7Stable tag: 4.4.0 
    88License: GPLv3 or later 
    99License URI: http://www.gnu.org/licenses/gpl-3.0.html 
     
    3434 
    3535== Changelog == 
     36 
     37= 4.4.0 = 
     38* Fix small bug 
     39* Add some feature for AMIMOTO Managed hosting user 
    3640 
    3741= 4.3.1 = 
     
    121125== Upgrade Notice == 
    122126 
    123 = 4.3.1 = 
    124 * Fix cron interval 
    125 * add filters `'c3_invalidation_interval`, `c3_invalidation_cron_interval`, `c3_invalidation_item_limits`. 
    126 * update default invalidation interval & items. 
     127= 4.4.0 = 
     128* Fix small bug 
     129* Add some feature for AMIMOTO Managed hosting user 
Note: See TracChangeset for help on using the changeset viewer.