PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.31
Booking for Appointments and Events Calendar – Amelia v1.2.31
2.4.5 2.4.4 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 1 year ago AmountType.php 1 year ago BookableType.php 1 year ago BookingStatus.php 1 year ago BookingType.php 1 year ago Color.php 1 year ago CouponCode.php 1 year ago CustomFieldSaveType.php 1 year ago CustomFieldType.php 1 year ago Cycle.php 1 year ago DepositType.php 1 year ago Description.php 1 year ago Email.php 1 year ago EntityType.php 1 year ago FeeType.php 1 year ago Html.php 1 year ago Label.php 1 year ago Name.php 1 year ago NotificationSendTo.php 1 year ago NotificationStatus.php 1 year ago NotificationType.php 1 year ago Password.php 1 year ago PaymentData.php 1 year ago PaymentStatus.php 1 year ago PaymentType.php 1 year ago Phone.php 1 year ago Status.php 1 year ago StripeAccountId.php 1 year ago StripeAccountType.php 1 year ago Token.php 1 year ago Url.php 1 year 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 public const MIN_LENGTH = 4;
15 public 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