/** * Validate content options * @param array $options * @uses esc_url_raw, absint, esc_textarea, sanitize_text_field, adventurous_invalidate_caches * @return array */ function adventurous_theme_options_validate($options) { global $adventurous_options_settings, $adventurous_options_defaults; $input_validated = $adventurous_options_settings; $defaults = $adventurous_options_defaults; $input = array(); $input = $options; // Data Validation for Favicon if (isset($input['fav_icon'])) { $input_validated['fav_icon'] = esc_url_raw($input['fav_icon']); } if (isset($input['remove_favicon'])) { // Our checkbox value is either 0 or 1 $input_validated['remove_favicon'] = $input['remove_favicon']; } // Data Validation for web clip icon if (isset($input['web_clip'])) { $input_validated['web_clip'] = esc_url_raw($input['web_clip']); } if (isset($input['remove_web_clip'])) { // Our checkbox value is either 0 or 1 $input_validated['remove_web_clip'] = $input['remove_web_clip']; } // Data Validation for Logo 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['featured_logo_header'])) { $input_validated['featured_logo_header'] = esc_url_raw($input['featured_logo_header']); } // Data Validation for Promotion if (isset($input['enable_promotion'])) { $input_validated['enable_promotion'] = $input['enable_promotion']; } if (isset($input['homepage_headline'])) { $input_validated['homepage_headline'] = sanitize_text_field($input['homepage_headline']) ? $input['homepage_headline'] : $defaults['homepage_headline']; } if (isset($input['homepage_subheadline'])) { $input_validated['homepage_subheadline'] = sanitize_text_field($input['homepage_subheadline']) ? $input['homepage_subheadline'] : $defaults['homepage_subheadline']; } if (isset($input['homepage_headline_button'])) { $input_validated['homepage_headline_button'] = sanitize_text_field($input['homepage_headline_button']) ? $input['homepage_headline_button'] : $defaults['homepage_headline_button']; } if (isset($input['homepage_headline_url'])) { $input_validated['homepage_headline_url'] = esc_url_raw($input['homepage_headline_url']) ? $input['homepage_headline_url'] : $defaults['homepage_headline_url']; } if (isset($input['homepage_headline_target'])) { $input_validated['homepage_headline_target'] = $input['homepage_headline_target']; } if (isset($input['disable_homepage_headline'])) { $input_validated['disable_homepage_headline'] = $input['disable_homepage_headline']; } if (isset($input['disable_homepage_subheadline'])) { $input_validated['disable_homepage_subheadline'] = $input['disable_homepage_subheadline']; } if (isset($input['disable_homepage_button'])) { $input_validated['disable_homepage_button'] = $input['disable_homepage_button']; } // Data Validation for Header Sidebar if (isset($input['disable_header_right_sidebar'])) { $input_validated['disable_header_right_sidebar'] = $input['disable_header_right_sidebar']; } // Data validation for Large Header Image if (isset($input['enable_featured_header_image'])) { $input_validated['enable_featured_header_image'] = $input['enable_featured_header_image']; } if (isset($input['page_featured_image'])) { $input_validated['page_featured_image'] = $input['page_featured_image']; } if (isset($input['featured_header_image'])) { $input_validated['featured_header_image'] = esc_url_raw($input['featured_header_image']) ? $input['featured_header_image'] : $defaults['featured_header_image']; } if (isset($input['featured_header_image_alt'])) { $input_validated['featured_header_image_alt'] = sanitize_text_field($input['featured_header_image_alt']); } if (isset($input['featured_header_image_url'])) { $input_validated['featured_header_image_url'] = esc_url_raw($input['featured_header_image_url']); } if (isset($input['featured_header_image_base'])) { // Our checkbox value is either 0 or 1 $input_validated['featured_header_image_base'] = $input['featured_header_image_base']; } if (isset($input['reset_featured_image'])) { // Our checkbox value is either 0 or 1 $input_validated['reset_featured_image'] = $input['reset_featured_image']; } //Reset Header Featured Image Options if ($input['reset_featured_image'] == 1) { $input_validated['enable_featured_header_image'] = $defaults['enable_featured_header_image']; $input_validated['page_featured_image'] = $defaults['page_featured_image']; $input_validated['featured_header_image'] = $defaults['featured_header_image']; $input_validated['featured_header_image_alt'] = $defaults['featured_header_image_alt']; $input_validated['featured_header_image_url'] = $defaults['featured_header_image_url']; $input_validated['featured_header_image_base'] = $defaults['featured_header_image_base']; } // Data Validation for Custom CSS Style if (isset($input['custom_css'])) { $input_validated['custom_css'] = wp_kses_stripslashes($input['custom_css']); } // Data Validation for Homepage Featured Content if (isset($input['enable-featured'])) { $input_validated['enable-featured'] = $input['enable-featured']; } if (isset($input['disable_slider_text'])) { $input_validated['disable_slider_text'] = $input['disable_slider_text']; } if (isset($input['homepage_featured_headline'])) { $input_validated['homepage_featured_headline'] = sanitize_text_field($input['homepage_featured_headline']) ? $input['homepage_featured_headline'] : $defaults['homepage_featured_headline']; } if (isset($input['homepage_featured_subheadline'])) { $input_validated['homepage_featured_subheadline'] = sanitize_text_field($input['homepage_featured_subheadline']) ? $input['homepage_featured_subheadline'] : $defaults['homepage_featured_subheadline']; } if (isset($input['homepage_featured_image'])) { $input_validated['homepage_featured_image'] = array(); } if (isset($input['homepage_featured_url'])) { $input_validated['homepage_featured_url'] = array(); } if (isset($input['homepage_featured_base'])) { $input_validated['homepage_featured_base'] = array(); } if (isset($input['homepage_featured_title'])) { $input_validated['homepage_featured_title'] = array(); } if (isset($input['homepage_featured_content'])) { $input_validated['homepage_featured_content'] = array(); } if (isset($input['homepage_featured_layout'])) { $input_validated['homepage_featured_layout'] = $input['homepage_featured_layout']; } if (isset($input['homepage_featured_qty'])) { $input_validated['homepage_featured_qty'] = absint($input['homepage_featured_qty']) ? $input['homepage_featured_qty'] : $defaults['homepage_featured_qty']; for ($i = 1; $i <= $input['homepage_featured_qty']; $i++) { if (!empty($input['homepage_featured_image'][$i])) { $input_validated['homepage_featured_image'][$i] = esc_url_raw($input['homepage_featured_image'][$i]); } if (!empty($input['homepage_featured_url'][$i])) { $input_validated['homepage_featured_url'][$i] = esc_url_raw($input['homepage_featured_url'][$i]); } if (!empty($input['homepage_featured_base'][$i])) { $input_validated['homepage_featured_base'][$i] = $input['homepage_featured_base'][$i]; } if (!empty($input['homepage_featured_title'][$i])) { $input_validated['homepage_featured_title'][$i] = sanitize_text_field($input['homepage_featured_title'][$i]); } if (!empty($input['homepage_featured_content'][$i])) { $input_validated['homepage_featured_content'][$i] = wp_kses_stripslashes($input['homepage_featured_content'][$i]); } } } // Data Validation for Homepage if (isset($input['enable_posts_home'])) { $input_validated['enable_posts_home'] = $input['enable_posts_home']; } 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 Slider Type if (isset($input['select_slider_type'])) { $input_validated['select_slider_type'] = $input['select_slider_type']; } // data validation for Enable Slider if (isset($input['enable_slider'])) { $input_validated['enable_slider'] = $input['enable_slider']; } // data validation for number of slides if (isset($input['slider_qty'])) { $input_validated['slider_qty'] = absint($input['slider_qty']) ? $input['slider_qty'] : 4; } // data validation for transition 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'])) { $input_validated['transition_delay'] = absint($input['transition_delay']) ? $input['transition_delay'] : 4; } // data validation for transition length if (isset($input['transition_duration'])) { $input_validated['transition_duration'] = absint($input['transition_duration']) ? $input['transition_duration'] : 1; } // data validation for Featured Post Slider 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]); } } } //Featured Category Slider if (isset($input['slider_category'])) { $input_validated['slider_category'] = $input['slider_category']; } // 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']); } if (isset($input['social_contact'])) { $input_validated['social_contact'] = esc_url_raw($input['social_contact']); } if (isset($input['social_xing'])) { $input_validated['social_xing'] = esc_url_raw($input['social_xing']); } if (isset($input['social_meetup'])) { $input_validated['social_meetup'] = esc_url_raw($input['social_meetup']); } // Layout settings verification if (isset($input['sidebar_layout'])) { $input_validated['sidebar_layout'] = $input['sidebar_layout']; } if (isset($input['content_layout'])) { $input_validated['content_layout'] = $input['content_layout']; } //data validation for more text if (isset($input['more_tag_text'])) { $input_validated['more_tag_text'] = htmlentities(sanitize_text_field($input['more_tag_text']), ENT_QUOTES, 'UTF-8'); } //data validation for excerpt length if (isset($input['excerpt_length'])) { $input_validated['excerpt_length'] = absint($input['excerpt_length']) ? $input['excerpt_length'] : $defaults['excerpt_length']; } if (isset($input['reset_moretag'])) { // Our checkbox value is either 0 or 1 $input_validated['reset_moretag'] = $input['reset_moretag']; } //Reset More Tag if ($input['reset_moretag'] == 1) { $input_validated['more_tag_text'] = $defaults['more_tag_text']; $input_validated['excerpt_length'] = $defaults['excerpt_length']; } if (isset($input['search_display_text'])) { $input_validated['search_display_text'] = sanitize_text_field($input['search_display_text']) ? $input['search_display_text'] : $defaults['search_display_text']; } // Data Validation for Featured Image if (isset($input['featured_image'])) { $input_validated['featured_image'] = $input['featured_image']; } if (isset($input['reset_layout'])) { // Our checkbox value is either 0 or 1 $input_validated['reset_layout'] = $input['reset_layout']; } //Reset Layout if ($input['reset_layout'] == 1) { $input_validated['sidebar_layout'] = $defaults['sidebar_layout']; $input_validated['content_layout'] = $defaults['content_layout']; $input_validated['featured_image'] = $defaults['featured_image']; } //Reset Footer if ($input['reset_footer'] == 1) { $input_validated['footer_code'] = $defaults['footer_code']; } //Clearing the theme option cache if (function_exists('adventurous_themeoption_invalidate_caches')) { adventurous_themeoption_invalidate_caches(); } return $input_validated; }
/** * Reset all settings to default * @param $input entered value * @return sanitized output * * @since Adventurous 1.4 */ function adventurous_reset_all_settings($input) { if ($input == 1) { // Delete all theme options delete_option('adventurous_options'); // Flush out all transients on reset adventurous_themeoption_invalidate_caches(); } else { return ''; } }
/** * Binds JS handlers to make Theme Customizer preview reload changes asynchronously for adventurous. * And flushes out all transient data on preview * * @since Adventurous 1.6.3 */ function adventurous_customize_preview() { //Remove transients on preview adventurous_themeoption_invalidate_caches(); global $adventurous_options_defaults, $adventurous_options_settings; $adventurous_options_settings = adventurous_options_set_defaults($adventurous_options_defaults); }