diff options
| author | Greg Roach <fisharebest@webtrees.net> | 2018-09-14 13:33:25 +0100 |
|---|---|---|
| committer | Greg Roach <fisharebest@webtrees.net> | 2018-09-14 13:33:25 +0100 |
| commit | 8b5ff62d901640daf2a7ada1e0968fe12102d93b (patch) | |
| tree | 168a5414a1cacf685e2d720843978a090565b5aa /vendor/tecnickcom/tcpdf/tcpdf.php | |
| parent | f5666b293031c8b46bbeb0f4dad21baec37d2c0a (diff) | |
| download | webtrees-8b5ff62d901640daf2a7ada1e0968fe12102d93b.tar.gz webtrees-8b5ff62d901640daf2a7ada1e0968fe12102d93b.tar.bz2 webtrees-8b5ff62d901640daf2a7ada1e0968fe12102d93b.zip | |
Update TCPDF for compatibility with PHP 7.3
Diffstat (limited to 'vendor/tecnickcom/tcpdf/tcpdf.php')
| -rw-r--r-- | vendor/tecnickcom/tcpdf/tcpdf.php | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/vendor/tecnickcom/tcpdf/tcpdf.php b/vendor/tecnickcom/tcpdf/tcpdf.php index ef411a17de..2c3f62992d 100644 --- a/vendor/tecnickcom/tcpdf/tcpdf.php +++ b/vendor/tecnickcom/tcpdf/tcpdf.php @@ -1,13 +1,13 @@ <?php //============================================================+ // File name : tcpdf.php -// Version : 6.2.13 +// Version : 6.2.19 // Begin : 2002-08-03 -// Last Update : 2015-06-18 +// Last Update : 2018-09-14 // Author : Nicola Asuni - Tecnick.com LTD - www.tecnick.com - info@tecnick.com // License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html) // ------------------------------------------------------------------- -// Copyright (C) 2002-2015 Nicola Asuni - Tecnick.com LTD +// Copyright (C) 2002-2018 Nicola Asuni - Tecnick.com LTD // // This file is part of TCPDF software library. // @@ -104,7 +104,7 @@ * Tools to encode your unicode fonts are on fonts/utils directory.</p> * @package com.tecnick.tcpdf * @author Nicola Asuni - * @version 6.2.8 + * @version 6.2.19 */ // TCPDF configuration @@ -128,8 +128,11 @@ require_once(dirname(__FILE__).'/include/tcpdf_static.php'); * TCPDF project (http://www.tcpdf.org) has been originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.<br> * @package com.tecnick.tcpdf * @brief PHP class for generating PDF documents without requiring external extensions. - * @version 6.2.8 + * @version 6.2.19 * @author Nicola Asuni - info@tecnick.com + * @IgnoreAnnotation("protected") + * @IgnoreAnnotation("public") + * @IgnoreAnnotation("pre") */ class TCPDF { @@ -1994,10 +1997,6 @@ class TCPDF { * @since 1.53.0.TC016 */ public function __destruct() { - // restore internal encoding - if (isset($this->internal_encoding) AND !empty($this->internal_encoding)) { - mb_internal_encoding($this->internal_encoding); - } // cleanup $this->_destroy(true); } @@ -4453,6 +4452,7 @@ class TCPDF { * @see SetFont() */ public function SetFontSize($size, $out=true) { + $size = (float)$size; // font size in points $this->FontSizePt = $size; // font size in user units @@ -6845,6 +6845,15 @@ class TCPDF { $file = substr($file, 1); $exurl = $file; } + $wrappers = stream_get_wrappers(); + foreach ($wrappers as $wrapper) { + if ($wrapper === 'http' || $wrapper === 'https') { + continue; + } + if (stripos($file, $wrapper.'://') === 0) { + $this->Error('Stream wrappers in file paths are not supported'); + } + } // check if is a local file if (!@file_exists($file)) { // try to encode spaces on filename @@ -7750,6 +7759,10 @@ class TCPDF { * @since 4.5.016 (2009-02-24) */ public function _destroy($destroyall=false, $preserve_objcopy=false) { + // restore internal encoding + if (isset($this->internal_encoding) AND !empty($this->internal_encoding)) { + mb_internal_encoding($this->internal_encoding); + } if ($destroyall AND !$preserve_objcopy) { // remove all temporary files $tmpfiles = glob(K_PATH_CACHE.'__tcpdf_'.$this->file_id.'_*'); @@ -17783,7 +17796,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: // justify block if (!TCPDF_STATIC::empty_string($this->lispacer)) { $this->lispacer = ''; - continue; + break; } preg_match('/([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s](re)([\s]*)/x', $pmid, $xmatches); if (!isset($xmatches[1])) { @@ -18318,7 +18331,8 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: } // text $this->htmlvspace = 0; - if ((!$this->premode) AND $this->isRTLTextDir()) { + $isRTLString = preg_match(TCPDF_FONT_DATA::$uni_RE_PATTERN_RTL, $dom[$key]['value']) || preg_match(TCPDF_FONT_DATA::$uni_RE_PATTERN_ARABIC, $dom[$key]['value']); + if ((!$this->premode) AND $this->isRTLTextDir() AND !$isRTLString) { // reverse spaces order $lsp = ''; // left spaces $rsp = ''; // right spaces @@ -18333,7 +18347,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: if ($newline) { if (!$this->premode) { $prelen = strlen($dom[$key]['value']); - if ($this->isRTLTextDir()) { + if ($this->isRTLTextDir() AND !$isRTLString) { // right trim except non-breaking space $dom[$key]['value'] = $this->stringRightTrim($dom[$key]['value']); } else { |
