ב הוא חיבור של הרב יהושע בועז שתוכנו מראי מקומות למקורותشسdggרות הל555ה התafhgfh
במסgרות ה gh//شی הוא חיבור של הרב יהושע בועז שתוכנו מראי מקומות למקורותהתנדaghhhhו12ין יעל, המעציfghfghfע
/
www-data
/
sites
/
naresh-newwordpress
/
wp-content
/
plugins
/
hummingbird-performance
/
admin
/
ajax
/
caching
/
Upload FileeE
HOME
<?php /** * Integrations AJAX actions. * * @since 3.0.0 * @package Hummingbird\Admin\Ajax\Caching */ namespace Hummingbird\Admin\Ajax\Caching; use Hummingbird\Core\Modules\Cloudflare; use Hummingbird\Core\Utils; if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class Integrations. */ class Integrations { /** * Integrations constructor. */ public function __construct() { $endpoints = array( 'cloudflare_status', 'cloudflare_apo_status', 'cloudflare_disconnect', 'cloudflare_zones', 'cloudflare_clear_cache', 'cloudflare_save_zone', 'cloudflare_toggle_apo', 'cloudflare_toggle_device_cache', ); foreach ( $endpoints as $endpoint ) { add_action( "wp_ajax_wphb_react_{$endpoint}", array( $this, $endpoint ) ); } } /** * Get Cloudflare status. * * @since 3.0.0 */ public function cloudflare_status() { // Check permission. if ( ! current_user_can( Utils::get_admin_capability() ) ) { die(); } $options = Utils::get_module( 'cloudflare' )->get_options(); $expiry = Utils::get_module( 'cloudflare' )->get_caching_expiration(); $frequencies = Cloudflare::get_frequencies(); wp_send_json_success( array( 'cloudflare' => array( 'accountId' => $options['account_id'], 'connected' => Utils::get_module( 'cloudflare' )->is_connected(), 'dnsSet' => Utils::get_module( 'cloudflare' )->has_cloudflare(), 'expiry' => $expiry, 'human' => $frequencies[ $expiry ], 'zone' => $options['zone'], 'zoneName' => $options['zone_name'], ), 'apo' => array( 'enabled' => Utils::get_module( 'cloudflare' )->is_apo_enabled(), 'purchased' => $options['apo_paid'], 'settings' => $options['apo'], ), ) ); } /** * Check Cloudflare APO status. * * @since 3.0.0 */ public function cloudflare_apo_status() { check_ajax_referer( 'wphb-fetch' ); // Check permission. if ( ! current_user_can( Utils::get_admin_capability() ) ) { die(); } Utils::get_module( 'cloudflare' )->get_apo_settings(); $this->cloudflare_status(); wp_send_json_success(); } /** * Disconnect Cloudflare. * * @since 3.0.0 */ public function cloudflare_disconnect() { check_ajax_referer( 'wphb-fetch' ); // Check permission. if ( ! current_user_can( Utils::get_admin_capability() ) ) { die(); } Utils::get_module( 'cloudflare' )->disconnect(); $this->cloudflare_status(); } /** * Check Cloudflare zones. * * @since 3.0.0 */ public function cloudflare_zones() { check_ajax_referer( 'wphb-fetch' ); // Check permission. if ( ! current_user_can( Utils::get_admin_capability() ) ) { die(); } $zones = Utils::get_module( 'cloudflare' )->get_zones_list(); // This will end processing if zones are an issue. Utils::get_module( 'cloudflare' )->validate_zones( $zones ); $status = Utils::get_module( 'cloudflare' )->process_zones( $zones ); // Could not match a zone. if ( ! $status ) { wp_send_json_success( array( 'zones' => $zones ) ); } wp_send_json_success(); } /** * Clear Cloudflare cache. * * @since 3.0.0 */ public function cloudflare_clear_cache() { check_ajax_referer( 'wphb-fetch' ); // Check permission. if ( ! current_user_can( Utils::get_admin_capability() ) ) { die(); } Utils::get_module( 'cloudflare' )->clear_cache(); wp_send_json_success(); } /** * Save selected Cloudflare zone. * * @since 3.0.0 */ public function cloudflare_save_zone() { check_ajax_referer( 'wphb-fetch' ); // Check permission. if ( ! current_user_can( Utils::get_admin_capability() ) ) { die(); } $zone = filter_input( INPUT_POST, 'data', FILTER_UNSAFE_RAW ); $zone = json_decode( html_entity_decode( $zone ), true ); $zones = Utils::get_module( 'cloudflare' )->get_zones_list(); // This will end processing if zones are an issue. Utils::get_module( 'cloudflare' )->validate_zones( $zones ); $options = Utils::get_module( 'cloudflare' )->get_options(); // Set the module as enabled. if ( ! $options['enabled'] ) { $options['enabled'] = true; Utils::get_module( 'cloudflare' )->update_options( $options ); } Utils::get_module( 'cloudflare' )->process_zones( $zones, $zone ); $this->cloudflare_status(); } /** * Toggle Cloudflare APO. * * @since 3.0.0 */ public function cloudflare_toggle_apo() { check_ajax_referer( 'wphb-fetch' ); // Check permission. if ( ! current_user_can( Utils::get_admin_capability() ) ) { die(); } $status = filter_input( INPUT_POST, 'data', FILTER_UNSAFE_RAW ); $status = json_decode( html_entity_decode( $status ), true ); Utils::get_module( 'cloudflare' )->toggle_apo( $status ); $options = Utils::get_module( 'cloudflare' )->get_options(); wp_send_json_success( array( 'enabled' => Utils::get_module( 'cloudflare' )->is_apo_enabled(), 'purchased' => $options['apo_paid'], 'settings' => $options['apo'], ) ); } /** * Toggle Cloudflare APO cache by device type setting. * * @since 3.0.0 */ public function cloudflare_toggle_device_cache() { check_ajax_referer( 'wphb-fetch' ); // Check permission. if ( ! current_user_can( Utils::get_admin_capability() ) ) { die(); } $status = filter_input( INPUT_POST, 'data', FILTER_UNSAFE_RAW ); $status = json_decode( html_entity_decode( $status ), true ); Utils::get_module( 'cloudflare' )->toggle_cache_by_device( $status ); $options = Utils::get_module( 'cloudflare' )->get_options(); wp_send_json_success( array( 'enabled' => Utils::get_module( 'cloudflare' )->is_apo_enabled(), 'purchased' => $options['apo_paid'], 'settings' => $options['apo'], ) ); } }