/** * Register our dom node observers * * @param GadgetRewriter $gadgetRewriter */ public function register(GadgetRewriter &$gadgetRewriter) { $gadgetRewriter->addObserver('img', $this, 'rewriteImage'); $gadgetRewriter->addObserver('style', $this, 'rewriteStyle'); $gadgetRewriter->addObserver('script', $this, 'rewriteScript'); $gadgetRewriter->addObserver('link', $this, 'rewriteStyleLink'); }
/** * Register our dom node observers that will remove the javascript, but only * if this view should be sanitized * * @param GadgetRewriter $gadgetRewriter */ public function register(GadgetRewriter &$gadgetRewriter) { $sanitizeViews = Shindig_Config::get('sanitize_views'); // Only hook up our dom node observers if this view should be sanitized if (in_array($this->context->getView(), $sanitizeViews)) { $gadgetRewriter->addObserver('script', $this, 'rewriteScript'); } }
/** * Rewrites the content, based on shindig's configuration (force_rewrite) and/or the gadget's * spec params, it also injects the required html, css and javascript for the final gadget * using the dom observer methods for the head and body * * @param unknown_type $content * @return unknown */ public function rewriteContent($content) { // Rewrite the content, this will rewrite resource links to proxied versions (if requested), sanitize if configured, and // add the various javascript tags to the document $rewriter = new GadgetRewriter($this->context); $rewriter->addObserver('head', $this, 'addHeadTags'); $rewriter->addObserver('body', $this, 'addBodyTags'); return $rewriter->rewrite($content, $this->gadget, true); }