Exemplo n.º 1
0
 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'));
         }
     }
 }
Exemplo n.º 2
0
				<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 '&nbsp;' . esc_html($panel->args['display_name']) . '';
        if (!empty($panel->args['display_version'])) {
            echo ' v' . esc_html($panel->args['display_version']);
        }
        echo '&nbsp;<br />';
    }
    echo '</code><br />';
}
?>
				</div>
				<textarea type="text"
						  id="support_hash"
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 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;
 }
Exemplo n.º 5
0
 /**
  * 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;
 }
Exemplo n.º 9
0
 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));
             }
         }
     }
 }