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"); }
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"); }