PluginProbe
Defender Security – Malware Scanner, Login Security & Firewall / 3.1.0
Defender Security – Malware Scanner, Login Security & Firewall v3.1.0
6.3.0 6.2.3 6.2.4 6.2.0 6.2.1 6.2.2 6.1.0 5.3.1 5.4.0 5.4.1 5.5.0 5.5.1 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.7.2 5.8.0 5.8.1 5.9.0 6.0.0 6.0.1 3.0.1 3.1.0 All 141 releases
defender-security / src / model / setting / password-reset.php

password-reset.php in Defender Security – Malware Scanner, Login Security & Firewall 3.1.0, at src/model/setting/password-reset.php

88 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WP_Defender\Model\Setting;
4
5 use Calotes\Model\Setting;
6
7 class Password_Reset extends Setting {
8 public $table = 'wd_password_reset_settings';
9
10 /**
11 * @defender_property
12 * @var array
13 */
14 public $user_roles = array();
15 /**
16 * @defender_property
17 * @var string
18 */
19 public $message = '';
20 /**
21 * @defender_property
22 * @var bool
23 */
24 public $expire_force = false;
25 /**
26 * @var int
27 * @defender_property
28 */
29 public $force_time;
30
31 /**
32 * @return array
33 */
34 public function get_default_values() {
35
36 return array(
37 'message' => __( 'You are required to change your password to a new one to use this site.', 'wpdef' ),
38 );
39 }
40
41 protected function before_load() {
42 $default_values = $this->get_default_values();
43 // Default we will load all rules.
44 if ( function_exists( 'get_editable_roles' ) ) {
45 // We only need this inside admin, no need to load the user.php everywhere.
46 $this->user_roles = array_keys( get_editable_roles() );
47 } else {
48 // Define defaults user roles.
49 $this->user_roles = array( 'administrator' );
50 }
51 $this->message = $default_values['message'];
52 }
53
54 /**
55 * Define labels for settings key.
56 *
57 * @param string|null $key
58 *
59 * @return string|array|null
60 */
61 public function labels( $key = null ) {
62 $labels = array(
63 'user_roles' => __( 'User Roles', 'wpdef' ),
64 'message' => __( 'Message', 'wpdef' ),
65 );
66
67 if ( ! is_null( $key ) ) {
68 return $labels[ $key ] ?? null;
69 }
70
71 return $labels;
72 }
73
74 /**
75 * Checks for active feature:
76 * check 'expire_force', check one role at least, there is a reset time.
77 *
78 * @return bool
79 */
80 public function is_active() {
81
82 return apply_filters(
83 'wd_password_reset_active',
84 $this->expire_force && count( $this->user_roles ) > 0 && $this->force_time
85 );
86 }
87 }
88