コード例 #1
0
 /**
  * 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;
 }
コード例 #2
0
 /**
  * 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();
         }
     }
 }
コード例 #3
0
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();
}
コード例 #4
0
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;
}