render() public method

This method is invoked by {@link renderControl} when the control is visible. You can override this method to provide customized rendering of the control. By default, the control simply renders all its child contents.
public render ( $writer )
Ejemplo n.º 1
0
 /**
  * Renders the literal control.
  * @param THtmlWriter the writer used for the rendering purpose
  */
 public function render($writer)
 {
     if (($text = $this->getText()) !== '') {
         if ($this->getEncode()) {
             $writer->write(THttpUtility::htmlEncode($text));
         } else {
             $writer->write($text);
         }
     } else {
         parent::render($writer);
     }
 }
Ejemplo n.º 2
0
 /**
  * Renders the output cache control.
  * This method overrides the parent implementation by capturing the output
  * from its child controls and saving it into cache, if output cache is needed.
  * @param THtmlWriter
  */
 public function render($writer)
 {
     if ($this->_dataCached) {
         $writer->write($this->_contents);
     } else {
         if ($this->_cacheAvailable) {
             $textwriter = new TTextWriter();
             $multiwriter = new TOutputCacheTextWriterMulti(array($writer->getWriter(), $textwriter));
             $htmlWriter = Prado::createComponent($this->GetResponse()->getHtmlWriterType(), $multiwriter);
             $stack = $this->getPage()->getCachingStack();
             $stack->push($this);
             parent::render($htmlWriter);
             $stack->pop();
             $content = $textwriter->flush();
             $data = array($content, $this->_state, $this->_actions, time());
             $this->_cache->set($this->getCacheKey(), $data, $this->getDuration(), $this->getCacheDependency());
         } else {
             parent::render($writer);
         }
     }
 }
Ejemplo n.º 3
0
 /**
  * Renders the head control.
  * @param THtmlWriter the writer for rendering purpose.
  */
 public function render($writer)
 {
     $page = $this->getPage();
     $title = $this->getTitle();
     $writer->write("<head>\n<title>" . THttpUtility::htmlEncode($title) . "</title>\n");
     if (($baseUrl = $this->getBaseUrl()) !== '') {
         $writer->write('<base href="' . $baseUrl . "\" />\n");
     }
     if (($icon = $this->getShortcutIcon()) !== '') {
         $writer->write('<link rel="shortcut icon" href="' . $icon . "\" />\n");
     }
     if (($metaTags = $this->getMetaTags()) !== null) {
         foreach ($metaTags as $metaTag) {
             $metaTag->render($writer);
             $writer->writeLine();
         }
     }
     $cs = $page->getClientScript();
     $cs->renderStyleSheetFiles($writer);
     $cs->renderStyleSheets($writer);
     if ($page->getClientSupportsJavaScript()) {
         $cs->renderHeadScriptFiles($writer);
         $cs->renderHeadScripts($writer);
     }
     parent::render($writer);
     $writer->write("</head>\n");
 }
Ejemplo n.º 4
0
 /**
  * Performs XSL transformation and render the output.
  * @param THtmlWriter The writer used for the rendering purpose
  */
 public function render($writer)
 {
     if (($document = $this->getSourceXmlDocument()) === null) {
         $htmlWriter = Prado::createComponent($this->GetResponse()->getHtmlWriterType(), new TTextWriter());
         parent::render($htmlWriter);
         $document = new DOMDocument();
         $document->loadXML($htmlWriter->flush());
     }
     $stylesheet = $this->getTransformXmlDocument();
     // Perform XSL transformation
     $xslt = new XSLTProcessor();
     $xslt->importStyleSheet($stylesheet);
     // Check for parameters
     $parameters = $this->getParameters();
     foreach ($parameters as $name => $value) {
         $xslt->setParameter('', $name, $value);
     }
     $output = $xslt->transformToXML($document);
     // Write output
     $writer->write($output);
 }
Ejemplo n.º 5
0
 /**
  * Renders body content.
  * This method overrides parent implementation by removing malicious code from the body content
  * @param THtmlWriter writer
  */
 public function render($writer)
 {
     $htmlWriter = Prado::createComponent($this->GetResponse()->getHtmlWriterType(), new TTextWriter());
     parent::render($htmlWriter);
     $writer->write($this->parseSafeHtml($htmlWriter->flush()));
 }