PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Domain / ValueObjects / String / Password.php
ameliabooking / src / Domain / ValueObjects / String Last commit date
Address.php 3 years ago AmountType.php 2 years ago BookableType.php 2 years ago BookingStatus.php 1 year ago BookingType.php 7 years ago Color.php 7 years ago CouponCode.php 3 years ago CustomFieldType.php 3 years ago Cycle.php 7 years ago DepositType.php 5 years ago Description.php 1 year ago Email.php 3 years ago EntityType.php 7 years ago FeeType.php 2 years ago Html.php 3 years ago Label.php 3 years ago Name.php 4 years ago NotificationSendTo.php 7 years ago NotificationStatus.php 7 years ago NotificationType.php 3 years ago Password.php 3 years ago PaymentData.php 3 years ago PaymentStatus.php 2 years ago PaymentType.php 1 year ago Phone.php 3 years ago Status.php 1 year ago StripeAccountId.php 2 years ago StripeAccountType.php 2 years ago Token.php 6 years ago Url.php 3 years ago
Password.php
74 lines
1 <?php
2
3 namespace AmeliaBooking\Domain\ValueObjects\String;
4
5 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
6
7 /**
8 * Class Password
9 *
10 * @package AmeliaBooking\Domain\ValueObjects\String
11 */
12 final class Password
13 {
14 const MIN_LENGTH = 4;
15 const MAX_LENGTH = 128;
16 /**
17 * @var string
18 */
19 private $password;
20
21 /**
22 * Email constructor.
23 *
24 * @param string $password
25 *
26 * @throws InvalidArgumentException
27 */
28 public function __construct($password)
29 {
30 if ($password && strlen($password) < static::MIN_LENGTH) {
31 throw new InvalidArgumentException('Password must be longer than ' . static::MIN_LENGTH . ' char');
32 }
33
34 $this->password = password_hash($password, PASSWORD_DEFAULT);
35 }
36
37 /**
38 * Create a Password value object from an hashed password
39 *
40 * @param string $password
41 *
42 * @return Password
43 */
44 public static function createFromHashedPassword($password)
45 {
46 $self = unserialize(sprintf('O:%u:"%s":0:{}', strlen(self::class), self::class));
47 $self->password = $password;
48
49 return $self;
50 }
51
52 /**
53 * Return true if password is valid, otherwise false
54 *
55 * @param string $password
56 *
57 * @return bool
58 */
59 public function checkValidity($password)
60 {
61 return password_verify($password, $this->password ? $this->password : '');
62 }
63
64 /**
65 * Return the password from the value object
66 *
67 * @return string
68 */
69 public function getValue()
70 {
71 return $this->password;
72 }
73 }
74