__toString() public method

public __toString ( )
コード例 #1
0
ファイル: PdfResponse.php プロジェクト: Edke/PdfResponse
 /**
  * Sends response to output.
  * @return void
  */
 function send(\Nette\Http\IRequest $httpRequest, \Nette\Http\IResponse $httpResponse)
 {
     if ($this->source instanceof ITemplate) {
         $this->source->pdfResponse = $this;
         $this->source->mPDF = $this->getMPDF();
         $html = $this->source->__toString();
     } else {
         $html = $this->source;
     }
     // Fix: $html can't be empty (mPDF generates Fatal error)
     if (empty($html)) {
         $html = "<html><body></body></html>";
     }
     $mpdf = $this->getMPDF();
     $mpdf->biDirectional = $this->multiLanguage;
     $mpdf->SetAuthor($this->documentAuthor);
     $mpdf->SetTitle($this->documentTitle);
     $mpdf->SetDisplayMode($this->displayZoom, $this->displayLayout);
     $mpdf->showImageErrors = true;
     // @see: http://mpdf1.com/manual/index.php?tid=121&searchstring=writeHTML
     if ($this->ignoreStylesInHTMLDocument) {
         // copied from mPDF -> removes comments
         $html = preg_replace('/<!--mpdf/i', '', $html);
         $html = preg_replace('/mpdf-->/i', '', $html);
         $html = preg_replace('/<\\!\\-\\-.*?\\-\\->/s', '', $html);
         // deletes all <style> tags
         $parsedHtml = new simple_html_dom($html);
         foreach ($parsedHtml->find("style") as $el) {
             $el->outertext = "";
         }
         $html = $parsedHtml->__toString();
         $mode = 2;
         // If <body> tags are found, all html outside these tags are discarded, and the rest is parsed as content for the document. If no <body> tags are found, all html is parsed as content. Prior to mPDF 4.2 the default CSS was not parsed when using mode #2
     } else {
         $mode = 0;
         // Parse all: HTML + CSS
     }
     // Add content
     $mpdf->WriteHTML($html, $mode);
     // Add styles
     if (!empty($this->styles)) {
         $mpdf->WriteHTML($this->styles, 1);
     }
     $this->onBeforeComplete($mpdf);
     $mpdf->Output(\Nette\Utils\Strings::webalize($this->documentTitle), 'I');
 }
コード例 #2
0
function form_parser($buffer)
{
    global $wp_version;
    if (is_admin() && $wp_version >= '3.3') {
        $html = new simple_html_dom();
        $html->load($buffer);
        if ($textareas = $html->find('textarea[class=theEditor]')) {
            foreach ($textareas as $textarea) {
                ob_start();
                wp_editor($textarea->innertext, $textarea->id);
                $editor = ob_get_clean();
                $textarea->outertext = $editor;
            }
        }
        return $html->__toString();
    }
    return $buffer;
}
コード例 #3
0
ファイル: PDFResponse.php プロジェクト: jkuchar/pdfresponse
 /**
  * Sends response to output.
  * @return void
  */
 public function send(IRequest $httpRequest, IResponse $httpResponse)
 {
     // Throws exception if sources can not be processed
     $html = $this->getSource();
     // Fix: $html can't be empty (mPDF generates Fatal error)
     if (empty($html)) {
         $html = "<html><body></body></html>";
     }
     $mpdf = $this->getMPDF();
     $mpdf->biDirectional = $this->multiLanguage;
     $mpdf->SetAuthor($this->documentAuthor);
     $mpdf->SetTitle($this->documentTitle);
     $mpdf->SetDisplayMode($this->displayZoom, $this->displayLayout);
     // @see: http://mpdf1.com/manual/index.php?tid=121&searchstring=writeHTML
     if ($this->ignoreStylesInHTMLDocument) {
         // copied from mPDF -> removes comments
         $html = preg_replace('/<!--mpdf/i', '', $html);
         $html = preg_replace('/mpdf-->/i', '', $html);
         $html = preg_replace('/<\\!\\-\\-.*?\\-\\->/s', '', $html);
         // deletes all <style> tags
         $parsedHtml = new simple_html_dom($html);
         foreach ($parsedHtml->find("style") as $el) {
             $el->outertext = "";
         }
         $html = $parsedHtml->__toString();
         $mode = 2;
         // If <body> tags are found, all html outside these tags are discarded, and the rest is parsed as content for the document. If no <body> tags are found, all html is parsed as content. Prior to mPDF 4.2 the default CSS was not parsed when using mode #2
     } else {
         $mode = 0;
         // Parse all: HTML + CSS
     }
     if (class_exists('\\simple_html_dom', true)) {
         // Support for base64 encoded images - workaround
         $parsedHtml = new \simple_html_dom($html);
         $i = 1000;
         foreach ($parsedHtml->find("img") as $element) {
             $boundary1 = "data:";
             $pos1 = strlen($boundary1);
             if (!substr($element->src, 0, $pos1) == $boundary1) {
                 continue;
             }
             $pos2 = strpos($element->src, ";", $pos1);
             if ($pos2 === false) {
                 continue;
             }
             $mime = substr($element->src, $pos1, $pos2 - $pos1);
             $boundary = "base64,";
             $base64 = substr($element->src, $pos2 + strlen($boundary) + 1);
             $data = base64_decode($base64);
             if ($data === false) {
                 continue;
             }
             $propertyName = "base64Image" . $i;
             $mpdf->{$propertyName} = $data;
             $element->src = "var:" . $propertyName;
             $i++;
         }
         $html = $parsedHtml->__toString();
     }
     $this->onBeforeWrite($mpdf);
     // Add content
     $mpdf->WriteHTML($html, $mode);
     // Add styles
     if (!empty($this->styles)) {
         $mpdf->WriteHTML($this->styles, 1);
     }
     $this->onBeforeComplete($mpdf);
     if (!$this->outputName) {
         $this->outputName = Strings::webalize($this->documentTitle) . ".pdf";
     }
     $mpdf->Output($this->outputName, $this->outputDestination);
 }
コード例 #4
0
ファイル: import.php プロジェクト: ralfeus/moomi-daeri.com
 /**
  * @param int $id
  * @param string $description
  * @return string
  * @throws Exception
  */
 private function updateDescriptionImages($id, $description)
 {
     /** @var ModelToolImage $modelToolImage */
     $modelToolImage = $this->load->model('tool/image');
     /// Download images in image description
     $html = new \simple_html_dom($description);
     $descriptionImages = $html->find('img');
     foreach ($descriptionImages as $image) {
         try {
             $image->attr['src'] = HTTP_IMAGE . $modelToolImage->download($image->attr['src']);
         } catch (Exception $e) {
             $error = "Couldn't download an image '" . $image->attr['src'] . "'' for product {$id}.  Original image will be used instead";
             $this->getLogger()->write($error);
             $this->data['notifications']['error'] .= "{$error}<br />";
         }
     }
     return $html->__toString();
 }