X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fincludes%2Ftcpdf.php;h=6e7b6f4af9f50135c536984c6dc61288685d310f;hb=ae3b2bb8305be80dfb1e4e89bd10a0395c7db5ba;hp=ba54e66a3ea08b8a96f70a25d25fb50be43c1516;hpb=c99c4da3f3a009e48b536dc1cc5268d566dfc6cb;p=fa-stable.git diff --git a/reporting/includes/tcpdf.php b/reporting/includes/tcpdf.php index ba54e66a..6e7b6f4a 100644 --- a/reporting/includes/tcpdf.php +++ b/reporting/includes/tcpdf.php @@ -141,12 +141,15 @@ * and * if (!defined("K_RE_PATTERN_ARABIC")) * 4. Parameter $unicode in constructor renamed to $uni. - * 4. Header function renamed to Header1 (due to conflict with FrontReport Header) + * 5. Header function renamed to Header1 (due to conflict with FrontReport Header) + * 6. Line 6190, SetLineWidth (cast of values to avoid problem in PHP 5.2.6 + * 7. Line 6261. ereg replaced by preg_match (with start and end delimiter) + * 8. Lines 8642,9256 and 9348. split replaced by preg_split. * ------------------------------------------------------------------------------- */ if (!defined("K_PATH_FONTS")) - define ("K_PATH_FONTS", '../reporting/fonts/'); -define ("K_PATH_CACHE", '../reporting/fonts/'); + define ("K_PATH_FONTS", dirname(__FILE__)."/../fonts/"); +define ("K_PATH_CACHE", dirname(__FILE__)."/../fonts/"); define("K_CELL_HEIGHT_RATIO", 1.25); //require_once(dirname(__FILE__).'/config/tcpdf_config.php'); @@ -3594,8 +3597,8 @@ if (!class_exists('TCPDF')) { if ($type == "jpg") { $type = "jpeg"; } - $mqr = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); + $mqr = ini_get('magic_quotes_runtime'); + ini_set('magic_quotes_runtime', 0); // Specific image handlers $mtd = '_parse'.$type; // GD image handler function @@ -3622,7 +3625,7 @@ if (!class_exists('TCPDF')) { //If false, we cannot process image return; } - set_magic_quotes_runtime($mqr); + ini_set('magic_quotes_runtime', $mqr); $info['i'] = count($this->images) + 1; // add image to document $this->images[$file] = $info; @@ -4502,8 +4505,8 @@ if (!class_exists('TCPDF')) { $this->_out('<>'); $this->_out('endobj'); } - $mqr = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); + $mqr = ini_get('magic_quotes_runtime'); + ini_set('magic_quotes_runtime', 0); foreach($this->FontFiles as $file => $info) { //Font file embedding $this->_newobj(); @@ -4533,7 +4536,7 @@ if (!class_exists('TCPDF')) { $this->_putstream($font); $this->_out('endobj'); } - set_magic_quotes_runtime($mqr); + ini_set('magic_quotes_runtime', $mqr); foreach($this->fonts as $k => $font) { //Font objects $this->fonts[$k]['n'] = $this->n + 1; @@ -6190,7 +6193,15 @@ if (!class_exists('TCPDF')) { function SetLineWidth($width) { //Set line width $this->LineWidth = $width; - $this->linestyleWidth = sprintf('%.2f w', ($width * $this->k)); + //$this->linestyleWidth = sprintf('%.2f w', ($width * $this->k)); + // FrontAccounting fix + // My PHP 5.2.6 environment gave an "Unsupported operand types" + // error for the multiplication on the next line some of the + // time when this method is called - I debugged and sometimes + // the $width parameter is some sort of weird array. I don't + // understand what's going on, but casting it to a (float) seems + // to "fix" the problem. -Jason Maas, 2009/09/25 + $this->linestyleWidth = sprintf('%.2f w', ((float) $width * (float) $this->k)); $this->_out($this->linestyleWidth); } @@ -6249,7 +6260,7 @@ if (!class_exists('TCPDF')) { if (isset($dash)) { $dash_string = ""; if ($dash) { - if (ereg("^.+,", $dash)) { + if (preg_match("/^.+,/", $dash)) { $tab = explode(",", $dash); } else { $tab = array($dash); @@ -8629,7 +8640,7 @@ if (!class_exists('TCPDF')) { $this->_out(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F cm', $scale_x, 0, 0, $scale_y, $x1*(1-$scale_x), $y2*(1-$scale_y))); } // handle pc/unix/mac line endings - $lines = split("\r\n|[\r\n]", $data); + $lines = preg_split("/\r\n|[\r\n]/", $data); $u=0; $cnt = count($lines); for ($i=0; $i < $cnt; $i++) { @@ -9243,7 +9254,7 @@ if (!class_exists('TCPDF')) { if (isset($dom[$key]['style']['font-family'])) { // font family if (isset($dom[$key]['style']['font-family'])) { - $fontslist = split(",", strtolower($dom[$key]['style']['font-family'])); + $fontslist = preg_split("/,/", strtolower($dom[$key]['style']['font-family'])); foreach($fontslist as $font) { $font = trim(strtolower($font)); if (in_array($font, $this->fontlist)){ @@ -9335,7 +9346,7 @@ if (!class_exists('TCPDF')) { if ($dom[$key]['value'] == "font") { // font family if (isset($dom[$key]['attribute']['face'])) { - $fontslist = split(",", strtolower($dom[$key]['attribute']['face'])); + $fontslist = preg_split("/,/", strtolower($dom[$key]['attribute']['face'])); foreach($fontslist as $font) { $font = trim(strtolower($font)); if (in_array($font, $this->fontlist)){ @@ -10419,4 +10430,3 @@ if (!class_exists('TCPDF')) { //============================================================+ // END OF FILE //============================================================+ -?>