예제 #1
0
 public function registerAction()
 {
     if ($this->request->isPost()) {
         if ($this->token->check()) {
             $email = $this->request->getPost('email');
             $password = $this->request->getPost('password');
             $this->installRoles();
             $this->installResourcesAccess();
             $this->installUserStatus();
             $admin = new Users();
             $admin->email = $email;
             $admin->password = $this->security->hash($this->auth->passwordHash($password));
             $admin->status_id = UsersStatus::findFirstByName(Auth::STATUS_ACTIVE)->id;
             $admin->role = Auth::ROLE_ADMIN;
             if ($admin->save() !== false) {
                 $this->flashSession->success(_('Administrator user is successfully created'));
                 $this->redirect();
             } else {
                 foreach ($admin->getMessages() as $message) {
                     $this->flash->error($message);
                 }
             }
         }
     }
 }
예제 #2
0
 public function registerAction()
 {
     if ($this->request->isPost()) {
         if ($this->token->check()) {
             $email = $this->filter->sanitize($this->request->getPost('email'), 'email');
             $user = Users::findFirstByEmail($email);
             if ($user) {
                 $this->flash->error(_('Esiste già un utente registrato con questa email'));
                 return $this->forward('users', 'add');
             }
             $password = $this->request->getPost('password');
             $name = $this->request->getPost('name');
             $role = $this->request->getPost('role');
             $code = $this->request->getPost('code');
             $surname = $this->request->getPost('surname');
             $address = $this->request->getPost('address');
             $phone = $this->request->getPost('phone');
             //
             $user = new Users();
             $user->email = $email;
             $user->password = $this->security->hash($this->auth->passwordHash($password));
             $user->users_status_id = UsersStatus::findFirstByName('active')->id;
             $user->acl_roles_name = $role;
             $user->details = new UsersDetails();
             $user->details->name = $name;
             $user->details->surname = $surname;
             $user->details->address = $address;
             $user->details->phone = $phone;
             $user->details->code = $code;
             if ($user->save() == false) {
                 foreach ($user->getMessages() as $message) {
                     $this->flash->error($message);
                 }
             } else {
                 $this->flash->success(_('Utente aggiunto !'));
             }
             return $this->forward('users', 'add');
         }
     } else {
         $this->flash->warning(_('Usa il form per registrare un nuovo utente'));
         return $this->forward('users', 'add');
     }
 }
예제 #3
0
파일: Auth.php 프로젝트: skullab/area51
 /**
  * {@inheritDoc}
  * @see \Thunderhawk\API\Component\Auth\AuthInterface::registerIdentity()
  */
 public function registerIdentity(Users $user)
 {
     if (!$user->login) {
         $login = new UsersLogin();
         $login->users_id = $user->id;
         $login->last_access = date("Y-m-d H:i:s");
         $login->save();
     }
     $user->login->last_access = date("Y-m-d H:i:s");
     $user->login->online = 1;
     $user->login->busy = 0;
     $user->save();
     if ($user->details && (trim($user->details->name) != '' || trim($user->details->surname) != '')) {
         $display_name = $user->details->name . ' ' . $user->details->surname;
     } else {
         $display_name = $user->email;
     }
     if ($user->details && trim($user->details->portrait) != '') {
         $portrait = $user->details->portrait;
     } else {
         $portrait = 'user_blank.png';
     }
     $this->session->set(self::SESSION_AUTH, array('id' => $user->id, 'email' => $user->email, 'status' => $user->status->name, 'role' => $user->roles->name, 'display_name' => $display_name, 'portrait' => $portrait));
 }