File: /var/www/html/delstar/wp-content/plugins/woosidebars/classes/class-woo-conditions.php
<?php
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
/**
* Woo Conditions Class
*
* Determine the conditions that apply to each screen within WordPress.
*
* @package WordPress
* @subpackage WooSidebars
* @author WooThemes
* @since 1.0.0
*
* TABLE OF CONTENTS
*
* public $token
* public $conditions
* public $conditions_headings
* public $conditions_reference
* public $meta_box_settings
* public $upper_limit
* private $assets_url
* private $plugin_url
*
* - __construct()
* - get_conditions()
* - determine_conditions()
* - setup_default_conditions_reference()
* - is_hierarchy()
* - is_taxonomy()
* - is_post_type_archive()
* - is_page_template()
* - meta_box_setup()
* - meta_box_content()
* - meta_box_save()
* - show_advanced_items()
* - ajax_toggle_advanced_items()
* - enqueue_scripts()
*/
class Woo_Conditions {
public $token = '';
public $conditions = array();
public $conditions_headings = array();
public $conditions_reference = array();
public $meta_box_settings = array();
public $upper_limit;
private $assets_url;
private $plugin_url;
/**
* __construct function.
*
* @access public
* @return void
*/
public function __construct () {
$this->meta_box_settings['title'] = __( 'Conditions', 'woosidebars' );
$this->upper_limit = intval( apply_filters( 'woosidebars_upper_limit', 200 ) );
if ( is_admin() && get_post_type() == $this->token || ! get_post_type() ) {
add_action( 'admin_menu', array( $this, 'meta_box_setup' ), 20 );
add_action( 'save_post', array( $this, 'meta_box_save' ) );
}
/* Plugin URL/path settings. */
$this->plugin_url = str_replace( '/classes', '', plugins_url( plugin_basename( dirname( __FILE__ ) ) ) );
$this->assets_url = $this->plugin_url . '/assets';
if ( is_admin() ) {
add_action( 'admin_print_scripts', array( $this, 'enqueue_scripts' ), 12 );
}
add_action( 'get_header', array( $this, 'get_conditions' ) );
add_action( 'wp_ajax_woosidebars-toggle-advanced-items', array( $this, 'ajax_toggle_advanced_items' ) );
} // End __construct()
/**
* get_conditions function.
*
* @access public
* @return void
*/
public function get_conditions () {
$this->determine_conditions();
$this->conditions = apply_filters( 'woo_conditions', $this->conditions );
$this->conditions = array_reverse( $this->conditions );
} // End get_conditions()
/**
* determine_conditions function.
*
* @access public
* @return void
*/
public function determine_conditions () {
$this->is_hierarchy();
$this->is_taxonomy();
$this->is_post_type_archive();
$this->is_page_template();
} // End determine_conditions()
/**
* setup_default_conditions_reference function.
*
* @description Setup the default conditions and their information, for display when selecting conditions.
* @access public
* @return void
*/
public function setup_default_conditions_reference () {
$conditions = array();
$conditions_headings = array();
// Get an array of the different post status labels, in case we need it later.
$post_statuses = get_post_statuses();
// Pages and Pages with children
$conditions['pages'] = array();
$conditions['pages_with_children'] = array();
$statuses_string = join( ',', array_keys( $post_statuses ) );
$pages = get_pages( array( 'post_status' => $statuses_string ) );
if ( count( $pages ) > 0 ) {
$conditions_headings['pages'] = __( 'Pages', 'woosidebars' );
$conditions_headings['pages_with_children'] = __( 'Pages and their children', 'woosidebars' );
foreach ( $pages as $k => $v ) {
$token = 'post-' . $v->ID;
$pwctoken = 'postwc-' . $v->ID;
$label = esc_html( $v->post_title );
if ( 'publish' != $v->post_status ) {
$label .= ' (' . $post_statuses[$v->post_status] . ')';
}
$conditions['pages'][$token] = array(
'label' => $label,
'description' => sprintf( __( 'The "%s" page', 'woosidebars' ), $v->post_title )
);
$conditions['pages_with_children'][$pwctoken] = array(
'label' => $label,
'description' => sprintf( __( 'The "%s" page and its children', 'woosidebars' ), $v->post_title ),
'parent' => $v->post_parent,
'ID' => $v->ID,
);
}
$conditions['pages_with_children'] = $this->add_depth( $conditions['pages_with_children'] );
}
$args = array(
'show_ui' => true,
'public' => true,
'publicly_queryable' => true,
'_builtin' => false
);
$post_types = get_post_types( $args, 'object' );
// Set certain post types that aren't allowed to have custom sidebars.
$disallowed_types = array( 'slide' );
// Make the array filterable.
$disallowed_types = apply_filters( 'woosidebars_disallowed_post_types', $disallowed_types );
if ( count( $post_types ) ) {
foreach ( $post_types as $k => $v ) {
if ( in_array( $k, $disallowed_types ) ) {
unset( $post_types[$k] );
}
}
}
// Add per-post support for any post type that supports it.
$args = array(
'show_ui' => true,
'public' => true,
'publicly_queryable' => true,
'_builtin' => true
);
$built_in_post_types = get_post_types( $args, 'object' );
foreach ( $built_in_post_types as $k => $v ) {
if ( $k == 'post' ) {
$post_types[$k] = $v;
break;
}
}
foreach ( $post_types as $k => $v ) {
if ( ! post_type_supports( $k, 'woosidebars' ) ) { continue; }
$conditions_headings[$k] = $v->labels->name;
$query_args = array( 'numberposts' => intval( $this->upper_limit ), 'post_type' => $k, 'meta_key' => '_enable_sidebar', 'meta_value' => 'yes', 'meta_compare' => '=', 'post_status' => 'any', 'suppress_filters' => 'false' );
$posts = get_posts( $query_args );
if ( count( $posts ) > 0 ) {
foreach ( $posts as $i => $j ) {
$label = $j->post_title;
if ( 'publish' != $j->post_status ) {
$label .= ' <strong>(' . $post_statuses[$j->post_status] . ')</strong>';
}
$conditions[$k]['post' . '-' . $j->ID] = array(
'label' => $label,
'description' => sprintf( __( 'A custom sidebar for "%s"', 'woosidebars' ), esc_attr( $j->post_title ) )
);
}
}
}
// Page Templates
$page_templates = get_page_templates();
if ( 0 < count( $page_templates ) ) {
$conditions['templates'] = array();
$conditions_headings['templates'] = __( 'Page Templates', 'woosidebars' );
foreach ( $page_templates as $k => $v ) {
$token = str_replace( '.php', '', 'page-template-' . $v );
$conditions['templates'][$token] = array(
'label' => $k,
'description' => sprintf( __( 'The "%s" page template', 'woosidebars' ), $k )
);
}
}
// Post Type Archives
$conditions['post_types'] = array();
if ( count( $post_types ) > 0 ) {
$conditions_headings['post_types'] = __( 'Post Types', 'woosidebars' );
foreach ( $post_types as $k => $v ) {
$token = 'post-type-archive-' . $k;
if ( $v->has_archive ) {
$conditions['post_types'][$token] = array(
'label' => sprintf( __( '"%s" Post Type Archive', 'woosidebars' ), $v->labels->name ),
'description' => sprintf( __( 'The "%s" post type archive', 'woosidebars' ), $v->labels->name )
);
}
}
foreach ( $post_types as $k => $v ) {
$token = 'post-type-' . $k;
$conditions['post_types'][$token] = array(
'label' => sprintf( __( 'Each Individual %s', 'woosidebars' ), $v->labels->singular_name ),
'description' => sprintf( __( 'Entries in the "%s" post type', 'woosidebars' ), $v->labels->name )
);
}
}
// Taxonomies and Taxonomy Terms
$conditions['taxonomies'] = array();
$args = array(
'public' => true
);
$taxonomies = get_taxonomies( $args, 'objects' );
if ( count( $taxonomies ) > 0 ) {
$conditions_headings['taxonomies'] = __( 'Taxonomy Archives', 'woosidebars' );
foreach ( $taxonomies as $k => $v ) {
$taxonomy = $v;
if ( $taxonomy->public == true ) {
$conditions['taxonomies']['archive-' . $k] = array(
'label' => esc_html( $taxonomy->labels->name ) . ' (' . esc_html( $k ) . ')',
'description' => sprintf( __( 'The default "%s" archives', 'woosidebars' ), strtolower( $taxonomy->labels->name ) )
);
// Setup each individual taxonomy's terms as well.
$conditions_headings['taxonomy-' . $k] = $taxonomy->labels->name;
$terms = get_terms( array( 'taxonomy' => $k, 'hide_empty' => false ) );
if ( count( $terms ) > 0 ) {
$conditions['taxonomy-' . $k] = array();
foreach ( $terms as $i => $j ) {
$conditions['taxonomy-' . $k]['term-' . $j->term_id] = array( 'label' => esc_html( $j->name ), 'description' => sprintf( __( 'The %s %s archive', 'woosidebars' ), esc_html( $j->name ), strtolower( $taxonomy->labels->name ) ) );
if ( $k == 'category' ) {
$conditions['taxonomy-' . $k]['in-term-' . $j->term_id] = array( 'label' => sprintf( __( 'All posts in "%s"', 'woosidebars' ), esc_html( $j->name ) ), 'description' => sprintf( __( 'All posts in the %s %s archive', 'woosidebars' ), esc_html( $j->name ), strtolower( $taxonomy->labels->name ) ) );
}
if ( $k == 'post_tag' ) {
$conditions['taxonomy-' . $k]['has-term-' . $j->term_id] = array( 'label' => sprintf( __( 'All posts tagged "%s"', 'woosidebars' ), esc_html( $j->name ) ), 'description' => sprintf( __( 'All posts tagged %s', 'woosidebars' ), esc_html( $j->name ) ) );
}
}
}
}
}
}
$conditions_headings['hierarchy'] = __( 'Template Hierarchy', 'woosidebars' );
// Template Hierarchy
$conditions['hierarchy']['page'] = array(
'label' => __( 'Pages', 'woosidebars' ),
'description' => __( 'Displayed on all pages that don\'t have a more specific widget area.', 'woosidebars' )
);
$conditions['hierarchy']['search'] = array(
'label' => __( 'Search Results', 'woosidebars' ),
'description' => __( 'Displayed on search results screens.', 'woosidebars' )
);
$conditions['hierarchy']['home'] = array(
'label' => __( 'Default "Your Latest Posts" Screen', 'woosidebars' ),
'description' => __( 'Displayed on the default "Your Latest Posts" screen.', 'woosidebars' )
);
$conditions['hierarchy']['front_page'] = array(
'label' => __( 'Front Page', 'woosidebars' ),
'description' => __( 'Displayed on any front page, regardless of the settings under the "Settings -> Reading" admin screen.', 'woosidebars' )
);
$conditions['hierarchy']['single'] = array(
'label' => __( 'Single Entries', 'woosidebars' ),
'description' => __( 'Displayed on single entries of any public post type other than "Pages".', 'woosidebars' )
);
$conditions['hierarchy']['archive'] = array(
'label' => __( 'All Archives', 'woosidebars' ),
'description' => __( 'Displayed on all archives (category, tag, taxonomy, post type, dated, author and search).', 'woosidebars' )
);
$conditions['hierarchy']['author'] = array(
'label' => __( 'Author Archives', 'woosidebars' ),
'description' => __( 'Displayed on all author archive screens (that don\'t have a more specific sidebar).', 'woosidebars' )
);
$conditions['hierarchy']['date'] = array(
'label' => __( 'Date Archives', 'woosidebars' ),
'description' => __( 'Displayed on all date archives.', 'woosidebars' )
);
$conditions['hierarchy']['404'] = array(
'label' => __( '404 Error Screens', 'woosidebars' ),
'description' => __( 'Displayed on all 404 error screens.', 'woosidebars' )
);
$this->conditions_reference = (array)apply_filters( 'woo_conditions_reference', $conditions );
$this->conditions_headings = (array)apply_filters( 'woo_conditions_headings', $conditions_headings );
} // End setup_default_conditions_reference()
private function add_depth( $conditions ) {
$map = array();
$depth = array();
foreach ( $conditions as $condition ) {
$map[ $condition['ID'] ] = $condition['parent'];
}
foreach ( $map as $id => $parent ) {
$d = 0;
while ( 0 != $parent ) {
$d++;
$parent = $map[$parent];
}
$depth[$id] = $d;
}
foreach ( $conditions as $key => $condition ) {
$conditions[ $key ]['depth'] = $depth[ $condition['ID'] ];
}
return $conditions;
}
/**
* is_hierarchy function.
*
* @description Is the current view a part of the default template hierarchy?
* @access public
* @return void
*/
function is_hierarchy () {
if ( is_front_page() && ! is_home() ) {
$this->conditions[] = 'static_front_page';
}
if ( ! is_front_page() && is_home() ) {
$this->conditions[] = 'inner_posts_page';
}
if ( is_front_page() ) {
$this->conditions[] = 'front_page';
}
if ( is_home() ) {
$this->conditions[] = 'home';
}
if ( is_singular() ) {
$this->conditions[] = 'singular';
}
if ( is_single() ) {
$this->conditions[] = 'single';
}
if ( is_single() || is_singular() ) {
$this->conditions[] = 'post-type-' . get_post_type();
$this->conditions[] = get_post_type();
// In Category conditions.
$categories = get_the_category( get_the_ID() );
if ( is_array( $categories ) && ! is_wp_error( $categories ) && ( 0 < count( $categories ) ) ) {
foreach ( $categories as $k => $v ) {
$this->conditions[] = 'in-term-' . $v->term_id;
}
}
// Has Tag conditions.
$tags = get_the_tags( get_the_ID() );
if ( is_array( $tags ) && ! is_wp_error( $tags ) && ( 0 < count( $tags ) ) ) {
foreach ( $tags as $k => $v ) {
$this->conditions[] = 'has-term-' . $v->term_id;
}
}
// Post-specific condition.
$this->conditions[] = 'post' . '-' . get_the_ID();
$this->conditions[] = 'postwc' . '-' . get_the_ID();
}
$ancestors = get_post_ancestors( get_the_ID() );
foreach ( $ancestors as $ancestor ) {
$this->conditions[] = 'postwc-' . $ancestor;
}
if ( is_search() ) {
$this->conditions[] = 'search';
}
if ( is_archive() ) {
$this->conditions[] = 'archive';
}
if ( is_author() ) {
$this->conditions[] = 'author';
}
if ( is_date() ) {
$this->conditions[] = 'date';
}
if ( is_404() ) {
$this->conditions[] = '404';
}
} // End is_hierarchy()
/**
* is_taxonomy function.
*
* @description Is the current view an archive within a specific taxonomy, that doesn't have a specific sidebar?
* @access public
* @return void
*/
public function is_taxonomy () {
if ( ( is_tax() || is_archive() ) && ! is_post_type_archive() ) {
$obj = get_queried_object();
if ( ! is_category() && ! is_tag() ) {
$this->conditions[] = 'taxonomies';
}
if ( is_object( $obj ) ) {
$this->conditions[] = 'archive-' . $obj->taxonomy;
$this->conditions[] = 'term-' . $obj->term_id;
}
}
} // End is_taxonomy()
/**
* is_post_type_archive function.
*
* @description Is the current view an archive of a post type?
* @access public
* @return void
*/
public function is_post_type_archive () {
if ( is_post_type_archive() ) {
$post_type = get_query_var( 'post_type' );
if ( is_array( $post_type ) ){
$post_type = reset( $post_type );
}
$this->conditions[] = 'post-type-archive-' . $post_type;
}
} // End is_post_type_archive()
/**
* is_page_template function.
*
* @description Does the current view have a specific page template attached (used on single views)?
* @access public
* @return void
*/
public function is_page_template () {
if ( is_singular() ) {
global $post;
$template = get_post_meta( $post->ID, '_wp_page_template', true );
if ( $template != '' && $template != 'default' ) {
$this->conditions[] = str_replace( '.php', '', 'page-template-' . $template );
}
}
} // End is_page_template()
/**
* meta_box_setup function.
*
* @access public
* @return void
*/
public function meta_box_setup () {
add_meta_box( 'woosidebars-conditions', esc_html( $this->meta_box_settings['title'] ), array( $this, 'meta_box_content' ), $this->token, 'normal', 'low' );
} // End meta_box_setup()
/**
* meta_box_content function.
*
* @access public
* @return void
*/
public function meta_box_content () {
global $post_id;
if ( count( $this->conditions_reference ) <= 0 ) $this->setup_default_conditions_reference();
$selected_conditions = get_post_meta( $post_id, '_condition', false );
if ( $selected_conditions == '' ) {
$selected_conditions = array();
}
$html = '';
$html .= '<input type="hidden" name="woo_' . $this->token . '_conditions_noonce" id="woo_' . $this->token . '_noonce" value="' . wp_create_nonce( plugin_basename(__FILE__) ) . '" />';
if ( count( $this->conditions_reference ) > 0 ) {
// Separate out the taxonomy items and pages with children for use as sub-tabs of "Taxonomy Terms" and hierarchical presentation of pages
$taxonomy_terms = array();
$pwc = array();
foreach ( $this->conditions_reference as $k => $v ) {
if ( substr( $k, 0, 9 ) == 'taxonomy-' ) {
$taxonomy_terms[$k] = $v;
unset( $this->conditions_reference[$k] );
}
if ( 'pages_with_children' === $k ) {
$pwc[$k] = $v;
// unset( $this->conditions_reference[$k] );
}
}
$html .= '<div id="taxonomy-category" class="categorydiv tabs woo-conditions">' . "\n";
$html .= $this->render_tabs( $selected_conditions );
$html .= $this->render_standard_pages( $selected_conditions );
$html .= $this->render_taxonomy_terms_tabs( $taxonomy_terms, $selected_conditions );
$html .= '</div>' . "\n";
}
// Allow themes/plugins to act here (key, args).
do_action( 'woo_conditions_meta_box', $k, $v );
$html .= '<br class="clear" />' . "\n";
echo $html;
} // End meta_box_content()
private function render_tabs( $selected_conditions ) {
$html = '<ul id="category-tabs" class="conditions-tabs alignleft">' . "\n";
$count = 0;
// Determine whether or not to show advanced items, based on user's preference (default: false).
$show_advanced = $this->show_advanced_items();
foreach ( $this->conditions_reference as $k => $v ) {
$count++;
$class = '';
if ( $count == 1 ) {
$class = 'tabs';
} else {
$class = 'hide-if-no-js';
}
if ( in_array( $k, array( 'pages' ) ) ) {
$class .= ' basic';
} else {
$class .= ' advanced';
if ( ! $show_advanced ) { $class .= ' hide'; }
}
if ( isset( $this->conditions_headings[$k] ) ) {
$html .= '<li class="' . esc_attr( $class ) . '"><a href="#tab-' . esc_attr( $k ) . '">' . esc_html( $this->conditions_headings[$k] ) . '</a></li>' . "\n";
}
if ( $k == 'taxonomies' ) {
$html .= '<li class="' . esc_attr( $class ) . '"><a href="#tab-taxonomy-terms">' . __( 'Taxonomy Terms', 'woosidebars' ) . '</a></li>' . "\n";
}
}
$class = 'hide-if-no-js advanced';
if ( ! $show_advanced ) { $class .= ' hide'; }
$html .= '</ul>' . "\n";
$html .= '<ul class="conditions-tabs"><li class="advanced-settings alignright hide-if-no-js"><a href="#">' . __( 'Advanced', 'woosidebars' ) . '</a></li></ul>' . "\n";
return $html;
}
private function render_standard_pages( $selected_conditions ) {
$html = '';
foreach ( $this->conditions_reference as $k => $v ) {
$count = 0;
$tab = '';
$tab .= '<div id="tab-' . esc_attr( $k ) . '" class="condition-tab">' . "\n";
if ( isset( $this->conditions_headings[$k] ) ) {
$tab .= '<h4>' . esc_html( $this->conditions_headings[$k] ) . '</h4>' . "\n";
}
$tab .= '<ul class="alignleft conditions-column">' . "\n";
foreach ( $v as $i => $j ) {
$depth = '';
if ( isset( $j['depth'] ) ) {
$depth = str_repeat( ' ', $j['depth'] * 3 );
}
$count++;
$checked = '';
if ( in_array( $i, $selected_conditions ) ) {
$checked = ' checked="checked"';
}
$tab .= '<li><label class="selectit" title="' . esc_attr( $j['description'] ) . '">' . $depth . '<input type="checkbox" name="conditions[]" value="' . $i . '" id="checkbox-' . $i . '"' . $checked . ' /> ' . esc_html( $j['label'] ) . '</label></li>' . "\n";
if ( $count % 10 == 0 && $count < ( count( $v ) ) ) {
$tab .= '</ul><ul class="alignleft conditions-column">';
}
}
$tab .= '</ul>' . "\n";
// Filter the contents of the current tab.
$tab = apply_filters( 'woo_conditions_tab_' . esc_attr( $k ), $tab );
$html .= $tab;
$html .= '<div class="clear"></div>';
$html .= '</div>' . "\n";
}
return $html;
}
private function render_taxonomy_terms_tabs( $taxonomy_terms, $selected_conditions ) {
// Taxonomy Terms Tab
$html = '<div id="tab-taxonomy-terms" class="condition-tab inner-tabs">' . "\n";
$html .= '<ul class="conditions-tabs-inner hide-if-no-js">' . "\n";
foreach ( $taxonomy_terms as $k => $v ) {
if ( ! isset( $this->conditions_headings[$k] ) ) { unset( $taxonomy_terms[$k] ); }
}
$count = 0;
foreach ( $taxonomy_terms as $k => $v ) {
$count++;
$class = '';
if ( $count == 1 ) {
$class = 'tabs';
} else {
$class = 'hide-if-no-js';
}
$html .= '<li><a href="#tab-' . $k . '" title="' . __( 'Taxonomy Token', 'woosidebars' ) . ': ' . str_replace( 'taxonomy-', '', $k ) . '">' . esc_html( $this->conditions_headings[$k] ) . '</a>';
if ( $count != count( $taxonomy_terms ) ) {
$html .= ' |';
}
$html .= '</li>' . "\n";
}
$html .= '</ul>' . "\n";
foreach ( $taxonomy_terms as $k => $v ) {
$count = 0;
$html .= '<div id="tab-' . $k . '" class="condition-tab">' . "\n";
$html .= '<h4>' . esc_html( $this->conditions_headings[$k] ) . '</h4>' . "\n";
$html .= '<ul class="alignleft conditions-column">' . "\n";
foreach ( $v as $i => $j ) {
$count++;
$checked = '';
if ( in_array( $i, $selected_conditions ) ) {
$checked = ' checked="checked"';
}
$html .= '<li><label class="selectit" title="' . esc_attr( $j['description'] ) . '"><input type="checkbox" name="conditions[]" value="' . $i . '" id="checkbox-' . esc_attr( $i ) . '"' . $checked . ' /> ' . esc_html( $j['label'] ) . '</label></li>' . "\n";
if ( $count % 10 == 0 && $count < ( count( $v ) ) ) {
$html .= '</ul><ul class="alignleft conditions-column">';
}
}
$html .= '</ul>' . "\n";
$html .= '<div class="clear"></div>';
$html .= '</div>' . "\n";
}
return $html;
}
/**
* meta_box_save function.
*
* @access public
* @param mixed $post_id
* @return void
*/
public function meta_box_save ( $post_id ) {
global $post, $messages;
// Verify
if ( ! isset( $_POST['woo_' . $this->token . '_conditions_noonce'] ) || ( get_post_type() != $this->token ) || ! wp_verify_nonce( $_POST['woo_' . $this->token . '_conditions_noonce'], plugin_basename(__FILE__) ) ) {
return $post_id;
}
if ( 'page' == $_POST['post_type'] ) {
if ( ! current_user_can( 'edit_page', $post_id ) ) {
return $post_id;
}
} else {
if ( ! current_user_can( 'edit_post', $post_id ) ) {
return $post_id;
}
}
if ( isset( $_POST['conditions'] ) && ( 0 < count( $_POST['conditions'] ) ) ) {
delete_post_meta( $post_id, '_condition' );
foreach ( $_POST['conditions'] as $k => $v ) {
add_post_meta( $post_id, '_condition', $v, false );
}
}
} // End meta_box_save()
/**
* show_advanced_itesm function.
*
* @access private
* @return boolean
*/
private function show_advanced_items () {
$response = false;
$setting = get_user_setting( 'woosidebarsshowadvanced', '0' );
if ( $setting == '1' ) { $response = true; }
return $response;
} // End show_advanced_items()
/**
* ajax_toggle_advanced_items function.
*
* @access public
* @return void
*/
public function ajax_toggle_advanced_items () {
//Add nonce security to the request
if ( ( ! isset( $_POST['woosidebars_advanced_noonce'] ) || ! isset( $_POST['new_status'] ) ) || ! wp_verify_nonce( $_POST['woosidebars_advanced_noonce'], 'woosidebars_advanced_noonce' ) ) {
die();
}
$response = set_user_setting( 'woosidebarsshowadvanced', $_POST['new_status'] );
echo $response;
die(); // WordPress may print out a spurious zero without this can be particularly bad if using JSON
} // End ajax_toggle_advanced_items()
/**
* enqueue_scripts function.
*
* @access public
* @return void
*/
public function enqueue_scripts () {
global $pagenow;
if ( get_post_type() != $this->token ) { return; }
if ( in_array( $pagenow, array( 'post.php', 'post-new.php' ) ) ) {
wp_register_script( $this->token . '-admin', $this->assets_url . '/js/admin.js', array( 'jquery', 'jquery-ui-tabs' ), '1.2.1', true );
wp_enqueue_script( $this->token . '-admin' );
wp_dequeue_script( 'jquery-ui-datepicker' );
$translation_strings = array();
$ajax_vars = array( 'woosidebars_advanced_noonce' => wp_create_nonce( 'woosidebars_advanced_noonce' ) );
$data = array_merge( $translation_strings, $ajax_vars );
wp_localize_script( $this->token . '-admin', 'woosidebars_localized_data', $data );
}
} // End enqueue_scripts()
} // End Class
?>