PluginProbe ʕ •ᴥ•ʔ
Email Encoder – Protect Email Addresses and Phone Numbers / trunk
Email Encoder – Protect Email Addresses and Phone Numbers vtrunk
2.5.0 2.4.8 trunk 0.10 0.11 0.12 0.20 0.21 0.22 0.30 0.31 0.32 0.40 0.41 0.42 0.50 0.60 0.70 0.71 0.80 1.0.0 1.0.1 1.0.2 1.1.0 1.2.0 1.2.1 1.3.0 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.5 1.5.2 1.51 1.53 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7
email-encoder-bundle / config / SettingsConfig.php
email-encoder-bundle / config Last commit date
SafeHtmlConfig.php 6 months ago SettingsConfig.php 1 month ago
SettingsConfig.php
289 lines
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) exit;
3
4 return [
5
6 'protect' => [
7 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
8 'id' => 'protect',
9 'type' => 'multi-input',
10 'input-type' => 'radio',
11 'title' => __( 'Protection mode', 'email-encoder-bundle' ),
12 'inputs' => [
13 1 => [
14 'label' => __( 'Full protection', 'email-encoder-bundle' ),
15 'icon' => 'shield',
16 'description' => __( 'Recommended. Scans every page on your site and protects every email address it finds.', 'email-encoder-bundle' )
17 ],
18 2 => [
19 'label' => __( 'Standard protection', 'email-encoder-bundle' ),
20 'icon' => 'shield-alt',
21 'description' => __( 'Lighter option that only secures emails passed through WordPress filter hooks. May miss emails in custom templates or third-party plugins.', 'email-encoder-bundle' ),
22 'advanced' => true,
23 ],
24 3 => [
25 'label' => __( 'Off', 'email-encoder-bundle' ),
26 'icon' => 'shield-off',
27 'description' => __( 'Disables email protection entirely. Not recommended — your emails will be exposed to spam bots.', 'email-encoder-bundle' )
28 ],
29 ],
30 'required' => false
31 ],
32
33 'protect_using' => [
34 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
35 'id' => 'protect_using',
36 'type' => 'multi-input',
37 'input-type' => 'radio',
38 'title' => __( 'Protection method', 'email-encoder-bundle' ),
39 'inputs' => [
40 'with_javascript' => [
41 'label' => __( 'Automatic', 'email-encoder-bundle' ),
42 'icon' => 'yes-alt',
43 'description' => __( 'Recommended. Picks the strongest method available, using JavaScript so visitors still see the email address.', 'email-encoder-bundle' )
44 ],
45 'without_javascript' => [
46 'label' => __( 'Automatic (no JavaScript)', 'email-encoder-bundle' ),
47 'icon' => 'lock',
48 'description' => __( 'Picks the strongest method that works without JavaScript. Slightly weaker but more compatible with older browsers.', 'email-encoder-bundle' ),
49 ],
50 'strong_method' => [
51 'label' => __( 'Hide entirely', 'email-encoder-bundle' ),
52 'icon' => 'hidden',
53 'description' => __( 'Replaces every email address with the protection text. Visitors won\'t see the actual address — useful for hiding emails completely from page content.', 'email-encoder-bundle' )
54 ],
55 'char_encode' => [
56 'label' => __( 'Basic', 'email-encoder-bundle' ),
57 'icon' => 'editor-code',
58 'description' => __( 'Simple HTML character encoding. Lightweight and works without JavaScript, but easier for advanced spam bots to bypass.', 'email-encoder-bundle' )
59 ],
60 ],
61 'required' => false
62 ],
63
64 'filter_body' => [
65 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
66 'id' => 'filter_body',
67 'type' => 'multi-input',
68 'input-type' => 'checkbox',
69 'advanced' => true,
70 'title' => __( 'Protect...', 'email-encoder-bundle' ),
71 'label' => __( 'Customize what this plugin protects.', 'email-encoder-bundle' ),
72 'inputs' => [
73 'filter_rss' => [
74 'advanced' => true,
75 'label' => __( 'RSS feed', 'email-encoder-bundle' ),
76 'description' => __( 'Activating this option results in protecting the rss feed based on the given protection method.', 'email-encoder-bundle' )
77 ],
78 'ajax_requests' => [
79 'advanced' => true,
80 'label' => __( 'Ajax requests', 'email-encoder-bundle' ),
81 'description' => __( 'By default, ajax requests can send clear emails in some situations. Activating this settings will apply encoding to ajax-relate requests.', 'email-encoder-bundle' )
82 ],
83 'admin_requests' => [
84 'advanced' => true,
85 'label' => __( 'Admin requests', 'email-encoder-bundle' ),
86 'description' => __( 'By default, we only protect frontend requests (Everything people see on your website). Activating this setting will also protect the backend of your website (The admin area).', 'email-encoder-bundle' )
87 ],
88 'remove_shortcodes_rss' => [
89 'advanced' => true,
90 'label' => __( 'Remove all shortcodes from the RSS feeds', 'email-encoder-bundle' ),
91 'description' => __( 'Activating this option results in protecting the rss feed based on the given protection method.', 'email-encoder-bundle' )
92 ],
93 'input_strong_protection' => [
94 'advanced' => true,
95 'label' => __( 'Input form email fields using strong protection', 'email-encoder-bundle' ),
96 'description' => __( 'Warning: this option could conflict with certain form plugins. Test it first. (Requires javascript)', 'email-encoder-bundle' )
97 ],
98 'encode_mailtos' => [
99 'advanced' => true,
100 'label' => __( 'Plain emails by converting them to mailto links', 'email-encoder-bundle' ),
101 'description' => __( 'Plain emails will be automatically converted to mailto links where possible.', 'email-encoder-bundle' )
102 ],
103 'convert_plain_to_image' => [
104 'advanced' => true,
105 'label' => __( 'Plain emails by converting them to PNG images', 'email-encoder-bundle' ),
106 'description' => __( 'Plain emails will be automatically converted to PNG images where possible.', 'email-encoder-bundle' )
107 ],
108 'protect_shortcode_tags' => [
109 'advanced' => true,
110 'label' => __( 'Shortcode content', 'email-encoder-bundle' ),
111 'description' => __( 'Protect every shortcode content separately. (This may slow down your site)', 'email-encoder-bundle' )
112 ],
113 'filter_hook' => [
114 'advanced' => true,
115 'label' => __( 'Emails from "init" hook', 'email-encoder-bundle' ),
116 'description' => __( 'Check this option if you want to register the email filters on the "init" hook instead of the "wp" hook.', 'email-encoder-bundle' )
117 ],
118 'deactivate_rtl' => [
119 'advanced' => true,
120 'label' => __( 'Mailto links without CSS direction', 'email-encoder-bundle' ),
121 'description' => __( 'Check this option if your site does not support CSS directions.', 'email-encoder-bundle' )
122 ],
123 'no_script_tags' => [
124 'advanced' => true,
125 'label' => __( 'No script tags', 'email-encoder-bundle' ),
126 'description' => __( 'Check this option if you face issues with encoded script tags. This will deactivate protection for script tags.', 'email-encoder-bundle' )
127 ],
128 'no_attribute_validation' => [
129 'advanced' => true,
130 'label' => __( 'HTML attributes without soft encoding', 'email-encoder-bundle' ),
131 'description' => __( 'Do not soft-filter all HTML attributes. This might optimize performance, but can break the site if other plugins use your email in attribute tags.', 'email-encoder-bundle' )
132 ],
133 ],
134 'required' => false,
135 ],
136
137 'image_settings' => [
138 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
139 'id' => 'image_settings',
140 'type' => 'multi-input',
141 'input-type' => 'text',
142 'advanced' => true,
143 'title' => __( 'Image settings', 'email-encoder-bundle' ),
144 'label' => __( 'Customize the settings for dynamically created images.', 'email-encoder-bundle' ),
145 'inputs' => [
146 'image_color' => [
147 'advanced' => true,
148 'label' => __( 'Image Colors', 'email-encoder-bundle' ),
149 'placeholder' => '0,0,0',
150 'description' => __( 'Please include RGB colors, comme saparated. E.g.: 0,0,255', 'email-encoder-bundle' )
151 ],
152 'image_background_color' => [
153 'advanced' => true,
154 'label' => __( 'Image Background Colors', 'email-encoder-bundle' ),
155 'placeholder' => '255,255,255',
156 'description' => __( 'Please include RGB colors, comme saparated. E.g.: 0,0,255', 'email-encoder-bundle' )
157 ],
158 'image_text_opacity' => [
159 'advanced' => true,
160 'label' => __( 'Text Opacity', 'email-encoder-bundle' ),
161 'placeholder' => '0',
162 'description' => __( 'Change the text opacity for the created images. 0 = not transparent - 127 = completely transprent', 'email-encoder-bundle' )
163 ],
164 'image_background_opacity' => [
165 'advanced' => true,
166 'label' => __( 'Background Opacity', 'email-encoder-bundle' ),
167 'placeholder' => '127',
168 'description' => __( 'Change the background opacity for the created images. 0 = not transparent - 127 = completely transprent', 'email-encoder-bundle' )
169 ],
170 'image_font_size' => [
171 'advanced' => true,
172 'label' => __( 'Font Size', 'email-encoder-bundle' ),
173 'placeholder' => '4',
174 'description' => __( 'Change the font size of the image text. Default: 4 - You can choose from 1 - 5', 'email-encoder-bundle' )
175 ],
176 'image_underline' => [
177 'advanced' => true,
178 'label' => __( 'Text Underline', 'email-encoder-bundle' ),
179 'placeholder' => '1',
180 'description' => __( 'Adds a line beneath the text to highlight it as a link. empty or 0 deactivates the border. 1 = 1px', 'email-encoder-bundle' )
181 ],
182 ],
183 'required' => false,
184 ],
185
186 'skip_posts' => [
187 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
188 'id' => 'skip_posts',
189 'type' => 'text',
190 'advanced' => true,
191 'title' => __('Exclude post id\'s from protection', 'email-encoder-bundle'),
192 'placeholder' => '123,456,789',
193 'required' => false,
194 'description' => __('By comma separating post id\'s ( e.g. 123,4535,643), you are able to exclude these posts from the logic protection.', 'email-encoder-bundle')
195 ],
196
197 'skip_query_parameters' => [
198 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
199 'id' => 'skip_query_parameters',
200 'type' => 'text',
201 'advanced' => true,
202 'title' => __('Exclude URL parameters from protection', 'email-encoder-bundle'),
203 'placeholder' => 'param1,param2',
204 'required' => false,
205 'description' => __('By comma separating URL (Query) parameters ( e.g. param1,param2), you are able to exclude URLs with these parameters from the protection. URL or Query parameters are found at the end of your URL (e.g. domain.com?param1=test)', 'email-encoder-bundle')
206 ],
207
208 'protection_text' => [
209 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
210 'id' => 'protection_text',
211 'type' => 'text',
212 'advanced' => true,
213 'title' => __('Set protection text *', 'email-encoder-bundle'),
214 'placeholder' => __( '*protected email*', 'email-encoder-bundle' ),
215 'required' => false,
216 'description' => __('This text will be shown for protected email addresses and within noscript tags.', 'email-encoder-bundle')
217 ],
218
219 'class_name' => [
220 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
221 'id' => 'class_name',
222 'type' => 'text',
223 'advanced' => true,
224 'title' => __('Additional classes', 'email-encoder-bundle'),
225 'label' => __('Add extra classes to mailto links.', 'email-encoder-bundle'),
226 'placeholder' => 'my-class another-class',
227 'required' => false,
228 'description' => __('Leave blank for none', 'email-encoder-bundle')
229 ],
230
231 'custom_href_attr' => [
232 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
233 'id' => 'custom_href_attr',
234 'type' => 'text',
235 'advanced' => true,
236 'title' => __('Protect custom href attributes', 'email-encoder-bundle'),
237 'label' => __('Protect href atrributes such as tel:, ftp:, file:, etc.', 'email-encoder-bundle'),
238 'placeholder' => 'tel,ftp,file',
239 'required' => false,
240 'description' => __('Add the href attributes you want to protect as a comme-separated list. E.g. tel,file,ftp', 'email-encoder-bundle')
241 ],
242
243 'footer_scripts' => [
244 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
245 'id' => 'footer_scripts',
246 'type' => 'checkbox',
247 'advanced' => true,
248 'title' => __('Load scripts in footer', 'email-encoder-bundle'),
249 'label' => __('Check this button if you want to load all frontend scripts within the footer.', 'email-encoder-bundle'),
250 'placeholder' => '',
251 'required' => false,
252 'description' => __('This forces every script to be enqueued within the footer.', 'email-encoder-bundle')
253 ],
254
255 'show_encoded_check' => [
256 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
257 'id' => 'show_encoded_check',
258 'type' => 'checkbox',
259 'title' => __('Security Check', 'email-encoder-bundle'),
260 'label' => __('Mark emails on the site as successfully encoded', 'email-encoder-bundle') . '<i class="dashicons-before dashicons-lock" style="color:green;"></i>',
261 'placeholder' => '',
262 'required' => false,
263 'description' => __('Only visible for admin users. If your emails look broken, simply deactivate this feature. This also loads the dashicons style.', 'email-encoder-bundle')
264 ],
265
266 'own_admin_menu' => [
267 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
268 'id' => 'own_admin_menu',
269 'type' => 'checkbox',
270 'advanced' => true,
271 'title' => __('Admin Menu', 'email-encoder-bundle'),
272 'label' => __('Show this page in the main menu item', 'email-encoder-bundle'),
273 'placeholder' => '',
274 'required' => false,
275 'description' => __('Otherwise it will be shown in "Settings"-menu.', 'email-encoder-bundle')
276 ],
277
278 'advanced_settings' => [
279 'fieldset' => [ 'slug' => 'main', 'label' => 'Label' ],
280 'id' => 'advanced_settings',
281 'type' => 'checkbox',
282 'title' => __('Advanced Settings', 'email-encoder-bundle'),
283 'label' => __('Show advanced settings for more configuration possibilities.', 'email-encoder-bundle'),
284 'placeholder' => '',
285 'required' => false,
286 'description' => __('Activate the advanced settings in case you want to customize the default logic or you want to troubleshoot the plugin.', 'email-encoder-bundle')
287 ],
288
289 ];