Esempio n. 1
0
 public function runSwitchUser(TBGRequest $request)
 {
     if (!$this->getUser()->canAccessConfigurationPage(TBGSettings::CONFIGURATION_SECTION_USERS) && !$request->hasCookie('tbg3_original_username')) {
         return $this->forward403();
     }
     $response = $this->getResponse();
     if ($request['user_id']) {
         $user = new TBGUser($request['user_id']);
         $response->setCookie('tbg3_original_username', $request->getCookie('tbg3_username'));
         $response->setCookie('tbg3_original_password', $request->getCookie('tbg3_password'));
         TBGContext::getResponse()->setCookie('tbg3_password', $user->getPassword());
         TBGContext::getResponse()->setCookie('tbg3_username', $user->getUsername());
     } else {
         $response->setCookie('tbg3_username', $request->getCookie('tbg3_original_username'));
         $response->setCookie('tbg3_password', $request->getCookie('tbg3_original_password'));
         TBGContext::getResponse()->deleteCookie('tbg3_original_password');
         TBGContext::getResponse()->deleteCookie('tbg3_original_username');
     }
     $this->forward($this->getRouting()->generate('home'));
 }