Exemplo n.º 1
0
 public function search($user)
 {
     try {
         $cross_search_criteria = $this->getCrossSearchCriteriaFromRequest();
         $project_id = $this->request->get('group_id');
         $project = $this->getProject($project_id, $this->project_manager);
         $view = $this->view_builder->build($user, $project, $cross_search_criteria);
         $view->render($user);
     } catch (Tracker_CrossSearch_ProjectNotFoundException $e) {
         $this->layout->addFeedback('error', $e->getMessage());
         $this->layout->redirect('/');
     } catch (Tracker_CrossSearch_ServiceNotUsedException $e) {
         $this->layout->addFeedback('error', $e->getMessage());
         $this->layout->redirect('/projects/' . $project->getUnixName() . '/');
     }
 }
Exemplo n.º 2
0
 public function route(HTTPRequest $request, Layout $response)
 {
     $valid_route = new Valid_WhiteList('func', $this->routes);
     $valid_route->required();
     if ($request->valid($valid_route)) {
         $route = $request->get('func');
         $controller = new OpenId_LoginController($this->logger, new OpenId_AccountManager(new Openid_Dao(), UserManager::instance()), $request, $response);
         $controller->{$route}();
     } else {
         $response->addFeedback(Feedback::ERROR, 'Invalid request for ' . __CLASS__);
         $response->redirect('/');
     }
 }
Exemplo n.º 3
0
 public function finish_login()
 {
     try {
         $return_url = get_server_url() . '/my';
         if ($this->request->existAndNonEmpty('return_to')) {
             $return_url = $this->request->getValidated('return_to', 'string', '');
         }
         $driver = new Openid_Driver_ConnexionDriver($this->logger, '?func=' . OpenId_OpenIdRouter::FINISH_LOGIN);
         $connexion_manager = new Openid_ConnexionManager($driver);
         $identity_url = $connexion_manager->finishAuthentication($return_url);
         $this->account_manager->authenticateCorrespondingUser($identity_url);
         $this->response->redirect($return_url);
     } catch (OpenId_OpenIdException $exception) {
         $this->response->addFeedback(Feedback::ERROR, $exception->getMessage());
     }
     $this->response->redirect('/account/login');
 }