Ejemplo 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");
 }
Ejemplo n.º 2
0
 public function updateAction($id)
 {
     $userImpl = new \PHPAuth\DAO\UserImpl();
     $groupImpl = new \PHPAuth\DAO\GroupImpl();
     $user = $userImpl->find($id);
     if ($user) {
         $groups_selected = $this->app->request->put("groups_selected");
         $groups = $groupImpl->all();
         //add new groups
         foreach ($groups as $group) {
             foreach ($groups_selected as $group_selected) {
                 if ($group->getId() == $group_selected && !$user->containGroup($group)) {
                     $user->addGroup($group);
                 }
             }
         }
         //remove old group
         foreach ($user->getGroups() as $group) {
             $isIn = true;
             foreach ($groups_selected as $group_selected) {
                 if ($group->getId() == $group_selected) {
                     $isIn = true;
                     break;
                 } else {
                     $isIn = false;
                 }
             }
             if (!$isIn) {
                 $user->removeGroup($group);
             }
         }
         $user->initAttributes(array('username' => $this->app->request->put("username"), 'active' => $this->app->request->put("active"), 'password' => $this->app->request->put("password")));
         if ($user->isValid()) {
             $userImpl->update($user);
             $this->redirect("/users/{$user->getId()}");
         }
     }
     //else user not found
     $this->redirect("/users");
 }