PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 7.5.2
Admin and Site Enhancements (ASE) v7.5.2
9.1.1 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-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
804 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 | 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 if ( !isset( $options['disable_plugin_theme_editor'] ) ) {
574 $options['disable_plugin_theme_editor'] = false;
575 }
576 $options['disable_plugin_theme_editor'] = ( 'on' == $options['disable_plugin_theme_editor'] ? true : false );
577 // =================================================================
578 // SECURITY
579 // =================================================================
580 // Limit Login Attempts
581 if ( !isset( $options['limit_login_attempts'] ) ) {
582 $options['limit_login_attempts'] = false;
583 }
584 $options['limit_login_attempts'] = ( 'on' == $options['limit_login_attempts'] ? true : false );
585 if ( !isset( $options['login_fails_allowed'] ) ) {
586 $options['login_fails_allowed'] = 3;
587 }
588 $options['login_fails_allowed'] = ( !empty( $options['login_fails_allowed'] ) ? sanitize_text_field( $options['login_fails_allowed'] ) : 3 );
589 if ( !isset( $options['login_lockout_maxcount'] ) ) {
590 $options['login_lockout_maxcount'] = 3;
591 }
592 $options['login_lockout_maxcount'] = ( !empty( $options['login_lockout_maxcount'] ) ? sanitize_text_field( $options['login_lockout_maxcount'] ) : 3 );
593 if ( !isset( $options['login_attempts_log_table'] ) ) {
594 $options['login_attempts_log_table'] = '';
595 }
596 $options['login_attempts_log_table'] = '';
597 // Obfuscate Author Slugs
598 if ( !isset( $options['obfuscate_author_slugs'] ) ) {
599 $options['obfuscate_author_slugs'] = false;
600 }
601 $options['obfuscate_author_slugs'] = ( 'on' == $options['obfuscate_author_slugs'] ? true : false );
602 // Obfuscate Email Address
603 if ( !isset( $options['obfuscate_email_address'] ) ) {
604 $options['obfuscate_email_address'] = false;
605 }
606 $options['obfuscate_email_address'] = ( 'on' == $options['obfuscate_email_address'] ? true : false );
607 if ( !isset( $options['obfuscate_email_address_in_content'] ) ) {
608 $options['obfuscate_email_address_in_content'] = false;
609 }
610 $options['obfuscate_email_address_in_content'] = ( 'on' == $options['obfuscate_email_address_in_content'] ? true : false );
611 if ( !isset( $options['obfuscate_email_address_visitor_only'] ) ) {
612 $options['obfuscate_email_address_visitor_only'] = false;
613 }
614 $options['obfuscate_email_address_visitor_only'] = ( 'on' == $options['obfuscate_email_address_visitor_only'] ? true : false );
615 // Disable XML-RPC
616 if ( !isset( $options['disable_xmlrpc'] ) ) {
617 $options['disable_xmlrpc'] = false;
618 }
619 $options['disable_xmlrpc'] = ( 'on' == $options['disable_xmlrpc'] ? true : false );
620 // =================================================================
621 // OPTIMIZATIONS
622 // =================================================================
623 // Image Upload Control
624 if ( !isset( $options['image_upload_control'] ) ) {
625 $options['image_upload_control'] = false;
626 }
627 $options['image_upload_control'] = ( 'on' == $options['image_upload_control'] ? true : false );
628 if ( !isset( $options['image_max_width'] ) ) {
629 $options['image_max_width'] = 1920;
630 }
631 $options['image_max_width'] = ( !empty( $options['image_max_width'] ) ? sanitize_text_field( $options['image_max_width'] ) : 1920 );
632 if ( !isset( $options['image_max_height'] ) ) {
633 $options['image_max_height'] = 1920;
634 }
635 $options['image_max_height'] = ( !empty( $options['image_max_height'] ) ? sanitize_text_field( $options['image_max_height'] ) : 1920 );
636 // Enable Revisions Control
637 if ( !isset( $options['enable_revisions_control'] ) ) {
638 $options['enable_revisions_control'] = false;
639 }
640 $options['enable_revisions_control'] = ( 'on' == $options['enable_revisions_control'] ? true : false );
641 if ( !isset( $options['revisions_max_number'] ) ) {
642 $options['revisions_max_number'] = 10;
643 }
644 $options['revisions_max_number'] = ( !empty( $options['revisions_max_number'] ) ? sanitize_text_field( $options['revisions_max_number'] ) : 10 );
645 if ( is_array( $asenha_revisions_post_types ) ) {
646 foreach ( $asenha_revisions_post_types as $post_type_slug => $post_type_label ) {
647 // e.g. $post_type_slug is post,
648 if ( !isset( $options['enable_revisions_control_for'][$post_type_slug] ) ) {
649 $options['enable_revisions_control_for'][$post_type_slug] = false;
650 }
651 $options['enable_revisions_control_for'][$post_type_slug] = ( 'on' == $options['enable_revisions_control_for'][$post_type_slug] ? true : false );
652 }
653 }
654 // Enable Heartbeat Control
655 if ( !isset( $options['enable_heartbeat_control'] ) ) {
656 $options['enable_heartbeat_control'] = false;
657 }
658 $options['enable_heartbeat_control'] = ( 'on' == $options['enable_heartbeat_control'] ? true : false );
659 if ( !isset( $options['heartbeat_control_for_admin_pages'] ) ) {
660 $options['heartbeat_control_for_admin_pages'] = 'default';
661 }
662 if ( !isset( $options['heartbeat_control_for_post_edit'] ) ) {
663 $options['heartbeat_control_for_post_edit'] = 'default';
664 }
665 if ( !isset( $options['heartbeat_control_for_frontend'] ) ) {
666 $options['heartbeat_control_for_frontend'] = 'default';
667 }
668 if ( !isset( $options['heartbeat_interval_for_admin_pages'] ) ) {
669 $options['heartbeat_interval_for_admin_pages'] = 60;
670 }
671 $options['heartbeat_interval_for_admin_pages'] = ( !empty( $options['heartbeat_interval_for_admin_pages'] ) ? sanitize_text_field( $options['heartbeat_interval_for_admin_pages'] ) : 60 );
672 if ( !isset( $options['heartbeat_interval_for_post_edit'] ) ) {
673 $options['heartbeat_interval_for_post_edit'] = 15;
674 }
675 $options['heartbeat_interval_for_post_edit'] = ( !empty( $options['heartbeat_interval_for_post_edit'] ) ? sanitize_text_field( $options['heartbeat_interval_for_post_edit'] ) : 15 );
676 if ( !isset( $options['heartbeat_interval_for_frontend'] ) ) {
677 $options['heartbeat_interval_for_frontend'] = 60;
678 }
679 $options['heartbeat_interval_for_frontend'] = ( !empty( $options['heartbeat_interval_for_frontend'] ) ? sanitize_text_field( $options['heartbeat_interval_for_frontend'] ) : 60 );
680 // =================================================================
681 // UTILITIES
682 // =================================================================
683 // SMTP Email Delivery
684 if ( !isset( $options['smtp_email_delivery'] ) ) {
685 $options['smtp_email_delivery'] = false;
686 }
687 $options['smtp_email_delivery'] = ( 'on' == $options['smtp_email_delivery'] ? true : false );
688 if ( !isset( $options['smtp_host'] ) ) {
689 $options['smtp_host'] = '';
690 }
691 $options['smtp_host'] = ( !empty( $options['smtp_host'] ) ? sanitize_text_field( $options['smtp_host'] ) : '' );
692 if ( !isset( $options['smtp_port'] ) ) {
693 $options['smtp_port'] = '';
694 }
695 $options['smtp_port'] = ( !empty( $options['smtp_port'] ) ? $options['smtp_port'] : '' );
696 if ( !isset( $options['smtp_security'] ) ) {
697 $options['smtp_security'] = 'none';
698 }
699 $options['smtp_security'] = ( !empty( $options['smtp_security'] ) ? $options['smtp_security'] : 'none' );
700 if ( !isset( $options['smtp_username'] ) ) {
701 $options['smtp_username'] = '';
702 }
703 $options['smtp_username'] = ( !empty( $options['smtp_username'] ) ? sanitize_text_field( $options['smtp_username'] ) : '' );
704 if ( !isset( $options['smtp_password'] ) ) {
705 $options['smtp_password'] = '';
706 }
707 $options['smtp_password'] = ( !empty( $options['smtp_password'] ) ? $options['smtp_password'] : '' );
708 if ( !isset( $options['smtp_default_from_name'] ) ) {
709 $options['smtp_default_from_name'] = '';
710 }
711 $options['smtp_default_from_name'] = ( !empty( $options['smtp_default_from_name'] ) ? sanitize_text_field( $options['smtp_default_from_name'] ) : '' );
712 if ( !isset( $options['smtp_default_from_email'] ) ) {
713 $options['smtp_default_from_email'] = '';
714 }
715 $options['smtp_default_from_email'] = ( !empty( $options['smtp_default_from_email'] ) ? sanitize_text_field( $options['smtp_default_from_email'] ) : '' );
716 if ( !isset( $options['smtp_default_from_description'] ) ) {
717 $options['smtp_default_from_description'] = '';
718 }
719 if ( !isset( $options['smtp_force_from'] ) ) {
720 $options['smtp_force_from'] = false;
721 }
722 $options['smtp_force_from'] = ( 'on' == $options['smtp_force_from'] ? true : false );
723 if ( !isset( $options['smtp_bypass_ssl_verification'] ) ) {
724 $options['smtp_bypass_ssl_verification'] = false;
725 }
726 $options['smtp_bypass_ssl_verification'] = ( 'on' == $options['smtp_bypass_ssl_verification'] ? true : false );
727 if ( !isset( $options['smtp_debug'] ) ) {
728 $options['smtp_debug'] = false;
729 }
730 $options['smtp_debug'] = ( 'on' == $options['smtp_debug'] ? true : false );
731 // Multiple User Roles
732 if ( !isset( $options['multiple_user_roles'] ) ) {
733 $options['multiple_user_roles'] = false;
734 }
735 $options['multiple_user_roles'] = ( 'on' == $options['multiple_user_roles'] ? true : false );
736 // Image Sizes Panel
737 if ( !isset( $options['image_sizes_panel'] ) ) {
738 $options['image_sizes_panel'] = false;
739 }
740 $options['image_sizes_panel'] = ( 'on' == $options['image_sizes_panel'] ? true : false );
741 // View Admin as Role
742 if ( !isset( $options['view_admin_as_role'] ) ) {
743 $options['view_admin_as_role'] = false;
744 }
745 $options['view_admin_as_role'] = ( 'on' == $options['view_admin_as_role'] ? true : false );
746 // Enable Password Protection
747 if ( !isset( $options['enable_password_protection'] ) ) {
748 $options['enable_password_protection'] = false;
749 }
750 $options['enable_password_protection'] = ( 'on' == $options['enable_password_protection'] ? true : false );
751 if ( !isset( $options['password_protection_password'] ) ) {
752 $options['password_protection_password'] = 'secret';
753 }
754 $options['password_protection_password'] = ( !empty( $options['password_protection_password'] ) ? $options['password_protection_password'] : 'secret' );
755 // Maintenance Mode
756 if ( !isset( $options['maintenance_mode'] ) ) {
757 $options['maintenance_mode'] = false;
758 }
759 $options['maintenance_mode'] = ( 'on' == $options['maintenance_mode'] ? true : false );
760 if ( !isset( $options['maintenance_page_heading'] ) ) {
761 $options['maintenance_page_heading'] = 'We\'ll be back soon.';
762 }
763 $options['maintenance_page_heading'] = ( !empty( $options['maintenance_page_heading'] ) ? sanitize_text_field( $options['maintenance_page_heading'] ) : 'We\'ll be back soon.' );
764 if ( !isset( $options['maintenance_page_description'] ) ) {
765 $options['maintenance_page_description'] = 'This site is undergoing maintenance for an extended period today. Thanks for your patience.';
766 }
767 $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.' );
768 if ( !isset( $options['maintenance_page_background'] ) ) {
769 $options['maintenance_page_background'] = 'stripes';
770 }
771 $options['maintenance_page_background'] = ( !empty( $options['maintenance_page_background'] ) ? $options['maintenance_page_background'] : 'stripes' );
772 if ( !isset( $options['maintenance_mode_description'] ) ) {
773 $options['maintenance_mode_description'] = '';
774 }
775 // Redirect 404 to Homepage
776 if ( !isset( $options['redirect_404_to_homepage'] ) ) {
777 $options['redirect_404_to_homepage'] = false;
778 }
779 $options['redirect_404_to_homepage'] = ( 'on' == $options['redirect_404_to_homepage'] ? true : false );
780 // Show System Summary in At a Glance Dashboard Widget
781 if ( !isset( $options['display_system_summary'] ) ) {
782 $options['display_system_summary'] = false;
783 }
784 $options['display_system_summary'] = ( 'on' == $options['display_system_summary'] ? true : false );
785 // Search Engines Visibility Status
786 if ( !isset( $options['search_engine_visibility_status'] ) ) {
787 $options['search_engine_visibility_status'] = false;
788 }
789 $options['search_engine_visibility_status'] = ( 'on' == $options['search_engine_visibility_status'] ? true : false );
790 return $options;
791 }
792
793 /**
794 * Sanitize checkbox field. For reference purpose. Not currently in use.
795 *
796 * @since 1.0.0
797 */
798 function asenha_sanitize_checkbox_field( $value ) {
799 // 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)
800 return ( 'on' === $value ? true : false );
801 }
802
803 }
804