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-common-methods.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-common-methods.php
88 lines
1 <?php
2
3 namespace ASENHA\Classes;
4
5 /**
6 * Class that provides common methods used throughout the plugin
7 *
8 * @since 2.5.0
9 */
10 class Common_Methods {
11
12 /**
13 * Get IP of the current visitor/user. In use by at least the Limit Login Attempts feature.
14 *
15 * @since 2.5.0
16 */
17 public function get_user_ip_address() {
18
19 if ( isset( $_SERVER['REMOTE_ADDR'] ) ) {
20
21 $ip_address = sanitize_text_field( $_SERVER['REMOTE_ADDR'] );
22
23 } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
24
25 $ip_address = sanitize_text_field( $_SERVER['HTTP_X_FORWARDED_FOR'] );
26
27 } elseif ( isset( $_SERVER['HTTP_CLIENT_IP'] ) ) {
28
29 $ip_address = sanitize_text_field( $_SERVER['HTTP_CLIENT_IP'] );
30
31 } else {
32
33 $ip_address = '0.0.0.0';
34
35 }
36
37 return $ip_address;
38
39 }
40
41 /**
42 * Convert number of seconds into hours, minutes, seconds. In use by at least the Limit Login Attempts feature.
43 *
44 * @since 2.5.0
45 */
46 public function seconds_to_period( $seconds, $conversion_type ) {
47
48 $period_start = new \DateTime('@0');
49 $period_end = new \DateTime("@$seconds");
50
51 if ( $conversion_type == 'to-days-hours-minutes-seconds' ) {
52
53 return $period_start->diff($period_end)->format('%a days, %h hours, %i minutes and %s seconds');
54
55 } elseif ( $conversion_type == 'to-hours-minutes-seconds' ) {
56
57 return $period_start->diff($period_end)->format('%h hours, %i minutes and %s seconds');
58
59 } elseif ( $conversion_type == 'to-minutes-seconds' ) {
60
61 return $period_start->diff($period_end)->format('%i minutes and %s seconds');
62
63 } else {
64
65 return $period_start->diff($period_end)->format('%a days, %h hours, %i minutes and %s seconds');
66
67 }
68
69 }
70
71 /**
72 * Remove html tags and content inside the tags from a string
73 *
74 * @since 3.0.3
75 */
76 public function strip_html_tags_and_content( $string ) {
77
78 // Strip HTML tags and content inside them. Ref: https://stackoverflow.com/a/39320168
79 $string = preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $string);
80
81 // Strip any remaining HTML or PHP tags
82 $string = strip_tags( $string );
83
84 return $string;
85
86 }
87
88 }