Update 3rd party libraries
Forgot these two
This commit is contained in:
7
inc/vendor/tecnickcom/tcpdf/CHANGELOG.TXT
vendored
7
inc/vendor/tecnickcom/tcpdf/CHANGELOG.TXT
vendored
@ -1,5 +1,8 @@
|
||||
Unreleased
|
||||
- fix Undesired mouseover effect on links in PDF on Chrome Pdf Viewer
|
||||
6.2.20
|
||||
- Fix for security vulnerability: Using the phar:// wrapper it was possible to trigger the unserialization of user provided data.
|
||||
|
||||
6.2.19
|
||||
- Merge various fixes for PHP 7.3 compatibility and security.
|
||||
|
||||
6.2.13 (2016-06-10)
|
||||
- IMPORTANT: A new version of this library is under development at https://github.com/tecnickcom/tc-lib-pdf and as a consequence this version will not receive any additional development or support. This version should be considered obsolete, new projects should use the new version as soon it will become stable.
|
||||
|
2
inc/vendor/tecnickcom/tcpdf/composer.json
vendored
2
inc/vendor/tecnickcom/tcpdf/composer.json
vendored
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "tecnickcom/tcpdf",
|
||||
"version": "6.2.17",
|
||||
"version": "6.2.22",
|
||||
"homepage": "http://www.tcpdf.org/",
|
||||
"type": "library",
|
||||
"description": "TCPDF is a PHP class for generating PDF documents and barcodes.",
|
||||
|
@ -70,7 +70,7 @@ class TCPDF_FONTS {
|
||||
* @public static
|
||||
*/
|
||||
public static function addTTFfont($fontfile, $fonttype='', $enc='', $flags=32, $outpath='', $platid=3, $encid=1, $addcbbox=false, $link=false) {
|
||||
if (!file_exists($fontfile)) {
|
||||
if (!TCPDF_STATIC::file_exists($fontfile)) {
|
||||
// Could not find file
|
||||
return false;
|
||||
}
|
||||
@ -95,7 +95,7 @@ class TCPDF_FONTS {
|
||||
$outpath = self::_getfontpath();
|
||||
}
|
||||
// check if this font already exist
|
||||
if (@file_exists($outpath.$font_name.'.php')) {
|
||||
if (@TCPDF_STATIC::file_exists($outpath.$font_name.'.php')) {
|
||||
// this font already exist (delete it from fonts folder to rebuild it)
|
||||
return $font_name;
|
||||
}
|
||||
@ -1543,11 +1543,11 @@ class TCPDF_FONTS {
|
||||
public static function getFontFullPath($file, $fontdir=false) {
|
||||
$fontfile = '';
|
||||
// search files on various directories
|
||||
if (($fontdir !== false) AND @file_exists($fontdir.$file)) {
|
||||
if (($fontdir !== false) AND @TCPDF_STATIC::file_exists($fontdir.$file)) {
|
||||
$fontfile = $fontdir.$file;
|
||||
} elseif (@file_exists(self::_getfontpath().$file)) {
|
||||
} elseif (@TCPDF_STATIC::file_exists(self::_getfontpath().$file)) {
|
||||
$fontfile = self::_getfontpath().$file;
|
||||
} elseif (@file_exists($file)) {
|
||||
} elseif (@TCPDF_STATIC::file_exists($file)) {
|
||||
$fontfile = $file;
|
||||
}
|
||||
return $fontfile;
|
||||
|
@ -161,12 +161,8 @@ class TCPDF_IMAGES {
|
||||
*/
|
||||
public static function _parsejpeg($file) {
|
||||
// check if is a local file
|
||||
if (!@file_exists($file)) {
|
||||
// try to encode spaces on filename
|
||||
$tfile = str_replace(' ', '%20', $file);
|
||||
if (@file_exists($tfile)) {
|
||||
$file = $tfile;
|
||||
}
|
||||
if (!@TCPDF_STATIC::file_exists($file)) {
|
||||
return false;
|
||||
}
|
||||
$a = getimagesize($file);
|
||||
if (empty($a)) {
|
||||
|
@ -55,7 +55,7 @@ class TCPDF_STATIC {
|
||||
* Current TCPDF version.
|
||||
* @private static
|
||||
*/
|
||||
private static $tcpdf_version = '6.2.17';
|
||||
private static $tcpdf_version = '6.2.22';
|
||||
|
||||
/**
|
||||
* String alias for total number of pages.
|
||||
@ -1774,39 +1774,6 @@ class TCPDF_STATIC {
|
||||
return $angle;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ====================================================================================================================
|
||||
// REIMPLEMENTED
|
||||
// ====================================================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Split string by a regular expression.
|
||||
* This is a wrapper for the preg_split function to avoid the bug: https://bugs.php.net/bug.php?id=45850
|
||||
@ -1854,6 +1821,33 @@ class TCPDF_STATIC {
|
||||
return fopen($filename, $mode);
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper for file_exists.
|
||||
* Checks whether a file or directory exists.
|
||||
* Only allows some protocols and local files.
|
||||
* @param filename (string) Path to the file or directory.
|
||||
* @return Returns TRUE if the file or directory specified by filename exists; FALSE otherwise.
|
||||
* @public static
|
||||
*/
|
||||
public static function file_exists($filename) {
|
||||
if (strpos($filename, '://') > 0) {
|
||||
$wrappers = stream_get_wrappers();
|
||||
foreach ($wrappers as $wrapper) {
|
||||
if (($wrapper === 'http') || ($wrapper === 'https')) {
|
||||
continue;
|
||||
}
|
||||
if (stripos($filename, $wrapper.'://') === 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!@file_exists($filename)) {
|
||||
// try to encode spaces on filename
|
||||
$filename = str_replace(' ', '%20', $filename);
|
||||
}
|
||||
return @file_exists($filename);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads entire file into a string.
|
||||
* The file can be also an URL.
|
||||
@ -1914,8 +1908,10 @@ class TCPDF_STATIC {
|
||||
}
|
||||
//
|
||||
$alt = array_unique($alt);
|
||||
//var_dump($alt);exit;//DEBUG
|
||||
foreach ($alt as $path) {
|
||||
if (!self::file_exists($path)) {
|
||||
return false;
|
||||
}
|
||||
$ret = @file_get_contents($path);
|
||||
if ($ret !== false) {
|
||||
return $ret;
|
||||
@ -1949,8 +1945,6 @@ class TCPDF_STATIC {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Get ULONG from string (Big Endian 32-bit unsigned integer).
|
||||
* @param $str (string) string from where to extract value
|
||||
|
51
inc/vendor/tecnickcom/tcpdf/tcpdf.php
vendored
51
inc/vendor/tecnickcom/tcpdf/tcpdf.php
vendored
@ -1,13 +1,13 @@
|
||||
<?php
|
||||
//============================================================+
|
||||
// File name : tcpdf.php
|
||||
// Version : 6.2.13
|
||||
// Version : 6.2.22
|
||||
// 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.22
|
||||
*/
|
||||
|
||||
// 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.22
|
||||
* @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);
|
||||
}
|
||||
@ -4257,7 +4256,7 @@ class TCPDF {
|
||||
// true when the font style variation is missing
|
||||
$missing_style = false;
|
||||
// search and include font file
|
||||
if (TCPDF_STATIC::empty_string($fontfile) OR (!@file_exists($fontfile))) {
|
||||
if (TCPDF_STATIC::empty_string($fontfile) OR (!@TCPDF_STATIC::file_exists($fontfile))) {
|
||||
// build a standard filenames for specified font
|
||||
$tmp_fontfile = str_replace(' ', '', $family).strtolower($style).'.php';
|
||||
$fontfile = TCPDF_FONTS::getFontFullPath($tmp_fontfile, $fontdir);
|
||||
@ -4269,7 +4268,7 @@ class TCPDF {
|
||||
}
|
||||
}
|
||||
// include font file
|
||||
if (!TCPDF_STATIC::empty_string($fontfile) AND (@file_exists($fontfile))) {
|
||||
if (!TCPDF_STATIC::empty_string($fontfile) AND (@TCPDF_STATIC::file_exists($fontfile))) {
|
||||
include($fontfile);
|
||||
} else {
|
||||
$this->Error('Could not include font definition file: '.$family.'');
|
||||
@ -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
|
||||
@ -4809,19 +4809,19 @@ class TCPDF {
|
||||
$this->PageAnnots[$page][] = array('n' => ++$this->n, 'x' => $x, 'y' => $y, 'w' => $w, 'h' => $h, 'txt' => $text, 'opt' => $opt, 'numspaces' => $spaces);
|
||||
if (!$this->pdfa_mode) {
|
||||
if ((($opt['Subtype'] == 'FileAttachment') OR ($opt['Subtype'] == 'Sound')) AND (!TCPDF_STATIC::empty_string($opt['FS']))
|
||||
AND (@file_exists($opt['FS']) OR TCPDF_STATIC::isValidURL($opt['FS']))
|
||||
AND (@TCPDF_STATIC::file_exists($opt['FS']) OR TCPDF_STATIC::isValidURL($opt['FS']))
|
||||
AND (!isset($this->embeddedfiles[basename($opt['FS'])]))) {
|
||||
$this->embeddedfiles[basename($opt['FS'])] = array('f' => ++$this->n, 'n' => ++$this->n, 'file' => $opt['FS']);
|
||||
}
|
||||
}
|
||||
// Add widgets annotation's icons
|
||||
if (isset($opt['mk']['i']) AND @file_exists($opt['mk']['i'])) {
|
||||
if (isset($opt['mk']['i']) AND @TCPDF_STATIC::file_exists($opt['mk']['i'])) {
|
||||
$this->Image($opt['mk']['i'], '', '', 10, 10, '', '', '', false, 300, '', false, false, 0, false, true);
|
||||
}
|
||||
if (isset($opt['mk']['ri']) AND @file_exists($opt['mk']['ri'])) {
|
||||
if (isset($opt['mk']['ri']) AND @TCPDF_STATIC::file_exists($opt['mk']['ri'])) {
|
||||
$this->Image($opt['mk']['ri'], '', '', 0, 0, '', '', '', false, 300, '', false, false, 0, false, true);
|
||||
}
|
||||
if (isset($opt['mk']['ix']) AND @file_exists($opt['mk']['ix'])) {
|
||||
if (isset($opt['mk']['ix']) AND @TCPDF_STATIC::file_exists($opt['mk']['ix'])) {
|
||||
$this->Image($opt['mk']['ix'], '', '', 0, 0, '', '', '', false, 300, '', false, false, 0, false, true);
|
||||
}
|
||||
}
|
||||
@ -6845,13 +6845,9 @@ class TCPDF {
|
||||
$file = substr($file, 1);
|
||||
$exurl = $file;
|
||||
}
|
||||
// check if is a local file
|
||||
if (!@file_exists($file)) {
|
||||
// try to encode spaces on filename
|
||||
$tfile = str_replace(' ', '%20', $file);
|
||||
if (@file_exists($tfile)) {
|
||||
$file = $tfile;
|
||||
}
|
||||
// check if file exist and it is valid
|
||||
if (!@TCPDF_STATIC::file_exists($file)) {
|
||||
return false;
|
||||
}
|
||||
if (($imsize = @getimagesize($file)) === FALSE) {
|
||||
if (in_array($file, $this->imagekeys)) {
|
||||
@ -7750,6 +7746,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 +17783,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 +18318,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 +18334,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 {
|
||||
|
Reference in New Issue
Block a user