class_key) are we adding this to */
private $section_key = 'images';/* 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'), 60, 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 );
}
}
/*******************************************************************************************************************************************************
*
*
*
* [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] = __('Menu Item Images', 'wppizza-admin');
}
/*help*/
if($help){
$settings['help'][$this->section_key][] = array(
'label'=>__('Menu Item Images', 'wppizza-admin'),
'description'=>array(
__('Set menu item image options according to the settings available', 'wppizza-admin')
)
);
}
/*fields*/
if($fields){
$field = 'placeholder_img';
$settings['fields'][$this->section_key][$field] = array( __('Display placeholder image', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>__('Display a placeholder image when no featured image has been associated with a meal item', 'wppizza-admin'),
'description'=>array()
));
$field = 'prettyPhoto';
$settings['fields'][$this->section_key][$field] = array( __('Enable prettyPhoto', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>__('Enable prettyPhoto (Lightbox Clone) on menu item images', 'wppizza-admin'),
'description'=>array()
));
$field = 'prettyPhotoStyle';
$settings['fields'][$this->section_key][$field] = array( __('Set prettyPhoto Style', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>__('see prettyPhoto.custom.js if you would like to adjust prettyPhoto options', 'wppizza-admin'),
'description'=>array()
));
$field = 'cart_image';
$settings['fields'][$this->section_key][$field] = array( __('Thumbnail on checkout', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>__('Display a small thumbnail of any featured image set next to each item in cart on checkout pages', 'wppizza-admin'),
'description'=>array()
));
$field = 'featured_image_size';
$settings['fields'][$this->section_key][$field] = array( __('Featured image size', 'wppizza-admin') , array(
'value_key'=>$field,
'option_key'=>$this->settings_page,
'label'=>__('Menu item image size used (actual display may vary depending on your theme\'s image css declarations and Wordpress->Media->Image Sizes when added to the Media Library)', '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=='placeholder_img'){
print'';
print'' . $description . '';
}
if($field=='cart_image'){
print'';
print'' . $description . '';
}
if($field=='prettyPhoto' ){
print'';
print'' . $description . '';
}
if($field=='prettyPhotoStyle'){
print'';
print'' . $description . '';
}
if($field=='featured_image_size'){
$available_media_sizes = wppizza_get_wordpress_image_sizes();
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]['placeholder_img'] = true;
$options[$this->settings_page]['cart_image'] = false;
$options[$this->settings_page]['prettyPhoto'] = false;
$options[$this->settings_page]['prettyPhotoStyle'] = 'pp_default';
$options[$this->settings_page]['featured_image_size'] = 'thumbnail';
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]['placeholder_img'] = !empty($input[$this->settings_page]['placeholder_img']) ? true : false;
$options[$this->settings_page]['cart_image'] = !empty($input[$this->settings_page]['cart_image']) ? true : false;
$options[$this->settings_page]['prettyPhoto'] = !empty($input[$this->settings_page]['prettyPhoto']) ? true : false;
$options[$this->settings_page]['prettyPhotoStyle']=wppizza_validate_string($input[$this->settings_page]['prettyPhotoStyle']);
$options[$this->settings_page]['featured_image_size']=wppizza_validate_string($input[$this->settings_page]['featured_image_size']);
}
return $options;
}
}
/***************************************************************
*
* [ini]
*
***************************************************************/
$WPPIZZA_MODULE_LAYOUT_IMAGES = new WPPIZZA_MODULE_LAYOUT_IMAGES();
?>