public function indexAction() { //Extracting RedirectURL $redirectUrl = $this->getBag->get('redirect'); //base64 encoded if (strlen($redirectUrl) > 0) { $redirectUrl = base64_decode($redirectUrl); } elseif ($this->getBag->has('returnurl') && $this->getBag->get('returnurl') != '') { $redirectUrl = urldecode($this->getBag->get('returnurl')); } else { $redirectUrl = $this->registry->conf['rooturl']; } $error = $warning = $formData = $success = array(); if ($this->postBag->has('fsubmit')) { $formData = $this->postBag->all(); if ($this->submitValidate($formData, $error)) { $myUser = \Model\User::getByEmail($formData['femail']); if ($myUser->id > 0) { //xu ly de tai activatedcode cho viec change password $code = $myUser->id . $myUser->email . rand(1000, 9999) . time() . \Litpi\ViephpHashing::$secretString; $activatedCode = md5($code); $myUser->activatedcode = $activatedCode; if ($myUser->updateData(array(), $error)) { $this->registry->session->set('forgotpassSpam', time()); //tien hanh goi email //send mail to user $this->registry->smarty->assign(array('activatedCode' => $activatedCode, 'myUser' => $myUser)); $mailContents = $this->registry->smarty->fetch($this->registry->smartyMail . 'forgotpass/user.tpl'); $sender = new \Litpi\SendMail($this->registry, $myUser->email, $myUser->fullname, 'Reset Password Information from ' . $this->registry->conf['host'], $mailContents, '*****@*****.**', 'Your Name'); if ($sender->send()) { $success[] = 'Check your email for reset password process.'; } else { $error[] = 'Error while sending your email.'; } } //end updateData() } } } //end submit $this->registry->session->set('forgotpassToken', \Litpi\Helper::getSecurityToken()); $this->registry->smarty->assign(array('formData' => $formData, 'error' => $error, 'success' => $success, 'warning' => $warning, 'redirectUrl' => $redirectUrl, 'redirectUrlEncode' => base64_encode($redirectUrl))); $contents = $this->registry->smarty->fetch($this->registry->smartyController . 'index.tpl'); $this->registry->response->setContent($contents); }
public function resetpassAction() { $success = 0; $message = ''; $id = (int) $this->registry->router->getArg('id'); $myUser = new \Model\User($id); $redirectUrl = $this->getRedirectUrl(); if ($myUser->id > 0) { //check priviledge priority //Yeu cau de edit: // 1. Hoac la admin // 2. Hoac la edit ban than, dung cho moderator, judge... // 3. Hoac la co priority number < priority number cua user duoc edit if ($this->registry->me->groupid == GROUPID_ADMIN || $this->registry->me->id == $myUser->id) { $error = array(); $success = array(); $contents = ''; $formData = array(); srand((double) microtime() * 1000000); $newpass = rand(100000, 999999); if ($myUser->resetpass($newpass)) { $success = 1; //send mail $this->registry->smarty->assign(array('newpass' => $newpass, 'myUser' => $myUser)); $mailContents = $this->registry->smarty->fetch($this->registry->smartyMail . 'user/resetpass.tpl'); $sender = new \Litpi\SendMail($this->registry, $myUser->email, $myUser->fullname, str_replace('{USERNAME}', $myUser->email, $this->registry->setting['mail']['subjectAdminResetpassUser']), $mailContents, $this->registry->setting['mail']['fromEmail'], $this->registry->setting['mail']['fromName']); if ($sender->send()) { $message = str_replace('###email###', $myUser->email, $this->registry->lang['controller']['succResetpass']); $message .= ' (New password: '******')'; } else { $message = str_replace('###email###', $myUser->email, $this->registry->lang['controller']['errResetpassSendMail']); $message .= ' (New password: '******')'; } } else { $message = $this->registry->lang['controller']['errResetpass']; } } else { $message = $this->registry->lang['global']['notpermissiontitle']; } } else { $message = $this->registry->lang['controller']['errNotFound']; } $this->registry->response->headers->set('Content-type', 'text/xml'); $contents = '<?xml version="1.0" encoding="utf-8"?><result><success>' . $success . '</success><message>' . $message . '</message></result>'; $this->registry->response->setContent($contents); }