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]; }