PHP7 compatibility fixes.
[fa-stable.git] / reporting / includes / class.pdf.inc
index 7b5ee8d2f6637d06154023ba21448b5854278dff..ab76ab46ed20fb3311ef59e971682608a97b64ae 100644 (file)
@@ -63,9 +63,9 @@ include_once (dirname(__FILE__).'/fpdi/fpdi.php');
 
 class Cpdf extends FPDI {
 
-       function Cpdf($pageSize='A4', $lang=null, $pageOrientation='P')
+       function __construct($pageSize='A4', $lang=null, $pageOrientation='P')
        {
-               $this->TCPDF($pageOrientation, 'pt', $pageSize);//, $uni, $enc);
+               parent::__construct($pageOrientation, 'pt', $pageSize);//, $uni, $enc);
                $this->SetLang($lang);
                $this->setPrintHeader(false);
                $this->setPrintFooter(false);
@@ -79,15 +79,21 @@ class Cpdf extends FPDI {
        */
        function SetLang($code=null) 
        {
-               global $installed_languages, $dflt_lang, $path_to_root;
+               global $installed_languages, $dflt_lang, $path_to_root, $local_path_to_root, $GetText;
 
                if (!$code)
                        $code = $dflt_lang;
 
                $lang = array_search_value($code, $installed_languages, 'code');
-               $_SESSION['get_text']->set_language($lang['code'], strtoupper($lang['encoding']));
-               $_SESSION['get_text']->add_domain($lang['code'], $path_to_root . "/lang", @$lang['version']);
+               $GetText->set_language($lang['code'], strtoupper($lang['encoding']));
 
+               // $local_path_to_root is  set inside find_custom_file.
+               // Select extension domain if po file is provided
+               // otherwise use global translation.
+               if (file_exists($local_path_to_root.'/lang/'.$lang['code'].'/LC_MESSAGES/'.$lang['code'].'.po'))
+                       $GetText->add_domain($lang['code'], $local_path_to_root . "/lang");
+               else
+                       $GetText->add_domain($lang['code'], $path_to_root . "/lang", @$lang['version']);
                // re-read translated sys names.
                include($path_to_root.'/includes/sysnames.inc');
 
@@ -114,7 +120,6 @@ class Cpdf extends FPDI {
                $this->FontFamily = 'helvetica';
                $this->FontStyle = '';
                $this->FontSizePt = 12;
-//             $this->utf8Bidi(array(""));
        }
 
 
@@ -169,7 +174,14 @@ class Cpdf extends FPDI {
                                        default :               $fontname = "freesans5";        break;
                                }
                        }
-                       // else use built-in adobe fonts helvetica.
+                       elseif ($this->encoding === "ISO-8859-13")
+            {
+                switch ($this->l['a_meta_language'])
+                {
+                    default :        $fontname = "freesans13";     break;
+                }
+            }
+            // else use built-in adobe fonts helvetica.
                }
                $this->SetFont($fontname, $style);
        }
@@ -245,7 +257,7 @@ class Cpdf extends FPDI {
        * nSeg is not allowed to be less than 2, as this will simply draw a line (and will even draw a
        * pretty crappy shape at 2, as we are approximating with bezier curves.
        */
-       function ellipse($x0,$y0,$r1,$r2=0,$angle=0,$nSeg=8,$astart=0,$afinish=360,$close=1,$fill=0)
+       function ellipse($x0,$y0,$r1,$r2=0,$angle=0,$nSeg=8,$astart=0,$afinish=360,$close=1,$fill=0, $dummy=null)
        {
                parent::Ellipse($x0, $y0, $r1, $r2, $angle, $astart. $afinish, ($close?'C':''), "", "", $nSeg);
        }
@@ -296,6 +308,7 @@ class Cpdf extends FPDI {
                else
                        $align = 'R';
 
+               $txt = parent::unhtmlentities($txt);
                // If horizontal scaling was requested, check to see if we're trying to scale
                // too much.  If so, cut back string first and then scale it.
                $maxScaleFactor = 1.4;
@@ -307,7 +320,7 @@ class Cpdf extends FPDI {
                $ret = $txt[1];
                $txt = $txt[0];
                $this->SetXY($xb, $this->h - $yb - $h);
-               $txt = parent::unhtmlentities($txt);
+
                if ($this->isunicode && $this->encoding != "UTF-8")
                        $txt = iconv($this->encoding, "UTF-8", $txt);
                $this->Cell($w, $h, $txt, $border, 0, $align, $fill, $link, $stretch);
@@ -321,4 +334,3 @@ class Cpdf extends FPDI {
 
 } // end of class
 
-?>
\ No newline at end of file