コード例 #1
0
 function set_json_file($options, $css, $changed)
 {
     $arr = array('type' => !empty($options['opt-message-type']) ? $options['opt-message-type'] : 'updated', 'title' => $options['opt-message-title'], 'message' => $options['opt-message'], 'color' => !empty($options['opt-message-color']['rgba']) ? $options['opt-message-color']['rgba'] : '#00A2E3');
     $json = json_encode($arr);
     $redux = ReduxFrameworkInstances::get_instance($this->opt_name);
     $params = array('content' => $json);
     $redux->filesystem->execute('put_contents', ReduxFramework::$_upload_dir . 'redux_notice.json', $params);
 }
コード例 #2
0
 public static function loadRedux($opt_name = "")
 {
     $check = ReduxFrameworkInstances::get_instance($opt_name);
     if (isset($check->apiHasRun)) {
         return;
     }
     $args = self::constructArgs($opt_name);
     $sections = self::constructSections($opt_name);
     if (!class_exists('ReduxFramework')) {
         echo '<div id="message" class="error"><p>Redux Framework is <strong>not installed</strong>. Please install it.</p></div>';
         return;
     }
     if (isset(self::$uses_extensions[$opt_name]) && !empty(self::$uses_extensions[$opt_name])) {
         add_action("redux/extensions/{$opt_name}/before", array('Redux', 'loadExtensions'), 0);
     }
     $redux = new ReduxFramework($sections, $args);
     $redux->apiHasRun = 1;
 }
コード例 #3
0
 public static function getInstanceExtensions($opt_name, $instance = array())
 {
     if (!empty(self::$uses_extensions[$opt_name])) {
         return;
     }
     if (empty($instance)) {
         $instance = ReduxFrameworkInstances::get_instance($opt_name);
     }
     if (empty($instance) || empty($instance->extensions)) {
         return;
     }
     foreach ($instance->extensions as $name => $extension) {
         if ($name == "widget_areas") {
             $new = new Redux_Widget_Areas($instance);
         }
         if (isset(self::$uses_extensions[$opt_name][$name])) {
             continue;
         }
         if (isset($extension->extension_dir)) {
             Redux::setExtensions($opt_name, str_replace($name, '', $extension->extension_dir));
         } else {
             if (isset($extension->_extension_dir)) {
                 Redux::setExtensions($opt_name, str_replace($name, '', $extension->_extension_dir));
             }
         }
     }
 }
