/** * Binds JS handlers to make Theme Customizer preview reload changes asynchronously for simplecatch. * And flushes out all transient data on preview * * @since Simple Catch 1.6.3 */ function simplecatch_customize_preview() { //Remove transients on preview simplecatch_themeoption_invalidate_caches(); global $simplecatch_options_defaults, $simplecatch_options_settings; $simplecatch_options_settings = simplecatch_options_set_defaults($simplecatch_options_defaults); }
/** * Reset all settings to default * @param $input entered value * @return sanitized output * * @since Simple Catch 3.0 */ function simplecatch_reset_all_settings($input) { if ($input == 1) { // Delete all theme options delete_option('simplecatch_options'); // Flush out all transients on reset simplecatch_themeoption_invalidate_caches(); } else { return ''; } }
/** * Validate content options * @param array $options * @uses esc_url_raw, absint, esc_textarea, sanitize_text_field, simplecatch_invalidate_caches * @return array */ function simplecatch_theme_options_validate($options) { global $simplecatch_options_settings; $input_validated = $simplecatch_options_settings; $input = array(); $input = $options; // data validation for logo if (isset($input['featured_logo_header'])) { $input_validated['featured_logo_header'] = esc_url_raw($input['featured_logo_header']); } if (isset($input['remove_header_logo'])) { // Our checkbox value is either 0 or 1 $input_validated['remove_header_logo'] = $input['remove_header_logo']; } if (isset($input['remove_site_title'])) { // Our checkbox value is either 0 or 1 $input_validated['remove_site_title'] = $input['remove_site_title']; } if (isset($input['remove_site_description'])) { // Our checkbox value is either 0 or 1 $input_validated['remove_site_description'] = $input['remove_site_description']; } if (isset($input['featured_logo_footer'])) { $input_validated['featured_logo_footer'] = esc_url_raw($input['featured_logo_footer']); } if (isset($input['remove_footer_logo'])) { // Our checkbox value is either 0 or 1 $input_validated['remove_footer_logo'] = $input['remove_footer_logo']; } //Fav Icon URL if (isset($input['fav_icon'])) { $input_validated['fav_icon'] = esc_url_raw($input['fav_icon']); } if (isset($input['remove_fav_icon'])) { // Our checkbox value is either 0 or 1 $input_validated['remove_fav_icon'] = $input['remove_fav_icon']; } //Web Clip Icon URL if (isset($input['web_clip'])) { $input_validated['web_clip'] = esc_url_raw($input['web_clip']); } // data validation for Color Scheme if (isset($input['color_scheme'])) { // Our checkbox value is either 0 or 1 $input_validated['color_scheme'] = $input['color_scheme']; } //Color Options if (isset($input['heading_color'])) { $input_validated['heading_color'] = wp_filter_nohtml_kses($input['heading_color']); } if (isset($input['meta_color'])) { $input_validated['meta_color'] = wp_filter_nohtml_kses($input['meta_color']); } if (isset($input['text_color'])) { $input_validated['text_color'] = wp_filter_nohtml_kses($input['text_color']); } if (isset($input['link_color'])) { $input_validated['link_color'] = wp_filter_nohtml_kses($input['link_color']); } if (isset($input['widget_heading_color'])) { $input_validated['widget_heading_color'] = wp_filter_nohtml_kses($input['widget_heading_color']); } if (isset($input['widget_text_color'])) { $input_validated['widget_text_color'] = wp_filter_nohtml_kses($input['widget_text_color']); } if (isset($input['reset_color'])) { // Our checkbox value is either 0 or 1 $input_validated['reset_color'] = $input['reset_color']; } //Reset Color Options if ($input['reset_color'] == 1) { global $simplecatch_options_defaults; $defaults = $simplecatch_options_defaults; $input_validated['color_scheme'] = $defaults['color_scheme']; $input_validated['heading_color'] = $defaults['heading_color']; $input_validated['meta_color'] = $defaults['meta_color']; $input_validated['text_color'] = $defaults['text_color']; $input_validated['link_color'] = $defaults['link_color']; $input_validated['widget_heading_color'] = $defaults['widget_heading_color']; $input_validated['widget_text_color'] = $defaults['widget_text_color']; } if (isset($input['exclude_slider_post'])) { // Our checkbox value is either 0 or 1 $input_validated['exclude_slider_post'] = $input['exclude_slider_post']; } // Front page posts categories if (isset($input['front_page_category'])) { $input_validated['front_page_category'] = $input['front_page_category']; } //data validation for Featured Slider if (isset($input['slider_qty'])) { $input_validated['slider_qty'] = absint($input['slider_qty']) ? $input['slider_qty'] : 4; } if (isset($input['featured_slider'])) { $input_validated['featured_slider'] = array(); } if (isset($input['slider_qty'])) { for ($i = 1; $i <= $input['slider_qty']; $i++) { if (!empty($input['featured_slider'][$i]) && intval($input['featured_slider'][$i])) { $input_validated['featured_slider'][$i] = absint($input['featured_slider'][$i]); } } } if (isset($input['remove_noise_effect'])) { // Our checkbox value is either 0 or 1 $input_validated['remove_noise_effect'] = $input['remove_noise_effect']; } if (isset($input['transition_effect'])) { $input_validated['transition_effect'] = wp_filter_nohtml_kses($input['transition_effect']); } // data validation for transition delay if (isset($input['transition_delay']) && is_numeric($input['transition_delay'])) { $input_validated['transition_delay'] = $input['transition_delay']; } // data validation for transition length if (isset($input['transition_duration']) && is_numeric($input['transition_duration'])) { $input_validated['transition_duration'] = $input['transition_duration']; } // data validation for Social Icons if (isset($input['social_facebook'])) { $input_validated['social_facebook'] = esc_url_raw($input['social_facebook']); } if (isset($input['social_twitter'])) { $input_validated['social_twitter'] = esc_url_raw($input['social_twitter']); } if (isset($input['social_googleplus'])) { $input_validated['social_googleplus'] = esc_url_raw($input['social_googleplus']); } if (isset($input['social_pinterest'])) { $input_validated['social_pinterest'] = esc_url_raw($input['social_pinterest']); } if (isset($input['social_youtube'])) { $input_validated['social_youtube'] = esc_url_raw($input['social_youtube']); } if (isset($input['social_vimeo'])) { $input_validated['social_vimeo'] = esc_url_raw($input['social_vimeo']); } if (isset($input['social_linkedin'])) { $input_validated['social_linkedin'] = esc_url_raw($input['social_linkedin']); } if (isset($input['social_slideshare'])) { $input_validated['social_slideshare'] = esc_url_raw($input['social_slideshare']); } if (isset($input['social_foursquare'])) { $input_validated['social_foursquare'] = esc_url_raw($input['social_foursquare']); } if (isset($input['social_flickr'])) { $input_validated['social_flickr'] = esc_url_raw($input['social_flickr']); } if (isset($input['social_tumblr'])) { $input_validated['social_tumblr'] = esc_url_raw($input['social_tumblr']); } if (isset($input['social_deviantart'])) { $input_validated['social_deviantart'] = esc_url_raw($input['social_deviantart']); } if (isset($input['social_dribbble'])) { $input_validated['social_dribbble'] = esc_url_raw($input['social_dribbble']); } if (isset($input['social_myspace'])) { $input_validated['social_myspace'] = esc_url_raw($input['social_myspace']); } if (isset($input['social_wordpress'])) { $input_validated['social_wordpress'] = esc_url_raw($input['social_wordpress']); } if (isset($input['social_rss'])) { $input_validated['social_rss'] = esc_url_raw($input['social_rss']); } if (isset($input['social_delicious'])) { $input_validated['social_delicious'] = esc_url_raw($input['social_delicious']); } if (isset($input['social_lastfm'])) { $input_validated['social_lastfm'] = esc_url_raw($input['social_lastfm']); } if (isset($input['social_instagram'])) { $input_validated['social_instagram'] = esc_url_raw($input['social_instagram']); } if (isset($input['social_github'])) { $input_validated['social_github'] = esc_url_raw($input['social_github']); } if (isset($input['social_vkontakte'])) { $input_validated['social_vkontakte'] = esc_url_raw($input['social_vkontakte']); } if (isset($input['social_myworld'])) { $input_validated['social_myworld'] = esc_url_raw($input['social_myworld']); } if (isset($input['social_odnoklassniki'])) { $input_validated['social_odnoklassniki'] = esc_url_raw($input['social_odnoklassniki']); } if (isset($input['social_goodreads'])) { $input_validated['social_goodreads'] = esc_url_raw($input['social_goodreads']); } if (isset($input['social_skype'])) { $input_validated['social_skype'] = sanitize_text_field($input['social_skype']); } if (isset($input['social_soundcloud'])) { $input_validated['social_soundcloud'] = esc_url_raw($input['social_soundcloud']); } if (isset($input['social_email'])) { $input_validated['social_email'] = sanitize_email($input['social_email']); } //Custom CSS Style Validation if (isset($input['custom_css'])) { $input_validated['custom_css'] = wp_kses_stripslashes($input['custom_css']); } //Webmaster Tool Verification if (isset($input['google_verification'])) { $input_validated['google_verification'] = wp_filter_post_kses($input['google_verification']); } if (isset($input['yahoo_verification'])) { $input_validated['yahoo_verification'] = wp_filter_post_kses($input['yahoo_verification']); } if (isset($input['bing_verification'])) { $input_validated['bing_verification'] = wp_filter_post_kses($input['bing_verification']); } if (isset($input['analytic_header'])) { $input_validated['analytic_header'] = wp_kses_stripslashes($input['analytic_header']); } if (isset($input['analytic_footer'])) { $input_validated['analytic_footer'] = wp_kses_stripslashes($input['analytic_footer']); } // Layout settings verification if (isset($input['sidebar_layout'])) { $input_validated['sidebar_layout'] = $input['sidebar_layout']; } if (isset($input['more_tag_text'])) { $input_validated['more_tag_text'] = htmlentities(sanitize_text_field($input['more_tag_text']), ENT_QUOTES, 'UTF-8'); } if (isset($input['search_display_text'])) { $input_validated['search_display_text'] = sanitize_text_field($input['search_display_text']); } if (isset($input['search_button_text'])) { $input_validated['search_button_text'] = sanitize_text_field($input['search_button_text']); } //data validation for excerpt length if (isset($input['excerpt_length'])) { $input_validated['excerpt_length'] = absint($input['excerpt_length']) ? $input['excerpt_length'] : 30; } //Feed Redirect if (isset($input['feed_url'])) { $input_validated['feed_url'] = esc_url_raw($input['feed_url']); } //Clearing the theme option cache if (function_exists('simplecatch_themeoption_invalidate_caches')) { simplecatch_themeoption_invalidate_caches(); } return $input_validated; }