Esempio n. 1
0
 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);
 }