/** * 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); }
/** * 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 ''; } }
/** * 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; }