PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 7.8.2
Admin and Site Enhancements (ASE) v7.8.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 1 year ago class-admin-menu-organizer.php 1 year ago class-auto-publish-posts-with-missed-schedule.php 1 year ago class-avif-upload.php 1 year ago class-captcha-protection.php 1 year ago class-change-login-url.php 1 year ago class-cleanup-admin-bar.php 1 year ago class-common-methods.php 1 year ago class-content-duplication.php 1 year ago class-content-order.php 1 year ago class-custom-admin-footer-text.php 1 year ago class-custom-body-class.php 1 year ago class-custom-css.php 1 year ago class-custom-nav-menu-items-in-new-tab.php 1 year ago class-deactivation.php 1 year ago class-disable-comments.php 1 year ago class-disable-dashboard-widgets.php 1 year ago class-disable-feeds.php 1 year ago class-disable-gutenberg.php 1 year ago class-disable-rest-api.php 1 year ago class-disable-smaller-components.php 1 year ago class-disable-updates.php 1 year ago class-disable-xml-rpc.php 1 year ago class-display-system-summary.php 1 year ago class-email-address-obfuscator.php 1 year ago class-email-delivery.php 1 year ago class-enhance-list-tables.php 1 year ago class-external-permalinks.php 1 year ago class-heartbeat-control.php 1 year ago class-hide-admin-bar.php 1 year ago class-hide-admin-notices.php 1 year ago class-image-sizes-panel.php 1 year ago class-image-upload-control.php 1 year ago class-insert-head-body-footer-code.php 1 year ago class-last-login-column.php 1 year ago class-limit-login-attempts.php 1 year ago class-login-id-type.php 1 year ago class-login-logout-menu.php 1 year ago class-maintenance-mode.php 1 year ago class-manage-ads-appads-txt.php 1 year ago class-manage-robots-txt.php 1 year ago class-media-replacement.php 1 year ago class-multiple-user-roles.php 1 year ago class-obfuscate-author-slugs.php 1 year ago class-open-external-links-in-new-tab.php 1 year ago class-password-protection.php 1 year ago class-redirect-after-login.php 1 year ago class-redirect-after-logout.php 1 year ago class-redirect-fourofour.php 1 year ago class-registration-date-column.php 1 year ago class-revisions-control.php 1 year ago class-search-engines-visibility.php 1 year ago class-settings-fields-render.php 1 year ago class-settings-sanitization.php 1 year ago class-settings-sections-fields.php 1 year ago class-show-custom-taxonomy-filters.php 1 year ago class-site-identity-on-login-page.php 1 year ago class-svg-upload.php 1 year ago class-various-admin-ui-enhancements.php 1 year ago class-view-admin-as-role.php 1 year ago class-wider-admin-menu.php 1 year ago class-wp-config-transformer.php 1 year ago
class-settings-sanitization.php
821 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 // Content Duplication
33 if ( !isset( $options['enable_duplication'] ) ) {
34 $options['enable_duplication'] = false;
35 }
36 $options['enable_duplication'] = ( 'on' == $options['enable_duplication'] ? true : false );
37 if ( !isset( $options['duplication_redirect_destination'] ) ) {
38 $options['duplication_redirect_destination'] = 'edit';
39 }
40 // Content Order
41 if ( !isset( $options['content_order'] ) ) {
42 $options['content_order'] = false;
43 }
44 $options['content_order'] = ( 'on' == $options['content_order'] ? true : false );
45 if ( is_array( $asenha_all_post_types ) ) {
46 foreach ( $asenha_all_post_types as $post_type_slug => $post_type_label ) {
47 // e.g. $post_type_slug is post, $post_type_label is Posts
48 if ( post_type_supports( $post_type_slug, 'page-attributes' ) || is_post_type_hierarchical( $post_type_slug ) ) {
49 if ( !isset( $options['content_order_for'][$post_type_slug] ) ) {
50 $options['content_order_for'][$post_type_slug] = false;
51 }
52 $options['content_order_for'][$post_type_slug] = ( 'on' == $options['content_order_for'][$post_type_slug] ? true : false );
53 }
54 }
55 }
56 // Enable Media Replacement
57 if ( !isset( $options['enable_media_replacement'] ) ) {
58 $options['enable_media_replacement'] = false;
59 }
60 $options['enable_media_replacement'] = ( 'on' == $options['enable_media_replacement'] ? true : false );
61 // Enable SVG Upload
62 if ( !isset( $options['enable_svg_upload'] ) ) {
63 $options['enable_svg_upload'] = false;
64 }
65 $options['enable_svg_upload'] = ( 'on' == $options['enable_svg_upload'] ? true : false );
66 if ( is_array( $roles ) ) {
67 foreach ( $roles as $role_slug => $role_label ) {
68 // e.g. $role_slug is administrator, $role_label is Administrator
69 if ( !isset( $options['enable_svg_upload_for'][$role_slug] ) ) {
70 $options['enable_svg_upload_for'][$role_slug] = false;
71 }
72 $options['enable_svg_upload_for'][$role_slug] = ( 'on' == $options['enable_svg_upload_for'][$role_slug] ? true : false );
73 }
74 }
75 // Enable SVG Upload
76 if ( !isset( $options['enable_avif_upload'] ) ) {
77 $options['enable_avif_upload'] = false;
78 }
79 $options['enable_avif_upload'] = ( 'on' == $options['enable_avif_upload'] ? true : false );
80 // Enable External Permalinks
81 if ( !isset( $options['enable_external_permalinks'] ) ) {
82 $options['enable_external_permalinks'] = false;
83 }
84 $options['enable_external_permalinks'] = ( 'on' == $options['enable_external_permalinks'] ? true : false );
85 if ( is_array( $asenha_public_post_types ) ) {
86 foreach ( $asenha_public_post_types as $post_type_slug => $post_type_label ) {
87 // e.g. $post_type_slug is post, $post_type_label is Posts
88 if ( !isset( $options['enable_external_permalinks_for'][$post_type_slug] ) ) {
89 $options['enable_external_permalinks_for'][$post_type_slug] = false;
90 }
91 $options['enable_external_permalinks_for'][$post_type_slug] = ( 'on' == $options['enable_external_permalinks_for'][$post_type_slug] ? true : false );
92 }
93 }
94 // Open All External Links in New Tab
95 if ( !isset( $options['external_links_new_tab'] ) ) {
96 $options['external_links_new_tab'] = false;
97 }
98 $options['external_links_new_tab'] = ( 'on' == $options['external_links_new_tab'] ? true : false );
99 // Allow Custom Nav Menu Items to Open in New Tab
100 if ( !isset( $options['custom_nav_menu_items_new_tab'] ) ) {
101 $options['custom_nav_menu_items_new_tab'] = false;
102 }
103 $options['custom_nav_menu_items_new_tab'] = ( 'on' == $options['custom_nav_menu_items_new_tab'] ? true : false );
104 // Enable Auto-Publishing of Posts with Missed Schedules
105 if ( !isset( $options['enable_missed_schedule_posts_auto_publish'] ) ) {
106 $options['enable_missed_schedule_posts_auto_publish'] = false;
107 }
108 $options['enable_missed_schedule_posts_auto_publish'] = ( 'on' == $options['enable_missed_schedule_posts_auto_publish'] ? true : false );
109 // =================================================================
110 // ADMIN INTERFACE
111 // =================================================================
112 // Hide or Modify Elements / Clean Up Admin Bar
113 if ( !isset( $options['hide_modify_elements'] ) ) {
114 $options['hide_modify_elements'] = false;
115 }
116 $options['hide_modify_elements'] = ( 'on' == $options['hide_modify_elements'] ? true : false );
117 if ( !isset( $options['hide_ab_wp_logo_menu'] ) ) {
118 $options['hide_ab_wp_logo_menu'] = false;
119 }
120 $options['hide_ab_wp_logo_menu'] = ( 'on' == $options['hide_ab_wp_logo_menu'] ? true : false );
121 if ( !isset( $options['hide_ab_site_menu'] ) ) {
122 $options['hide_ab_site_menu'] = false;
123 }
124 $options['hide_ab_site_menu'] = ( 'on' == $options['hide_ab_site_menu'] ? true : false );
125 if ( !isset( $options['hide_ab_customize_menu'] ) ) {
126 $options['hide_ab_customize_menu'] = false;
127 }
128 $options['hide_ab_customize_menu'] = ( 'on' == $options['hide_ab_customize_menu'] ? true : false );
129 if ( !isset( $options['hide_ab_comments_menu'] ) ) {
130 $options['hide_ab_comments_menu'] = false;
131 }
132 $options['hide_ab_comments_menu'] = ( 'on' == $options['hide_ab_comments_menu'] ? true : false );
133 if ( !isset( $options['hide_ab_updates_menu'] ) ) {
134 $options['hide_ab_updates_menu'] = false;
135 }
136 $options['hide_ab_updates_menu'] = ( 'on' == $options['hide_ab_updates_menu'] ? true : false );
137 if ( !isset( $options['hide_ab_new_content_menu'] ) ) {
138 $options['hide_ab_new_content_menu'] = false;
139 }
140 $options['hide_ab_new_content_menu'] = ( 'on' == $options['hide_ab_new_content_menu'] ? true : false );
141 if ( !isset( $options['hide_ab_howdy'] ) ) {
142 $options['hide_ab_howdy'] = false;
143 }
144 $options['hide_ab_howdy'] = ( 'on' == $options['hide_ab_howdy'] ? true : false );
145 if ( !isset( $options['hide_help_drawer'] ) ) {
146 $options['hide_help_drawer'] = false;
147 }
148 $options['hide_help_drawer'] = ( 'on' == $options['hide_help_drawer'] ? true : false );
149 // Hide Admin Notices
150 if ( !isset( $options['hide_admin_notices'] ) ) {
151 $options['hide_admin_notices'] = false;
152 }
153 $options['hide_admin_notices'] = ( 'on' == $options['hide_admin_notices'] ? true : false );
154 // Disable Dashboard Widgets
155 if ( !isset( $options['disable_dashboard_widgets'] ) ) {
156 $options['disable_dashboard_widgets'] = false;
157 }
158 $options['disable_dashboard_widgets'] = ( 'on' == $options['disable_dashboard_widgets'] ? true : false );
159 $dashboard_widgets = $options_extra['dashboard_widgets'];
160 if ( is_array( $dashboard_widgets ) ) {
161 foreach ( $dashboard_widgets as $widget ) {
162 if ( !isset( $options['disabled_dashboard_widgets'][$widget['id'] . '__' . $widget['context'] . '__' . $widget['priority']] ) ) {
163 $options['disabled_dashboard_widgets'][$widget['id'] . '__' . $widget['context'] . '__' . $widget['priority']] = false;
164 }
165 $options['disabled_dashboard_widgets'][$widget['id'] . '__' . $widget['context'] . '__' . $widget['priority']] = ( 'on' == $options['disabled_dashboard_widgets'][$widget['id'] . '__' . $widget['context'] . '__' . $widget['priority']] ? true : false );
166 }
167 }
168 if ( !isset( $options['disable_welcome_panel_in_dashboard'] ) ) {
169 $options['disable_welcome_panel_in_dashboard'] = false;
170 }
171 $options['disable_welcome_panel_in_dashboard'] = ( 'on' == $options['disable_welcome_panel_in_dashboard'] ? true : false );
172 // Hide Admin Bar
173 if ( !isset( $options['hide_admin_bar'] ) ) {
174 $options['hide_admin_bar'] = false;
175 }
176 $options['hide_admin_bar'] = ( 'on' == $options['hide_admin_bar'] ? true : false );
177 if ( is_array( $roles ) ) {
178 foreach ( $roles as $role_slug => $role_label ) {
179 // e.g. $role_slug is administrator, $role_label is Administrator
180 // on the frontend
181 if ( !isset( $options['hide_admin_bar_for'][$role_slug] ) ) {
182 $options['hide_admin_bar_for'][$role_slug] = false;
183 }
184 $options['hide_admin_bar_for'][$role_slug] = ( 'on' == $options['hide_admin_bar_for'][$role_slug] ? true : false );
185 }
186 }
187 // Wider Admin Menu
188 if ( !isset( $options['wider_admin_menu'] ) ) {
189 $options['wider_admin_menu'] = false;
190 }
191 $options['wider_admin_menu'] = ( 'on' == $options['wider_admin_menu'] ? true : false );
192 if ( !isset( $options['admin_menu_width'] ) ) {
193 $options['admin_menu_width'] = 200;
194 }
195 $options['admin_menu_width'] = ( !empty( $options['admin_menu_width'] ) ? sanitize_text_field( $options['admin_menu_width'] ) : 200 );
196 // Admin Menu Organizer
197 if ( !isset( $options['customize_admin_menu'] ) ) {
198 $options['customize_admin_menu'] = false;
199 }
200 $options['customize_admin_menu'] = ( 'on' == $options['customize_admin_menu'] ? true : false );
201 if ( !isset( $options['custom_menu_order'] ) ) {
202 $options['custom_menu_order'] = '';
203 }
204 // The following fields are added on rendering of custom_menu_order field
205 if ( !isset( $options['custom_menu_titles'] ) ) {
206 $options['custom_menu_titles'] = '';
207 }
208 if ( !isset( $options['custom_menu_hidden'] ) ) {
209 $options['custom_menu_hidden'] = '';
210 }
211 // Enhance List Tables
212 if ( !isset( $options['enhance_list_tables'] ) ) {
213 $options['enhance_list_tables'] = false;
214 }
215 $options['enhance_list_tables'] = ( 'on' == $options['enhance_list_tables'] ? true : false );
216 // Show Featured Image Column
217 if ( !isset( $options['show_featured_image_column'] ) ) {
218 $options['show_featured_image_column'] = false;
219 }
220 $options['show_featured_image_column'] = ( 'on' == $options['show_featured_image_column'] ? true : false );
221 // Show Excerpt Column
222 if ( !isset( $options['show_excerpt_column'] ) ) {
223 $options['show_excerpt_column'] = false;
224 }
225 $options['show_excerpt_column'] = ( 'on' == $options['show_excerpt_column'] ? true : false );
226 // Show Last Modified Column
227 if ( !isset( $options['show_last_modified_column'] ) ) {
228 $options['show_last_modified_column'] = false;
229 }
230 $options['show_last_modified_column'] = ( 'on' == $options['show_last_modified_column'] ? true : false );
231 // Show ID Column
232 if ( !isset( $options['show_id_column'] ) ) {
233 $options['show_id_column'] = false;
234 }
235 $options['show_id_column'] = ( 'on' == $options['show_id_column'] ? true : false );
236 // Show File Size Column in Media Library
237 if ( !isset( $options['show_file_size_column'] ) ) {
238 $options['show_file_size_column'] = false;
239 }
240 $options['show_file_size_column'] = ( 'on' == $options['show_file_size_column'] ? true : false );
241 // Show ID in Action Row
242 if ( !isset( $options['show_id_in_action_row'] ) ) {
243 $options['show_id_in_action_row'] = false;
244 }
245 $options['show_id_in_action_row'] = ( 'on' == $options['show_id_in_action_row'] ? true : false );
246 // Show Custom Taxonomy Filters
247 if ( !isset( $options['show_custom_taxonomy_filters'] ) ) {
248 $options['show_custom_taxonomy_filters'] = false;
249 }
250 $options['show_custom_taxonomy_filters'] = ( 'on' == $options['show_custom_taxonomy_filters'] ? true : false );
251 // Hide Date Column
252 if ( !isset( $options['hide_date_column'] ) ) {
253 $options['hide_date_column'] = false;
254 }
255 $options['hide_date_column'] = ( 'on' == $options['hide_date_column'] ? true : false );
256 // Hide Comments Column
257 if ( !isset( $options['hide_comments_column'] ) ) {
258 $options['hide_comments_column'] = false;
259 }
260 $options['hide_comments_column'] = ( 'on' == $options['hide_comments_column'] ? true : false );
261 // Hide Post Tags Column
262 if ( !isset( $options['hide_post_tags_column'] ) ) {
263 $options['hide_post_tags_column'] = false;
264 }
265 $options['hide_post_tags_column'] = ( 'on' == $options['hide_post_tags_column'] ? true : false );
266 // Custom Admin Footer Text
267 if ( !isset( $options['custom_admin_footer_text'] ) ) {
268 $options['custom_admin_footer_text'] = false;
269 }
270 $options['custom_admin_footer_text'] = ( 'on' == $options['custom_admin_footer_text'] ? true : false );
271 if ( !isset( $options['custom_admin_footer_left'] ) ) {
272 $options['custom_admin_footer_left'] = '';
273 }
274 $options['custom_admin_footer_left'] = ( !empty( $options['custom_admin_footer_left'] ) ? wp_kses_post( $options['custom_admin_footer_left'] ) : '' );
275 if ( !isset( $options['custom_admin_footer_right'] ) ) {
276 $options['custom_admin_footer_right'] = '';
277 }
278 $options['custom_admin_footer_right'] = ( !empty( $options['custom_admin_footer_right'] ) ? wp_kses_post( $options['custom_admin_footer_right'] ) : '' );
279 // Various Admin UI Enhancements
280 if ( !isset( $options['various_admin_ui_enhancements'] ) ) {
281 $options['various_admin_ui_enhancements'] = false;
282 }
283 $options['various_admin_ui_enhancements'] = ( 'on' == $options['various_admin_ui_enhancements'] ? true : false );
284 // Media Library Infinite Scrolling
285 if ( !isset( $options['media_library_infinite_scrolling'] ) ) {
286 $options['media_library_infinite_scrolling'] = false;
287 }
288 $options['media_library_infinite_scrolling'] = ( 'on' == $options['media_library_infinite_scrolling'] ? true : false );
289 // Display Active Plugins First
290 if ( !isset( $options['display_active_plugins_first'] ) ) {
291 $options['display_active_plugins_first'] = false;
292 }
293 $options['display_active_plugins_first'] = ( 'on' == $options['display_active_plugins_first'] ? true : false );
294 // =================================================================
295 // LOG IN/OUT | REGISTER
296 // =================================================================
297 // Change Login URL
298 if ( !isset( $options['change_login_url'] ) ) {
299 $options['change_login_url'] = false;
300 }
301 $options['change_login_url'] = ( 'on' == $options['change_login_url'] ? true : false );
302 if ( !isset( $options['custom_login_slug'] ) ) {
303 $options['custom_login_slug'] = 'backend';
304 }
305 $options['custom_login_slug'] = ( !empty( $options['custom_login_slug'] ) ? sanitize_text_field( trim( $options['custom_login_slug'], '/' ) ) : 'backend' );
306 // Login ID Type
307 if ( !isset( $options['login_id_type_restriction'] ) ) {
308 $options['login_id_type_restriction'] = false;
309 }
310 $options['login_id_type_restriction'] = ( 'on' == $options['login_id_type_restriction'] ? true : false );
311 if ( !isset( $options['login_id_type'] ) ) {
312 $options['login_id_type'] = 'username';
313 }
314 $options['login_id_type'] = ( !empty( $options['login_id_type'] ) ? sanitize_text_field( $options['login_id_type'] ) : 'username' );
315 // Use Site Identity on the Login Page
316 if ( !isset( $options['site_identity_on_login'] ) ) {
317 $options['site_identity_on_login'] = false;
318 }
319 $options['site_identity_on_login'] = ( 'on' == $options['site_identity_on_login'] ? true : false );
320 // Enable Login Logout Menu
321 if ( !isset( $options['enable_login_logout_menu'] ) ) {
322 $options['enable_login_logout_menu'] = false;
323 }
324 $options['enable_login_logout_menu'] = ( 'on' == $options['enable_login_logout_menu'] ? true : false );
325 // Redirect After Login
326 if ( !isset( $options['redirect_after_login'] ) ) {
327 $options['redirect_after_login'] = false;
328 }
329 $options['redirect_after_login'] = ( 'on' == $options['redirect_after_login'] ? true : false );
330 if ( !isset( $options['redirect_after_login_type'] ) ) {
331 $options['redirect_after_login_type'] = 'single_url';
332 }
333 $options['redirect_after_login_type'] = ( !empty( $options['redirect_after_login_type'] ) ? sanitize_text_field( $options['redirect_after_login_type'] ) : 'single_url' );
334 if ( !isset( $options['redirect_after_login_to_slug'] ) ) {
335 $options['redirect_after_login_to_slug'] = '';
336 }
337 $options['redirect_after_login_to_slug'] = ( !empty( $options['redirect_after_login_to_slug'] ) ? sanitize_text_field( $options['redirect_after_login_to_slug'] ) : '' );
338 if ( is_array( $roles ) ) {
339 foreach ( $roles as $role_slug => $role_label ) {
340 // e.g. $role_slug is administrator, $role_label is Administrator
341 if ( !isset( $options['redirect_after_login_for'][$role_slug] ) ) {
342 $options['redirect_after_login_for'][$role_slug] = false;
343 }
344 $options['redirect_after_login_for'][$role_slug] = ( 'on' == $options['redirect_after_login_for'][$role_slug] ? true : false );
345 }
346 }
347 // Redirect After Logout
348 if ( !isset( $options['redirect_after_logout'] ) ) {
349 $options['redirect_after_logout'] = false;
350 }
351 $options['redirect_after_logout'] = ( 'on' == $options['redirect_after_logout'] ? true : false );
352 if ( !isset( $options['redirect_after_logout_type'] ) ) {
353 $options['redirect_after_logout_type'] = 'single_url';
354 }
355 $options['redirect_after_logout_type'] = ( !empty( $options['redirect_after_logout_type'] ) ? sanitize_text_field( $options['redirect_after_logout_type'] ) : 'single_url' );
356 if ( !isset( $options['redirect_after_logout_to_slug'] ) ) {
357 $options['redirect_after_logout_to_slug'] = '';
358 }
359 $options['redirect_after_logout_to_slug'] = ( !empty( $options['redirect_after_logout_to_slug'] ) ? sanitize_text_field( $options['redirect_after_logout_to_slug'] ) : '' );
360 if ( is_array( $roles ) ) {
361 foreach ( $roles as $role_slug => $role_label ) {
362 // e.g. $role_slug is administrator, $role_label is Administrator
363 if ( !isset( $options['redirect_after_logout_for'][$role_slug] ) ) {
364 $options['redirect_after_logout_for'][$role_slug] = false;
365 }
366 $options['redirect_after_logout_for'][$role_slug] = ( 'on' == $options['redirect_after_logout_for'][$role_slug] ? true : false );
367 }
368 }
369 // Last Login Column
370 if ( !isset( $options['enable_last_login_column'] ) ) {
371 $options['enable_last_login_column'] = false;
372 }
373 $options['enable_last_login_column'] = ( 'on' == $options['enable_last_login_column'] ? true : false );
374 // Registration Date Column
375 if ( !isset( $options['registration_date_column'] ) ) {
376 $options['registration_date_column'] = false;
377 }
378 $options['registration_date_column'] = ( 'on' == $options['registration_date_column'] ? true : false );
379 // Enable Custom Admin CSS
380 if ( !isset( $options['enable_custom_admin_css'] ) ) {
381 $options['enable_custom_admin_css'] = false;
382 }
383 $options['enable_custom_admin_css'] = ( 'on' == $options['enable_custom_admin_css'] ? true : false );
384 if ( !isset( $options['custom_admin_css'] ) ) {
385 $options['custom_admin_css'] = '';
386 }
387 $options['custom_admin_css'] = ( !empty( $options['custom_admin_css'] ) ? $options['custom_admin_css'] : '' );
388 // Enable Custom Frontend CSS
389 if ( !isset( $options['enable_custom_frontend_css'] ) ) {
390 $options['enable_custom_frontend_css'] = false;
391 }
392 $options['enable_custom_frontend_css'] = ( 'on' == $options['enable_custom_frontend_css'] ? true : false );
393 if ( !isset( $options['custom_frontend_css'] ) ) {
394 $options['custom_frontend_css'] = '';
395 }
396 $options['custom_frontend_css'] = ( !empty( $options['custom_frontend_css'] ) ? $options['custom_frontend_css'] : '' );
397 // Custom Body Class
398 if ( !isset( $options['enable_custom_body_class'] ) ) {
399 $options['enable_custom_body_class'] = false;
400 }
401 $options['enable_custom_body_class'] = ( 'on' == $options['enable_custom_body_class'] ? true : false );
402 if ( is_array( $asenha_public_post_types ) ) {
403 foreach ( $asenha_public_post_types as $post_type_slug => $post_type_label ) {
404 // e.g. $post_type_slug is post, $post_type_label is Posts
405 if ( !isset( $options['enable_custom_body_class_for'][$post_type_slug] ) ) {
406 $options['enable_custom_body_class_for'][$post_type_slug] = false;
407 }
408 $options['enable_custom_body_class_for'][$post_type_slug] = ( 'on' == $options['enable_custom_body_class_for'][$post_type_slug] ? true : false );
409 }
410 }
411 // Manage ads.txt and app-ads.txt
412 if ( !isset( $options['manage_ads_appads_txt'] ) ) {
413 $options['manage_ads_appads_txt'] = false;
414 }
415 $options['manage_ads_appads_txt'] = ( 'on' == $options['manage_ads_appads_txt'] ? true : false );
416 if ( !isset( $options['ads_txt_content'] ) ) {
417 $options['ads_txt_content'] = '';
418 }
419 $options['ads_txt_content'] = ( !empty( $options['ads_txt_content'] ) ? $options['ads_txt_content'] : '' );
420 if ( !isset( $options['app_ads_txt_content'] ) ) {
421 $options['app_ads_txt_content'] = '';
422 }
423 $options['app_ads_txt_content'] = ( !empty( $options['app_ads_txt_content'] ) ? $options['app_ads_txt_content'] : '' );
424 // Manage robots.txt
425 if ( !isset( $options['manage_robots_txt'] ) ) {
426 $options['manage_robots_txt'] = false;
427 }
428 $options['manage_robots_txt'] = ( 'on' == $options['manage_robots_txt'] ? true : false );
429 if ( !isset( $options['robots_txt_content'] ) ) {
430 $options['robots_txt_content'] = '';
431 } else {
432 if ( !empty( $options['robots_txt_content'] ) ) {
433 $options['robots_txt_content'] = $options['robots_txt_content'];
434 $is_robots_txt_real_file = is_file( ABSPATH . 'robots.txt' );
435 // rename real robots.txt file if it exists and Mange robots.txt is enabled
436 if ( $is_robots_txt_real_file && 'on' == $options['manage_robots_txt'] ) {
437 $robots_txt_backup_filename = 'robots_backup_' . date( 'Y_m_d__H_i', time() ) . '.txt';
438 $options_extra = get_option( ASENHA_SLUG_U . '_extra', array() );
439 $options_extra['robots_txt_backup_file_name'] = $robots_txt_backup_filename;
440 update_option( ASENHA_SLUG_U . '_extra', $options_extra, true );
441 rename( ABSPATH . 'robots.txt', ABSPATH . $robots_txt_backup_filename );
442 } elseif ( 'on' != $options['manage_robots_txt'] ) {
443 $options_extra = get_option( ASENHA_SLUG_U . '_extra', array() );
444 if ( array_key_exists( 'robots_txt_backup_file_name', $options_extra ) ) {
445 if ( is_file( ABSPATH . $options_extra['robots_txt_backup_file_name'] ) ) {
446 rename( ABSPATH . $options_extra['robots_txt_backup_file_name'], ABSPATH . 'robots.txt' );
447 }
448 }
449 }
450 } else {
451 $options['robots_txt_content'] = '';
452 }
453 }
454 // Insert <head>, <body> and <footer> code
455 if ( !isset( $options['insert_head_body_footer_code'] ) ) {
456 $options['insert_head_body_footer_code'] = false;
457 }
458 $options['insert_head_body_footer_code'] = ( 'on' == $options['insert_head_body_footer_code'] ? true : false );
459 if ( !isset( $options['head_code_priority'] ) ) {
460 $options['head_code_priority'] = 10;
461 }
462 $options['head_code_priority'] = ( !empty( $options['head_code_priority'] ) ? $options['head_code_priority'] : 10 );
463 if ( !isset( $options['head_code'] ) ) {
464 $options['head_code'] = '';
465 }
466 $options['head_code'] = ( !empty( $options['head_code'] ) ? $options['head_code'] : '' );
467 if ( !isset( $options['body_code_priority'] ) ) {
468 $options['body_code_priority'] = 10;
469 }
470 $options['body_code_priority'] = ( !empty( $options['body_code_priority'] ) ? $options['body_code_priority'] : 10 );
471 if ( !isset( $options['body_code'] ) ) {
472 $options['body_code'] = '';
473 }
474 $options['body_code'] = ( !empty( $options['body_code'] ) ? $options['body_code'] : '' );
475 if ( !isset( $options['footer_code_priority'] ) ) {
476 $options['footer_code_priority'] = 10;
477 }
478 $options['footer_code_priority'] = ( !empty( $options['footer_code_priority'] ) ? $options['footer_code_priority'] : 10 );
479 if ( !isset( $options['footer_code'] ) ) {
480 $options['footer_code'] = '';
481 }
482 $options['footer_code'] = ( !empty( $options['footer_code'] ) ? $options['footer_code'] : '' );
483 // =================================================================
484 // DISABLE COMPONENTS
485 // =================================================================
486 // Disable Gutenberg
487 if ( !isset( $options['disable_gutenberg'] ) ) {
488 $options['disable_gutenberg'] = false;
489 }
490 $options['disable_gutenberg'] = ( 'on' == $options['disable_gutenberg'] ? true : false );
491 if ( is_array( $asenha_gutenberg_post_types ) ) {
492 foreach ( $asenha_gutenberg_post_types as $post_type_slug => $post_type_label ) {
493 // e.g. $post_type_slug is post,
494 if ( !isset( $options['disable_gutenberg_for'][$post_type_slug] ) ) {
495 $options['disable_gutenberg_for'][$post_type_slug] = false;
496 }
497 $options['disable_gutenberg_for'][$post_type_slug] = ( 'on' == $options['disable_gutenberg_for'][$post_type_slug] ? true : false );
498 }
499 }
500 if ( !isset( $options['disable_gutenberg_frontend_styles'] ) ) {
501 $options['disable_gutenberg_frontend_styles'] = false;
502 }
503 $options['disable_gutenberg_frontend_styles'] = ( 'on' == $options['disable_gutenberg_frontend_styles'] ? true : false );
504 // Disable Comments
505 if ( !isset( $options['disable_comments'] ) ) {
506 $options['disable_comments'] = false;
507 }
508 $options['disable_comments'] = ( 'on' == $options['disable_comments'] ? true : false );
509 if ( is_array( $asenha_public_post_types ) ) {
510 foreach ( $asenha_public_post_types as $post_type_slug => $post_type_label ) {
511 // e.g. $post_type_slug is post, $post_type_label is Posts
512 if ( !isset( $options['disable_comments_for'][$post_type_slug] ) ) {
513 $options['disable_comments_for'][$post_type_slug] = false;
514 }
515 $options['disable_comments_for'][$post_type_slug] = ( 'on' == $options['disable_comments_for'][$post_type_slug] ? true : false );
516 }
517 }
518 // Disable REST API
519 if ( !isset( $options['disable_rest_api'] ) ) {
520 $options['disable_rest_api'] = false;
521 }
522 $options['disable_rest_api'] = ( 'on' == $options['disable_rest_api'] ? true : false );
523 // Disable Feeds
524 if ( !isset( $options['disable_feeds'] ) ) {
525 $options['disable_feeds'] = false;
526 }
527 $options['disable_feeds'] = ( 'on' == $options['disable_feeds'] ? true : false );
528 // Disable Auto Updates
529 if ( !isset( $options['disable_all_updates'] ) ) {
530 $options['disable_all_updates'] = false;
531 }
532 $options['disable_all_updates'] = ( 'on' == $options['disable_all_updates'] ? true : false );
533 // Disable Smaller Components
534 if ( !isset( $options['disable_smaller_components'] ) ) {
535 $options['disable_smaller_components'] = false;
536 }
537 $options['disable_smaller_components'] = ( 'on' == $options['disable_smaller_components'] ? true : false );
538 if ( !isset( $options['disable_head_generator_tag'] ) ) {
539 $options['disable_head_generator_tag'] = false;
540 }
541 $options['disable_head_generator_tag'] = ( 'on' == $options['disable_head_generator_tag'] ? true : false );
542 if ( !isset( $options['disable_feed_generator_tag'] ) ) {
543 $options['disable_feed_generator_tag'] = false;
544 }
545 $options['disable_feed_generator_tag'] = ( 'on' == $options['disable_feed_generator_tag'] ? true : false );
546 if ( !isset( $options['disable_resource_version_number'] ) ) {
547 $options['disable_resource_version_number'] = false;
548 }
549 $options['disable_resource_version_number'] = ( 'on' == $options['disable_resource_version_number'] ? true : false );
550 if ( !isset( $options['disable_head_wlwmanifest_tag'] ) ) {
551 $options['disable_head_wlwmanifest_tag'] = false;
552 }
553 $options['disable_head_wlwmanifest_tag'] = ( 'on' == $options['disable_head_wlwmanifest_tag'] ? true : false );
554 if ( !isset( $options['disable_head_rsd_tag'] ) ) {
555 $options['disable_head_rsd_tag'] = false;
556 }
557 $options['disable_head_rsd_tag'] = ( 'on' == $options['disable_head_rsd_tag'] ? true : false );
558 if ( !isset( $options['disable_head_shortlink_tag'] ) ) {
559 $options['disable_head_shortlink_tag'] = false;
560 }
561 $options['disable_head_shortlink_tag'] = ( 'on' == $options['disable_head_shortlink_tag'] ? true : false );
562 if ( !isset( $options['disable_frontend_dashicons'] ) ) {
563 $options['disable_frontend_dashicons'] = false;
564 }
565 $options['disable_frontend_dashicons'] = ( 'on' == $options['disable_frontend_dashicons'] ? true : false );
566 if ( !isset( $options['disable_emoji_support'] ) ) {
567 $options['disable_emoji_support'] = false;
568 }
569 $options['disable_emoji_support'] = ( 'on' == $options['disable_emoji_support'] ? true : false );
570 if ( !isset( $options['disable_jquery_migrate'] ) ) {
571 $options['disable_jquery_migrate'] = false;
572 }
573 $options['disable_jquery_migrate'] = ( 'on' == $options['disable_jquery_migrate'] ? true : false );
574 if ( !isset( $options['disable_block_widgets'] ) ) {
575 $options['disable_block_widgets'] = false;
576 }
577 $options['disable_block_widgets'] = ( 'on' == $options['disable_block_widgets'] ? true : false );
578 if ( !isset( $options['disable_lazy_load'] ) ) {
579 $options['disable_lazy_load'] = false;
580 }
581 $options['disable_lazy_load'] = ( 'on' == $options['disable_lazy_load'] ? true : false );
582 if ( !isset( $options['disable_application_passwords'] ) ) {
583 $options['disable_application_passwords'] = false;
584 }
585 $options['disable_application_passwords'] = ( 'on' == $options['disable_application_passwords'] ? true : false );
586 if ( !isset( $options['disable_plugin_theme_editor'] ) ) {
587 $options['disable_plugin_theme_editor'] = false;
588 }
589 $options['disable_plugin_theme_editor'] = ( 'on' == $options['disable_plugin_theme_editor'] ? true : false );
590 // =================================================================
591 // SECURITY
592 // =================================================================
593 // Limit Login Attempts
594 if ( !isset( $options['limit_login_attempts'] ) ) {
595 $options['limit_login_attempts'] = false;
596 }
597 $options['limit_login_attempts'] = ( 'on' == $options['limit_login_attempts'] ? true : false );
598 if ( !isset( $options['login_fails_allowed'] ) ) {
599 $options['login_fails_allowed'] = 3;
600 }
601 $options['login_fails_allowed'] = ( !empty( $options['login_fails_allowed'] ) ? sanitize_text_field( $options['login_fails_allowed'] ) : 3 );
602 if ( !isset( $options['login_lockout_maxcount'] ) ) {
603 $options['login_lockout_maxcount'] = 3;
604 }
605 $options['login_lockout_maxcount'] = ( !empty( $options['login_lockout_maxcount'] ) ? sanitize_text_field( $options['login_lockout_maxcount'] ) : 3 );
606 if ( !isset( $options['limit_login_attempts_header_override'] ) ) {
607 $options['limit_login_attempts_header_override'] = '';
608 }
609 $options['limit_login_attempts_header_override'] = ( !empty( $options['limit_login_attempts_header_override'] ) ? sanitize_text_field( $options['limit_login_attempts_header_override'] ) : '' );
610 if ( !isset( $options['login_attempts_log_table'] ) ) {
611 $options['login_attempts_log_table'] = '';
612 }
613 $options['login_attempts_log_table'] = '';
614 // Obfuscate Author Slugs
615 if ( !isset( $options['obfuscate_author_slugs'] ) ) {
616 $options['obfuscate_author_slugs'] = false;
617 }
618 $options['obfuscate_author_slugs'] = ( 'on' == $options['obfuscate_author_slugs'] ? true : false );
619 // Obfuscate Email Address
620 if ( !isset( $options['obfuscate_email_address'] ) ) {
621 $options['obfuscate_email_address'] = false;
622 }
623 $options['obfuscate_email_address'] = ( 'on' == $options['obfuscate_email_address'] ? true : false );
624 if ( !isset( $options['obfuscate_email_address_in_content'] ) ) {
625 $options['obfuscate_email_address_in_content'] = false;
626 }
627 $options['obfuscate_email_address_in_content'] = ( 'on' == $options['obfuscate_email_address_in_content'] ? true : false );
628 if ( !isset( $options['obfuscate_email_address_visitor_only'] ) ) {
629 $options['obfuscate_email_address_visitor_only'] = false;
630 }
631 $options['obfuscate_email_address_visitor_only'] = ( 'on' == $options['obfuscate_email_address_visitor_only'] ? true : false );
632 // Disable XML-RPC
633 if ( !isset( $options['disable_xmlrpc'] ) ) {
634 $options['disable_xmlrpc'] = false;
635 }
636 $options['disable_xmlrpc'] = ( 'on' == $options['disable_xmlrpc'] ? true : false );
637 // =================================================================
638 // OPTIMIZATIONS
639 // =================================================================
640 // Image Upload Control
641 if ( !isset( $options['image_upload_control'] ) ) {
642 $options['image_upload_control'] = false;
643 }
644 $options['image_upload_control'] = ( 'on' == $options['image_upload_control'] ? true : false );
645 if ( !isset( $options['image_max_width'] ) ) {
646 $options['image_max_width'] = 1920;
647 }
648 $options['image_max_width'] = ( !empty( $options['image_max_width'] ) ? sanitize_text_field( $options['image_max_width'] ) : 1920 );
649 if ( !isset( $options['image_max_height'] ) ) {
650 $options['image_max_height'] = 1920;
651 }
652 $options['image_max_height'] = ( !empty( $options['image_max_height'] ) ? sanitize_text_field( $options['image_max_height'] ) : 1920 );
653 // Enable Revisions Control
654 if ( !isset( $options['enable_revisions_control'] ) ) {
655 $options['enable_revisions_control'] = false;
656 }
657 $options['enable_revisions_control'] = ( 'on' == $options['enable_revisions_control'] ? true : false );
658 if ( !isset( $options['revisions_max_number'] ) ) {
659 $options['revisions_max_number'] = 10;
660 }
661 $options['revisions_max_number'] = ( !empty( $options['revisions_max_number'] ) ? sanitize_text_field( $options['revisions_max_number'] ) : 10 );
662 if ( is_array( $asenha_revisions_post_types ) ) {
663 foreach ( $asenha_revisions_post_types as $post_type_slug => $post_type_label ) {
664 // e.g. $post_type_slug is post,
665 if ( !isset( $options['enable_revisions_control_for'][$post_type_slug] ) ) {
666 $options['enable_revisions_control_for'][$post_type_slug] = false;
667 }
668 $options['enable_revisions_control_for'][$post_type_slug] = ( 'on' == $options['enable_revisions_control_for'][$post_type_slug] ? true : false );
669 }
670 }
671 // Enable Heartbeat Control
672 if ( !isset( $options['enable_heartbeat_control'] ) ) {
673 $options['enable_heartbeat_control'] = false;
674 }
675 $options['enable_heartbeat_control'] = ( 'on' == $options['enable_heartbeat_control'] ? true : false );
676 if ( !isset( $options['heartbeat_control_for_admin_pages'] ) ) {
677 $options['heartbeat_control_for_admin_pages'] = 'default';
678 }
679 if ( !isset( $options['heartbeat_control_for_post_edit'] ) ) {
680 $options['heartbeat_control_for_post_edit'] = 'default';
681 }
682 if ( !isset( $options['heartbeat_control_for_frontend'] ) ) {
683 $options['heartbeat_control_for_frontend'] = 'default';
684 }
685 if ( !isset( $options['heartbeat_interval_for_admin_pages'] ) ) {
686 $options['heartbeat_interval_for_admin_pages'] = 60;
687 }
688 $options['heartbeat_interval_for_admin_pages'] = ( !empty( $options['heartbeat_interval_for_admin_pages'] ) ? sanitize_text_field( $options['heartbeat_interval_for_admin_pages'] ) : 60 );
689 if ( !isset( $options['heartbeat_interval_for_post_edit'] ) ) {
690 $options['heartbeat_interval_for_post_edit'] = 15;
691 }
692 $options['heartbeat_interval_for_post_edit'] = ( !empty( $options['heartbeat_interval_for_post_edit'] ) ? sanitize_text_field( $options['heartbeat_interval_for_post_edit'] ) : 15 );
693 if ( !isset( $options['heartbeat_interval_for_frontend'] ) ) {
694 $options['heartbeat_interval_for_frontend'] = 60;
695 }
696 $options['heartbeat_interval_for_frontend'] = ( !empty( $options['heartbeat_interval_for_frontend'] ) ? sanitize_text_field( $options['heartbeat_interval_for_frontend'] ) : 60 );
697 // =================================================================
698 // UTILITIES
699 // =================================================================
700 // SMTP Email Delivery
701 if ( !isset( $options['smtp_email_delivery'] ) ) {
702 $options['smtp_email_delivery'] = false;
703 }
704 $options['smtp_email_delivery'] = ( 'on' == $options['smtp_email_delivery'] ? true : false );
705 if ( !isset( $options['smtp_host'] ) ) {
706 $options['smtp_host'] = '';
707 }
708 $options['smtp_host'] = ( !empty( $options['smtp_host'] ) ? sanitize_text_field( $options['smtp_host'] ) : '' );
709 if ( !isset( $options['smtp_port'] ) ) {
710 $options['smtp_port'] = '';
711 }
712 $options['smtp_port'] = ( !empty( $options['smtp_port'] ) ? $options['smtp_port'] : '' );
713 if ( !isset( $options['smtp_security'] ) ) {
714 $options['smtp_security'] = 'none';
715 }
716 $options['smtp_security'] = ( !empty( $options['smtp_security'] ) ? $options['smtp_security'] : 'none' );
717 if ( !isset( $options['smtp_username'] ) ) {
718 $options['smtp_username'] = '';
719 }
720 $options['smtp_username'] = ( !empty( $options['smtp_username'] ) ? sanitize_text_field( $options['smtp_username'] ) : '' );
721 if ( !isset( $options['smtp_password'] ) ) {
722 $options['smtp_password'] = '';
723 }
724 $options['smtp_password'] = ( !empty( $options['smtp_password'] ) ? $options['smtp_password'] : '' );
725 if ( !isset( $options['smtp_default_from_name'] ) ) {
726 $options['smtp_default_from_name'] = '';
727 }
728 $options['smtp_default_from_name'] = ( !empty( $options['smtp_default_from_name'] ) ? sanitize_text_field( $options['smtp_default_from_name'] ) : '' );
729 if ( !isset( $options['smtp_default_from_email'] ) ) {
730 $options['smtp_default_from_email'] = '';
731 }
732 $options['smtp_default_from_email'] = ( !empty( $options['smtp_default_from_email'] ) ? sanitize_text_field( $options['smtp_default_from_email'] ) : '' );
733 if ( !isset( $options['smtp_default_from_description'] ) ) {
734 $options['smtp_default_from_description'] = '';
735 }
736 if ( !isset( $options['smtp_force_from'] ) ) {
737 $options['smtp_force_from'] = false;
738 }
739 $options['smtp_force_from'] = ( 'on' == $options['smtp_force_from'] ? true : false );
740 if ( !isset( $options['smtp_bypass_ssl_verification'] ) ) {
741 $options['smtp_bypass_ssl_verification'] = false;
742 }
743 $options['smtp_bypass_ssl_verification'] = ( 'on' == $options['smtp_bypass_ssl_verification'] ? true : false );
744 if ( !isset( $options['smtp_debug'] ) ) {
745 $options['smtp_debug'] = false;
746 }
747 $options['smtp_debug'] = ( 'on' == $options['smtp_debug'] ? true : false );
748 // Multiple User Roles
749 if ( !isset( $options['multiple_user_roles'] ) ) {
750 $options['multiple_user_roles'] = false;
751 }
752 $options['multiple_user_roles'] = ( 'on' == $options['multiple_user_roles'] ? true : false );
753 // Image Sizes Panel
754 if ( !isset( $options['image_sizes_panel'] ) ) {
755 $options['image_sizes_panel'] = false;
756 }
757 $options['image_sizes_panel'] = ( 'on' == $options['image_sizes_panel'] ? true : false );
758 // View Admin as Role
759 if ( !isset( $options['view_admin_as_role'] ) ) {
760 $options['view_admin_as_role'] = false;
761 }
762 $options['view_admin_as_role'] = ( 'on' == $options['view_admin_as_role'] ? true : false );
763 // Enable Password Protection
764 if ( !isset( $options['enable_password_protection'] ) ) {
765 $options['enable_password_protection'] = false;
766 }
767 $options['enable_password_protection'] = ( 'on' == $options['enable_password_protection'] ? true : false );
768 if ( !isset( $options['password_protection_password'] ) ) {
769 $options['password_protection_password'] = 'secret';
770 }
771 $options['password_protection_password'] = ( !empty( $options['password_protection_password'] ) ? $options['password_protection_password'] : 'secret' );
772 // Maintenance Mode
773 if ( !isset( $options['maintenance_mode'] ) ) {
774 $options['maintenance_mode'] = false;
775 }
776 $options['maintenance_mode'] = ( 'on' == $options['maintenance_mode'] ? true : false );
777 if ( !isset( $options['maintenance_page_heading'] ) ) {
778 $options['maintenance_page_heading'] = 'We\'ll be back soon.';
779 }
780 $options['maintenance_page_heading'] = ( !empty( $options['maintenance_page_heading'] ) ? sanitize_text_field( $options['maintenance_page_heading'] ) : 'We\'ll be back soon.' );
781 if ( !isset( $options['maintenance_page_description'] ) ) {
782 $options['maintenance_page_description'] = 'This site is undergoing maintenance for an extended period today. Thanks for your patience.';
783 }
784 $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.' );
785 if ( !isset( $options['maintenance_page_background'] ) ) {
786 $options['maintenance_page_background'] = 'stripes';
787 }
788 $options['maintenance_page_background'] = ( !empty( $options['maintenance_page_background'] ) ? $options['maintenance_page_background'] : 'stripes' );
789 if ( !isset( $options['maintenance_mode_description'] ) ) {
790 $options['maintenance_mode_description'] = '';
791 }
792 // Redirect 404 to Homepage
793 if ( !isset( $options['redirect_404_to_homepage'] ) ) {
794 $options['redirect_404_to_homepage'] = false;
795 }
796 $options['redirect_404_to_homepage'] = ( 'on' == $options['redirect_404_to_homepage'] ? true : false );
797 // Show System Summary in At a Glance Dashboard Widget
798 if ( !isset( $options['display_system_summary'] ) ) {
799 $options['display_system_summary'] = false;
800 }
801 $options['display_system_summary'] = ( 'on' == $options['display_system_summary'] ? true : false );
802 // Search Engines Visibility Status
803 if ( !isset( $options['search_engine_visibility_status'] ) ) {
804 $options['search_engine_visibility_status'] = false;
805 }
806 $options['search_engine_visibility_status'] = ( 'on' == $options['search_engine_visibility_status'] ? true : false );
807 return $options;
808 }
809
810 /**
811 * Sanitize checkbox field. For reference purpose. Not currently in use.
812 *
813 * @since 1.0.0
814 */
815 function asenha_sanitize_checkbox_field( $value ) {
816 // 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)
817 return ( 'on' === $value ? true : false );
818 }
819
820 }
821