Skip to content

Instantly share code, notes, and snippets.

@javistuff
Created February 1, 2013 17:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save javistuff/4692896 to your computer and use it in GitHub Desktop.
Save javistuff/4692896 to your computer and use it in GitHub Desktop.
<?php
/*-----------------------------------------------------------------------------------*/
/* Adding Settings Sections.
/*-----------------------------------------------------------------------------------*/
// Slider Section
add_settings_section('quadro_settings_homepage_sliders', 'Homepage Sliders', 'quadro_settings_sliders_section_text', 'quadro');
// Content Areas Section
add_settings_section('quadro_settings_homepage_content', 'Homepage Content Areas', 'quadro_settings_homepage_content_section_text', 'quadro');
/*-----------------------------------------------------------------------------------*/
/* Adding Settings Fields.
/*-----------------------------------------------------------------------------------*/
// Add Display Slider to the Sliders section
add_settings_field('quadro_settings_display_slider', 'Display Slider', 'quadro_settings_display_slider', 'quadro', 'quadro_settings_homepage_sliders');
// Add Slider Style to the Sliders section
add_settings_field('quadro_settings_slider_style', 'Available Slider Styles', 'quadro_settings_slider_style', 'quadro', 'quadro_settings_homepage_sliders');
// Add Cicle Transition to the Sliders section
add_settings_field('quadro_settings_cycle_transition', 'Cycle Slider Transition', 'quadro_settings_cycle_transition', 'quadro', 'quadro_settings_homepage_sliders');
// Add Slides Quantity to the Sliders section
add_settings_field('quadro_setting_slider_slides_quantity', 'Slides Quantity', 'quadro_setting_slider_slides_quantity', 'quadro', 'quadro_settings_homepage_sliders');
// Add Slider Timeout to the Sliders section
add_settings_field('quadro_setting_slider_timeout', 'Slider Timeout', 'quadro_setting_slider_timeout', 'quadro', 'quadro_settings_homepage_sliders');
// Add Display Slogan to the Content Areas section
add_settings_field('quadro_setting_display_slogan', 'Display Slogan', 'quadro_setting_display_slogan', 'quadro', 'quadro_settings_homepage_content');
// Add Slogan Input to the Content Areas section
add_settings_field('quadro_setting_slogan_input', 'Enter Your Slogan', 'quadro_setting_slogan_input', 'quadro', 'quadro_settings_homepage_content');
// Add Top Custom Html Display to the Content Areas section
add_settings_field('quadro_setting_display_top_html', 'Top Custom Html Display', 'quadro_setting_display_top_html', 'quadro', 'quadro_settings_homepage_content');
// Add Top Custom Html Input to the Content Areas section
add_settings_field('quadro_setting_top_custom_html_input', 'Top Custom Html Input', 'quadro_setting_top_custom_html_input', 'quadro', 'quadro_settings_homepage_content');
// Add Show Services Section to the Content Areas section
add_settings_field('quadro_setting_show_services_section', 'Show Services Section', 'quadro_setting_show_services_section', 'quadro', 'quadro_settings_homepage_content');
// Add Show Recent Areas Section to the Content Areas section
add_settings_field('quadro_setting_show_recent_news_section', 'Show Recent News Section', 'quadro_setting_show_recent_news_section', 'quadro', 'quadro_settings_homepage_content');
// Add Recent News Heading to the Content Areas section
add_settings_field('quadro_setting_recent_news_heading', 'Recent News Heading', 'quadro_setting_recent_news_heading', 'quadro', 'quadro_settings_homepage_content');
// Add Recent News Tagline to the Content Areas section
add_settings_field('quadro_setting_recent_news_tagline', 'Recent News Tagline', 'quadro_setting_recent_news_tagline', 'quadro', 'quadro_settings_homepage_content');
// Add Show Portfolio Section to the Content Areas section
add_settings_field('quadro_setting_show_portfolio_section', 'Show Portfolio Section', 'quadro_setting_show_portfolio_section', 'quadro', 'quadro_settings_homepage_content');
// Add Select Portfolio Categories to the Content Areas Section
add_settings_field('quadro_setting_portfolio_categories', 'Category Picker for Home Portfolio', 'quadro_setting_portfolio_categories', 'quadro', 'quadro_settings_homepage_content');
// Add Select Portfolio Items Size to the Content Areas Section
add_settings_field('quadro_setting_portfolio_size', 'Portfolio Items Size on Homepage', 'quadro_setting_portfolio_size', 'quadro', 'quadro_settings_homepage_content');
// Add Portfolio Rows Quantity to the Content Areas Section
add_settings_field('quadro_setting_portfolio_quantity', 'Rows for Home Portfolio', 'quadro_setting_portfolio_quantity', 'quadro', 'quadro_settings_homepage_content');
// Add Portfolio Heading to the Content Areas section
add_settings_field('quadro_setting_portfolio_heading', 'Portfolio Heading', 'quadro_setting_portfolio_heading', 'quadro', 'quadro_settings_homepage_content');
// Add Portfolio Tagline to the Content Areas section
add_settings_field('quadro_setting_portfolio_tagline', 'Portfolio Tagline', 'quadro_setting_portfolio_tagline', 'quadro', 'quadro_settings_homepage_content');
// Add Portfolio Categories Display on Single Items to the Content Areas section
add_settings_field('quadro_setting_portfolio_display_categories', 'Display Portfolio Categories on Single Items', 'quadro_setting_portfolio_display_categories', 'quadro', 'quadro_settings_homepage_content');
// Add Portfolio View Project text to the Content Areas section
add_settings_field('quadro_setting_portfolio_infotag', 'Info Tag Title', 'quadro_setting_portfolio_infotag', 'quadro', 'quadro_settings_homepage_content');
// Add Portfolio View Project text to the Content Areas section
add_settings_field('quadro_setting_portfolio_viewproject', 'View Project text', 'quadro_setting_portfolio_viewproject', 'quadro', 'quadro_settings_homepage_content');
// Add Show Homepage Widgets Section to the Content Areas section
add_settings_field('quadro_setting_show_homepage_widgets_section', 'Show Homepage Widgets Section', 'quadro_setting_show_homepage_widgets_section', 'quadro', 'quadro_settings_homepage_content');
// Add Show Homepage Widgets Section Layout to the Content Areas section
add_settings_field('quadro_setting_homepage_widgets_section_layout', 'Homepage Widgets Section Layout', 'quadro_setting_homepage_widgets_section_layout', 'quadro', 'quadro_settings_homepage_content');
// Add Bottom Custom Html Display to the Content Areas section
add_settings_field('quadro_setting_display_bottom_html', 'Bottom Custom Html Display', 'quadro_setting_display_bottom_html', 'quadro', 'quadro_settings_homepage_content');
// Add Bottom Custom Html Input to the Content Areas section
add_settings_field('quadro_setting_bottom_custom_html_input', 'Bottom Custom Html Input', 'quadro_setting_bottom_custom_html_input', 'quadro', 'quadro_settings_homepage_content');
// Add Sortable Areas to the Content Areas section
add_settings_field('quadro_setting_sortable_areas', 'Homepage Areas Order', 'quadro_setting_sortable_areas', 'quadro', 'quadro_settings_homepage_content');
/*-----------------------------------------------------------------------------------*/
/* Adding Text for each Form Section.
/*-----------------------------------------------------------------------------------*/
// Sliders Settings Section
function quadro_settings_sliders_section_text() { ?>
<p><?php _e( '(To add slides to the Slideshow, go to Slider &raquo; Add new slide.)', 'quadro' ); ?></p>
<?php }
// Homepage Content Settings Section
function quadro_settings_homepage_content_section_text() { ?>
<p><?php _e( 'Manage Content Area Sections.', 'quadro' ); ?></p>
<?php }
/*-----------------------------------------------------------------------------------*/
/* Adding Form Field Markup for Each Option in this Tab.
/*-----------------------------------------------------------------------------------*/
// Slider Display
function quadro_settings_display_slider() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[display_slider]" name="quadro_theme_options[display_slider]" type="checkbox" value=true <?php checked( true, $quadro_options['display_slider'] ); ?> />
<span class="description"><?php _e( 'Display Slider on Homepage?', 'quadro' ); ?></span>
<?php }
// Slider Style
function quadro_settings_slider_style() {
$quadro_options = get_option( 'quadro_theme_options' );
$quadro_sliders = quadro_get_valid_sliders();
foreach ( $quadro_sliders as $quadro_slider ) {
$currentslider = ( $quadro_slider['slug'] == $quadro_options['slider_style'] ? true : false );?>
<dl class="sliderstyleradio">
<dd><input type="radio" name="quadro_theme_options[slider_style]" <?php checked( $currentslider ); ?> value="<?php echo esc_attr( $quadro_slider['slug'] ); ?>" /></dd>
<dt><strong><?php echo esc_attr( $quadro_slider['name'] ); ?></strong></dt>
<dd><small><?php echo esc_attr( $quadro_slider['description'] ); ?></small></dd>
</dl>
<?php }
}
// Cycle Slider Transition
function quadro_settings_cycle_transition() {
$quadro_options = get_option( 'quadro_theme_options' );
$quadro_cycle_transitions = quadro_get_valid_cycle_transitions();?>
<select class="optionsselectfield" name="quadro_theme_options[cycle_transition]"> <?php
foreach ( $quadro_cycle_transitions as $quadro_cycle_transition ) {
$currentcycletransition = ( $quadro_cycle_transition == $quadro_options['cycle_transition'] ? true : false );?>
<option name="quadro_theme_options[cycle_transition]" <?php selected( $currentcycletransition ); ?> value="<?php echo esc_attr( $quadro_cycle_transition ); ?>" >
<?php echo esc_attr( $quadro_cycle_transition ); ?>
</option>
<?php } ?>
</select>
<?php }
// How Many Slides To Show
function quadro_setting_slider_slides_quantity() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[slider_slides_quantity]" type="text" size="4" name="quadro_theme_options[slider_slides_quantity]" value="<?php esc_attr_e( $quadro_options['slider_slides_quantity'] ); ?>" />
<span class="description"><?php _e( 'How many slides to show?', 'quadro' ); ?></span>
<?php }
// Slider Timeout
function quadro_setting_slider_timeout() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[slider_timeout]" type="text" size="4" name="quadro_theme_options[slider_timeout]" value="<?php esc_attr_e( $quadro_options['slider_timeout'] ); ?>" />
<span class="description"><?php _e( '(Milliseconds between slides)', 'quadro' ); ?></span>
<?php }
// Slogan Display
function quadro_setting_display_slogan() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[display_slogan]" class="area-enabler slogan" name="quadro_theme_options[display_slogan]" type="checkbox" value=true <?php checked( true, $quadro_options['display_slogan'] ); ?> />
<?php }
// Slogan Input
function quadro_setting_slogan_input() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<textarea id="quadro_theme_options[slogan_input]" type="text" rows="2" cols="60" name="quadro_theme_options[slogan_input]" value="" ><?php esc_attr_e( $quadro_options['slogan_input'] ); ?></textarea>
<?php }
// Top Custom HTML Display
function quadro_setting_display_top_html() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[display_tophtml]" class="area-enabler tophtml" class="area-enabler portfolio" name="quadro_theme_options[display_tophtml]" type="checkbox" value=true <?php checked( true, $quadro_options['display_tophtml'] ); ?> />
<span class="description"><?php _e( 'Display Top Custom Html Section?', 'quadro' ); ?></span>
<?php }
// Top Custom HTML Input
function quadro_setting_top_custom_html_input() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<textarea id="quadro_theme_options[top_custom_html_input]" type="text" rows="6" cols="100" name="quadro_theme_options[top_custom_html_input]" value="" ><?php esc_attr_e( $quadro_options['top_custom_html_input'] ); ?></textarea>
<p class="description"><?php _e( 'Go crazy with this Top Custom Html Section ;)', 'quadro' ); ?></p>
<?php }
// Show Services Section
function quadro_setting_show_services_section() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[display_services]" class="area-enabler services" name="quadro_theme_options[display_services]" type="checkbox" value=true <?php checked( true, $quadro_options['display_services'] ); ?> />
<?php }
// Show Recent News Section
function quadro_setting_show_recent_news_section() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[display_recents]" class="area-enabler recents" name="quadro_theme_options[display_recents]" type="checkbox" value=true <?php checked( true, $quadro_options['display_recents'] ); ?> />
<?php }
// Recent News Heading
function quadro_setting_recent_news_heading() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[recent_news_heading]" type="text" size="40" name="quadro_theme_options[recent_news_heading]" value="<?php esc_attr_e( $quadro_options['recent_news_heading'] ); ?>" />
<?php }
// Recent News Tagline
function quadro_setting_recent_news_tagline() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[recent_news_tagline]" type="text" size="40" name="quadro_theme_options[recent_news_tagline]" value="<?php esc_attr_e( $quadro_options['recent_news_tagline'] ); ?>" />
<?php }
// Show Portfolio Section
function quadro_setting_show_portfolio_section() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[display_portfolio]" class="area-enabler portfolio" name="quadro_theme_options[display_portfolio]" type="checkbox" value=true <?php checked( true, $quadro_options['display_portfolio'] ); ?> />
<?php }
// Category Picker for Home Portfolio
function quadro_setting_portfolio_categories() {
$quadro_options = get_option( 'quadro_theme_options' );
if ( isset ($quadro_options['portfolio_categories']) ) {
$portfolio_cats = ( is_array( $quadro_options['portfolio_categories'] ) ) ? array_map( 'absint', $quadro_options['portfolio_categories'] ) : array();
} else $portfolio_cats = array();
$portfolio_categories = get_categories('taxonomy=quadro_portfolio_category');
if( $portfolio_categories ) {
foreach( $portfolio_categories as $term ) { ?>
<label class="catselect">
<input value="<?php echo absint( $term->term_id ); ?>"<?php checked( in_array( absint( $term->term_id ),$portfolio_cats ),true ); ?> name="quadro_theme_options[portfolio_categories][]" type="checkbox"> <?php esc_html_e( $term->name ); ?>
</label>
<?php }
} ?>
<p class="description"><?php _e( 'Chose which categories to show for the Home Portfolio', 'quadro' ); ?></p>
<?php }
// Portfolio Items Size
function quadro_setting_portfolio_size() {
$quadro_options = get_option( 'quadro_theme_options' );
$selected_size = $quadro_options['portfolio_size']; ?>
<label class="sizeselect">
<input type="radio" name="quadro_theme_options[portfolio_size]" <?php checked( ($selected_size == 'Small'), true ); ?> value="Small" /> Small
</label>
<label class="sizeselect">
<input type="radio" name="quadro_theme_options[portfolio_size]" <?php checked( ($selected_size == 'Medium'), true ); ?> value="Medium" /> Medium
</label>
<?php }
// How Many Portfolio Rows To Show
function quadro_setting_portfolio_quantity() {
$quadro_options = get_option( 'quadro_theme_options' );
$quadro_portfolio_rows = quadro_get_valid_portfolio_quantity();?>
<select class="optionsselectfield" name="quadro_theme_options[portfolio_quantity]"> <?php
foreach ( $quadro_portfolio_rows as $quadro_portfolio_row ) {
$currentportfoliorow = ( $quadro_portfolio_row == $quadro_options['portfolio_quantity'] ? true : false );?>
<option name="quadro_theme_options[portfolio_quantity]" <?php selected( $currentportfoliorow ); ?> value="<?php echo esc_attr( $quadro_portfolio_row ); ?>" >
<?php echo esc_attr( $quadro_portfolio_row ); ?>
</option>
<?php } ?>
</select>
<p class="description"><?php _e( 'How many portfolio rows to show on Homepage?', 'quadro' ); ?></p>
<small><?php _e( 'Items quantity per row will change depending on the selected size.', 'quadro' ); ?></small>
<?php }
// Portfolio Heading
function quadro_setting_portfolio_heading() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[portfolio_heading]" type="text" size="40" name="quadro_theme_options[portfolio_heading]" value="<?php esc_attr_e( $quadro_options['portfolio_heading'] ); ?>" />
<?php }
// Portfolio Tagline
function quadro_setting_portfolio_tagline() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[portfolio_tagline]" type="text" size="40" name="quadro_theme_options[portfolio_tagline]" value="<?php esc_attr_e( $quadro_options['portfolio_tagline'] ); ?>" />
<?php }
// Display Portfolio Categories on Single Item
function quadro_setting_portfolio_display_categories() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[display_widgetarea]" class="area-enabler widgetarea" name="quadro_theme_options[portfolio_categories_display]" type="checkbox" value=true <?php checked( true, $quadro_options['portfolio_categories_display'] ); ?> />
<?php }
// Portfolio Info Tag Title
function quadro_setting_portfolio_infotag() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[portfolio_infotag]" type="text" size="40" name="quadro_theme_options[portfolio_infotag]" value="<?php esc_attr_e( $quadro_options['portfolio_infotag'] ); ?>" />
<?php }
// Portfolio View Project
function quadro_setting_portfolio_viewproject() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[portfolio_viewproject]" type="text" size="40" name="quadro_theme_options[portfolio_viewproject]" value="<?php esc_attr_e( $quadro_options['portfolio_viewproject'] ); ?>" />
<?php }
// Show Homepage Widgets
function quadro_setting_show_homepage_widgets_section() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[display_widgetarea]" class="area-enabler widgetarea" name="quadro_theme_options[display_widgetarea]" type="checkbox" value=true <?php checked( true, $quadro_options['display_widgetarea'] ); ?> />
<?php }
// Homepage Widgets Layout
function quadro_setting_homepage_widgets_section_layout() {
$quadro_options = get_option( 'quadro_theme_options' );
$quadro_widgets_layouts = quadro_get_valid_widget_area_layouts();
foreach ( $quadro_widgets_layouts as $quadro_widgets_layout ) {
$currentlayout = ( $quadro_widgets_layout == $quadro_options['homepage_widgets_layout'] ? true : false ); ?>
<dl class="layoutpicker">
<dd><input type="radio" name="quadro_theme_options[homepage_widgets_layout]" <?php checked( $currentlayout ); ?> value="<?php echo esc_attr( $quadro_widgets_layout ); ?>" id="<?php echo esc_attr( $quadro_widgets_layout ); ?>" /></dd>
<dd><label for="<?php echo $quadro_widgets_layout; ?>"><img src="<?php echo get_template_directory_uri() . '/library/admin/images/top-sidebar-layouts/topsidebar' . esc_attr( $quadro_widgets_layout ) . '.jpg'; ?>" width="80px" height="30px" alt="<?php echo esc_attr( $quadro_widgets_layout ); ?>" /></label></dd>
</dl>
<?php }
}
// Bottom Custom HTML Display
function quadro_setting_display_bottom_html() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<input id="quadro_theme_options[display_bottomhtml]" class="area-enabler bottomhtml" name="quadro_theme_options[display_bottomhtml]" type="checkbox" value=true <?php checked( true, $quadro_options['display_bottomhtml'] ); ?> />
<span class="description"><?php _e( 'Display Bottom Custom Html Section?', 'quadro' ); ?></span>
<?php }
// Bottom Custom HTML Input
function quadro_setting_bottom_custom_html_input() {
$quadro_options = get_option( 'quadro_theme_options' ); ?>
<textarea id="quadro_theme_options[bottom_custom_html_input]" type="text" rows="6" cols="100" name="quadro_theme_options[bottom_custom_html_input]" value="" ><?php esc_attr_e( $quadro_options['bottom_custom_html_input'] ); ?></textarea>
<p class="description"><?php _e( 'Or go crazy with this Bottom Custom Html Section ;)', 'quadro' ); ?></p>
<?php }
// Sortable Home Areas
function quadro_setting_sortable_areas() {
$quadro_options = get_option( 'quadro_theme_options' );
$areas_list = explode(",", $quadro_options['quadro_homepage_order']); ?>
<?php echo esc_attr( $quadro_options['quadro_homepage_order'] ); ?>
<ul id="sortable-areas">
<?php if ( ! empty($quadro_options['quadro_homepage_order']) ) foreach ( $areas_list as $list_area_id) {
if ($quadro_options['display_' . $list_area_id]) { ?>
<li id="<?php echo esc_attr( $list_area_id ); ?>"></li>
<?php }
} ?>
</ul>
<p class="description"><?php _e( 'Drag the items to the desired order.', 'quadro' ); ?></p>
<input id="orderinput" type="hidden" size="20" name="quadro_theme_options[quadro_homepage_order]" value="<?php esc_attr_e( $quadro_options['quadro_homepage_order'] ); ?>" />
<?php }
?>
<?php
/*-----------------------------------------------------------------------------------*/
/* Creating & Defining Minuscula's Default Options.
/*-----------------------------------------------------------------------------------*/
function quadro_get_default_options() {
$quadro_default_options = array(
// General Tab Variables
'display_text_logo' => true,
'logo_image_url' => '',
'display_tagline' => false,
'topleft_logo' => false,
'favicon_image_url' => '',
'login_logo_url' => '',
'show_footer' => true,
'footer_layout' => '4',
'copyright_footer_text' => '',
'404_custom_title' => '404 Error',
'404_custom_text' => '',
'top_sidebar_layout' => 'a',
'contact_sidebar_position' => 'right',
'show_blog_title_single' => true,
'blog_title_single' => 'Blog',
'blog_description_single' => '',
'blog_ribbon_color_single' => '#e53f0b',
'blog_sidebar_position' => 'right',
'show_prevnext_title' => false,
'google_map_script' => true,
// Homepage Tab Variables
'display_slider' => true,
'slider_style' => 'large-slider',
'cycle_transition' => 'fade',
'slider_slides_quantity' => 1,
'slider_timeout' => 5000,
'display_slogan' => true,
'slogan_input' => "This is a slogan.",
'display_tophtml' => false,
'top_custom_html_input' => '',
'display_services' => false,
'display_recents' => true,
'recent_news_heading' => 'Recent News',
'recent_news_tagline' => '',
'display_portfolio' => false,
'portfolio_categories' => array(),
'portfolio_size' => 'Small',
'portfolio_quantity' => 3,
'portfolio_heading' => 'Our Portfolio',
'portfolio_tagline' => '',
'portfolio_categories_display' => true,
'portfolio_infotag' => 'Client:',
'portfolio_viewproject' => 'View Project &rarr;',
'display_widgetarea' => false,
'homepage_widgets_layout' => 'c',
'display_bottomhtml' => false,
'bottom_custom_html_input' => '',
'quadro_homepage_order' => 'tophtml,slogan,services,portfolio,recents,widgetarea,bottomhtml',
// Design Tab Variables
'background_pattern' => 'none',
'background_color' => '#eeeeee',
'main_color_selector' => '#e53f0b',
'links_color_selector' => '#e53f0b',
'hover_color_selector' => '#ff9a1a',
'menu_tabs_color' => '#525252',
'menu_color_selector[1]' => '#e53f0b',
'menu_color_selector[2]' => '#e53f0b',
'menu_color_selector[3]' => '#e53f0b',
'menu_color_selector[4]' => '#e53f0b',
'menu_color_selector[5]' => '#e53f0b',
'menu_color_selector[6]' => '#e53f0b',
'menu_color_selector[7]' => '#e53f0b',
'menu_color_selector[8]' => '#e53f0b',
'menu_color_selector[9]' => '#e53f0b',
'menu_color_selector[10]' => '#e53f0b',
'quadro_css_tbox' => '',
// Typography Tab Variables
'enable_minusculas_magic' => true,
'logo_font' => 'Abel|font-family: "Abel";',
'logo_fsize' => 40,
'logo_text_color_selector' => '#111',
'tagline_fsize' => 18,
'tagline_color_selector' => '#555',
'top_menu_font' => 'Abel|font-family: "Abel";',
'menu_fsize' => 14,
'headings_font' => 'Abel|font-family: "Abel";',
'headings_fsize' => 'medium',
'headings_color_selector' => '#555',
'slogan_font' => 'Abel|font-family: "Abel";',
'slogan_fsize' => 36,
'body_font' => 'none|font-family: Helvetica, Arial, sans-serif;',
'body_fsize' => 12,
'body_color_selector' => '#111',
'footer_text_color' => '#fff',
// Contact Form Tab Variables
'send_to' => '',
'name_label' => 'Name',
'email_label' => 'Email',
'subject_label' => 'Subject',
'button_label' => 'Send',
'incorrect_email' => 'The email you entered is not valid',
'missing_general' => 'Please, complete this field',
'missing_name' => 'You forgot to fill in your name',
'missing_email' => 'Your forgot to fill in your email address',
'missing_subject' => 'You forgot to fill in the subject',
'missing_message' => 'Please include some words in your message',
'sending_success' => 'Thanks for contacting us! We will answer as soon as possible.',
'mail_title' => 'Email from your Website',
'mail_intro' => 'You have received a message through your contact form.',
'mail_name' => 'From:',
'mail_email_from' => 'Email address:',
'mail_subject' => 'Subject:',
'mail_message' => 'The message:',
// Social Networks IDs
'digg_id' => '',
'dribbble_id' => '',
'facebook_id' => '',
'flickr_id' => '',
'forrst_id' => '',
'google_id' => '',
'rss_id' => '',
'sharethis_id' => '',
'skype_id' => '',
'skype_link' => '',
'twitter_id' => '',
'vimeo_id' => '',
'youtube_id' => ''
);
return $quadro_default_options;
}
function quadro_options_init() {
// Set options equal to default if nothing has been selected
global $quadro_options;
$quadro_options = get_option( 'quadro_theme_options' );
if ( false === $quadro_options ) {
$quadro_options = quadro_get_default_options();
}
update_option( 'quadro_theme_options', $quadro_options );
}
// Initialize Theme options
add_action('after_setup_theme','quadro_options_init', 9 );
/*-----------------------------------------------------------------------------------*/
/* Defining "Arrayed" Available Options.
/*-----------------------------------------------------------------------------------*/
// Slider styles
function quadro_get_valid_sliders() {
$slider_styles = array(
'large' => array(
'slug' => 'large-slider',
'name' => 'Large Slider',
'description' => 'Show Full Width Slider'
),
'regular' => array(
'slug' => 'regular-slider',
'name' => 'Regular Slider',
'description' => 'Show a Classic & Stylish Slider'
)
);
return $slider_styles;
}
// Cycle Slider Transitions
function quadro_get_valid_cycle_transitions() {
$cycle_transitions = array( 'fade', 'none', 'scrollHorz', 'scrollVert' );
return $cycle_transitions;
}
// Define Background Patterns
function quadro_get_valid_background_patterns() {
$background_patterns = array('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79');
return $background_patterns;
}
// Define Footer Valid Layouts
function quadro_get_valid_footer_layouts() {
$footer_layouts = array('1', '2', '3', '4', '5');
return $footer_layouts;
}
// Define Top Sidebar Valid Layouts
function quadro_get_valid_sidebar_layouts() {
$sidebar_layouts = array('a', 'b', 'c', 'd', 'e');
return $sidebar_layouts;
}
// Define Homepage Widget Area Valid Layouts
function quadro_get_valid_widget_area_layouts() {
$home_widgets_layouts = array('a', 'b', 'c', 'd', 'e');
return $home_widgets_layouts;
}
// Define Portfolio Items Row Quantities
function quadro_get_valid_portfolio_quantity() {
$portfolio_quantities = array(1, 2, 3, 4, 5);
return $portfolio_quantities;
}
// Define Available Fonts
require( get_template_directory() . '/library/admin/quadro-fonts-list.php' );
// Define Heading Font Sizes
function quadro_get_valid_heading_sizes() {
$heading_sizes = array(
'very-small' => array(
'slug' => 'very-small',
'name' => 'Very Small',
'h1' => 22,
'lh1' => 20,
'h2' => 18,
'lh2' => 20,
'h3' => 16,
'lh3' => 20,
'h4' => 14,
'lh4' => 20,
'h5' => 12,
'lh5' => 20,
'h6' => 10,
'lh6' => 20
),
'small' => array(
'slug' => 'small',
'name' => 'Small',
'h1' => 34,
'lh1' => 40,
'h2' => 22,
'lh2' => 20,
'h3' => 18,
'lh3' => 20,
'h4' => 16,
'lh4' => 20,
'h5' => 14,
'lh5' => 20,
'h6' => 12,
'lh6' => 20
),
'medium' => array(
'slug' => 'medium',
'name' => 'Medium',
'h1' => 40,
'lh1' => 40,
'h2' => 34,
'lh2' => 40,
'h3' => 22,
'lh3' => 20,
'h4' => 18,
'lh4' => 20,
'h5' => 16,
'lh5' => 20,
'h6' => 14,
'lh6' => 20
),
'big' => array(
'slug' => 'big',
'name' => 'Big',
'h1' => 60,
'lh1' => 60,
'h2' => 40,
'lh2' => 40,
'h3' => 34,
'lh3' => 40,
'h4' => 22,
'lh4' => 20,
'h5' => 18,
'lh5' => 20,
'h6' => 16,
'lh6' => 20
),
'very-big' => array(
'slug' => 'very-big',
'name' => 'Very Big',
'h1' => 80,
'lh1' => 80,
'h2' => 60,
'lh2' => 60,
'h3' => 40,
'lh3' => 40,
'h4' => 34,
'lh4' => 40,
'h5' => 22,
'lh5' => 20,
'h6' => 18,
'lh6' => 20
),
'huge' => array(
'slug' => 'huge',
'name' => 'Huge',
'h1' => 100,
'lh1' => 100,
'h2' => 80,
'lh2' => 80,
'h3' => 60,
'lh3' => 60,
'h4' => 40,
'lh4' => 40,
'h5' => 34,
'lh5' => 40,
'h6' => 22,
'lh6' => 20
)
);
return $heading_sizes;
}
// Define Social Profiles for Footer Icons Looping
function quadro_get_social_profiles() {
$social_profiles = array(
1 => array(
'id' => 'digg_id',
'icon' => 'digg',
),
2 => array(
'id' => 'dribbble_id',
'icon' => 'dribbble',
),
3 => array(
'id' => 'facebook_id',
'icon' => 'facebook',
),
4 => array(
'id' => 'flickr_id',
'icon' => 'flickr',
),
5 => array(
'id' => 'forrst_id',
'icon' => 'forrst',
),
6 => array(
'id' => 'google_id',
'icon' => 'google',
),
7 => array(
'id' => 'rss_id',
'icon' => 'rss',
),
8 => array(
'id' => 'sharethis_id',
'icon' => 'sharethis',
),
9 => array(
'id' => 'skype_link',
'icon' => 'skype',
),
10 => array(
'id' => 'twitter_id',
'icon' => 'twitter',
),
11 => array(
'id' => 'vimeo_id',
'icon' => 'vimeo',
),
12 => array(
'id' => 'youtube_id',
'icon' => 'youtube',
)
);
return $social_profiles;
}
/*-----------------------------------------------------------------------------------*/
/* DEFINING Option Tabs.
/*-----------------------------------------------------------------------------------*/
function quadro_get_settings_page_tabs() {
$quadro_menu_tabs = array(
'general' => 'General',
'quadrohomepage' => 'Homepage',
'design' => 'Design',
'typography' => 'Typography',
'contact' => 'Contact Form',
'social' => 'Social Profiles',
'help' => 'Help'
);
return $quadro_menu_tabs;
}
/*-----------------------------------------------------------------------------------*/
/* Add "Minuscula Options" link to the "Appearance" menu.
/*-----------------------------------------------------------------------------------*/
function quadro_menu_options() {
add_theme_page('Theme Options', 'Theme Options', 'edit_theme_options', 'minuscula-settings', 'quadro_admin_options_page');
}
// Load the Admin Options page
add_action('admin_menu', 'quadro_menu_options');
/*-----------------------------------------------------------------------------------*/
/* Quadro Admin Options Page HTML Markup.
/*-----------------------------------------------------------------------------------*/
function quadro_admin_options_page() { ?>
<div class="wrap">
<h1><?php _e( 'Theme Options', 'quadro' ); ?></h1>
<?php quadro_admin_options_page_tabs(); ?>
<?php if ( isset( $_GET['settings-updated'] ) ) {
echo "<div class='updated'><p>" . __( 'Cool! Theme settings updated successfully.', 'quadro' ) . "</p></div>";
} ?>
<form action="options.php" method="post">
<?php
settings_fields('quadro_theme_options');
// Output each settings section, and each
// settings field in each section
do_settings_sections('quadro');
?>
<?php $tab = ( isset( $_GET['tab'] ) ? $_GET['tab'] : 'general' ); ?>
<div id="form-buttons">
<input name="quadro_theme_options[submit-<?php echo esc_attr( $tab ); ?>]" type="submit" class="button-primary" value="<?php esc_attr_e('Save Settings', 'quadro'); ?>" />
<input name="quadro_theme_options[reset-<?php echo esc_attr( $tab ); ?>]" type="submit" class="button-secondary" value="<?php esc_attr_e('Reset Defaults', 'quadro'); ?>" />
</div>
</form>
</div>
<?php }
/*-----------------------------------------------------------------------------------*/
/* CREATING Option Tabs.
/*-----------------------------------------------------------------------------------*/
function quadro_admin_options_page_tabs( $current = 'general' ) {
if ( isset ( $_GET['tab'] ) ) :
$current = esc_attr( $_GET['tab'] );
else:
$current = 'general';
endif;
$tabs = quadro_get_settings_page_tabs();
$links = array();
foreach( $tabs as $tab => $name ) :
if ( $tab == $current ) :
$links[] = "<a class='nav-tab nav-tab-active' href='?page=minuscula-settings&tab=$tab'>$name</a>";
else :
$links[] = "<a class='nav-tab' href='?page=minuscula-settings&tab=$tab'>$name</a>";
endif;
endforeach;
echo '<div id="icon-themes" class="icon32"><br /></div>';
echo '<h2 class="nav-tab-wrapper ' . $current . '">';
foreach ( $links as $link )
echo $link;
echo '</h2>';
}
/*-----------------------------------------------------------------------------------*/
/* Settings API Options initilization and validation.
/*-----------------------------------------------------------------------------------*/
function quadro_register_options(){
require( get_template_directory() . '/library/admin/quadro-register-options.php' );
}
add_action('admin_init', 'quadro_register_options');
/*****************************************************************************************
* Enqueue Minuscula Admin Page Stylesheet
*******************************************************************************************/
function quadro_enqueue_admin_style() {
// define admin stylesheet
$admin_handle = 'quadro_admin_stylesheet';
$admin_stylesheet = get_template_directory_uri() . '/library/admin/quadro-admin-style.css';
wp_enqueue_style( $admin_handle, $admin_stylesheet );
}
// Enqueue Admin Stylesheet at admin_print_styles()
add_action('admin_print_styles-appearance_page_minuscula-settings', 'quadro_enqueue_admin_style', 11 );
add_action('admin_print_styles-appearance_page_minuscula-reference', 'quadro_enqueue_admin_style', 11 );
/*-----------------------------------------------------------------------------------*/
/* Enabling WP Uploader Functionality, ColorPicker and others.
/*-----------------------------------------------------------------------------------*/
function quadro_admin_scripts() {
wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
wp_enqueue_script('farbtastic');
wp_register_script('quadro-uploader', get_template_directory_uri() . '/library/admin/quadro-admin-uploader.js', array('jquery','media-upload','thickbox'));
wp_register_script('quadro-adminoptions', get_template_directory_uri() . '/library/admin/quadro-admin-options.js', array( 'farbtastic', 'jquery' ));
wp_enqueue_script('quadro-uploader');
wp_enqueue_script('quadro-adminoptions');
wp_enqueue_script('jquery-ui-core');
wp_enqueue_script('jquery-ui-widget');
wp_enqueue_script('jquery-ui-mouse');
wp_enqueue_script('jquery-ui-sortable');
}
function quadro_admin_scripts_styles() {
wp_enqueue_style('thickbox');
wp_enqueue_style('farbtastic');
}
if ( 'themes.php' == $pagenow && isset( $_GET['page'] ) && 'minuscula-settings' == $_GET['page'] ) {
add_action('admin_print_scripts', 'quadro_admin_scripts');
add_action('admin_print_styles', 'quadro_admin_scripts_styles');
}
?>
<?php
/*-----------------------------------------------------------------------------------*/
/* Registering Quadro Theme Options.
/*-----------------------------------------------------------------------------------*/
register_setting( 'quadro_theme_options', 'quadro_theme_options', 'quadro_options_validate' );
/*-----------------------------------------------------------------------------------*/
/* Loading Options Content for each Tab
/*-----------------------------------------------------------------------------------*/
global $pagenow;
if ( 'themes.php' == $pagenow && isset( $_GET['page'] ) && 'minuscula-settings' == $_GET['page'] ) :
if ( isset ( $_GET['tab'] ) ) :
$tab = $_GET['tab'];
else:
$tab = 'general';
endif;
switch ( $tab ) :
case 'general' :
require( get_template_directory() . '/library/admin/quadro-options-general.php' );
break;
case 'quadrohomepage' :
require( get_template_directory() . '/library/admin/quadro-options-homepage.php' );
break;
case 'design' :
require( get_template_directory() . '/library/admin/quadro-options-design.php' );
break;
case 'typography' :
require( get_template_directory() . '/library/admin/quadro-options-typography.php' );
break;
case 'contact' :
require( get_template_directory() . '/library/admin/quadro-options-contact.php' );
break;
case 'social' :
require( get_template_directory() . '/library/admin/quadro-options-social.php' );
break;
case 'help' :
require( get_template_directory() . '/library/admin/quadro-options-help.php' );
break;
endswitch;
endif;
/*-----------------------------------------------------------------------------------*/
/* Validate/Whitelist User-Input Data Before Updating Theme Options.
/*-----------------------------------------------------------------------------------*/
function quadro_options_validate( $input ) {
$quadro_options = get_option( 'quadro_theme_options' );
$quadro_valid_input = $quadro_options;
$quadro_allowed_tags = array(
'a' => array(
'href' => array(),
'title' => array()
),
'blockquote' => array(),
'br' => array(),
'code' => array(),
'div' => array(
'class' => array(),
'id' => array(),
'style' => array()
),
'em' => array(),
'h1' => array(),
'h2' => array(),
'h3' => array(),
'h4' => array(),
'h5' => array(),
'h6' => array(),
'span' => array(
'class' => array(),
'style' => array()
),
'strong' => array()
);
// Determine which form action was submitted
$submit_general = ( ! empty( $input['submit-general']) ? true : false );
$reset_general = ( ! empty($input['reset-general']) ? true : false );
$submit_homepage = ( ! empty($input['submit-quadrohomepage']) ? true : false );
$reset_homepage = ( ! empty($input['reset-quadrohomepage']) ? true : false );
$submit_design = ( ! empty($input['submit-design']) ? true : false );
$reset_design = ( ! empty($input['reset-design']) ? true : false );
$submit_typography = ( ! empty($input['submit-typography']) ? true : false );
$reset_typography = ( ! empty($input['reset-typography']) ? true : false );
$submit_contact = ( ! empty($input['submit-contact']) ? true : false );
$reset_contact = ( ! empty($input['reset-contact']) ? true : false );
$submit_social = ( ! empty($input['submit-social']) ? true : false );
$reset_social = ( ! empty($input['reset-social']) ? true : false );
if ( $submit_general ) { // if General Settings Submit
$quadro_valid_input['display_text_logo'] = ( isset( $input['display_text_logo'] ) && 'true' == $input['display_text_logo'] ? true : false );
$quadro_valid_input['logo_image_url'] = ( stristr($input['logo_image_url'], '.jpg') || stristr($input['logo_image_url'], '.png') || stristr($input['logo_image_url'], '.gif') || stristr($input['logo_image_url'], '.tiff') || stristr($input['logo_image_url'], '.bmp') || $input['logo_image_url'] == '' ? $input['logo_image_url'] : $quadro_valid_input['logo_image_url'] );
$quadro_valid_input['display_tagline'] = ( isset( $input['display_tagline'] ) && 'true' == $input['display_tagline'] ? true : false );
$quadro_valid_input['topleft_logo'] = ( isset( $input['topleft_logo'] ) && 'true' == $input['topleft_logo'] ? true : false );
$quadro_valid_input['favicon_image_url'] = ( stristr($input['favicon_image_url'], '.jpg') || stristr($input['favicon_image_url'], '.png') || stristr($input['favicon_image_url'], '.gif') || stristr($input['favicon_image_url'], '.tiff') || stristr($input['favicon_image_url'], '.ico') || $input['favicon_image_url'] == '' ? $input['favicon_image_url'] : $quadro_valid_input['favicon_image_url'] );
$quadro_valid_input['login_logo_url'] = ( stristr($input['login_logo_url'], '.jpg') || stristr($input['login_logo_url'], '.png') || stristr($input['login_logo_url'], '.gif') || stristr($input['login_logo_url'], '.tiff') || stristr($input['login_logo_url'], '.bmp') || $input['login_logo_url'] == '' ? $input['login_logo_url'] : $quadro_valid_input['login_logo_url'] );
$quadro_valid_input['show_footer'] = ( isset( $input['show_footer'] ) && 'true' == $input['show_footer'] ? true : false );
$quadro_valid_footer_layouts = quadro_get_valid_footer_layouts();
foreach ( $quadro_valid_footer_layouts as $quadro_valid_footer_layout ) {
$quadro_valid_input['footer_layout'] = ( $quadro_valid_footer_layout == $input['footer_layout'] ? $input['footer_layout'] : $quadro_valid_input['footer_layout'] );}
$quadro_valid_input['copyright_footer_text'] = wp_kses( $input['copyright_footer_text'], $quadro_allowed_tags );
$quadro_valid_input['404_custom_title'] = sanitize_text_field( $input['404_custom_title'] );
$quadro_valid_input['404_custom_text'] = wp_kses( $input['404_custom_text'], $quadro_allowed_tags );
$quadro_valid_sidebar_layouts = quadro_get_valid_sidebar_layouts();
foreach ( $quadro_valid_sidebar_layouts as $quadro_valid_sidebar_layout ) {
$quadro_valid_input['top_sidebar_layout'] = ( $quadro_valid_sidebar_layout == $input['top_sidebar_layout'] ? $input['top_sidebar_layout'] : $quadro_valid_input['top_sidebar_layout'] );}
$quadro_valid_input['contact_sidebar_position'] = ( 'left' == $input['contact_sidebar_position'] || 'right' == $input['contact_sidebar_position'] || 'none' == $input['contact_sidebar_position'] ? $input['contact_sidebar_position'] : $quadro_valid_input['contact_sidebar_position'] );
$quadro_valid_input['show_blog_title_single'] = ( isset( $input['show_blog_title_single'] ) && 'true' == $input['show_blog_title_single'] ? true : false );
$quadro_valid_input['blog_title_single'] = sanitize_text_field( $input['blog_title_single'] );
$quadro_valid_input['blog_description_single'] = sanitize_text_field( $input['blog_description_single'] );
if(preg_match('/^#[a-f0-9]{6}$/i', $input['blog_ribbon_color_single'])) { $quadro_valid_input['blog_ribbon_color_single'] = $input['blog_ribbon_color_single']; }
$quadro_valid_input['blog_sidebar_position'] = ( 'left' == $input['blog_sidebar_position'] || 'right' == $input['blog_sidebar_position'] ? $input['blog_sidebar_position'] : $quadro_valid_input['blog_sidebar_position'] );
$quadro_valid_input['show_prevnext_title'] = ( isset( $input['show_prevnext_title'] ) && 'true' == $input['show_prevnext_title'] ? true : false );
$quadro_valid_input['google_map_script'] = ( isset( $input['google_map_script'] ) && 'true' == $input['google_map_script'] ? true : false );
} elseif ( $reset_general ) { // if General Settings Reset Defaults
$quadro_default_options = quadro_get_default_options();
$quadro_valid_input['display_text_logo'] = $quadro_default_options['display_text_logo'];
$quadro_valid_input['logo_image_url'] = $quadro_default_options['logo_image_url'];
$quadro_valid_input['display_tagline'] = $quadro_default_options['display_tagline'];
$quadro_valid_input['favicon_image_url'] = $quadro_default_options['favicon_image_url'];
$quadro_valid_input['login_logo_url'] = $quadro_default_options['login_logo_url'];
$quadro_valid_input['show_footer'] = $quadro_default_options['show_footer'];
$quadro_valid_input['footer_layout'] = $quadro_default_options['footer_layout'];
$quadro_valid_input['copyright_footer_text'] = $quadro_default_options['copyright_footer_text'];
$quadro_valid_input['404_custom_title'] = $quadro_default_options['404_custom_title'];
$quadro_valid_input['404_custom_text'] = $quadro_default_options['404_custom_text'];
$quadro_valid_input['top_sidebar_layout'] = $quadro_default_options['top_sidebar_layout'];
$quadro_valid_input['contact_sidebar_position'] = $quadro_default_options['contact_sidebar_position'];
$quadro_valid_input['show_blog_title_single'] = $quadro_default_options['show_blog_title_single'];
$quadro_valid_input['blog_title_single'] = $quadro_default_options['blog_title_single'];
$quadro_valid_input['blog_description_single'] = $quadro_default_options['blog_description_single'];
$quadro_valid_input['blog_ribbon_color_single'] = $quadro_default_options['blog_ribbon_color_single'];
$quadro_valid_input['blog_sidebar_position'] = $quadro_default_options['blog_sidebar_position'];
$quadro_valid_input['show_prevnext_title'] = $quadro_default_options['show_prevnext_title'];
$quadro_valid_input['google_map_script'] = $quadro_default_options['google_map_script'];
} elseif ( $submit_homepage ) { // if Homepage Settings Submit
$quadro_valid_input['display_slider'] = ( isset( $input['display_slider'] ) && 'true' == $input['display_slider'] ? true : false );
$quadro_valid_sliders = quadro_get_valid_sliders();
foreach ( $quadro_valid_sliders as $quadro_valid_slider ) {
$quadro_valid_input['slider_style'] = ( $quadro_valid_slider['slug'] == $input['slider_style'] ? $input['slider_style'] : $quadro_valid_input['slider_style'] );}
$quadro_valid_cycle_transitions = quadro_get_valid_cycle_transitions();
foreach ( $quadro_valid_cycle_transitions as $quadro_valid_cycle_transition ) {
$quadro_valid_input['cycle_transition'] = ( $quadro_valid_cycle_transition == $input['cycle_transition'] ? $input['cycle_transition'] : $quadro_valid_input['cycle_transition'] ); }
$quadro_valid_input['slider_slides_quantity'] = ( (intval( $input['slider_slides_quantity'] > 0 ) && intval( $input['slider_slides_quantity'] < 50) ) ? intval($input['slider_slides_quantity']) : $quadro_valid_input['slider_slides_quantity'] );
$quadro_valid_input['slider_timeout'] = ( (intval( $input['slider_timeout'] > 200 ) && intval( $input['slider_timeout'] < 60001) ) ? intval($input['slider_timeout']) : $quadro_valid_input['slider_timeout'] );
$quadro_valid_input['display_slogan'] = ( ( isset( $input['display_slogan'] ) && true == $input['display_slogan'] ) ? true : false );
$quadro_valid_input['slogan_input'] = wp_kses( $input['slogan_input'], $quadro_allowed_tags );
$quadro_valid_input['display_tophtml'] = ( ( isset( $input['display_tophtml'] ) && true == $input['display_tophtml'] ) ? true : false );
$quadro_valid_input['top_custom_html_input'] = wp_kses( $input['top_custom_html_input'], $quadro_allowed_tags );
$quadro_valid_input['display_services'] = ( ( isset( $input['display_services'] ) && 'true' == $input['display_services'] ) ? true : false );
$quadro_valid_input['display_recents'] = ( ( isset( $input['display_recents'] ) && 'true' == $input['display_recents'] ) ? true : false );
$quadro_valid_input['recent_news_heading'] = sanitize_text_field( $input['recent_news_heading'] );
$quadro_valid_input['recent_news_tagline'] = sanitize_text_field( $input['recent_news_tagline'] );
$quadro_valid_input['display_portfolio'] = ( ( isset( $input['display_portfolio'] ) && 'true' == $input['display_portfolio'] ) ? true : false );
$quadro_valid_input['portfolio_categories'] = ( isset( $input['portfolio_categories'] ) ? $input['portfolio_categories'] : '' );
$quadro_valid_input['portfolio_size'] = ( ('Small' == $input['portfolio_size'] || 'Medium' == $input['portfolio_size']) ? $input['portfolio_size'] : $quadro_valid_input['portfolio_size'] );
$quadro_valid_input['portfolio_quantity'] = ( (intval( $input['portfolio_quantity'] > 0 ) && intval( $input['portfolio_quantity'] < 50) ) ? intval($input['portfolio_quantity']) : $quadro_valid_input['portfolio_quantity'] );
$quadro_valid_input['portfolio_heading'] = sanitize_text_field( $input['portfolio_heading'] );
$quadro_valid_input['portfolio_tagline'] = sanitize_text_field( $input['portfolio_tagline'] );
$quadro_valid_input['portfolio_categories_display'] = ( ( isset( $input['portfolio_categories_display'] ) && 'true' == $input['portfolio_categories_display'] ) ? true : false );
$quadro_valid_input['portfolio_infotag'] = sanitize_text_field( $input['portfolio_infotag'] );
$quadro_valid_input['portfolio_viewproject'] = sanitize_text_field( $input['portfolio_viewproject'] );
$quadro_valid_input['display_widgetarea'] = ( ( isset( $input['display_widgetarea'] ) && 'true' == $input['display_widgetarea'] ) ? true : false );
$quadro_valid_home_widgets_layouts = quadro_get_valid_widget_area_layouts();
foreach ( $quadro_valid_home_widgets_layouts as $quadro_valid_home_widgets_layout ) {
$quadro_valid_input['homepage_widgets_layout'] = ( $quadro_valid_home_widgets_layout == $input['homepage_widgets_layout'] ? $input['homepage_widgets_layout'] : $quadro_valid_input['homepage_widgets_layout'] );}
$quadro_valid_input['display_bottomhtml'] = ( ( isset( $input['display_bottomhtml'] ) && 'true' == $input['display_bottomhtml'] ) ? true : false );
$quadro_valid_input['bottom_custom_html_input'] = wp_kses( $input['bottom_custom_html_input'], $quadro_allowed_tags );
$quadro_valid_input['quadro_homepage_order'] = $input['quadro_homepage_order'];
} elseif ( $reset_homepage ) { // if Homepage Settings Reset Defaults
$quadro_default_options = quadro_get_default_options();
$quadro_valid_input['display_slider'] = $quadro_default_options['display_slider'];
$quadro_valid_input['slider_style'] = $quadro_default_options['slider_style'];
$quadro_valid_input['slider_type'] = $quadro_default_options['slider_type'];
$quadro_valid_input['cycle_transition'] = $quadro_default_options['cycle_transition'];
$quadro_valid_input['piecemaker_transition'] = $quadro_default_options['piecemaker_transition'];
$quadro_valid_input['nivo_transition'] = $quadro_default_options['nivo_transition'];
$quadro_valid_input['anything_transition'] = $quadro_default_options['anything_transition'];
$quadro_valid_input['slicebox_transition'] = $quadro_default_options['slicebox_transition'];
$quadro_valid_input['slider_slides_quantity'] = $quadro_default_options['slider_slides_quantity'];
$quadro_valid_input['slider_timeout'] = $quadro_default_options['slider_timeout'];
$quadro_valid_input['display_slogan'] = $quadro_default_options['display_slogan'];
$quadro_valid_input['slogan_input'] = $quadro_default_options['slogan_input'];
$quadro_valid_input['display_tophtml'] = $quadro_default_options['display_tophtml'];
$quadro_valid_input['top_custom_html_input'] = $quadro_default_options['top_custom_html_input'];
$quadro_valid_input['display_services'] = $quadro_default_options['display_services'];
$quadro_valid_input['display_recents'] = $quadro_default_options['display_recents'];
$quadro_valid_input['recent_news_heading'] = $quadro_default_options['recent_news_heading'];
$quadro_valid_input['recent_news_tagline'] = $quadro_default_options['recent_news_tagline'];
$quadro_valid_input['display_portfolio'] = $quadro_default_options['display_portfolio'];
$quadro_valid_input['portfolio_categories'] = $quadro_default_options['portfolio_categories'];
$quadro_valid_input['portfolio_size'] = $quadro_default_options['portfolio_size'];
$quadro_valid_input['portfolio_quantity'] = $quadro_default_options['portfolio_quantity'];
$quadro_valid_input['portfolio_heading'] = $quadro_default_options['portfolio_heading'];
$quadro_valid_input['portfolio_tagline'] = $quadro_default_options['portfolio_tagline'];
$quadro_valid_input['portfolio_categories_display'] = $quadro_default_options['portfolio_categories_display'];
$quadro_valid_input['portfolio_infotag'] = $quadro_default_options['portfolio_infotag'];
$quadro_valid_input['portfolio_viewproject'] = $quadro_default_options['portfolio_viewproject'];
$quadro_valid_input['display_widgetarea'] = $quadro_default_options['display_widgetarea'];
$quadro_valid_input['homepage_widgets_layout'] = $quadro_default_options['homepage_widgets_layout'];
$quadro_valid_input['display_bottomhtml'] = $quadro_default_options['display_bottomhtml'];
$quadro_valid_input['bottom_custom_html_input'] = $quadro_default_options['bottom_custom_html_input'];
$quadro_valid_input['quadro_homepage_order'] = $quadro_default_options['quadro_homepage_order'];
} elseif ( $submit_design ) { // if Design Settings Submit
$quadro_valid_background_patterns = quadro_get_valid_background_patterns();
foreach ( $quadro_valid_background_patterns as $quadro_valid_background_pattern ) {
$quadro_valid_input['background_pattern'] = ( ( 'none' || $quadro_valid_background_pattern ) == $input['background_pattern'] ? $input['background_pattern'] : $quadro_valid_input['background_pattern'] );}
if( preg_match('/^#[a-f0-9]{6}$/i', $input['background_color']) ) { $quadro_valid_input['background_color'] = $input['background_color']; }
if( preg_match('/^#[a-f0-9]{6}$/i', $input['main_color_selector']) ) { $quadro_valid_input['main_color_selector'] = $input['main_color_selector']; }
if( preg_match('/^#[a-f0-9]{6}$/i', $input['links_color_selector']) ) { $quadro_valid_input['links_color_selector'] = $input['links_color_selector']; }
if( preg_match('/^#[a-f0-9]{6}$/i', $input['hover_color_selector']) ) { $quadro_valid_input['hover_color_selector'] = $input['hover_color_selector']; }
if( preg_match('/^#[a-f0-9]{6}$/i', $input['menu_tabs_color']) ) { $quadro_valid_input['menu_tabs_color'] = $input['menu_tabs_color']; }
// Menu Color Picker
$quadro_menu_item = wp_nav_menu(array( 'theme_location' => 'main_nav', 'echo' => false, 'depth' => 1 ));
$quadro_menu_counts = substr_count($quadro_menu_item, 'class="menu-item ');
for ( $i = 1; $i <= $quadro_menu_counts ; $i++ ) {
if( preg_match('/^#[a-f0-9]{6}$/i', $input['menu_color_selector'][$i]) || $input['menu_color_selector'][$i] == '' || $input['menu_color_selector'][$i] == '#' ) {
$quadro_valid_input['menu_color_selector'][$i] = $input['menu_color_selector'][$i];
}
} // End FOR for menu color pickers
$quadro_valid_input['quadro_css_tbox'] = wp_filter_kses( $input['quadro_css_tbox'] );
} elseif ( $reset_design ) { // if Design Settings Reset Defaults
$quadro_default_options = quadro_get_default_options();
$quadro_valid_input['background_pattern'] = $quadro_default_options['background_pattern'];
$quadro_valid_input['background_color'] = $quadro_default_options['background_color'];
$quadro_valid_input['main_color_selector'] = $quadro_default_options['main_color_selector'];
$quadro_valid_input['links_color_selector'] = $quadro_default_options['links_color_selector'];
$quadro_valid_input['hover_color_selector'] = $quadro_default_options['hover_color_selector'];
$quadro_valid_input['menu_tabs_color'] = $quadro_default_options['menu_tabs_color'];
// Menu Color Picker resets
$quadro_menu_item = wp_nav_menu(array( 'theme_location' => 'main_nav', 'echo' => false, 'depth' => 1 ));
$quadro_menu_counts = substr_count($quadro_menu_item, 'class="menu-item ');
for ( $i = 1; $i <= $quadro_menu_counts ; $i++ ) {
$quadro_valid_input['menu_color_selector'][$i] = $quadro_default_options['menu_color_selector'][$i];
} // End FOR for menu color pickers
} elseif ( $submit_typography) { // if Typography Settings Submit
$quadro_valid_input['enable_minusculas_magic'] = ( ( isset( $input['enable_minusculas_magic'] ) && 'true' == $input['enable_minusculas_magic'] ) ? true : false );
$quadro_valid_logo_fonts = quadro_get_valid_fontslist();
foreach ( $quadro_valid_logo_fonts as $quadro_valid_logo_font ) {
$quadro_valid_input['logo_font'] = ( $quadro_valid_logo_font['css-name'].'|'.$quadro_valid_logo_font['font-family'] == $input['logo_font'] ? $input['logo_font'] : $quadro_valid_input['logo_font'] );
}
$quadro_valid_input['logo_fsize'] = ( (intval( $input['logo_fsize'] > 12 ) && intval( $input['logo_fsize'] < 100 )) ? intval( $input['logo_fsize'] ) : $quadro_valid_input['logo_fsize'] );
if(preg_match('/^#[a-f0-9]{6}$/i', $input['logo_text_color_selector'])) { $quadro_valid_input['logo_text_color_selector'] = $input['logo_text_color_selector']; }
$quadro_valid_input['tagline_fsize'] = ( (intval( $input['tagline_fsize'] > 8 ) && intval( $input['tagline_fsize'] < 50 )) ? intval( $input['tagline_fsize'] ) : $quadro_valid_input['tagline_fsize'] );
if(preg_match('/^#[a-f0-9]{6}$/i', $input['tagline_color_selector'])) { $quadro_valid_input['tagline_color_selector'] = $input['tagline_color_selector']; }
$quadro_valid_top_menu_fonts = quadro_get_valid_fontslist();
foreach ( $quadro_valid_top_menu_fonts as $quadro_valid_top_menu_font ) {
$quadro_valid_input['top_menu_font'] = ( $quadro_valid_top_menu_font['css-name'].'|'.$quadro_valid_top_menu_font['font-family'] == $input['top_menu_font'] ? $input['top_menu_font'] : $quadro_valid_input['top_menu_font'] );
}
$quadro_valid_input['menu_fsize'] = ( (intval( $input['menu_fsize'] > 8 ) && intval( $input['menu_fsize'] < 30 )) ? intval( $input['menu_fsize'] ) : $quadro_valid_input['menu_fsize'] );
$quadro_valid_headings_fonts = quadro_get_valid_fontslist();
foreach ( $quadro_valid_headings_fonts as $quadro_valid_headings_font ) {
$quadro_valid_input['headings_font'] = ( $quadro_valid_headings_font['css-name'].'|'.$quadro_valid_headings_font['font-family'] == $input['headings_font'] ? $input['headings_font'] : $quadro_valid_input['headings_font'] );
}
$quadro_valid_heading_sizes = quadro_get_valid_heading_sizes();
foreach ( $quadro_valid_heading_sizes as $quadro_valid_heading_size ) {
$quadro_valid_input['headings_fsize'] = ( $quadro_valid_heading_size['slug'] == $input['headings_fsize'] ? $input['headings_fsize'] : $quadro_valid_input['headings_fsize'] );
}
if(preg_match('/^#[a-f0-9]{6}$/i', $input['headings_color_selector'])) { $quadro_valid_input['headings_color_selector'] = $input['headings_color_selector']; }
$quadro_valid_slogan_fonts = quadro_get_valid_fontslist();
foreach ( $quadro_valid_slogan_fonts as $quadro_valid_slogan_font ) {
$quadro_valid_input['slogan_font'] = ( $quadro_valid_slogan_font['css-name'].'|'.$quadro_valid_slogan_font['font-family'] == $input['slogan_font'] ? $input['slogan_font'] : $quadro_valid_input['slogan_font'] );
}
$quadro_valid_input['slogan_fsize'] = ( (intval( $input['slogan_fsize'] > 10 ) && intval( $input['slogan_fsize'] < 140 )) ? intval( $input['slogan_fsize'] ) : $quadro_valid_input['slogan_fsize'] );
$quadro_valid_body_fonts = quadro_get_valid_fontslist();
foreach ( $quadro_valid_body_fonts as $quadro_valid_body_font ) {
$quadro_valid_input['body_font'] = ( $quadro_valid_body_font['css-name'].'|'.$quadro_valid_body_font['font-family'] == $input['body_font'] ? $input['body_font'] : $quadro_valid_input['body_font'] );
}
$quadro_valid_input['body_fsize'] = ( (intval( $input['body_fsize'] > 8 ) && intval( $input['body_fsize'] < 28 )) ? intval( $input['body_fsize'] ) : $quadro_valid_input['body_fsize'] );
if(preg_match('/^#[a-f0-9]{6}$/i', $input['body_color_selector'])) { $quadro_valid_input['body_color_selector'] = $input['body_color_selector']; }
if(preg_match('/^#[a-f0-9]{6}$/i', $input['footer_text_color'])) { $quadro_valid_input['footer_text_color'] = $input['footer_text_color']; }
} elseif ( $reset_typography ) { // if Typography Settings Reset Defaults
$quadro_default_options = quadro_get_default_options();
$quadro_valid_input['enable_minusculas_magic'] = $quadro_default_options['enable_minusculas_magic'];
$quadro_valid_input['logo_font'] = $quadro_default_options['logo_font'];
$quadro_valid_input['logo_fsize'] = $quadro_default_options['logo_fsize'];
$quadro_valid_input['logo_text_color_selector'] = $quadro_default_options['logo_text_color_selector'];
$quadro_valid_input['tagline_fsize'] = $quadro_default_options['tagline_fsize'];
$quadro_valid_input['tagline_color_selector'] = $quadro_default_options['tagline_color_selector'];
$quadro_valid_input['top_menu_font'] = $quadro_default_options['top_menu_font'];
$quadro_valid_input['menu_fsize'] = $quadro_default_options['menu_fsize'];
$quadro_valid_input['headings_font'] = $quadro_default_options['headings_font'];
$quadro_valid_input['headings_fsize'] = $quadro_default_options['headings_fsize'];
$quadro_valid_input['headings_color_selector'] = $quadro_default_options['headings_color_selector'];
$quadro_valid_input['slogan_font'] = $quadro_default_options['slogan_font'];
$quadro_valid_input['slogan_fsize'] = $quadro_default_options['slogan_fsize'];
$quadro_valid_input['body_font'] = $quadro_default_options['body_font'];
$quadro_valid_input['body_fsize'] = $quadro_default_options['body_fsize'];
$quadro_valid_input['body_color_selector'] = $quadro_default_options['body_color_selector'];
$quadro_valid_input['footer_text_color'] = $quadro_default_options['footer_text_color'];
} elseif ( $submit_contact) { // if Contact Form Settings Submit
$quadro_valid_input['send_to'] = sanitize_text_field( $input['send_to'] );
$quadro_valid_input['name_label'] = sanitize_text_field( $input['name_label'] );
$quadro_valid_input['email_label'] = sanitize_text_field( $input['email_label'] );
$quadro_valid_input['subject_label'] = sanitize_text_field( $input['subject_label'] );
$quadro_valid_input['button_label'] = sanitize_text_field( $input['button_label'] );
$quadro_valid_input['incorrect_email'] = sanitize_text_field( $input['incorrect_email'] );
$quadro_valid_input['missing_general'] = sanitize_text_field( $input['missing_general'] );
$quadro_valid_input['missing_name'] = sanitize_text_field( $input['missing_name'] );
$quadro_valid_input['missing_email'] = sanitize_text_field( $input['missing_email'] );
$quadro_valid_input['missing_subject'] = sanitize_text_field( $input['missing_subject'] );
$quadro_valid_input['missing_message'] = sanitize_text_field( $input['missing_message'] );
$quadro_valid_input['sending_success'] = sanitize_text_field( $input['sending_success'] );
$quadro_valid_input['mail_title'] = sanitize_text_field( $input['mail_title'] );
$quadro_valid_input['mail_intro'] = sanitize_text_field( $input['mail_intro'] );
$quadro_valid_input['mail_name'] = sanitize_text_field( $input['mail_name'] );
$quadro_valid_input['mail_email_from'] = sanitize_text_field( $input['mail_email_from'] );
$quadro_valid_input['mail_subject'] = sanitize_text_field( $input['mail_subject'] );
$quadro_valid_input['mail_message'] = sanitize_text_field( $input['mail_message'] );
} elseif ( $reset_contact ) { // if Contact Form Settings Reset Defaults
$quadro_default_options = quadro_get_default_options();
$quadro_valid_input['send_to'] = $quadro_default_options['send_to'];
$quadro_valid_input['name_label'] = $quadro_default_options['name_label'];
$quadro_valid_input['email_label'] = $quadro_default_options['email_label'];
$quadro_valid_input['subject_label'] = $quadro_default_options['subject_label'];
$quadro_valid_input['button_label'] = $quadro_default_options['button_label'];
$quadro_valid_input['incorrect_email'] = $quadro_default_options['incorrect_email'];
$quadro_valid_input['missing_general'] = $quadro_default_options['missing_general'];
$quadro_valid_input['missing_name'] = $quadro_default_options['missing_name'];
$quadro_valid_input['missing_email'] = $quadro_default_options['missing_email'];
$quadro_valid_input['missing_subject'] = $quadro_default_options['missing_subject'];
$quadro_valid_input['missing_message'] = $quadro_default_options['missing_message'];
$quadro_valid_input['sending_success'] = $quadro_default_options['sending_success'];
$quadro_valid_input['mail_title'] = $quadro_default_options['mail_title'];
$quadro_valid_input['mail_intro'] = $quadro_default_options['mail_intro'];
$quadro_valid_input['mail_name'] = $quadro_default_options['mail_name'];
$quadro_valid_input['mail_email_from'] = $quadro_default_options['mail_email_from'];
$quadro_valid_input['mail_subject'] = $quadro_default_options['mail_subject'];
$quadro_valid_input['mail_message'] = $quadro_default_options['mail_message'];
} elseif ( $submit_social) { // if Social Profiles Settings Submit
$quadro_valid_input['digg_id'] = esc_url( $input['digg_id'] );
$quadro_valid_input['dribbble_id'] = esc_url( $input['dribbble_id'] );
$quadro_valid_input['facebook_id'] = esc_url( $input['facebook_id'] );
$quadro_valid_input['flickr_id'] = esc_url( $input['flickr_id'] );
$quadro_valid_input['forrst_id'] = esc_url( $input['forrst_id'] );
$quadro_valid_input['google_id'] = esc_url( $input['google_id'] );
$quadro_valid_input['rss_id'] = esc_url( $input['rss_id'] );
$quadro_valid_input['sharethis_id'] = esc_url( $input['sharethis_id'] );
$quadro_valid_input['skype_id'] = esc_url( $input['skype_id'] );
$quadro_valid_input['skype_link'] = ( $input['skype_id'] != '' ) ? 'skype:' . sanitize_text_field( $input['skype_id'] ) . '?chat' : '';
$quadro_valid_input['twitter_id'] = sanitize_text_field( $input['twitter_id'] );
$quadro_valid_input['vimeo_id'] = esc_url( $input['vimeo_id'] );
$quadro_valid_input['youtube_id'] = esc_url( $input['youtube_id'] );
} elseif ( $reset_social ) { // if Social Profiles Settings Reset Defaults
$quadro_default_options = quadro_get_default_options();
$quadro_valid_input['digg_id'] = $quadro_default_options['digg_id'];
$quadro_valid_input['dribbble_id'] = $quadro_default_options['dribbble_id'];
$quadro_valid_input['facebook_id'] = $quadro_default_options['facebook_id'];
$quadro_valid_input['flickr_id'] = $quadro_default_options['flickr_id'];
$quadro_valid_input['forrst_id'] = $quadro_default_options['forrst_id'];
$quadro_valid_input['google_id'] = $quadro_default_options['google_id'];
$quadro_valid_input['rss_id'] = $quadro_default_options['rss_id'];
$quadro_valid_input['sharethis_id'] = $quadro_default_options['sharethis_id'];
$quadro_valid_input['skype_id'] = $quadro_default_options['skype_id'];
$quadro_valid_input['skype_link'] = $quadro_default_options['skype_link'];
$quadro_valid_input['twitter_id'] = $quadro_default_options['twitter_id'];
$quadro_valid_input['vimeo_id'] = $quadro_default_options['vimeo_id'];
$quadro_valid_input['youtube_id'] = $quadro_default_options['youtube_id'];
}
return $quadro_valid_input;
}?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment