| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- <?php
- /**
- * HTML2PDF Librairy - HTML2PDF Exception
- *
- * HTML => PDF convertor
- * distributed under the LGPL License
- *
- * @author Laurent MINGUET <webmaster@html2pdf.fr>
- * @version 4.03
- */
- class HTML2PDF_exception extends exception
- {
- protected $_tag = null;
- protected $_html = null;
- protected $_other = null;
- protected $_image = null;
- protected $_messageHtml = '';
- /**
- * generate a HTML2PDF exception
- *
- * @param int $err error number
- * @param mixed $other additionnal informations
- * @return string $html optionnal code HTML associated to the error
- */
- final public function __construct($err = 0, $other = null, $html = '')
- {
- // read the error
- switch($err)
- {
- case 1: // Unsupported tag
- $msg = (HTML2PDF_locale::get('err01'));
- $msg = str_replace('[[OTHER]]', $other, $msg);
- $this->_tag = $other;
- break;
- case 2: // too long sentence
- $msg = (HTML2PDF_locale::get('err02'));
- $msg = str_replace('[[OTHER_0]]', $other[0], $msg);
- $msg = str_replace('[[OTHER_1]]', $other[1], $msg);
- $msg = str_replace('[[OTHER_2]]', $other[2], $msg);
- break;
- case 3: // closing tag in excess
- $msg = (HTML2PDF_locale::get('err03'));
- $msg = str_replace('[[OTHER]]', $other, $msg);
- $this->_tag = $other;
- break;
- case 4: // tags closed in the wrong order
- $msg = (HTML2PDF_locale::get('err04'));
- $msg = str_replace('[[OTHER]]', print_r($other, true), $msg);
- break;
- case 5: // unclosed tag
- $msg = (HTML2PDF_locale::get('err05'));
- $msg = str_replace('[[OTHER]]', print_r($other, true), $msg);
- break;
- case 6: // image can not be loaded
- $msg = (HTML2PDF_locale::get('err06'));
- $msg = str_replace('[[OTHER]]', $other, $msg);
- $this->_image = $other;
- break;
- case 7: // too big TD content
- $msg = (HTML2PDF_locale::get('err07'));
- break;
- case 8: // SVG tag not in DRAW tag
- $msg = (HTML2PDF_locale::get('err08'));
- $msg = str_replace('[[OTHER]]', $other, $msg);
- $this->_tag = $other;
- break;
- case 9: // deprecated
- $msg = (HTML2PDF_locale::get('err09'));
- $msg = str_replace('[[OTHER_0]]', $other[0], $msg);
- $msg = str_replace('[[OTHER_1]]', $other[1], $msg);
- $this->_tag = $other[0];
- break;
- case 0: // specific error
- default:
- $msg = $other;
- break;
- }
- // create the HTML message
- $this->_messageHtml = '<span style="color: #AA0000; font-weight: bold;">'.HTML2PDF_locale::get('txt01', 'error: ').$err.'</span><br>';
- $this->_messageHtml.= HTML2PDF_locale::get('txt02', 'file:').' '.$this->file.'<br>';
- $this->_messageHtml.= HTML2PDF_locale::get('txt03', 'line:').' '.$this->line.'<br>';
- $this->_messageHtml.= '<br>';
- $this->_messageHtml.= $msg;
- // create the text message
- $msg = HTML2PDF_locale::get('txt01', 'error: ').$err.' : '.strip_tags($msg);
- // add the optionnal html content
- if ($html) {
- $this->_messageHtml.= "<br><br>HTML : ...".trim(htmlentities($html)).'...';
- $this->_html = $html;
- $msg.= ' HTML : ...'.trim($html).'...';
- }
- // save the other informations
- $this->_other = $other;
- // construct the exception
- parent::__construct($msg, $err);
- }
- /**
- * get the message as string
- *
- * @access public
- * @return string $messageHtml
- */
- public function __toString()
- {
- return $this->_messageHtml;
- }
- /**
- * get the html tag name
- *
- * @access public
- * @return string $tagName
- */
- public function getTAG()
- {
- return $this->_tag;
- }
- /**
- * get the optional html code
- *
- * @access public
- * @return string $html
- */
- public function getHTML()
- {
- return $this->_html;
- }
- /**
- * get the optional other informations
- *
- * @access public
- * @return mixed $other
- */
- public function getOTHER()
- {
- return $this->_other;
- }
- /**
- * get the image source
- *
- * @access public
- * @return string $imageSrc
- */
- public function getIMAGE()
- {
- return $this->_image;
- }
- }
|