class_key) are we adding this to */
private $section_key = 'miscellaneous';/* must be unique */
function __construct() {
/**********************************************************
[add settings to admin]
***********************************************************/
if(is_admin()){
/* add admin options settings page*/
add_filter('wppizza_filter_settings_sections_'.$this->settings_page.'', array($this, 'admin_options_settings'), 70, 5);
/* add admin options settings page fields */
add_action('wppizza_admin_settings_section_fields_'.$this->settings_page.'', array($this, 'admin_options_fields_settings'), 10, 5);
/**add default options **/
add_filter('wppizza_filter_setup_default_options', array( $this, 'options_default'));
/**validate options**/
add_filter('wppizza_filter_options_validate', array( $this, 'options_validate'), 10, 2 );
/**add text header*/
//add_action('wppizza_settings_sections_header_'.$this->settings_page.'', array( $this, 'sections_header'), 10, 2 );
}
}
/*******************************************************************************************************************************************************
*
*
*
* [frontend filters]
*
*
*
********************************************************************************************************************************************************/
/*******************************************************************************************************************************************************
*
*
*
* [add admin page options]
*
*
*
********************************************************************************************************************************************************/
/*------------------------------------------------------------------------------
#
#
# [settings page]
#
#
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
# [settings section - setting page]
# @since 3.0
# @return array()
------------------------------------------------------------------------------*/
function admin_options_settings($settings, $sections, $fields, $inputs, $help){
/*section*/
if($sections){
$settings['sections'][$this->section_key] = __('Miscellaneous', 'wppizza-admin');
}
/*help*/
if($help){
}
/*fields*/
if($fields){
$field = 'add_to_cart_on_title_click';
$settings['fields'][$this->section_key][$field] = array( __('Click title to add to cart', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>__('Add item to cart on click of *item title* if there is only one pricetier for a menu item:', 'wppizza-admin'),
'description'=>array()
));
$field = 'jquery_fb_add_to_cart';
$settings['fields'][$this->section_key][$field] = array( __('Briefly display text in place of price when adding item to cart', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>__('Replace item price with customised text when adding an item to cart [set/edit text in localization]', 'wppizza-admin'),
'description'=>array()
));
$field = 'suppress_loop_headers';
$settings['fields'][$this->section_key][$field] = array( __('Suppress category header', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>__('Globally suppress category header and description above list of menu items (same as setting noheader=1 in each shortcode)', 'wppizza-admin'),
'description'=>array()
));
$field = 'category_accordion';
$settings['fields'][$this->section_key][$field] = array( __('Categories accordion', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>__('Display of multiple categories in an accordion type style, using category title as clickable element to expand list of menu items.', 'wppizza-admin'),
'description'=>array()
));
$field = 'category_accordion_style';
$settings['fields'][$this->section_key][$field] = array( __('Accordion style', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>__('Which style would you like to use for the accordion', 'wppizza-admin'),
'description'=>array()
));
$field = 'hide_cart_icon';
$settings['fields'][$this->section_key][$field] = array( __('Hide cart icon next to prices', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>'',
'description'=>array()
));
$field = 'hide_single_pricetier';
$settings['fields'][$this->section_key][$field] = array( __('Hide size name and cart icon if item has only one size', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>'',
'description'=>array()
));
$field = 'prettify_js_alerts';
$settings['fields'][$this->section_key][$field] = array( __('Stylable javascript alerts', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>__('Convert browser native javascript popup alert boxes to css stylable modal windows (this will not work for "OK/Cancel" type confirm popups)', 'wppizza-admin'),
'description'=>array()
));
}
return $settings;
}
/*------------------------------------------------------------------------------
# [output option fields - setting page]
# @since 3.0
# @return array()
------------------------------------------------------------------------------*/
function admin_options_fields_settings($wppizza_options, $options_key, $field, $label, $description){
if($field=='add_to_cart_on_title_click' ){
print'';
print'' . $description . '';
}
if($field=='jquery_fb_add_to_cart'){
print'';
print'' . $description . '';
print'
';
print'';
}
if($field=='suppress_loop_headers'){
print'';
print'' . $description . '';
}
if($field=='category_accordion'){
print'';
print'' . $description . '';
}
if($field=='category_accordion_style'){
print'';
}
if($field=='hide_cart_icon'){
print'';
print'' . $description . '';
}
if($field=='hide_single_pricetier'){
print'';
print'' . $description . '';
}
if($field=='prettify_js_alerts'){
print'';
print'' . $description . '';
}
}
/****************************************************************
*
* [insert default option on install]
* $parameter $options array() | filter passing on filtered options
* @since 3.0
* @return array()
*
****************************************************************/
function options_default($options){
$options[$this->settings_page]['add_to_cart_on_title_click'] = false;
$options[$this->settings_page]['jquery_fb_add_to_cart'] = true;
$options[$this->settings_page]['jquery_fb_add_to_cart_ms'] = 1000;
$options[$this->settings_page]['suppress_loop_headers'] = false;
$options[$this->settings_page]['category_accordion'] = false;
$options[$this->settings_page]['category_accordion_style'] = 'smoothness';
$options[$this->settings_page]['hide_cart_icon'] = false;
$options[$this->settings_page]['hide_single_pricetier'] = false;
$options[$this->settings_page]['prettify_js_alerts'] = false;
return $options;
}
/*------------------------------------------------------------------------------
# [validate options on save/update]
#
# @since 3.0
# @return array()
------------------------------------------------------------------------------*/
function options_validate($options, $input){
/**make sure we get the full array on install/update**/
if ( empty( $_POST['_wp_http_referer'] ) ) {
return $input;
}
if(isset($_POST[''.WPPIZZA_SLUG.'_'.$this->settings_page.''])){
$options[$this->settings_page]['add_to_cart_on_title_click'] = !empty($input[$this->settings_page]['add_to_cart_on_title_click']) ? true : false;
$options[$this->settings_page]['jquery_fb_add_to_cart'] = !empty($input[$this->settings_page]['jquery_fb_add_to_cart']) ? true : false;
$options[$this->settings_page]['jquery_fb_add_to_cart_ms']=absint($input[$this->settings_page]['jquery_fb_add_to_cart_ms']);
$options[$this->settings_page]['suppress_loop_headers'] = !empty($input[$this->settings_page]['suppress_loop_headers']) ? true : false;
$options[$this->settings_page]['category_accordion'] = !empty($input[$this->settings_page]['category_accordion']) ? true : false;
$options[$this->settings_page]['category_accordion_style']=wppizza_validate_string($input[$this->settings_page]['category_accordion_style']);
$options[$this->settings_page]['hide_cart_icon'] = !empty($input[$this->settings_page]['hide_cart_icon']) ? true : false;
$options[$this->settings_page]['hide_single_pricetier'] = !empty($input[$this->settings_page]['hide_single_pricetier']) ? true : false;
$options[$this->settings_page]['prettify_js_alerts'] = !empty($input[$this->settings_page]['prettify_js_alerts']) ? true : false;
/* force suppress_loop_headers to be off if using accordion */
if($options[$this->settings_page]['category_accordion']) {
$options[$this->settings_page]['suppress_loop_headers'] = false;
}
}
return $options;
}
}
/***************************************************************
*
* [ini]
*
***************************************************************/
$WPPIZZA_MODULE_LAYOUT_MISCELLANEOUS = new WPPIZZA_MODULE_LAYOUT_MISCELLANEOUS();
?>