/**
 * Validate, sanitize, and save post metadata.
 * 
 * Validates the user-submitted post custom 
 * meta data, ensuring that the selected layout 
 * option is in the array of valid layout 
 * options; otherwise, it returns 'default'.
 * 
 * @link	http://codex.wordpress.org/Function_Reference/update_post_meta	update_post_meta()
 * 
 * @link	http://php.net/manual/en/function.array-key-exists.php			array_key_exists()
 * 
 * @uses	responsive_get_option_parameters()	Defined in \functions\options.php
 */
function responsive_save_layout_post_metadata()
{
    global $post;
    if (!isset($post) || !is_object($post)) {
        return;
    }
    $valid_layouts = responsive_get_valid_layouts();
    $layout = isset($_POST['_responsive_layout']) && array_key_exists($_POST['_responsive_layout'], $valid_layouts) ? $_POST['_responsive_layout'] : 'default';
    update_post_meta($post->ID, '_responsive_layout', $layout);
}
Esempio n. 2
0
/**
 * Validates the Default Layout
 *
 * @param $input select
 *
 * @return string
 */
function responsive_pro_default_layout_validate($input)
{
    // An array of valid results
    $valid = responsive_get_valid_layouts();
    if (array_key_exists($input, $valid)) {
        return $input;
    } else {
        return '';
    }
}
Esempio n. 3
0
/**
 * Sanitize and validate input. Accepts an array, return a sanitized array.
 */
function responsive_theme_options_validate($input)
{
    global $responsive_options;
    $defaults = responsive_get_option_defaults();
    if (isset($input['reset'])) {
        $input = $defaults;
    } else {
        // checkbox value is either 0 or 1
        foreach (array('breadcrumb', 'cta_button', 'front_page') as $checkbox) {
            if (!isset($input[$checkbox])) {
                $input[$checkbox] = null;
            }
            $input[$checkbox] = $input[$checkbox] == 1 ? 1 : 0;
        }
        foreach (array('static_page_layout_default', 'single_post_layout_default', 'blog_posts_index_layout_default') as $layout) {
            $input[$layout] = isset($input[$layout]) && array_key_exists($input[$layout], responsive_get_valid_layouts()) ? $input[$layout] : $responsive_options[$layout];
        }
        foreach (array('home_headline', 'home_subheadline', 'home_content_area', 'cta_text', 'cta_url', 'featured_content') as $content) {
            $input[$content] = in_array($input[$content], array($defaults[$content], '')) ? $defaults[$content] : wp_kses_stripslashes($input[$content]);
        }
        $input['google_site_verification'] = isset($input['google_site_verification']) ? wp_filter_post_kses($input['google_site_verification']) : null;
        $input['bing_site_verification'] = isset($input['bing_site_verification']) ? wp_filter_post_kses($input['bing_site_verification']) : null;
        $input['yahoo_site_verification'] = isset($input['yahoo_site_verification']) ? wp_filter_post_kses($input['yahoo_site_verification']) : null;
        $input['site_statistics_tracker'] = isset($input['site_statistics_tracker']) ? wp_kses_stripslashes($input['site_statistics_tracker']) : null;
        $input['twitter_uid'] = esc_url_raw($input['twitter_uid']);
        $input['facebook_uid'] = esc_url_raw($input['facebook_uid']);
        $input['linkedin_uid'] = esc_url_raw($input['linkedin_uid']);
        $input['youtube_uid'] = esc_url_raw($input['youtube_uid']);
        $input['stumble_uid'] = esc_url_raw($input['stumble_uid']);
        $input['rss_uid'] = esc_url_raw($input['rss_uid']);
        $input['google_plus_uid'] = esc_url_raw($input['google_plus_uid']);
        $input['instagram_uid'] = esc_url_raw($input['instagram_uid']);
        $input['pinterest_uid'] = esc_url_raw($input['pinterest_uid']);
        $input['yelp_uid'] = esc_url_raw($input['yelp_uid']);
        $input['vimeo_uid'] = esc_url_raw($input['vimeo_uid']);
        $input['foursquare_uid'] = esc_url_raw($input['foursquare_uid']);
        $input['responsive_inline_css'] = wp_kses_stripslashes($input['responsive_inline_css']);
        $input['responsive_inline_js_head'] = wp_kses_stripslashes($input['responsive_inline_js_head']);
        $input['responsive_inline_js_footer'] = wp_kses_stripslashes($input['responsive_inline_js_footer']);
        $input = apply_filters('responsive_options_validate', $input);
    }
    return $input;
}