コード例 #4
0
 public function ajax_save()
 {
     if (!wp_verify_nonce($_REQUEST['nonce'], "redux_ajax_nonce")) {
         json_encode(array('status' => __('Invalid security credential, please reload the page and try again.', 'redux-framework'), 'action' => 'reload'));
         die;
     }
     $redux = ReduxFrameworkInstances::get_instance($_POST['opt_name']);
     if (!empty($_POST['data']) && !empty($redux->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']);
         parse_str($_POST['data'], $values);
         $values = $values[$redux->args['opt_name']];
         if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) {
             $values = array_map('stripslashes_deep', $values);
         }
         //$beforeDeep = $values;
         //// Ace editor hack for < PHP 5.4. Oy
         //if ( isset( $this->fields['ace_editor'] ) ) {
         //    if ( function_exists( 'get_magic_quotes_gpc' ) && get_magic_quotes_gpc() ) {
         //        foreach ( $this->fields['ace_editor'] as $id => $v ) {
         //            if ( version_compare( phpversion(), '5.4', '<' ) ) {
         //                $values[ $id ] = stripslashes( $beforeDeep[ $id ] );
         //            } else {
         //                $values[ $id ] = $beforeDeep[ $id ];
         //            }
         //        }
         //    }
         //}
         if (!empty($values)) {
             try {
                 if (isset($redux->validation_ran)) {
                     unset($redux->validation_ran);
                 }
                 $redux->set_options($redux->_validate_options($values));
                 if (isset($values['defaults']) && !empty($values['defaults']) || isset($values['defaults-section']) && !empty($values['defaults-section'])) {
                     echo json_encode(array('status' => 'success', 'action' => 'reload'));
                     die;
                 }
                 include_once 'core/enqueue.php';
                 $enqueue = new reduxCoreEnqueue($redux);
                 $enqueue->get_warnings_and_errors_array();
                 include_once 'core/panel.php';
                 $panel = new reduxCorePanel($redux);
                 ob_start();
                 $panel->notification_bar();
                 $notification_bar = ob_get_contents();
                 ob_end_clean();
                 $success = array('status' => 'success', 'options' => $redux->options, 'errors' => isset($redux->localize_data['errors']) ? $redux->localize_data['errors'] : null, 'warnings' => isset($redux->localize_data['warnings']) ? $redux->localize_data['warnings'] : null, 'notification_bar' => $notification_bar);
                 echo json_encode($success);
             } catch (Exception $e) {
                 echo json_encode(array('status' => $e->getMessage()));
             }
         } else {
             echo json_encode(array('status' => __('Your panel has no fields. Nothing to save.', 'redux-framework')));
         }
     }
     if (isset($this->transients['run_compiler']) && $this->transients['run_compiler']) {
         $this->no_output = true;
         $this->_enqueue_output();
         /**
          * action 'redux-compiler-{opt_name}'
          *
          * @deprecated
          *
          * @param array  options
          * @param string CSS that get sent to the compiler hook
          */
         do_action("redux-compiler-{$this->args['opt_name']}", $this->options, $this->compilerCSS, $this->transients['changed_values']);
         // REMOVE
         /**
          * action 'redux/options/{opt_name}/compiler'
          *
          * @param array  options
          * @param string CSS that get sent to the compiler hook
          */
         do_action("redux/options/{$this->args['opt_name']}/compiler", $this->options, $this->compilerCSS, $this->transients['changed_values']);
         /**
          * action 'redux/options/{opt_name}/compiler/advanced'
          *
          * @param array  options
          * @param string CSS that get sent to the compiler hook, which sends the full Redux object
          */
         do_action("redux/options/{$this->args['opt_name']}/compiler/advanced", $this);
         unset($this->transients['run_compiler']);
         $this->set_transients();
     }
     die;
 }
コード例 #5
0
ファイル: lib.redux_instances.php プロジェクト: zruiz/NG
 /**
  * Retreive an instance of ReduxFramework
  *
  * @param  string $opt_name the defined opt_name as passed in $args
  *
  * @return object                ReduxFramework
  */
 function get_redux_instance($opt_name)
 {
     return ReduxFrameworkInstances::get_instance($opt_name);
 }
