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); }
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; }
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)); } } } }
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; }
/** * 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); }
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; }
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')); } } }
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; }
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; } } }
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); }
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')); } } }
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; }
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 ""; } } }