示例#1
0
 private function rewriteContent($gadgetUrl, RemoteContentRequest &$result)
 {
     try {
         // At the moment we're only able to rewrite CSS files, so check the content type and/or the file extension before rewriting
         $headers = $result->getResponseHeaders();
         $isCss = false;
         if (isset($headers['Content-Type']) && strtolower($headers['Content-Type'] == 'text/csss')) {
             $isCss = true;
         } else {
             $ext = substr($_GET['url'], strrpos($_GET['url'], '.') + 1);
             $isCss = strtolower($ext) == 'css';
         }
         if ($isCss) {
             $gadget = $this->createGadget($gadgetUrl);
             $rewrite = $gadget->gadgetSpec->rewrite;
             if (is_array($rewrite)) {
                 $contentRewriter = new ContentRewriter($this->context, $gadget);
                 $result->setResponseContent($contentRewriter->rewriteCSS($result->getResponseContent()));
             }
         }
     } catch (Exception $e) {
         // ignore, not being able to rewrite anything isn't fatal
     }
 }