Esempio n. 1
0
 public function execute(ActionMapping $mapping, AbstractActionForm $form = null, Request $request, Response $response)
 {
     // Identify the request parameters controlling our actions
     $page = $request->get("page");
     $prefix = $request->get("prefix");
     if ($page == null || $prefix == null) {
         $message = $this->getActionKernel()->getInternal()->getMessage("switch.required", $mapping->getPath());
         throw new \Phruts\Exception($message);
     }
     // Switch to the requested module
     \Phruts\Util\RequestUtils::selectModule($request, $this->getActionKernel()->getApplication());
     if ($request->attributes->get(\Phruts\Util\Globals::MODULE_KEY) == null) {
         $message = $this->getActionKernel()->getInternal()->getMessage("switch.prefix", $prefix);
         $response->setContent(400);
         $response->setContent($message);
         return null;
     }
     // Forward control to the specified module-relative URI
     $forward = new \Phruts\Config\ForwardConfig();
     $forward->setPath($page);
     return $forward;
 }
Esempio n. 2
0
 public function testGetResources()
 {
     $getDataSource = self::getMethod('getResources');
     // Get from the request
     $messages = new \Phruts\Util\PropertyMessageResources(__DIR__ . '/UtilTest/Example');
     $this->request->attributes->set(\Phruts\Util\Globals::MESSAGES_KEY, $messages);
     $result = $getDataSource->invokeArgs($this->action, array($this->request));
     $this->assertNotEmpty($result);
     // Get from the application
     $request = \Symfony\Component\HttpFoundation\Request::create('http://localhost/test', 'GET', array(), array(), array(), array('PATH_INFO' => '/test'));
     $application = new \Silex\Application();
     $application[\Phruts\Util\Globals::PREFIXES_KEY] = array();
     $moduleConfig = new \Phruts\Config\ModuleConfig('');
     $application[\Phruts\Util\Globals::MODULE_KEY] = $moduleConfig;
     \Phruts\Util\RequestUtils::selectModule($request, $application);
     $key = 'key';
     $application[$key] = $messages;
     $actionKernel = new \Phruts\Action\ActionKernel($application);
     $this->action->setActionKernel($actionKernel);
     $result = $getDataSource->invokeArgs($this->action, array($this->request, $key));
     $this->assertNotEmpty($result);
 }
Esempio n. 3
0
 /**
  *
  * @param Request  $request
  * @param Response $response
  */
 protected function process(Request $request, Response $response)
 {
     $this->init();
     RequestUtils::selectModule($request, $this->application);
     $this->getRequestProcessor($this->getModuleConfig($request))->process($request, $response);
 }