PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.49
E2Pdf – Export Pdf Tool for WordPress v1.32.49
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
← All changes | classes/model/e2pdf-options.php +617 -186 1.05.031.32.49 View file →
@@ -1,14 +1,12 @@
1 1 <?php
2 2
3 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
4 + * File: /model/e2pdf-options.php
5 + *
6 + * @package E2Pdf
7 + * @license GPLv3
8 + * @link https://e2pdf.com
11 9 */
12 10 if (!defined('ABSPATH')) {
13 11 die('Access denied.');
14 12 }
@@ -14,407 +12,834 @@
14 12 }
15 13
16 14 class Model_E2pdf_Options extends Model_E2pdf_Model {
17 15
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 -
16 + // get options
30 17 public static function get_options($all = true, $only_group = array(), $exclude = false) {
31 18 $helper = Helper_E2pdf_Helper::instance();
32 -
33 19 $extensions_options = array();
34 20 if ($all) {
35 21 $extensions_options[] = array(
36 22 'key' => 'e2pdf_disabled_extensions',
37 - 'value' => !is_array(get_option('e2pdf_disabled_extensions')) ? array() : get_option('e2pdf_disabled_extensions'),
23 + 'value' => get_option('e2pdf_disabled_extensions', array()),
38 24 );
39 25 } else {
40 26 $model_e2pdf_extension = new Model_E2pdf_Extension();
41 27 $extensions = $model_e2pdf_extension->extensions(false);
42 - $disabled_extensions = !is_array(get_option('e2pdf_disabled_extensions')) ? array() : get_option('e2pdf_disabled_extensions');
28 + $disabled_extensions = get_option('e2pdf_disabled_extensions', array());
43 29 foreach ($extensions as $extension) {
30 + $extension_title = ucfirst($extension);
31 + switch ($extension) {
32 + case 'caldera':
33 + $extension_title = 'Caldera Forms';
34 + break;
35 + case 'calc':
36 + $extension_title = 'Cost Calculator Builder';
37 + break;
38 + case 'divi':
39 + $extension_title = 'Divi Contact Forms';
40 + break;
41 + case 'elementor':
42 + $extension_title = 'Elementor Forms';
43 + break;
44 + case 'fluent':
45 + $extension_title = 'Fluent Forms';
46 + break;
47 + case 'formidable':
48 + $extension_title = 'Formidable Forms';
49 + break;
50 + case 'forminator':
51 + $extension_title = 'Forminator Forms';
52 + break;
53 + case 'gravity':
54 + $extension_title = 'Gravity Forms';
55 + break;
56 + case 'ninja':
57 + $extension_title = 'Ninja Forms';
58 + break;
59 + case 'woocommerce':
60 + $extension_title = 'WooCommerce';
61 + break;
62 + // phpcs:ignore WordPress.WP.CapitalPDangit.Misspelled
63 + case 'wordpress':
64 + $extension_title = 'WordPress';
65 + break;
66 + case 'wpcf7':
67 + $extension_title = 'Contact Form 7';
68 + break;
69 + case 'wpforms':
70 + $extension_title = 'WPForms';
71 + break;
72 + case 'jetformbuilder':
73 + $extension_title = 'JetFormBuilder';
74 + break;
75 + default:
76 + break;
77 + }
44 78 $extensions_options[] = array(
45 - 'name' => ucfirst($extension),
79 + 'name' => $extension_title,
46 80 'key' => 'e2pdf_disabled_extensions[]',
47 - 'value' => in_array($extension, $disabled_extensions) ? $extension : '',
48 - 'checkbox_value' => $extension,
49 - 'type' => 'checkbox',
81 + 'value' => is_array($disabled_extensions) && in_array($extension, $disabled_extensions, true) ? $extension : '',
82 + 'default_value' => '',
83 + 'type' => 'select',
84 + 'options' => array(
85 + array(
86 + 'key' => '',
87 + 'value' => __('Enabled', 'e2pdf'),
88 + ),
89 + array(
90 + 'key' => $extension,
91 + 'value' => __('Disabled', 'e2pdf'),
92 + ),
93 + ),
50 94 );
51 95 }
52 96 if (isset($extensions_options['0'])) {
53 - $extensions_options['0']['header'] = __('Disable Extensions', 'e2pdf');
97 + $extensions_options['0']['header'] = __('Extensions', 'e2pdf');
54 98 }
55 99 }
56 100
101 + $processors = array(
102 + '0' => 'Default (Stable Version)',
103 + );
104 + if (get_option('e2pdf_debug', '0')) {
105 + $processors = array(
106 + '0' => 'Default (Stable Version)',
107 + '2' => 'Backport (1.16.19 Version)',
108 + '1' => 'Release Candidate (Debug Mode)',
109 + );
110 + }
111 +
57 112 $options = array(
58 113 'static_group' => array(
59 - 'name' => __('Static', 'e2pdf'),
114 + 'name' => '',
60 115 'options' => array(
61 116 array(
62 117 'key' => 'e2pdf_version',
63 - 'value' => $helper->get('version')
118 + 'value' => $helper->get('version'),
64 119 ),
65 120 array(
66 121 'key' => 'e2pdf_license',
67 - 'value' => get_option('e2pdf_license') === false ? false : get_option('e2pdf_license'),
122 + 'value' => get_option('e2pdf_license', false),
68 123 ),
69 124 array(
70 125 'key' => 'e2pdf_email',
71 - 'value' => get_option('e2pdf_email') === false ? false : get_option('e2pdf_email'),
126 + 'value' => get_option('e2pdf_email', ''),
72 127 ),
73 128 array(
74 129 '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 - )
130 + 'value' => get_option('e2pdf_templates_screen_per_page', '20'),
131 + ),
132 + array(
133 + 'key' => 'e2pdf_cached_fonts',
134 + 'value' => get_option('e2pdf_cached_fonts', array()),
135 + ),
136 + array(
137 + 'key' => 'e2pdf_nonce_key',
138 + 'value' => get_option('e2pdf_nonce_key', wp_generate_password('64')),
139 + ),
140 + ),
78 141 ),
79 142 'common_group' => array(
80 143 'name' => __('Common', 'e2pdf'),
81 144 'options' => array(
82 145 array(
146 + 'name' => __('E2Pdf.com Account E-mail Address', 'e2pdf'),
147 + 'key' => 'e2pdf_user_email',
148 + 'default_value' => '',
149 + 'value' => get_option('e2pdf_user_email', ''),
150 + 'type' => 'text',
151 + 'placeholder' => __('E2Pdf.com Account E-mail Address', 'e2pdf'),
152 + ),
153 + array(
154 + 'name' => __('API Server', 'e2pdf'),
155 + 'key' => 'e2pdf_api_custom',
156 + 'value' => apply_filters('e2pdf_api', get_option('e2pdf_api', 'api.e2pdf.com')),
157 + 'default_value' => 'api.e2pdf.com',
158 + 'type' => get_option('e2pdf_api', 'api.e2pdf.com') !== apply_filters('e2pdf_api', get_option('e2pdf_api', 'api.e2pdf.com')) ? 'text' : 'hidden',
159 + 'readonly' => 'readonly',
160 + ),
161 + array(
162 + 'name' => __('API Server', 'e2pdf'),
163 + 'key' => 'e2pdf_api',
164 + 'value' => get_option('e2pdf_api', 'api.e2pdf.com'),
165 + 'default_value' => 'api.e2pdf.com',
166 + 'type' => get_option('e2pdf_api', 'api.e2pdf.com') !== apply_filters('e2pdf_api', get_option('e2pdf_api', 'api.e2pdf.com')) ? 'hidden' : 'select',
167 + 'options' => array(
168 + 'api.e2pdf.com' => 'api.e2pdf.com (US, Cloudflare)',
169 + 'api2.e2pdf.com' => 'api2.e2pdf.com (US)',
170 + 'api3.e2pdf.com' => 'api3.e2pdf.com (EU, Cloudflare)',
171 + 'api4.e2pdf.com' => 'api4.e2pdf.com (EU)',
172 + ),
173 + ),
174 + array(
175 + 'name' => __('API Transfer', 'e2pdf'),
176 + 'key' => 'e2pdf_api_protocol',
177 + 'value' => get_option('e2pdf_api_protocol', '0'),
178 + 'default_value' => '0',
179 + 'type' => 'select',
180 + 'options' => array(
181 + '0' => 'Base64 Encoding',
182 + '1' => 'Raw Encoding',
183 + ),
184 + ),
185 + array(
186 + 'name' => __('API Connection Timout (sec)', 'e2pdf'),
187 + 'key' => 'e2pdf_connection_timeout',
188 + 'value' => get_option('e2pdf_connection_timeout', '300'),
189 + 'default_value' => '300',
190 + 'type' => 'text',
191 + 'class' => 'e2pdf-numbers',
192 + 'placeholder' => '0',
193 + ),
194 + array(
83 195 'name' => __('PDF Processor', 'e2pdf'),
84 196 'key' => 'e2pdf_processor',
85 - 'value' => get_option('e2pdf_processor') === false ? '0' : get_option('e2pdf_processor'),
86 - 'default_value' => 0,
197 + 'value' => get_option('e2pdf_processor', '0'),
198 + 'default_value' => '0',
87 199 'type' => 'select',
200 + 'options' => $processors,
201 + ),
202 + array(
203 + 'name' => __('Font Processor', 'e2pdf'),
204 + 'key' => 'e2pdf_font_processor',
205 + 'value' => get_option('e2pdf_font_processor', '0'),
206 + 'default_value' => '0',
207 + 'type' => 'hidden',
88 208 'options' => array(
89 - 'Latest', 'Dev'
90 - )
209 + 'Plain Fonts',
210 + 'Complex Fonts',
211 + ),
91 212 ),
92 213 array(
93 - 'name' => __('Debug', 'e2pdf'),
94 - 'key' => 'e2pdf_debug',
95 - 'value' => get_option('e2pdf_debug') === false ? '0' : get_option('e2pdf_debug'),
214 + 'name' => __('Release Candidate Builds', 'e2pdf'),
215 + 'key' => 'e2pdf_dev_update',
216 + 'value' => get_option('e2pdf_dev_update', '0'),
96 217 'default_value' => '0',
97 218 'type' => 'checkbox',
98 219 'checkbox_value' => '1',
99 - 'placeholder' => __('Turn on Debug mode', 'e2pdf'),
220 + 'placeholder' => __('Update from E2Pdf.com', 'e2pdf'),
100 221 ),
101 222 array(
102 - 'name' => __('Hide warnings', 'e2pdf'),
223 + 'name' => __('URL Format', 'e2pdf'),
224 + 'key' => 'e2pdf_url_format',
225 + 'value' => get_option('e2pdf_url_format', 'auto'),
226 + 'default_value' => 'auto',
227 + 'type' => 'select',
228 + 'options' => array(
229 + 'auto' => 'Auto',
230 + 'siteurl' => 'WordPress Address (URL)',
231 + 'home' => 'Site Address (URL)',
232 + ),
233 + ),
234 + array(
235 + 'name' => __('URL Rewrite', 'e2pdf'),
236 + 'key' => 'e2pdf_mod_rewrite',
237 + 'value' => get_option('e2pdf_mod_rewrite', '0'),
238 + 'default_value' => '0',
239 + 'type' => 'checkbox',
240 + 'checkbox_value' => '1',
241 + 'placeholder' => __('URL Rewrite', 'e2pdf'),
242 + ),
243 + array(
244 + 'name' => '',
245 + 'key' => 'e2pdf_mod_rewrite_url',
246 + 'default_value' => '',
247 + 'value' => get_option('e2pdf_mod_rewrite_url', 'e2pdf/%uid%/'),
248 + 'type' => 'text',
249 + 'class' => 'e2pdf-mod-rewrite-url',
250 + 'placeholder' => 'e2pdf/%uid%/',
251 + 'prefield' => rtrim($helper->get_frontend_site_url(), '/') . '/',
252 + ),
253 + array(
254 + 'name' => __('Cache', 'e2pdf'),
255 + 'key' => 'e2pdf_cache',
256 + 'value' => get_option('e2pdf_cache', '1'),
257 + 'default_value' => '0',
258 + 'type' => 'checkbox',
259 + 'checkbox_value' => '1',
260 + 'placeholder' => __('Objects Cache', 'e2pdf'),
261 + ),
262 + array(
263 + 'name' => '',
264 + 'key' => 'e2pdf_cache_fonts',
265 + 'value' => get_option('e2pdf_cache_fonts', '1'),
266 + 'default_value' => '0',
267 + 'type' => 'checkbox',
268 + 'checkbox_value' => '1',
269 + 'placeholder' => __('Fonts Cache', 'e2pdf'),
270 + ),
271 + array(
272 + 'name' => '',
273 + 'key' => 'e2pdf_cache_pdfs',
274 + 'value' => get_option('e2pdf_cache_pdfs', '0'),
275 + 'default_value' => '0',
276 + 'type' => 'checkbox',
277 + 'checkbox_value' => '1',
278 + 'placeholder' => __('PDFs Cache', 'e2pdf'),
279 + ),
280 + array(
281 + 'name' => '',
282 + 'key' => 'e2pdf_cache_pdfs_ttl',
283 + 'default_value' => '',
284 + 'value' => max(10, (int) get_option('e2pdf_cache_pdfs_ttl', '180')),
285 + 'type' => 'text',
286 + 'placeholder' => '10',
287 + 'prefield' => __('TTL (sec)', 'e2pdf') . ':',
288 + ),
289 + array(
290 + 'name' => __('PDF Ajax Loader', 'e2pdf'),
291 + 'key' => 'e2pdf_download_loader',
292 + 'value' => get_option('e2pdf_download_loader', '0'),
293 + 'default_value' => '0',
294 + 'type' => 'select',
295 + 'options' => array(
296 + '0' => __('Disabled', 'e2pdf'),
297 + '1' => __('Enabled', 'e2pdf'),
298 + ),
299 + ),
300 + array(
301 + 'name' => __('Fallback PDF Viewer', 'e2pdf'),
302 + 'key' => 'e2pdf_download_inline_fallback_viewer',
303 + 'value' => get_option('e2pdf_download_inline_fallback_viewer', '0'),
304 + 'default_value' => '0',
305 + 'type' => 'select',
306 + 'options' => array(
307 + '0' => __('Disabled', 'e2pdf'),
308 + '1' => 'PDF.js',
309 + ),
310 + ),
311 + array(
312 + 'name' => '',
313 + 'key' => 'e2pdf_download_inline_chrome_ios_fix',
314 + 'value' => get_option('e2pdf_download_inline_chrome_ios_fix', '0'),
315 + 'default_value' => '0',
316 + 'type' => 'checkbox',
317 + 'checkbox_value' => '1',
318 + 'placeholder' => __('Fix Chrome iOS Download Name (might be not compatible with certain setups)', 'e2pdf'),
319 + ),
320 + array(
321 + 'name' => __('New Edit Layout', 'e2pdf'),
322 + 'key' => 'e2pdf_new_edit_layout',
323 + 'value' => get_option('e2pdf_new_edit_layout', '1'),
324 + 'default_value' => '0',
325 + 'type' => 'checkbox',
326 + 'checkbox_value' => '1',
327 + 'placeholder' => __('New Edit Layout', 'e2pdf'),
328 + ),
329 + array(
330 + 'name' => __('Hide Warnings', 'e2pdf'),
103 331 'key' => 'e2pdf_hide_warnings',
104 - 'value' => get_option('e2pdf_hide_warnings') === false ? '0' : get_option('e2pdf_hide_warnings'),
332 + 'value' => get_option('e2pdf_hide_warnings', '0'),
105 333 'default_value' => '0',
106 334 'type' => 'checkbox',
107 335 'checkbox_value' => '1',
108 - 'placeholder' => __('Hide warnings', 'e2pdf'),
336 + 'placeholder' => __('Hide Warnings', 'e2pdf'),
109 337 ),
110 338 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'),
339 + 'name' => __('Local Images', 'e2pdf'),
340 + 'key' => 'e2pdf_images_remote_request',
341 + 'value' => get_option('e2pdf_images_remote_request', '0'),
342 + 'default_value' => '0',
343 + 'type' => 'checkbox',
344 + 'checkbox_value' => '1',
345 + 'placeholder' => __('Load via Remote Request', 'e2pdf'),
346 + ),
347 + array(
348 + 'name' => __('Images Timout (sec)', 'e2pdf'),
349 + 'key' => 'e2pdf_images_timeout',
350 + 'value' => get_option('e2pdf_images_timeout', '30'),
114 351 'default_value' => '30',
115 352 'type' => 'text',
116 353 'class' => 'e2pdf-numbers',
117 - 'placeholder' => '0'
354 + 'placeholder' => '0',
118 355 ),
119 356 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'),
357 + 'name' => __('Bulk Export Interval (sec)', 'e2pdf'),
358 + 'key' => 'e2pdf_bulk_export_interval',
359 + 'value' => max(10, (int) get_option('e2pdf_bulk_export_interval', '10')),
360 + 'default_value' => '10',
361 + 'type' => 'text',
362 + 'class' => 'e2pdf-numbers',
363 + 'placeholder' => '10',
364 + ),
365 + array(
366 + 'name' => __('Undo Limit', 'e2pdf'),
367 + 'key' => 'e2pdf_undo_limit',
368 + 'value' => get_option('e2pdf_undo_limit', '20'),
369 + 'default_value' => '20',
370 + 'type' => 'text',
371 + 'class' => 'e2pdf-numbers',
372 + 'placeholder' => '0',
373 + ),
374 + array(
375 + 'name' => __('Revisions Limit', 'e2pdf'),
376 + 'key' => 'e2pdf_revisions_limit',
377 + 'value' => get_option('e2pdf_revisions_limit', '3'),
378 + 'default_value' => '3',
379 + 'type' => 'text',
380 + 'class' => 'e2pdf-numbers',
381 + 'placeholder' => '0',
382 + ),
383 + array(
384 + 'name' => __('Debug Mode', 'e2pdf'),
385 + 'key' => 'e2pdf_debug',
386 + 'value' => get_option('e2pdf_debug', '0'),
123 387 'default_value' => '0',
124 388 'type' => 'checkbox',
125 389 'checkbox_value' => '1',
126 - 'placeholder' => __('Show Memory/Time Usage', 'e2pdf'),
390 + 'placeholder' => __('Enable Debug Mode', 'e2pdf'),
127 391 ),
128 392 array(
129 - 'name' => __('Developer Mode', 'e2pdf'),
130 - 'key' => 'e2pdf_developer',
131 - 'value' => get_option('e2pdf_developer') === false ? '0' : get_option('e2pdf_developer'),
393 + 'name' => __('Recovery Mode E-mail', 'e2pdf'),
394 + 'key' => 'e2pdf_recovery_mode_email',
395 + 'value' => get_option('e2pdf_recovery_mode_email', ''),
396 + 'default_value' => '',
397 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
398 + 'placeholder' => __('Recovery Mode E-mail', 'e2pdf'),
399 + ),
400 + array(
401 + 'name' => __('Memory/Time Usage', 'e2pdf'),
402 + 'key' => 'e2pdf_memory_time',
403 + 'value' => get_option('e2pdf_memory_time', '0'),
132 404 'default_value' => '0',
133 - 'type' => 'checkbox',
405 + 'type' => get_option('e2pdf_debug', '0') ? 'checkbox' : 'hidden',
134 406 'checkbox_value' => '1',
135 - 'placeholder' => __('Turn on Developer mode', 'e2pdf'),
407 + 'placeholder' => __('Show Memory/Time Usage', 'e2pdf'),
136 408 ),
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 - )
409 + ),
146 410 ),
411 + 'maintenance_group' => array(
412 + 'name' => __('Maintenance', 'e2pdf'),
413 + 'action' => 'maintenance',
414 + 'options' => array(),
415 + ),
147 416 'fonts_group' => array(
148 417 'name' => __('Fonts', 'e2pdf'),
149 418 'action' => 'fonts',
150 - 'options' => array()
419 + 'options' => array(),
151 420 ),
421 + 'permissions_group' => array(
422 + 'name' => __('Permissions', 'e2pdf'),
423 + 'action' => 'permissions',
424 + 'options' => array(),
425 + ),
426 + 'zapier_group' => array(
427 + 'name' => 'Zapier',
428 + 'options' => array(
429 + array(
430 + 'name' => 'Site URL',
431 + 'value' => $helper->get_site_url(),
432 + 'default_value' => '',
433 + 'type' => 'text',
434 + 'readonly' => 'readonly',
435 + 'class' => 'e2pdf-copy-field',
436 + ),
437 + array(
438 + 'name' => 'API Key',
439 + 'key' => 'e2pdf_zapier_api_key',
440 + 'value' => get_option('e2pdf_zapier_api_key'),
441 + 'default_value' => '',
442 + 'type' => 'text',
443 + 'readonly' => 'readonly',
444 + 'class' => 'e2pdf-copy-field',
445 + ),
446 + ),
447 + ),
448 + 'gdrive_group' => array(
449 + 'name' => 'Google Drive',
450 + 'action' => 'gdrive',
451 + 'options' => array(
452 + array(
453 + 'name' => 'Redirect URI',
454 + 'value' =>
455 + site_url('/e2pdf-rpc/v1/gdrive/auth?api_key=' . get_option('e2pdf_gdrive_api_key')),
456 + 'default_value' => '',
457 + 'type' => 'text',
458 + 'readonly' => 'readonly',
459 + 'class' => 'e2pdf-copy-field',
460 + ),
461 + array(
462 + 'name' => 'Status',
463 + 'key' => 'e2pdf_gdrive_status',
464 + 'value' => get_option('e2pdf_gdrive_refresh_token') ? __('Authorized', 'e2pdf') : __('Not Authorized', 'e2pdf'),
465 + 'default_value' => '',
466 + 'type' => 'text',
467 + 'readonly' => 'readonly',
468 + ),
469 + array(
470 + 'name' => 'Refresh Token',
471 + 'key' => 'e2pdf_gdrive_refresh_token',
472 + 'value' => get_option('e2pdf_gdrive_refresh_token', ''),
473 + 'default_value' => '',
474 + 'type' => 'text',
475 + 'placeholder' => '',
476 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
477 + 'readonly' => 'readonly',
478 + ),
479 + array(
480 + 'name' => 'Access Token',
481 + 'key' => 'e2pdf_gdrive_access_token',
482 + 'value' => get_transient('e2pdf_gdrive_access_token') === false ? '' : get_transient('e2pdf_gdrive_access_token'),
483 + 'default_value' => '',
484 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
485 + 'placeholder' => '',
486 + 'readonly' => 'readonly',
487 + ),
488 + array(
489 + 'header' => 'Configuration',
490 + 'name' => 'Client ID',
491 + 'key' => 'e2pdf_gdrive_client_id',
492 + 'value' => get_option('e2pdf_gdrive_client_id', ''),
493 + 'default_value' => '',
494 + 'type' => 'text',
495 + 'placeholder' => '',
496 + ),
497 + array(
498 + 'name' => 'Client Secret',
499 + 'key' => 'e2pdf_gdrive_client_secret',
500 + 'value' => get_option('e2pdf_gdrive_client_secret', ''),
501 + 'default_value' => '',
502 + 'type' => 'password',
503 + 'placeholder' => '',
504 + ),
505 + )
506 + ),
152 507 'adobesign_group' => array(
153 - 'name' => __('Adobe Sign', 'e2pdf'),
508 + 'name' => 'Adobe Sign',
154 509 'action' => 'adobesign',
155 510 'options' => array(
156 511 array(
157 - 'name' => __('Client ID', 'e2pdf'),
512 + 'name' => 'Redirect URI',
513 + 'value' =>
514 + get_option('e2pdf_adobe_api_version') == '1' ? site_url('/e2pdf-rpc/v1/adobe/auth?api_key=' . get_option('e2pdf_adobe_api_key')) : $helper->get_url(
515 + array(
516 + 'page' => 'e2pdf-settings',
517 + 'action' => 'adobesign',
518 + )
519 + ),
520 + 'default_value' => '',
521 + 'type' => 'text',
522 + 'readonly' => 'readonly',
523 + 'class' => 'e2pdf-copy-field',
524 + ),
525 + array(
526 + 'name' => 'API Version',
527 + 'value' => get_option('e2pdf_adobe_api_version'),
528 + 'default_value' => '',
529 + 'type' => 'hidden',
530 + ),
531 + array(
532 + 'name' => 'Status',
533 + 'key' => 'e2pdf_adobesign_status',
534 + 'value' => get_option('e2pdf_adobesign_refresh_token') ? __('Authorized', 'e2pdf') : __('Not Authorized', 'e2pdf'),
535 + 'default_value' => '',
536 + 'type' => 'text',
537 + 'readonly' => 'readonly',
538 + ),
539 + array(
540 + 'header' => 'Configuration',
541 + 'name' => 'Client ID',
158 542 'key' => 'e2pdf_adobesign_client_id',
159 543 'value' => get_option('e2pdf_adobesign_client_id') === false ? '' : get_option('e2pdf_adobesign_client_id'),
160 544 'default_value' => '',
161 545 'type' => 'text',
162 - 'placeholder' => ''
546 + 'placeholder' => '',
163 547 ),
164 548 array(
165 - 'name' => __('Client Secret', 'e2pdf'),
549 + 'name' => 'Client Secret',
166 550 'key' => 'e2pdf_adobesign_client_secret',
167 551 'value' => get_option('e2pdf_adobesign_client_secret') === false ? '' : get_option('e2pdf_adobesign_client_secret'),
168 552 'default_value' => '',
169 - 'type' => 'text',
170 - 'placeholder' => ''
553 + 'type' => 'password',
554 + 'placeholder' => '',
171 555 ),
172 556 array(
173 - 'name' => __('Region', 'e2pdf'),
557 + 'name' => 'Region',
174 558 'key' => 'e2pdf_adobesign_region',
175 559 'value' => get_option('e2pdf_adobesign_region') === false ? '' : get_option('e2pdf_adobesign_region'),
176 560 'default_value' => '',
177 561 'type' => 'text',
178 - 'placeholder' => __('na2', 'e2pdf')
562 + 'placeholder' => 'na2',
179 563 ),
180 564 array(
181 - 'name' => __('Code', 'e2pdf'),
565 + 'name' => 'Code',
182 566 'key' => 'e2pdf_adobesign_code',
183 567 'value' => get_option('e2pdf_adobesign_code') === false ? '' : get_option('e2pdf_adobesign_code'),
184 568 'default_value' => '',
185 - 'type' => get_option('e2pdf_debug') ? 'text' : 'hidden',
186 - 'placeholder' => ''
569 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
570 + 'placeholder' => '',
571 + 'readonly' => 'readonly',
187 572 ),
188 573 array(
189 - 'name' => __('Api Access Point', 'e2pdf'),
574 + 'name' => 'Web Access Point',
575 + 'key' => 'e2pdf_adobesign_web_access_point',
576 + 'value' => get_option('e2pdf_adobesign_web_access_point') === false ? '' : get_option('e2pdf_adobesign_web_access_point'),
577 + 'default_value' => '',
578 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
579 + 'placeholder' => '',
580 + 'readonly' => 'readonly',
581 + ),
582 + array(
583 + 'name' => 'Api Access Point',
190 584 'key' => 'e2pdf_adobesign_api_access_point',
191 585 'value' => get_option('e2pdf_adobesign_api_access_point') === false ? '' : get_option('e2pdf_adobesign_api_access_point'),
192 586 'default_value' => '',
193 - 'type' => get_option('e2pdf_debug') ? 'text' : 'hidden',
194 - 'placeholder' => ''
587 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
588 + 'placeholder' => '',
589 + 'readonly' => 'readonly',
195 590 ),
196 591 array(
197 - 'name' => __('Refresh Token', 'e2pdf'),
592 + 'name' => 'Refresh Token',
198 593 'key' => 'e2pdf_adobesign_refresh_token',
199 594 'value' => get_option('e2pdf_adobesign_refresh_token') === false ? '' : get_option('e2pdf_adobesign_refresh_token'),
200 595 'default_value' => '',
201 - 'type' => get_option('e2pdf_debug') ? 'text' : 'hidden',
202 - 'placeholder' => ''
596 + 'type' => 'text',
597 + 'placeholder' => '',
598 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
599 + 'readonly' => 'readonly',
203 600 ),
204 601 array(
205 - 'name' => __('Access Token', 'e2pdf'),
602 + 'name' => 'Access Token',
206 603 'key' => 'e2pdf_adobesign_access_token',
207 604 'value' => get_transient('e2pdf_adobesign_access_token') === false ? '' : get_transient('e2pdf_adobesign_access_token'),
208 605 'default_value' => '',
209 - 'type' => get_option('e2pdf_debug') ? 'text' : 'hidden',
210 - 'placeholder' => ''
606 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
607 + 'placeholder' => '',
608 + 'readonly' => 'readonly',
211 609 ),
212 610 array(
213 - 'header' => __('Scopes', 'e2pdf'),
214 - 'name' => __('user_read', 'e2pdf'),
611 + 'header' => 'Scopes',
612 + 'name' => 'user_read',
215 613 'key' => 'e2pdf_adobesign_scope_user_read',
216 - 'value' => get_option('e2pdf_adobesign_scope_user_read') === false ? '' : get_option('e2pdf_adobesign_scope_user_read'),
614 + 'value' => get_option('e2pdf_adobesign_scope_user_read', ''),
217 615 'default_value' => '',
218 616 'type' => 'select',
219 617 'options' => array(
220 - '' => __('disabled', 'e2pdf'),
618 + '' => 'disabled',
221 619 'self' => 'self',
222 620 'group' => 'group',
223 - 'account' => 'account'
224 - )
621 + 'account' => 'account',
622 + ),
225 623 ),
226 624 array(
227 - 'name' => __('user_write', 'e2pdf'),
625 + 'name' => 'user_write',
228 626 'key' => 'e2pdf_adobesign_scope_user_write',
229 - 'value' => get_option('e2pdf_adobesign_scope_user_write') === false ? '' : get_option('e2pdf_adobesign_scope_user_write'),
627 + 'value' => get_option('e2pdf_adobesign_scope_user_write', ''),
230 628 'default_value' => '',
231 629 'type' => 'select',
232 630 'options' => array(
233 - '' => __('disabled', 'e2pdf'),
631 + '' => 'disabled',
234 632 'self' => 'self',
235 633 'group' => 'group',
236 - 'account' => 'account'
237 - )
634 + 'account' => 'account',
635 + ),
238 636 ),
239 637 array(
240 - 'name' => __('user_login', 'e2pdf'),
638 + 'name' => 'user_login',
241 639 'key' => 'e2pdf_adobesign_scope_user_login',
242 - 'value' => get_option('e2pdf_adobesign_scope_user_login') === false ? '' : get_option('e2pdf_adobesign_scope_user_login'),
640 + 'value' => get_option('e2pdf_adobesign_scope_user_login', ''),
243 641 'default_value' => '',
244 642 'type' => 'select',
245 643 'options' => array(
246 - '' => __('disabled', 'e2pdf'),
644 + '' => 'disabled',
247 645 'self' => 'self',
248 646 'group' => 'group',
249 - 'account' => 'account'
250 - )
647 + 'account' => 'account',
648 + ),
251 649 ),
252 650 array(
253 - 'name' => __('agreement_read', 'e2pdf'),
651 + 'name' => 'agreement_read',
254 652 'key' => 'e2pdf_adobesign_scope_agreement_read',
255 - 'value' => get_option('e2pdf_adobesign_scope_agreement_read') === false ? '' : get_option('e2pdf_adobesign_scope_agreement_read'),
653 + 'value' => get_option('e2pdf_adobesign_scope_agreement_read', ''),
256 654 'default_value' => '',
257 655 'type' => 'select',
258 656 'options' => array(
259 - '' => __('disabled', 'e2pdf'),
657 + '' => 'disabled',
260 658 'self' => 'self',
261 659 'group' => 'group',
262 - 'account' => 'account'
263 - )
660 + 'account' => 'account',
661 + ),
264 662 ),
265 663 array(
266 - 'name' => __('agreement_write', 'e2pdf'),
664 + 'name' => 'agreement_write',
267 665 'key' => 'e2pdf_adobesign_scope_agreement_write',
268 - 'value' => get_option('e2pdf_adobesign_scope_agreement_write') === false ? '' : get_option('e2pdf_adobesign_scope_agreement_write'),
666 + 'value' => get_option('e2pdf_adobesign_scope_agreement_write', ''),
269 667 'default_value' => '',
270 668 'type' => 'select',
271 669 'options' => array(
272 - '' => __('disabled', 'e2pdf'),
670 + '' => 'disabled',
273 671 'self' => 'self',
274 672 'group' => 'group',
275 - 'account' => 'account'
276 - )
673 + 'account' => 'account',
674 + ),
277 675 ),
278 676 array(
279 - 'name' => __('agreement_send', 'e2pdf'),
677 + 'name' => 'agreement_send',
280 678 'key' => 'e2pdf_adobesign_scope_agreement_send',
281 - 'value' => get_option('e2pdf_adobesign_scope_agreement_send') === false ? '' : get_option('e2pdf_adobesign_scope_agreement_send'),
679 + 'value' => get_option('e2pdf_adobesign_scope_agreement_send', ''),
282 680 'default_value' => '',
283 681 'type' => 'select',
284 682 'options' => array(
285 - '' => __('disabled', 'e2pdf'),
683 + '' => 'disabled',
286 684 'self' => 'self',
287 685 'group' => 'group',
288 - 'account' => 'account'
289 - )
686 + 'account' => 'account',
687 + ),
290 688 ),
291 689 array(
292 - 'name' => __('widget_read', 'e2pdf'),
690 + 'name' => 'widget_read',
293 691 'key' => 'e2pdf_adobesign_scope_widget_read',
294 - 'value' => get_option('e2pdf_adobesign_scope_widget_read') === false ? '' : get_option('e2pdf_adobesign_scope_widget_read'),
692 + 'value' => get_option('e2pdf_adobesign_scope_widget_read', ''),
295 693 'default_value' => '',
296 694 'type' => 'select',
297 695 'options' => array(
298 - '' => __('disabled', 'e2pdf'),
696 + '' => 'disabled',
299 697 'self' => 'self',
300 698 'group' => 'group',
301 - 'account' => 'account'
302 - )
699 + 'account' => 'account',
700 + ),
303 701 ),
304 702 array(
305 - 'name' => __('widget_write', 'e2pdf'),
703 + 'name' => 'widget_write',
306 704 'key' => 'e2pdf_adobesign_scope_widget_write',
307 - 'value' => get_option('e2pdf_adobesign_scope_widget_write') === false ? '' : get_option('e2pdf_adobesign_scope_widget_write'),
705 + 'value' => get_option('e2pdf_adobesign_scope_widget_write', ''),
308 706 'default_value' => '',
309 707 'type' => 'select',
310 708 'options' => array(
311 - '' => __('disabled', 'e2pdf'),
709 + '' => 'disabled',
312 710 'self' => 'self',
313 711 'group' => 'group',
314 - 'account' => 'account'
315 - )
712 + 'account' => 'account',
713 + ),
316 714 ),
317 715 array(
318 - 'name' => __('library_read', 'e2pdf'),
716 + 'name' => 'library_read',
319 717 'key' => 'e2pdf_adobesign_scope_library_read',
320 - 'value' => get_option('e2pdf_adobesign_scope_library_read') === false ? '' : get_option('e2pdf_adobesign_scope_library_read'),
718 + 'value' => get_option('e2pdf_adobesign_scope_library_read', ''),
321 719 'default_value' => '',
322 720 'type' => 'select',
323 721 'options' => array(
324 - '' => __('disabled', 'e2pdf'),
722 + '' => 'disabled',
325 723 'self' => 'self',
326 724 'group' => 'group',
327 - 'account' => 'account'
328 - )
725 + 'account' => 'account',
726 + ),
329 727 ),
330 728 array(
331 - 'name' => __('library_write', 'e2pdf'),
729 + 'name' => 'library_write',
332 730 'key' => 'e2pdf_adobesign_scope_library_write',
333 - 'value' => get_option('e2pdf_adobesign_scope_library_write') === false ? '' : get_option('e2pdf_adobesign_scope_library_write'),
731 + 'value' => get_option('e2pdf_adobesign_scope_library_write', ''),
334 732 'default_value' => '',
335 733 'type' => 'select',
336 734 'options' => array(
337 - '' => __('disabled', 'e2pdf'),
735 + '' => 'disabled',
338 736 'self' => 'self',
339 737 'group' => 'group',
340 - 'account' => 'account'
341 - )
738 + 'account' => 'account',
739 + ),
342 740 ),
343 741 array(
344 - 'name' => __('workflow_read', 'e2pdf'),
742 + 'name' => 'workflow_read',
345 743 'key' => 'e2pdf_adobesign_scope_workflow_read',
346 - 'value' => get_option('e2pdf_adobesign_scope_workflow_read') === false ? '' : get_option('e2pdf_adobesign_scope_workflow_read'),
744 + 'value' => get_option('e2pdf_adobesign_scope_workflow_read', ''),
347 745 'default_value' => '',
348 746 'type' => 'select',
349 747 'options' => array(
350 - '' => __('disabled', 'e2pdf'),
748 + '' => 'disabled',
351 749 'self' => 'self',
352 750 'group' => 'group',
353 - 'account' => 'account'
354 - )
751 + 'account' => 'account',
752 + ),
355 753 ),
356 754 array(
357 - 'name' => __('workflow_write', 'e2pdf'),
755 + 'name' => 'workflow_write',
358 756 'key' => 'e2pdf_adobesign_scope_workflow_write',
359 - 'value' => get_option('e2pdf_adobesign_scope_workflow_write') === false ? '' : get_option('e2pdf_adobesign_scope_workflow_write'),
757 + 'value' => get_option('e2pdf_adobesign_scope_workflow_write', ''),
360 758 'default_value' => '',
361 759 'type' => 'select',
362 760 'options' => array(
363 - '' => __('disabled', 'e2pdf'),
761 + '' => 'disabled',
364 762 'self' => 'self',
365 763 'group' => 'group',
366 - 'account' => 'account'
367 - )
764 + 'account' => 'account',
765 + ),
368 766 ),
369 767 array(
370 - 'name' => __('webhook_read', 'e2pdf'),
768 + 'name' => 'webhook_read',
371 769 'key' => 'e2pdf_adobesign_scope_webhook_read',
372 - 'value' => get_option('e2pdf_adobesign_scope_webhook_read') === false ? '' : get_option('e2pdf_adobesign_scope_webhook_read'),
770 + 'value' => get_option('e2pdf_adobesign_scope_webhook_read', ''),
373 771 'default_value' => '',
374 772 'type' => 'select',
375 773 'options' => array(
376 - '' => __('disabled', 'e2pdf'),
774 + '' => 'disabled',
377 775 'self' => 'self',
378 776 'group' => 'group',
379 - 'account' => 'account'
380 - )
777 + 'account' => 'account',
778 + ),
381 779 ),
382 780 array(
383 - 'name' => __('webhook_write', 'e2pdf'),
781 + 'name' => 'webhook_write',
384 782 'key' => 'e2pdf_adobesign_scope_webhook_write',
385 - 'value' => get_option('e2pdf_adobesign_scope_webhook_write') === false ? '' : get_option('e2pdf_adobesign_scope_webhook_write'),
783 + 'value' => get_option('e2pdf_adobesign_scope_webhook_write', ''),
386 784 'default_value' => '',
387 785 'type' => 'select',
388 786 'options' => array(
389 - '' => __('disabled', 'e2pdf'),
787 + '' => 'disabled',
390 788 'self' => 'self',
391 789 'group' => 'group',
392 - 'account' => 'account'
393 - )
790 + 'account' => 'account',
791 + ),
394 792 ),
395 793 array(
396 - 'name' => __('webhook_retention', 'e2pdf'),
794 + 'name' => 'webhook_retention',
397 795 'key' => 'e2pdf_adobesign_scope_webhook_retention',
398 - 'value' => get_option('e2pdf_adobesign_scope_webhook_retention') === false ? '' : get_option('e2pdf_adobesign_scope_webhook_retention'),
796 + 'value' => get_option('e2pdf_adobesign_scope_webhook_retention', ''),
399 797 'default_value' => '',
400 798 'type' => 'select',
401 799 'options' => array(
402 - '' => __('disabled', 'e2pdf'),
800 + '' => 'disabled',
403 801 'self' => 'self',
404 802 'group' => 'group',
405 - 'account' => 'account'
406 - )
803 + 'account' => 'account',
804 + ),
407 805 ),
408 - )
806 + ),
409 807 ),
410 808 'extensions_group' => array(
411 809 'name' => __('Extensions', 'e2pdf'),
412 810 'action' => 'extensions',
413 - 'options' => $extensions_options
811 + 'options' => $extensions_options,
414 812 ),
415 813 );
416 814
815 + if (
816 + class_exists('TRP_Translate_Press') ||
817 + class_exists('WeglotWP\Services\Translate_Service_Weglot') ||
818 + (function_exists('icl_register_string') && !defined('POLYLANG_VERSION')) ||
819 + defined('POLYLANG_VERSION') ||
820 + $all
821 + ) {
822 + $options['translation_group'] = array(
823 + 'name' => __('Translation', 'e2pdf'),
824 + 'action' => 'translation',
825 + 'options' => array(
826 + array(
827 + 'name' => __('PDF Translation', 'e2pdf'),
828 + 'key' => 'e2pdf_pdf_translation',
829 + 'value' => get_option('e2pdf_pdf_translation', '2'),
830 + 'default_value' => '2',
831 + 'type' => 'select',
832 + 'options' => array(
833 + '0' => __('No Translation', 'e2pdf'),
834 + '1' => __('Partial Translation', 'e2pdf'),
835 + '2' => __('Full Translation', 'e2pdf'),
836 + ),
837 + ),
838 + ),
839 + );
840 + }
841 +
417 842 $options = apply_filters('e2pdf_model_options_get_options_options', $options);
418 843
419 844 if ($all) {
420 845 $opt = array();
@@ -419,9 +844,11 @@
419 844 if ($all) {
420 845 $opt = array();
421 846 foreach ($options as $group_key => $group) {
422 847 foreach ($group['options'] as $option_key => $option) {
423 - $opt[$option['key']] = $option['value'];
848 + if (isset($option['key'])) {
849 + $opt[$option['key']] = isset($option['value']) ? $option['value'] : '';
850 + }
424 851 }
425 852 }
426 853 return $opt;
427 854 } else {
@@ -426,13 +853,13 @@
426 853 return $opt;
427 854 } else {
428 855 foreach ($options as $group_key => $group) {
429 856 if ($exclude) {
430 - if (in_array($group_key, $only_group)) {
857 + if (in_array($group_key, $only_group, true)) {
431 858 unset($options[$group_key]);
432 859 }
433 860 } else {
434 - if (!in_array($group_key, $only_group)) {
861 + if (!in_array($group_key, $only_group, true)) {
435 862 unset($options[$group_key]);
436 863 }
437 864 }
438 865 }
@@ -440,25 +867,29 @@
440 867 return $options;
441 868 }
442 869 }
443 870
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;
871 + // update options
872 + public static function update_options($group = '', $data = array()) {
873 + $options = self::get_options(false, array($group));
874 + foreach ($options as $group_key => $group) {
875 + foreach ($group['options'] as $option_key => $option_value) {
876 + if (isset($option_value['key']) && array_key_exists($option_value['key'], $data)) {
877 + if (isset($option_value['readonly']) && $option_value['readonly'] == 'readonly') { // phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedIf
878 + } else {
879 + if ($option_value['key'] == 'e2pdf_mod_rewrite_url') {
880 + if (false === strpos($data[$option_value['key']], '%uid%')) {
881 + $data[$option_value['key']] = rtrim($data[$option_value['key']], '/') . '/%uid%/';
882 + }
883 + if (!trim(str_replace(array('/', '%uid%'), array('', ''), $data[$option_value['key']]))) {
884 + $data[$option_value['key']] = 'e2pdf/%uid%/';
885 + }
886 + $data[$option_value['key']] = ltrim($data[$option_value['key']], '/');
887 + }
888 + update_option($option_value['key'], $data[$option_value['key']]);
889 + }
890 + }
457 891 }
458 - return array();
459 - } else {
460 - return get_option($key);
461 892 }
893 + return true;
462 894 }
463 -
464 895 }