function yiw_panel_configuration_save() { if (isset($_REQUEST['action'])) { $tab = yiw_get_current_tab(); switch ($_REQUEST['action']) { case 'yiw-save-configuration': $configs = get_option('yiw_configs'); $actual_config = array(); if ($configs != false) { $configs = maybe_unserialize($configs); } else { $configs = array(); } $config_name = esc_attr($_REQUEST['new_configuration']); $config_slug = yiw_check_if_exists(sanitize_title($config_name), $configs, 'key'); $actual_config[$config_slug] = array('name' => $config_name, 'values' => yiw_theme_options_from_db()); // echo $config_slug; // yiw_debug( $configs ); die; update_option('yiw_configs', array_merge($configs, $actual_config)); $url = admin_url('themes.php') . "?page={$_GET['page']}&tab={$tab}&message=saved"; yiw_end_process($url, false); break; case 'yiw-apply-configuration': $configs = get_option('yiw_configs'); if (!$configs) { break; } $config_to_apply = esc_attr($_REQUEST['name_configuration']); yiw_update_theme_options($configs[$config_to_apply]['values']); $url = admin_url('themes.php') . "?page={$_GET['page']}&tab={$tab}&message=saved"; yiw_end_process($url, false); break; case 'yiw-delete-config': $configs = get_option('yiw_configs'); if ($configs != false) { $configs = maybe_unserialize($configs); } else { $configs = array(); } $to_delete = esc_attr($_REQUEST['id']); if (isset($configs[$to_delete])) { unset($configs[$to_delete]); } update_option('yiw_configs', $configs); $url = admin_url('themes.php') . "?page={$_GET['page']}&tab={$tab}&message=delete"; yiw_end_process($url, false); break; case 'yiw-import-configuration': if (!isset($_REQUEST['import-theme-options'])) { break; } $options = unserialize(base64_decode($_REQUEST['import-theme-options'])); yiw_update_theme_options($options); $url = admin_url('themes.php') . "?page={$_GET['page']}&tab={$tab}&message=delete"; yiw_end_process($url, false); break; } } }
function yiw_select_skins_option() { global $yiw_theme_options, $yiw_colors, $yiw_skins; $selected_skin = yiw_post_option('select_skin'); if ($selected_skin == '' || $selected_skin == yiw_get_option('select_skin')) { return; } $tab = yiw_get_current_tab(); $skin_code = unserialize(base64_decode(file_get_contents(dirname(__FILE__) . '/../skins/' . $selected_skin . '.txt'))); // esclude le opzioni che non servono alle skin $exclude = yiw_options_of_tab(array('sliders', 'contact', 'sliders', 'accordions', 'sections', 'sidebars', 'general' => array('responsive', 'images', 'footer'))); $exclude = array_merge($exclude, array('favicon', 'date_format', 'logo', 'logo_width', 'logo_height', 'use_logo', 'logo_use_description', 'slider_unoslider_slides', 'slider_sheeva_slides', 'slider_elegant_slides', 'slider_cycle_slides', 'slider_elastic_slides')); $defaults = yiw_get_default_options(); foreach ($exclude as $id) { if (isset($skin_code[$id])) { unset($skin_code[$id], $defaults[$id]); } } //yiw_debug($skin_code); // // the slides already existing // $slides = maybe_unserialize( yiw_get_option( 'slider_'.$skin[$selected_skin]['slider_type'].'_slides' ) ); // // // if there are already some images into the slider, doesn't add the default images // if ( ! empty( $slides ) ) // unset( $skin[$selected_skin]['slider_'.$skin[$selected_skin]['slider_type'].'_slides'] ); // // // retrieve the default color for the navigation // foreach ( $yiw_colors[$skin[$selected_skin]['nav_type'].'-navigation']['options'] as $color_id => $value ) // $skin[$selected_skin]['colors_'.$color_id] = $value['default']; $skin_code = wp_parse_args($skin_code, $defaults); $yiw_theme_options = wp_parse_args($skin_code, $yiw_theme_options); // save the skin selected $yiw_theme_options['select_skin'] = $selected_skin; //yiw_debug( $defaults ); yiw_update_theme_options(); $url = admin_url('themes.php') . "?page={$_GET['page']}&tab={$tab}&message=saved"; yiw_end_process($url); die; }
/** * Retrieve the defualt value of $var option and update the database with this missing value */ function yiw_get_default_option($var) { global $yiw_theme_options; $default_options = yiw_get_default_options(); // update the database with default value, just retrieved $yiw_theme_options[$var] = $default_options[$var]; yiw_update_theme_options(); return $default_options[$var]; }