コード例 #1
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;
 }
コード例 #2
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');
     }
 }
コード例 #3
0
 public static function localize($localize)
 {
     $avadaredux = AvadaReduxFrameworkInstances::get_instance($localize['args']['opt_name']);
     $nonce = wp_create_nonce('avadaredux-ads-nonce');
     $base = admin_url('admin-ajax.php') . '?action=avadaredux_p&nonce=' . $nonce . '&url=';
     $localize['rAds'] = AvadaRedux_Helpers::rURL_fix($base, $avadaredux->args['opt_name']);
     return $localize;
 }
コード例 #4
0
 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 "";
         }
     }
 }
コード例 #5
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));
             }
         }
     }
 }