Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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();
     }
 }