示例#1
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");
 }
示例#2
0
 public function indexAction()
 {
     $groups = new \PHPAuth\DAO\GroupImpl();
     $this->render('groups/index', array('groups' => $groups->all()));
 }