Example #1
0
 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)");
     }
 }
Example #2
0
 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();
     }
 }
Example #3
0
 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();
 }