PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 3.0.3
Admin and Site Enhancements (ASE) v3.0.3
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-utilities.php
admin-site-enhancements / classes Last commit date
class-activation.php 3 years ago class-admin-interface.php 3 years ago class-common-methods.php 3 years ago class-content-management.php 3 years ago class-deactivation.php 3 years ago class-disable-components.php 3 years ago class-security.php 3 years ago class-settings-fields-render.php 3 years ago class-settings-sanitization.php 3 years ago class-settings-sections-fields.php 3 years ago class-utilities.php 3 years ago
class-utilities.php
164 lines
1 <?php
2
3 namespace ASENHA\Classes;
4
5 /**
6 * Class related to Utilities features
7 *
8 * @since 1.5.0
9 */
10 class Utilities {
11
12 /**
13 * Redirect to custom internal URL after login for user roles
14 *
15 * @param string $redirect_to_url URL to redirect to. Default is admin dashboard URL.
16 * @param string $origin_url URL the user is coming from.
17 * @param object $user logged-in user's data.
18 * @since 1.5.0
19 */
20 public function redirect_for_roles_after_login( $username, $user ) {
21
22 $options = get_option( ASENHA_SLUG_U );
23 $redirect_after_login_to_slug = $options['redirect_after_login_to_slug'];
24 $redirect_after_login_for = $options['redirect_after_login_for'];
25
26 if ( isset( $redirect_after_login_for ) && ( count( $redirect_after_login_for ) > 0 ) ) {
27
28 // Assemble single-dimensional array of roles for which custom URL redirection should happen
29 $roles_for_custom_redirect = array();
30
31 foreach( $redirect_after_login_for as $role_slug => $custom_redirect ) {
32 if ( $custom_redirect ) {
33 $roles_for_custom_redirect[] = $role_slug;
34 }
35 }
36
37 // Does the user have roles data in array form?
38 if ( isset( $user->roles ) && is_array( $user->roles ) ) {
39
40 $current_user_roles = $user->roles;
41
42 }
43
44 // Set custom redirect URL for roles set in the settings. Otherwise, leave redirect URL to the default, i.e. admin dashboard.
45 foreach ( $current_user_roles as $role ) {
46 if ( in_array( $role, $roles_for_custom_redirect ) ) {
47
48 wp_safe_redirect( home_url( $redirect_after_login_to_slug . '/' ) );
49 exit();
50
51 }
52 }
53
54 }
55
56 }
57
58 /**
59 * Redirect to custom internal URL after login for user roles
60 *
61 * @param string $redirect_to_url URL to redirect to. Default is admin dashboard URL.
62 * @param string $origin_url URL the user is coming from.
63 * @param object $user logged-in user's data.
64 * @since 1.6.0
65 */
66 public function redirect_after_logout( $user_id ) {
67
68 $options = get_option( ASENHA_SLUG_U );
69 $redirect_after_logout_to_slug = $options['redirect_after_logout_to_slug'];
70 $redirect_after_logout_for = $options['redirect_after_logout_for'];
71
72 $user = get_userdata( $user_id );
73
74 if ( isset( $redirect_after_logout_for ) && ( count( $redirect_after_logout_for ) > 0 ) ) {
75
76 // Assemble single-dimensional array of roles for which custom URL redirection should happen
77 $roles_for_custom_redirect = array();
78
79 foreach( $redirect_after_logout_for as $role_slug => $custom_redirect ) {
80 if ( $custom_redirect ) {
81 $roles_for_custom_redirect[] = $role_slug;
82 }
83 }
84
85 // Does the user have roles data in array form?
86 if ( isset( $user->roles ) && is_array( $user->roles ) ) {
87
88 $current_user_roles = $user->roles;
89
90 }
91
92 // Redirect for roles set in the settings. Otherwise, leave redirect URL to the default, i.e. admin dashboard.
93 foreach ( $current_user_roles as $role ) {
94 if ( in_array( $role, $roles_for_custom_redirect ) ) {
95
96 wp_safe_redirect( home_url( $redirect_after_logout_to_slug . '/' ) );
97 exit();
98
99 }
100 }
101
102 }
103
104 }
105
106 /**
107 * Redirect 404 to homepage
108 *
109 * @since 1.7.0
110 */
111 public function redirect_404_to_homepage() {
112
113 if ( ! is_404() || is_admin() || ( defined( 'DOING_CRON' ) && DOING_CRON ) || ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) ) {
114
115 return;
116
117 } else {
118
119 // wp_safe_redirect( home_url(), 301 );
120
121 header( 'HTTP/1.1 301 Moved Permanently');
122 header( 'Location: ' . home_url() );
123 exit();
124
125 }
126
127 }
128
129 /**
130 * Enqueue custom admin CSS
131 *
132 * @since 2.3.0
133 */
134 public function custom_admin_css() {
135
136 $options = get_option( ASENHA_SLUG_U );
137 $custom_admin_css = $options['custom_admin_css'];
138
139 ?>
140 <style type="text/css">
141 <?php echo wp_kses_post( $custom_admin_css ); ?>
142 </style>
143 <?php
144
145 }
146
147 /**
148 * Enqueue custom frontend CSS
149 *
150 * @since 2.3.0
151 */
152 public function custom_frontend_css() {
153
154 $options = get_option( ASENHA_SLUG_U );
155 $custom_frontend_css = $options['custom_frontend_css'];
156
157 ?>
158 <style type="text/css">
159 <?php echo wp_kses_post( $custom_frontend_css ); ?>
160 </style>
161 <?php
162
163 }
164 }