PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 7.4.2
Admin and Site Enhancements (ASE) v7.4.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-columns-manager.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-code-snippets-manager.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-content-types.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-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-settings-sanitization.php
800 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 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 | LOG OUT
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 // Enable 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 // Enable Custom Admin CSS
371 if ( !isset( $options['enable_custom_admin_css'] ) ) {
372 $options['enable_custom_admin_css'] = false;
373 }
374 $options['enable_custom_admin_css'] = ( 'on' == $options['enable_custom_admin_css'] ? true : false );
375 if ( !isset( $options['custom_admin_css'] ) ) {
376 $options['custom_admin_css'] = '';
377 }
378 $options['custom_admin_css'] = ( !empty( $options['custom_admin_css'] ) ? $options['custom_admin_css'] : '' );
379 // Enable Custom Frontend CSS
380 if ( !isset( $options['enable_custom_frontend_css'] ) ) {
381 $options['enable_custom_frontend_css'] = false;
382 }
383 $options['enable_custom_frontend_css'] = ( 'on' == $options['enable_custom_frontend_css'] ? true : false );
384 if ( !isset( $options['custom_frontend_css'] ) ) {
385 $options['custom_frontend_css'] = '';
386 }
387 $options['custom_frontend_css'] = ( !empty( $options['custom_frontend_css'] ) ? $options['custom_frontend_css'] : '' );
388 // Custom Body Class
389 if ( !isset( $options['enable_custom_body_class'] ) ) {
390 $options['enable_custom_body_class'] = false;
391 }
392 $options['enable_custom_body_class'] = ( 'on' == $options['enable_custom_body_class'] ? true : false );
393 if ( is_array( $asenha_public_post_types ) ) {
394 foreach ( $asenha_public_post_types as $post_type_slug => $post_type_label ) {
395 // e.g. $post_type_slug is post, $post_type_label is Posts
396 if ( !isset( $options['enable_custom_body_class_for'][$post_type_slug] ) ) {
397 $options['enable_custom_body_class_for'][$post_type_slug] = false;
398 }
399 $options['enable_custom_body_class_for'][$post_type_slug] = ( 'on' == $options['enable_custom_body_class_for'][$post_type_slug] ? true : false );
400 }
401 }
402 // Manage ads.txt and app-ads.txt
403 if ( !isset( $options['manage_ads_appads_txt'] ) ) {
404 $options['manage_ads_appads_txt'] = false;
405 }
406 $options['manage_ads_appads_txt'] = ( 'on' == $options['manage_ads_appads_txt'] ? true : false );
407 if ( !isset( $options['ads_txt_content'] ) ) {
408 $options['ads_txt_content'] = '';
409 }
410 $options['ads_txt_content'] = ( !empty( $options['ads_txt_content'] ) ? $options['ads_txt_content'] : '' );
411 if ( !isset( $options['app_ads_txt_content'] ) ) {
412 $options['app_ads_txt_content'] = '';
413 }
414 $options['app_ads_txt_content'] = ( !empty( $options['app_ads_txt_content'] ) ? $options['app_ads_txt_content'] : '' );
415 // Manage robots.txt
416 if ( !isset( $options['manage_robots_txt'] ) ) {
417 $options['manage_robots_txt'] = false;
418 }
419 $options['manage_robots_txt'] = ( 'on' == $options['manage_robots_txt'] ? true : false );
420 if ( !isset( $options['robots_txt_content'] ) ) {
421 $options['robots_txt_content'] = '';
422 } else {
423 if ( !empty( $options['robots_txt_content'] ) ) {
424 $options['robots_txt_content'] = $options['robots_txt_content'];
425 $is_robots_txt_real_file = is_file( ABSPATH . 'robots.txt' );
426 // rename real robots.txt file if it exists and Mange robots.txt is enabled
427 if ( $is_robots_txt_real_file && 'on' == $options['manage_robots_txt'] ) {
428 $robots_txt_backup_filename = 'robots_backup_' . date( 'Y_m_d__H_i', time() ) . '.txt';
429 $options_extra = get_option( ASENHA_SLUG_U . '_extra', array() );
430 $options_extra['robots_txt_backup_file_name'] = $robots_txt_backup_filename;
431 update_option( ASENHA_SLUG_U . '_extra', $options_extra, true );
432 rename( ABSPATH . 'robots.txt', ABSPATH . $robots_txt_backup_filename );
433 } elseif ( 'on' != $options['manage_robots_txt'] ) {
434 $options_extra = get_option( ASENHA_SLUG_U . '_extra', array() );
435 if ( array_key_exists( 'robots_txt_backup_file_name', $options_extra ) ) {
436 if ( is_file( ABSPATH . $options_extra['robots_txt_backup_file_name'] ) ) {
437 rename( ABSPATH . $options_extra['robots_txt_backup_file_name'], ABSPATH . 'robots.txt' );
438 }
439 }
440 }
441 } else {
442 $options['robots_txt_content'] = '';
443 }
444 }
445 // Insert <head>, <body> and <footer> code
446 if ( !isset( $options['insert_head_body_footer_code'] ) ) {
447 $options['insert_head_body_footer_code'] = false;
448 }
449 $options['insert_head_body_footer_code'] = ( 'on' == $options['insert_head_body_footer_code'] ? true : false );
450 if ( !isset( $options['head_code_priority'] ) ) {
451 $options['head_code_priority'] = 10;
452 }
453 $options['head_code_priority'] = ( !empty( $options['head_code_priority'] ) ? $options['head_code_priority'] : 10 );
454 if ( !isset( $options['head_code'] ) ) {
455 $options['head_code'] = '';
456 }
457 $options['head_code'] = ( !empty( $options['head_code'] ) ? $options['head_code'] : '' );
458 if ( !isset( $options['body_code_priority'] ) ) {
459 $options['body_code_priority'] = 10;
460 }
461 $options['body_code_priority'] = ( !empty( $options['body_code_priority'] ) ? $options['body_code_priority'] : 10 );
462 if ( !isset( $options['body_code'] ) ) {
463 $options['body_code'] = '';
464 }
465 $options['body_code'] = ( !empty( $options['body_code'] ) ? $options['body_code'] : '' );
466 if ( !isset( $options['footer_code_priority'] ) ) {
467 $options['footer_code_priority'] = 10;
468 }
469 $options['footer_code_priority'] = ( !empty( $options['footer_code_priority'] ) ? $options['footer_code_priority'] : 10 );
470 if ( !isset( $options['footer_code'] ) ) {
471 $options['footer_code'] = '';
472 }
473 $options['footer_code'] = ( !empty( $options['footer_code'] ) ? $options['footer_code'] : '' );
474 // =================================================================
475 // DISABLE COMPONENTS
476 // =================================================================
477 // Disable Gutenberg
478 if ( !isset( $options['disable_gutenberg'] ) ) {
479 $options['disable_gutenberg'] = false;
480 }
481 $options['disable_gutenberg'] = ( 'on' == $options['disable_gutenberg'] ? true : false );
482 if ( is_array( $asenha_gutenberg_post_types ) ) {
483 foreach ( $asenha_gutenberg_post_types as $post_type_slug => $post_type_label ) {
484 // e.g. $post_type_slug is post,
485 if ( !isset( $options['disable_gutenberg_for'][$post_type_slug] ) ) {
486 $options['disable_gutenberg_for'][$post_type_slug] = false;
487 }
488 $options['disable_gutenberg_for'][$post_type_slug] = ( 'on' == $options['disable_gutenberg_for'][$post_type_slug] ? true : false );
489 }
490 }
491 if ( !isset( $options['disable_gutenberg_frontend_styles'] ) ) {
492 $options['disable_gutenberg_frontend_styles'] = false;
493 }
494 $options['disable_gutenberg_frontend_styles'] = ( 'on' == $options['disable_gutenberg_frontend_styles'] ? true : false );
495 // Disable Comments
496 if ( !isset( $options['disable_comments'] ) ) {
497 $options['disable_comments'] = false;
498 }
499 $options['disable_comments'] = ( 'on' == $options['disable_comments'] ? true : false );
500 if ( is_array( $asenha_public_post_types ) ) {
501 foreach ( $asenha_public_post_types as $post_type_slug => $post_type_label ) {
502 // e.g. $post_type_slug is post, $post_type_label is Posts
503 if ( !isset( $options['disable_comments_for'][$post_type_slug] ) ) {
504 $options['disable_comments_for'][$post_type_slug] = false;
505 }
506 $options['disable_comments_for'][$post_type_slug] = ( 'on' == $options['disable_comments_for'][$post_type_slug] ? true : false );
507 }
508 }
509 // Disable REST API
510 if ( !isset( $options['disable_rest_api'] ) ) {
511 $options['disable_rest_api'] = false;
512 }
513 $options['disable_rest_api'] = ( 'on' == $options['disable_rest_api'] ? true : false );
514 // Disable Feeds
515 if ( !isset( $options['disable_feeds'] ) ) {
516 $options['disable_feeds'] = false;
517 }
518 $options['disable_feeds'] = ( 'on' == $options['disable_feeds'] ? true : false );
519 // Disable Auto Updates
520 if ( !isset( $options['disable_all_updates'] ) ) {
521 $options['disable_all_updates'] = false;
522 }
523 $options['disable_all_updates'] = ( 'on' == $options['disable_all_updates'] ? true : false );
524 // Disable Smaller Components
525 if ( !isset( $options['disable_smaller_components'] ) ) {
526 $options['disable_smaller_components'] = false;
527 }
528 $options['disable_smaller_components'] = ( 'on' == $options['disable_smaller_components'] ? true : false );
529 if ( !isset( $options['disable_head_generator_tag'] ) ) {
530 $options['disable_head_generator_tag'] = false;
531 }
532 $options['disable_head_generator_tag'] = ( 'on' == $options['disable_head_generator_tag'] ? true : false );
533 if ( !isset( $options['disable_feed_generator_tag'] ) ) {
534 $options['disable_feed_generator_tag'] = false;
535 }
536 $options['disable_feed_generator_tag'] = ( 'on' == $options['disable_feed_generator_tag'] ? true : false );
537 if ( !isset( $options['disable_resource_version_number'] ) ) {
538 $options['disable_resource_version_number'] = false;
539 }
540 $options['disable_resource_version_number'] = ( 'on' == $options['disable_resource_version_number'] ? true : false );
541 if ( !isset( $options['disable_head_wlwmanifest_tag'] ) ) {
542 $options['disable_head_wlwmanifest_tag'] = false;
543 }
544 $options['disable_head_wlwmanifest_tag'] = ( 'on' == $options['disable_head_wlwmanifest_tag'] ? true : false );
545 if ( !isset( $options['disable_head_rsd_tag'] ) ) {
546 $options['disable_head_rsd_tag'] = false;
547 }
548 $options['disable_head_rsd_tag'] = ( 'on' == $options['disable_head_rsd_tag'] ? true : false );
549 if ( !isset( $options['disable_head_shortlink_tag'] ) ) {
550 $options['disable_head_shortlink_tag'] = false;
551 }
552 $options['disable_head_shortlink_tag'] = ( 'on' == $options['disable_head_shortlink_tag'] ? true : false );
553 if ( !isset( $options['disable_frontend_dashicons'] ) ) {
554 $options['disable_frontend_dashicons'] = false;
555 }
556 $options['disable_frontend_dashicons'] = ( 'on' == $options['disable_frontend_dashicons'] ? true : false );
557 if ( !isset( $options['disable_emoji_support'] ) ) {
558 $options['disable_emoji_support'] = false;
559 }
560 $options['disable_emoji_support'] = ( 'on' == $options['disable_emoji_support'] ? true : false );
561 if ( !isset( $options['disable_jquery_migrate'] ) ) {
562 $options['disable_jquery_migrate'] = false;
563 }
564 $options['disable_jquery_migrate'] = ( 'on' == $options['disable_jquery_migrate'] ? true : false );
565 if ( !isset( $options['disable_block_widgets'] ) ) {
566 $options['disable_block_widgets'] = false;
567 }
568 $options['disable_block_widgets'] = ( 'on' == $options['disable_block_widgets'] ? true : false );
569 if ( !isset( $options['disable_lazy_load'] ) ) {
570 $options['disable_lazy_load'] = false;
571 }
572 $options['disable_lazy_load'] = ( 'on' == $options['disable_lazy_load'] ? true : false );
573 // =================================================================
574 // SECURITY
575 // =================================================================
576 // Limit Login Attempts
577 if ( !isset( $options['limit_login_attempts'] ) ) {
578 $options['limit_login_attempts'] = false;
579 }
580 $options['limit_login_attempts'] = ( 'on' == $options['limit_login_attempts'] ? true : false );
581 if ( !isset( $options['login_fails_allowed'] ) ) {
582 $options['login_fails_allowed'] = 3;
583 }
584 $options['login_fails_allowed'] = ( !empty( $options['login_fails_allowed'] ) ? sanitize_text_field( $options['login_fails_allowed'] ) : 3 );
585 if ( !isset( $options['login_lockout_maxcount'] ) ) {
586 $options['login_lockout_maxcount'] = 3;
587 }
588 $options['login_lockout_maxcount'] = ( !empty( $options['login_lockout_maxcount'] ) ? sanitize_text_field( $options['login_lockout_maxcount'] ) : 3 );
589 if ( !isset( $options['login_attempts_log_table'] ) ) {
590 $options['login_attempts_log_table'] = '';
591 }
592 $options['login_attempts_log_table'] = '';
593 // Obfuscate Author Slugs
594 if ( !isset( $options['obfuscate_author_slugs'] ) ) {
595 $options['obfuscate_author_slugs'] = false;
596 }
597 $options['obfuscate_author_slugs'] = ( 'on' == $options['obfuscate_author_slugs'] ? true : false );
598 // Obfuscate Email Address
599 if ( !isset( $options['obfuscate_email_address'] ) ) {
600 $options['obfuscate_email_address'] = false;
601 }
602 $options['obfuscate_email_address'] = ( 'on' == $options['obfuscate_email_address'] ? true : false );
603 if ( !isset( $options['obfuscate_email_address_in_content'] ) ) {
604 $options['obfuscate_email_address_in_content'] = false;
605 }
606 $options['obfuscate_email_address_in_content'] = ( 'on' == $options['obfuscate_email_address_in_content'] ? true : false );
607 if ( !isset( $options['obfuscate_email_address_visitor_only'] ) ) {
608 $options['obfuscate_email_address_visitor_only'] = false;
609 }
610 $options['obfuscate_email_address_visitor_only'] = ( 'on' == $options['obfuscate_email_address_visitor_only'] ? true : false );
611 // Disable XML-RPC
612 if ( !isset( $options['disable_xmlrpc'] ) ) {
613 $options['disable_xmlrpc'] = false;
614 }
615 $options['disable_xmlrpc'] = ( 'on' == $options['disable_xmlrpc'] ? true : false );
616 // =================================================================
617 // OPTIMIZATIONS
618 // =================================================================
619 // Image Upload Control
620 if ( !isset( $options['image_upload_control'] ) ) {
621 $options['image_upload_control'] = false;
622 }
623 $options['image_upload_control'] = ( 'on' == $options['image_upload_control'] ? true : false );
624 if ( !isset( $options['image_max_width'] ) ) {
625 $options['image_max_width'] = 1920;
626 }
627 $options['image_max_width'] = ( !empty( $options['image_max_width'] ) ? sanitize_text_field( $options['image_max_width'] ) : 1920 );
628 if ( !isset( $options['image_max_height'] ) ) {
629 $options['image_max_height'] = 1920;
630 }
631 $options['image_max_height'] = ( !empty( $options['image_max_height'] ) ? sanitize_text_field( $options['image_max_height'] ) : 1920 );
632 // Enable Revisions Control
633 if ( !isset( $options['enable_revisions_control'] ) ) {
634 $options['enable_revisions_control'] = false;
635 }
636 $options['enable_revisions_control'] = ( 'on' == $options['enable_revisions_control'] ? true : false );
637 if ( !isset( $options['revisions_max_number'] ) ) {
638 $options['revisions_max_number'] = 10;
639 }
640 $options['revisions_max_number'] = ( !empty( $options['revisions_max_number'] ) ? sanitize_text_field( $options['revisions_max_number'] ) : 10 );
641 if ( is_array( $asenha_revisions_post_types ) ) {
642 foreach ( $asenha_revisions_post_types as $post_type_slug => $post_type_label ) {
643 // e.g. $post_type_slug is post,
644 if ( !isset( $options['enable_revisions_control_for'][$post_type_slug] ) ) {
645 $options['enable_revisions_control_for'][$post_type_slug] = false;
646 }
647 $options['enable_revisions_control_for'][$post_type_slug] = ( 'on' == $options['enable_revisions_control_for'][$post_type_slug] ? true : false );
648 }
649 }
650 // Enable Heartbeat Control
651 if ( !isset( $options['enable_heartbeat_control'] ) ) {
652 $options['enable_heartbeat_control'] = false;
653 }
654 $options['enable_heartbeat_control'] = ( 'on' == $options['enable_heartbeat_control'] ? true : false );
655 if ( !isset( $options['heartbeat_control_for_admin_pages'] ) ) {
656 $options['heartbeat_control_for_admin_pages'] = 'default';
657 }
658 if ( !isset( $options['heartbeat_control_for_post_edit'] ) ) {
659 $options['heartbeat_control_for_post_edit'] = 'default';
660 }
661 if ( !isset( $options['heartbeat_control_for_frontend'] ) ) {
662 $options['heartbeat_control_for_frontend'] = 'default';
663 }
664 if ( !isset( $options['heartbeat_interval_for_admin_pages'] ) ) {
665 $options['heartbeat_interval_for_admin_pages'] = 60;
666 }
667 $options['heartbeat_interval_for_admin_pages'] = ( !empty( $options['heartbeat_interval_for_admin_pages'] ) ? sanitize_text_field( $options['heartbeat_interval_for_admin_pages'] ) : 60 );
668 if ( !isset( $options['heartbeat_interval_for_post_edit'] ) ) {
669 $options['heartbeat_interval_for_post_edit'] = 15;
670 }
671 $options['heartbeat_interval_for_post_edit'] = ( !empty( $options['heartbeat_interval_for_post_edit'] ) ? sanitize_text_field( $options['heartbeat_interval_for_post_edit'] ) : 15 );
672 if ( !isset( $options['heartbeat_interval_for_frontend'] ) ) {
673 $options['heartbeat_interval_for_frontend'] = 60;
674 }
675 $options['heartbeat_interval_for_frontend'] = ( !empty( $options['heartbeat_interval_for_frontend'] ) ? sanitize_text_field( $options['heartbeat_interval_for_frontend'] ) : 60 );
676 // =================================================================
677 // UTILITIES
678 // =================================================================
679 // SMTP Email Delivery
680 if ( !isset( $options['smtp_email_delivery'] ) ) {
681 $options['smtp_email_delivery'] = false;
682 }
683 $options['smtp_email_delivery'] = ( 'on' == $options['smtp_email_delivery'] ? true : false );
684 if ( !isset( $options['smtp_host'] ) ) {
685 $options['smtp_host'] = '';
686 }
687 $options['smtp_host'] = ( !empty( $options['smtp_host'] ) ? sanitize_text_field( $options['smtp_host'] ) : '' );
688 if ( !isset( $options['smtp_port'] ) ) {
689 $options['smtp_port'] = '';
690 }
691 $options['smtp_port'] = ( !empty( $options['smtp_port'] ) ? $options['smtp_port'] : '' );
692 if ( !isset( $options['smtp_security'] ) ) {
693 $options['smtp_security'] = 'none';
694 }
695 $options['smtp_security'] = ( !empty( $options['smtp_security'] ) ? $options['smtp_security'] : 'none' );
696 if ( !isset( $options['smtp_username'] ) ) {
697 $options['smtp_username'] = '';
698 }
699 $options['smtp_username'] = ( !empty( $options['smtp_username'] ) ? sanitize_text_field( $options['smtp_username'] ) : '' );
700 if ( !isset( $options['smtp_password'] ) ) {
701 $options['smtp_password'] = '';
702 }
703 $options['smtp_password'] = ( !empty( $options['smtp_password'] ) ? $options['smtp_password'] : '' );
704 if ( !isset( $options['smtp_default_from_name'] ) ) {
705 $options['smtp_default_from_name'] = '';
706 }
707 $options['smtp_default_from_name'] = ( !empty( $options['smtp_default_from_name'] ) ? sanitize_text_field( $options['smtp_default_from_name'] ) : '' );
708 if ( !isset( $options['smtp_default_from_email'] ) ) {
709 $options['smtp_default_from_email'] = '';
710 }
711 $options['smtp_default_from_email'] = ( !empty( $options['smtp_default_from_email'] ) ? sanitize_text_field( $options['smtp_default_from_email'] ) : '' );
712 if ( !isset( $options['smtp_default_from_description'] ) ) {
713 $options['smtp_default_from_description'] = '';
714 }
715 if ( !isset( $options['smtp_force_from'] ) ) {
716 $options['smtp_force_from'] = false;
717 }
718 $options['smtp_force_from'] = ( 'on' == $options['smtp_force_from'] ? true : false );
719 if ( !isset( $options['smtp_bypass_ssl_verification'] ) ) {
720 $options['smtp_bypass_ssl_verification'] = false;
721 }
722 $options['smtp_bypass_ssl_verification'] = ( 'on' == $options['smtp_bypass_ssl_verification'] ? true : false );
723 if ( !isset( $options['smtp_debug'] ) ) {
724 $options['smtp_debug'] = false;
725 }
726 $options['smtp_debug'] = ( 'on' == $options['smtp_debug'] ? true : false );
727 // Multiple User Roles
728 if ( !isset( $options['multiple_user_roles'] ) ) {
729 $options['multiple_user_roles'] = false;
730 }
731 $options['multiple_user_roles'] = ( 'on' == $options['multiple_user_roles'] ? true : false );
732 // Image Sizes Panel
733 if ( !isset( $options['image_sizes_panel'] ) ) {
734 $options['image_sizes_panel'] = false;
735 }
736 $options['image_sizes_panel'] = ( 'on' == $options['image_sizes_panel'] ? true : false );
737 // View Admin as Role
738 if ( !isset( $options['view_admin_as_role'] ) ) {
739 $options['view_admin_as_role'] = false;
740 }
741 $options['view_admin_as_role'] = ( 'on' == $options['view_admin_as_role'] ? true : false );
742 // Enable Password Protection
743 if ( !isset( $options['enable_password_protection'] ) ) {
744 $options['enable_password_protection'] = false;
745 }
746 $options['enable_password_protection'] = ( 'on' == $options['enable_password_protection'] ? true : false );
747 if ( !isset( $options['password_protection_password'] ) ) {
748 $options['password_protection_password'] = 'secret';
749 }
750 $options['password_protection_password'] = ( !empty( $options['password_protection_password'] ) ? $options['password_protection_password'] : 'secret' );
751 // Maintenance Mode
752 if ( !isset( $options['maintenance_mode'] ) ) {
753 $options['maintenance_mode'] = false;
754 }
755 $options['maintenance_mode'] = ( 'on' == $options['maintenance_mode'] ? true : false );
756 if ( !isset( $options['maintenance_page_heading'] ) ) {
757 $options['maintenance_page_heading'] = 'We\'ll be back soon.';
758 }
759 $options['maintenance_page_heading'] = ( !empty( $options['maintenance_page_heading'] ) ? sanitize_text_field( $options['maintenance_page_heading'] ) : 'We\'ll be back soon.' );
760 if ( !isset( $options['maintenance_page_description'] ) ) {
761 $options['maintenance_page_description'] = 'This site is undergoing maintenance for an extended period today. Thanks for your patience.';
762 }
763 $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.' );
764 if ( !isset( $options['maintenance_page_background'] ) ) {
765 $options['maintenance_page_background'] = 'stripes';
766 }
767 $options['maintenance_page_background'] = ( !empty( $options['maintenance_page_background'] ) ? $options['maintenance_page_background'] : 'stripes' );
768 if ( !isset( $options['maintenance_mode_description'] ) ) {
769 $options['maintenance_mode_description'] = '';
770 }
771 // Redirect 404 to Homepage
772 if ( !isset( $options['redirect_404_to_homepage'] ) ) {
773 $options['redirect_404_to_homepage'] = false;
774 }
775 $options['redirect_404_to_homepage'] = ( 'on' == $options['redirect_404_to_homepage'] ? true : false );
776 // Show System Summary in At a Glance Dashboard Widget
777 if ( !isset( $options['display_system_summary'] ) ) {
778 $options['display_system_summary'] = false;
779 }
780 $options['display_system_summary'] = ( 'on' == $options['display_system_summary'] ? true : false );
781 // Search Engines Visibility Status
782 if ( !isset( $options['search_engine_visibility_status'] ) ) {
783 $options['search_engine_visibility_status'] = false;
784 }
785 $options['search_engine_visibility_status'] = ( 'on' == $options['search_engine_visibility_status'] ? true : false );
786 return $options;
787 }
788
789 /**
790 * Sanitize checkbox field. For reference purpose. Not currently in use.
791 *
792 * @since 1.0.0
793 */
794 function asenha_sanitize_checkbox_field( $value ) {
795 // 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)
796 return ( 'on' === $value ? true : false );
797 }
798
799 }
800