public function pwremind() { $action = Request::get(1, VAR_URI); $this->breadcrumb->add('Neues Passwort anfordern'); $this->header(); $tpl = Response::getObject()->appendTemplate('Cms/user/pwremind'); if (Me::get()->loggedIn()) { CmsPage::error('Sie sind bereits angemeldet!'); } else { if ($action == 'send') { $mail = Request::get("email"); $user = UserUtils::getByEmail($mail); if ($user !== null) { if (!$user->isActive()) { CmsPage::error("Ihr Benutzerkonto ist leider noch nicht freigeschaltet."); } else { $data = array('hash' => Hash::getRandom(), 'id' => $user->getId(), 'name' => UserUtils::getSalutation($user->getGender(), $user->getForeName(), $user->getSurName())); $db = Database::getObject(); $db->query("UPDATE <p>user SET verification = <hash> WHERE id = <id:int> AND active = 1", $data); $tpl = Response::getObject()->getTemplate('Cms/mails/pwremind_verify'); $tpl->assign('data', $data, false); CmsTools::sendMail($user->getEmail(), Config::get('general.title') . ': Bestätigung deiner Passwortanfrage', $tpl->parse()); CmsPage::ok("Wir haben Ihnen eine E-Mail geschickt. Bitte folgen Sie den dortigen Anweisungen."); } } else { CmsPage::error("Die von Ihnen angegebene E-Mail-Adresse wurde leider nicht gefunden."); $tpl->output(); } } else { $tpl->output(); } } $this->footer(); }
private function create($uid) { // No valid session found: Insert a new session, try to login as user $sid = Hash::getRandom(); $data = array('sid' => $sid, 'time' => time(), 'ip' => $this->ip->getIP(), 'settings' => serialize($this->settings), 'uid' => $uid); Database::getObject()->query("INSERT INTO <p>session SET user_id = <uid:int>, sid = <sid>, visit = <time:int>, ip = '<ip:noquote>', settings = <settings>", $data); return $sid; }