mirror of
https://github.com/itflow-org/itflow
synced 2026-02-28 02:44:53 +00:00
Bump TCPDF from 6.9.4 to 6.10.0 and TinyMCE from 7.9.0 to 7.9.1
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
//============================================================+
|
||||
// File name : tcpdf.php
|
||||
// Version : 6.9.4
|
||||
// Version : 6.10.0
|
||||
// Begin : 2002-08-03
|
||||
// Last Update : 2025-04-18
|
||||
// Last Update : 2025-05-27
|
||||
// Author : Nicola Asuni - Tecnick.com LTD - www.tecnick.com - info@tecnick.com
|
||||
// License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html)
|
||||
// -------------------------------------------------------------------
|
||||
@@ -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.9.4
|
||||
* @version 6.10.0
|
||||
*/
|
||||
|
||||
// TCPDF configuration
|
||||
@@ -128,7 +128,7 @@ 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.9.4
|
||||
* @version 6.10.0
|
||||
* @author Nicola Asuni - info@tecnick.com
|
||||
* @IgnoreAnnotation("protected")
|
||||
* @IgnoreAnnotation("public")
|
||||
@@ -1810,6 +1810,13 @@ class TCPDF {
|
||||
*/
|
||||
protected $custom_xmp_rdf = '';
|
||||
|
||||
/**
|
||||
* Custom XMP RDF pdfaextension data.
|
||||
* @protected
|
||||
* @since 6.9.0 (2025-02-11)
|
||||
*/
|
||||
protected $custom_xmp_rdf_pdfaExtension = '';
|
||||
|
||||
/**
|
||||
* Overprint mode array.
|
||||
* (Check the "Entries in a Graphics State Parameter Dictionary" on PDF 32000-1:2008).
|
||||
@@ -4932,6 +4939,32 @@ class TCPDF {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Embed the attached files.
|
||||
* @since 6.9.000 (2025-02-11)
|
||||
* @public
|
||||
*/
|
||||
public function EmbedFile($opt) {
|
||||
if (!$this->pdfa_mode || ($this->pdfa_mode && $this->pdfa_version == 3)) {
|
||||
if ((($opt['Subtype'] == 'FileAttachment')) AND (!TCPDF_STATIC::empty_string($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']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Embed the attached files.
|
||||
* @since 6.9.000 (2025-02-11)
|
||||
* @public
|
||||
*/
|
||||
public function EmbedFileFromString($filename, $content) {
|
||||
if (!$this->pdfa_mode || ($this->pdfa_mode && $this->pdfa_version == 3)) {
|
||||
$this->embeddedfiles[$filename] = array('f' => ++$this->n, 'n' => ++$this->n, 'content' => $content );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Embedd the attached files.
|
||||
* @since 4.4.000 (2008-12-07)
|
||||
@@ -4945,7 +4978,12 @@ class TCPDF {
|
||||
}
|
||||
reset($this->embeddedfiles);
|
||||
foreach ($this->embeddedfiles as $filename => $filedata) {
|
||||
$data = $this->getCachedFileContents($filedata['file']);
|
||||
$data = false;
|
||||
if (isset($filedata['file']) && !empty($filedata['file'])) {
|
||||
$data = $this->getCachedFileContents($filedata['file']);
|
||||
} elseif ($filedata['content'] && !empty($filedata['content'])) {
|
||||
$data = $filedata['content'];
|
||||
}
|
||||
if ($data !== FALSE) {
|
||||
$rawsize = strlen($data);
|
||||
if ($rawsize > 0) {
|
||||
@@ -9630,6 +9668,17 @@ class TCPDF {
|
||||
$this->custom_xmp_rdf = $xmp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set additional XMP data to be added to the default XMP data for PDF/A extensions.
|
||||
* IMPORTANT: This data is added as-is without controls, so you have to validate your data before using this method!
|
||||
* @param string $xmp Custom XMP RDF data.
|
||||
* @since 6.9.0 (2025-02-14)
|
||||
* @public
|
||||
*/
|
||||
public function setExtraXMPPdfaextension($xmp) {
|
||||
$this->custom_xmp_rdf_pdfaExtension = $xmp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Put XMP data object and return ID.
|
||||
* @return int The object ID.
|
||||
@@ -9764,6 +9813,7 @@ class TCPDF {
|
||||
$xmp .= "\t\t\t\t\t\t\t".'</rdf:Seq>'."\n";
|
||||
$xmp .= "\t\t\t\t\t\t".'</pdfaSchema:property>'."\n";
|
||||
$xmp .= "\t\t\t\t\t".'</rdf:li>'."\n";
|
||||
$xmp .= $this->custom_xmp_rdf_pdfaExtension;
|
||||
$xmp .= "\t\t\t\t".'</rdf:Bag>'."\n";
|
||||
$xmp .= "\t\t\t".'</pdfaExtension:schemas>'."\n";
|
||||
$xmp .= "\t\t".'</rdf:Description>'."\n";
|
||||
@@ -9802,7 +9852,11 @@ class TCPDF {
|
||||
}
|
||||
// start catalog
|
||||
$oid = $this->_newobj();
|
||||
$out = '<< /Type /Catalog';
|
||||
$out = '<< ';
|
||||
if (!empty($this->efnames)) {
|
||||
$out .= ' /AF [ '. implode(' ', $this->efnames) .' ]';
|
||||
}
|
||||
$out .= ' /Type /Catalog';
|
||||
$out .= ' /Version /'.$this->PDFVersion;
|
||||
//$out .= ' /Extensions <<>>';
|
||||
$out .= ' /Pages 1 0 R';
|
||||
@@ -17427,6 +17481,9 @@ class TCPDF {
|
||||
}
|
||||
}
|
||||
if ($key == $maxel) break;
|
||||
if ($dom[$key]['tag'] AND $dom[$key]['opening'] AND !empty($dom[$key]['attribute']['id'])) {
|
||||
$this->setDestination($dom[$key]['attribute']['id']);
|
||||
}
|
||||
if ($dom[$key]['tag'] AND isset($dom[$key]['attribute']['pagebreak'])) {
|
||||
// check for pagebreak
|
||||
if (($dom[$key]['attribute']['pagebreak'] == 'true') OR ($dom[$key]['attribute']['pagebreak'] == 'left') OR ($dom[$key]['attribute']['pagebreak'] == 'right')) {
|
||||
@@ -19151,7 +19208,7 @@ class TCPDF {
|
||||
$imglink = '';
|
||||
if (isset($this->HREF['url']) AND !TCPDF_STATIC::empty_string($this->HREF['url'])) {
|
||||
$imglink = $this->HREF['url'];
|
||||
if ($imglink[0] == '#' AND is_numeric($imglink[1])) {
|
||||
if ($imglink[0] == '#' AND isset($imglink[1]) AND is_numeric($imglink[1])) {
|
||||
// convert url to internal link
|
||||
$lnkdata = explode(',', $imglink);
|
||||
if (isset($lnkdata[0])) {
|
||||
@@ -20012,7 +20069,7 @@ class TCPDF {
|
||||
}
|
||||
}
|
||||
if (!$in_table_head) { // we are not inside a thead section
|
||||
$this->cell_padding = isset($table_el['old_cell_padding']) ? $table_el['old_cell_padding'] : null;
|
||||
$this->cell_padding = isset($table_el['old_cell_padding']) ? $table_el['old_cell_padding'] : array('T' => 0, 'R' => 0, 'B' => 0, 'L' => 0);
|
||||
// reset row height
|
||||
$this->resetLastH();
|
||||
if (($this->page == ($this->numpages - 1)) AND ($this->pageopen[$this->numpages])) {
|
||||
@@ -23479,6 +23536,8 @@ class TCPDF {
|
||||
$fill_color = TCPDF_COLORS::convertHTMLColorToDec($svgstyle['fill'], $this->spot_colors);
|
||||
if ($svgstyle['fill-opacity'] != 1) {
|
||||
$this->setAlpha($this->alpha['CA'], 'Normal', $svgstyle['fill-opacity'], false);
|
||||
} elseif (preg_match('/rgba\(\d+%?,\s*\d+%?,\s*\d+%?,\s*(\d+(?:\.\d+)?)\)/i', $svgstyle['fill'], $rgba_matches)) {
|
||||
$this->setAlpha($this->alpha['CA'], 'Normal', $rgba_matches[1], false);
|
||||
}
|
||||
$this->setFillColorArray($fill_color);
|
||||
if ($svgstyle['fill-rule'] == 'evenodd') {
|
||||
|
||||
Reference in New Issue
Block a user