PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 9.0.2
Admin and Site Enhancements (ASE) v9.0.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 / functions.php
admin-site-enhancements Last commit date
assets 2 weeks ago classes 2 weeks ago includes 2 weeks ago languages 2 weeks ago vendor 2 weeks ago CHANGELOG.md 2 weeks ago LICENSE.md 2 weeks ago README.md 2 weeks ago admin-site-enhancements.php 2 weeks ago bootstrap.php 2 weeks ago functions.php 2 weeks ago settings.php 2 weeks ago
functions.php
240 lines
1 <?php
2
3 /**
4 * Get kses ruleset extended to allow svg
5 *
6 * @since 6.9.5
7 */
8 function get_kses_with_svg_ruleset() {
9 $kses_defaults = wp_kses_allowed_html( 'post' );
10 $svg_args = array(
11 'svg' => array(
12 'class' => true,
13 'aria-hidden' => true,
14 'aria-labelledby' => true,
15 'role' => true,
16 'xmlns' => true,
17 'width' => true,
18 'height' => true,
19 'viewbox' => true,
20 'viewBox' => true,
21 ),
22 'g' => array(
23 'fill' => true,
24 'fill-rule' => true,
25 'stroke' => true,
26 'stroke-linejoin' => true,
27 'stroke-width' => true,
28 'stroke-linecap' => true,
29 ),
30 'title' => array(
31 'title' => true,
32 ),
33 'path' => array(
34 'd' => true,
35 'fill' => true,
36 'stroke' => true,
37 'stroke-linejoin' => true,
38 'stroke-width' => true,
39 'stroke-linecap' => true,
40 ),
41 'rect' => array(
42 'width' => true,
43 'height' => true,
44 'x' => true,
45 'y' => true,
46 'rx' => true,
47 'ry' => true,
48 ),
49 'circle' => array(
50 'cx' => true,
51 'cy' => true,
52 'r' => true,
53 ),
54 );
55 return array_merge( $kses_defaults, $svg_args );
56 // Example usage: wp_kses( $the_svg_icon, get_kses_with_svg_ruleset() );
57 }
58
59 /**
60 * Get kses ruleset extended to allow style and script tags
61 *
62 * @since 6.9.5
63 */
64 function get_kses_with_style_src_ruleset() {
65 $kses_defaults = wp_kses_allowed_html( 'post' );
66 $style_script_args = array(
67 'link' => array(
68 'rel' => true,
69 'href' => true,
70 'sizes' => true,
71 'crossorigin' => true,
72 ),
73 'style' => true,
74 'script' => array(
75 'src' => true,
76 ),
77 );
78 return array_merge( $kses_defaults, $style_script_args );
79 // Example usage: wp_kses( $the_html, get_kses_with_style_src_ruleset() );
80 }
81
82 /**
83 * Get kses ruleset extended to allow style and script tags
84 *
85 * @since 6.9.5
86 */
87 function get_kses_with_style_src_svg_ruleset() {
88 $kses_defaults = wp_kses_allowed_html( 'post' );
89 $style_script_svg_args = array(
90 'input' => array(
91 'type' => true,
92 'id' => true,
93 'class' => true,
94 'name' => true,
95 'value' => true,
96 'style' => true,
97 ),
98 'style' => true,
99 'script' => array(
100 'src' => true,
101 ),
102 'iframe' => array(
103 'title' => true,
104 'name' => true,
105 'wdith' => true,
106 'height' => true,
107 'src' => true,
108 'srcdoc' => true,
109 'align' => true,
110 'frameborder' => true,
111 'scrolling' => true,
112 'allow' => true,
113 'referrerpolicy' => true,
114 'allowfullscreen' => true,
115 'loading' => true,
116 'sandbox' => true,
117 ),
118 'svg' => array(
119 'class' => true,
120 'aria-hidden' => true,
121 'aria-labelledby' => true,
122 'role' => true,
123 'xmlns' => true,
124 'width' => true,
125 'height' => true,
126 'viewbox' => true,
127 'viewBox' => true,
128 ),
129 'g' => array(
130 'fill' => true,
131 'fill-rule' => true,
132 'stroke' => true,
133 'stroke-linejoin' => true,
134 'stroke-width' => true,
135 'stroke-linecap' => true,
136 ),
137 'title' => array(
138 'title' => true,
139 ),
140 'path' => array(
141 'd' => true,
142 'fill' => true,
143 'stroke' => true,
144 'stroke-linejoin' => true,
145 'stroke-width' => true,
146 'stroke-linecap' => true,
147 ),
148 'rect' => array(
149 'width' => true,
150 'height' => true,
151 'x' => true,
152 'y' => true,
153 'rx' => true,
154 'ry' => true,
155 ),
156 'circle' => array(
157 'cx' => true,
158 'cy' => true,
159 'r' => true,
160 ),
161 );
162 return array_merge( $kses_defaults, $style_script_svg_args );
163 // Example usage: wp_kses( $the_html, get_kses_with_style_src_svg_ruleset() );
164 }
165
166 /**
167 * Get kses ruleset extended to allow input tags
168 *
169 * @since 6.9.5
170 */
171 function get_kses_with_custom_html_ruleset() {
172 $kses_defaults = wp_kses_allowed_html( 'post' );
173 $span_attrs = ( isset( $kses_defaults['span'] ) ? $kses_defaults['span'] : array() );
174 $span_attrs['hidden'] = true;
175 $custom_html_args = array(
176 'input' => array(
177 'type' => true,
178 'id' => true,
179 'class' => true,
180 'name' => true,
181 'value' => true,
182 'style' => true,
183 ),
184 'button' => array(
185 'type' => true,
186 'class' => true,
187 'aria-label' => true,
188 'data-clipboard-text' => true,
189 'title' => true,
190 ),
191 'span' => $span_attrs,
192 'svg' => array(
193 'class' => true,
194 'aria-hidden' => true,
195 'aria-labelledby' => true,
196 'role' => true,
197 'xmlns' => true,
198 'width' => true,
199 'height' => true,
200 'viewbox' => true,
201 'viewBox' => true,
202 'focusable' => true,
203 ),
204 'g' => array(
205 'fill' => true,
206 'fill-rule' => true,
207 'stroke' => true,
208 'stroke-linejoin' => true,
209 'stroke-width' => true,
210 'stroke-linecap' => true,
211 ),
212 'path' => array(
213 'd' => true,
214 'fill' => true,
215 'stroke' => true,
216 'stroke-linejoin' => true,
217 'stroke-width' => true,
218 'stroke-linecap' => true,
219 ),
220 );
221 return array_merge( $kses_defaults, $custom_html_args );
222 // Example usage: wp_kses( $the_html, get_kses_with_custom_html_ruleset() );
223 }
224
225 // ===== Pluggable Functions ===== //
226 $options = get_option( ASENHA_SLUG_U, array() );
227 if ( array_key_exists( 'disable_admin_email_notification_after_password_change', $options ) && $options['disable_admin_email_notification_after_password_change'] ) {
228 if ( !function_exists( 'wp_password_change_notification' ) ) {
229 /**
230 * Plug into the default wp_password_change_notification() in /wp-includes/pluggable.php
231 *
232 * @link https://developer.wordpress.org/reference/functions/wp_password_change_notification/
233 * @link https://wordpress.stackexchange.com/a/206396
234 */
235 function wp_password_change_notification( $user ) {
236 return;
237 }
238
239 }
240 }