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