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