PluginProbe
WPPizza – A Restaurant Plugin / 3.20
WPPizza – A Restaurant Plugin v3.20
trunk 2.16.11.28 3.19 3.19.1 3.19.2 3.19.3 3.19.4 3.19.5 3.19.6 3.19.7 3.19.7.1 3.19.7.2 3.19.7.3 3.19.7.4 3.19.8 3.19.8.1 3.19.8.2 3.19.8.3 3.19.9 3.20 3.20.1
wppizza / classes / modules / mod.layout.openingtimes_format.php

mod.layout.openingtimes_format.php in WPPizza – A Restaurant Plugin 3.20, at classes/modules/mod.layout.openingtimes_format.php

260 lines 10.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WPPIZZA_MODULE_LAYOUT_OPENINGTIMES_FORMAT Class
4 *
5 * @package WPPIZZA
6 * @subpackage WPPIZZA_MODULE_LAYOUT_OPENINGTIMES_FORMAT
7 * @copyright Copyright (c) 2015, Oliver Bach
8 * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
9 * @since 3.0
10 *
11 */
12 if ( ! defined( 'ABSPATH' ) ) exit;/*Exit if accessed directly*/
13
14
15 /************************************************************************************************************************
16 *
17 *
18 *
19 *
20 *
21 *
22 ************************************************************************************************************************/
23 class WPPIZZA_MODULE_LAYOUT_OPENINGTIMES_FORMAT{
24
25 private $settings_page = 'layout';/* which admin subpage (identified there by this->class_key) are we adding this to */
26
27 private $section_key = 'opening_times_format';/* must be unique */
28
29
30 function __construct() {
31 /**********************************************************
32 [add settings to admin]
33 ***********************************************************/
34 if(is_admin()){
35 /* add admin options settings page*/
36 add_filter('wppizza_filter_settings_sections_'.$this->settings_page.'', array($this, 'admin_options_settings'), 30, 5);
37 /* add admin options settings page fields */
38 add_action('wppizza_admin_settings_section_fields_'.$this->settings_page.'', array($this, 'admin_options_fields_settings'), 10, 5);
39 /**add default options **/
40 add_filter('wppizza_filter_setup_default_options', array( $this, 'options_default'));
41 /**validate options**/
42 add_filter('wppizza_filter_options_validate', array( $this, 'options_validate'), 10, 2 );
43 }
44 }
45
46 /*******************************************************************************************************************************************************
47 *
48 *
49 *
50 * [frontend filters]
51 *
52 *
53 *
54 ********************************************************************************************************************************************************/
55
56
57
58 /*******************************************************************************************************************************************************
59 *
60 *
61 *
62 * [add admin page options]
63 *
64 *
65 *
66 ********************************************************************************************************************************************************/
67
68 /*------------------------------------------------------------------------------
69 #
70 #
71 # [settings page]
72 #
73 #
74 ------------------------------------------------------------------------------*/
75
76 /*------------------------------------------------------------------------------
77 # [settings section - setting page]
78 # @since 3.0
79 # @return array()
80 ------------------------------------------------------------------------------*/
81 function admin_options_settings($settings, $sections, $fields, $inputs, $help){
82
83 /*section*/
84 if($sections){
85 $settings['sections'][$this->section_key] = __('Openingtimes Format', 'wppizza-admin');
86 }
87 /*fields*/
88 if($fields){
89
90 $field = 'hour';
91 $settings['fields'][$this->section_key][$field] = array( __('Hours', 'wppizza-admin') , array(
92 'value_key'=>$field,
93 'option_key'=>$this->settings_page,
94 'label'=>'',
95 'description'=>array()
96 ));
97
98 $field = 'separator';
99 $settings['fields'][$this->section_key][$field] = array( __('Separator', 'wppizza-admin'), array(
100 'value_key'=>$field,
101 'option_key'=>$this->settings_page,
102 'label'=>'',
103 'description'=>array()
104 ));
105
106 $field = 'minute';
107 $settings['fields'][$this->section_key][$field] = array( __('Minutes', 'wppizza-admin') , array(
108 'value_key'=>$field,
109 'option_key'=>$this->settings_page,
110 'label'=>'',
111 'description'=>array()
112 ));
113
114 $field = 'ampm';
115 $settings['fields'][$this->section_key][$field] = array( __('Show AM/PM ?', 'wppizza-admin') , array(
116 'value_key'=>$field,
117 'option_key'=>$this->settings_page,
118 'label'=>'',
119 'description'=>array()
120 ));
121
122 $field = 'dont_group_days';
123 $settings['fields'][$this->section_key][$field] = array( __('Do not group days with equal times', 'wppizza-admin') , array(
124 'value_key'=>$field,
125 'option_key'=>$this->settings_page,
126 'label'=>'',
127 'description'=>array()
128 ));
129
130 }
131
132 /*help*/
133 if($help){
134 $settings['help'][$this->section_key][] = array(
135 'label'=>__('Openingtimes', 'wppizza-admin'),
136 'description'=>array(
137 __('Openingtimes format will apply to the openingtimes displayed with a widget or shortcode', 'wppizza-admin')
138 )
139 );
140 }
141
142
143 return $settings;
144 }
145 /*------------------------------------------------------------------------------
146 # [output option fields - setting page]
147 # @since 3.0
148 # @return array()
149 ------------------------------------------------------------------------------*/
150 function admin_options_fields_settings($wppizza_options, $options_key, $field, $label, $description){
151
152 if($field=='hour'){
153 print'<label>';
154 echo "<select name='".WPPIZZA_SLUG."[".$this->section_key."][".$field."]' />";
155 echo"<option value='G' ".selected($wppizza_options[$this->section_key][$field],"G",false).">".__('24-hour format without leading zeros', 'wppizza-admin')."</option>";
156 echo"<option value='g' ".selected($wppizza_options[$this->section_key][$field],"g",false).">".__('12-hour format without leading zeros', 'wppizza-admin')."</option>";
157 echo"<option value='H' ".selected($wppizza_options[$this->section_key][$field],"H",false).">".__('24-hour format with leading zeros', 'wppizza-admin')."</option>";
158 echo"<option value='h' ".selected($wppizza_options[$this->section_key][$field],"h",false).">".__('12-hour format with leading zeros', 'wppizza-admin')."</option>";
159 echo "</select>";
160 print'' . $label . '';
161 print'</label>';
162 print'' . $description . '';
163 }
164 if($field=='separator'){
165 print'<label>';
166 echo "<select name='".WPPIZZA_SLUG."[".$this->section_key."][".$field."]' />";
167 echo"<option value='' ".selected($wppizza_options[$this->section_key][$field],"",false).">".__('No separator', 'wppizza-admin')."</option>";
168 echo"<option value='&nbsp;' ".selected($wppizza_options[$this->section_key][$field],"&nbsp;",false).">".__('Space', 'wppizza-admin')."</option>";
169 echo"<option value=':' ".selected($wppizza_options[$this->section_key][$field],":",false).">:</option>";
170 echo"<option value='.' ".selected($wppizza_options[$this->section_key][$field],".",false).">.</option>";
171 echo"<option value='-' ".selected($wppizza_options[$this->section_key][$field],"-",false).">-</option>";
172 echo"<option value=';' ".selected($wppizza_options[$this->section_key][$field],";",false).">;</option>";
173 echo "</select>";
174 print'' . $label . '';
175 print'</label>';
176 print'' . $description . '';
177 }
178 if($field=='minute'){
179 print'<label>';
180 echo "<select name='".WPPIZZA_SLUG."[".$this->section_key."][".$field."]' />";
181 echo"<option value='' ".selected($wppizza_options[$this->section_key][$field],"",false).">".__('Hide minutes', 'wppizza-admin')."</option>";
182 echo"<option value='i' ".selected($wppizza_options[$this->section_key][$field],"i",false).">".__('Show minutes', 'wppizza-admin')."</option>";
183 echo "</select>";
184 print'' . $label . '';
185 print'</label>';
186 print'' . $description . '';
187 }
188 if($field=='ampm'){
189 print'<label>';
190 echo "<select name='".WPPIZZA_SLUG."[".$this->section_key."][".$field."]' />";
191 echo"<option value='' ".selected($wppizza_options[$this->section_key][$field],"",false).">".__('Do not show', 'wppizza-admin')."</option>";
192 echo"<option value='a' ".selected($wppizza_options[$this->section_key][$field],"a",false).">".__('lowercase', 'wppizza-admin')."</option>";
193 echo"<option value='A' ".selected($wppizza_options[$this->section_key][$field],"A",false).">".__('UPPERCASE', 'wppizza-admin')."</option>";
194 echo"<option value=' a' ".selected($wppizza_options[$this->section_key][$field]," a",false).">".__('lowercase (with leading space)', 'wppizza-admin')."</option>";
195 echo"<option value=' A' ".selected($wppizza_options[$this->section_key][$field]," A",false).">".__('UPPERCASE (width leading space)', 'wppizza-admin')."</option>";
196 echo "</select>";
197 print'' . $label . '';
198 print'</label>';
199 print'' . $description . '';
200 }
201 if($field=='dont_group_days'){
202 print'<label>';
203 echo "<input id='".$field."' name='".WPPIZZA_SLUG."[".$this->section_key."][".$field."]' type='checkbox' ". checked($wppizza_options[$this->section_key][$field],true,false)." value='1' />";
204 print'' . $label . '';
205 print'</label>';
206 print'' . $description . '';
207 }
208
209
210
211 }
212
213 /****************************************************************
214 *
215 * [insert default option on install]
216 * $parameter $options array() | filter passing on filtered options
217 * @since 3.0
218 * @return array()
219 *
220 ****************************************************************/
221 function options_default($options){
222
223 $options[$this->section_key]['hour']='G';
224 $options[$this->section_key]['separator']=':';
225 $options[$this->section_key]['minute']='i';
226 $options[$this->section_key]['ampm']='';
227 $options[$this->section_key]['dont_group_days']=false;
228
229 return $options;
230 }
231
232 /*------------------------------------------------------------------------------
233 # [validate options on save/update]
234 #
235 # @since 3.0
236 # @return array()
237 ------------------------------------------------------------------------------*/
238 function options_validate($options, $input){
239 /**make sure we get the full array on install/update**/
240 if ( empty( $_POST['_wp_http_referer'] ) ) {
241 return $input;
242 }
243 if(isset($_POST[''.WPPIZZA_SLUG.'_'.$this->settings_page.''])){
244 $options[$this->section_key]['hour']=wppizza_validate_string($input[$this->section_key]['hour']);
245 $options[$this->section_key]['separator']=wppizza_validate_string($input[$this->section_key]['separator']);
246 $options[$this->section_key]['minute']=wppizza_validate_string($input[$this->section_key]['minute']);
247 $options[$this->section_key]['ampm']=wppizza_validate_string($input[$this->section_key]['ampm']);
248 $options[$this->section_key]['dont_group_days'] = !empty($input[$this->section_key]['dont_group_days']) ? true : false;
249 }
250
251 return $options;
252 }
253 }
254 /***************************************************************
255 *
256 * [ini]
257 *
258 ***************************************************************/
259 $WPPIZZA_MODULE_LAYOUT_OPENINGTIMES_FORMAT = new WPPIZZA_MODULE_LAYOUT_OPENINGTIMES_FORMAT();
260 ?>