/** * Check if AJAX works as expected * * @since 2.2 * @return bool True if AJAX works, false otherwise */ function edd_test_ajax_works() { // Check if the Airplane Mode plugin is installed if (class_exists('Airplane_Mode_Core')) { $airplane = Airplane_Mode_Core::getInstance(); if (method_exists($airplane, 'enabled')) { if ($airplane->enabled()) { return true; } } else { if ($airplane->check_status() == 'on') { return true; } } } add_filter('block_local_requests', '__return_false'); if (get_transient('_edd_ajax_works')) { return true; } $params = array('sslverify' => false, 'timeout' => 30, 'body' => array('action' => 'edd_test_ajax')); $ajax = wp_remote_post(edd_get_ajax_url(), $params); $works = true; if (is_wp_error($ajax)) { $works = false; } else { if (empty($ajax['response'])) { $works = false; } if (empty($ajax['response']['code']) || 200 !== (int) $ajax['response']['code']) { $works = false; } if (empty($ajax['response']['message']) || 'OK' !== $ajax['response']['message']) { $works = false; } if (!isset($ajax['body']) || 0 !== (int) $ajax['body']) { $works = false; } } if ($works) { set_transient('_edd_ajax_works', '1', DAY_IN_SECONDS); } return $works; }
/** * Set default options on admin_init if option doesn't exist * * @since 1.0.0 * @access public * @return void */ private function _default_cleanup() { // Fix the global variable name if ($this->args['global_variable'] == "" && $this->args['global_variable'] !== false) { $this->args['global_variable'] = str_replace('-', '_', $this->args['opt_name']); } // Force dev_mode on WP_DEBUG = true and if it's a local server if (Redux_Helpers::isLocalHost() || Redux_Helpers::isWpDebug()) { if ($this->args['dev_mode'] != true) { $this->args['update_notice'] = false; } $this->dev_mode_forced = true; $this->args['dev_mode'] = true; if (isset($this->args['forced_dev_mode_off']) && $this->args['forced_dev_mode_off'] == true) { $this->dev_mode_forced = false; $this->args['dev_mode'] = false; } } // Auto create the page_slug appropriately if (empty($this->args['page_slug'])) { if (!empty($this->args['display_name'])) { $this->args['page_slug'] = sanitize_html_class($this->args['display_name']); } else { if (!empty($this->args['page_title'])) { $this->args['page_slug'] = sanitize_html_class($this->args['page_title']); } else { if (!empty($this->args['menu_title'])) { $this->args['page_slug'] = sanitize_html_class($this->args['menu_title']); } else { $this->args['page_slug'] = str_replace('-', '_', $this->args['opt_name']); } } } } if (isset($this->args['customizer_only']) && $this->args['customizer_only'] == true) { $this->args['menu_type'] = 'hidden'; $this->args['customizer'] = true; $this->args['admin_bar'] = false; $this->args['allow_sub_menu'] = false; } // Check if the Airplane Mode plugin is installed if (class_exists('Airplane_Mode_Core')) { $airplane = Airplane_Mode_Core::getInstance(); if (method_exists($airplane, 'enabled')) { if ($airplane->enabled()) { $this->args['use_cdn'] = false; } } else { if ($airplane->check_status() == 'on') { $this->args['use_cdn'] = false; } } } }
// bail if disabled if (!$this->enabled()) { return $nonmenu_tabs; } // set an array of tabs to be removed with optional filter if (false === ($remove = apply_filters('airplane_mode_bulk_items', array('featured', 'popular', 'recommended', 'favorites', 'beta')))) { return $nonmenu_tabs; } // loop the item array and unset each foreach ($remove as $key) { unset($nonmenu_tabs[$key]); } // return the tabs return $nonmenu_tabs; } /** * Increase HTTP request counter by one. * * @return null */ public function count_http_requests() { $this->http_count++; } } // end class } //end class_exists // Instantiate our class $Airplane_Mode_Core = Airplane_Mode_Core::getInstance();