Exemplo n.º 1
0
/**
 * 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 '';
    }
}
Exemplo n.º 3
0
/**
 * 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);
}