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 editAction() { $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 if ($this->registry->me->groupid == GROUPID_ADMIN || $this->registry->me->groupid == GROUPID_MODERATOR) { $error = array(); $success = array(); $contents = ''; $formData = array(); $formData['fgroupid'] = $myUser->groupid; $formData['femail'] = $myUser->email; $formData['ffullname'] = $myUser->fullname; $formData['fgender'] = $myUser->gender; $formData['fbirthday'] = $myUser->birthday; $formData['fphone'] = $myUser->phone; $formData['faddress'] = $myUser->address; $formData['fregion'] = $myUser->region; $formData['fcountry'] = $myUser->country; $formData['fwebsite'] = $myUser->website; $formData['fbio'] = $myUser->bio; $formData['foauthpartner'] = $myUser->oauthPartner; $formData['foauthuid'] = $myUser->oauthUid; if ($this->postBag->has('fsubmit')) { if ($this->registry->session->get('userEditToken') == $this->postBag->get('ftoken')) { $formData = array_merge($formData, $this->postBag->all()); if ($this->editActionValidator($formData, $error)) { //kiem tra du lieu nhap $myUser->birthday = Helper::plaintext($formData['fbirthday']); $myUser->phone = Helper::plaintext($formData['fphone']); $myUser->address = Helper::plaintext($formData['faddress']); $myUser->country = Helper::plaintext($formData['fcountry']); $myUser->website = Helper::plaintext($formData['fwebsite']); $myUser->bio = Helper::plaintext($formData['fbio']); $myUser->oauthPartner = (int) $formData['foauthpartner']; $myUser->oauthUid = Helper::plaintext($formData['foauthuid']); if ($this->postBag->get('deleteimage') == '1') { $myUser->deleteImage(); } if ($myUser->updateData(array('fullname' => Helper::plaintext($formData['ffullname']), 'groupid' => (int) $formData['fgroupid'], 'region' => (int) $formData['fregion'], 'gender' => (int) $formData['fgender']))) { $success[] = str_replace('###email###', $myUser->email, $this->registry->lang['controller']['succUpdate']); } else { $error[] = $this->registry->lang['controller']['errUpdate']; } } } } $this->registry->session->set('userEditToken', Helper::getSecurityToken()); //Tao token moi $this->registry->smarty->assign(array('formData' => $formData, 'myUser' => $myUser, 'redirectUrl' => $redirectUrl, 'encoderedirectUrl' => base64_encode($redirectUrl), 'userGroups' => \Model\User::getGroupnameList(), 'error' => $error, 'success' => $success)); $contents .= $this->registry->smarty->fetch($this->registry->smartyController . 'edit.tpl'); $this->registry->smarty->assign(array('menu' => 'userlist', 'pageTitle' => $this->registry->lang['controller']['pageTitle_edit'], 'contents' => $contents)); $contents = $this->registry->smarty->fetch($this->registry->smartyModule . 'index.tpl'); $this->registry->response->setContent($contents); } else { $this->notfound(); } } else { $this->notfound(); } }