From 4adf3d74993c3fc81cbed0b2489342e2adc32888 Mon Sep 17 00:00:00 2001 From: nicolaasuni Date: Tue, 19 Apr 2011 20:56:45 +0200 Subject: [PATCH] 5.9.071 --- CHANGELOG.TXT | 2 +- README.TXT | 2 +- tcpdf.php | 31 +++++++++++++++---------------- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT index 3cafb4c..7950c1a 100755 --- a/CHANGELOG.TXT +++ b/CHANGELOG.TXT @@ -1,4 +1,4 @@ -5.9.070 (2011-04-19) +5.9.071 (2011-04-19) - Bug #3288574 "
trouble" was fixed. 5.9.069 (2011-04-19) diff --git a/README.TXT b/README.TXT index c465d24..7a67514 100755 --- a/README.TXT +++ b/README.TXT @@ -8,7 +8,7 @@ http://sourceforge.net/donate/index.php?group_id=128076 ------------------------------------------------------------ Name: TCPDF -Version: 5.9.070 +Version: 5.9.071 Release date: 2011-04-19 Author: Nicola Asuni diff --git a/tcpdf.php b/tcpdf.php index 5886a2d..97245de 100755 --- a/tcpdf.php +++ b/tcpdf.php @@ -1,7 +1,7 @@ * @package com.tecnick.tcpdf * @author Nicola Asuni - * @version 5.9.070 + * @version 5.9.071 */ // Main configuration file. Define the K_TCPDF_EXTERNAL_CONFIG constant to skip this file. @@ -146,7 +146,7 @@ require_once(dirname(__FILE__).'/config/tcpdf_config.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.
* @package com.tecnick.tcpdf * @brief PHP class for generating PDF documents without requiring external extensions. - * @version 5.9.070 + * @version 5.9.071 * @author Nicola Asuni - info@tecnick.com */ class TCPDF { @@ -157,7 +157,7 @@ class TCPDF { * Current TCPDF version. * @private */ - private $tcpdf_version = '5.9.070'; + private $tcpdf_version = '5.9.071'; // Protected properties @@ -18087,12 +18087,10 @@ class TCPDF { */ protected function getCSSdataArray($dom, $key, $css) { $cssarray = array(); // style to be returned - // get list of parent CSS selectors - $parent_selectors = array(); - if (isset($dom[($dom[$key]['parent'])]['cssdata'])) { - foreach ($dom[($dom[$key]['parent'])]['cssdata'] as $k => $v) { - $parent_selectors[] = $v['k']; - } + // get parent CSS selectors + $selectors = array(); + if (isset($dom[($dom[$key]['parent'])]['csssel'])) { + $selectors = $dom[($dom[$key]['parent'])]['csssel']; } // get all styles that apply foreach($css as $selector => $style) { @@ -18103,9 +18101,10 @@ class TCPDF { $selector = substr($selector, $pos); // check if this selector apply to current tag if ($this->isValidCSSSelectorForTag($dom, $key, $selector)) { - if (!in_array($selector, $parent_selectors)) { + if (!in_array($selector, $selectors)) { // add style if not already added on parent selector $cssarray[] = array('k' => $selector, 's' => $specificity, 'c' => $style); + $selectors[] = $selector; } } } @@ -18114,14 +18113,14 @@ class TCPDF { $cssarray[] = array('k' => '', 's' => '1000', 'c' => $dom[$key]['attribute']['style']); } // order the css array to account for specificity - $ordered = array(); + $cssordered = array(); foreach ($cssarray as $key => $val) { $skey = sprintf('%04d', $key); - $ordered[$val['s'].'_'.$skey] = $val; + $cssordered[$val['s'].'_'.$skey] = $val; } // sort selectors alphabetically to account for specificity - ksort($ordered, SORT_STRING); - return $ordered; + ksort($cssordered, SORT_STRING); + return array($selectors, $cssordered); } /** @@ -18811,7 +18810,7 @@ class TCPDF { } if (!empty($css)) { // merge CSS style to current style - $dom[$key]['cssdata'] = $this->getCSSdataArray($dom, $key, $css); + list($dom[$key]['csssel'], $dom[$key]['cssdata']) = $this->getCSSdataArray($dom, $key, $css); $dom[$key]['attribute']['style'] = $this->getTagStyleFromCSSarray($dom[$key]['cssdata']); } // split style attributes