public function executeIndex(sfWebRequest $request) { $this->checkProjectsAccess('view'); if (!$this->getUser()->hasAttribute('projects_filter')) { $this->getUser()->setAttribute('projects_filter', Projects::getDefaultFilter($this->getUser())); } $this->filter_by = $this->getUser()->getAttribute('projects_filter'); if ($fb = $request->getParameter('filter_by')) { $this->filter_by[key($fb)] = current($fb); $this->getUser()->setAttribute('projects_filter', $this->filter_by); $this->redirect('projects/index'); } if ($request->hasParameter('remove_filter')) { unset($this->filter_by[$request->getParameter('remove_filter')]); $this->getUser()->setAttribute('projects_filter', $this->filter_by); $this->redirect('projects/index'); } if ($request->hasParameter('user_filter')) { $this->filter_by = Projects::useProjectsFilter($request->getParameter('user_filter'), $this->getUser()); $this->getUser()->setAttribute('projects_filter', $this->filter_by); $this->redirect('projects/index'); } if ($set_order = $request->getParameter('set_order')) { $this->getUser()->setAttribute('projects_listing_order', $set_order); $this->redirect('projects/index'); } app::setPageTitle('Projects', $this->getResponse()); }