Esempio n. 1
0
 public function updateAction($id)
 {
     $groupImpl = new \PHPAuth\DAO\GroupImpl();
     $roleImpl = new \PHPAuth\DAO\RoleImpl();
     $group = $groupImpl->find($id);
     if ($group) {
         $roles_selected = $this->app->request->put("roles_selected");
         $roles = $roleImpl->all();
         //add new roles
         foreach ($roles as $role) {
             foreach ($roles_selected as $role_selected) {
                 if ($role->getId() == $role_selected && !$group->containRole($role)) {
                     $group->addRole($role);
                 }
             }
         }
         //remove old roles
         foreach ($group->getRoles() as $role) {
             $isIn = true;
             foreach ($roles_selected as $role_selected) {
                 if ($role->getId() == $role_selected) {
                     $isIn = true;
                     break;
                 } else {
                     $isIn = false;
                 }
             }
             if (!$isIn) {
                 $group->removeRole($role);
             }
         }
         $group->setName($this->app->request->put("name"));
         $group->setActive($this->app->request->put("active"));
         if ($group->isValid()) {
             $groupImpl->update($group);
             $this->redirect("/groups/{$group->getId()}");
         }
     }
     //else group not found
     $this->redirect("/groups");
 }
Esempio n. 2
0
 public function createAction()
 {
     if (isset($_POST) && isset($_POST['commit'])) {
         if ($_POST['password'] == $_POST['passconfirm']) {
             $user = new \PHPAuth\Models\User();
             $groupImpl = new \PHPAuth\DAO\GroupImpl();
             $userImpl = new \PHPAuth\DAO\UserImpl();
             $groups_selected = $_POST['groups_selected'];
             foreach ($groups_selected as $id) {
                 $user->addGroup($groupImpl->find($id));
             }
             $user->initAttributes(array('username' => $_POST['username'], 'active' => true, 'password' => $_POST['password']));
             if ($user->isValid()) {
                 $userImpl->save($user);
                 if ($user->getId()) {
                     $this->redirect("/users/{$user->getId()}");
                 }
             }
         }
         //else msg: password and password confirmation not match
     }
     $this->redirect("/users/new");
 }