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