Beispiel #1
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();
     }
 }