File "WooCommercePrivateStore.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/ajax-search-for-woocommerce/includes/Integrations/Plugins/WooCommercePrivateStore/WooCommercePrivateStore.php
File size: 2.39 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* @dgwt_wcas_premium_only
*/
namespace DgoraWcas\Integrations\Plugins\WooCommercePrivateStore;
use DgoraWcas\Helpers;
// Exit if accessed directly
if ( !defined( 'ABSPATH' ) ) {
exit;
}
/**
* Integration with WooCommerce Private Store
*
* Plugin URL: https://barn2.co.uk/wordpress-plugins/woocommerce-private-store/
* Author: Barn2 Plugins
*/
class WooCommercePrivateStore {
public function init() {
if ( !defined( '\\Barn2\\Plugin\\WC_Private_Store\\PLUGIN_VERSION' ) ) {
return;
}
if ( version_compare( \Barn2\Plugin\WC_Private_Store\PLUGIN_VERSION, '1.6.3' ) < 0 ) {
return;
}
if ( !dgoraAsfwFs()->is_premium() ) {
add_filter(
'http_request_args',
array($this, 'httpRequestArgs'),
10,
2
);
add_filter( 'dgwt/wcas/search_results/output', array($this, 'hideSearchResults') );
}
}
/**
* Pass Private Store cookie to search request on search page
*
* @param $args
* @param $url
*
* @return mixed
*/
public function httpRequestArgs( $args, $url ) {
if ( defined( 'DGWT_WCAS_SEARCH_ACTION' ) && defined( 'WCPS_COOKIE_PREFIX' ) && strpos( $url, \WC_AJAX::get_endpoint( \DGWT_WCAS_SEARCH_ACTION ) ) !== false ) {
$cookie = \filter_input( \INPUT_COOKIE, \WCPS_COOKIE_PREFIX . \COOKIEHASH );
if ( !empty( $cookie ) ) {
$args['cookies'] = array(
\WCPS_COOKIE_PREFIX . \COOKIEHASH => $cookie,
);
}
}
return $args;
}
/**
* Return empty results if store is locked
*
* @param $output
*
* @return array
*/
public function hideSearchResults( $output ) {
if ( !apply_filters( 'dgwt/wcas/integrations/woocommerce-private-store/hide-search-results', true ) ) {
return $output;
}
if ( is_callable( '\\Barn2\\Plugin\\WC_Private_Store\\Util::store_locked' ) ) {
if ( \Barn2\Plugin\WC_Private_Store\Util::store_locked() ) {
$output['total'] = 0;
$output['suggestions'] = array(array(
'value' => '',
'type' => 'no-results',
));
$output['time'] = '0 sec';
}
}
return $output;
}
}