Clearfy Business is a paid package of components for the popular free WordPress plugin named Clearfy. You get access to all paid components at one price.', 'clearfy' ) ?>
-
- create ticket in hot support that we responded instantly.', 'clearfy' ), $page_hot_support_url ); ?>
-
-
-
-
- , Alexander Kovalev
- * @copyright (c) 17.08.2019, Webcraftic
- * @version 1.0
- */
-
-class WCL_Page extends WBCR\Factory_Templates_134\Pages\PageBase {
-
- /**
- * Requests assets (js and css) for the page.
- *
- * @return void
- * @since 1.0.0
- * @see FactoryPages480_AdminPage
- *
- */
- public function assets($scripts, $styles)
- {
- parent::assets($scripts, $styles);
-
- $this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/components.css');
-
- /**
- * Подгружаем стили для вижета оптимизации изображений, если не установли плагин оптимизации изображений
- */
- if( !defined('WIO_PLUGIN_ACTIVE') ) {
- $this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/base-statistic.css');
- }
-
- $this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
- $this->scripts->add(WCL_PLUGIN_URL . '/admin/assets/js/general.js', [], 'wclearfy-general');
-
-
- $params = array(
- //'ajaxurl' => admin_url('admin-ajax.php'),
- 'flush_cache_url' => $this->getActionUrl('flush-cache-and-rules', array('_wpnonce' => wp_create_nonce('wbcr_factory_' . $this->getResultId() . '_flush_action'))),
- 'ajax_nonce' => wp_create_nonce('wbcr_clearfy_ajax_quick_start_nonce'),
- 'import_options_nonce' => wp_create_nonce('wbcr_clearfy_import_options'),
- 'i18n' => array(
- 'success_update_settings' => __('Settings successfully updated!', 'clearfy'),
- 'unknown_error' => __('During the setup, an unknown error occurred, please try again or contact the plugin support.', 'clearfy')
- )
- );
- $this->scripts->localize('wbcr_clearfy_ajax', $params);
- }
-
- /**
- * Действие выполняется для всех страниц Clearfy и его компонентах.
- * Это простое предложение перейти на PRO версию.
- */
- public function multisiteProAction()
- {
- if( is_multisite() && $this->plugin->isNetworkActive() ) {
-
- $license_page_url = $this->getBaseUrl('clearfy_license');
- $upgrade_url = $this->plugin->get_support()->get_pricing_url(true, 'multisite_save_settings');
-
- $html = '
';
- $html .= '
';
- $html .= '
' . __('Upgrade to Clearfy Business', 'wbcr_factory_templates_134') . '
';
- $html .= '
' . __('Oops... Sorry for the inconvenience caused!', 'wbcr_factory_templates_134') . '
';
- $html .= '
' . __('Complete multisite support is available in Clearfy Business and Clearfy Business Revolution packages only!', 'wbcr_factory_templates_134') . '
';
- $html .= '
' . __('You can activate the plugin on each website and use it with zero limitations. But you can’t save the plugin’s settings under the Super Administrator role!', 'wbcr_factory_templates_134') . '
'
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'protect_author_get',
- 'title' => __( 'Hide author login', 'clearfy' ),
- 'layout' => array( 'hint-type' => 'icon' ),
- 'hint' => __( 'An attacker can find out the author\'s login, using a similar request to get your site. mysite.com/?author=1', 'clearfy' ) . ' Clearfy: ' . __( 'Sets the redirect to exclude the possibility of obtaining a login.', 'clearfy' ),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'change_login_errors',
- 'title' => __( 'Hide errors when logging into the site', 'clearfy' ),
- 'layout' => array( 'hint-type' => 'icon' ),
- 'hint' => __( 'WP by default shows whether you entered a wrong login or incorrect password, which allows attackers to understand if there is a certain user on the site, and then start searching through the passwords.', 'clearfy' ) . ' Clearfy: ' . __( 'Changes in the text of the error so that attackers could not find the login.', 'clearfy' ),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_x_pingback',
- 'title' => __( 'Disable XML-RPC', 'clearfy' ),
- 'layout' => array( 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ),
- 'hint' => __( 'A pingback is basically an automated comment that gets created when another blog links to you. A self-pingback is created when you link to an article within your own blog. Pingbacks are essentially nothing more than spam and simply waste resources.', 'clearfy' ) . ' Clearfy: ' . __( 'Removes the server responses a reference to the xmlrpc file.', 'clearfy' ),
- 'default' => false,
- 'eventsOn' => array(
- 'show' => '#wbcr-clearfy-xml-rpc-danger-message'
- ),
- 'eventsOff' => array(
- 'hide' => '#wbcr-clearfy-xml-rpc-danger-message'
- )
- );
-
- $options[] = array(
- 'type' => 'html',
- 'html' => array( $this, 'xmlRpcDangerMessage' )
- );
-
- //block_xml_rpc
- //disable_xml_rpc_auth
- //remove_xml_rpc_tag
-
- $options[] = array(
- 'type' => 'html',
- 'html' => '
' . __( 'WordPress itself and many plugins shows their version at the public areas of your site. An attacker received this information may be aware of the vulnerabilities found in the version of the WordPress core or plugins.', 'clearfy' ) . '
'
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_html_comments',
- 'title' => __( 'Remove html comments', 'clearfy' ),
- 'layout' => array( 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ),
- 'hint' => __( 'This function will remove all html comments in the source code, except for special and hidden comments. This is necessary to hide the version of installed plugins.', 'clearfy' ) . '
Clearfy: ' . __( 'Remove html comments in source code.', 'clearfy' ),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_meta_generator',
- 'title' => __( 'Remove meta generator', 'clearfy' ) . ' (' . __( 'Recommended', 'clearfy' ) . ')',
- 'layout' => array( 'hint-type' => 'icon' ),
- 'hint' => __( 'Allows attacker to learn the version of WP installed on the site. This meta tag has no useful function.', 'clearfy' ) . ' Clearfy: ' . sprintf( __( 'Removes the meta tag from the %s section', 'clearfy' ), '<head>' ),
- 'default' => false
- );
-
- $form_options = array();
-
- $form_options[] = array(
- 'type' => 'form-group',
- 'items' => apply_filters( 'wbcr_clearfy_defence_form_options', $options, $this ),
- //'cssClass' => 'postbox'
- );
-
- return wbcr_factory_480_apply_filters_deprecated( 'wbcr_clr_defence_form_options', array(
- $form_options,
- $this
- ), '1.3.1', 'wbcr_clearfy_defence_form_options' );
- }
-
- /**
- * Adds an html warning notification html markup.
- */
- public function xmlRpcDangerMessage() {
- ?>
-
-
-
-
- Use this option carefully! Plugins like jetpack may have problems using this option.', 'clearfy' ) ?>
-
- , Github: https://github.com/alexkovalevv
- *
- * @copyright (c) 2018 Webraftic Ltd
- */
- class WCL_LicensePage extends WBCR\Factory_Templates_134\Pages\License {
-
- /**
- * {@inheritdoc}
- *
- * @author Alexander Kovalev
- * @since 1.6.0
- * @var string
- */
- public $id = 'clearfy_license';
-
- /**
- * {@inheritdoc}
- *
- * @author Alexander Kovalev
- * @since 1.6.0
- * @var string
- */
- public $page_parent_page;
-
- /**
- * WCL_LicensePage constructor.
- *
- * @param \Wbcr_Factory480_Plugin $plugin
- *
- * @author Alexander Kovalev
- *
- */
- public function __construct( Wbcr_Factory480_Plugin $plugin ) {
- $this->menu_title = __( 'License', 'robin-image-optimizer' );
- $this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
- $this->plan_name = __( 'Clearfy Business', 'robin-image-optimizer' );
-
- if ( defined( 'WIO_PLUGIN_ACTIVE' ) && ! wrio_is_clearfy_license_activate() ) {
- $this->page_parent_page = 'none';
- }
-
- parent::__construct( $plugin );
-
- /**
- * Adds a new plugin card to license components page
- *
- * @author Alexander Kovalev
- * @since 1.6.2
- */
- add_filter( 'wbcr/clearfy/license/list_components', function ( $components ) {
- $title = 'Free';
- $icon = 'clearfy-premium-icon-256x256--lock.png';
-
- if ( $this->is_premium ) {
- $title = 'Premium';
- $icon = 'clearfy-premium-icon-256x256--default.png';
- }
-
- $components[] = [
- 'name' => 'clearfy',
- 'title' => sprintf( __( 'Clearfy [%s]', 'clearfy' ), $title ),
- 'type' => 'internal',
- 'build' => $this->is_premium ? 'premium' : 'free',
- 'key' => $this->get_hidden_license_key(),
- 'plan' => $this->get_plan(),
- 'expiration_days' => $this->get_expiration_days(),
- 'quota' => $this->is_premium ? $this->premium_license->get_count_active_sites() . ' ' . __( 'of', 'clearfy' ) . ' ' . $this->premium_license->get_sites_quota() : null,
- 'subscription' => $this->is_premium && $this->premium_has_subscription ? sprintf( __( 'Automatic renewal, every %s', '' ), esc_attr( $this->get_billing_cycle_readable() ) ) : null,
- 'url' => 'https://clearfy.pro/',
- 'icon' => WCL_PLUGIN_URL . '/admin/assets/img/' . $icon,
- 'description' => __( 'Public License is a GPLv3 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'clearfy' ),
- 'license_page_id' => 'clearfy_license'
- ];
-
- return $components;
- } );
- }
-
- /**
- * {@inheritdoc}
- *
- * @return string
- * @since 1.6.0
- * @author Alexander Kovalev
- */
- public function get_plan_description() {
- $description = '
' . __( 'Clearfy Business is a paid package of components for the popular free WordPress plugin named Clearfy. You get access to all paid components at one price.', 'clearfy' ) . '
';
- $description .= '
' . __( 'Paid license guarantees that you can download and update existing and future paid components of the plugin.', 'clearfy' ) . '
' . __('Google Fonts and Maps strongly affect your website loading speed. Use settings below to disable or optimize Google fonts and Maps.', 'clearfy') . '
'
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'lazy_load_google_fonts',
- 'title' => __('Google Fonts asynchronous', 'clearfy'),
- 'layout' => array('hint-type' => 'icon'),
- 'hint' => __('By default, WordPress loads Google fonts synchronously, that is, your page will not be fully loaded until Google Fonts are loaded. This algorithm slows down the loading of your page and leads to errors when checking the site in Google Page Speed. Using this option, your Google Fonts will be loaded after your page is fully loaded. This method has a negative — you and visitors of your site will see how the font changes while loading a page, from the system to the downloadable one.', 'clearfy'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'disable_google_fonts',
- 'title' => __('Disable Google Fonts', 'clearfy'),
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
- 'hint' => __('This function stops loading of Open Sans and other fonts used by WordPress and bundled themes (Twenty Twelve, Twenty Thirteen, Twenty Fourteen, Twenty Fifteen, Twenty Sixteen, Twenty Seventeen) from Google Fonts.
-Reasons for not using Google Fonts might be privacy and security, local development or production, blocking of Google’s servers, characters not supported by font, performance.', 'clearfy'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'disable_google_maps',
- 'title' => __('Disable Google maps', 'clearfy'),
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
- 'hint' => __('This function stops loading of Google Maps used by some themes or plugins.
-Reasons for not using Google Maps might be privacy and security, local development or production, blocking of Google’s servers, performance, not necessary, etc.', 'clearfy'),
- 'default' => false,
- 'eventsOn' => array(
- 'show' => '.factory-control-exclude_from_disable_google_maps,.factory-control-remove_iframe_google_maps'
- ),
- 'eventsOff' => array(
- 'hide' => '.factory-control-exclude_from_disable_google_maps,.factory-control-remove_iframe_google_maps'
- )
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_iframe_google_maps',
- 'title' => __('Remove iframe Google maps', 'clearfy'),
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
- 'hint' => __('By default, the "Disable Google Maps" option removes maps inserted with the SCRIPT tag from the page source code. However, you can also cut out all maps inserted via the iframe by enabling this option.', 'clearfy'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'textbox',
- 'way' => 'buttons',
- 'name' => 'exclude_from_disable_google_maps',
- 'title' => __('Exclude pages from Disable Google Maps filter', 'clearfy'),
- 'hint' => __('Posts or Pages IDs separated by a ,', 'clearfy')
- );*/
-
- $form_options = array();
-
- $form_options[] = array(
- 'type' => 'form-group',
- 'items' => $options,
- //'cssClass' => 'postbox'
- );
-
- return apply_filters('wbcr_clr_google_performance_form_options', $form_options, $this);
- }
- }
diff --git a/wp-content/plugins/!clearfy/admin/pages/class-pages-performance.php b/wp-content/plugins/!clearfy/admin/pages/class-pages-performance.php
deleted file mode 100644
index 9951b7b8..00000000
--- a/wp-content/plugins/!clearfy/admin/pages/class-pages-performance.php
+++ /dev/null
@@ -1,477 +0,0 @@
-menu_title = __('Performance', 'clearfy');
- $this->page_menu_short_description = __('Optimization js, css, fonts', 'clearfy');
-
- parent::__construct($plugin);
-
- $this->plugin = $plugin;
- }
-
- public function afterFormSave()
- {
- if( $this->getPopulateOption('disable_gravatars') ) {
- update_option('show_avatars', false);
- } else {
- update_option('show_avatars', true);
- }
- }
-
- public function warningNotice()
- {
- parent::warningNotice();
-
- if( !$this->plugin->getPopulateOption('revisions_disable') && $this->is_post_revision_constant() ) {
- $this->printWarningNotice(__('Warning! In the wp-config.php file, a constant WP_POST_REVISIONS is found, it determines the number of revisions. Delete it so you can change this value through the admin panel.', 'clearfy'));
- }
- }
-
- /**
- * Permalinks options.
- *
- * @return mixed[]
- * @since 1.0.0
- */
- public function getPageOptions()
- {
- $options = [];
-
- $options[] = [
- 'type' => 'html',
- 'html' => '
' . __('Clear the unnecessary scripts', 'clearfy') . '
' . __('This set of settings will help you remove unnecessary links and code from the head section, as well as reduce your website\'s pages weight.', 'clearfy') . '
'
- ];
-
- /*$options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'disable_json_rest_api',
- 'title' => __('Remove REST API Links', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'red'],
- 'hint' => __('The WordPress REST API provides API endpoints for WordPress data types that allow developers to interact with sites remotely by sending and receiving JSON (JavaScript Object Notation) objects. However, a lot of sites don’t use this, and therefore in most cases, it is just unnecessary code.', 'clearfy') . '
Clearfy: ' . __('Removes REST API link tag from the front end and the REST API header link from page requests.', 'clearfy'),
- 'default' => false,
- 'eventsOn' => [
- 'show' => '#wbcr-clearfy-rest-api-danger-message'
- ],
- 'eventsOff' => [
- 'hide' => '#wbcr-clearfy-rest-api-danger-message'
- ]
- ];
-
- $options[] = [
- 'type' => 'html',
- 'html' => [$this, 'restApiDangerMessage']
- ];*/
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'disable_emoji',
- 'title' => __('Disable Emojis', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('Emojis are fun and all, but if you are aren’t using them they actually load a JavaScript file (wp-emoji-release.min.js) on every page of your website. For a lot of businesses, this is not needed and simply adds load time to your site. So we recommend disabling this.', 'clearfy') . '
Clearfy: ' . __('Removes WordPress Emojis JavaScript file (wp-emoji-release.min.js).', 'clearfy'),
- 'default' => false
- ];
-
- /*$options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_jquery_migrate',
- 'title' => __('Remove jQuery Migrate', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'red'],
- 'hint' => __('They started adding jQuery migrate in WordPress 3.6. Most up-to-date frontend code and plugins don’t require jquery-migrate.min.js. In most cases, this simply adds unnecessary load to your site. You can see this running if you launch Chrome Devtools console.', 'clearfy') . '
Clearfy: ' . __('Removes jQuery Migrate JavaScript file (jquery-migrate.min.js).', 'clearfy') . ' -- ' . __('Warning! If there is a broke on your site, disable this option!', 'clearfy') . '',
- 'default' => false
- ];*/
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'disable_embeds',
- 'title' => __('Disable Embeds', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('Embeds were released with WordPress 4.4. This is basically the magic that auto converts your YouTube videos, Tweets, and URLs into pretty previews while you are editing. However, this actually loads a JavaScript file (wp-embed.min.js) on every page of your website. If you don’t care about the auto converting preview (which we don’t), you can disable this across your site.', 'clearfy') . '
Clearfy: ' . __('Remove RSD (Real Simple Discovery) link tag.', 'clearfy'),
- 'default' => false
- ];
-
- /*$options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_dns_prefetch',
- 'title' => __('Remove dns-prefetch', 'clearfy'),
- 'layout' => array('hint-type' => 'icon'),
- 'hint' => sprintf(__('Since version 4.6.1 in WordPress there are new links in the section %s this type of: ', 'clearfy'), 'head') . ' link rel="dns-prefetch" href="//s.w.org"
Clearfy: ' . sprintf(__('Removes dns-prefetch links from the %s section', 'clearfy'), 'head'),
- 'default' => false
- );*/
- /*$options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_rsd_link',
- 'title' => __('Remove RSD Link', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('The above link is used by blog clients. If you edit your site from your browser then you don’t need this. It is also used by some 3rd party applications that utilize XML-RPC requests. In most cases, this is just unnecessary code.', 'clearfy') . ' link rel="EditURI" type="application/rsd+xml" title="RSD"
Clearfy: ' . __('Remove RSD (Real Simple Discovery) link tag.', 'clearfy'),
- 'default' => false
- ];
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_xfn_link',
- 'title' => __('Removing XFN (XHTML Friends Network) Profile Link', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('The profile attribute specifies the metadata profile address. Usually, the browser recognizes the value of this attribute and executes some conventions related to the specified profile. Loading the document itself at the specified address does not really happen, moreover, it may not exist at all.
-In particular, the profile is used for the XFN microformat (XHTML Friends Network) - a way of representing relationships between people using links and rel attributes with different values. WordPress also actively uses profile in its templates.
-', 'clearfy') . '
Clearfy: ' . __('Remove link tag', 'clearfy') . ' link rel="profile" href="http://gmpg.org/xfn/11"',
- 'default' => false
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_wlw_link',
- 'title' => __('Remove wlwmanifest Link', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => 'link rel="wlwmanifest" type="application/wlwmanifest+xml" ' . __('This link is actually used by Windows Live Writer. If you don’t know use Windows Live Writer, which we are guessing you don’t, this is just unnecessary code.', 'clearfy') . '
Clearfy: ' . __('Remove wlwmanifest (Windows Live Writer) link tag.', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_shortlink_link',
- 'title' => __('Remove Shortlink', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => sprintf(__('By default, the following tag shows up in every WordPress install. %s This is used for a shortlink to your pages and posts. However, if you are already using pretty permalinks, such as domain.com/post, then there is no reason to keep this, it is just unnecessary code.', 'clearfy'), ' link rel="shortlink" href="https://domain.com?p=712" ') . '
Clearfy: ' . __('Remove Shortlink link tag.', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_adjacent_posts_link',
- 'title' => __('Remove links to previous, next post', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('If you use Wordpress as a CMS, then you can delete these links, they can only come in handy for a blog.', 'clearfy') . '
Clearfy: ' . __('Remove the previous and next post links within the wp_head of your wordpress theme.', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_recent_comments_style',
- 'title' => __('Remove .recentcomments styles', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('WP by default for the widget "recent comments" prescribes in the code styles that are almost impossible to change, because to them apply! important.', 'clearfy') . '
Clearfy: ' . __('Removes .recentcomments styles from head section.', 'clearfy'),
- 'default' => false
- ];*/
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'disable_gravatars',
- 'title' => __('Disable gravatars', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('This function that prevents the user’s gravatar being automatically obtained from gravatar.com based on their registered email. This would be useful for sites where users require an extra layer of privacy, or if you just want to prevent potentially silly or embarrasing avatar accidents.
- If you’re using Identicons or any other generated default avatar, the user should keep a consistent avatar unless they change their registered email.
- ', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = array(
- 'type' => 'html',
- 'html' => '
' . __('Fonts and Maps.', 'clearfy') . '
' . __('Google Fonts and Maps strongly affect your website loading speed. Use settings below to disable or optimize Google fonts and Maps.', 'clearfy') . '
'
- );
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'lazy_load_font_awesome',
- 'title' => __('Font Awesome asynchronous', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('By default, WordPress loads Font Awesome icons synchronously, that is, your page will not be fully loaded until Font Awesome icons are loaded. This algorithm slows down the loading of your page and leads to errors when checking the site in Google Page Speed. Using this option, your Font Awesome icons will be loaded after your page is fully loaded. This method has a negative — you and visitors of your site will see changes while loading a page, from the placeholders to icons.', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'disable_dashicons',
- 'title' => __('Disable Dashicons', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('Dashicons is the official icon font of the WordPress admin as of 3.8. Some of you have requested that we add a feature to remove Dashicons. Some themes and developers utilize this (dashicons.min.css) on the front-end of their sites.', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'lazy_load_google_fonts',
- 'title' => __('Google Fonts asynchronous', 'clearfy'),
- 'layout' => array('hint-type' => 'icon'),
- 'hint' => __('By default, WordPress loads Google fonts synchronously, that is, your page will not be fully loaded until Google Fonts are loaded. This algorithm slows down the loading of your page and leads to errors when checking the site in Google Page Speed. Using this option, your Google Fonts will be loaded after your page is fully loaded. This method has a negative — you and visitors of your site will see how the font changes while loading a page, from the system to the downloadable one.', 'clearfy'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'disable_google_fonts',
- 'title' => __('Disable Google Fonts', 'clearfy'),
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
- 'hint' => __('This function stops loading of Open Sans and other fonts used by WordPress and bundled themes (Twenty Twelve, Twenty Thirteen, Twenty Fourteen, Twenty Fifteen, Twenty Sixteen, Twenty Seventeen) from Google Fonts.
-Reasons for not using Google Fonts might be privacy and security, local development or production, blocking of Google’s servers, characters not supported by font, performance.', 'clearfy'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'disable_google_maps',
- 'title' => __('Disable Google maps', 'clearfy'),
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
- 'hint' => __('This function stops loading of Google Maps used by some themes or plugins.
-Reasons for not using Google Maps might be privacy and security, local development or production, blocking of Google’s servers, performance, not necessary, etc.', 'clearfy'),
- 'default' => false,
- 'eventsOn' => array(
- 'show' => '.factory-control-exclude_from_disable_google_maps,.factory-control-remove_iframe_google_maps'
- ),
- 'eventsOff' => array(
- 'hide' => '.factory-control-exclude_from_disable_google_maps,.factory-control-remove_iframe_google_maps'
- )
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_iframe_google_maps',
- 'title' => __('Remove iframe Google maps', 'clearfy'),
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
- 'hint' => __('By default, the "Disable Google Maps" option removes maps inserted with the SCRIPT tag from the page source code. However, you can also cut out all maps inserted via the iframe by enabling this option.', 'clearfy'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'textbox',
- 'way' => 'buttons',
- 'name' => 'exclude_from_disable_google_maps',
- 'title' => __('Exclude pages from Disable Google Maps filter', 'clearfy'),
- 'hint' => __('Posts or Pages IDs separated by a ,', 'clearfy')
- );
-
- /*$options[] = [
- 'type' => 'html',
- 'html' => '
' . __('This funcitons will remove query strings from static resources like CSS & JS files inside the HTML
element to improve your speed scores in services like Pingdom, GTmetrix, PageSpeed and YSlow. Important: This does not work for authorized users. To avoid problems after plugins update!', 'clearfy') . '' . '
'
- ];*/
-
- /*$options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_js_version',
- 'title' => __('Remove Version from Script', 'clearfy') . ' (' . __('Recommended', 'clearfy') . ')',
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('To make it more difficult for others to hack your website you can remove the WordPress version number from your site, your css and js. Without that number it\'s not possible to see if you run not the current version to exploit bugs from the older versions.
- Additionally it can improve the loading speed of your site, because without query strings in the URL the css and js files can be cached.', 'clearfy') . '
Clearfy: ' . __('Removes wordpress version number from scripts (not logged in user only).', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_style_version',
- 'title' => __('Remove Version from Stylesheet', 'clearfy') . ' (' . __('Recommended', 'clearfy') . ')',
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('To make it more difficult for others to hack your website you can remove the WordPress version number from your site, your css and js. Without that number it\'s not possible to see if you run not the current version to exploit bugs from the older versions.
- Additionally it can improve the loading speed of your site, because without query strings in the URL the css and js files can be cached.', 'clearfy') . '
' . __('The WordPress Heartbeat API uses /wp-admin/admin-ajax.php to run AJAX calls from the web-browser. While this is great and all it can also cause high CPU usage and crazy amounts of PHP calls. For example, if you leave your dashboard open it will keep sending POST requests to this file on a regular interval, every 15 seconds. Here is an example below of it happening.', 'clearfy') . '
-
- menu_title = __('Duplicate pages', 'clearfy');
-
- parent::__construct($plugin);
-
- $this->plugin = $plugin;
- }
-
-
- /**
- * Permalinks options.
- *
- * @since 1.0.0
- * @return mixed[]
- */
- public function getPageOptions()
- {
- $options = array();
-
- /*$options[] = array(
- 'type' => 'html',
- 'html' => array($this, '_showHeader')
- );*/
-
- /*$options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'redirect_archives_date',
- 'title' => __('Disable search', 'clearfy'),
- 'layout' => array('hint-type' => 'icon'),
- 'hint' => sprintf(__('Many duplicates in date archives. Imagine, in addition, that your article will be displayed in the main and in the category, you will still receive at least 3 duplicates: in archives by year, month and date, for example %s.', 'clearfy'), '/2016/2016/02 / /2016/02/15') . ' Clearfy: ' . __('Removes all pages with the date archives and puts a redirect.', 'clearfy'),
- 'default' => false
- );*/
-
- $options[] = array(
- 'type' => 'html',
- 'html' => '
' . __('Delete duplicate pages..', 'clearfy') . '
' . __('Search engines perceive these pages as website separate pages, therefore their content ceases to be unique because of duplication. In addition, page reference weight is reduced if it has a duplicate. A small number of duplicated pages will not be a serious problem, but if there are more than 50 percents of them - you urgently need to correct the situation.', 'clearfy') . '
'
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'redirect_archives_date',
- 'title' => __('Remove archives date', 'clearfy'),
- 'layout' => array('hint-type' => 'icon'),
- 'hint' => sprintf(__('Many duplicates in date archives. Imagine, in addition, that your article will be displayed in the main and in the category, you will still receive at least 3 duplicates: in archives by year, month and date, for example %s.', 'clearfy'), '/2016/2016/02 / /2016/02/15') . ' Clearfy: ' . __('Removes all pages with the date archives and puts a redirect.', 'clearfy'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'redirect_archives_author',
- 'title' => __('Remove author archives ', 'clearfy'),
- 'layout' => array('hint-type' => 'icon'),
- 'hint' => sprintf(__('If the site is only filled by you - a mandatory item. Allows you to get rid of duplicates on user archives, for example %s.', 'clearfy'), '/author/admin/') . ' Clearfy: ' . __('Removes all pages with the author archives and puts a redirect.', 'clearfy'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'redirect_archives_tag',
- 'title' => __('Remove archives tag', 'clearfy'),
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
- 'hint' => __('If you use tags only for the block Similar records, or do not use them at all - it will be more correct to close them to avoid duplicates.', 'clearfy') . ' Clearfy: ' . __('Removes all pages with the tag archives and puts a redirect.', 'clearfy'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'attachment_pages_redirect',
- 'title' => __('Remove attachment pages', 'clearfy'),
- 'layout' => array('hint-type' => 'icon'),
- 'hint' => __('Every of the pictures has its own page on the site. Such pages are successfully indexed and create duplicates. The site can have thousands of same-type attachment pages.', 'clearfy') . ' Clearfy: ' . __('Removes attachment pages and puts a redirect.', 'clearfy'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_single_pagination_duplicate',
- 'title' => __('Remove post pagination', 'clearfy'),
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
- 'hint' => sprintf(__('In WordPress, any post can be divided into parts (pages), each part will have its own address. But this functionality is rarely used, but it can create trouble for you. For example, you can add a number to the address of any entry of your blog, %s - the post itself will open, which will be a duplicate. You can substitute any number.', 'clearfy'), '/privet-mir/1/') . ' Clearfy: ' . sprintf(__('Removes the pagination from the post and puts a redirect. Example: %s', 'clearfy'), '/post-name/number'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_replytocom',
- 'title' => __('Remove ?replytocom', 'clearfy'),
- 'layout' => array('hint-type' => 'icon'),
- 'hint' => sprintf(__('WordPress adds %s to the link "Reply" in the comments, if you use hierarchical comments.', 'clearfy'), '?replytocom') . ' Clearfy: ' . __('?relpytocom remove and and puts a redirect.', 'clearfy'),
- 'default' => false
- );
-
- /*$options[] = array(
- 'type' => 'separator',
- 'cssClass' => 'factory-separator-dashed'
- );
-
- $options[] = array(
- 'type' => 'html',
- 'html' => array($this, '_showFormButton')
- );*/
-
- $form_options = array();
-
- $form_options[] = array(
- 'type' => 'form-group',
- 'items' => $options,
- //'cssClass' => 'postbox'
- );
-
- return apply_filters('wbcr_clr_double_form_options', $form_options, $this);
- }
- }
diff --git a/wp-content/plugins/!clearfy/admin/pages/class-pages-seo.php b/wp-content/plugins/!clearfy/admin/pages/class-pages-seo.php
deleted file mode 100644
index e80b75d5..00000000
--- a/wp-content/plugins/!clearfy/admin/pages/class-pages-seo.php
+++ /dev/null
@@ -1,245 +0,0 @@
-menu_title = __('SEO', 'clearfy');
- $this->page_menu_short_description = __('Additional small fixes SEO', 'clearfy');
-
- parent::__construct($plugin);
-
- $this->plugin = $plugin;
- }
-
- /**
- * Conflict notites
- */
- public function warningNotice()
- {
- $notices = apply_filters('wbcr_clr_seo_page_warnings', array());
-
- if( !empty($notices) ) {
- foreach($notices as $message) {
- $this->printWarningNotice($message);
- }
- }
- }
-
-
- /**
- * Permalinks options.
- *
- * @since 1.0.0
- * @return mixed[]
- */
- public function getPageOptions()
- {
- $options = array();
-
- $options[] = array(
- 'type' => 'html',
- 'html' => '
' . __('Basic SEO optimization settings.', 'clearfy') . '
' . __('Recommended settings that can complement your SEO plugin.', 'clearfy') . '
'
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'content_image_auto_alt',
- 'title' => __('Automatically set the alt attribute', 'clearfy') . ' (' . __('Recommended', 'clearfy') . ')',
- 'layout' => array('hint-type' => 'icon'),
- 'hint' => __('The alt attribute is mandatory, so most SEO experts say. If you missed or did not fill it at all, it will be automatically assigned and will be equal to the title of the article.', 'clearfy') . '
Clearfy: ' . sprintf(__('Replaces the %s, on attribute with an article name %s', 'clearfy'), 'img scr="" alt=""', 'img scr="" alt="Hello world"'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'right_robots_txt',
- 'title' => __('Create right robots.txt', 'clearfy'),
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
- 'hint' => __('After installation, WP does not contain a robots.txt file and create it manually. We re-read about 30 different articles, instructions from Yandex and Google to create the perfect robots.txt', 'clearfy') . '
' . __('WordPress does not know how to give the Last Modified header in the server\'s responses. You can do this using the settings below.', 'clearfy') . '
' . '' . __('For the Yoast SEO plugin', 'clearfy') . '' . '
' . __('These settings will help you eliminate some problems associated with the popular Yoast SEO plugin', 'clearfy') . '
' . '
'
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_last_item_breadcrumb_yoast',
- 'title' => __('Remove duplicate names in breadcrumbs WP SEO by Yoast', 'clearfy') . ' (' . __('Recommended', 'clearfy') . ')',
- 'layout' => array('hint-type' => 'icon'),
- 'hint' => __('The last element in the breadcrumbs in the Yoast SEO plugin duplicates the title of the article. Some SEO-specialists consider this duplication to be superfluous.', 'clearfy') . '
Clearfy: ' . __('Removes duplication of the name in the breadcrumbs of the WP SEO plugin from Yoast.', 'clearfy'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'yoast_remove_image_from_xml_sitemap',
- 'title' => sprintf(__('Remove the tag %s from XML site map', 'clearfy'), 'image:image') . ' (' . __('Recommended', 'clearfy') . ')',
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
- 'hint' => __('Yandex.Webmaster swears on a standard XML card from the plugin Yoast, tk. it has a specific tag', 'clearfy') . 'image:image
Clearfy: ' . sprintf(__('Remove the tag %s from XML site map of the plugin Yoast SEO.', 'clearfy'), 'image:image') . ' -- ' . __('Attention! After activation, turn off the site map and enable it back to regenerate it.', 'clearfy') . '' . ' ' . __('In older versions of Yoast SEO may not work - update the plugin Yoast', 'clearfy') . '',
- 'default' => false,
- 'eventsOn' => array()
- );
-
- /*$options[] = array(
- 'type' => 'html',
- 'id' => 'wbcr-clearfy-image-xml-sitemap-warning',
- 'cssClass' => 'factory-hints',
- 'html' => array($this, 'sfsdfsdf')
- );*/
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'yoast_remove_json_ld_search',
- 'title' => __('Disable JSON-LD sitelinks searchbox', 'clearfy') . '',
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
- 'hint' => __('If you’re not familiar with Search Action it’s the mark-up that helps search engines add a shiny Sitelinks Search Box below your search engine results. For the majority of webmasters the extra search box is an absolutely fantastic feature but for many it’s not required or wanted, especially if a site only has a few pages or if the site uses a customised search platform that only searches blog posts and not pages.', 'clearfy') . ' Clearfy: ' . __('Disable JSON-LD sitelinks searchbox using WordPress in plugin Yoast SEO.', 'clearfy'),
- 'default' => false
- );
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'yoast_remove_json_ld_output',
- 'title' => __('Disable Yoast Structured Data', 'clearfy') . ' ',
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
- 'hint' => __('Prevents output of the script tag of type application/ld+json containing
-schema.org data from the popular Yoast SEO and Yoast SEO Premium plugins.
-There is currently no UI to do so.', 'clearfy') . ' Clearfy: ' . __('Disable Structured Data in plugin Yoast SEO.', 'clearfy'),
- 'default' => false
- );
-
- /*$options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'yoast_canonical_pagination',
- 'title' => sprintf(__('Canonical on pagination pages', 'clearfy'), 'head'),
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
- 'hint' => __('It’s a well-known fact, that the Yoast SEO plugin outputs canonical links on pagination pages, such as /page/2/, /page/3/ and so on. While various search engines treat canonical links differently, it is always better to replace them with the link leading to the main pagination page.
-If enabled, this feature changes the canonical link to the main page or category link.
-When you deactivate some components, permanent links may work incorrectly. If this happens, please, update the structure of the permanent links, so you could complete the deactivation.
-', 'clearfy'),
- 'default' => false
- );*/
-
- $options[] = array(
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'yoast_remove_head_comment',
- 'title' => sprintf(__('Remove comment from %s section', 'clearfy'), 'head') . ' (' . __('Recommended', 'clearfy') . ')',
- 'layout' => array('hint-type' => 'icon'),
- 'hint' => sprintf(__('The Yoast SEO plugin displays a comment of the form %s in %s section', 'clearfy'), '!-- This site is optimized with the Yoast SEO plugin v3.1.1 - https://yoast.com/wordpress/plugins/seo/ --', 'head') . '
' . __('Some widgets, such as the Calendar or Tag Cloud, create an extra query to the database, even if they are not displayed on the website. Of course, a couple of hits to the database will not do much harm to the whole site. However, if the resource contains a huge amount of content, and the speed of its work above all else, disabling unused functionality is the first step to optimizing and accelerating it.', 'clearfy') . '
- render_button(); ?>
- get_next_id();
- if (!$next_id) {
- wp_safe_redirect($this->plugin->getPluginPageUrl('quick_start'));
- die();
- }
- wp_safe_redirect($this->page->getActionUrl($next_id));
- die();
- }
-}
\ No newline at end of file
diff --git a/wp-content/plugins/!clearfy/admin/pages/setup/steps/class-step-default.php b/wp-content/plugins/!clearfy/admin/pages/setup/steps/class-step-default.php
deleted file mode 100644
index 099cff15..00000000
--- a/wp-content/plugins/!clearfy/admin/pages/setup/steps/class-step-default.php
+++ /dev/null
@@ -1,53 +0,0 @@
-
- * @copyright (c) 23.07.2020, Webcraftic
- * @version 1.0
- */
-class Step_Default extends \WBCR\Factory_Templates_134\Pages\Step_Custom
-{
-
- protected $id = 'step0';
- protected $next_id = 'step1';
-
- /**
- * Retrieves the title text.
- *
- * @return string The translated title text.
- */
- public function get_title(): string
- {
- return __("Welcome", 'clearfy');
- }
-
- /**
- * Renders the HTML structure for the setup wizard onboarding interface.
- *
- * @return void
- * @throws \Exception
- */
- public function html(): void
- {
- ?>
-
-
-
Welcome to
-
-
-
-
-
-
-
- render_button(true, false, __('Yes, I want to try the wizard'), 'center'); ?>
-
- * @copyright (c) 23.07.2020, Webcraftic
- * @version 1.0
- */
-class Step_Google_Page_Speed_After extends \WBCR\Factory_Templates_134\Pages\Step_Custom
-{
-
- protected $prev_id = 'step5';
- protected $id = 'step6';
- protected $next_id = 'step7';
-
- /**
- * Retrieves the title.
- *
- * @return string The title of the site.
- */
- public function get_title(): string
- {
- return __("Site test #2", 'clearfy');
- }
-
- /**
- * Outputs the HTML content for displaying Google Page Speed statistics and analyses.
- *
- * The method integrates with the Google PageSpeed Insights API to analyze a website and display
- * the results, including scores for desktop and mobile versions, and key performance metrics such
- * as Speed Index and Time to Interactive. It also provides a link to view the complete results
- * on the official Google PageSpeed Insights platform.
- *
- * Additionally, this method manages the rendering of UI components for displaying scores,
- * statistics, and preloader icons.
- *
- * @return void
- */
- public function html(): void
- {
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ?? s / ?? s
-
-
-
-
-
- ?? s / ?? s
-
-
-
-
-
- ?? s / ?? s
-
-
-
-
-
-
-
-
-
-
-
- render_button(); ?>
-
- * @copyright (c) 23.07.2020, Webcraftic
- * @version 1.0
- */
-class Step_Google_Page_Speed_Before extends \WBCR\Factory_Templates_134\Pages\Step_Custom
-{
-
- protected $prev_id = 'step0';
- protected $id = 'step1';
- protected $next_id = 'step2';
-
- /**
- * Retrieves the title of the site.
- *
- * @return string The translated site title.
- */
- public function get_title(): string
- {
- return __("Site test #1", 'clearfy');
- }
-
- /**
- * Outputs the HTML and JavaScript for the Google Page Speed results interface.
- * This method includes a script to initiate fetching of Google Page Speed audits and displays desktop and mobile score results.
- * It also provides statistical insights and a link to view detailed results on Google PageSpeed Insights.
- *
- * @return void
- * @throws \Exception
- */
- public function html(): void
- {
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ?? s / ?? s
-
-
-
-
-
- ?? s / ?? s
-
-
-
-
-
- ?? s / ?? s
-
-
-
-
-
-
-
-
-
-
-
- render_button(); ?>
-
- * @copyright (c) 23.07.2020, Webcraftic
- * @version 1.0
- */
-class Step_Optimize_Images extends \WBCR\Factory_Templates_134\Pages\Step_Custom
-{
-
- protected $prev_id = 'step4';
- protected $id = 'step5';
- protected $next_id = 'step6';
-
- /**
- * Class constructor.
- *
- * @param \WBCR\Factory_Templates_134\Pages\Setup $page An instance of the Setup page to initialize the constructor.
- * @return void
- */
- public function __construct(\WBCR\Factory_Templates_134\Pages\Setup $page)
- {
- parent::__construct($page);
- }
-
-
- /**
- * Retrieves the title of the current context.
- *
- * @return string The title "Optimize images".
- */
- public function get_title(): string
- {
- return __("Optimize images", 'clearfy');
- }
-
- /**
- * {@inheritdoc}
- */
- public function assets($scripts, $styles): void
- {
- parent::assets($scripts, $styles);
-
- $styles->add(WCL_PLUGIN_URL . '/admin/assets/css/setup/step-optimize-images.css');
-
- if (defined('WRIO_PLUGIN_ACTIVE')) {
- $scripts->add(WRIO_PLUGIN_URL . '/admin/assets/js/Chart.min.js', ['jquery'], 'wrio-charts');
- $scripts->add(WRIO_PLUGIN_URL . '/admin/assets/js/statistic.js', ['jquery', 'wrio-charts']);
- }
- }
-
- /**
- * Renders the HTML for the image optimization page in the plugin interface.
- *
- * This method checks if the plugin is active and, if so, displays the optimization statistics
- * and related user interface elements. It provides data about unoptimized, optimized, and error statistics.
- * If the plugin is not active, it renders alternate HTML content.
- *
- * @return void
- */
- public function html(): void
- {
- if (!defined('WRIO_PLUGIN_ACTIVE')) {
- $this->alternate_html();
-
- return;
- }
-
- $is_premium = wrio_is_license_activate();
- $statistics = \WRIO_Image_Statistic::get_instance();
-
- $data = [
- 'is_premium' => $is_premium,
- 'scope' => 'media-library',
- 'stats' => $statistics->get()
- ];
- ?>
-
-
-
-
-
-
-
-
-
-
-
- %
-
-
-
-
- %
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- %
-
-
- by using Image Optimizer", 'robin-image-optimizer'); ?>
-
-
-
-
-
-
-
-
- render_button(true, true, __('Shedule optimization and Continue', 'clearfy')); ?>
- updatePopulateOption('cron_running', 'media-library');
- \WRIO_Cron::start();
- }
- parent::continue_step($skip);
- }
-
-
- /**
- * Outputs the HTML content for the alternate setup interface related to image optimization.
- *
- * This method generates a section prompting the user to install or activate the "Robin Image Optimizer" plugin.
- * Includes an installation button and renders additional necessary controls for setup completion.
- *
- * @return void
- * @throws \Exception
- */
- private function alternate_html(): void
- {
- $install_robin_plugin_btn = $this->plugin->get_install_component_button('wordpress', 'robin-image-optimizer/robin-image-optimizer.php');
- $install_robin_plugin_btn->add_class('wclearfy-setup__install-component-button');
-
- ?>
-
-
-
-
-
-
-
render_button(); ?>
-
- render_button(false, true); ?>
-
- * @copyright (c) 23.07.2020, Webcraftic
- * @version 1.0
- */
-class Step_Plugins extends \WBCR\Factory_Templates_134\Pages\Step_Custom
-{
-
- protected $prev_id = 'step1';
- protected $id = 'step2';
- protected $next_id = 'step3';
-
- /**
- * Retrieves the title for the setup plugins section.
- *
- * @return string The localized title text.
- */
- public function get_title(): string
- {
- return __("Setup Plugins", "clearfy");
- }
-
- /**
- * Renders the HTML content for displaying and installing recommended plugins and components.
- *
- * This method displays a structured interface that lists plugins and components
- * along with their associated benefits. It provides installation buttons to include
- * these plugins and components for optimizing the site.
- *
- * @return void
- * @throws \Exception
- */
- public function html(): void
- {
- $install_robin_plugin_btn = $this->plugin->get_install_component_button('wordpress', 'robin-image-optimizer/robin-image-optimizer.php');
- $install_wp_super_cache_btn = $this->plugin->get_install_component_button('wordpress', 'wp-super-cache/wp-cache.php');
- $install_assets_manager_component_btn = $this->plugin->get_install_component_button('internal', 'assets_manager');
- $install_minify_and_combine_component_btn = $this->plugin->get_install_component_button('internal', 'minify_and_combine');
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Robin image optimizer
-
+10
-
+15
-
- render_link(); ?>
-
-
-
-
Assets manager component
-
+5
-
+10
-
render_link(); ?>
-
-
-
-
Minify and Combine component
-
+10
-
+15
-
render_link(); ?>
-
-
-
- render_button(); ?>
-
- * @copyright (c) 23.07.2020, Webcraftic
- * @version 1.0
- */
-class Step_Setting_Seo extends \WBCR\Factory_Templates_134\Pages\Step_Form
-{
-
- protected $prev_id = 'step3';
- protected $id = 'step4';
- protected $next_id = 'step5';
-
- /**
- * Retrieves the title for the "Optimize SEO" feature.
- *
- * @return string The translated title for the "Optimize SEO" feature.
- */
- public function get_title(): string
- {
- return __("Optimize SEO", "clearfy");
- }
-
- /**
- * Retrieves the description for the settings form.
- *
- * @return string The translated description recommending settings to complement the SEO plugin.
- */
- public function get_form_description(): string
- {
- return __('Recommended settings that can complement your SEO plugin.', 'clearfy');
- }
-
- /**
- * Retrieves the configuration options for the form used in the system.
- * These options define the properties of form controls, including type, layout, default values, and hints.
- * The options also include conditional events based on plugin components, such as Yoast SEO.
- *
- * @return array An array of form configuration options. Each option is an associative array containing keys like type, way, name, title,
- * layout, hint, default values, and conditional events related to plugin activation.
- */
- public function get_form_options(): array
- {
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'content_image_auto_alt',
- 'title' => __('Automatically set the alt attribute', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('The alt attribute is mandatory, so most SEO experts say. If you missed or did not fill it at all, it will be automatically assigned and will be equal to the title of the article.', 'clearfy') . '
Clearfy: ' . sprintf(__('Replaces the %s, on attribute with an article name %s', 'clearfy'), 'img scr="" alt=""', 'img scr="" alt="Hello world"'),
- 'default' => true
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'set_last_modified_headers',
- 'title' => __('Automatically insert the Last Modified header', 'clearfy'),
- 'default' => false,
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('Automatically insert the Last Modified header', 'clearfy') . ' Clearfy: ' . __('Removes attachment pages and puts a redirect.', 'clearfy'),
- 'eventsOn' => [
- 'show' => '.factory-control-disable_frontpage_last_modified_headers'
- ],
- 'eventsOff' => [
- 'hide' => '.factory-control-disable_frontpage_last_modified_headers'
- ]
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'if_modified_since_headers',
- 'title' => __('Return an If-Modified-Since responce', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('Return an If-Modified-Since responce.', 'clearfy') . ' Clearfy: ' . __('Removes attachment pages and puts a redirect.', 'clearfy'),
-
- 'default' => false
- ];
-
- if ($this->plugin->isActivateComponent('yoast_seo')) {
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_last_item_breadcrumb_yoast',
- 'title' => __('Remove duplicate names in breadcrumbs WP SEO by Yoast', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('The last element in the breadcrumbs in the Yoast SEO plugin duplicates the title of the article. Some SEO-specialists consider this duplication to be superfluous.', 'clearfy') . '
Clearfy: ' . __('Removes duplication of the name in the breadcrumbs of the WP SEO plugin from Yoast.', 'clearfy'),
- 'default' => true
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'yoast_remove_image_from_xml_sitemap',
- 'title' => sprintf(__('Remove the tag %s from XML site map', 'clearfy'), 'image:image'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'green'],
- 'hint' => __('Yandex.Webmaster swears on a standard XML card from the plugin Yoast, tk. it has a specific tag', 'clearfy') . 'image:image
Clearfy: ' . sprintf(__('Remove the tag %s from XML site map of the plugin Yoast SEO.', 'clearfy'), 'image:image') . ' -- ' . __('Attention! After activation, turn off the site map and enable it back to regenerate it.', 'clearfy') . '' . ' ' . __('In older versions of Yoast SEO may not work - update the plugin Yoast', 'clearfy') . '',
- 'default' => true,
- 'eventsOn' => []
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'yoast_remove_json_ld_search',
- 'title' => __('Disable JSON-LD sitelinks searchbox', 'clearfy') . '',
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('If you’re not familiar with Search Action it’s the mark-up that helps search engines add a shiny Sitelinks Search Box below your search engine results. For the majority of webmasters the extra search box is an absolutely fantastic feature but for many it’s not required or wanted, especially if a site only has a few pages or if the site uses a customised search platform that only searches blog posts and not pages.', 'clearfy') . ' Clearfy: ' . __('Disable JSON-LD sitelinks searchbox using WordPress in plugin Yoast SEO.', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'yoast_remove_json_ld_output',
- 'title' => __('Disable Yoast Structured Data', 'clearfy') . ' ',
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('Prevents output of the script tag of type application/ld+json containing
-schema.org data from the popular Yoast SEO and Yoast SEO Premium plugins.
-There is currently no UI to do so.', 'clearfy') . ' Clearfy: ' . __('Disable Structured Data in plugin Yoast SEO.', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'yoast_remove_head_comment',
- 'title' => sprintf(__('Remove comment from %s section', 'clearfy'), 'head'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => sprintf(__('The Yoast SEO plugin displays a comment of the form %s in %s section', 'clearfy'), '!-- This site is optimized with the Yoast SEO plugin v3.1.1 - https://yoast.com/wordpress/plugins/seo/ --', 'head') . '
Clearfy: ' . sprintf(__('Removes the Yoast SEO plugin comment of their section %s', 'clearfy'), 'head'),
- 'default' => true
- ];
- }
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'redirect_archives_date',
- 'title' => __('Remove archives date', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => sprintf(__('Many duplicates in date archives. Imagine, in addition, that your article will be displayed in the main and in the category, you will still receive at least 3 duplicates: in archives by year, month and date, for example %s.', 'clearfy'), '/2016/2016/02 / /2016/02/15') . ' Clearfy: ' . __('Removes all pages with the date archives and puts a redirect.', 'clearfy'),
- 'default' => true
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'redirect_archives_author',
- 'title' => __('Remove author archives ', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => sprintf(__('If the site is only filled by you - a mandatory item. Allows you to get rid of duplicates on user archives, for example %s.', 'clearfy'), '/author/admin/') . ' Clearfy: ' . __('Removes all pages with the author archives and puts a redirect.', 'clearfy'),
- 'default' => true
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'attachment_pages_redirect',
- 'title' => __('Remove attachment pages', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('Every of the pictures has its own page on the site. Such pages are successfully indexed and create duplicates. The site can have thousands of same-type attachment pages.', 'clearfy') . ' Clearfy: ' . __('Removes attachment pages and puts a redirect.', 'clearfy'),
- 'default' => true
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_replytocom',
- 'title' => __('Remove ?replytocom', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => sprintf(__('WordPress adds %s to the link "Reply" in the comments, if you use hierarchical comments.', 'clearfy'), '?replytocom') . ' Clearfy: ' . __('?relpytocom remove and and puts a redirect.', 'clearfy'),
- 'default' => true
- ];
-
- return $options;
- }
-}
\ No newline at end of file
diff --git a/wp-content/plugins/!clearfy/admin/pages/setup/steps/class-step-setting-speed-optimize.php b/wp-content/plugins/!clearfy/admin/pages/setup/steps/class-step-setting-speed-optimize.php
deleted file mode 100644
index 9a865cb8..00000000
--- a/wp-content/plugins/!clearfy/admin/pages/setup/steps/class-step-setting-speed-optimize.php
+++ /dev/null
@@ -1,319 +0,0 @@
-
- * @copyright (c) 23.07.2020, Webcraftic
- * @version 1.0
- */
-class Step_Setting_Speed_Optimize extends \WBCR\Factory_Templates_134\Pages\Step_Form
-{
-
- protected $prev_id = 'step2';
- protected $id = 'step3';
- protected $next_id = 'step4';
-
- /**
- * Retrieves the title text.
- *
- * @return string The translated title string.
- */
- public function get_title(): string
- {
- return __("Optimize speed", "clearfy");
- }
-
- /**
- * Retrieves the description of the form.
- *
- * @return string The translated description of the form.
- */
- public function get_form_description(): string
- {
- return __('Caching allows your WordPress site to skip a lot of steps. Instead of going through the whole page generation process every time, your caching plugin makes a copy of the page
- after the first load, and then serves that cached version to every subsequent user.', 'clearfy');
- }
-
- /**
- * Retrieves a list of form options for configuring plugin settings.
- *
- * @return array An array of form configuration options, including types, names, titles, layouts, hints, default values,
- * and event handlers for JavaScript and CSS optimization, as well as options for removing unnecessary
- * WordPress features (e.g., emojis, RSD link, wlwmanifest link, shortlink).
- */
- public function get_form_options(): array
- {
- /*$options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'enable_cache_plugin',
- 'title' => __('Enable Caching', 'clearfy') . ' (' . __('Recommended', 'clearfy') . ')',
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('Enable simple caching. If you require expert caching, go to the advanced settings of the wp super cache plugin.', 'clearfy'),
- 'default' => true
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'disable_caching_for_logged_visitors',
- 'title' => __('Disable caching for logged in visitors', 'clearfy') . ' (' . __('Recommended', 'clearfy') . ')',
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('Caching won\'t work for authenticated users.', 'clearfy'),
- 'default' => true
- ];*/
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'js_optimize',
- 'title' => __('Optimize JavaScript Code?', 'minify-and-combine'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- //'hint' => __('Optimize JavaScript Code.', 'minify-and-combine'),
- 'default' => true,
- 'eventsOn' => [
- 'show' => '#wbcr-mac-optimize-js-fields,#wbcr-mac-optimization-danger-message-1'
- ],
- 'eventsOff' => [
- 'hide' => '#wbcr-mac-optimize-js-fields,#wbcr-mac-optimization-danger-message-1'
- ]
- ];
-
- /*$options[] = array(
- 'type' => 'html',
- 'html' => array( $this, 'optimizationDangerMessage1' )
- );*/
-
- $js_options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'js_aggregate',
- 'title' => __('Aggregate JS-files?', 'minify-and-combine'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('Aggregate all linked JS-files to have them loaded non-render blocking? If this option is off, the individual JS-files will remain in place but will be minified.', 'minify-and-combine'),
- 'default' => false,
- 'eventsOn' => [
- 'show' => '#wbcr-mac-optimization-danger-message-2'
- ],
- 'eventsOff' => [
- 'hide' => '#wbcr-mac-optimization-danger-message-2'
- ]
- ];
-
- $js_options[] = [
- 'type' => 'html',
- 'html' => [$this, 'optimizationDangerMessage2']
- ];
-
- $options[] = [
- 'type' => 'div',
- 'id' => 'wbcr-mac-optimize-js-fields',
- 'items' => $js_options
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'css_optimize',
- 'title' => __('Optimize CSS Code?', 'minify-and-combine'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('If your scripts break because of a JS-error, you might want to try this.', 'minify-and-combine'),
- 'default' => true,
- 'eventsOn' => [
- 'show' => '#wbcr-clr-optimize-css-fields'
- ],
- 'eventsOff' => [
- 'hide' => '#wbcr-clr-optimize-css-fields'
- ]
- ];
-
- $css_options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'css_aggregate',
- 'title' => __('Aggregate CSS-files?', 'minify-and-combine'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('Aggregate all linked CSS-files? If this option is off, the individual CSS-files will remain in place but will be minified.', 'minify-and-combine'),
- 'default' => false,
- 'eventsOn' => [
- 'show' => '#wbcr-mac-optimization-danger-message-4'
- ],
- 'eventsOff' => [
- 'hide' => '#wbcr-mac-optimization-danger-message-4'
- ]
- ];
-
- $css_options[] = [
- 'type' => 'html',
- 'html' => [$this, 'optimizationDangerMessage4']
- ];
-
- $options[] = [
- 'type' => 'div',
- 'id' => 'wbcr-clr-optimize-css-fields',
- 'items' => $css_options
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'disable_emoji',
- 'title' => __('Disable Emojis', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('Emojis are fun and all, but if you are aren’t using them they actually load a JavaScript file (wp-emoji-release.min.js) on every page of your website. For a lot of businesses, this is not needed and simply adds load time to your site. So we recommend disabling this.', 'clearfy') . '
Clearfy: ' . __('Removes WordPress Emojis JavaScript file (wp-emoji-release.min.js).', 'clearfy'),
- 'default' => true
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_rsd_link',
- 'title' => __('Remove RSD Link', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('The above link is used by blog clients. If you edit your site from your browser then you don’t need this. It is also used by some 3rd party applications that utilize XML-RPC requests. In most cases, this is just unnecessary code.', 'clearfy') . ' link rel="EditURI" type="application/rsd+xml" title="RSD"
Clearfy: ' . __('Remove RSD (Real Simple Discovery) link tag.', 'clearfy'),
- 'default' => true
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_wlw_link',
- 'title' => __('Remove wlwmanifest Link', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => 'link rel="wlwmanifest" type="application/wlwmanifest+xml" ' . __('This link is actually used by Windows Live Writer. If you don’t know use Windows Live Writer, which we are guessing you don’t, this is just unnecessary code.', 'clearfy') . '
Clearfy: ' . __('Remove wlwmanifest (Windows Live Writer) link tag.', 'clearfy'),
- 'default' => true
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_shortlink_link',
- 'title' => __('Remove Shortlink', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => sprintf(__('By default, the following tag shows up in every WordPress install. %s This is used for a shortlink to your pages and posts. However, if you are already using pretty permalinks, such as domain.com/post, then there is no reason to keep this, it is just unnecessary code.', 'clearfy'), ' link rel="shortlink" href="https://domain.com?p=712" ') . '
Clearfy: ' . __('Remove Shortlink link tag.', 'clearfy'),
- 'default' => true
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_adjacent_posts_link',
- 'title' => __('Remove links to previous, next post', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('If you use Wordpress as a CMS, then you can delete these links, they can only come in handy for a blog.', 'clearfy') . '
Clearfy: ' . __('Remove the previous and next post links within the wp_head of your wordpress theme.', 'clearfy'),
- 'default' => true
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'remove_recent_comments_style',
- 'title' => __('Remove .recentcomments styles', 'clearfy'),
- 'layout' => ['hint-type' => 'icon'],
- 'hint' => __('WP by default for the widget "recent comments" prescribes in the code styles that are almost impossible to change, because to them apply! important.', 'clearfy') . '
Clearfy: ' . __('Removes .recentcomments styles from head section.', 'clearfy'),
- 'default' => true
- ];
-
- return apply_filters('wclearfy/setup_wizard/speed_optimize_step/form_options', $options);
- }
-
- /**
- * Displays a warning message indicating potential risks associated with activating a specific optimization setting.
- *
- * @param int $selector_id The unique identifier for the warning message container. Defaults to 1.
- *
- * @return void Outputs the HTML structure of the warning message directly to the page.
- */
- public function optimizationDangerMessage($selector_id = 1): void
- {
- ?>
-
-
-
-
- This could break things! If you notice any errors on your website after having activated this setting, just deactivate it again, and your site will be back to normal.', 'clearfy') ?>
-
-
-
- optimizationDangerMessage(1);
- }
-
- /**
- * Triggers a specific optimization danger message corresponding to level 2.
- *
- * @return void
- */
- public function optimizationDangerMessage2(): void
- {
- $this->optimizationDangerMessage(2);
- }
-
- /**
- * Triggers a specific optimization danger message corresponding to level 3.
- *
- * @return void
- */
- public function optimizationDangerMessage3(): void
- {
- $this->optimizationDangerMessage(3);
- }
-
- /**
- * Triggers a specific optimization danger message corresponding to level 4.
- *
- * @return void
- */
- public function optimizationDangerMessage4(): void
- {
- $this->optimizationDangerMessage(4);
- }
-
- /**
- * Executes the continuation of the current setup wizard step, with an optional skip parameter.
- *
- * @param bool $skip Determines if the step should be skipped. Default is false.
- * @return void
- */
- protected function continue_step($skip = false): void
- {
- do_action('wclearfy/setup_wizard/speed_optimize_step/continue_step');
-
- parent::continue_step();
- }
-
-}
\ No newline at end of file
diff --git a/wp-content/plugins/!clearfy/assets/css/admin-bar.css b/wp-content/plugins/!clearfy/assets/css/admin-bar.css
deleted file mode 100644
index bf43708a..00000000
--- a/wp-content/plugins/!clearfy/assets/css/admin-bar.css
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Admin bar menu
- * @author Webcraftic
- * @copyright Webcraftic 01.07.2018
- */
-#wp-admin-bar-clearfy-menu {
- background: #443a54 !important;
-}
-#wp-admin-bar-clearfy-menu::after {
- clear: both;
-}
-#wp-admin-bar-clearfy-menu .dashicons {
- font: 400 20px/1 dashicons;
-}
-#wp-admin-bar-clearfy-menu #wp-admin-bar-clearfy-menu-default {
- background: #565656 !important;
-}
-#wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-icon {
- display: inline-block !important;
- width: 20px;
- height: 25px;
- margin-top: 6px;
- margin-right: 5px;
- float: left;
- background: url(../img/webcraftic-plugin-icon.png) 0 0 no-repeat;
-}
-#wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-title {
- display: inline-block !important;
- overflow: hidden;
-}
-#wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-title .dashicons {
- font-size: 20px !important;
- padding: 6px 0 !important;
-}
-#wp-admin-bar-clearfy-menu .ab-item .dashicons {
- font-size: 14px;
- padding: 6px 0;
-}
-#wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-heart {
- color: #fb7976;
-}
-#wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-sos {
- color: #c6e9f9;
-}
-#wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-star-filled {
- color: #ffbe00;
-}
-/*# sourceMappingURL=admin-bar.css.map */
\ No newline at end of file
diff --git a/wp-content/plugins/!clearfy/assets/js/css-lazy-load.js b/wp-content/plugins/!clearfy/assets/js/css-lazy-load.js
deleted file mode 100644
index c563c2b4..00000000
--- a/wp-content/plugins/!clearfy/assets/js/css-lazy-load.js
+++ /dev/null
@@ -1,101 +0,0 @@
-/*! loadCSS. [c]2017 Filament Group, Inc. MIT License */
-
-// https://github.com/filamentgroup/loadCSS/blob/master/src/loadCSS.js
-
-(function(w) {
- "use strict";
- /* exported loadCSS */
- var loadCSS = function(href, before, media) {
- // Arguments explained:
- // `href` [REQUIRED] is the URL for your CSS file.
- // `before` [OPTIONAL] is the element the script should use as a reference for injecting our stylesheet
- // before By default, loadCSS attempts to inject the link after the last stylesheet or script in the DOM.
- // However, you might desire a more specific location in your document. `media` [OPTIONAL] is the media type or
- // query of the stylesheet. By default it will be 'all'
- var doc = w.document;
- var ss = doc.createElement("link");
- var ref;
- if( before ) {
- ref = before;
- }
- else {
- var refs = ( doc.body || doc.getElementsByTagName("head")[0] ).childNodes;
- ref = refs[refs.length - 1];
- }
-
- var sheets = doc.styleSheets;
- ss.rel = "stylesheet";
- ss.href = href;
- // temporarily set media to something inapplicable to ensure it'll fetch without blocking render
- ss.media = "only x";
-
- // wait until body is defined before injecting link. This ensures a non-blocking load in IE11.
- function ready(cb) {
- if( doc.body ) {
- return cb();
- }
- setTimeout(function() {
- ready(cb);
- });
- }
-
- // Inject link
- // Note: the ternary preserves the existing behavior of "before" argument, but we could choose to change the
- // argument to "after" in a later release and standardize on ref.nextSibling for all refs Note: `insertBefore`
- // is used instead of `appendChild`, for safety re:
- // http://www.paulirish.com/2011/surefire-dom-element-insertion/
- ready(function() {
- ref.parentNode.insertBefore(ss, ( before ? ref : ref.nextSibling ));
- });
- // A method (exposed on return object for external use) that mimics onload by polling document.styleSheets
- // until it includes the new sheet.
- var onloadcssdefined = function(cb) {
- var resolvedHref = ss.href;
- var i = sheets.length;
- while( i-- ) {
- if( sheets[i].href === resolvedHref ) {
- return cb();
- }
- }
- setTimeout(function() {
- onloadcssdefined(cb);
- });
- };
-
- function loadCB() {
- if( ss.addEventListener ) {
- ss.removeEventListener("load", loadCB);
- }
- ss.media = media || "all";
- }
-
- // once loaded, set link's media back to `all` so that the stylesheet applies once it loads
- if( ss.addEventListener ) {
- ss.addEventListener("load", loadCB);
- }
- ss.onloadcssdefined = onloadcssdefined;
- onloadcssdefined(loadCB);
- return ss;
- };
- // commonjs
- if( typeof exports !== "undefined" ) {
- exports.loadCSS = loadCSS;
- }
- else {
- w.loadCSS = loadCSS;
- }
-}(typeof global !== "undefined" ? global : this));
-
-/**/
-jQuery(document).ready(function($) {
- "use strict";
-
- if( 'undefined' !== typeof wbcr_clearfy_async_links && Object.keys(wbcr_clearfy_async_links).length ) {
- var key;
- for( key in wbcr_clearfy_async_links ) {
- if( wbcr_clearfy_async_links.hasOwnProperty(key) ) {
- loadCSS(wbcr_clearfy_async_links[key]);
- }
- }
- }
-});
\ No newline at end of file
diff --git a/wp-content/plugins/!clearfy/assets/js/css-lazy-load.min.js b/wp-content/plugins/!clearfy/assets/js/css-lazy-load.min.js
deleted file mode 100644
index 86fb5147..00000000
--- a/wp-content/plugins/!clearfy/assets/js/css-lazy-load.min.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(e){"use strict";var n=function(n,t,r){var i,a=e.document,o=a.createElement("link");if(t)i=t;else{var l=(a.body||a.getElementsByTagName("head")[0]).childNodes;i=l[l.length-1]}var s=a.styleSheets;o.rel="stylesheet",o.href=n,o.media="only x",function e(n){if(a.body)return n();setTimeout(function(){e(n)})}(function(){i.parentNode.insertBefore(o,t?i:i.nextSibling)});var c=function(e){for(var n=o.href,t=s.length;t--;)if(s[t].href===n)return e();setTimeout(function(){c(e)})};function d(){o.addEventListener&&o.removeEventListener("load",d),o.media=r||"all"}return o.addEventListener&&o.addEventListener("load",d),o.onloadcssdefined=c,c(d),o};"undefined"!=typeof exports?exports.loadCSS=n:e.loadCSS=n}("undefined"!=typeof global?global:this),jQuery(document).ready(function(e){"use strict";var n;if("undefined"!=typeof wbcr_clearfy_async_links&&Object.keys(wbcr_clearfy_async_links).length)for(n in wbcr_clearfy_async_links)wbcr_clearfy_async_links.hasOwnProperty(n)&&loadCSS(wbcr_clearfy_async_links[n])});
\ No newline at end of file
diff --git a/wp-content/plugins/!clearfy/clearfy.php b/wp-content/plugins/!clearfy/clearfy.php
deleted file mode 100644
index 8a8f6f11..00000000
--- a/wp-content/plugins/!clearfy/clearfy.php
+++ /dev/null
@@ -1,208 +0,0 @@
-
- * Version: 2.4.1
- * Text Domain: clearfy
- * Domain Path: /languages/
- * Author URI: https://cm-wp.com
- * Framework Version: FACTORY_480_VERSION
- */
-
-// Exit if accessed directly
-if ( ! defined( 'ABSPATH' ) ) {
- exit;
-}
-
-/**
- * -----------------------------------------------------------------------------
- * CHECK REQUIREMENTS
- * Check compatibility with php and wp version of the user's site. As well as checking
- * compatibility with other plugins from Webcraftic.
- * -----------------------------------------------------------------------------
- */
-
-require_once( dirname( __FILE__ ) . '/libs/factory/core/includes/class-factory-requirements.php' );
-
-$plugin_info = [
- 'prefix' => 'wbcr_clearfy_',
- 'plugin_name' => 'wbcr_clearfy',
- 'plugin_title' => 'Clearfy',
-
- // PLUGIN SUPPORT
- 'support_details' => [
- 'url' => 'http://clearfy.pro',
- 'pages_map' => [
- 'features' => 'premium-features', // {site}/premium-features
- 'pricing' => 'pricing', // {site}/prices
- 'support' => 'support', // {site}/support
- 'docs' => 'docs' // {site}/docs
- ]
- ],
- //todo: for compatibility with Robin image optimizer
- 'freemius_plugin_id' => '2315',
- 'freemius_public_key' => 'pk_70e226af07d37d2b9a69720e0952c',
-
- 'has_updates' => true,
- 'updates_settings' => [
- 'repository' => 'github',
- 'alternate_updates_mode' => true,
- 'github_username' => 'Creative-Motion-Development', // обязательно, имя пользователя репозитория в Github
- 'github_authorize_token' => '', // необязательно, только если репозиторий приватный
- 'github_repository' => 'wp-plugin-clearfy', // необязательно, если не заполнено берется из slug
- 'slug' => 'clearfy', // обязательно, slug плагина
- 'maybe_rollback' => false,
- 'rollback_settings' => [
- 'prev_stable_version' => '0.0.0'
- ]
- ],
-
- // PLUGIN PREMIUM SETTINGS
- 'has_premium' => true,
- 'license_settings' => [
- 'provider' => 'freemius',
- 'slug' => 'clearfy_package',
- 'plugin_id' => '2315',
- 'public_key' => 'pk_70e226af07d37d2b9a69720e0952c',
- 'price' => 29,
- 'has_updates' => true,
- 'updates_settings' => [
- 'maybe_rollback' => true,
- 'rollback_settings' => [
- 'prev_stable_version' => '0.0.0'
- ]
- ]
- ],
-
- // PLUGIN SUBSCRIBE FORM
- 'subscribe_widget' => true,
- 'subscribe_settings' => [ 'group_id' => '105407119' ],
-
- // PLUGIN ADVERTS
- 'render_adverts' => true,
- 'adverts_settings' => [
- 'dashboard_widget' => true, // show dashboard widget (default: false)
- 'right_sidebar' => true, // show adverts sidebar (default: false)
- 'notice' => true, // show notice message (default: false)
- ],
- // FRAMEWORK MODULES
- 'load_factory_modules' => [
- [ 'libs/factory/bootstrap', 'factory_bootstrap_482', 'admin' ],
- [ 'libs/factory/forms', 'factory_forms_480', 'admin' ],
- [ 'libs/factory/pages', 'factory_pages_480', 'admin' ],
- [ 'libs/factory/templates', 'factory_templates_134', 'all' ],
- [ 'libs/factory/freemius', 'factory_freemius_170', 'all' ],
- [ 'libs/factory/adverts', 'factory_adverts_159', 'admin' ],
- [ 'libs/factory/logger', 'factory_logger_149', 'all' ],
-
- ],
- 'load_plugin_components' => [
- 'disable_notices' => [
- 'autoload' => 'components/disable-admin-notices/clearfy.php',
- 'plugin_prefix' => 'WDN_'
- ],
- 'cyrlitera' => [
- 'autoload' => 'components/cyrlitera/clearfy.php',
- 'plugin_prefix' => 'WCTR_'
- ],
- 'updates_manager' => [
- 'autoload' => 'components/updates-manager/clearfy.php',
- 'plugin_prefix' => 'WUPM_'
- ],
- 'comments_tools' => [
- 'autoload' => 'components/comments-plus/clearfy.php',
- 'plugin_prefix' => 'WCM_'
- ],
- 'ga_cache' => [
- 'autoload' => 'components/ga-cache/clearfy.php',
- 'plugin_prefix' => 'WGA_'
- ],
- 'assets_manager' => [
- 'autoload' => 'components/assets-manager/clearfy.php',
- 'plugin_prefix' => 'WGZ_'
- ],
- 'minify_and_combine' => [
- 'autoload' => 'components/minify-and-combine/clearfy.php',
- 'plugin_prefix' => 'WMAC_'
- ],
- 'html_minify' => [
- 'autoload' => 'components/html-minify/clearfy.php',
- 'plugin_prefix' => 'WHTM_'
- ],
- 'clearfy_cache' => [
- 'autoload' => 'components/cache/clearfy.php',
- 'plugin_prefix' => 'WCACHE_'
- ],
- ]
-];
-
-
-
-$clearfy_compatibility = new Wbcr_Factory480_Requirements( __FILE__, array_merge( $plugin_info, [
- 'plugin_already_activate' => defined( 'WCL_PLUGIN_ACTIVE' ),
- 'required_php_version' => '7.0',
- 'required_wp_version' => '5.2.0',
- 'required_clearfy_check_component' => false
-] ) );
-
-/**
- * If the plugin is compatible, then it will continue its work, otherwise it will be stopped,
- * and the user will throw a warning.
- */
-if ( ! $clearfy_compatibility->check() ) {
- return;
-}
-
-/**
- * -----------------------------------------------------------------------------
- * CONSTANTS
- * Install frequently used constants and constants for debugging, which will be
- * removed after compiling the plugin.
- * -----------------------------------------------------------------------------
- */
-
-// This plugin is activated
-define( 'WCL_PLUGIN_ACTIVE', true );
-
-// For for compatibility with old plugins
-define( 'WBCR_CLEARFY_PLUGIN_ACTIVE', true );
-
-// Plugin version
-define( 'WCL_PLUGIN_VERSION', $clearfy_compatibility->get_plugin_version() );
-define( 'WCL_FRAMEWORK_VER', 'FACTORY_480_VERSION' );
-
-define( 'WCL_PLUGIN_DIR', dirname( __FILE__ ) );
-define( 'WCL_PLUGIN_BASE', plugin_basename( __FILE__ ) );
-define( 'WCL_PLUGIN_URL', plugins_url( '', __FILE__ ) );
-
-
-
-/**
- * -----------------------------------------------------------------------------
- * PLUGIN INIT
- * -----------------------------------------------------------------------------
- */
-try {
- // creating a plugin via the factory
- require_once( WCL_PLUGIN_DIR . '/libs/factory/core/boot.php' );
- require_once( WCL_PLUGIN_DIR . '/includes/class.plugin.php' );
-
- new WCL_Plugin( __FILE__, array_merge( $plugin_info, [
- 'plugin_version' => WCL_PLUGIN_VERSION,
- 'plugin_text_domain' => $clearfy_compatibility->get_text_domain(),
- ] ) );
-} catch ( Exception $e ) {
- // Plugin wasn't initialized due to an error
- define( 'WCL_PLUGIN_THROW_ERROR', true );
-
- $clearfy_plugin_error_func = function () use ( $e ) {
- $error = sprintf( "The %s plugin has stopped. Error: %s Code: %s", 'Clearfy', $e->getMessage(), $e->getCode() );
- echo '
Clearfy: ' . __( 'We detected that you used the Assets manager plugin. Do you want to import settings from this plugin to the Clearfy plugin?', 'gonzales' ) . '
' . __('There is a button in the adminbar called "Script Manager". If you click on it you will see a list of loaded scripts, styles and fonts on the current page of your site. If you think that one of the assets is superfluous on this page, you can disable it individually, so that it does not create unnecessary queries when page loading. Use the script manager very carefull to non-corrupt your website. We recommend to test this function at a local server.', 'gonzales') . '
- You must set rules to disable the resource.
- For example, if you select Page -> Equals -> All posts, then the script or style will not
- loaded on all pages of type post.', 'gonzales') ?>
-
- You must set rules to disable the resource.
- For example, if you select Page -> Equals -> All posts, then the script or style will not
- loaded on all pages of type post.', 'gonzales') ?>
-
-
-
-
-
-
-
-
-
-
diff --git a/wp-content/plugins/!clearfy/components/cache/admin/activation.php b/wp-content/plugins/!clearfy/components/cache/admin/activation.php
deleted file mode 100644
index 3d7ea1dd..00000000
--- a/wp-content/plugins/!clearfy/components/cache/admin/activation.php
+++ /dev/null
@@ -1,43 +0,0 @@
-, Github: https://github.com/alexkovalevv
- * @copyright (c) 09.03.2018, Webcraftic
- * @see Wbcr_Factory480_Activator
- * @version 1.0
- */
-
-// Exit if accessed directly
-if( !defined('ABSPATH') ) {
- exit;
-}
-
-class WCACHE_Activation extends Wbcr_Factory480_Activator {
-
- /**
- * Runs activation actions.
- *
- * @since 1.0.0
- */
- public function activate()
- {
- require_once WCACHE_PLUGIN_DIR . '/includes/cache.php';
- try {
- WCL_Cache::activate();
- } catch( Exception $e ) {
- //nothing
- }
- }
-
- public function deactivate()
- {
- require_once WCACHE_PLUGIN_DIR . '/includes/cache.php';
- try {
- WCL_Cache::deactivate();
- } catch( Exception $e ) {
- //nothing
- }
- }
-}
diff --git a/wp-content/plugins/!clearfy/components/cache/admin/boot.php b/wp-content/plugins/!clearfy/components/cache/admin/boot.php
deleted file mode 100644
index 2fd49d46..00000000
--- a/wp-content/plugins/!clearfy/components/cache/admin/boot.php
+++ /dev/null
@@ -1,238 +0,0 @@
-
- * @copyright (c) 03.06.2020, Webcraftic
- * @version 1.0
- */
-
-add_filter('wbcr/clearfy/adminbar_menu_items', function ($menu_items) {
- $nonce = wp_create_nonce('wclearfy_cache_delete');
-
- $menu_items['clearfy-clear-all-cache'] = [
- 'id' => 'clearfy-clear-all-cache',
- 'title' => ' ' . __('Clear all cache', 'clearfy'),
- 'href' => esc_url(add_query_arg([
- 'wclearfy_cache_delete' => '1',
- '_wpnonce' => $nonce
- ]))
- ];
-
- return $menu_items;
-});
-
-add_filter("wbcr_clearfy_group_options", function ($options) {
- $options[] = [
- 'name' => 'enable_cache',
- 'title' => __('Enable cache', 'clearfy'),
- 'tags' => ['optimize_performance']
- ];
-
- $options[] = [
- 'name' => 'dont_cache_for_logged_in_users',
- 'title' => __('Don\'t cache for logged-in users', 'clearfy'),
- 'tags' => ['optimize_performance']
- ];
-
- $options[] = [
- 'name' => 'cache_reject_uri',
- 'title' => __('Never Cache URL(s)', 'clearfy'),
- 'tags' => []
- ];
-
- $options[] = [
- 'name' => 'preload_cache',
- 'title' => __('Preload cache', 'clearfy'),
- 'tags' => []
- ];
-
- $options[] = [
- 'name' => 'clear_cache_for_newpost',
- 'title' => __('Clear cache for new post', 'clearfy'),
- 'tags' => ['optimize_performance']
- ];
-
- $options[] = [
- 'name' => 'exclude_files',
- 'title' => __('Filenames that can be cached', 'clearfy'),
- 'tags' => []
- ];
-
- $options[] = [
- 'name' => 'exclude_pages',
- 'title' => __('Rejected User Agents', 'clearfy'),
- 'tags' => []
- ];
-
- $options[] = [
- 'name' => 'gzip',
- 'title' => __('Gzip', 'clearfy'),
- 'tags' => ['optimize_performance']
- ];
-
- $options[] = [
- 'name' => 'browser_caching',
- 'title' => __('Browser Caching', 'clearfy'),
- 'tags' => ['optimize_performance']
- ];
-
- $options[] = [
- 'name' => 'cache_mobile',
- 'title' => __('Mobile', 'clearfy'),
- 'tags' => []
- ];
-
- $options[] = [
- 'name' => 'cache_mobile_theme',
- 'title' => __('Create cache for mobile theme', 'clearfy'),
- 'tags' => []
- ];
-
- $options[] = [
- 'name' => 'widget_cache',
- 'title' => __('Widget Cache', 'clearfy'),
- 'tags' => ['optimize_performance']
- ];
-
- return $options;
-});
-
-add_action('wclearfy/setup_wizard/speed_optimize_step/continue_step', function () {
- require_once WCACHE_PLUGIN_DIR . '/includes/helpers.php';
- try {
- \WCL_Cache_Helpers::modifyHtaccess();
- } catch( \Exception $e ) {
-
- }
-});
-
-add_filter('wclearfy/setup_wizard/speed_optimize_step/form_options', function ($options) {
- array_unshift($options, [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'enable_cache',
- 'title' => __('Enable cache', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'green'],
- 'hint' => __('This option enable cache to generates static html files from your dynamic WordPress blog. After a html file is generated your webserver will serve that file instead of processing the comparatively heavier and more expensive WordPress PHP scripts.', 'clearfy'),
- 'default' => true
- ], [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'gzip',
- 'title' => __('Gzip', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'green'],
- 'hint' => __('Reduce the size of page decrease the page load time a lot. You can reduce the size of page with GZIP compression feature.
-
-If the size of requested files are big, loading takes time so in this case there is needed to reduce the size of files. Gzip Compression feature compresses the pages and resources before sending so the transfer time is reduced.', 'clearfy'),
- 'default' => false
- ], [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'browser_caching',
- 'title' => __('Browser Caching', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'green'],
- 'hint' => __('Reduce the load times of pages by storing commonly used files from your website on your visitors browser.
-
-A browser loads the css, js, images resources to display the web page to the visitors. This process is always performed.
-
-If the commonly used files are cached by browser, the visitors’ browsers do not have to load them evert time so the load times of pages are reduced.', 'clearfy'),
- 'default' => false
- ]);
-
- return $options;
-});
-
-add_action('wclearfy/cache/settings_page/after_form_save', function () {
- if( WCL_Cache_Helpers::is_nginx() && WCL_Plugin::app()->getPopulateOption('enable_cache') ) {
- wp_redirect(WCL_Plugin::app()->getPluginPageUrl('clearfy_cache_nginx_rules'));
- exit;
- }
-}, 10);
-
-add_action('wbcr/factory/pages/impressive/print_all_notices', function ($plugin, $page) {
- if( "clearfy_cache" === $page->id ) {
- if( WCL_Cache_Helpers::is_nginx() && WCL_Plugin::app()->getPopulateOption('enable_cache') ) {
- $button = ' NGINX configuration';
- $page->printWarningNotice("
" . __("Clearfy will work out of the box on NGINX servers. But if you want to get the best performance results, place the NGINX rules we generated in your server config. It enables NGINX to directly serve previously cached files without calling WordPress or any PHP. It also adds headers to cached CSS, JS, and images via browser cache.", 'wbcr_factory_pages_480') . "
- " Read More",
- 99 => "define('WP_CACHE', true); is needed to be added into wp-config.php",
- 100 => "You have to set permalinks",
- 101 => "Fast Velocity Minify needs to be deactivated",
- 102 => 'Far Future Expiration Plugin needs to be deactivated',
- 103 => "SG Optimizer needs to be deactived",
- 104 => "AdRotate needs to be deactived",
- 105 => "MobilePress needs to be deactived",
- 106 => "Speed Booster Pack needs to be deactived",
- 107 => "WP Performance Score Booster needs to be deactivated This plugin has aldready Gzip, Leverage Browser Caching features",
- 109 => "Check and Enable GZIP compression needs to be deactivated This plugin has aldready Gzip feature",
- 110 => "GZippy needs to be deactivated This plugin has aldready Gzip feature",
- 111 => "GZip Ninja Speed Compression needs to be deactivated This plugin has aldready Gzip feature",
- 112 => "WordPress Gzip Compression needs to be deactivated This plugin has aldready Gzip feature",
- 113 => "GZIP Output needs to be deactivated This plugin has aldready Gzip feature",
- 114 => "Head Cleaner needs to be deactivated",
- 115 => "Far Future Expiration Plugin needs to be deactivated",
- ];
-
-
- /**
- * @param WCL_Plugin $plugin
- */
- public function __construct(WCL_Plugin $plugin)
- {
- $this->menu_title = __('Cache', 'clearfy');
- $this->page_menu_short_description = __('Cache pages', 'clearfy');
-
- if( $plugin->premium->is_activate() && $plugin->premium->is_install_package() ) {
- $this->available_for_multisite = true;
- }
-
- parent::__construct($plugin);
-
- $this->plugin = $plugin;
- }
-
- /**
- * We register notifications for some actions
- *
- * @param $notices
- * @param \Wbcr_Factory480_Plugin $plugin
- *
- * @return array
- * @see libs\factory\pages\themplates\FactoryPages480_ImpressiveThemplate
- */
- public function getActionNotices($notices)
- {
-
- $notices[] = [
- 'conditions' => [
- 'wclearfy-cache-cleared' => 1
- ],
- 'type' => 'success',
- 'message' => 'Cache has been cleared!'
- ];
-
- foreach($this->errors as $key => $error_message) {
- $notices[] = [
- 'conditions' => [
- 'wclearfy-cache-error' => $key
- ],
- 'type' => 'danger',
- 'message' => $error_message
- ];
- }
-
- return $notices;
- }
-
- /**
- * Permalinks options.
- *
- * @return mixed[]
- * @since 1.0.0
- */
- public function getPageOptions()
- {
- $options = [];
-
- $options[] = [
- 'type' => 'html',
- 'html' => '
' . __('Cache settings', 'clearfy') . '
' . __('A very fast caching engine for WordPress that produces static html files. You can configure caching in this section.', 'clearfy') . '
'
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'enable_cache',
- 'title' => __('Enable cache', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'green'],
- 'hint' => __('This option enable cache to generates static html files from your dynamic WordPress blog. After a html file is generated your webserver will serve that file instead of processing the comparatively heavier and more expensive WordPress PHP scripts.', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'dont_cache_for_logged_in_users',
- 'title' => __('Don\'t cache for logged-in users', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'green'],
- 'hint' => __('Don\'t show the cached version for logged-in users', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'gzip',
- 'title' => __('Gzip', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'green'],
- 'hint' => __('Reduce the size of page decrease the page load time a lot. You can reduce the size of page with GZIP compression feature.
-
-If the size of requested files are big, loading takes time so in this case there is needed to reduce the size of files. Gzip Compression feature compresses the pages and resources before sending so the transfer time is reduced.', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'browser_caching',
- 'title' => __('Browser Caching', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'green'],
- 'hint' => __('Reduce the load times of pages by storing commonly used files from your website on your visitors browser.
-
-A browser loads the css, js, images resources to display the web page to the visitors. This process is always performed.
-
-If the commonly used files are cached by browser, the visitors’ browsers do not have to load them evert time so the load times of pages are reduced.', 'clearfy'),
- 'default' => false
- ];
-
- $options[] = [
- 'type' => 'textarea',
- 'name' => 'cache_reject_uri',
- 'title' => __('Never Cache URL(s)', 'clearfy'),
- //'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('Specify URLs of pages or posts that should never be cached (one per line). The domain part of the URL will be stripped automatically.
-Use (.*) wildcards to address multiple URLs under a given path.', 'clearfy'),
- ];
-
- $options[] = [
- 'type' => 'textarea',
- 'name' => 'cache_reject_user_agents',
- 'title' => __('Rejected User Agents', 'clearfy'),
- 'default' => "facebookexternalhit\nTwitterbot\nLinkedInBot\nWhatsApp\nMediatoolkitbot",
- //'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('Strings in the HTTP ’User Agent’ header that prevent WP-Cache from caching bot, spiders, and crawlers’ requests. Note that super cached files are still sent to these agents if they already exists.', 'clearfy'),
- ];
-
- $options[] = [
- 'type' => 'textarea',
- 'name' => 'cache_reject_cookies',
- 'title' => __('Rejected Cookies', 'clearfy'),
- //'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('Do not cache pages when these cookies are set. Add the cookie names here, one per line. Matches on fragments, so "test" will match "WordPress_test_cookie". (Simple caching only)', 'clearfy'),
- ];
-
- $options[] = [
- 'type' => 'more-link',
- 'name' => 'cache-group',
- 'title' => __('Advanced options', 'clearfy'),
- 'count' => 8,
- 'items' => [
- [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'cache_mobile',
- 'title' => __('Mobile', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __("Don't show the cached version for desktop to mobile devices", 'clearfy'),
- 'default' => false
- ],
-
- [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'cache_mobile_theme',
- 'title' => __('Create cache for mobile theme', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('If you use a mobile theme, you should enable both “Mobile” and “Create cache for mobile theme” options. If you use a responsive theme, no need to use the mobile cache feature. You should disable “Mobile” and “Create cache for mobile theme” options.', 'clearfy'),
- 'default' => false,
- ],
-
- [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'widget_cache',
- 'title' => __('Widget Cache', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('You can reduce the number of sql queries with this feature.
-
-When “Cache System” is enabled, the page is saved as a static html file, thus PHP and MySQL does not work for the page which has been cached. MySQL and PHP work to generate the html of the other pages which have not been cached yet.
-
-Every time before the cache is created, the same widgets are generated again and again. This feature avoids generating the widgets again and again to reduce the sql queries.', 'clearfy'),
- 'default' => true,
- ],
-
- [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'preload_cache',
- 'title' => __('Preload cache', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('The preload feature stars to work after delete cache.
-
-When the Preload feature calls the urls, the cache of urls are created automatically. When all the pages are cached, the preload stops working. When the cache is clear, it starts working again.
-
-The Preload runs every 5 minutes. If you want set a specific interval. Note: The preload feature works with the WP_CRON system.', 'clearfy'),
- 'default' => false
- ],
- [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'clear_cache_for_newpost',
- 'title' => __('Clear cache for new post', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('Clear cache files when a post or page is published', 'clearfy'),
- 'default' => true
- ],
-
- [
- 'type' => 'checkbox',
- 'way' => 'buttons',
- 'name' => 'clear_cache_for_updated_post',
- 'title' => __('Clear cache for updated Post', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('Clear cache files when a post or page is updated', 'clearfy'),
- 'default' => true
- ],
- [
- 'type' => 'textarea',
- 'name' => 'exclude_files',
- 'title' => __('Filenames that can be cached', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('Add here those filenames that can be cached, even if they match one of the rejected substring specified above.', 'clearfy'),
- 'default' => 'wp-comments-popup.php
-wp-links-opml.php
-wp-locations.php
-'
- ],
- [
- 'type' => 'textarea',
- 'name' => 'exclude_pages',
- 'title' => __('Rejected User Agents', 'clearfy'),
- 'layout' => ['hint-type' => 'icon', 'hint-icon-color' => 'grey'],
- 'hint' => __('Strings in the HTTP ’User Agent’ header that prevent WP-Cache from caching bot, spiders, and crawlers’ requests. Note that super cached files are still sent to these agents if they already exists.', 'clearfy'),
- 'default' => 'bot
-ia_archive
-slurp
-crawl
-spider
-Yandex
-'
- ]
- ]
- ];
-
- $form_options = [];
- $form_options[] = [
- 'type' => 'form-group',
- 'items' => $options,
- //'cssClass' => 'postbox'
- ];
-
- return apply_filters('wclearfy_cache_form_options', $form_options, $this);
- }
-
- public function afterFormSave()
- {
- try {
- do_action("wclearfy/cache/settings_page/after_form_save");
-
- WCL_Cache_Helpers::modifyHtaccess();
- } catch( Exception $e ) {
- if( !empty($e->getCode()) && isset($this->errors[$e->getCode()]) ) {
- $this->redirectToAction('index', ['wclearfy-cache-error' => $e->getCode()]);
- }
- }
- }
-}
diff --git a/wp-content/plugins/!clearfy/components/cache/cache.php b/wp-content/plugins/!clearfy/components/cache/cache.php
deleted file mode 100644
index 10d28445..00000000
--- a/wp-content/plugins/!clearfy/components/cache/cache.php
+++ /dev/null
@@ -1,40 +0,0 @@
-
- * Version: 1.0.3
- * Text Domain: clearfy_cache
- * Domain Path: /languages/
- * Author URI: https://webcraftic.com
- * Framework Version: FACTORY_480_VERSION
- */
-
-// Exit if accessed directly
-if( !defined('ABSPATH') ) {
- exit;
-}
-
-/**
- * Developers who contributions in the development plugin:
- *
- * Alexander Kovalev
- * ---------------------------------------------------------------------------------
- * Full plugin development.
- *
- * Email: alex.kovalevv@gmail.com
- * Personal card: https://alexkovalevv.github.io
- * Personal repo: https://github.com/alexkovalevv
- * ---------------------------------------------------------------------------------
- */
-
-/**
- * -----------------------------------------------------------------------------
- * CHECK REQUIREMENTS
- * Check compatibility with php and wp version of the user's site. As well as checking
- * compatibility with other plugins from Webcraftic.
- * -----------------------------------------------------------------------------
- */
-
-//todo: Fill the file if need release alone plugin
\ No newline at end of file
diff --git a/wp-content/plugins/!clearfy/components/cache/clearfy.php b/wp-content/plugins/!clearfy/components/cache/clearfy.php
deleted file mode 100644
index 91af27d2..00000000
--- a/wp-content/plugins/!clearfy/components/cache/clearfy.php
+++ /dev/null
@@ -1,52 +0,0 @@
-, Github: https://github.com/alexkovalevv
- * @copyright (c) 2018 Webraftic Ltd
- */
-
-// Exit if accessed directly
-if( !defined('ABSPATH') ) {
- exit;
-}
-
-if( !defined('WCACHE_PLUGIN_ACTIVE') ) {
- define('WCACHE_PLUGIN_VERSION', '1.0.3');
- define('WCACHE_TEXT_DOMAIN', 'clearfy_cache');
- define('WCACHE_PLUGIN_ACTIVE', true);
-
- // Этот плагин загружен, как аддон для плагина Clearfy
- define('LOADING_CLEARFY_CACHE_AS_ADDON', true);
-
- if( !defined('WCACHE_PLUGIN_DIR') ) {
- define('WCACHE_PLUGIN_DIR', dirname(__FILE__));
- }
-
- if( !defined('WCACHE_PLUGIN_BASE') ) {
- define('WCACHE_PLUGIN_BASE', plugin_basename(__FILE__));
- }
-
- if( !defined('WCACHE_PLUGIN_URL') ) {
- define('WCACHE_PLUGIN_URL', plugins_url('', __FILE__));
- }
-
- try {
- // Global scripts
- require_once(WCACHE_PLUGIN_DIR . '/includes/3rd-party/class-clearfy-plugin.php');
- new WCACHE_Plugin();
- } catch( Exception $e ) {
- $wcache_plugin_error_func = function () use ($e) {
- $error = sprintf("The %s plugin has stopped. Error: %s Code: %s", 'Webcraftic Clearfy Cache', $e->getMessage(), $e->getCode());
- echo '