/** * Retrieve Theme option settings */ function responsive_get_options() { // Globalize the variable that holds the Theme options global $responsive_options; // Parse array of option defaults against user-configured Theme options $responsive_options = wp_parse_args( get_option( 'responsive_theme_options', array() ), responsive_get_option_defaults() ); // Return parsed args array return $responsive_options; }
/** * 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; }