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

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

177 lines 6.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * E2pdf Options Helper
5 *
6 * @copyright Copyright 2017 https://e2pdf.com
7 * @license GPL v2
8 * @version 1
9 * @link https://e2pdf.com
10 * @since 0.00.01
11 */
12 if (!defined('ABSPATH')) {
13 die('Access denied.');
14 }
15
16 class Model_E2pdf_Options extends Model_E2pdf_Model {
17
18 /**
19 * Get Options list
20 *
21 * @param bool $all - Get all options
22 * @param array $exclude_group - Array list of groups to exclude from the list
23 *
24 * @return array() - List of options
25 */
26 function __construct() {
27 parent::__construct();
28 }
29
30 public static function get_options($all = true, $only_group = array(), $exclude = false) {
31 $helper = Helper_E2pdf_Helper::instance();
32 $options = array(
33 'static_group' => array(
34 'name' => __('Static', 'e2pdf'),
35 'options' => array(
36 array(
37 'key' => 'e2pdf_version',
38 'value' => $helper->get('version')
39 ),
40 array(
41 'key' => 'e2pdf_license',
42 'value' => get_option('e2pdf_license') === false ? false : get_option('e2pdf_license'),
43 ),
44 array(
45 'key' => 'e2pdf_force_update',
46 'value' => get_site_option('e2pdf_force_update') === false ? false : get_site_option('e2pdf_force_update'),
47 ),
48 array(
49 'key' => 'e2pdf_extensions',
50 'value' => get_option('e2pdf_extensions') === false ? array() : get_option('e2pdf_extensions'),
51 ),
52 array(
53 'key' => 'e2pdf_email',
54 'value' => get_option('e2pdf_email') === false ? false : get_option('e2pdf_email'),
55 )
56 )
57 ),
58 'common_group' => array(
59 'name' => __('Common', 'e2pdf'),
60 'options' => array(
61 array(
62 'name' => __('PDF Processor', 'e2pdf'),
63 'key' => 'e2pdf_processor',
64 'value' => get_option('e2pdf_processor') === false ? 0 : get_option('e2pdf_processor'),
65 'default_value' => 0,
66 'type' => 'select',
67 'options' => array(
68 'Latest', 'Dev'
69 )
70 ),
71 array(
72 'name' => __('Debug', 'e2pdf'),
73 'key' => 'e2pdf_debug',
74 'value' => get_option('e2pdf_debug') === false ? 0 : get_option('e2pdf_debug'),
75 'default_value' => 0,
76 'type' => 'checkbox',
77 'placeholder' => __('Turn on Debug mode', 'e2pdf'),
78 ),
79 array(
80 'name' => __('Hide warnings', 'e2pdf'),
81 'key' => 'e2pdf_hide_warnings',
82 'value' => get_option('e2pdf_hide_warnings') === false ? 0 : get_option('e2pdf_hide_warnings'),
83 'default_value' => 0,
84 'type' => 'checkbox',
85 'placeholder' => __('Hide warnings', 'e2pdf'),
86 ),
87 array(
88 'name' => __('Connection Timout', 'e2pdf'),
89 'key' => 'e2pdf_connection_timeout',
90 'value' => get_option('e2pdf_connection_timeout') === false ? 300 : get_option('e2pdf_connection_timeout'),
91 'default_value' => 30,
92 'type' => 'text',
93 'class' => 'e2pdf-numbers',
94 'placeholder' => 0
95 ),
96 array(
97 'name' => __('Memory/Time Usage', 'e2pdf'),
98 'key' => 'e2pdf_memory_time',
99 'value' => get_option('e2pdf_memory_time') === false ? 0 : get_option('e2pdf_memory_time'),
100 'default_value' => 0,
101 'type' => 'checkbox',
102 'placeholder' => __('Show Memory/Time Usage', 'e2pdf'),
103 ),
104 array(
105 'name' => __('Developer Mode', 'e2pdf'),
106 'key' => 'e2pdf_developer',
107 'value' => get_option('e2pdf_developer') === false ? 0 : get_option('e2pdf_developer'),
108 'default_value' => 0,
109 'type' => 'checkbox',
110 'placeholder' => __('Turn on Developer mode', 'e2pdf'),
111 ),
112 array(
113 'name' => __('Developer IPs', 'e2pdf'),
114 'key' => 'e2pdf_developer_ips',
115 'value' => get_option('e2pdf_developer_ips') === false ? '' : get_option('e2pdf_developer_ips'),
116 'default_value' => '',
117 'type' => 'textarea',
118 'placeholder' => __('Developer IPs', 'e2pdf'),
119 )
120 )
121 ),
122 'fonts_group' => array(
123 'name' => __('Fonts', 'e2pdf'),
124 'action' => 'fonts',
125 'options' => array()
126 ),
127 );
128
129 $options = apply_filters('e2pdf_model_options_get_options_options', $options);
130
131 if ($all) {
132 $opt = array();
133 foreach ($options as $group_key => $group) {
134 foreach ($group['options'] as $option_key => $option) {
135 $opt[$option['key']] = $option['value'];
136 }
137 }
138 return $opt;
139 } else {
140 foreach ($options as $group_key => $group) {
141 if ($exclude) {
142 if (in_array($group_key, $only_group)) {
143 unset($options[$group_key]);
144 }
145 } else {
146 if (!in_array($group_key, $only_group)) {
147 unset($options[$group_key]);
148 }
149 }
150 }
151
152 return $options;
153 }
154 }
155
156 /**
157 * Get Option value
158 *
159 * @param string $key - Option key
160 *
161 * @return mixed - Option value
162 */
163 function get_option($key) {
164 if ($key === 'e2pdf_developer_ips') {
165 $option = get_option($key);
166 $developers = explode("\r\n", $option);
167 if (!empty($developers)) {
168 return $developers;
169 }
170 return array();
171 } else {
172 return get_option($key);
173 }
174 }
175
176 }
177