https://t.me/AnonymousX5
Server : Apache/2
System : Linux vps.sdns.vn 3.10.0-1160.15.2.el7.x86_64 #1 SMP Wed Feb 3 15:06:38 UTC 2021 x86_64
User : phatdatpq ( 1022)
PHP Version : 7.2.34
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/phatdatpq/public_html/wp-content/plugins/breeze/inc/cache/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/phatdatpq/public_html/wp-content/plugins/breeze/inc/cache/ecommerce-cache.php
<?php
defined( 'ABSPATH' ) or die('Not allow!');

/*
 * Class for E-commerce Cache
 */
class Breeze_Ecommerce_Cache {
	public function __construct() {
		add_action( 'activated_plugin', array($this,'detect_ecommerce_activation') );
		add_action( 'deactivated_plugin', array($this,'detect_ecommerce_deactivation') );
		add_action( 'wp_loaded', array($this,'update_ecommerce_activation') );
	}

	// After woocommerce active,merge array disable page config
	public function detect_ecommerce_activation($plugin){
		if( 'woocommerce/woocommerce.php' == $plugin){
			update_option('breeze_ecommerce_detect',1);
		}
	}

	// Delete option detect when deactivate woo
	public function detect_ecommerce_deactivation($plugin){
		if( 'woocommerce/woocommerce.php' == $plugin){
			delete_option('breeze_ecommerce_detect');
		}
	}

	// Update option when Woocimmerce active
	public function update_ecommerce_activation() {
		$check = get_option('breeze_ecommerce_detect');
		if( stripos($_SERVER['REQUEST_URI'],'wc-setup&step=locale') !== false){
			global $wp_filesystem;
			if ( empty( $wp_filesystem ) ) {
				require_once( ABSPATH . '/wp-admin/includes/file.php' );
				WP_Filesystem();
			}
			Breeze_ConfigCache::write_config_cache();
		}
		if (!empty($check)) {
			global $wp_filesystem;
			if ( empty( $wp_filesystem ) ) {
				require_once( ABSPATH . '/wp-admin/includes/file.php' );
				WP_Filesystem();
			}
			Breeze_ConfigCache::write_config_cache();
			update_option('breeze_ecommerce_detect', 0);
		}
	}

	/**
	 * Exclude pages of e-commerce from cache
	 */
	public function ecommerce_exclude_pages(){
		$urls = array();
		$regex = '*';

		if(class_exists('WooCommerce') && function_exists('wc_get_page_id')){
			$cardId = wc_get_page_id('cart');
			$checkoutId = wc_get_page_id('checkout');
			$myaccountId = wc_get_page_id('myaccount');

			if($cardId > 0){
				$urls[] = $this->get_basic_urls($cardId);
				// Get url through multi-languages plugin
				$urls = $this->get_translate_urls($urls, $cardId);
			}

			if($checkoutId > 0){
				$urls[] =  $this->get_basic_urls($checkoutId , $regex);
				// Get url through multi-languages plugin
				$urls = $this->get_translate_urls($urls, $checkoutId, $regex );
			}

			if($myaccountId > 0){
				$urls[] = $this->get_basic_urls($myaccountId , $regex);
				// Get url through multi-languages plugin
				$urls = $this->get_translate_urls($urls, $myaccountId, $regex );
			}

			// Process urls to return
			$urls = array_unique($urls);
			$urls = array_map(array($this,'rtrim_urls'),$urls);
		}

		return $urls;
	}

	/*
	 * Return basic url without translate plugin
	 */
	public function get_basic_urls($postID , $regex = null){
		$permalink = get_option('permalink_structure');

		if(!empty($permalink)) {
			// Custom URL structure
			$url = parse_url(get_permalink($postID),PHP_URL_PATH);
		}else {
			$url = get_permalink($postID);
		}

		return $url . $regex;
	}

	/*
	* Return translate url without translate plugin
	*/

	public function get_translate_urls($urls ,$postID , $regex = null){
		// WPML plugin
		if ( class_exists('SitePress')){
			global $sitepress;
			if(isset($sitepress)){
				$active_languages = $sitepress->get_active_languages();

				if(!empty($active_languages)){
					$languages = array_keys($active_languages);
					foreach ($languages as $language){
						$translatedId = icl_object_id($postID, 'page', false, $language);

						if(empty($translatedId)) continue;

						$urls[] = $this->get_basic_urls($translatedId,$regex);
					}
				}
			}
		}

		// Polylang plugin
		if( class_exists('Polylang') && function_exists('pll_languages_list') && function_exists('PLL')){
			$translatedId = pll_get_post_translations($postID);

			if(!empty($translatedId)){
				foreach ($translatedId as $id){
					$urls[] = $this->get_basic_urls($id,$regex);
				}
			}
		}

		// qTranslate-x plugin
		require_once (ABSPATH.'wp-admin/includes/plugin.php');
		if(is_plugin_active('qtranslate-x/qtranslate.php')){
			global $q_config;
			if(isset($q_config) && function_exists('qtranxf_convertURL')){
				$url = $this->get_basic_urls($postID);

				if(!empty($q_config['enabled_languages'])){
					foreach ($q_config['enabled_languages'] as $language){
						$urls[] =  qtranxf_convertURL( $url, $language , true);
					}
				}

			}
		}

		return $urls;
	}

	/*
	 * Remove '/' chacracter of end url
	 */
	public function rtrim_urls($url){
		return rtrim($url,'/');
	}

	public static function factory() {
		static $instance;

		if ( ! $instance ) {
			$instance = new self();
		}
		return $instance;
	}
}

https://t.me/AnonymousX5 - 2025