Ejemplo n.º 1
0
 /**
  * @param DispatchEvent $event
  */
 public function processEvent(DispatchEvent $event)
 {
     //Generate the URI and return it in the event
     $uri = $this->generateUriPath($event->getMapType(), $event->getLookupParts(), $this->_httpHost, $event->getPath(), $event->getFilename());
     //Invalid resource requested
     if ($uri === null) {
         $event->setResult(null);
         return;
     }
     $cfg = $this->_dispatcher->getConfig();
     switch ($cfg->getItem('run_on', 'path')) {
         case 'path':
             // asset urls are determined by path prefix
             $path = $cfg->getItem('run_match', 'res');
             $uri = Path::buildUnix($this->_httpHost, $path, $uri);
             break;
         case 'subdomain':
             // asset urls are determined by domain prefix
             $sub = $cfg->getItem('run_match', 'static.');
             $domainP = explode('.', $this->_httpHost);
             if (count($domainP) > 2) {
                 $domain = implode('.', array_slice($domainP, 1));
             } else {
                 $domain = implode('.', $domainP);
             }
             $uri = Path::buildUnix($sub . $domain, $uri);
             break;
         case 'domain':
             // asset urls are determined by FQDN
             $domain = $cfg->getItem('run_match', $this->_httpHost);
             $uri = Path::buildUnix($domain, $uri);
             break;
     }
     $event->setResult('//' . $uri);
 }