コード例 #6
0
ファイル: framework.php プロジェクト: jesusmarket/jesusmarket
 public function ajax_save()
 {
     if (!wp_verify_nonce($_REQUEST['nonce'], "redux_ajax_nonce" . $this->args['opt_name'])) {
         echo json_encode(array('status' => __('Invalid security credential.  Please reload the page and try again.', 'redux-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.', 'redux-framework'), 'action' => ''));
         die;
     }
     $redux = ReduxFrameworkInstances::get_instance($_POST['opt_name']);
     if (!empty($_POST['data']) && !empty($redux->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->redux_parse_str($_POST['data']);
         $values = $values[$redux->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($redux->validation_ran)) {
                     unset($redux->validation_ran);
                 }
                 $redux->set_options($redux->_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 reduxCoreEnqueue($redux);
                 $enqueue->get_warnings_and_errors_array();
                 $return_array = array('status' => 'success', 'options' => $redux->options, 'errors' => isset($redux->localize_data['errors']) ? $redux->localize_data['errors'] : null, 'warnings' => isset($redux->localize_data['warnings']) ? $redux->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.', 'redux-framework')));
         }
     }
     if (isset($this->transients['run_compiler']) && $this->transients['run_compiler']) {
         $this->no_output = true;
         $this->_enqueue_output();
         try {
             /**
              * action 'redux-compiler-{opt_name}'
              *
              * @deprecated
              *
              * @param array  options
              * @param string CSS that get sent to the compiler hook
              */
             do_action("redux-compiler-{$this->args['opt_name']}", $this->options, $this->compilerCSS, $this->transients['changed_values']);
             // REMOVE
             /**
              * action 'redux/options/{opt_name}/compiler'
              *
              * @param array  options
              * @param string CSS that get sent to the compiler hook
              */
             do_action("redux/options/{$this->args['opt_name']}/compiler", $this->options, $this->compilerCSS, $this->transients['changed_values']);
             /**
              * action 'redux/options/{opt_name}/compiler/advanced'
              *
              * @param array  options
              * @param string CSS that get sent to the compiler hook, which sends the full Redux object
              */
             do_action("redux/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 reduxCorePanel($redux);
             ob_start();
             $panel->notification_bar();
             $notification_bar = ob_get_contents();
             ob_end_clean();
             $return_array['notification_bar'] = $notification_bar;
         }
         echo json_encode(apply_filters("redux/options/{$this->args['opt_name']}/ajax_save/response", $return_array));
     }
     die;
 }
コード例 #7
0
ファイル: importer.php プロジェクト: prosenjit-itobuz/Unitee
function porto_import()
{
    global $wpdb, $porto_settings;
    if (current_user_can('manage_options') && isset($_GET['page']) && $_GET['page'] == 'porto_settings') {
        if (isset($_GET['import_sample_content'])) {
            if (!defined('WP_LOAD_IMPORTERS')) {
                define('WP_LOAD_IMPORTERS', true);
            }
            // we are loading importers
            if (!class_exists('WP_Importer')) {
                // if main importer class doesn't exist
                $wp_importer = ABSPATH . 'wp-admin/includes/class-wp-importer.php';
                include $wp_importer;
            }
            if (!class_exists('WP_Import')) {
                // if WP importer doesn't exist
                $wp_import = porto_plugins . '/importer/wordpress-importer.php';
                include $wp_import;
            }
            if (class_exists('WP_Importer') && class_exists('WP_Import')) {
                // check for main import class and wp import class
                // update visual composer content types
                update_option('wpb_js_content_types', array('post', 'page', 'block', 'faq', 'member', 'portfolio'));
                $importer = new WP_Import();
                // Import Woocommerce Products
                if (class_exists('WooCommerce')) {
                    // update woocommerce image sizes
                    $catalog = array('width' => '300', 'height' => '400', 'crop' => 1);
                    $single = array('width' => '500', 'height' => '666', 'crop' => 1);
                    $thumbnail = array('width' => '90', 'height' => '90', 'crop' => 1);
                    // Image sizes
                    add_image_size('shop_thumbnail', $thumbnail['width'], $thumbnail['height'], $thumbnail['crop']);
                    add_image_size('shop_catalog', $catalog['width'], $catalog['height'], $catalog['crop']);
                    add_image_size('shop_single', $single['width'], $single['height'], $single['crop']);
                    $theme_xml = porto_plugins . '/importer/data/dummy_data_with_woo.xml.gz';
                    $importer->fetch_attachments = true;
                    ob_start();
                    $importer->import($theme_xml);
                    ob_end_clean();
                    // Set woocommerce pages
                    $woopages = array('woocommerce_shop_page_id' => 'Shop', 'woocommerce_cart_page_id' => 'Cart', 'woocommerce_checkout_page_id' => 'Checkout', 'woocommerce_myaccount_page_id' => 'My Account');
                    foreach ($woopages as $woo_page_name => $woo_page_title) {
                        $woopage = get_page_by_title($woo_page_title);
                        if (isset($woopage) && $woopage->ID) {
                            update_option($woo_page_name, $woopage->ID);
                            // Front Page
                        }
                    }
                    // We no longer need to install pages
                    $notices = array_diff(get_option('woocommerce_admin_notices', array()), array('install', 'update'));
                    update_option('woocommerce_admin_notices', $notices);
                    delete_option('_wc_needs_pages');
                    delete_transient('_wc_activation_redirect');
                } else {
                    $theme_xml = porto_plugins . '/importer/data/dummy_data_without_woo.xml.gz';
                    $importer->fetch_attachments = true;
                    ob_start();
                    $importer->import($theme_xml);
                    ob_end_clean();
                }
                // Set imported menus to registered theme locations
                $locations = get_theme_mod('nav_menu_locations');
                // registered menu locations in theme
                $menus = wp_get_nav_menus();
                // registered menus
                if ($menus) {
                    foreach ($menus as $menu) {
                        // assign menus to theme locations
                        if ($menu->name == 'Main Menu') {
                            $locations['main_menu'] = $menu->term_id;
                        } else {
                            if ($menu->name == 'Top Navigation') {
                                $locations['top_nav'] = $menu->term_id;
                            } else {
                                if ($menu->name == 'View Switcher') {
                                    $locations['view_switcher'] = $menu->term_id;
                                } else {
                                    if ($menu->name == 'Currency Switcher') {
                                        $locations['currency_switcher'] = $menu->term_id;
                                    }
                                }
                            }
                        }
                    }
                }
                set_theme_mod('nav_menu_locations', $locations);
                // set menus to locations
                // Set reading options
                $homepage = get_page_by_title('Home Version 1');
                $posts_page = get_page_by_title('Blog');
                if ($homepage && $homepage->ID || $posts_page && $posts_page->ID) {
                    update_option('show_on_front', 'page');
                    if ($homepage && $homepage->ID) {
                        update_option('page_on_front', $homepage->ID);
                        // Front Page
                    }
                    if ($posts_page && $posts_page->ID) {
                        update_option('page_for_posts', $posts_page->ID);
                        // Blog Page
                    }
                }
                // Add sidebar widget areas
                $sidebars = array('Shortcodes' => 'Shortcodes');
                update_option('sbg_sidebars', $sidebars);
                flush_rewrite_rules();
                // finally redirect to success page
                wp_redirect(admin_url('admin.php?page=porto_settings&import_success=true'));
            }
        }
        if (isset($_GET['import_masterslider'])) {
            // Import master sliders
            if (class_exists('MSP_Importer')) {
                for ($i = 1; $i < 11; $i++) {
                    ob_start();
                    include porto_plugins . '/importer/data/master_slider_' . $i . '.json';
                    $master_slider_data = ob_get_clean();
                    $master_slider_importer = new MSP_Importer();
                    ob_start();
                    $master_slider_importer->import_data($master_slider_data);
                    ob_end_clean();
                }
            }
            flush_rewrite_rules();
            // finally redirect to success page
            wp_redirect(admin_url('admin.php?page=porto_settings&import_masterslider_success=true'));
        }
        if (isset($_GET['import_widget'])) {
            // Import widgets
            ob_start();
            include porto_plugins . '/importer/data/widget_data.json';
            $widget_data = ob_get_clean();
            porto_import_widget_data($widget_data);
            flush_rewrite_rules();
            // finally redirect to success page
            wp_redirect(admin_url('admin.php?page=porto_settings&import_widget_success=true'));
        }
        if (isset($_GET['import_theme_options'])) {
            $demo = $_GET['import_theme_options'];
            ob_start();
            include porto_plugins . '/importer/data/theme_options' . $demo . '.php';
            $theme_options = ob_get_clean();
            $options = json_decode($theme_options, true);
            $redux = ReduxFrameworkInstances::get_instance('porto_settings');
            $redux->set_options($options);
            porto_compile_css(true);
            porto_save_theme_settings();
            // Set reading options
            if (!$demo) {
                $page_title = 'Home Version 1';
            } else {
                if ($demo == '_rtl') {
                    $page_title = 'Home RTL Version';
                } else {
                    $page_title = 'Home Version ' . str_replace('_', '', $demo);
                }
            }
            $homepage = get_page_by_title($page_title);
            $posts_page = get_page_by_title('Blog');
            if ($homepage && $homepage->ID || $posts_page && $posts_page->ID) {
                update_option('show_on_front', 'page');
                if ($homepage && $homepage->ID) {
                    update_option('page_on_front', $homepage->ID);
                    // Front Page
                }
                if ($posts_page && $posts_page->ID) {
                    update_option('page_for_posts', $posts_page->ID);
                    // Blog Page
                }
            }
            flush_rewrite_rules();
            // finally redirect to success page
            wp_redirect(admin_url('admin.php?page=porto_settings&import_options_success=true'));
        }
    }
}
コード例 #8
0
 public function ajax_save()
 {
     if (!wp_verify_nonce($_REQUEST['nonce'], "redux_ajax_nonce")) {
         json_encode(array('status' => __('Invalid security credential, please reload the page and try again.', 'redux-framework'), 'action' => 'reload'));
         die;
     }
     $redux = ReduxFrameworkInstances::get_instance($_POST['opt_name']);
     if (!empty($_POST['data']) && !empty($redux->args['opt_name'])) {
         $values = array();
         parse_str($_POST['data'], $values);
         $values = $values[$redux->args['opt_name']];
         $values = array_map('stripslashes_deep', $values);
         if (!empty($values)) {
             try {
                 if (isset($redux->validation_ran)) {
                     unset($redux->validation_ran);
                 }
                 $redux->set_options($redux->_validate_options($values));
                 if (isset($values['defaults']) && !empty($values['defaults']) || isset($values['defaults-section']) && !empty($values['defaults-section'])) {
                     echo json_encode(array('status' => 'success', 'action' => 'reload'));
                     die;
                 }
                 include_once 'core/enqueue.php';
                 $enqueue = new reduxCoreEnqueue($redux);
                 $enqueue->get_warnings_and_errors_array();
                 include_once 'core/panel.php';
                 $panel = new reduxCorePanel($redux);
                 ob_start();
                 $panel->notification_bar();
                 $notification_bar = ob_get_contents();
                 ob_end_clean();
                 $success = array('status' => 'success', 'options' => $redux->options, 'errors' => isset($redux->localize_data['errors']) ? $redux->localize_data['errors'] : null, 'warnings' => isset($redux->localize_data['warnings']) ? $redux->localize_data['warnings'] : null, 'notification_bar' => $notification_bar);
                 echo json_encode($success);
             } catch (Exception $e) {
                 echo json_encode(array('status' => $e->getMessage()));
             }
         } else {
             echo json_encode(array('status' => __('Your panel has no fields. Nothing to save.', 'redux-framework')));
         }
     }
     if (isset($this->transients['run_compiler']) && $this->transients['run_compiler']) {
         $this->no_output = true;
         $this->_enqueue_output();
         /**
          * action 'redux-compiler-{opt_name}'
          *
          * @deprecated
          *
          * @param array  options
          * @param string CSS that get sent to the compiler hook
          */
         do_action("redux-compiler-{$this->args['opt_name']}", $this->options, $this->compilerCSS, $this->transients['changed_values']);
         // REMOVE
         /**
          * action 'redux/options/{opt_name}/compiler'
          *
          * @param array  options
          * @param string CSS that get sent to the compiler hook
          */
         do_action("redux/options/{$this->args['opt_name']}/compiler", $this->options, $this->compilerCSS, $this->transients['changed_values']);
         /**
          * action 'redux/options/{opt_name}/compiler/advanced'
          *
          * @param array  options
          * @param string CSS that get sent to the compiler hook, which sends the full Redux object
          */
         do_action("redux/options/{$this->args['opt_name']}/compiler/advanced", $this);
         unset($this->transients['run_compiler']);
         $this->set_transients();
     }
     die;
 }
コード例 #9
0
ファイル: importer.php プロジェクト: shwetadubey/upfit
function getbowtied_demo_importer()
{
    global $wpdb, $getbowtied_settings;
    if (current_user_can('manage_options')) {
        if (!defined('WP_LOAD_IMPORTERS')) {
            define('WP_LOAD_IMPORTERS', true);
        }
        // we are loading importers
        if (!class_exists('WP_Importer')) {
            // if main importer class doesn't exist
            include ABSPATH . 'wp-admin/includes/class-wp-importer.php';
        }
        if (!class_exists('WP_Import')) {
            // if WP importer doesn't exist
            include get_template_directory() . '/backend/functions/wordpress-importer/wordpress-importer.php';
        }
        if (class_exists('WP_Importer') && class_exists('WP_Import')) {
            // check for main import class and wp import class
            $demo_type = $_POST['demo_type'];
            if (THEME_SLUG == 'the_retailer') {
                switch ($demo_type) {
                    default:
                        // reading settings
                        $homepage_title = 'Home V1 - Ecommerce';
                        $blog_title = 'Blog';
                }
            } else {
                if (THEME_SLUG == 'shopkeeper') {
                    switch ($demo_type) {
                        default:
                            // reading settings
                            $homepage_title = 'Home V1 — Full-screen Slider';
                            $blog_title = 'FASHION REPORT';
                    }
                } else {
                    if (THEME_SLUG == 'mr_tailor') {
                        switch ($demo_type) {
                            default:
                                // reading settings
                                $homepage_title = 'Home V1';
                                $blog_title = 'Blog';
                        }
                    } else {
                    }
                }
            }
            add_filter('intermediate_image_sizes_advanced', 'getbowtied_filter_image_sizes');
            if (!is_dir(get_home_path() . '/wp-content/uploads/demos/')) {
                mkdir(get_home_path() . '/wp-content/uploads/demos/');
            }
            /* 
             ** Download and save GZ file
             */
            $theme_demo_xml_file_url = $getbowtied_settings['demo_xml_file_url'];
            $theme_demo_xml_file = get_home_path() . '/wp-content/uploads/demos/demo.gz';
            $remote = gzopen($theme_demo_xml_file_url, "rb");
            $home = fopen($theme_demo_xml_file, "w");
            while ($string = gzread($remote, 4096)) {
                fwrite($home, $string, strlen($string));
            }
            gzclose($remote);
            fclose($home);
            /*
             ** Download and save Theme Options .txt file
             */
            $theme_options_file_url = $getbowtied_settings['options_file_url'];
            $rsp = wp_remote_get($theme_options_file_url);
            $file = $rsp['body'];
            $theme_options_file = get_home_path() . '/wp-content/uploads/demos/theme_options.txt';
            $fp = fopen($theme_options_file, "w");
            fwrite($fp, $file);
            fclose($fp);
            $importer = new WP_Import();
            $importer->fetch_attachments = true;
            ob_start();
            $importer->import($theme_demo_xml_file);
            ob_end_clean();
            if (class_exists('Woocommerce')) {
                $woopages = array('woocommerce_shop_page_id' => 'Shop', 'woocommerce_cart_page_id' => 'Cart', 'woocommerce_checkout_page_id' => 'Checkout', 'woocommerce_myaccount_page_id' => 'My Account');
                foreach ($woopages as $woo_page_name => $woo_page_title) {
                    $woopage = get_page_by_title($woo_page_title);
                    if (isset($woopage) && $woopage->ID) {
                        update_option($woo_page_name, $woopage->ID);
                        // Front Page
                    }
                }
                // We no longer need to install pages
                //delete_option( '_wc_needs_pages' );
                //delete_transient( '_wc_activation_redirect' );
                // Flush rules after install
                flush_rewrite_rules();
            }
            // Set imported menus to registered theme locations
            $locations = get_theme_mod('nav_menu_locations');
            // registered menu locations in theme
            $menus = wp_get_nav_menus();
            // registered menus
            if ($menus) {
                foreach ($menus as $menu) {
                    // assign menus to theme locations
                    if (THEME_SLUG == 'the_retailer') {
                        if ($demo_type == 'default') {
                            if ($menu->name == 'Main Navigation') {
                                $locations['primary'] = $menu->term_id;
                            } else {
                                if ($menu->name == 'Secondary Navigation') {
                                    $locations['secondary'] = $menu->term_id;
                                }
                            }
                        }
                    } else {
                        if (THEME_SLUG == 'shopkeeper') {
                            if ($demo_type == 'default') {
                                if ($menu->name == 'Main Navigation') {
                                    $locations['main-navigation'] = $menu->term_id;
                                }
                            }
                        } else {
                            if (THEME_SLUG == 'mr_tailor') {
                                if ($demo_type == 'default') {
                                    if ($menu->name == 'Main Navigation') {
                                        $locations['main-navigation'] = $menu->term_id;
                                    } else {
                                        if ($menu->name == 'Top Bar Menu') {
                                            $locations['top-bar-navigation'] = $menu->term_id;
                                        }
                                    }
                                }
                            } else {
                            }
                        }
                    }
                }
            }
            // Import Theme Options
            if (THEME_SLUG == 'the_retailer') {
                $theme_options_txt = $theme_options_file;
                // theme options data file
                $theme_options_txt = file_get_contents($theme_options_txt);
                $imported_smof_data = unserialize(base64_decode($theme_options_txt));
                of_save_options($imported_smof_data);
            } else {
                $file_contents = file_get_contents($theme_options_file);
                $options = json_decode($file_contents, true);
                $redux = ReduxFrameworkInstances::get_instance(THEME_SLUG . '_theme_options');
                $redux->set_options($options);
            }
            unlink($theme_options_file);
            unlink($theme_demo_xml_file);
            // Set reading options
            $homepage = get_page_by_title($homepage_title);
            $blog = get_page_by_title($blog_title);
            //echo "Homepage: " . $homepage->ID;
            //echo "Blog: " . $blog->ID;
            if (isset($homepage) && $homepage->ID) {
                update_option('show_on_front', 'page');
                update_option('page_on_front', $homepage->ID);
                // Front Page
                update_option('page_for_posts', $blog->ID);
                // Posts Page
            }
            set_theme_mod('nav_menu_locations', $locations);
            // set menus to locations
            echo 'imported';
            exit;
        }
    }
}
コード例 #10
0
 function redux_post_meta($opt_name = "", $thePost = array(), $meta_key = "", $def_val = "")
 {
     //global $post;
     if (empty($opt_name)) {
         return;
     }
     $post = get_post($thePost);
     $redux = ReduxFrameworkInstances::get_instance($opt_name);
     $metaboxes = $redux->extensions['metaboxes'];
     if (isset($thePost) && is_array($thePost)) {
         $thePost = $post;
     } else {
         if (is_numeric($thePost)) {
             $thePost = get_post($thePost);
         } else {
             if (!is_object($thePost)) {
                 $thePost = $post;
             }
         }
     }
     return $metaboxes->get_values($thePost, $meta_key, $def_val);
 }
コード例 #11
0
ファイル: importer.php プロジェクト: devmoonshine/development
function reedwan_importer()
{
    global $wpdb;
    if (current_user_can('manage_options') && isset($_GET['import_data_content'])) {
        if (!defined('WP_LOAD_IMPORTERS')) {
            define('WP_LOAD_IMPORTERS', true);
        }
        // we are loading importers
        if (!class_exists('WP_Importer')) {
            // if main importer class doesn't exist
            $wp_importer = ABSPATH . 'wp-admin/includes/class-wp-importer.php';
            include $wp_importer;
        }
        if (!class_exists('WP_Import')) {
            // if WP importer doesn't exist
            $wp_import = get_template_directory() . '/admin/importer/wordpress-importer.php';
            include $wp_import;
        }
        if (class_exists('WP_Importer') && class_exists('WP_Import')) {
            // check for main import class and wp import class
            $importer = new WP_Import();
            /* First Import Posts, Pages, Portfolio Content, Images, Menus */
            $theme_xml = get_template_directory() . '/admin/importer/data/corporative.xml.gz';
            $importer->fetch_attachments = true;
            ob_start();
            $importer->import($theme_xml);
            ob_end_clean();
            // Set imported menus to registered theme locations
            $locations = get_theme_mod('nav_menu_locations');
            // registered menu locations in theme
            $menus = wp_get_nav_menus();
            // registered menus
            if ($menus) {
                foreach ($menus as $menu) {
                    // assign menus to theme locations
                    if ($menu->name == 'Main Menu') {
                        $locations['main_menu'] = $menu->term_id;
                    } else {
                        if ($menu->name == 'Bottom Menu') {
                            $locations['footer_menu'] = $menu->term_id;
                        }
                    }
                }
            }
            set_theme_mod('nav_menu_locations', $locations);
            // set menus to locations
            // Import Theme Options
            $theme_options_json = get_template_directory_uri() . '/admin/importer/data/theme_options.json';
            $file_contents = file_get_contents($theme_options_json);
            $options = json_decode($file_contents, true);
            $redux = ReduxFrameworkInstances::get_instance('reedwan_options');
            $redux->set_options($options);
            // Add sidebar widget areas
            $sidebars = array('tabs' => 'tabs', 'portfolio' => 'portfolio', 'contact' => 'contact', 'tabstwo' => 'tabstwo');
            update_option('sbg_sidebars', $sidebars);
            foreach ($sidebars as $sidebar) {
                $sidebar_class = corporative_name_to_class($sidebar);
                register_sidebar(array('name' => $sidebar, 'id' => 'corporative-custom-sidebar-' . strtolower($sidebar_class), 'before_widget' => '<div id="%1$s" class="widget %2$s clearfix">', 'after_widget' => '</div>', 'before_title' => '<div class="heading"><h4>', 'after_title' => '</h4></div>'));
            }
            // Add data to widgets
            $widgets_json = get_template_directory_uri() . '/admin/importer/data/widget_data.json';
            // widgets data file
            $widgets_json = wp_remote_get($widgets_json);
            $widget_data = $widgets_json['body'];
            $import_widgets = reedwan_import_widget_data($widget_data);
            // Set reading options
            $homepage = get_page_by_title('Home');
            if ($homepage->ID && $posts_page->ID) {
                update_option('show_on_front', 'page');
                update_option('page_on_front', $homepage->ID);
                // Front Page
            }
            // finally redirect to success page
            wp_redirect(admin_url('admin.php?page=_options&tab=0&imported=success'));
        }
    }
}
コード例 #12
0
 public static function localize($localize)
 {
     $redux = ReduxFrameworkInstances::get_instance($localize['args']['opt_name']);
     $nonce = wp_create_nonce('redux-ads-nonce');
     $base = admin_url('admin-ajax.php') . '?action=redux_p&nonce=' . $nonce . '&url=';
     $localize['rAds'] = Redux_Helpers::rURL_fix($base, $redux->args['opt_name']);
     return $localize;
 }
コード例 #13
0
 public static function tru($string, $opt_name)
 {
     $redux = ReduxFrameworkInstances::get_instance($opt_name);
     $check = get_user_option('r_tru_u_x', array());
     if (!empty($check) && isset($check['expires']) < time()) {
         $check = array();
     }
     if (isset($redux->args['dev_mode']) && $redux->args['dev_mode'] == true && !(isset($redux->args['forced_dev_mode_off']) && $redux->args['forced_dev_mode_off'] == true)) {
         update_user_option(get_current_user_id(), 'r_tru_u_x', array('id' => '', 'expires' => 60 * 60 * 24));
         return apply_filters('redux/' . $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.reduxframework.com/status.php?p=' . ReduxFramework::$_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('redux/' . $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 "";
         }
     }
 }