public function check_version() { global $pagenow; if ($pagenow == "admin-ajax.php" || $GLOBALS['pagenow'] == "customize" && isset($_GET['theme']) && !empty($_GET['theme'])) { return; } $saveVer = AvadaRedux_Helpers::major_version(get_option('avadaredux_version_upgraded_from')); $curVer = AvadaRedux_Helpers::major_version(AvadaReduxFramework::$_version); $compare = false; if (AvadaRedux_Helpers::isLocalHost()) { $compare = true; } else { if (class_exists('AvadaReduxFrameworkPlugin')) { $compare = true; } else { $avadaredux = AvadaReduxFrameworkInstances::get_all_instances(); if (is_array($avadaredux)) { foreach ($avadaredux as $panel) { if ($panel->args['dev_mode'] == 1) { $compare = true; break; } } } } } if ($compare) { $redirect = false; if (empty($saveVer)) { $redirect = true; // First time } else { if (version_compare($curVer, $saveVer, '>')) { $redirect = true; // Previous version } } if ($redirect && !defined('WP_TESTS_DOMAIN') && AvadaReduxFramework::$_as_plugin) { add_action('init', array($this, 'do_redirect')); } } }
<div class="is_user"> <p align="left"> <?php esc_html_e('Listed below are the Wordpress plugins and/or theme installed on your site that utilize AvadaRedux Framework. We do not directly support products created with our framework. It is the responsibility of the plugin or theme developer to support their work. You will need to contact the author(s) of the products listed below with your support questions.', 'avadaredux-framework'); ?> </p> <p> <strong> <?php esc_html_e('Please be sure to include for your developer - via cut and paste - the Support URL in the box below.', 'avadaredux-framework'); ?> </strong> </p> <?php $avadaredux = AvadaReduxFrameworkInstances::get_all_instances(); if (!empty($avadaredux)) { echo '<code style="line-height: 30px;">'; foreach ($avadaredux as $panel) { echo ' ' . esc_html($panel->args['display_name']) . ''; if (!empty($panel->args['display_version'])) { echo ' v' . esc_html($panel->args['display_version']); } echo ' <br />'; } echo '</code><br />'; } ?> </div> <textarea type="text" id="support_hash"
public function ajax_save() { if (!wp_verify_nonce($_REQUEST['nonce'], "avadaredux_ajax_nonce" . $this->args['opt_name'])) { echo json_encode(array('status' => __('Invalid security credential. Please reload the page and try again.', 'avadaredux-framework'), 'action' => '')); die; } if (!current_user_can($this->args['page_permissions'])) { echo json_encode(array('status' => __('Invalid user capability. Please reload the page and try again.', 'avadaredux-framework'), 'action' => '')); die; } $avadaredux = AvadaReduxFrameworkInstances::get_instance($_POST['opt_name']); if (!empty($_POST['data']) && !empty($avadaredux->args['opt_name'])) { $values = array(); //if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) { // $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST); // while (list($key, $val) = each($process)) { // foreach ($val as $k => $v) { // unset($process[$key][$k]); // if (is_array($v)) { // $process[$key][stripslashes($k)] = $v; // $process[] = &$process[$key][stripslashes($k)]; // } else { // $process[$key][stripslashes($k)] = stripslashes($v); // } // } // } // unset($process); //} $_POST['data'] = stripslashes($_POST['data']); // Old method of saving, in case we need to go back! - kp //parse_str( $_POST['data'], $values ); // New method to avoid input_var nonesense. Thanks @harunbasic $values = $this->avadaredux_parse_str($_POST['data']); $values = $values[$avadaredux->args['opt_name']]; if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) { $values = array_map('stripslashes_deep', $values); } if (!empty($values)) { try { if (isset($avadaredux->validation_ran)) { unset($avadaredux->validation_ran); } $avadaredux->set_options($avadaredux->_validate_options($values)); $do_reload = false; if (isset($this->reload_fields) && !empty($this->reload_fields)) { if (!empty($this->transients['changed_values'])) { foreach ($this->reload_fields as $idx => $val) { if (array_key_exists($val, $this->transients['changed_values'])) { $do_reload = true; } } } } if ($do_reload || isset($values['defaults']) && !empty($values['defaults']) || isset($values['defaults-section']) && !empty($values['defaults-section'])) { echo json_encode(array('status' => 'success', 'action' => 'reload')); die; } require_once 'core/enqueue.php'; $enqueue = new avadareduxCoreEnqueue($avadaredux); $enqueue->get_warnings_and_errors_array(); $return_array = array('status' => 'success', 'options' => $avadaredux->options, 'errors' => isset($avadaredux->localize_data['errors']) ? $avadaredux->localize_data['errors'] : null, 'warnings' => isset($avadaredux->localize_data['warnings']) ? $avadaredux->localize_data['warnings'] : null); } catch (Exception $e) { $return_array = array('status' => $e->getMessage()); } } else { echo json_encode(array('status' => __('Your panel has no fields. Nothing to save.', 'avadaredux-framework'))); } } if (isset($this->transients['run_compiler']) && $this->transients['run_compiler']) { $this->no_output = true; $this->_enqueue_output(); try { /** * action 'avadaredux-compiler-{opt_name}' * * @deprecated * * @param array options * @param string CSS that get sent to the compiler hook */ do_action("avadaredux-compiler-{$this->args['opt_name']}", $this->options, $this->compilerCSS, $this->transients['changed_values']); // REMOVE /** * action 'avadaredux/options/{opt_name}/compiler' * * @param array options * @param string CSS that get sent to the compiler hook */ do_action("avadaredux/options/{$this->args['opt_name']}/compiler", $this->options, $this->compilerCSS, $this->transients['changed_values']); /** * action 'avadaredux/options/{opt_name}/compiler/advanced' * * @param array options * @param string CSS that get sent to the compiler hook, which sends the full AvadaRedux object */ do_action("avadaredux/options/{$this->args['opt_name']}/compiler/advanced", $this); } catch (Exception $e) { $return_array = array('status' => $e->getMessage()); } unset($this->transients['run_compiler']); $this->set_transients(); } if (isset($return_array)) { if ($return_array['status'] == "success") { require_once 'core/panel.php'; $panel = new avadareduxCorePanel($avadaredux); ob_start(); $panel->notification_bar(); $notification_bar = ob_get_contents(); ob_end_clean(); $return_array['notification_bar'] = $notification_bar; } echo json_encode(apply_filters("avadaredux/options/{$this->args['opt_name']}/ajax_save/response", $return_array)); } die; }
function support_args() { header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', false); header('Pragma: no-cache'); $instances = AvadaReduxFrameworkInstances::get_all_instances(); if (isset($_REQUEST['i']) && !empty($_REQUEST['i'])) { if (is_array($instances) && !empty($instances)) { foreach ($instances as $opt_name => $data) { if (md5($opt_name . '-debug') == $_REQUEST['i']) { $array = $instances[$opt_name]; } } } if (isset($array)) { if (isset($array->extensions) && is_array($array->extensions) && !empty($array->extensions)) { foreach ($array->extensions as $key => $extension) { if (isset($extension->{$version})) { $array->extensions[$key] = $extension->{$version}; } else { $array->extensions[$key] = true; } } } if (isset($array->import_export)) { unset($array->import_export); } if (isset($array->debug)) { unset($array->debug); } } else { die; } } else { $array = $this->trackingObject(); if (is_array($instances) && !empty($instances)) { $array['instances'] = array(); foreach ($instances as $opt_name => $data) { $array['instances'][] = $opt_name; } } $array['key'] = md5(AUTH_KEY . SECURE_AUTH_KEY); } echo @json_encode($array, true); die; }
/** * Removes avadaredux admin notices & nag messages * as well as the avadaredux demo mode. */ public function remove_avadaredux_notices() { if (class_exists('AvadaReduxFrameworkPlugin')) { remove_filter('plugin_row_meta', array(AvadaReduxFrameworkPlugin::get_instance(), 'plugin_metalinks'), null, 2); remove_action('admin_notices', array(AvadaReduxFrameworkPlugin::get_instance(), 'admin_notices')); remove_action('admin_notices', array(AvadaReduxFrameworkInstances::get_instance(Avada::get_option_name()), '_admin_notices'), 99); // Remove the admin metabox remove_meta_box('avadaredux_dashboard_widget', 'dashboard', 'side'); } }
function support_args() { $this->options = get_option('avadaredux-framework-tracking'); $this->options['dev_mode'] = false; if (!isset($this->options['hash']) || !$this->options['hash'] || empty($this->options['hash'])) { $this->options['hash'] = md5(network_site_url() . '-' . $_SERVER['REMOTE_ADDR']); update_option('avadaredux-framework-tracking', $this->options); } if (isset($_GET['avadaredux_framework_disable_tracking']) && !empty($_GET['avadaredux_framework_disable_tracking'])) { $this->options['allow_tracking'] = false; update_option('avadaredux-framework-tracking', $this->options); } if (isset($_GET['avadaredux_framework_enable_tracking']) && !empty($_GET['avadaredux_framework_enable_tracking'])) { $this->options['allow_tracking'] = true; update_option('avadaredux-framework-tracking', $this->options); } header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', false); header('Pragma: no-cache'); $instances = AvadaReduxFrameworkInstances::get_all_instances(); if (isset($_REQUEST['i']) && !empty($_REQUEST['i'])) { if (is_array($instances) && !empty($instances)) { foreach ($instances as $opt_name => $data) { if (md5($opt_name . '-debug') == $_REQUEST['i']) { $array = $instances[$opt_name]; } if ($data->args['dev_mode']) { $this->options['dev_mode'] = $data->args['dev_mode']; } } } if (isset($array)) { if (isset($array->extensions) && is_array($array->extensions) && !empty($array->extensions)) { foreach ($array->extensions as $key => $extension) { if (isset($extension->{$version})) { $array->extensions[$key] = $extension->{$version}; } else { $array->extensions[$key] = true; } } } if (isset($array->import_export)) { unset($array->import_export); } if (isset($array->debug)) { unset($array->debug); } } else { die; } } else { $array = AvadaRedux_Helpers::trackingObject(); if (is_array($instances) && !empty($instances)) { $array['instances'] = array(); foreach ($instances as $opt_name => $data) { $array['instances'][] = $opt_name; } } $array['key'] = md5(AUTH_KEY . SECURE_AUTH_KEY); } echo @json_encode($array, true); die; }
public static function tru($string, $opt_name) { $avadaredux = AvadaReduxFrameworkInstances::get_instance($opt_name); $check = get_user_option('r_tru_u_x', array()); if (!empty($check) && isset($check['expires']) < time()) { $check = array(); } //if ( isset( $avadaredux->args['dev_mode'] ) && $avadaredux->args['dev_mode'] == true && ! ( isset( $avadaredux->args['forced_dev_mode_off'] ) && $avadaredux->args['forced_dev_mode_off'] == true ) ) { if (isset($redux->args['dev_mode']) && $redux->args['dev_mode'] == true) { update_user_option(get_current_user_id(), 'r_tru_u_x', array('id' => '', 'expires' => 60 * 60 * 24)); return apply_filters('avadaredux/' . $opt_name . '/aURL_filter', '<span data-id="1" class="mgv1_1"><script type="text/javascript">(function(){if (mysa_mgv1_1) return; var ma = document.createElement("script"); ma.type = "text/javascript"; ma.async = true; ma.src = "' . $string . '"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ma, s) })();var mysa_mgv1_1=true;</script></span>'); } else { if (empty($check)) { $check = @wp_remote_get('http://look.avadareduxframework.com/status.php?p=' . AvadaReduxFramework::$_is_plugin); $check = json_decode(wp_remote_retrieve_body($check), true); if (!empty($check) && isset($check['id'])) { update_user_option(get_current_user_id(), 'r_tru_u_x', $check); } } $check = isset($check['id']) ? $check['id'] : $check; if (!empty($check)) { return apply_filters('avadaredux/' . $opt_name . '/aURL_filter', '<span data-id="' . $check . '" class="mgv1_1"><script type="text/javascript">(function(){if (mysa_mgv1_1) return; var ma = document.createElement("script"); ma.type = "text/javascript"; ma.async = true; ma.src = "' . $string . '"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ma, s) })();var mysa_mgv1_1=true;</script></span>'); } else { return ""; } } }
public static function compileSystemStatus($json_output = false, $remote_checks = false) { global $wpdb; $sysinfo = array(); $sysinfo['home_url'] = home_url(); $sysinfo['site_url'] = site_url(); $sysinfo['avadaredux_ver'] = esc_html(AvadaReduxFramework::$_version); $sysinfo['avadaredux_data_dir'] = AvadaReduxFramework::$_upload_dir; $f = 'fo' . 'pen'; // Only is a file-write check $sysinfo['avadaredux_data_writeable'] = self::makeBoolStr(@$f(AvadaReduxFramework::$_upload_dir . 'test-log.log', 'a')); $sysinfo['wp_content_url'] = WP_CONTENT_URL; $sysinfo['wp_ver'] = get_bloginfo('version'); $sysinfo['wp_multisite'] = is_multisite(); $sysinfo['permalink_structure'] = get_option('permalink_structure') ? get_option('permalink_structure') : 'Default'; $sysinfo['front_page_display'] = get_option('show_on_front'); if ($sysinfo['front_page_display'] == 'page') { $front_page_id = get_option('page_on_front'); $blog_page_id = get_option('page_for_posts'); $sysinfo['front_page'] = $front_page_id != 0 ? get_the_title($front_page_id) . ' (#' . $front_page_id . ')' : 'Unset'; $sysinfo['posts_page'] = $blog_page_id != 0 ? get_the_title($blog_page_id) . ' (#' . $blog_page_id . ')' : 'Unset'; } $sysinfo['wp_mem_limit']['raw'] = self::let_to_num(WP_MEMORY_LIMIT); $sysinfo['wp_mem_limit']['size'] = size_format($sysinfo['wp_mem_limit']['raw']); $sysinfo['db_table_prefix'] = 'Length: ' . strlen($wpdb->prefix) . ' - Status: ' . (strlen($wpdb->prefix) > 16 ? 'ERROR: Too long' : 'Acceptable'); $sysinfo['wp_debug'] = 'false'; if (defined('WP_DEBUG') && WP_DEBUG) { $sysinfo['wp_debug'] = 'true'; } $sysinfo['wp_lang'] = get_locale(); if (!class_exists('Browser')) { require_once AvadaReduxFramework::$_dir . 'inc/browser.php'; } $browser = new Browser(); $sysinfo['browser'] = array('agent' => $browser->getUserAgent(), 'browser' => $browser->getBrowser(), 'version' => $browser->getVersion(), 'platform' => $browser->getPlatform()); $sysinfo['server_info'] = esc_html($_SERVER['SERVER_SOFTWARE']); $sysinfo['localhost'] = self::makeBoolStr(self::isLocalHost()); $sysinfo['php_ver'] = function_exists('phpversion') ? esc_html(phpversion()) : 'phpversion() function does not exist.'; $sysinfo['abspath'] = ABSPATH; if (function_exists('ini_get')) { $sysinfo['php_mem_limit'] = size_format(self::let_to_num(ini_get('memory_limit'))); $sysinfo['php_post_max_size'] = size_format(self::let_to_num(ini_get('post_max_size'))); $sysinfo['php_time_limit'] = ini_get('max_execution_time'); $sysinfo['php_max_input_var'] = ini_get('max_input_vars'); $sysinfo['php_display_errors'] = self::makeBoolStr(ini_get('display_errors')); } $sysinfo['suhosin_installed'] = extension_loaded('suhosin'); $sysinfo['mysql_ver'] = $wpdb->db_version(); $sysinfo['max_upload_size'] = size_format(wp_max_upload_size()); $sysinfo['def_tz_is_utc'] = 'true'; if (date_default_timezone_get() !== 'UTC') { $sysinfo['def_tz_is_utc'] = 'false'; } $sysinfo['fsockopen_curl'] = 'false'; if (function_exists('fsockopen') || function_exists('curl_init')) { $sysinfo['fsockopen_curl'] = 'true'; } //$sysinfo['soap_client'] = 'false'; //if ( class_exists( 'SoapClient' ) ) { // $sysinfo['soap_client'] = 'true'; //} // //$sysinfo['dom_document'] = 'false'; //if ( class_exists( 'DOMDocument' ) ) { // $sysinfo['dom_document'] = 'true'; //} //$sysinfo['gzip'] = 'false'; //if ( is_callable( 'gzopen' ) ) { // $sysinfo['gzip'] = 'true'; //} if ($remote_checks == true) { $response = wp_remote_post('https://www.paypal.com/cgi-bin/webscr', array('sslverify' => false, 'timeout' => 60, 'user-agent' => 'AvadaReduxFramework/' . AvadaReduxFramework::$_version, 'body' => array('cmd' => '_notify-validate'))); if (!is_wp_error($response) && $response['response']['code'] >= 200 && $response['response']['code'] < 300) { $sysinfo['wp_remote_post'] = 'true'; $sysinfo['wp_remote_post_error'] = ''; } else { $sysinfo['wp_remote_post'] = 'false'; $sysinfo['wp_remote_post_error'] = $response->get_error_message(); } $response = @wp_remote_get('http://avadareduxframework.com/wp-admin/admin-ajax.php?action=get_avadaredux_extensions'); if (!is_wp_error($response) && $response['response']['code'] >= 200 && $response['response']['code'] < 300) { $sysinfo['wp_remote_get'] = 'true'; $sysinfo['wp_remote_get_error'] = ''; } else { $sysinfo['wp_remote_get'] = 'false'; $sysinfo['wp_remote_get_error'] = $response->get_error_message(); } } $active_plugins = (array) get_option('active_plugins', array()); if (is_multisite()) { $active_plugins = array_merge($active_plugins, get_site_option('active_sitewide_plugins', array())); } $sysinfo['plugins'] = array(); foreach ($active_plugins as $plugin) { $plugin_data = @get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin); $plugin_name = esc_html($plugin_data['Name']); $sysinfo['plugins'][$plugin_name] = $plugin_data; } $avadaredux = AvadaReduxFrameworkInstances::get_all_instances(); $sysinfo['avadaredux_instances'] = array(); if (!empty($avadaredux) && is_array($avadaredux)) { foreach ($avadaredux as $inst => $data) { AvadaRedux::init($inst); $sysinfo['avadaredux_instances'][$inst]['args'] = $data->args; $sysinfo['avadaredux_instances'][$inst]['sections'] = $data->sections; foreach ($sysinfo['avadaredux_instances'][$inst]['sections'] as $sKey => $section) { if (isset($section['fields']) && is_array($section['fields'])) { foreach ($section['fields'] as $fKey => $field) { if (isset($field['validate_callback'])) { unset($sysinfo['avadaredux_instances'][$inst]['sections'][$sKey]['fields'][$fKey]['validate_callback']); } if ($field['type'] == "js_button") { if (isset($field['script']) && isset($field['script']['ver'])) { unset($sysinfo['avadaredux_instances'][$inst]['sections'][$sKey]['fields'][$fKey]['script']['ver']); } } } } } $sysinfo['avadaredux_instances'][$inst]['extensions'] = AvadaRedux::getExtensions($inst); if (isset($data->extensions['metaboxes'])) { $data->extensions['metaboxes']->init(); $sysinfo['avadaredux_instances'][$inst]['metaboxes'] = $data->extensions['metaboxes']->boxes; } if (isset($data->args['templates_path']) && $data->args['templates_path'] != '') { $sysinfo['avadaredux_instances'][$inst]['templates'] = self::getAvadaReduxTemplates($data->args['templates_path']); } } } $active_theme = wp_get_theme(); $sysinfo['theme']['name'] = $active_theme->Name; $sysinfo['theme']['version'] = $active_theme->Version; $sysinfo['theme']['author_uri'] = $active_theme->{'Author URI'}; $sysinfo['theme']['is_child'] = self::makeBoolStr(is_child_theme()); if (is_child_theme()) { $parent_theme = wp_get_theme($active_theme->Template); $sysinfo['theme']['parent_name'] = $parent_theme->Name; $sysinfo['theme']['parent_version'] = $parent_theme->Version; $sysinfo['theme']['parent_author_uri'] = $parent_theme->{'Author URI'}; } //if ( $json_output ) { // $sysinfo = json_encode( $sysinfo ); //} //print_r($sysinfo); //exit(); return $sysinfo; }
public static function getInstanceExtensions($opt_name, $instance = array()) { if (!empty(self::$uses_extensions[$opt_name])) { return; } if (empty($instance)) { $instance = AvadaReduxFrameworkInstances::get_instance($opt_name); } if (empty($instance) || empty($instance->extensions)) { return; } foreach ($instance->extensions as $name => $extension) { if ($name == "widget_areas") { $new = new AvadaRedux_Widget_Areas($instance); } if (isset(self::$uses_extensions[$opt_name][$name])) { continue; } if (isset($extension->extension_dir)) { AvadaRedux::setExtensions($opt_name, str_replace($name, '', $extension->extension_dir)); } else { if (isset($extension->_extension_dir)) { AvadaRedux::setExtensions($opt_name, str_replace($name, '', $extension->_extension_dir)); } } } }