Only first item in Supplier Credit Notes had tax added. Fixed.
[fa-stable.git] / reporting / includes / tcpdf.php
index ba54e66a3ea08b8a96f70a25d25fb50be43c1516..0f6f48d73c78c198a8be329e21bd50960e835039 100644 (file)
   *    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('<</Type /Encoding /BaseEncoding /WinAnsiEncoding /Differences ['.$diff.']>>');
                                $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)){