function setPass(Am_Event_SetPassword $event) { $user = $event->getUser(); $pass = $event->getPassword(); $sql = array(); //// $obj = $this->getDi()->savedPassRecord; $obj->format = self::PASSWORD_PHPASS; $obj->pass = $user->pass; $obj->salt = null; $obj->toggleFrozen(true); $event->addSaved($obj); //// foreach ($this->getPasswordFormats() as $format => $callback) { $salt = null; $arr = array($pass, &$salt, $user); $password = $callback ? call_user_func_array($callback, $arr) : self::crypt($pass, $format, $salt, $user); $sql[] = $this->_db->expandPlaceholders(array("(?d, ?, ?, ?)", $user->user_id, $format, $password, $salt)); $obj = $this->getDi()->savedPassRecord; $obj->format = $format; $obj->pass = $password; $obj->salt = $salt; $obj->toggleFrozen(true); $event->addSaved($obj); } if ($sql) { $this->_db->query("INSERT INTO ?_saved_pass\n (user_id, format, pass, salt)\n VALUES " . implode(",", $sql) . " ON DUPLICATE KEY UPDATE pass=VALUES(pass), salt=VALUES(salt)"); } }
function onSetPassword(Am_Event_SetPassword $event) { $user = $event->getUser(); $found = $this->getTable()->findByAmember($user); if ($found && $this->canUpdate($found)) { $this->_table->updatePassword($found, $event->getSaved($this->getPasswordFormat())); $user->data()->set(self::USER_NEED_SETPASS, null)->update(); } }
public function onSetPassword(Am_Event_SetPassword $event) { if (!$this->getConfig('send_pass', false)) { return; } $user = $event->getUser(); $pass = $event->getPassword(); $user->data()->set(self::PSSWD_2_SWM, base64_encode($pass))->update(); }