private function onChange($token) { $userid = (int) Common::getGet('userid'); if (false === ($ac = GWF_AccountChange::checkToken($userid, $token, 'demo'))) { return $this->module->error('err_token'); } if (false === ($user = GWF_User::getByID($userid))) { return GWF_HTML::err('ERR_UNKNOWN_USER'); } if (false === ($data = @unserialize($ac->getVar('data')))) { return GWF_HTML::err('ERR_GENERAL', array(__FILE__, __LINE__)); } if (false === $user->saveVars($data)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } if (false === $ac->delete()) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } GWF_AccountChange::createToken($userid, 'demo_lock'); return $this->module->message('msg_demo_changed'); }
private function getRequestLink(GWF_User $user) { $userid = $user->getID(); require_once GWF_CORE_PATH . 'module/Account/GWF_AccountChange.php'; if (false === ($token = GWF_AccountChange::createToken($userid, 'pass'))) { return 'ERR'; } $url = Common::getAbsoluteURL(sprintf('change_password/%d/%s', $userid, $token)); return sprintf('<a href="%s">%s</a>', $url, $url); }
private static function sendEmailB(Module_Account $module, $userid, $email) { $token = GWF_AccountChange::createToken($userid, 'email2', $email); $mail = new GWF_Mail(); $mail->setSender($module->cfgMailSender()); $mail->setReceiver($email); $mail->setSubject($module->lang('chmailb_subj')); if (false === ($user = GWF_User::getByID($userid))) { return GWF_HTML::err('ERR_UNKNOWN_USER'); } $link = self::getLinkB($token, $userid); $body = $module->lang('chmailb_body', array($user->display('user_name'), $link)); $mail->setBody($body); if (!$mail->sendToUser($user)) { return GWF_HTML::err('ERR_MAIL_SENT'); } return $module->message('msg_mail_sent', array(htmlspecialchars($email))); }