Plugin Directory

Changeset 2959466


Ignore:
Timestamp:
08/28/2023 03:40:27 PM (2 years ago)
Author:
speedify
Message:

Releasing version 3.6.3

Location:
auto-install-free-ssl
Files:
281 added
13 edited

Legend:

Unmodified
Added
Removed
  • auto-install-free-ssl/trunk/FreeSSLAuto/src/Admin/ForceSSL.php

    r2952902 r2959466  
    106106   
    107107    /**
    108      *
    109      *
    110108     * Force SSL redirect
     109     * Improved since 3.6.3
    111110     *
    112111     * @since 2.0.0
     
    114113    public function force_ssl()
    115114    {
    116         /* Force SSL for javascript */
    117         add_action( 'wp_print_scripts', array( $this, 'force_ssl_javascript' ) );
     115        /* Force SSL for javascript if not WordPress dashboard - improved since 3.6.3 */
     116        if ( !is_admin() ) {
     117            add_action( 'wp_print_scripts', array( $this, 'force_ssl_javascript' ) );
     118        }
    118119        /* Force SSL wordpress redirect */
    119120        add_action(
  • auto-install-free-ssl/trunk/FreeSSLAuto/src/Admin/GenerateSSLmanually.php

    r2952902 r2959466  
    301301     */
    302302    public function pro_version_promotion(){
     303        $why = __( "why?", 'auto-install-free-ssl' );
     304        /* translators: "Let's Encrypt" is a nonprofit SSL certificate authority. */
     305        $ca = __( "Let's Encrypt™", 'auto-install-free-ssl' );
     306
     307        /* translators: %s: Name of the SSL certificate authority, e.g., Let's Encrypt */
     308        $explanation = sprintf(__( "The validity of %s free SSL is 90 days. They recommend renewing 30 days before expiry.", 'auto-install-free-ssl' ), $ca);
     309
     310        /* translators: "Let's Encrypt" is a nonprofit SSL certificate authority. */
     311        $explanation .= "\n\n" . __( "The validity period of free SSL certificates being 90 days is not a trial but rather a design choice of Let's Encrypt™ that prioritizes security. With shorter validity periods, Let's Encrypt™ encourages frequent certificate renewal, ensuring that websites always have up-to-date and secure certificates. This approach reduces the potential impact of compromised certificates.", 'auto-install-free-ssl' );
     312
    303313        /* translators: %s: First name of the admin user */
    304         $text = sprintf(__( 'Hello %s, this FREE version requires manual SSL renewal every 60 days.', 'auto-install-free-ssl' ), aifs_admin_first_name());
     314        $text = sprintf(__( 'Hello %s, this FREE version requires manual SSL renewal every 60 days.', 'auto-install-free-ssl' ), aifs_admin_first_name()) . ' (<abbr title="'. $explanation .'">'. $why .'</abbr>)';
    305315        //$text = sprintf(__("Tired of renewing & installing SSL certificates manually every 60 days? Try the Premium Version and let them happen automatically!", 'auto-install-free-ssl'));
    306316        $style = "";
  • auto-install-free-ssl/trunk/FreeSSLAuto/src/Admin/HomeOptions.php

    r2952902 r2959466  
    223223        $start_time = get_option( 'aifs_comparison_table_promo_start_time' );
    224224       
    225         if ( $this->factory->is_cpanel() && time() > strtotime( "August 19, 2023" ) && time() < strtotime( "September 19, 2023" ) ) {
    226             $coupon_code = false;
     225        if ( $this->factory->is_cpanel() && time() < $start_time + AIFS_COUNTDOWN_DURATION && (get_option( 'aifs_premium_plan_selected' ) >= 1 && time() < strtotime( "January 1, 2024" ) || time() > strtotime( "November 1, 2022" ) && time() < strtotime( "January 1, 2024" )) ) {
    227226            echo  '<div id="aifs-promo" class="aifs-promo"><p style="font-size: medium; margin: 0;">' ;
    228227            echo  '<span class="dashicons dashicons-arrow-down-alt" style="font-size: xx-large; color: #5F97FB;"></span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' ;
    229             echo  '<span class="expires-in" style="margin-right: 1%;">Limited time offer</span> 30% discount coupon: SUMMER_30, 40% discount coupon (lifetime only): SUMMER_40' ;
    230             echo  '</p></div>' ;
    231         } else {
    232            
    233             if ( $this->factory->is_cpanel() && time() < $start_time + AIFS_COUNTDOWN_DURATION && (get_option( 'aifs_premium_plan_selected' ) >= 1 && time() < strtotime( "January 1, 2024" ) || time() > strtotime( "November 1, 2022" ) && time() < strtotime( "January 1, 2024" )) ) {
     228           
     229            if ( time() > strtotime( "August 19, 2023" ) && time() < strtotime( "September 22, 2023" ) ) {
     230                $coupon_code = false;
     231                echo  '30% discount: SUMMER_30, 40% discount coupon (lifetime only): SUMMER_40' ;
     232            } else {
    234233                $coupon_code = "20AutoInstall";
    235                 echo  '<div id="aifs-promo" class="aifs-promo"><p style="font-size: medium; margin: 0;">' ;
    236                 echo  '<span class="dashicons dashicons-arrow-down-alt" style="font-size: xx-large; color: #5F97FB;"></span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' ;
    237234                $percentage = __( "20%", 'auto-install-free-ssl' );
    238235                /* translators: %1$s: HTML code to make the color red of the text '%2$s discount!'. Please keep its order the same.    %2$s: Discount percentage (includes % sign) */
    239236                echo  sprintf( __( 'Select any Pro plan asap to grab a %1$s %2$s discount!', 'auto-install-free-ssl' ), "<span style='color: red;'>", $percentage ) . "</span>" ;
    240                 echo  '<img src="' . AIFS_URL . 'assets/img/fire.webp" style="margin-left: 2%; width 20px; height: 20px;"><span class="expires-in">' . __( "expires in", 'auto-install-free-ssl' ) . ' <span id="countdown" style=""></span></span>' ;
    241                 echo  '</p></div>' ;
    242                 echo  '<script type="text/javascript">' . $this->countdown_js_script() . '</script>' ;
    243                 //add_action( 'admin_enqueue_scripts', array($this, 'countdown_js_script') );
    244             } else {
    245                 $coupon_code = false;
    246             }
    247        
     237            }
     238           
     239            echo  '<img src="' . AIFS_URL . 'assets/img/fire.webp" style="margin-left: 2%; width 20px; height: 20px;"><span class="expires-in">' . __( "expires in", 'auto-install-free-ssl' ) . ' <span id="countdown" style=""></span></span>' ;
     240            echo  '</p></div>' ;
     241            echo  '<script type="text/javascript">' . $this->countdown_js_script() . '</script>' ;
     242            //add_action( 'admin_enqueue_scripts', array($this, 'countdown_js_script') );
     243        } else {
     244            $coupon_code = false;
    248245        }
    249246       
  • auto-install-free-ssl/trunk/FreeSSLAuto/src/Controller.php

    r2946395 r2959466  
    4848    /**
    4949     * Make array of the domains pointing to the same document root of a domain.
    50      * Improved since 3.6.0
     50     * Improved since 3.6.3
    5151     * @param array $domains_array_raw
    5252     * @param array $domains_to_exclude
     
    7373        foreach ( $domains_array as $key => $domain ) {
    7474           
    75             if ( false === strpos( $domain, '*.' ) ) {
     75            if ( false === strpos( $domain, '*.' ) && (bool) get_option( 'aifs_selected_verification_method_dns01' ) === false ) {
    7676                //check if domain is online, only for non-wildcard domains
    7777                $socket = @fsockopen(
     
    8686                    //Domain is online
    8787                   
    88                     if ( strpos( $domain, 'mail.' ) !== false && strpos( $domain, 'mail.' ) === 0 ) {
     88                    if ( (bool) get_option( 'aifs_verify_ip_for_mail_dot_domain_alias_only' ) === false || strpos( $domain, 'mail.' ) !== false && strpos( $domain, 'mail.' ) === 0 ) {
    8989                        $dns = dns_get_record( $domain, DNS_A );
    9090                       
  • auto-install-free-ssl/trunk/assets/css/aifs-admin.css

    r2929749 r2959466  
    588588    line-height: 30px;
    589589}
     590
     591/* Tooltip container */
     592abbr {
     593    position: relative;
     594    cursor: help;
     595}
  • auto-install-free-ssl/trunk/auto-install-free-ssl.php

    r2952902 r2959466  
    77 * Plugin URI:  https://freessl.tech
    88 * Description: Generate & install Free SSL Certificates, activate force HTTPS redirect with one click to fix insecure links & mixed content warnings, and get automatic Renewal Reminders.
    9  * Version:     3.6.2
     9 * Version:     3.6.3
    1010 * Requires at least: 4.1
    1111 * Requires PHP:      5.6
  • auto-install-free-ssl/trunk/freemius/includes/class-freemius.php

    r2934344 r2959466  
    15321532            $this->add_filter( 'after_code_type_change', array( &$this, '_after_code_type_change' ) );
    15331533
    1534             add_action( 'admin_init', array( &$this, '_add_trial_notice' ) );
    1535             add_action( 'admin_init', array( &$this, '_add_affiliate_program_notice' ) );
     1534            add_action( 'admin_init', array( &$this, '_add_trial_notice' ) ); // @phpstan-ignore-line
     1535            add_action( 'admin_init', array( &$this, '_add_affiliate_program_notice' ) ); // @phpstan-ignore-line
    15361536            add_action( 'admin_enqueue_scripts', array( &$this, '_enqueue_common_css' ) );
    15371537
     
    16431643         * @since 2.2.3
    16441644         *
    1645          * @return string
     1645         * @return void
    16461646         */
    16471647        static function _prepend_fs_allow_updater_and_dialog_flag_url_param() {
     
    34933493         */
    34943494        static function get_unfiltered_site_url( $blog_id = null, $strip_protocol = false, $add_trailing_slash = false ) {
     3495            $url = ( ! is_multisite() && defined( 'WP_SITEURL' ) ) ? WP_SITEURL : self::get_site_url_from_wp_option( $blog_id );
     3496
     3497            if ( $strip_protocol ) {
     3498                $url = fs_strip_url_protocol( $url );
     3499            }
     3500
     3501            if ( $add_trailing_slash ) {
     3502                $url = trailingslashit( $url );
     3503            }
     3504
     3505            return $url;
     3506        }
     3507
     3508        /**
     3509         * @author Leo Fajardo (@leorw)
     3510         * @since 2.6.0
     3511         *
     3512         * @param int|null $blog_id
     3513         *
     3514         * @return string
     3515         */
     3516        private static function get_site_url_from_wp_option( $blog_id = null ) {
    34953517            global $wp_filter;
    34963518
     
    35173539                    $wp_filter[ $hook_name ] = $site_url_filter;
    35183540                }
    3519             }
    3520 
    3521             if ( $strip_protocol ) {
    3522                 $url = fs_strip_url_protocol( $url );
    3523             }
    3524 
    3525             if ( $add_trailing_slash ) {
    3526                 $url = trailingslashit( $url );
    35273541            }
    35283542
     
    40814095
    40824096            if ( function_exists( 'random_int' ) ) {
    4083                 $random = random_int( $min, $max );
     4097                $random = random_int( $min, $max ); // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.random_intFound
    40844098            } else {
    40854099                $random = rand( $min, $max );
     
    44004414
    44014415            // Get the UTF encoded domain name.
    4402             $domain = idn_to_ascii( $parts[1] ) . '.';
     4416            /**
     4417             * @note - The check of `defined('...')` is there to account for PHP servers compiled with some older version of ICU where the constants are not defined.
     4418             * @author - @swashata
     4419             */
     4420            $is_new_idn_available = (
     4421                version_compare( PHP_VERSION, '5.6.40') > 0 &&
     4422                defined( 'IDNA_DEFAULT' ) &&
     4423                defined( 'INTL_IDNA_VARIANT_UTS46' )
     4424            );
     4425            if ( $is_new_idn_available ) {
     4426                $domain = idn_to_ascii( $parts[1], IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46 );
     4427            } else {
     4428                $domain = idn_to_ascii( $parts[1] );  // phpcs:ignore PHPCompatibility.ParameterValues.NewIDNVariantDefault.NotSet
     4429            }
     4430
     4431            $domain = $domain . '.';
    44034432
    44044433            return ( checkdnsrr( $domain, 'MX' ) || checkdnsrr( $domain, 'A' ) );
     
    999110020         * @param string $caller
    999210021         *
    9993          * @return string
     10022         * @return void
    999410023         */
    999510024        function set_basename( $is_premium, $caller ) {
     
    1241712446            $install_2_blog_map = array();
    1241812447            foreach ( $blog_2_install_map as $blog_id => $install ) {
    12419                 $params[] = array( 'id' => $install->id );
     12448                $params[] = array( 'id' => $install->id, 'url' => $install->url );
    1242012449
    1242112450                $install_2_blog_map[ $install->id ] = $blog_id;
     
    1669816727         * @return FS_User|false
    1669916728         */
    16700         static function _get_user_by_email( $email ) {
     16729        public static function _get_user_by_email( $email ) {
    1670116730            self::$_static_logger->entrance();
    1670216731
     
    1787217901         * @param bool      $redirect
    1787317902         *
    17874          * @return string If redirect is `false`, returns the next page the user should be redirected to.
     17903         * @return void
    1787517904         */
    1787617905        private function install_many_pending_with_user(
     
    2326623295
    2326723296        /**
     23297         * Adds CSS classes for the body tag in the admin.
     23298         *
     23299         * @param string $classes Space-separated string of class names.
     23300         *
     23301         * @return string $classes FS Admin body tag class names.
     23302         */
     23303        public function fs_addons_body_class( $classes ) {
     23304            $classes .= ' plugins-php';
     23305            return $classes;
     23306        }
     23307
     23308        /**
    2326823309         * Account page resources load.
    2326923310         *
     
    2328123322                wp_enqueue_script( 'plugin-install' );
    2328223323                add_thickbox();
    23283 
    23284                 function fs_addons_body_class( $classes ) {
    23285                     $classes .= ' plugins-php';
    23286 
    23287                     return $classes;
    23288                 }
    23289 
    23290                 add_filter( 'admin_body_class', 'fs_addons_body_class' );
     23324                add_filter( 'admin_body_class', array( $this, 'fs_addons_body_class' ) );
    2329123325            }
    2329223326
     
    2342323457            wp_enqueue_script( 'plugin-install' );
    2342423458            add_thickbox();
    23425 
    23426             function fs_addons_body_class( $classes ) {
    23427                 $classes .= ' plugins-php';
    23428 
    23429                 return $classes;
    23430             }
    23431 
    23432             add_filter( 'admin_body_class', 'fs_addons_body_class' );
     23459            add_filter( 'admin_body_class', array( $this, 'fs_addons_body_class' ) );
    2343323460
    2343423461            if ( ! $this->is_registered() && $this->is_org_repo_compliant() ) {
  • auto-install-free-ssl/trunk/freemius/includes/debug/class-fs-debug-bar-panel.php

    r2750244 r2959466  
    1111    }
    1212
    13     /**
    14      * Extends Debug Bar plugin by adding a panel to show all Freemius API requests.
    15      *
    16      * @author Vova Feldman (@svovaf)
    17      * @since  1.1.7.3
    18      *
    19      * Class Freemius_Debug_Bar_Panel
    20      */
    21     class Freemius_Debug_Bar_Panel extends Debug_Bar_Panel {
    22         function init() {
    23             $this->title( 'Freemius' );
    24         }
     13    if ( class_exists( 'Debug_Bar_Panel' ) ) {
    2514
    26         static function requests_count() {
    27             if ( class_exists( 'Freemius_Api_WordPress' ) ) {
    28                 $logger = Freemius_Api_WordPress::GetLogger();
    29             } else {
    30                 $logger = array();
     15        /**
     16         * Extends Debug Bar plugin by adding a panel to show all Freemius API requests.
     17         *
     18         * @author Vova Feldman (@svovaf)
     19         * @since  1.1.7.3
     20         *
     21         * Class Freemius_Debug_Bar_Panel
     22         */
     23        class Freemius_Debug_Bar_Panel extends Debug_Bar_Panel {
     24
     25            public function init() {
     26                $this->title( 'Freemius' ); // @phpstan-ignore-line
    3127            }
    3228
    33             return number_format( count( $logger ) );
    34         }
     29            public static function requests_count() {
     30                if ( class_exists( 'Freemius_Api_WordPress' ) ) {
     31                    $logger = Freemius_Api_WordPress::GetLogger();
     32                } else {
     33                    $logger = array();
     34                }
    3535
    36         static function total_time() {
    37             if ( class_exists( 'Freemius_Api_WordPress' ) ) {
    38                 $logger = Freemius_Api_WordPress::GetLogger();
    39             } else {
    40                 $logger = array();
     36                return number_format( count( $logger ) );
    4137            }
    4238
    43             $total_time = .0;
    44             foreach ( $logger as $l ) {
    45                 $total_time += $l['total'];
     39            public static function total_time() {
     40                if ( class_exists( 'Freemius_Api_WordPress' ) ) {
     41                    $logger = Freemius_Api_WordPress::GetLogger();
     42                } else {
     43                    $logger = array();
     44                }
     45
     46                $total_time = .0;
     47                foreach ( $logger as $l ) {
     48                    $total_time += $l['total'];
     49                }
     50
     51                return number_format( 100 * $total_time, 2 ) . ' ' . fs_text_x_inline( 'ms', 'milliseconds' );
    4652            }
    4753
    48             return number_format( 100 * $total_time, 2 ) . ' ' . fs_text_x_inline( 'ms', 'milliseconds' );
    49         }
    50 
    51         function render() {
    52             ?>
    53             <div id='debug-bar-php'>
    54                 <?php fs_require_template( '/debug/api-calls.php' ) ?>
    55                 <br>
    56                 <?php fs_require_template( '/debug/scheduled-crons.php' ) ?>
    57                 <br>
    58                 <?php fs_require_template( '/debug/plugins-themes-sync.php' ) ?>
    59                 <br>
    60                 <?php fs_require_template( '/debug/logger.php' ) ?>
    61             </div>
    62         <?php
     54            public function render() {
     55                ?>
     56                <div id='debug-bar-php'>
     57                    <?php fs_require_template( '/debug/api-calls.php' ) ?>
     58                    <br>
     59                    <?php fs_require_template( '/debug/scheduled-crons.php' ) ?>
     60                    <br>
     61                    <?php fs_require_template( '/debug/plugins-themes-sync.php' ) ?>
     62                    <br>
     63                    <?php fs_require_template( '/debug/logger.php' ) ?>
     64                </div>
     65            <?php
     66            }
    6367        }
    6468    }
  • auto-install-free-ssl/trunk/freemius/includes/fs-core-functions.php

    r2934344 r2959466  
    12051205         * @param string $slug    Module slug for overrides.
    12061206         *
    1207          * @return string
     1207         * @return void
    12081208         */
    12091209        function fs_esc_js_echo_x_inline( $text, $context, $key = '', $slug = 'freemius' ) {
  • auto-install-free-ssl/trunk/freemius/includes/sdk/FreemiusWordPress.php

    r2892748 r2959466  
    474474                        if ( filter_var( $matches[1], FILTER_VALIDATE_IP ) ) {
    475475                            if ( strlen( inet_pton( $matches[1] ) ) === 16 ) {
    476 //                          error_log('Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server.');
    477                                 // Hook to an action triggered just before cURL is executed to resolve the IP version to v4.
     476                                /**
     477                                 * error_log('Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server.');
     478                                 * Hook to an action triggered just before cURL is executed to resolve the IP version to v4.
     479                                 *
     480                                 * @phpstan-ignore-next-line
     481                                 */
    478482                                add_action( 'http_api_curl', 'Freemius_Api_WordPress::CurlResolveToIPv4', 10, 1 );
    479483
  • auto-install-free-ssl/trunk/freemius/start.php

    r2934344 r2959466  
    1616     * @var string
    1717     */
    18     $this_sdk_version = '2.5.10';
     18    $this_sdk_version = '2.5.11';
    1919
    2020    #region SDK Selection Logic --------------------------------------------------------------------
  • auto-install-free-ssl/trunk/freemius/templates/forms/license-activation.php

    r2886132 r2959466  
    5353        $all_sites = Freemius::get_sites();
    5454
    55         $subsite_data_by_install_id = array();
    56         $install_url_by_install_id  = array();
     55        $all_site_details          = array();
     56        $subsite_url_by_install_id = array();
     57        $install_url_by_install_id = array();
    5758
    5859        foreach ( $all_sites as $site ) {
     
    6768
    6869            if ( is_object( $install ) ) {
    69                 if ( isset( $subsite_data_by_install_id[ $install->id ] ) ) {
    70                     $clone_subsite_data = $subsite_data_by_install_id[ $install->id ];
    71                     $clone_install_url  = $install_url_by_install_id[ $install->id ];
     70                if ( isset( $subsite_url_by_install_id[ $install->id ] ) ) {
     71                    $clone_subsite_url = $subsite_url_by_install_id[ $install->id ];
     72                    $clone_install_url = $install_url_by_install_id[ $install->id ];
    7273
    7374                    if (
     
    7879                         * @since 2.5.0
    7980                         */
    80                         fs_strip_url_protocol( untrailingslashit( $clone_install_url ) ) === fs_strip_url_protocol( untrailingslashit( $clone_subsite_data['url'] ) ) ||
     81                        fs_strip_url_protocol( untrailingslashit( $clone_install_url ) ) === fs_strip_url_protocol( untrailingslashit( $clone_subsite_url ) ) ||
    8182                        fs_strip_url_protocol( untrailingslashit( $install->url ) ) !== fs_strip_url_protocol( untrailingslashit( $site_details['url'] ) )
    8283                    ) {
     
    8990                }
    9091
    91                 $subsite_data_by_install_id[ $install->id ] = $site_details;
    92                 $install_url_by_install_id[ $install->id ]  = $install->url;
    93             }
     92                $subsite_url_by_install_id[ $install->id ] = $site_details['url'];
     93                $install_url_by_install_id[ $install->id ] = $install->url;
     94            }
     95
     96            $all_site_details[] = $site_details;
    9497        }
    9598
     
    97100            $vars = array(
    98101                'id'                  => $fs->get_id(),
    99                 'sites'               => array_values( $subsite_data_by_install_id ),
     102                'sites'               => $all_site_details,
    100103                'require_license_key' => true
    101104            );
  • auto-install-free-ssl/trunk/readme.txt

    r2952911 r2959466  
    77Requires at least: 4.1
    88Tested up to: 6.3
    9 Stable tag: 3.6.2
     9Stable tag: 3.6.3
    1010Requires PHP: 5.6
    1111Development location: https://freessl.tech
     
    2727
    2828
    29 `    348,500+ DOWNLOADS!!`
     29`    354,500+ DOWNLOADS!!`
    3030
    3131
Note: See TracChangeset for help on using the changeset viewer.