PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 8.2.2
Admin and Site Enhancements (ASE) v8.2.2
9.1.0 9.0.2 9.0.1 9.0.0 8.9.2 8.9.1 8.9.0 8.8.8 8.8.7 8.8.6 8.8.5 8.8.4 8.8.3 8.8.2 8.8.1 8.8.0 8.7.3 8.7.2 8.7.1 8.2.1 8.2.2 8.2.3 8.3.0 8.3.1 8.3.2 8.4.0 8.4.1 8.4.2 8.5.0 8.5.1 8.5.2 8.6.0 8.6.1 8.6.2 8.7.0 5.0.1 5.0.2 5.0.2.1 5.0.2.2 5.0.2.3 5.0.2.4 5.1.0 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.8.0 5.8.1 6.0.0 6.0.3 6.0.4 6.0.5 6.0.5.1 6.0.6 6.0.7 6.0.8.1 6.1.0 6.1.3 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.3.0 6.3.1 6.3.2 6.4.0 6.5.0 6.5.1 6.6.0 6.7.0 6.8.0 6.8.2 6.8.3 6.9.0 6.9.1 6.9.10 6.9.11 6.9.12 6.9.13.1 6.9.13.2 6.9.2 6.9.3 6.9.4 6.9.5 6.9.6 6.9.7 6.9.8 6.9.9 7.0.0 7.0.2 7.0.2.1 7.0.2.2 7.0.2.3 7.0.3 7.1.0 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2.0 7.2.1 7.3.0 7.3.1 7.3.2 7.3.3 7.4.0 7.4.2 7.4.4 7.4.5 7.4.6 7.4.7 7.4.8 7.5.0 7.5.1 7.5.2 7.5.3 7.5.4 7.6.0 7.6.1 7.6.1.1 7.6.10 7.6.11 7.6.2 7.6.3 7.6.4 7.6.5 7.6.6 7.6.7 7.6.7.1 7.6.8 7.6.9 7.7.0 7.8.0 7.8.1 7.8.10 7.8.11 7.8.12 7.8.13 7.8.14 7.8.15 7.8.16 7.8.17 7.8.18 7.8.2 7.8.3 7.8.4 7.8.5 7.8.5.1 7.8.6 7.8.7 7.8.8 7.8.9 7.9.0 7.9.1 7.9.10 7.9.11 7.9.2 7.9.3 7.9.4 7.9.5 7.9.6 7.9.7 7.9.8 7.9.9 8.0.0 8.0.1 8.0.2 8.0.3 8.0.4 8.0.5 8.0.6 8.0.7 8.0.8 8.1.0 8.1.1 8.1.2 8.1.3 8.1.4 8.2.0 trunk 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.7.0 1.8.0 1.9.0 2.0.0 2.1.0 2.2.0 2.3.0 2.4.0 2.5.0 2.6.0 2.7.0 2.8.0 2.8.1 2.8.2 2.8.3 2.9.0 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.2.0 3.3.0 3.4.0 3.5.0 3.6.1 3.7.0 3.8.0 3.9.0 3.9.1 3.9.2 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.9.0 4.9.1 4.9.2 4.9.3 5.0.0
admin-site-enhancements / classes / class-settings-sanitization.php
admin-site-enhancements / classes Last commit date
class-activation.php 7 months ago class-admin-menu-organizer.php 7 months ago class-admin-menu-svg-icon-mask.php 7 months ago class-auto-publish-posts-with-missed-schedule.php 7 months ago class-avif-upload.php 7 months ago class-captcha-protection.php 7 months ago class-change-login-url.php 7 months ago class-cleanup-admin-bar.php 7 months ago class-common-methods.php 7 months ago class-content-duplication.php 7 months ago class-content-order.php 7 months ago class-custom-admin-footer-text.php 7 months ago class-custom-body-class.php 7 months ago class-custom-css.php 7 months ago class-custom-nav-menu-items-in-new-tab.php 7 months ago class-deactivation.php 7 months ago class-disable-author-archives.php 7 months ago class-disable-comments.php 7 months ago class-disable-dashboard-widgets.php 7 months ago class-disable-embeds.php 7 months ago class-disable-feeds.php 7 months ago class-disable-gutenberg.php 7 months ago class-disable-rest-api.php 7 months ago class-disable-smaller-components.php 7 months ago class-disable-updates.php 7 months ago class-disable-xml-rpc.php 7 months ago class-display-system-summary.php 7 months ago class-email-address-obfuscator.php 7 months ago class-email-delivery.php 7 months ago class-enhance-list-tables.php 7 months ago class-external-permalinks.php 7 months ago class-heartbeat-control.php 7 months ago class-hide-admin-bar.php 7 months ago class-hide-admin-notices.php 7 months ago class-image-sizes-panel.php 7 months ago class-image-upload-control.php 7 months ago class-insert-head-body-footer-code.php 7 months ago class-last-login-column.php 7 months ago class-limit-login-attempts.php 7 months ago class-login-id-type.php 7 months ago class-login-logout-menu.php 7 months ago class-maintenance-mode.php 7 months ago class-manage-ads-appads-txt.php 7 months ago class-manage-robots-txt.php 7 months ago class-media-replacement.php 7 months ago class-multiple-user-roles.php 7 months ago class-obfuscate-author-slugs.php 7 months ago class-open-external-links-in-new-tab.php 7 months ago class-password-protection.php 7 months ago class-redirect-after-login.php 7 months ago class-redirect-after-logout.php 7 months ago class-redirect-fourofour.php 7 months ago class-registration-date-column.php 7 months ago class-revisions-control.php 7 months ago class-search-engines-visibility.php 7 months ago class-settings-fields-render.php 7 months ago class-settings-sanitization.php 7 months ago class-settings-sections-fields.php 7 months ago class-show-custom-taxonomy-filters.php 7 months ago class-site-identity-on-login-page.php 7 months ago class-svg-upload.php 7 months ago class-various-admin-ui-enhancements.php 7 months ago class-view-admin-as-role.php 7 months ago class-wider-admin-menu.php 7 months ago class-wp-config-transformer.php 7 months ago
class-settings-sanitization.php
842 lines
1 <?php
2
3 namespace ASENHA\Classes;
4
5 /**
6 * Class related to sanitization of settings fields for saving as options
7 *
8 * @since 2.2.0
9 */
10 class Settings_Sanitization {
11 /**
12 * Sanitize options
13 *
14 * @since 1.0.0
15 */
16 function sanitize_for_options( $options ) {
17 // Call WordPress globals required for validating the fields
18 global
19 $wp_roles,
20 $asenha_all_post_types,
21 $asenha_public_post_types,
22 $asenha_nonpublic_post_types,
23 $asenha_gutenberg_post_types,
24 $asenha_revisions_post_types,
25 $active_plugin_slugs
26 ;
27 $roles = $wp_roles->get_names();
28 $options_extra = get_option( ASENHA_SLUG_U . '_extra', array() );
29 // if ( false === $options_extra ) {
30 // add_option( ASENHA_SLUG_U . '_extra', array(), true );
31 // }
32 $common_methods = new Common_Methods();
33 // Content Duplication
34 if ( !isset( $options['enable_duplication'] ) ) {
35 $options['enable_duplication'] = false;
36 }
37 $options['enable_duplication'] = ( 'on' == $options['enable_duplication'] ? true : false );
38 if ( !isset( $options['duplication_redirect_destination'] ) ) {
39 $options['duplication_redirect_destination'] = 'edit';
40 }
41 // Content Order
42 if ( !isset( $options['content_order'] ) ) {
43 $options['content_order'] = false;
44 }
45 $options['content_order'] = ( 'on' == $options['content_order'] ? true : false );
46 if ( is_array( $asenha_all_post_types ) ) {
47 foreach ( $asenha_all_post_types as $post_type_slug => $post_type_label ) {
48 // e.g. $post_type_slug is post, $post_type_label is Posts
49 if ( post_type_supports( $post_type_slug, 'page-attributes' ) || is_post_type_hierarchical( $post_type_slug ) ) {
50 if ( !isset( $options['content_order_for'][$post_type_slug] ) ) {
51 $options['content_order_for'][$post_type_slug] = false;
52 }
53 $options['content_order_for'][$post_type_slug] = ( 'on' == $options['content_order_for'][$post_type_slug] ? true : false );
54 }
55 }
56 }
57 // Enable Media Replacement
58 if ( !isset( $options['enable_media_replacement'] ) ) {
59 $options['enable_media_replacement'] = false;
60 }
61 $options['enable_media_replacement'] = ( 'on' == $options['enable_media_replacement'] ? true : false );
62 if ( !isset( $options['disable_media_replacement_cache_busting'] ) ) {
63 $options['disable_media_replacement_cache_busting'] = false;
64 }
65 $options['disable_media_replacement_cache_busting'] = ( 'on' == $options['disable_media_replacement_cache_busting'] ? true : false );
66 // Enable SVG Upload
67 if ( !isset( $options['enable_svg_upload'] ) ) {
68 $options['enable_svg_upload'] = false;
69 }
70 $options['enable_svg_upload'] = ( 'on' == $options['enable_svg_upload'] ? true : false );
71 if ( is_array( $roles ) ) {
72 foreach ( $roles as $role_slug => $role_label ) {
73 // e.g. $role_slug is administrator, $role_label is Administrator
74 if ( !isset( $options['enable_svg_upload_for'][$role_slug] ) ) {
75 $options['enable_svg_upload_for'][$role_slug] = false;
76 }
77 $options['enable_svg_upload_for'][$role_slug] = ( 'on' == $options['enable_svg_upload_for'][$role_slug] ? true : false );
78 }
79 }
80 // Enable SVG Upload
81 if ( !isset( $options['enable_avif_upload'] ) ) {
82 $options['enable_avif_upload'] = false;
83 }
84 $options['enable_avif_upload'] = ( 'on' == $options['enable_avif_upload'] ? true : false );
85 // Enable External Permalinks
86 if ( !isset( $options['enable_external_permalinks'] ) ) {
87 $options['enable_external_permalinks'] = false;
88 }
89 $options['enable_external_permalinks'] = ( 'on' == $options['enable_external_permalinks'] ? true : false );
90 if ( is_array( $asenha_public_post_types ) ) {
91 foreach ( $asenha_public_post_types as $post_type_slug => $post_type_label ) {
92 // e.g. $post_type_slug is post, $post_type_label is Posts
93 if ( !isset( $options['enable_external_permalinks_for'][$post_type_slug] ) ) {
94 $options['enable_external_permalinks_for'][$post_type_slug] = false;
95 }
96 $options['enable_external_permalinks_for'][$post_type_slug] = ( 'on' == $options['enable_external_permalinks_for'][$post_type_slug] ? true : false );
97 }
98 }
99 // Open All External Links in New Tab
100 if ( !isset( $options['external_links_new_tab'] ) ) {
101 $options['external_links_new_tab'] = false;
102 }
103 $options['external_links_new_tab'] = ( 'on' == $options['external_links_new_tab'] ? true : false );
104 // Allow Custom Nav Menu Items to Open in New Tab
105 if ( !isset( $options['custom_nav_menu_items_new_tab'] ) ) {
106 $options['custom_nav_menu_items_new_tab'] = false;
107 }
108 $options['custom_nav_menu_items_new_tab'] = ( 'on' == $options['custom_nav_menu_items_new_tab'] ? true : false );
109 // Enable Auto-Publishing of Posts with Missed Schedules
110 if ( !isset( $options['enable_missed_schedule_posts_auto_publish'] ) ) {
111 $options['enable_missed_schedule_posts_auto_publish'] = false;
112 }
113 $options['enable_missed_schedule_posts_auto_publish'] = ( 'on' == $options['enable_missed_schedule_posts_auto_publish'] ? true : false );
114 // =================================================================
115 // ADMIN INTERFACE
116 // =================================================================
117 // Hide or Modify Elements / Clean Up Admin Bar
118 if ( !isset( $options['hide_modify_elements'] ) ) {
119 $options['hide_modify_elements'] = false;
120 }
121 $options['hide_modify_elements'] = ( 'on' == $options['hide_modify_elements'] ? true : false );
122 if ( !isset( $options['hide_ab_wp_logo_menu'] ) ) {
123 $options['hide_ab_wp_logo_menu'] = false;
124 }
125 $options['hide_ab_wp_logo_menu'] = ( 'on' == $options['hide_ab_wp_logo_menu'] ? true : false );
126 if ( !isset( $options['hide_ab_site_menu'] ) ) {
127 $options['hide_ab_site_menu'] = false;
128 }
129 $options['hide_ab_site_menu'] = ( 'on' == $options['hide_ab_site_menu'] ? true : false );
130 if ( !isset( $options['hide_ab_customize_menu'] ) ) {
131 $options['hide_ab_customize_menu'] = false;
132 }
133 $options['hide_ab_customize_menu'] = ( 'on' == $options['hide_ab_customize_menu'] ? true : false );
134 if ( !isset( $options['hide_ab_comments_menu'] ) ) {
135 $options['hide_ab_comments_menu'] = false;
136 }
137 $options['hide_ab_comments_menu'] = ( 'on' == $options['hide_ab_comments_menu'] ? true : false );
138 if ( !isset( $options['hide_ab_updates_menu'] ) ) {
139 $options['hide_ab_updates_menu'] = false;
140 }
141 $options['hide_ab_updates_menu'] = ( 'on' == $options['hide_ab_updates_menu'] ? true : false );
142 if ( !isset( $options['hide_ab_new_content_menu'] ) ) {
143 $options['hide_ab_new_content_menu'] = false;
144 }
145 $options['hide_ab_new_content_menu'] = ( 'on' == $options['hide_ab_new_content_menu'] ? true : false );
146 if ( !isset( $options['hide_ab_howdy'] ) ) {
147 $options['hide_ab_howdy'] = false;
148 }
149 $options['hide_ab_howdy'] = ( 'on' == $options['hide_ab_howdy'] ? true : false );
150 if ( !isset( $options['hide_help_drawer'] ) ) {
151 $options['hide_help_drawer'] = false;
152 }
153 $options['hide_help_drawer'] = ( 'on' == $options['hide_help_drawer'] ? true : false );
154 // Hide Admin Notices
155 if ( !isset( $options['hide_admin_notices'] ) ) {
156 $options['hide_admin_notices'] = false;
157 }
158 $options['hide_admin_notices'] = ( 'on' == $options['hide_admin_notices'] ? true : false );
159 // Disable Dashboard Widgets
160 if ( !isset( $options['disable_dashboard_widgets'] ) ) {
161 $options['disable_dashboard_widgets'] = false;
162 }
163 $options['disable_dashboard_widgets'] = ( 'on' == $options['disable_dashboard_widgets'] ? true : false );
164 $dashboard_widgets = $options_extra['dashboard_widgets'];
165 if ( is_array( $dashboard_widgets ) ) {
166 foreach ( $dashboard_widgets as $widget ) {
167 if ( !isset( $options['disabled_dashboard_widgets'][$widget['id'] . '__' . $widget['context'] . '__' . $widget['priority']] ) ) {
168 $options['disabled_dashboard_widgets'][$widget['id'] . '__' . $widget['context'] . '__' . $widget['priority']] = false;
169 }
170 $options['disabled_dashboard_widgets'][$widget['id'] . '__' . $widget['context'] . '__' . $widget['priority']] = ( 'on' == $options['disabled_dashboard_widgets'][$widget['id'] . '__' . $widget['context'] . '__' . $widget['priority']] ? true : false );
171 }
172 }
173 if ( !isset( $options['disable_welcome_panel_in_dashboard'] ) ) {
174 $options['disable_welcome_panel_in_dashboard'] = false;
175 }
176 $options['disable_welcome_panel_in_dashboard'] = ( 'on' == $options['disable_welcome_panel_in_dashboard'] ? true : false );
177 // Hide Admin Bar
178 if ( !isset( $options['hide_admin_bar'] ) ) {
179 $options['hide_admin_bar'] = false;
180 }
181 $options['hide_admin_bar'] = ( 'on' == $options['hide_admin_bar'] ? true : false );
182 if ( is_array( $roles ) ) {
183 foreach ( $roles as $role_slug => $role_label ) {
184 // e.g. $role_slug is administrator, $role_label is Administrator
185 // on the frontend
186 if ( !isset( $options['hide_admin_bar_for'][$role_slug] ) ) {
187 $options['hide_admin_bar_for'][$role_slug] = false;
188 }
189 $options['hide_admin_bar_for'][$role_slug] = ( 'on' == $options['hide_admin_bar_for'][$role_slug] ? true : false );
190 if ( !isset( $options['hide_admin_bar_always_show_for_admins'] ) ) {
191 $options['hide_admin_bar_always_show_for_admins'] = false;
192 }
193 $options['hide_admin_bar_always_show_for_admins'] = ( 'on' == $options['hide_admin_bar_always_show_for_admins'] ? true : false );
194 }
195 }
196 // Wider Admin Menu
197 if ( !isset( $options['wider_admin_menu'] ) ) {
198 $options['wider_admin_menu'] = false;
199 }
200 $options['wider_admin_menu'] = ( 'on' == $options['wider_admin_menu'] ? true : false );
201 if ( !isset( $options['admin_menu_width'] ) ) {
202 $options['admin_menu_width'] = 200;
203 }
204 $options['admin_menu_width'] = ( !empty( $options['admin_menu_width'] ) ? sanitize_text_field( $options['admin_menu_width'] ) : 200 );
205 // Admin Menu Organizer
206 if ( !isset( $options['customize_admin_menu'] ) ) {
207 $options['customize_admin_menu'] = false;
208 }
209 $options['customize_admin_menu'] = ( 'on' == $options['customize_admin_menu'] ? true : false );
210 // Enhance List Tables
211 if ( !isset( $options['enhance_list_tables'] ) ) {
212 $options['enhance_list_tables'] = false;
213 }
214 $options['enhance_list_tables'] = ( 'on' == $options['enhance_list_tables'] ? true : false );
215 // Show Featured Image Column
216 if ( !isset( $options['show_featured_image_column'] ) ) {
217 $options['show_featured_image_column'] = false;
218 }
219 $options['show_featured_image_column'] = ( 'on' == $options['show_featured_image_column'] ? true : false );
220 // Show Excerpt Column
221 if ( !isset( $options['show_excerpt_column'] ) ) {
222 $options['show_excerpt_column'] = false;
223 }
224 $options['show_excerpt_column'] = ( 'on' == $options['show_excerpt_column'] ? true : false );
225 // Show Last Modified Column
226 if ( !isset( $options['show_last_modified_column'] ) ) {
227 $options['show_last_modified_column'] = false;
228 }
229 $options['show_last_modified_column'] = ( 'on' == $options['show_last_modified_column'] ? true : false );
230 // Show ID Column
231 if ( !isset( $options['show_id_column'] ) ) {
232 $options['show_id_column'] = false;
233 }
234 $options['show_id_column'] = ( 'on' == $options['show_id_column'] ? true : false );
235 // Show File Size Column in Media Library
236 if ( !isset( $options['show_file_size_column'] ) ) {
237 $options['show_file_size_column'] = false;
238 }
239 $options['show_file_size_column'] = ( 'on' == $options['show_file_size_column'] ? true : false );
240 // Show ID in Action Row
241 if ( !isset( $options['show_id_in_action_row'] ) ) {
242 $options['show_id_in_action_row'] = false;
243 }
244 $options['show_id_in_action_row'] = ( 'on' == $options['show_id_in_action_row'] ? true : false );
245 // Show Custom Taxonomy Filters
246 if ( !isset( $options['show_custom_taxonomy_filters'] ) ) {
247 $options['show_custom_taxonomy_filters'] = false;
248 }
249 $options['show_custom_taxonomy_filters'] = ( 'on' == $options['show_custom_taxonomy_filters'] ? true : false );
250 // Hide Date Column
251 if ( !isset( $options['hide_date_column'] ) ) {
252 $options['hide_date_column'] = false;
253 }
254 $options['hide_date_column'] = ( 'on' == $options['hide_date_column'] ? true : false );
255 // Hide Comments Column
256 if ( !isset( $options['hide_comments_column'] ) ) {
257 $options['hide_comments_column'] = false;
258 }
259 $options['hide_comments_column'] = ( 'on' == $options['hide_comments_column'] ? true : false );
260 // Hide Post Tags Column
261 if ( !isset( $options['hide_post_tags_column'] ) ) {
262 $options['hide_post_tags_column'] = false;
263 }
264 $options['hide_post_tags_column'] = ( 'on' == $options['hide_post_tags_column'] ? true : false );
265 // Custom Admin Footer Text
266 if ( !isset( $options['custom_admin_footer_text'] ) ) {
267 $options['custom_admin_footer_text'] = false;
268 }
269 $options['custom_admin_footer_text'] = ( 'on' == $options['custom_admin_footer_text'] ? true : false );
270 if ( !isset( $options['custom_admin_footer_left'] ) ) {
271 $options['custom_admin_footer_left'] = '';
272 }
273 $options['custom_admin_footer_left'] = ( !empty( $options['custom_admin_footer_left'] ) ? wp_kses_post( $options['custom_admin_footer_left'] ) : '' );
274 if ( !isset( $options['custom_admin_footer_right'] ) ) {
275 $options['custom_admin_footer_right'] = '';
276 }
277 $options['custom_admin_footer_right'] = ( !empty( $options['custom_admin_footer_right'] ) ? wp_kses_post( $options['custom_admin_footer_right'] ) : '' );
278 // Various Admin UI Enhancements
279 if ( !isset( $options['various_admin_ui_enhancements'] ) ) {
280 $options['various_admin_ui_enhancements'] = false;
281 }
282 $options['various_admin_ui_enhancements'] = ( 'on' == $options['various_admin_ui_enhancements'] ? true : false );
283 // Media Library Infinite Scrolling
284 if ( !isset( $options['media_library_infinite_scrolling'] ) ) {
285 $options['media_library_infinite_scrolling'] = false;
286 }
287 $options['media_library_infinite_scrolling'] = ( 'on' == $options['media_library_infinite_scrolling'] ? true : false );
288 // Display Active Plugins First
289 if ( !isset( $options['display_active_plugins_first'] ) ) {
290 $options['display_active_plugins_first'] = false;
291 }
292 $options['display_active_plugins_first'] = ( 'on' == $options['display_active_plugins_first'] ? true : false );
293 // =================================================================
294 // LOG IN/OUT | REGISTER
295 // =================================================================
296 // Change Login URL
297 if ( !isset( $options['change_login_url'] ) ) {
298 $options['change_login_url'] = false;
299 }
300 $options['change_login_url'] = ( 'on' == $options['change_login_url'] ? true : false );
301 if ( !isset( $options['custom_login_slug'] ) ) {
302 $options['custom_login_slug'] = 'backend';
303 }
304 $options['custom_login_slug'] = ( !empty( $options['custom_login_slug'] ) ? sanitize_text_field( trim( $options['custom_login_slug'], '/' ) ) : 'backend' );
305 if ( !isset( $options['custom_login_whitelist'] ) ) {
306 $options['custom_login_whitelist'] = '';
307 }
308 $options['custom_login_whitelist'] = ( !empty( $options['custom_login_whitelist'] ) ? sanitize_textarea_field( $options['custom_login_whitelist'] ) : '' );
309 // Login ID Type
310 if ( !isset( $options['login_id_type_restriction'] ) ) {
311 $options['login_id_type_restriction'] = false;
312 }
313 $options['login_id_type_restriction'] = ( 'on' == $options['login_id_type_restriction'] ? true : false );
314 if ( !isset( $options['login_id_type'] ) ) {
315 $options['login_id_type'] = 'username';
316 }
317 $options['login_id_type'] = ( !empty( $options['login_id_type'] ) ? sanitize_text_field( $options['login_id_type'] ) : 'username' );
318 // Use Site Identity on the Login Page
319 if ( !isset( $options['site_identity_on_login'] ) ) {
320 $options['site_identity_on_login'] = false;
321 }
322 $options['site_identity_on_login'] = ( 'on' == $options['site_identity_on_login'] ? true : false );
323 // Enable Login Logout Menu
324 if ( !isset( $options['enable_login_logout_menu'] ) ) {
325 $options['enable_login_logout_menu'] = false;
326 }
327 $options['enable_login_logout_menu'] = ( 'on' == $options['enable_login_logout_menu'] ? true : false );
328 // Redirect After Login
329 if ( !isset( $options['redirect_after_login'] ) ) {
330 $options['redirect_after_login'] = false;
331 }
332 $options['redirect_after_login'] = ( 'on' == $options['redirect_after_login'] ? true : false );
333 if ( !isset( $options['redirect_after_login_type'] ) ) {
334 $options['redirect_after_login_type'] = 'single_url';
335 }
336 $options['redirect_after_login_type'] = ( !empty( $options['redirect_after_login_type'] ) ? sanitize_text_field( $options['redirect_after_login_type'] ) : 'single_url' );
337 if ( !isset( $options['redirect_after_login_to_slug'] ) ) {
338 $options['redirect_after_login_to_slug'] = '';
339 }
340 $options['redirect_after_login_to_slug'] = ( !empty( $options['redirect_after_login_to_slug'] ) ? sanitize_text_field( $options['redirect_after_login_to_slug'] ) : '' );
341 if ( is_array( $roles ) ) {
342 foreach ( $roles as $role_slug => $role_label ) {
343 // e.g. $role_slug is administrator, $role_label is Administrator
344 if ( !isset( $options['redirect_after_login_for'][$role_slug] ) ) {
345 $options['redirect_after_login_for'][$role_slug] = false;
346 }
347 $options['redirect_after_login_for'][$role_slug] = ( 'on' == $options['redirect_after_login_for'][$role_slug] ? true : false );
348 }
349 }
350 // Redirect After Logout
351 if ( !isset( $options['redirect_after_logout'] ) ) {
352 $options['redirect_after_logout'] = false;
353 }
354 $options['redirect_after_logout'] = ( 'on' == $options['redirect_after_logout'] ? true : false );
355 if ( !isset( $options['redirect_after_logout_type'] ) ) {
356 $options['redirect_after_logout_type'] = 'single_url';
357 }
358 $options['redirect_after_logout_type'] = ( !empty( $options['redirect_after_logout_type'] ) ? sanitize_text_field( $options['redirect_after_logout_type'] ) : 'single_url' );
359 if ( !isset( $options['redirect_after_logout_to_slug'] ) ) {
360 $options['redirect_after_logout_to_slug'] = '';
361 }
362 $options['redirect_after_logout_to_slug'] = ( !empty( $options['redirect_after_logout_to_slug'] ) ? sanitize_text_field( $options['redirect_after_logout_to_slug'] ) : '' );
363 if ( is_array( $roles ) ) {
364 foreach ( $roles as $role_slug => $role_label ) {
365 // e.g. $role_slug is administrator, $role_label is Administrator
366 if ( !isset( $options['redirect_after_logout_for'][$role_slug] ) ) {
367 $options['redirect_after_logout_for'][$role_slug] = false;
368 }
369 $options['redirect_after_logout_for'][$role_slug] = ( 'on' == $options['redirect_after_logout_for'][$role_slug] ? true : false );
370 }
371 }
372 // Last Login Column
373 if ( !isset( $options['enable_last_login_column'] ) ) {
374 $options['enable_last_login_column'] = false;
375 }
376 $options['enable_last_login_column'] = ( 'on' == $options['enable_last_login_column'] ? true : false );
377 // Registration Date Column
378 if ( !isset( $options['registration_date_column'] ) ) {
379 $options['registration_date_column'] = false;
380 }
381 $options['registration_date_column'] = ( 'on' == $options['registration_date_column'] ? true : false );
382 // Enable Custom Admin CSS
383 if ( !isset( $options['enable_custom_admin_css'] ) ) {
384 $options['enable_custom_admin_css'] = false;
385 }
386 $options['enable_custom_admin_css'] = ( 'on' == $options['enable_custom_admin_css'] ? true : false );
387 if ( !isset( $options['custom_admin_css'] ) ) {
388 $options['custom_admin_css'] = '';
389 }
390 $options['custom_admin_css'] = ( !empty( $options['custom_admin_css'] ) ? $options['custom_admin_css'] : '' );
391 // Enable Custom Frontend CSS
392 if ( !isset( $options['enable_custom_frontend_css'] ) ) {
393 $options['enable_custom_frontend_css'] = false;
394 }
395 $options['enable_custom_frontend_css'] = ( 'on' == $options['enable_custom_frontend_css'] ? true : false );
396 if ( !isset( $options['custom_frontend_css'] ) ) {
397 $options['custom_frontend_css'] = '';
398 }
399 $options['custom_frontend_css'] = ( !empty( $options['custom_frontend_css'] ) ? $options['custom_frontend_css'] : '' );
400 // Custom Body Class
401 if ( !isset( $options['enable_custom_body_class'] ) ) {
402 $options['enable_custom_body_class'] = false;
403 }
404 $options['enable_custom_body_class'] = ( 'on' == $options['enable_custom_body_class'] ? true : false );
405 if ( is_array( $asenha_public_post_types ) ) {
406 foreach ( $asenha_public_post_types as $post_type_slug => $post_type_label ) {
407 // e.g. $post_type_slug is post, $post_type_label is Posts
408 if ( !isset( $options['enable_custom_body_class_for'][$post_type_slug] ) ) {
409 $options['enable_custom_body_class_for'][$post_type_slug] = false;
410 }
411 $options['enable_custom_body_class_for'][$post_type_slug] = ( 'on' == $options['enable_custom_body_class_for'][$post_type_slug] ? true : false );
412 }
413 }
414 // Manage ads.txt and app-ads.txt
415 if ( !isset( $options['manage_ads_appads_txt'] ) ) {
416 $options['manage_ads_appads_txt'] = false;
417 }
418 $options['manage_ads_appads_txt'] = ( 'on' == $options['manage_ads_appads_txt'] ? true : false );
419 if ( !isset( $options['ads_txt_content'] ) ) {
420 $options['ads_txt_content'] = '';
421 }
422 $options['ads_txt_content'] = ( !empty( $options['ads_txt_content'] ) ? $options['ads_txt_content'] : '' );
423 if ( !isset( $options['app_ads_txt_content'] ) ) {
424 $options['app_ads_txt_content'] = '';
425 }
426 $options['app_ads_txt_content'] = ( !empty( $options['app_ads_txt_content'] ) ? $options['app_ads_txt_content'] : '' );
427 // Manage robots.txt
428 if ( !isset( $options['manage_robots_txt'] ) ) {
429 $options['manage_robots_txt'] = false;
430 }
431 $options['manage_robots_txt'] = ( 'on' == $options['manage_robots_txt'] ? true : false );
432 if ( !isset( $options['robots_txt_content'] ) ) {
433 $options['robots_txt_content'] = '';
434 } else {
435 if ( !empty( $options['robots_txt_content'] ) ) {
436 $options['robots_txt_content'] = $options['robots_txt_content'];
437 $is_robots_txt_real_file = is_file( ABSPATH . 'robots.txt' );
438 // rename real robots.txt file if it exists and Mange robots.txt is enabled
439 if ( $is_robots_txt_real_file && 'on' == $options['manage_robots_txt'] ) {
440 $robots_txt_backup_filename = 'robots_backup_' . date( 'Y_m_d__H_i', time() ) . '.txt';
441 $options_extra = get_option( ASENHA_SLUG_U . '_extra', array() );
442 $options_extra['robots_txt_backup_file_name'] = $robots_txt_backup_filename;
443 update_option( ASENHA_SLUG_U . '_extra', $options_extra, true );
444 rename( ABSPATH . 'robots.txt', ABSPATH . $robots_txt_backup_filename );
445 } elseif ( 'on' != $options['manage_robots_txt'] ) {
446 $options_extra = get_option( ASENHA_SLUG_U . '_extra', array() );
447 if ( array_key_exists( 'robots_txt_backup_file_name', $options_extra ) ) {
448 if ( is_file( ABSPATH . $options_extra['robots_txt_backup_file_name'] ) ) {
449 rename( ABSPATH . $options_extra['robots_txt_backup_file_name'], ABSPATH . 'robots.txt' );
450 }
451 }
452 }
453 } else {
454 $options['robots_txt_content'] = '';
455 }
456 }
457 // Insert <head>, <body> and <footer> code
458 if ( !isset( $options['insert_head_body_footer_code'] ) ) {
459 $options['insert_head_body_footer_code'] = false;
460 }
461 $options['insert_head_body_footer_code'] = ( 'on' == $options['insert_head_body_footer_code'] ? true : false );
462 if ( !isset( $options['disable_code_unslash'] ) ) {
463 $options['disable_code_unslash'] = false;
464 }
465 $options['disable_code_unslash'] = ( 'on' == $options['disable_code_unslash'] ? true : false );
466 if ( !isset( $options['head_code_priority'] ) ) {
467 $options['head_code_priority'] = 10;
468 }
469 $options['head_code_priority'] = ( !empty( $options['head_code_priority'] ) ? $options['head_code_priority'] : 10 );
470 if ( !isset( $options['head_code'] ) ) {
471 $options['head_code'] = '';
472 }
473 $options['head_code'] = ( !empty( $options['head_code'] ) ? $common_methods->sanitize_html_js_css_code( $options['head_code'] ) : '' );
474 if ( !isset( $options['body_code_priority'] ) ) {
475 $options['body_code_priority'] = 10;
476 }
477 $options['body_code_priority'] = ( !empty( $options['body_code_priority'] ) ? $options['body_code_priority'] : 10 );
478 if ( !isset( $options['body_code'] ) ) {
479 $options['body_code'] = '';
480 }
481 $options['body_code'] = ( !empty( $options['body_code'] ) ? $common_methods->sanitize_html_js_css_code( $options['body_code'] ) : '' );
482 if ( !isset( $options['footer_code_priority'] ) ) {
483 $options['footer_code_priority'] = 10;
484 }
485 $options['footer_code_priority'] = ( !empty( $options['footer_code_priority'] ) ? $options['footer_code_priority'] : 10 );
486 if ( !isset( $options['footer_code'] ) ) {
487 $options['footer_code'] = '';
488 }
489 $options['footer_code'] = ( !empty( $options['footer_code'] ) ? $common_methods->sanitize_html_js_css_code( $options['footer_code'] ) : '' );
490 // =================================================================
491 // DISABLE COMPONENTS
492 // =================================================================
493 // Disable Gutenberg
494 if ( !isset( $options['disable_gutenberg'] ) ) {
495 $options['disable_gutenberg'] = false;
496 }
497 $options['disable_gutenberg'] = ( 'on' == $options['disable_gutenberg'] ? true : false );
498 if ( is_array( $asenha_gutenberg_post_types ) ) {
499 foreach ( $asenha_gutenberg_post_types as $post_type_slug => $post_type_label ) {
500 // e.g. $post_type_slug is post,
501 if ( !isset( $options['disable_gutenberg_for'][$post_type_slug] ) ) {
502 $options['disable_gutenberg_for'][$post_type_slug] = false;
503 }
504 $options['disable_gutenberg_for'][$post_type_slug] = ( 'on' == $options['disable_gutenberg_for'][$post_type_slug] ? true : false );
505 }
506 }
507 if ( !isset( $options['disable_gutenberg_frontend_styles'] ) ) {
508 $options['disable_gutenberg_frontend_styles'] = false;
509 }
510 $options['disable_gutenberg_frontend_styles'] = ( 'on' == $options['disable_gutenberg_frontend_styles'] ? true : false );
511 // Disable Comments
512 if ( !isset( $options['disable_comments'] ) ) {
513 $options['disable_comments'] = false;
514 }
515 $options['disable_comments'] = ( 'on' == $options['disable_comments'] ? true : false );
516 if ( is_array( $asenha_public_post_types ) ) {
517 foreach ( $asenha_public_post_types as $post_type_slug => $post_type_label ) {
518 // e.g. $post_type_slug is post, $post_type_label is Posts
519 if ( !isset( $options['disable_comments_for'][$post_type_slug] ) ) {
520 $options['disable_comments_for'][$post_type_slug] = false;
521 }
522 $options['disable_comments_for'][$post_type_slug] = ( 'on' == $options['disable_comments_for'][$post_type_slug] ? true : false );
523 }
524 }
525 // Disable REST API
526 if ( !isset( $options['disable_rest_api'] ) ) {
527 $options['disable_rest_api'] = false;
528 }
529 $options['disable_rest_api'] = ( 'on' == $options['disable_rest_api'] ? true : false );
530 // Disable Feeds
531 if ( !isset( $options['disable_feeds'] ) ) {
532 $options['disable_feeds'] = false;
533 }
534 $options['disable_feeds'] = ( 'on' == $options['disable_feeds'] ? true : false );
535 // Disable Embeds
536 if ( !isset( $options['disable_embeds'] ) ) {
537 $options['disable_embeds'] = false;
538 }
539 $options['disable_embeds'] = ( 'on' == $options['disable_embeds'] ? true : false );
540 // Disable Auto Updates
541 if ( !isset( $options['disable_all_updates'] ) ) {
542 $options['disable_all_updates'] = false;
543 }
544 $options['disable_all_updates'] = ( 'on' == $options['disable_all_updates'] ? true : false );
545 // Disable Author Archives
546 if ( !isset( $options['disable_author_archives'] ) ) {
547 $options['disable_author_archives'] = false;
548 }
549 $options['disable_author_archives'] = ( 'on' == $options['disable_author_archives'] ? true : false );
550 // Disable Smaller Components
551 if ( !isset( $options['disable_smaller_components'] ) ) {
552 $options['disable_smaller_components'] = false;
553 }
554 $options['disable_smaller_components'] = ( 'on' == $options['disable_smaller_components'] ? true : false );
555 if ( !isset( $options['disable_head_generator_tag'] ) ) {
556 $options['disable_head_generator_tag'] = false;
557 }
558 $options['disable_head_generator_tag'] = ( 'on' == $options['disable_head_generator_tag'] ? true : false );
559 if ( !isset( $options['disable_feed_generator_tag'] ) ) {
560 $options['disable_feed_generator_tag'] = false;
561 }
562 $options['disable_feed_generator_tag'] = ( 'on' == $options['disable_feed_generator_tag'] ? true : false );
563 if ( !isset( $options['disable_resource_version_number'] ) ) {
564 $options['disable_resource_version_number'] = false;
565 }
566 $options['disable_resource_version_number'] = ( 'on' == $options['disable_resource_version_number'] ? true : false );
567 if ( !isset( $options['disable_head_wlwmanifest_tag'] ) ) {
568 $options['disable_head_wlwmanifest_tag'] = false;
569 }
570 $options['disable_head_wlwmanifest_tag'] = ( 'on' == $options['disable_head_wlwmanifest_tag'] ? true : false );
571 if ( !isset( $options['disable_head_rsd_tag'] ) ) {
572 $options['disable_head_rsd_tag'] = false;
573 }
574 $options['disable_head_rsd_tag'] = ( 'on' == $options['disable_head_rsd_tag'] ? true : false );
575 if ( !isset( $options['disable_head_shortlink_tag'] ) ) {
576 $options['disable_head_shortlink_tag'] = false;
577 }
578 $options['disable_head_shortlink_tag'] = ( 'on' == $options['disable_head_shortlink_tag'] ? true : false );
579 if ( !isset( $options['disable_frontend_dashicons'] ) ) {
580 $options['disable_frontend_dashicons'] = false;
581 }
582 $options['disable_frontend_dashicons'] = ( 'on' == $options['disable_frontend_dashicons'] ? true : false );
583 if ( !isset( $options['disable_emoji_support'] ) ) {
584 $options['disable_emoji_support'] = false;
585 }
586 $options['disable_emoji_support'] = ( 'on' == $options['disable_emoji_support'] ? true : false );
587 if ( !isset( $options['disable_jquery_migrate'] ) ) {
588 $options['disable_jquery_migrate'] = false;
589 }
590 $options['disable_jquery_migrate'] = ( 'on' == $options['disable_jquery_migrate'] ? true : false );
591 if ( !isset( $options['disable_block_widgets'] ) ) {
592 $options['disable_block_widgets'] = false;
593 }
594 $options['disable_block_widgets'] = ( 'on' == $options['disable_block_widgets'] ? true : false );
595 if ( !isset( $options['disable_lazy_load'] ) ) {
596 $options['disable_lazy_load'] = false;
597 }
598 $options['disable_lazy_load'] = ( 'on' == $options['disable_lazy_load'] ? true : false );
599 if ( !isset( $options['disable_application_passwords'] ) ) {
600 $options['disable_application_passwords'] = false;
601 }
602 $options['disable_application_passwords'] = ( 'on' == $options['disable_application_passwords'] ? true : false );
603 if ( !isset( $options['disable_plugin_theme_editor'] ) ) {
604 $options['disable_plugin_theme_editor'] = false;
605 }
606 $options['disable_plugin_theme_editor'] = ( 'on' == $options['disable_plugin_theme_editor'] ? true : false );
607 // =================================================================
608 // SECURITY
609 // =================================================================
610 // Limit Login Attempts
611 if ( !isset( $options['limit_login_attempts'] ) ) {
612 $options['limit_login_attempts'] = false;
613 }
614 $options['limit_login_attempts'] = ( 'on' == $options['limit_login_attempts'] ? true : false );
615 if ( !isset( $options['login_fails_allowed'] ) ) {
616 $options['login_fails_allowed'] = 3;
617 }
618 $options['login_fails_allowed'] = ( !empty( $options['login_fails_allowed'] ) ? sanitize_text_field( $options['login_fails_allowed'] ) : 3 );
619 if ( !isset( $options['login_lockout_maxcount'] ) ) {
620 $options['login_lockout_maxcount'] = 3;
621 }
622 $options['login_lockout_maxcount'] = ( !empty( $options['login_lockout_maxcount'] ) ? sanitize_text_field( $options['login_lockout_maxcount'] ) : 3 );
623 if ( !isset( $options['limit_login_attempts_header_override'] ) ) {
624 $options['limit_login_attempts_header_override'] = '';
625 }
626 $options['limit_login_attempts_header_override'] = ( !empty( $options['limit_login_attempts_header_override'] ) ? sanitize_text_field( $options['limit_login_attempts_header_override'] ) : '' );
627 if ( !isset( $options['login_attempts_log_table'] ) ) {
628 $options['login_attempts_log_table'] = '';
629 }
630 $options['login_attempts_log_table'] = '';
631 if ( !isset( $options['limit_login_attempts'] ) ) {
632 $options['failed_login_attempts_log_schedule_cleanup_by_amount'] = false;
633 }
634 $options['failed_login_attempts_log_schedule_cleanup_by_amount'] = ( 'on' == $options['limit_login_attempts'] ? true : false );
635 // Obfuscate Author Slugs
636 if ( !isset( $options['obfuscate_author_slugs'] ) ) {
637 $options['obfuscate_author_slugs'] = false;
638 }
639 $options['obfuscate_author_slugs'] = ( 'on' == $options['obfuscate_author_slugs'] ? true : false );
640 // Obfuscate Email Address
641 if ( !isset( $options['obfuscate_email_address'] ) ) {
642 $options['obfuscate_email_address'] = false;
643 }
644 $options['obfuscate_email_address'] = ( 'on' == $options['obfuscate_email_address'] ? true : false );
645 if ( !isset( $options['obfuscate_email_address_in_content'] ) ) {
646 $options['obfuscate_email_address_in_content'] = false;
647 }
648 $options['obfuscate_email_address_in_content'] = ( 'on' == $options['obfuscate_email_address_in_content'] ? true : false );
649 if ( !isset( $options['obfuscate_email_address_visitor_only'] ) ) {
650 $options['obfuscate_email_address_visitor_only'] = false;
651 }
652 $options['obfuscate_email_address_visitor_only'] = ( 'on' == $options['obfuscate_email_address_visitor_only'] ? true : false );
653 // Disable XML-RPC
654 if ( !isset( $options['disable_xmlrpc'] ) ) {
655 $options['disable_xmlrpc'] = false;
656 }
657 $options['disable_xmlrpc'] = ( 'on' == $options['disable_xmlrpc'] ? true : false );
658 // =================================================================
659 // OPTIMIZATIONS
660 // =================================================================
661 // Image Upload Control
662 if ( !isset( $options['image_upload_control'] ) ) {
663 $options['image_upload_control'] = false;
664 }
665 $options['image_upload_control'] = ( 'on' == $options['image_upload_control'] ? true : false );
666 if ( !isset( $options['image_max_width'] ) ) {
667 $options['image_max_width'] = 1920;
668 }
669 $options['image_max_width'] = ( !empty( $options['image_max_width'] ) ? sanitize_text_field( $options['image_max_width'] ) : 1920 );
670 if ( !isset( $options['image_max_height'] ) ) {
671 $options['image_max_height'] = 1920;
672 }
673 $options['image_max_height'] = ( !empty( $options['image_max_height'] ) ? sanitize_text_field( $options['image_max_height'] ) : 1920 );
674 // Enable Revisions Control
675 if ( !isset( $options['enable_revisions_control'] ) ) {
676 $options['enable_revisions_control'] = false;
677 }
678 $options['enable_revisions_control'] = ( 'on' == $options['enable_revisions_control'] ? true : false );
679 if ( !isset( $options['revisions_max_number'] ) ) {
680 $options['revisions_max_number'] = 10;
681 }
682 $options['revisions_max_number'] = ( !empty( $options['revisions_max_number'] ) ? sanitize_text_field( $options['revisions_max_number'] ) : 10 );
683 if ( is_array( $asenha_revisions_post_types ) ) {
684 foreach ( $asenha_revisions_post_types as $post_type_slug => $post_type_label ) {
685 // e.g. $post_type_slug is post,
686 if ( !isset( $options['enable_revisions_control_for'][$post_type_slug] ) ) {
687 $options['enable_revisions_control_for'][$post_type_slug] = false;
688 }
689 $options['enable_revisions_control_for'][$post_type_slug] = ( 'on' == $options['enable_revisions_control_for'][$post_type_slug] ? true : false );
690 }
691 }
692 // Enable Heartbeat Control
693 if ( !isset( $options['enable_heartbeat_control'] ) ) {
694 $options['enable_heartbeat_control'] = false;
695 }
696 $options['enable_heartbeat_control'] = ( 'on' == $options['enable_heartbeat_control'] ? true : false );
697 if ( !isset( $options['heartbeat_control_for_admin_pages'] ) ) {
698 $options['heartbeat_control_for_admin_pages'] = 'default';
699 }
700 if ( !isset( $options['heartbeat_control_for_post_edit'] ) ) {
701 $options['heartbeat_control_for_post_edit'] = 'default';
702 }
703 if ( !isset( $options['heartbeat_control_for_frontend'] ) ) {
704 $options['heartbeat_control_for_frontend'] = 'default';
705 }
706 if ( !isset( $options['heartbeat_interval_for_admin_pages'] ) ) {
707 $options['heartbeat_interval_for_admin_pages'] = 60;
708 }
709 $options['heartbeat_interval_for_admin_pages'] = ( !empty( $options['heartbeat_interval_for_admin_pages'] ) ? sanitize_text_field( $options['heartbeat_interval_for_admin_pages'] ) : 60 );
710 if ( !isset( $options['heartbeat_interval_for_post_edit'] ) ) {
711 $options['heartbeat_interval_for_post_edit'] = 15;
712 }
713 $options['heartbeat_interval_for_post_edit'] = ( !empty( $options['heartbeat_interval_for_post_edit'] ) ? sanitize_text_field( $options['heartbeat_interval_for_post_edit'] ) : 15 );
714 if ( !isset( $options['heartbeat_interval_for_frontend'] ) ) {
715 $options['heartbeat_interval_for_frontend'] = 60;
716 }
717 $options['heartbeat_interval_for_frontend'] = ( !empty( $options['heartbeat_interval_for_frontend'] ) ? sanitize_text_field( $options['heartbeat_interval_for_frontend'] ) : 60 );
718 // =================================================================
719 // UTILITIES
720 // =================================================================
721 // SMTP Email Delivery
722 if ( !isset( $options['smtp_email_delivery'] ) ) {
723 $options['smtp_email_delivery'] = false;
724 }
725 $options['smtp_email_delivery'] = ( 'on' == $options['smtp_email_delivery'] ? true : false );
726 if ( !isset( $options['smtp_host'] ) ) {
727 $options['smtp_host'] = '';
728 }
729 $options['smtp_host'] = ( !empty( $options['smtp_host'] ) ? sanitize_text_field( $options['smtp_host'] ) : '' );
730 if ( !isset( $options['smtp_port'] ) ) {
731 $options['smtp_port'] = '';
732 }
733 $options['smtp_port'] = ( !empty( $options['smtp_port'] ) ? $options['smtp_port'] : '' );
734 if ( !isset( $options['smtp_security'] ) ) {
735 $options['smtp_security'] = 'none';
736 }
737 $options['smtp_security'] = ( !empty( $options['smtp_security'] ) ? $options['smtp_security'] : 'none' );
738 if ( !isset( $options['smtp_username'] ) ) {
739 $options['smtp_username'] = '';
740 }
741 $options['smtp_username'] = ( !empty( $options['smtp_username'] ) ? sanitize_text_field( $options['smtp_username'] ) : '' );
742 if ( !isset( $options['smtp_password'] ) ) {
743 $options['smtp_password'] = '';
744 }
745 $options['smtp_password'] = ( !empty( $options['smtp_password'] ) ? $options['smtp_password'] : '' );
746 if ( !isset( $options['smtp_default_from_name'] ) ) {
747 $options['smtp_default_from_name'] = '';
748 }
749 $options['smtp_default_from_name'] = ( !empty( $options['smtp_default_from_name'] ) ? sanitize_text_field( $options['smtp_default_from_name'] ) : '' );
750 if ( !isset( $options['smtp_default_from_email'] ) ) {
751 $options['smtp_default_from_email'] = '';
752 }
753 $options['smtp_default_from_email'] = ( !empty( $options['smtp_default_from_email'] ) ? sanitize_text_field( $options['smtp_default_from_email'] ) : '' );
754 if ( !isset( $options['smtp_default_from_description'] ) ) {
755 $options['smtp_default_from_description'] = '';
756 }
757 if ( !isset( $options['smtp_force_from'] ) ) {
758 $options['smtp_force_from'] = false;
759 }
760 $options['smtp_force_from'] = ( 'on' == $options['smtp_force_from'] ? true : false );
761 if ( !isset( $options['smtp_bypass_ssl_verification'] ) ) {
762 $options['smtp_bypass_ssl_verification'] = false;
763 }
764 $options['smtp_bypass_ssl_verification'] = ( 'on' == $options['smtp_bypass_ssl_verification'] ? true : false );
765 if ( !isset( $options['smtp_debug'] ) ) {
766 $options['smtp_debug'] = false;
767 }
768 $options['smtp_debug'] = ( 'on' == $options['smtp_debug'] ? true : false );
769 // Multiple User Roles
770 if ( !isset( $options['multiple_user_roles'] ) ) {
771 $options['multiple_user_roles'] = false;
772 }
773 $options['multiple_user_roles'] = ( 'on' == $options['multiple_user_roles'] ? true : false );
774 // Image Sizes Panel
775 if ( !isset( $options['image_sizes_panel'] ) ) {
776 $options['image_sizes_panel'] = false;
777 }
778 $options['image_sizes_panel'] = ( 'on' == $options['image_sizes_panel'] ? true : false );
779 // View Admin as Role
780 if ( !isset( $options['view_admin_as_role'] ) ) {
781 $options['view_admin_as_role'] = false;
782 }
783 $options['view_admin_as_role'] = ( 'on' == $options['view_admin_as_role'] ? true : false );
784 // Enable Password Protection
785 if ( !isset( $options['enable_password_protection'] ) ) {
786 $options['enable_password_protection'] = false;
787 }
788 $options['enable_password_protection'] = ( 'on' == $options['enable_password_protection'] ? true : false );
789 if ( !isset( $options['password_protection_password'] ) ) {
790 $options['password_protection_password'] = 'secret';
791 }
792 $options['password_protection_password'] = ( !empty( $options['password_protection_password'] ) ? $options['password_protection_password'] : 'secret' );
793 // Maintenance Mode
794 if ( !isset( $options['maintenance_mode'] ) ) {
795 $options['maintenance_mode'] = false;
796 }
797 $options['maintenance_mode'] = ( 'on' == $options['maintenance_mode'] ? true : false );
798 if ( !isset( $options['maintenance_page_heading'] ) ) {
799 $options['maintenance_page_heading'] = 'We\'ll be back soon.';
800 }
801 $options['maintenance_page_heading'] = ( !empty( $options['maintenance_page_heading'] ) ? sanitize_text_field( $options['maintenance_page_heading'] ) : 'We\'ll be back soon.' );
802 if ( !isset( $options['maintenance_page_description'] ) ) {
803 $options['maintenance_page_description'] = 'This site is undergoing maintenance for an extended period today. Thanks for your patience.';
804 }
805 $options['maintenance_page_description'] = ( !empty( $options['maintenance_page_description'] ) ? sanitize_text_field( $options['maintenance_page_description'] ) : 'This site is undergoing maintenance for an extended period today. Thanks for your patience.' );
806 if ( !isset( $options['maintenance_page_background'] ) ) {
807 $options['maintenance_page_background'] = 'stripes';
808 }
809 $options['maintenance_page_background'] = ( !empty( $options['maintenance_page_background'] ) ? $options['maintenance_page_background'] : 'stripes' );
810 if ( !isset( $options['maintenance_mode_description'] ) ) {
811 $options['maintenance_mode_description'] = '';
812 }
813 // Redirect 404 to Homepage
814 if ( !isset( $options['redirect_404_to_homepage'] ) ) {
815 $options['redirect_404_to_homepage'] = false;
816 }
817 $options['redirect_404_to_homepage'] = ( 'on' == $options['redirect_404_to_homepage'] ? true : false );
818 // Show System Summary in At a Glance Dashboard Widget
819 if ( !isset( $options['display_system_summary'] ) ) {
820 $options['display_system_summary'] = false;
821 }
822 $options['display_system_summary'] = ( 'on' == $options['display_system_summary'] ? true : false );
823 // Search Engines Visibility Status
824 if ( !isset( $options['search_engine_visibility_status'] ) ) {
825 $options['search_engine_visibility_status'] = false;
826 }
827 $options['search_engine_visibility_status'] = ( 'on' == $options['search_engine_visibility_status'] ? true : false );
828 return $options;
829 }
830
831 /**
832 * Sanitize checkbox field. For reference purpose. Not currently in use.
833 *
834 * @since 1.0.0
835 */
836 function asenha_sanitize_checkbox_field( $value ) {
837 // A checked checkbox field will originally be saved as an 'on' value in the option. We transform that into true (shown as 1) or false (shown as empty value)
838 return ( 'on' === $value ? true : false );
839 }
840
841 }
842