PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.53
E2Pdf – Export Pdf Tool for WordPress v1.32.53
1.32.53 1.32.51 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 All 74 releases
← All changes | classes/model/e2pdf-options.php +809 -82 1.01.01 → 1.32.53 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,111 +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();
19 + $extensions_options = array();
20 + if ($all) {
21 + $extensions_options[] = array(
22 + 'key' => 'e2pdf_disabled_extensions',
23 + 'value' => get_option('e2pdf_disabled_extensions', array()),
24 + );
25 + } else {
26 + $model_e2pdf_extension = new Model_E2pdf_Extension();
27 + $extensions = $model_e2pdf_extension->extensions(false);
28 + $disabled_extensions = get_option('e2pdf_disabled_extensions', array());
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 + }
78 + $extensions_options[] = array(
79 + 'name' => $extension_title,
80 + 'key' => 'e2pdf_disabled_extensions[]',
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 + ),
94 + );
95 + }
96 + if (isset($extensions_options['0'])) {
97 + $extensions_options['0']['header'] = __('Extensions', 'e2pdf');
98 + }
99 + }
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 +
32 112 $options = array(
33 113 'static_group' => array(
34 - 'name' => __('Static', 'e2pdf'),
114 + 'name' => '',
35 115 'options' => array(
36 116 array(
37 117 'key' => 'e2pdf_version',
38 - 'value' => $helper->get('version')
118 + 'value' => $helper->get('version'),
39 119 ),
40 120 array(
41 121 'key' => 'e2pdf_license',
42 - 'value' => get_option('e2pdf_license') === false ? false : get_option('e2pdf_license'),
122 + 'value' => get_option('e2pdf_license', false),
43 123 ),
44 124 array(
45 125 'key' => 'e2pdf_email',
46 - 'value' => get_option('e2pdf_email') === false ? false : get_option('e2pdf_email'),
47 - )
48 - )
126 + 'value' => get_option('e2pdf_email', ''),
127 + ),
128 + array(
129 + 'key' => 'e2pdf_templates_screen_per_page',
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 + ),
49 141 ),
50 142 'common_group' => array(
51 143 'name' => __('Common', 'e2pdf'),
52 144 'options' => array(
53 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(
54 195 'name' => __('PDF Processor', 'e2pdf'),
55 196 'key' => 'e2pdf_processor',
56 - 'value' => get_option('e2pdf_processor') === false ? 0 : get_option('e2pdf_processor'),
57 - 'default_value' => 0,
197 + 'value' => get_option('e2pdf_processor', '0'),
198 + 'default_value' => '0',
58 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',
59 208 'options' => array(
60 - 'Latest', 'Dev'
61 - )
209 + 'Plain Fonts',
210 + 'Complex Fonts',
211 + ),
62 212 ),
63 213 array(
64 - 'name' => __('Debug', 'e2pdf'),
65 - 'key' => 'e2pdf_debug',
66 - 'value' => get_option('e2pdf_debug') === false ? 0 : get_option('e2pdf_debug'),
67 - 'default_value' => 0,
214 + 'name' => __('Release Candidate Builds', 'e2pdf'),
215 + 'key' => 'e2pdf_dev_update',
216 + 'value' => get_option('e2pdf_dev_update', '0'),
217 + 'default_value' => '0',
68 218 'type' => 'checkbox',
69 - 'placeholder' => __('Turn on Debug mode', 'e2pdf'),
219 + 'checkbox_value' => '1',
220 + 'placeholder' => __('Update from E2Pdf.com', 'e2pdf'),
70 221 ),
71 222 array(
72 - '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'),
73 331 'key' => 'e2pdf_hide_warnings',
74 - 'value' => get_option('e2pdf_hide_warnings') === false ? 0 : get_option('e2pdf_hide_warnings'),
75 - 'default_value' => 0,
332 + 'value' => get_option('e2pdf_hide_warnings', '0'),
333 + 'default_value' => '0',
76 334 'type' => 'checkbox',
77 - 'placeholder' => __('Hide warnings', 'e2pdf'),
335 + 'checkbox_value' => '1',
336 + 'placeholder' => __('Hide Warnings', 'e2pdf'),
78 337 ),
79 338 array(
80 - 'name' => __('Connection Timout', 'e2pdf'),
81 - 'key' => 'e2pdf_connection_timeout',
82 - 'value' => get_option('e2pdf_connection_timeout') === false ? 300 : get_option('e2pdf_connection_timeout'),
83 - 'default_value' => 30,
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'),
351 + 'default_value' => '30',
84 352 'type' => 'text',
85 353 'class' => 'e2pdf-numbers',
86 - 'placeholder' => 0
354 + 'placeholder' => '0',
87 355 ),
88 356 array(
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'),
387 + 'default_value' => '0',
388 + 'type' => 'checkbox',
389 + 'checkbox_value' => '1',
390 + 'placeholder' => __('Enable Debug Mode', 'e2pdf'),
391 + ),
392 + array(
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(
89 401 'name' => __('Memory/Time Usage', 'e2pdf'),
90 402 'key' => 'e2pdf_memory_time',
91 - 'value' => get_option('e2pdf_memory_time') === false ? 0 : get_option('e2pdf_memory_time'),
92 - 'default_value' => 0,
93 - 'type' => 'checkbox',
403 + 'value' => get_option('e2pdf_memory_time', '0'),
404 + 'default_value' => '0',
405 + 'type' => get_option('e2pdf_debug', '0') ? 'checkbox' : 'hidden',
406 + 'checkbox_value' => '1',
94 407 'placeholder' => __('Show Memory/Time Usage', 'e2pdf'),
95 408 ),
409 + ),
410 + ),
411 + 'maintenance_group' => array(
412 + 'name' => __('Maintenance', 'e2pdf'),
413 + 'action' => 'maintenance',
414 + 'options' => array(),
415 + ),
416 + 'fonts_group' => array(
417 + 'name' => __('Fonts', 'e2pdf'),
418 + 'action' => 'fonts',
419 + 'options' => array(),
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(
96 429 array(
97 - 'name' => __('Developer Mode', 'e2pdf'),
98 - 'key' => 'e2pdf_developer',
99 - 'value' => get_option('e2pdf_developer') === false ? 0 : get_option('e2pdf_developer'),
100 - 'default_value' => 0,
101 - 'type' => 'checkbox',
102 - 'placeholder' => __('Turn on Developer mode', 'e2pdf'),
430 + 'name' => 'Site URL',
431 + 'value' => $helper->get_site_url(),
432 + 'default_value' => '',
433 + 'type' => 'text',
434 + 'readonly' => 'readonly',
435 + 'class' => 'e2pdf-copy-field',
103 436 ),
104 437 array(
105 - 'name' => __('Developer IPs', 'e2pdf'),
106 - 'key' => 'e2pdf_developer_ips',
107 - 'value' => get_option('e2pdf_developer_ips') === false ? '' : get_option('e2pdf_developer_ips'),
438 + 'name' => 'API Key',
439 + 'key' => 'e2pdf_zapier_api_key',
440 + 'value' => get_option('e2pdf_zapier_api_key'),
108 441 'default_value' => '',
109 - 'type' => 'textarea',
110 - 'placeholder' => __('Developer IPs', 'e2pdf'),
111 - )
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 + ),
112 505 )
113 506 ),
114 - 'fonts_group' => array(
115 - 'name' => __('Fonts', 'e2pdf'),
116 - 'action' => 'fonts',
117 - 'options' => array()
507 + 'adobesign_group' => array(
508 + 'name' => 'Adobe Sign',
509 + 'action' => 'adobesign',
510 + 'options' => array(
511 + array(
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',
542 + 'key' => 'e2pdf_adobesign_client_id',
543 + 'value' => get_option('e2pdf_adobesign_client_id') === false ? '' : get_option('e2pdf_adobesign_client_id'),
544 + 'default_value' => '',
545 + 'type' => 'text',
546 + 'placeholder' => '',
547 + ),
548 + array(
549 + 'name' => 'Client Secret',
550 + 'key' => 'e2pdf_adobesign_client_secret',
551 + 'value' => get_option('e2pdf_adobesign_client_secret') === false ? '' : get_option('e2pdf_adobesign_client_secret'),
552 + 'default_value' => '',
553 + 'type' => 'password',
554 + 'placeholder' => '',
555 + ),
556 + array(
557 + 'name' => 'Region',
558 + 'key' => 'e2pdf_adobesign_region',
559 + 'value' => get_option('e2pdf_adobesign_region') === false ? '' : get_option('e2pdf_adobesign_region'),
560 + 'default_value' => '',
561 + 'type' => 'text',
562 + 'placeholder' => 'na2',
563 + ),
564 + array(
565 + 'name' => 'Code',
566 + 'key' => 'e2pdf_adobesign_code',
567 + 'value' => get_option('e2pdf_adobesign_code') === false ? '' : get_option('e2pdf_adobesign_code'),
568 + 'default_value' => '',
569 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
570 + 'placeholder' => '',
571 + 'readonly' => 'readonly',
572 + ),
573 + array(
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',
584 + 'key' => 'e2pdf_adobesign_api_access_point',
585 + 'value' => get_option('e2pdf_adobesign_api_access_point') === false ? '' : get_option('e2pdf_adobesign_api_access_point'),
586 + 'default_value' => '',
587 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
588 + 'placeholder' => '',
589 + 'readonly' => 'readonly',
590 + ),
591 + array(
592 + 'name' => 'Refresh Token',
593 + 'key' => 'e2pdf_adobesign_refresh_token',
594 + 'value' => get_option('e2pdf_adobesign_refresh_token') === false ? '' : get_option('e2pdf_adobesign_refresh_token'),
595 + 'default_value' => '',
596 + 'type' => 'text',
597 + 'placeholder' => '',
598 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
599 + 'readonly' => 'readonly',
600 + ),
601 + array(
602 + 'name' => 'Access Token',
603 + 'key' => 'e2pdf_adobesign_access_token',
604 + 'value' => get_transient('e2pdf_adobesign_access_token') === false ? '' : get_transient('e2pdf_adobesign_access_token'),
605 + 'default_value' => '',
606 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
607 + 'placeholder' => '',
608 + 'readonly' => 'readonly',
609 + ),
610 + array(
611 + 'header' => 'Scopes',
612 + 'name' => 'user_read',
613 + 'key' => 'e2pdf_adobesign_scope_user_read',
614 + 'value' => get_option('e2pdf_adobesign_scope_user_read', ''),
615 + 'default_value' => '',
616 + 'type' => 'select',
617 + 'options' => array(
618 + '' => 'disabled',
619 + 'self' => 'self',
620 + 'group' => 'group',
621 + 'account' => 'account',
622 + ),
623 + ),
624 + array(
625 + 'name' => 'user_write',
626 + 'key' => 'e2pdf_adobesign_scope_user_write',
627 + 'value' => get_option('e2pdf_adobesign_scope_user_write', ''),
628 + 'default_value' => '',
629 + 'type' => 'select',
630 + 'options' => array(
631 + '' => 'disabled',
632 + 'self' => 'self',
633 + 'group' => 'group',
634 + 'account' => 'account',
635 + ),
636 + ),
637 + array(
638 + 'name' => 'user_login',
639 + 'key' => 'e2pdf_adobesign_scope_user_login',
640 + 'value' => get_option('e2pdf_adobesign_scope_user_login', ''),
641 + 'default_value' => '',
642 + 'type' => 'select',
643 + 'options' => array(
644 + '' => 'disabled',
645 + 'self' => 'self',
646 + 'group' => 'group',
647 + 'account' => 'account',
648 + ),
649 + ),
650 + array(
651 + 'name' => 'agreement_read',
652 + 'key' => 'e2pdf_adobesign_scope_agreement_read',
653 + 'value' => get_option('e2pdf_adobesign_scope_agreement_read', ''),
654 + 'default_value' => '',
655 + 'type' => 'select',
656 + 'options' => array(
657 + '' => 'disabled',
658 + 'self' => 'self',
659 + 'group' => 'group',
660 + 'account' => 'account',
661 + ),
662 + ),
663 + array(
664 + 'name' => 'agreement_write',
665 + 'key' => 'e2pdf_adobesign_scope_agreement_write',
666 + 'value' => get_option('e2pdf_adobesign_scope_agreement_write', ''),
667 + 'default_value' => '',
668 + 'type' => 'select',
669 + 'options' => array(
670 + '' => 'disabled',
671 + 'self' => 'self',
672 + 'group' => 'group',
673 + 'account' => 'account',
674 + ),
675 + ),
676 + array(
677 + 'name' => 'agreement_send',
678 + 'key' => 'e2pdf_adobesign_scope_agreement_send',
679 + 'value' => get_option('e2pdf_adobesign_scope_agreement_send', ''),
680 + 'default_value' => '',
681 + 'type' => 'select',
682 + 'options' => array(
683 + '' => 'disabled',
684 + 'self' => 'self',
685 + 'group' => 'group',
686 + 'account' => 'account',
687 + ),
688 + ),
689 + array(
690 + 'name' => 'widget_read',
691 + 'key' => 'e2pdf_adobesign_scope_widget_read',
692 + 'value' => get_option('e2pdf_adobesign_scope_widget_read', ''),
693 + 'default_value' => '',
694 + 'type' => 'select',
695 + 'options' => array(
696 + '' => 'disabled',
697 + 'self' => 'self',
698 + 'group' => 'group',
699 + 'account' => 'account',
700 + ),
701 + ),
702 + array(
703 + 'name' => 'widget_write',
704 + 'key' => 'e2pdf_adobesign_scope_widget_write',
705 + 'value' => get_option('e2pdf_adobesign_scope_widget_write', ''),
706 + 'default_value' => '',
707 + 'type' => 'select',
708 + 'options' => array(
709 + '' => 'disabled',
710 + 'self' => 'self',
711 + 'group' => 'group',
712 + 'account' => 'account',
713 + ),
714 + ),
715 + array(
716 + 'name' => 'library_read',
717 + 'key' => 'e2pdf_adobesign_scope_library_read',
718 + 'value' => get_option('e2pdf_adobesign_scope_library_read', ''),
719 + 'default_value' => '',
720 + 'type' => 'select',
721 + 'options' => array(
722 + '' => 'disabled',
723 + 'self' => 'self',
724 + 'group' => 'group',
725 + 'account' => 'account',
726 + ),
727 + ),
728 + array(
729 + 'name' => 'library_write',
730 + 'key' => 'e2pdf_adobesign_scope_library_write',
731 + 'value' => get_option('e2pdf_adobesign_scope_library_write', ''),
732 + 'default_value' => '',
733 + 'type' => 'select',
734 + 'options' => array(
735 + '' => 'disabled',
736 + 'self' => 'self',
737 + 'group' => 'group',
738 + 'account' => 'account',
739 + ),
740 + ),
741 + array(
742 + 'name' => 'workflow_read',
743 + 'key' => 'e2pdf_adobesign_scope_workflow_read',
744 + 'value' => get_option('e2pdf_adobesign_scope_workflow_read', ''),
745 + 'default_value' => '',
746 + 'type' => 'select',
747 + 'options' => array(
748 + '' => 'disabled',
749 + 'self' => 'self',
750 + 'group' => 'group',
751 + 'account' => 'account',
752 + ),
753 + ),
754 + array(
755 + 'name' => 'workflow_write',
756 + 'key' => 'e2pdf_adobesign_scope_workflow_write',
757 + 'value' => get_option('e2pdf_adobesign_scope_workflow_write', ''),
758 + 'default_value' => '',
759 + 'type' => 'select',
760 + 'options' => array(
761 + '' => 'disabled',
762 + 'self' => 'self',
763 + 'group' => 'group',
764 + 'account' => 'account',
765 + ),
766 + ),
767 + array(
768 + 'name' => 'webhook_read',
769 + 'key' => 'e2pdf_adobesign_scope_webhook_read',
770 + 'value' => get_option('e2pdf_adobesign_scope_webhook_read', ''),
771 + 'default_value' => '',
772 + 'type' => 'select',
773 + 'options' => array(
774 + '' => 'disabled',
775 + 'self' => 'self',
776 + 'group' => 'group',
777 + 'account' => 'account',
778 + ),
779 + ),
780 + array(
781 + 'name' => 'webhook_write',
782 + 'key' => 'e2pdf_adobesign_scope_webhook_write',
783 + 'value' => get_option('e2pdf_adobesign_scope_webhook_write', ''),
784 + 'default_value' => '',
785 + 'type' => 'select',
786 + 'options' => array(
787 + '' => 'disabled',
788 + 'self' => 'self',
789 + 'group' => 'group',
790 + 'account' => 'account',
791 + ),
792 + ),
793 + array(
794 + 'name' => 'webhook_retention',
795 + 'key' => 'e2pdf_adobesign_scope_webhook_retention',
796 + 'value' => get_option('e2pdf_adobesign_scope_webhook_retention', ''),
797 + 'default_value' => '',
798 + 'type' => 'select',
799 + 'options' => array(
800 + '' => 'disabled',
801 + 'self' => 'self',
802 + 'group' => 'group',
803 + 'account' => 'account',
804 + ),
805 + ),
806 + ),
118 807 ),
808 + 'extensions_group' => array(
809 + 'name' => __('Extensions', 'e2pdf'),
810 + 'action' => 'extensions',
811 + 'options' => $extensions_options,
812 + ),
119 813 );
120 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 +
121 842 $options = apply_filters('e2pdf_model_options_get_options_options', $options);
122 843
123 844 if ($all) {
124 845 $opt = array();
@@ -123,9 +844,11 @@
123 844 if ($all) {
124 845 $opt = array();
125 846 foreach ($options as $group_key => $group) {
126 847 foreach ($group['options'] as $option_key => $option) {
127 - $opt[$option['key']] = $option['value'];
848 + if (isset($option['key'])) {
849 + $opt[$option['key']] = isset($option['value']) ? $option['value'] : '';
850 + }
128 851 }
129 852 }
130 853 return $opt;
131 854 } else {
@@ -130,13 +853,13 @@
130 853 return $opt;
131 854 } else {
132 855 foreach ($options as $group_key => $group) {
133 856 if ($exclude) {
134 - if (in_array($group_key, $only_group)) {
857 + if (in_array($group_key, $only_group, true)) {
135 858 unset($options[$group_key]);
136 859 }
137 860 } else {
138 - if (!in_array($group_key, $only_group)) {
861 + if (!in_array($group_key, $only_group, true)) {
139 862 unset($options[$group_key]);
140 863 }
141 864 }
142 865 }
@@ -144,25 +867,29 @@
144 867 return $options;
145 868 }
146 869 }
147 870
148 - /**
149 - * Get Option value
150 - *
151 - * @param string $key - Option key
152 - *
153 - * @return mixed - Option value
154 - */
155 - function get_option($key) {
156 - if ($key === 'e2pdf_developer_ips') {
157 - $option = get_option($key);
158 - $developers = explode("\r\n", $option);
159 - if (!empty($developers)) {
160 - 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 + }
161 891 }
162 - return array();
163 - } else {
164 - return get_option($key);
165 892 }
893 + return true;
166 894 }
167 -
168 895 }