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 +620 -185 1.04.071.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,403 +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'),
72 - )
73 - )
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 + ),
74 141 ),
75 142 'common_group' => array(
76 143 'name' => __('Common', 'e2pdf'),
77 144 'options' => array(
78 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(
79 195 'name' => __('PDF Processor', 'e2pdf'),
80 196 'key' => 'e2pdf_processor',
81 - 'value' => get_option('e2pdf_processor') === false ? '0' : get_option('e2pdf_processor'),
82 - 'default_value' => 0,
197 + 'value' => get_option('e2pdf_processor', '0'),
198 + 'default_value' => '0',
83 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',
84 208 'options' => array(
85 - 'Latest', 'Dev'
86 - )
209 + 'Plain Fonts',
210 + 'Complex Fonts',
211 + ),
87 212 ),
88 213 array(
89 - 'name' => __('Debug', 'e2pdf'),
90 - 'key' => 'e2pdf_debug',
91 - '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'),
92 217 'default_value' => '0',
93 218 'type' => 'checkbox',
94 219 'checkbox_value' => '1',
95 - 'placeholder' => __('Turn on Debug mode', 'e2pdf'),
220 + 'placeholder' => __('Update from E2Pdf.com', 'e2pdf'),
96 221 ),
97 222 array(
98 - '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'),
99 331 'key' => 'e2pdf_hide_warnings',
100 - 'value' => get_option('e2pdf_hide_warnings') === false ? '0' : get_option('e2pdf_hide_warnings'),
332 + 'value' => get_option('e2pdf_hide_warnings', '0'),
101 333 'default_value' => '0',
102 334 'type' => 'checkbox',
103 335 'checkbox_value' => '1',
104 - 'placeholder' => __('Hide warnings', 'e2pdf'),
336 + 'placeholder' => __('Hide Warnings', 'e2pdf'),
105 337 ),
106 338 array(
107 - 'name' => __('Connection Timout', 'e2pdf'),
108 - 'key' => 'e2pdf_connection_timeout',
109 - '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'),
110 351 'default_value' => '30',
111 352 'type' => 'text',
112 353 'class' => 'e2pdf-numbers',
113 - 'placeholder' => '0'
354 + 'placeholder' => '0',
114 355 ),
115 356 array(
116 - 'name' => __('Memory/Time Usage', 'e2pdf'),
117 - 'key' => 'e2pdf_memory_time',
118 - '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'),
119 387 'default_value' => '0',
120 388 'type' => 'checkbox',
121 389 'checkbox_value' => '1',
122 - 'placeholder' => __('Show Memory/Time Usage', 'e2pdf'),
390 + 'placeholder' => __('Enable Debug Mode', 'e2pdf'),
123 391 ),
124 392 array(
125 - 'name' => __('Developer Mode', 'e2pdf'),
126 - 'key' => 'e2pdf_developer',
127 - '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'),
128 404 'default_value' => '0',
129 - 'type' => 'checkbox',
405 + 'type' => get_option('e2pdf_debug', '0') ? 'checkbox' : 'hidden',
130 406 'checkbox_value' => '1',
131 - 'placeholder' => __('Turn on Developer mode', 'e2pdf'),
407 + 'placeholder' => __('Show Memory/Time Usage', 'e2pdf'),
132 408 ),
133 - array(
134 - 'name' => __('Developer IPs', 'e2pdf'),
135 - 'key' => 'e2pdf_developer_ips',
136 - 'value' => get_option('e2pdf_developer_ips') === false ? '' : get_option('e2pdf_developer_ips'),
137 - 'default_value' => '',
138 - 'type' => 'textarea',
139 - 'placeholder' => __('Developer IPs', 'e2pdf'),
140 - )
141 - )
409 + ),
142 410 ),
411 + 'maintenance_group' => array(
412 + 'name' => __('Maintenance', 'e2pdf'),
413 + 'action' => 'maintenance',
414 + 'options' => array(),
415 + ),
143 416 'fonts_group' => array(
144 417 'name' => __('Fonts', 'e2pdf'),
145 418 'action' => 'fonts',
146 - 'options' => array()
419 + 'options' => array(),
147 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 + ),
148 507 'adobesign_group' => array(
149 - 'name' => __('Adobe Sign', 'e2pdf'),
508 + 'name' => 'Adobe Sign',
150 509 'action' => 'adobesign',
151 510 'options' => array(
152 511 array(
153 - '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',
154 542 'key' => 'e2pdf_adobesign_client_id',
155 543 'value' => get_option('e2pdf_adobesign_client_id') === false ? '' : get_option('e2pdf_adobesign_client_id'),
156 544 'default_value' => '',
157 545 'type' => 'text',
158 - 'placeholder' => ''
546 + 'placeholder' => '',
159 547 ),
160 548 array(
161 - 'name' => __('Client Secret', 'e2pdf'),
549 + 'name' => 'Client Secret',
162 550 'key' => 'e2pdf_adobesign_client_secret',
163 551 'value' => get_option('e2pdf_adobesign_client_secret') === false ? '' : get_option('e2pdf_adobesign_client_secret'),
164 552 'default_value' => '',
165 - 'type' => 'text',
166 - 'placeholder' => ''
553 + 'type' => 'password',
554 + 'placeholder' => '',
167 555 ),
168 556 array(
169 - 'name' => __('Region', 'e2pdf'),
557 + 'name' => 'Region',
170 558 'key' => 'e2pdf_adobesign_region',
171 559 'value' => get_option('e2pdf_adobesign_region') === false ? '' : get_option('e2pdf_adobesign_region'),
172 560 'default_value' => '',
173 561 'type' => 'text',
174 - 'placeholder' => __('na2', 'e2pdf')
562 + 'placeholder' => 'na2',
175 563 ),
176 564 array(
177 - 'name' => __('Code', 'e2pdf'),
565 + 'name' => 'Code',
178 566 'key' => 'e2pdf_adobesign_code',
179 567 'value' => get_option('e2pdf_adobesign_code') === false ? '' : get_option('e2pdf_adobesign_code'),
180 568 'default_value' => '',
181 - 'type' => get_option('e2pdf_debug') ? 'text' : 'hidden',
182 - 'placeholder' => ''
569 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
570 + 'placeholder' => '',
571 + 'readonly' => 'readonly',
183 572 ),
184 573 array(
185 - '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',
186 584 'key' => 'e2pdf_adobesign_api_access_point',
187 585 'value' => get_option('e2pdf_adobesign_api_access_point') === false ? '' : get_option('e2pdf_adobesign_api_access_point'),
188 586 'default_value' => '',
189 - 'type' => get_option('e2pdf_debug') ? 'text' : 'hidden',
190 - 'placeholder' => ''
587 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
588 + 'placeholder' => '',
589 + 'readonly' => 'readonly',
191 590 ),
192 591 array(
193 - 'name' => __('Refresh Token', 'e2pdf'),
592 + 'name' => 'Refresh Token',
194 593 'key' => 'e2pdf_adobesign_refresh_token',
195 594 'value' => get_option('e2pdf_adobesign_refresh_token') === false ? '' : get_option('e2pdf_adobesign_refresh_token'),
196 595 'default_value' => '',
197 - 'type' => get_option('e2pdf_debug') ? 'text' : 'hidden',
198 - 'placeholder' => ''
596 + 'type' => 'text',
597 + 'placeholder' => '',
598 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
599 + 'readonly' => 'readonly',
199 600 ),
200 601 array(
201 - 'name' => __('Access Token', 'e2pdf'),
602 + 'name' => 'Access Token',
202 603 'key' => 'e2pdf_adobesign_access_token',
203 604 'value' => get_transient('e2pdf_adobesign_access_token') === false ? '' : get_transient('e2pdf_adobesign_access_token'),
204 605 'default_value' => '',
205 - 'type' => get_option('e2pdf_debug') ? 'text' : 'hidden',
206 - 'placeholder' => ''
606 + 'type' => get_option('e2pdf_debug', '0') ? 'text' : 'hidden',
607 + 'placeholder' => '',
608 + 'readonly' => 'readonly',
207 609 ),
208 610 array(
209 - 'header' => __('Scopes', 'e2pdf'),
210 - 'name' => __('user_read', 'e2pdf'),
611 + 'header' => 'Scopes',
612 + 'name' => 'user_read',
211 613 'key' => 'e2pdf_adobesign_scope_user_read',
212 - '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', ''),
213 615 'default_value' => '',
214 616 'type' => 'select',
215 617 'options' => array(
216 - '' => __('disabled', 'e2pdf'),
618 + '' => 'disabled',
217 619 'self' => 'self',
218 620 'group' => 'group',
219 - 'account' => 'account'
220 - )
621 + 'account' => 'account',
622 + ),
221 623 ),
222 624 array(
223 - 'name' => __('user_write', 'e2pdf'),
625 + 'name' => 'user_write',
224 626 'key' => 'e2pdf_adobesign_scope_user_write',
225 - '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', ''),
226 628 'default_value' => '',
227 629 'type' => 'select',
228 630 'options' => array(
229 - '' => __('disabled', 'e2pdf'),
631 + '' => 'disabled',
230 632 'self' => 'self',
231 633 'group' => 'group',
232 - 'account' => 'account'
233 - )
634 + 'account' => 'account',
635 + ),
234 636 ),
235 637 array(
236 - 'name' => __('user_login', 'e2pdf'),
638 + 'name' => 'user_login',
237 639 'key' => 'e2pdf_adobesign_scope_user_login',
238 - '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', ''),
239 641 'default_value' => '',
240 642 'type' => 'select',
241 643 'options' => array(
242 - '' => __('disabled', 'e2pdf'),
644 + '' => 'disabled',
243 645 'self' => 'self',
244 646 'group' => 'group',
245 - 'account' => 'account'
246 - )
647 + 'account' => 'account',
648 + ),
247 649 ),
248 650 array(
249 - 'name' => __('agreement_read', 'e2pdf'),
651 + 'name' => 'agreement_read',
250 652 'key' => 'e2pdf_adobesign_scope_agreement_read',
251 - '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', ''),
252 654 'default_value' => '',
253 655 'type' => 'select',
254 656 'options' => array(
255 - '' => __('disabled', 'e2pdf'),
657 + '' => 'disabled',
256 658 'self' => 'self',
257 659 'group' => 'group',
258 - 'account' => 'account'
259 - )
660 + 'account' => 'account',
661 + ),
260 662 ),
261 663 array(
262 - 'name' => __('agreement_write', 'e2pdf'),
664 + 'name' => 'agreement_write',
263 665 'key' => 'e2pdf_adobesign_scope_agreement_write',
264 - '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', ''),
265 667 'default_value' => '',
266 668 'type' => 'select',
267 669 'options' => array(
268 - '' => __('disabled', 'e2pdf'),
670 + '' => 'disabled',
269 671 'self' => 'self',
270 672 'group' => 'group',
271 - 'account' => 'account'
272 - )
673 + 'account' => 'account',
674 + ),
273 675 ),
274 676 array(
275 - 'name' => __('agreement_send', 'e2pdf'),
677 + 'name' => 'agreement_send',
276 678 'key' => 'e2pdf_adobesign_scope_agreement_send',
277 - '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', ''),
278 680 'default_value' => '',
279 681 'type' => 'select',
280 682 'options' => array(
281 - '' => __('disabled', 'e2pdf'),
683 + '' => 'disabled',
282 684 'self' => 'self',
283 685 'group' => 'group',
284 - 'account' => 'account'
285 - )
686 + 'account' => 'account',
687 + ),
286 688 ),
287 689 array(
288 - 'name' => __('widget_read', 'e2pdf'),
690 + 'name' => 'widget_read',
289 691 'key' => 'e2pdf_adobesign_scope_widget_read',
290 - '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', ''),
291 693 'default_value' => '',
292 694 'type' => 'select',
293 695 'options' => array(
294 - '' => __('disabled', 'e2pdf'),
696 + '' => 'disabled',
295 697 'self' => 'self',
296 698 'group' => 'group',
297 - 'account' => 'account'
298 - )
699 + 'account' => 'account',
700 + ),
299 701 ),
300 702 array(
301 - 'name' => __('widget_write', 'e2pdf'),
703 + 'name' => 'widget_write',
302 704 'key' => 'e2pdf_adobesign_scope_widget_write',
303 - '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', ''),
304 706 'default_value' => '',
305 707 'type' => 'select',
306 708 'options' => array(
307 - '' => __('disabled', 'e2pdf'),
709 + '' => 'disabled',
308 710 'self' => 'self',
309 711 'group' => 'group',
310 - 'account' => 'account'
311 - )
712 + 'account' => 'account',
713 + ),
312 714 ),
313 715 array(
314 - 'name' => __('library_read', 'e2pdf'),
716 + 'name' => 'library_read',
315 717 'key' => 'e2pdf_adobesign_scope_library_read',
316 - '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', ''),
317 719 'default_value' => '',
318 720 'type' => 'select',
319 721 'options' => array(
320 - '' => __('disabled', 'e2pdf'),
722 + '' => 'disabled',
321 723 'self' => 'self',
322 724 'group' => 'group',
323 - 'account' => 'account'
324 - )
725 + 'account' => 'account',
726 + ),
325 727 ),
326 728 array(
327 - 'name' => __('library_write', 'e2pdf'),
729 + 'name' => 'library_write',
328 730 'key' => 'e2pdf_adobesign_scope_library_write',
329 - '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', ''),
330 732 'default_value' => '',
331 733 'type' => 'select',
332 734 'options' => array(
333 - '' => __('disabled', 'e2pdf'),
735 + '' => 'disabled',
334 736 'self' => 'self',
335 737 'group' => 'group',
336 - 'account' => 'account'
337 - )
738 + 'account' => 'account',
739 + ),
338 740 ),
339 741 array(
340 - 'name' => __('workflow_read', 'e2pdf'),
742 + 'name' => 'workflow_read',
341 743 'key' => 'e2pdf_adobesign_scope_workflow_read',
342 - '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', ''),
343 745 'default_value' => '',
344 746 'type' => 'select',
345 747 'options' => array(
346 - '' => __('disabled', 'e2pdf'),
748 + '' => 'disabled',
347 749 'self' => 'self',
348 750 'group' => 'group',
349 - 'account' => 'account'
350 - )
751 + 'account' => 'account',
752 + ),
351 753 ),
352 754 array(
353 - 'name' => __('workflow_write', 'e2pdf'),
755 + 'name' => 'workflow_write',
354 756 'key' => 'e2pdf_adobesign_scope_workflow_write',
355 - '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', ''),
356 758 'default_value' => '',
357 759 'type' => 'select',
358 760 'options' => array(
359 - '' => __('disabled', 'e2pdf'),
761 + '' => 'disabled',
360 762 'self' => 'self',
361 763 'group' => 'group',
362 - 'account' => 'account'
363 - )
764 + 'account' => 'account',
765 + ),
364 766 ),
365 767 array(
366 - 'name' => __('webhook_read', 'e2pdf'),
768 + 'name' => 'webhook_read',
367 769 'key' => 'e2pdf_adobesign_scope_webhook_read',
368 - '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', ''),
369 771 'default_value' => '',
370 772 'type' => 'select',
371 773 'options' => array(
372 - '' => __('disabled', 'e2pdf'),
774 + '' => 'disabled',
373 775 'self' => 'self',
374 776 'group' => 'group',
375 - 'account' => 'account'
376 - )
777 + 'account' => 'account',
778 + ),
377 779 ),
378 780 array(
379 - 'name' => __('webhook_write', 'e2pdf'),
781 + 'name' => 'webhook_write',
380 782 'key' => 'e2pdf_adobesign_scope_webhook_write',
381 - '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', ''),
382 784 'default_value' => '',
383 785 'type' => 'select',
384 786 'options' => array(
385 - '' => __('disabled', 'e2pdf'),
787 + '' => 'disabled',
386 788 'self' => 'self',
387 789 'group' => 'group',
388 - 'account' => 'account'
389 - )
790 + 'account' => 'account',
791 + ),
390 792 ),
391 793 array(
392 - 'name' => __('webhook_retention', 'e2pdf'),
794 + 'name' => 'webhook_retention',
393 795 'key' => 'e2pdf_adobesign_scope_webhook_retention',
394 - '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', ''),
395 797 'default_value' => '',
396 798 'type' => 'select',
397 799 'options' => array(
398 - '' => __('disabled', 'e2pdf'),
800 + '' => 'disabled',
399 801 'self' => 'self',
400 802 'group' => 'group',
401 - 'account' => 'account'
402 - )
803 + 'account' => 'account',
804 + ),
403 805 ),
404 - )
806 + ),
405 807 ),
406 808 'extensions_group' => array(
407 809 'name' => __('Extensions', 'e2pdf'),
408 810 'action' => 'extensions',
409 - 'options' => $extensions_options
811 + 'options' => $extensions_options,
410 812 ),
411 813 );
412 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 +
413 842 $options = apply_filters('e2pdf_model_options_get_options_options', $options);
414 843
415 844 if ($all) {
416 845 $opt = array();
@@ -415,9 +844,11 @@
415 844 if ($all) {
416 845 $opt = array();
417 846 foreach ($options as $group_key => $group) {
418 847 foreach ($group['options'] as $option_key => $option) {
419 - $opt[$option['key']] = $option['value'];
848 + if (isset($option['key'])) {
849 + $opt[$option['key']] = isset($option['value']) ? $option['value'] : '';
850 + }
420 851 }
421 852 }
422 853 return $opt;
423 854 } else {
@@ -422,13 +853,13 @@
422 853 return $opt;
423 854 } else {
424 855 foreach ($options as $group_key => $group) {
425 856 if ($exclude) {
426 - if (in_array($group_key, $only_group)) {
857 + if (in_array($group_key, $only_group, true)) {
427 858 unset($options[$group_key]);
428 859 }
429 860 } else {
430 - if (!in_array($group_key, $only_group)) {
861 + if (!in_array($group_key, $only_group, true)) {
431 862 unset($options[$group_key]);
432 863 }
433 864 }
434 865 }
@@ -436,25 +867,29 @@
436 867 return $options;
437 868 }
438 869 }
439 870
440 - /**
441 - * Get Option value
442 - *
443 - * @param string $key - Option key
444 - *
445 - * @return mixed - Option value
446 - */
447 - function get_option($key) {
448 - if ($key === 'e2pdf_developer_ips') {
449 - $option = get_option($key);
450 - $developers = explode("\r\n", $option);
451 - if (!empty($developers)) {
452 - 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 + }
453 891 }
454 - return array();
455 - } else {
456 - return get_option($key);
457 892 }
893 + return true;
458 894 }
459 -
460 895 }