From bebb0ba5f9842f274f2ccef0c3c70677edcce083 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Sun, 1 Apr 2018 19:42:41 +0200 Subject: [PATCH] app/models/Data/User.php: implement beforeSave() and trigger "user:onPasswordCreated" and "user:onPasswordChanged" --- app/models/Data/User.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/models/Data/User.php b/app/models/Data/User.php index eefc1dc..1f1bc92 100644 --- a/app/models/Data/User.php +++ b/app/models/Data/User.php @@ -206,4 +206,22 @@ class User extends Model "bind" => [ 'v' => $value ] ]); } + + public function beforeSave() + { + $manager = $this->getEventsManager(); + + // EventManager exist and password field has changed. + if ($manager && $this->hasChanged('password')) { + + $old_value = $this->getOldSnapshotData()['password']; + + // Empty password before + if (strlen($old_value) < 1) { + $manager->fire('user:onPasswordCreated', $this); + } else { + $manager->fire('user:onPasswordChanged', $this); + } + } + } }