public function rewriteGadgetView(Gadget $gadget, ViewSpec $gadgetView) { // Dont rewrite content if the spec is unavailable $requires = $gadget->getRequires(); if (isset($requires[ContentRewriteFeature::$REWRITE_TAG])) { // Store the feature in the spec so we dont keep parsing it $rewriteFeature = new ContentRewriteFeature(); $rewriteFeature->createRewriteFeature($gadget); } else { return false; } if (!$rewriteFeature->isRewriteEnabled()) { return false; } if (ContentRewriteFeature::$PROXY_URL != null) { $defaultTags = ContentRewriteFeature::defaultHTMLTags(); $htmlTags = null; if (count($rewriteFeature->getTagsParam()) > 0) { foreach ($rewriteFeature->getTagsParam() as $tag) { if (isset($defaultTags[$tag])) { $htmlTags[$tag] = $defaultTags[$tag]; } } } else { $htmlTags = $defaultTags; } } $gadgetView->setRewrittenContent($this->rewrite($gadgetView->getContent(), $htmlTags, $rewriteFeature->getExcludeParam(), $rewriteFeature->getIncludeParam(), Config::get('web_prefix') . ContentRewriteFeature::$PROXY_URL, $gadget->getId()->getURI(), $rewriteFeature->getTagsParam())); return true; }