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