/** * @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); }