/** * Imports a skin */ public function load_skin() { $name = $_POST['name']; $file = $_POST['file']; wpv_update_option('last-active-skin', $name); $data = json_decode(file_get_contents(WPV_SAVED_OPTIONS . $file)); foreach ($data as $id => $val) { if (is_string($val)) { $val = str_replace('{WPV_SAMPLES_URI}', WPV_SAMPLES_URI, $val); } wpv_update_option($id, $val); } wpv_finalize_custom_css(); echo json_encode(array('data' => $data, 'text' => '<span class="success">' . __('The skin has been imported successfully. Have fun!', 'church-event') . '</span>')); exit; }
/** * checks if the theme has been updated * and the update message has not been dismissed */ public static function check() { $current_version = WpvFramework::get_version(); $last_known_version = get_option(THEME_SLUG . self::$last_version_key); if ($current_version !== $last_known_version || !wpv_get_option('theme-update-notice-dismissed')) { $GLOBALS['wpv_only_smart_less_compilation'] = true; $status = wpv_finalize_custom_css(); if ('smart less failed' === trim($status)) { add_action('admin_notices', array(__CLASS__, 'after_update_notice')); add_action('wpv_after_save_theme_options', array(__CLASS__, 'dismiss_notice')); wpv_update_option('last-theme-version', $current_version); wpv_update_option('theme-update-notice-dismissed', false); } else { self::dismiss_notice(); } } }
function wpv_save_config($options) { if (isset($_POST['doreset'])) { echo 'Deleting... '; } foreach ($options as $option) { if (isset($option['id']) && !empty($option['id'])) { wpv_save_option_by_id($option['id'], $option['type']); } elseif ($option['type'] == 'select_checkbox') { wpv_save_option_by_id($option['id_select'], 'select_checkbox'); wpv_save_option_by_id($option['id_checkbox'], 'select_checkbox'); } elseif ($option['type'] == 'social') { $places = array('post', 'page', 'portfolio', 'lightbox', 'product', 'tribe'); $networks = array('twitter', 'facebook', 'googleplus', 'pinterest'); foreach ($places as $place) { foreach ($networks as $network) { wpv_save_option_by_id("share-{$place}-{$network}", 'social'); } } } elseif ($option['type'] == 'horizontal_blocks') { $id = $option['id_prefix']; wpv_update_option($id, $_POST[$id]); for ($i = 1; $i <= $_POST["{$id}-max"]; $i++) { wpv_save_option_by_id("{$id}-{$i}-width", 'select'); wpv_save_option_by_id("{$id}-{$i}-last", 'checkbox'); wpv_save_option_by_id("{$id}-{$i}-empty", 'checkbox'); } } elseif ($option['type'] == 'color-row') { foreach ($option['inputs'] as $id => $name) { wpv_save_option_by_id($id, 'color'); } } elseif ($option['type'] == 'select-row') { foreach ($option['selects'] as $id => $name) { wpv_save_option_by_id($id, 'select'); } } if (isset($option['process']) && function_exists($option['process'])) { wpv_update_option($option['id'], $option['process']($option, wpv_get_option($option['id']))); } } do_action('vamtam_saved_options'); return wpv_finalize_custom_css(); }
function wpv_save_options_callback() { $page_str = str_replace('wpv_', '', $_POST['page']); $options = array(); $tabs = (include WPV_THEME_OPTIONS . $page_str . '/list.php'); foreach ($tabs as $tab) { $tab_contents = (include WPV_THEME_OPTIONS . $page_str . "/{$tab}.php"); $options = array_merge($options, $tab_contents); } $status = ''; if (!isset($_POST['cacheonly'])) { $status = wpv_save_config($options); } else { $status = wpv_finalize_custom_css(); } wpv_update_option('css-cache-timestamp', time()); do_action('wpv_after_save_theme_options'); echo $status; exit; }