PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.05.03
E2Pdf – Export Pdf Tool for WordPress v1.05.03
1.32.49 1.32.48 1.32.43 1.32.40 1.32.34 1.32.32 1.32.31 1.32.26 1.32.22 1.32.23 1.32.18 1.32.17 1.32.15 trunk 1.00.00 1.00.13 1.01.01 1.02.02 1.03.07 1.04.07 1.05.03 1.06.02 1.07.11 1.08.00 1.08.06 All 72 releases
e2pdf / classes / model / e2pdf-options.php

e2pdf-options.php in E2Pdf – Export Pdf Tool for WordPress 1.05.03, at classes/model/e2pdf-options.php

465 lines 21.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * E2pdf Options Helper
5 *
6 * @copyright Copyright 2017 https://e2pdf.com
7 * @license GPL v2
8 * @version 1
9 * @link https://e2pdf.com
10 * @since 0.00.01
11 */
12 if (!defined('ABSPATH')) {
13 die('Access denied.');
14 }
15
16 class Model_E2pdf_Options extends Model_E2pdf_Model {
17
18 /**
19 * Get Options list
20 *
21 * @param bool $all - Get all options
22 * @param array $exclude_group - Array list of groups to exclude from the list
23 *
24 * @return array() - List of options
25 */
26 function __construct() {
27 parent::__construct();
28 }
29
30 public static function get_options($all = true, $only_group = array(), $exclude = false) {
31 $helper = Helper_E2pdf_Helper::instance();
32
33 $extensions_options = array();
34 if ($all) {
35 $extensions_options[] = array(
36 'key' => 'e2pdf_disabled_extensions',
37 'value' => !is_array(get_option('e2pdf_disabled_extensions')) ? array() : get_option('e2pdf_disabled_extensions'),
38 );
39 } else {
40 $model_e2pdf_extension = new Model_E2pdf_Extension();
41 $extensions = $model_e2pdf_extension->extensions(false);
42 $disabled_extensions = !is_array(get_option('e2pdf_disabled_extensions')) ? array() : get_option('e2pdf_disabled_extensions');
43 foreach ($extensions as $extension) {
44 $extensions_options[] = array(
45 'name' => ucfirst($extension),
46 'key' => 'e2pdf_disabled_extensions[]',
47 'value' => in_array($extension, $disabled_extensions) ? $extension : '',
48 'checkbox_value' => $extension,
49 'type' => 'checkbox',
50 );
51 }
52 if (isset($extensions_options['0'])) {
53 $extensions_options['0']['header'] = __('Disable Extensions', 'e2pdf');
54 }
55 }
56
57 $options = array(
58 'static_group' => array(
59 'name' => __('Static', 'e2pdf'),
60 'options' => array(
61 array(
62 'key' => 'e2pdf_version',
63 'value' => $helper->get('version')
64 ),
65 array(
66 'key' => 'e2pdf_license',
67 'value' => get_option('e2pdf_license') === false ? false : get_option('e2pdf_license'),
68 ),
69 array(
70 'key' => 'e2pdf_email',
71 'value' => get_option('e2pdf_email') === false ? false : get_option('e2pdf_email'),
72 ),
73 array(
74 'key' => 'e2pdf_templates_screen_per_page',
75 'value' => get_option('e2pdf_templates_screen_per_page') === false ? '20' : get_option('e2pdf_templates_screen_per_page'),
76 )
77 )
78 ),
79 'common_group' => array(
80 'name' => __('Common', 'e2pdf'),
81 'options' => array(
82 array(
83 'name' => __('PDF Processor', 'e2pdf'),
84 'key' => 'e2pdf_processor',
85 'value' => get_option('e2pdf_processor') === false ? '0' : get_option('e2pdf_processor'),
86 'default_value' => 0,
87 'type' => 'select',
88 'options' => array(
89 'Latest', 'Dev'
90 )
91 ),
92 array(
93 'name' => __('Debug', 'e2pdf'),
94 'key' => 'e2pdf_debug',
95 'value' => get_option('e2pdf_debug') === false ? '0' : get_option('e2pdf_debug'),
96 'default_value' => '0',
97 'type' => 'checkbox',
98 'checkbox_value' => '1',
99 'placeholder' => __('Turn on Debug mode', 'e2pdf'),
100 ),
101 array(
102 'name' => __('Hide warnings', 'e2pdf'),
103 'key' => 'e2pdf_hide_warnings',
104 'value' => get_option('e2pdf_hide_warnings') === false ? '0' : get_option('e2pdf_hide_warnings'),
105 'default_value' => '0',
106 'type' => 'checkbox',
107 'checkbox_value' => '1',
108 'placeholder' => __('Hide warnings', 'e2pdf'),
109 ),
110 array(
111 'name' => __('Connection Timout', 'e2pdf'),
112 'key' => 'e2pdf_connection_timeout',
113 'value' => get_option('e2pdf_connection_timeout') === false ? '300' : get_option('e2pdf_connection_timeout'),
114 'default_value' => '30',
115 'type' => 'text',
116 'class' => 'e2pdf-numbers',
117 'placeholder' => '0'
118 ),
119 array(
120 'name' => __('Memory/Time Usage', 'e2pdf'),
121 'key' => 'e2pdf_memory_time',
122 'value' => get_option('e2pdf_memory_time') === false ? '0' : get_option('e2pdf_memory_time'),
123 'default_value' => '0',
124 'type' => 'checkbox',
125 'checkbox_value' => '1',
126 'placeholder' => __('Show Memory/Time Usage', 'e2pdf'),
127 ),
128 array(
129 'name' => __('Developer Mode', 'e2pdf'),
130 'key' => 'e2pdf_developer',
131 'value' => get_option('e2pdf_developer') === false ? '0' : get_option('e2pdf_developer'),
132 'default_value' => '0',
133 'type' => 'checkbox',
134 'checkbox_value' => '1',
135 'placeholder' => __('Turn on Developer mode', 'e2pdf'),
136 ),
137 array(
138 'name' => __('Developer IPs', 'e2pdf'),
139 'key' => 'e2pdf_developer_ips',
140 'value' => get_option('e2pdf_developer_ips') === false ? '' : get_option('e2pdf_developer_ips'),
141 'default_value' => '',
142 'type' => 'textarea',
143 'placeholder' => __('Developer IPs', 'e2pdf'),
144 )
145 )
146 ),
147 'fonts_group' => array(
148 'name' => __('Fonts', 'e2pdf'),
149 'action' => 'fonts',
150 'options' => array()
151 ),
152 'adobesign_group' => array(
153 'name' => __('Adobe Sign', 'e2pdf'),
154 'action' => 'adobesign',
155 'options' => array(
156 array(
157 'name' => __('Client ID', 'e2pdf'),
158 'key' => 'e2pdf_adobesign_client_id',
159 'value' => get_option('e2pdf_adobesign_client_id') === false ? '' : get_option('e2pdf_adobesign_client_id'),
160 'default_value' => '',
161 'type' => 'text',
162 'placeholder' => ''
163 ),
164 array(
165 'name' => __('Client Secret', 'e2pdf'),
166 'key' => 'e2pdf_adobesign_client_secret',
167 'value' => get_option('e2pdf_adobesign_client_secret') === false ? '' : get_option('e2pdf_adobesign_client_secret'),
168 'default_value' => '',
169 'type' => 'text',
170 'placeholder' => ''
171 ),
172 array(
173 'name' => __('Region', 'e2pdf'),
174 'key' => 'e2pdf_adobesign_region',
175 'value' => get_option('e2pdf_adobesign_region') === false ? '' : get_option('e2pdf_adobesign_region'),
176 'default_value' => '',
177 'type' => 'text',
178 'placeholder' => __('na2', 'e2pdf')
179 ),
180 array(
181 'name' => __('Code', 'e2pdf'),
182 'key' => 'e2pdf_adobesign_code',
183 'value' => get_option('e2pdf_adobesign_code') === false ? '' : get_option('e2pdf_adobesign_code'),
184 'default_value' => '',
185 'type' => get_option('e2pdf_debug') ? 'text' : 'hidden',
186 'placeholder' => ''
187 ),
188 array(
189 'name' => __('Api Access Point', 'e2pdf'),
190 'key' => 'e2pdf_adobesign_api_access_point',
191 'value' => get_option('e2pdf_adobesign_api_access_point') === false ? '' : get_option('e2pdf_adobesign_api_access_point'),
192 'default_value' => '',
193 'type' => get_option('e2pdf_debug') ? 'text' : 'hidden',
194 'placeholder' => ''
195 ),
196 array(
197 'name' => __('Refresh Token', 'e2pdf'),
198 'key' => 'e2pdf_adobesign_refresh_token',
199 'value' => get_option('e2pdf_adobesign_refresh_token') === false ? '' : get_option('e2pdf_adobesign_refresh_token'),
200 'default_value' => '',
201 'type' => get_option('e2pdf_debug') ? 'text' : 'hidden',
202 'placeholder' => ''
203 ),
204 array(
205 'name' => __('Access Token', 'e2pdf'),
206 'key' => 'e2pdf_adobesign_access_token',
207 'value' => get_transient('e2pdf_adobesign_access_token') === false ? '' : get_transient('e2pdf_adobesign_access_token'),
208 'default_value' => '',
209 'type' => get_option('e2pdf_debug') ? 'text' : 'hidden',
210 'placeholder' => ''
211 ),
212 array(
213 'header' => __('Scopes', 'e2pdf'),
214 'name' => __('user_read', 'e2pdf'),
215 'key' => 'e2pdf_adobesign_scope_user_read',
216 'value' => get_option('e2pdf_adobesign_scope_user_read') === false ? '' : get_option('e2pdf_adobesign_scope_user_read'),
217 'default_value' => '',
218 'type' => 'select',
219 'options' => array(
220 '' => __('disabled', 'e2pdf'),
221 'self' => 'self',
222 'group' => 'group',
223 'account' => 'account'
224 )
225 ),
226 array(
227 'name' => __('user_write', 'e2pdf'),
228 'key' => 'e2pdf_adobesign_scope_user_write',
229 'value' => get_option('e2pdf_adobesign_scope_user_write') === false ? '' : get_option('e2pdf_adobesign_scope_user_write'),
230 'default_value' => '',
231 'type' => 'select',
232 'options' => array(
233 '' => __('disabled', 'e2pdf'),
234 'self' => 'self',
235 'group' => 'group',
236 'account' => 'account'
237 )
238 ),
239 array(
240 'name' => __('user_login', 'e2pdf'),
241 'key' => 'e2pdf_adobesign_scope_user_login',
242 'value' => get_option('e2pdf_adobesign_scope_user_login') === false ? '' : get_option('e2pdf_adobesign_scope_user_login'),
243 'default_value' => '',
244 'type' => 'select',
245 'options' => array(
246 '' => __('disabled', 'e2pdf'),
247 'self' => 'self',
248 'group' => 'group',
249 'account' => 'account'
250 )
251 ),
252 array(
253 'name' => __('agreement_read', 'e2pdf'),
254 'key' => 'e2pdf_adobesign_scope_agreement_read',
255 'value' => get_option('e2pdf_adobesign_scope_agreement_read') === false ? '' : get_option('e2pdf_adobesign_scope_agreement_read'),
256 'default_value' => '',
257 'type' => 'select',
258 'options' => array(
259 '' => __('disabled', 'e2pdf'),
260 'self' => 'self',
261 'group' => 'group',
262 'account' => 'account'
263 )
264 ),
265 array(
266 'name' => __('agreement_write', 'e2pdf'),
267 'key' => 'e2pdf_adobesign_scope_agreement_write',
268 'value' => get_option('e2pdf_adobesign_scope_agreement_write') === false ? '' : get_option('e2pdf_adobesign_scope_agreement_write'),
269 'default_value' => '',
270 'type' => 'select',
271 'options' => array(
272 '' => __('disabled', 'e2pdf'),
273 'self' => 'self',
274 'group' => 'group',
275 'account' => 'account'
276 )
277 ),
278 array(
279 'name' => __('agreement_send', 'e2pdf'),
280 'key' => 'e2pdf_adobesign_scope_agreement_send',
281 'value' => get_option('e2pdf_adobesign_scope_agreement_send') === false ? '' : get_option('e2pdf_adobesign_scope_agreement_send'),
282 'default_value' => '',
283 'type' => 'select',
284 'options' => array(
285 '' => __('disabled', 'e2pdf'),
286 'self' => 'self',
287 'group' => 'group',
288 'account' => 'account'
289 )
290 ),
291 array(
292 'name' => __('widget_read', 'e2pdf'),
293 'key' => 'e2pdf_adobesign_scope_widget_read',
294 'value' => get_option('e2pdf_adobesign_scope_widget_read') === false ? '' : get_option('e2pdf_adobesign_scope_widget_read'),
295 'default_value' => '',
296 'type' => 'select',
297 'options' => array(
298 '' => __('disabled', 'e2pdf'),
299 'self' => 'self',
300 'group' => 'group',
301 'account' => 'account'
302 )
303 ),
304 array(
305 'name' => __('widget_write', 'e2pdf'),
306 'key' => 'e2pdf_adobesign_scope_widget_write',
307 'value' => get_option('e2pdf_adobesign_scope_widget_write') === false ? '' : get_option('e2pdf_adobesign_scope_widget_write'),
308 'default_value' => '',
309 'type' => 'select',
310 'options' => array(
311 '' => __('disabled', 'e2pdf'),
312 'self' => 'self',
313 'group' => 'group',
314 'account' => 'account'
315 )
316 ),
317 array(
318 'name' => __('library_read', 'e2pdf'),
319 'key' => 'e2pdf_adobesign_scope_library_read',
320 'value' => get_option('e2pdf_adobesign_scope_library_read') === false ? '' : get_option('e2pdf_adobesign_scope_library_read'),
321 'default_value' => '',
322 'type' => 'select',
323 'options' => array(
324 '' => __('disabled', 'e2pdf'),
325 'self' => 'self',
326 'group' => 'group',
327 'account' => 'account'
328 )
329 ),
330 array(
331 'name' => __('library_write', 'e2pdf'),
332 'key' => 'e2pdf_adobesign_scope_library_write',
333 'value' => get_option('e2pdf_adobesign_scope_library_write') === false ? '' : get_option('e2pdf_adobesign_scope_library_write'),
334 'default_value' => '',
335 'type' => 'select',
336 'options' => array(
337 '' => __('disabled', 'e2pdf'),
338 'self' => 'self',
339 'group' => 'group',
340 'account' => 'account'
341 )
342 ),
343 array(
344 'name' => __('workflow_read', 'e2pdf'),
345 'key' => 'e2pdf_adobesign_scope_workflow_read',
346 'value' => get_option('e2pdf_adobesign_scope_workflow_read') === false ? '' : get_option('e2pdf_adobesign_scope_workflow_read'),
347 'default_value' => '',
348 'type' => 'select',
349 'options' => array(
350 '' => __('disabled', 'e2pdf'),
351 'self' => 'self',
352 'group' => 'group',
353 'account' => 'account'
354 )
355 ),
356 array(
357 'name' => __('workflow_write', 'e2pdf'),
358 'key' => 'e2pdf_adobesign_scope_workflow_write',
359 'value' => get_option('e2pdf_adobesign_scope_workflow_write') === false ? '' : get_option('e2pdf_adobesign_scope_workflow_write'),
360 'default_value' => '',
361 'type' => 'select',
362 'options' => array(
363 '' => __('disabled', 'e2pdf'),
364 'self' => 'self',
365 'group' => 'group',
366 'account' => 'account'
367 )
368 ),
369 array(
370 'name' => __('webhook_read', 'e2pdf'),
371 'key' => 'e2pdf_adobesign_scope_webhook_read',
372 'value' => get_option('e2pdf_adobesign_scope_webhook_read') === false ? '' : get_option('e2pdf_adobesign_scope_webhook_read'),
373 'default_value' => '',
374 'type' => 'select',
375 'options' => array(
376 '' => __('disabled', 'e2pdf'),
377 'self' => 'self',
378 'group' => 'group',
379 'account' => 'account'
380 )
381 ),
382 array(
383 'name' => __('webhook_write', 'e2pdf'),
384 'key' => 'e2pdf_adobesign_scope_webhook_write',
385 'value' => get_option('e2pdf_adobesign_scope_webhook_write') === false ? '' : get_option('e2pdf_adobesign_scope_webhook_write'),
386 'default_value' => '',
387 'type' => 'select',
388 'options' => array(
389 '' => __('disabled', 'e2pdf'),
390 'self' => 'self',
391 'group' => 'group',
392 'account' => 'account'
393 )
394 ),
395 array(
396 'name' => __('webhook_retention', 'e2pdf'),
397 'key' => 'e2pdf_adobesign_scope_webhook_retention',
398 'value' => get_option('e2pdf_adobesign_scope_webhook_retention') === false ? '' : get_option('e2pdf_adobesign_scope_webhook_retention'),
399 'default_value' => '',
400 'type' => 'select',
401 'options' => array(
402 '' => __('disabled', 'e2pdf'),
403 'self' => 'self',
404 'group' => 'group',
405 'account' => 'account'
406 )
407 ),
408 )
409 ),
410 'extensions_group' => array(
411 'name' => __('Extensions', 'e2pdf'),
412 'action' => 'extensions',
413 'options' => $extensions_options
414 ),
415 );
416
417 $options = apply_filters('e2pdf_model_options_get_options_options', $options);
418
419 if ($all) {
420 $opt = array();
421 foreach ($options as $group_key => $group) {
422 foreach ($group['options'] as $option_key => $option) {
423 $opt[$option['key']] = $option['value'];
424 }
425 }
426 return $opt;
427 } else {
428 foreach ($options as $group_key => $group) {
429 if ($exclude) {
430 if (in_array($group_key, $only_group)) {
431 unset($options[$group_key]);
432 }
433 } else {
434 if (!in_array($group_key, $only_group)) {
435 unset($options[$group_key]);
436 }
437 }
438 }
439
440 return $options;
441 }
442 }
443
444 /**
445 * Get Option value
446 *
447 * @param string $key - Option key
448 *
449 * @return mixed - Option value
450 */
451 function get_option($key) {
452 if ($key === 'e2pdf_developer_ips') {
453 $option = get_option($key);
454 $developers = explode("\r\n", $option);
455 if (!empty($developers)) {
456 return $developers;
457 }
458 return array();
459 } else {
460 return get_option($key);
461 }
462 }
463
464 }
465