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