Fixed transaction date check messages.
[fa-stable.git] / reporting / rep202.php
index 97156dc513ccc06ec51dd6e78f77230421b8096b..2eb27559689efe240c53f395c0a60089ea79f773 100644 (file)
@@ -1,12 +1,12 @@
 <?php
 /**********************************************************************
     Copyright (C) FrontAccounting, LLC.
 <?php
 /**********************************************************************
     Copyright (C) FrontAccounting, LLC.
-       Released under the terms of the GNU General Public License, GPL, 
-       as published by the Free Software Foundation, either version 3 
+       Released under the terms of the GNU General Public License, GPL,
+       as published by the Free Software Foundation, either version 3
        of the License, or (at your option) any later version.
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
        of the License, or (at your option) any later version.
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
 $page_security = 'SA_SUPPLIERANALYTIC';
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
 $page_security = 'SA_SUPPLIERANALYTIC';
@@ -65,15 +65,17 @@ function get_invoices($supplier_id, $to)
 
 function print_aged_supplier_analysis()
 {
 
 function print_aged_supplier_analysis()
 {
-    global $comp_path, $path_to_root, $systypes_array;
+    global $path_to_root, $systypes_array;
 
     $to = $_POST['PARAM_0'];
     $fromsupp = $_POST['PARAM_1'];
     $currency = $_POST['PARAM_2'];
        $summaryOnly = $_POST['PARAM_3'];
 
     $to = $_POST['PARAM_0'];
     $fromsupp = $_POST['PARAM_1'];
     $currency = $_POST['PARAM_2'];
        $summaryOnly = $_POST['PARAM_3'];
-    $graphics = $_POST['PARAM_4'];
-    $comments = $_POST['PARAM_5'];
-       $destination = $_POST['PARAM_6'];
+    $no_zeros = $_POST['PARAM_4'];
+    $graphics = $_POST['PARAM_5'];
+    $comments = $_POST['PARAM_6'];
+       $destination = $_POST['PARAM_7'];
+
        if ($destination)
                include_once($path_to_root . "/reporting/includes/excel_report.inc");
        else
        if ($destination)
                include_once($path_to_root . "/reporting/includes/excel_report.inc");
        else
@@ -88,7 +90,7 @@ function print_aged_supplier_analysis()
                $from = _('All');
        else
                $from = get_supplier_name($fromsupp);
                $from = _('All');
        else
                $from = get_supplier_name($fromsupp);
-    $dec = user_price_dec();
+       $dec = user_price_dec();
 
        if ($summaryOnly == 1)
                $summary = _('Summary Only');
 
        if ($summaryOnly == 1)
                $summary = _('Summary Only');
@@ -101,6 +103,10 @@ function print_aged_supplier_analysis()
        }
        else
                $convert = false;
        }
        else
                $convert = false;
+
+       if ($no_zeros) $nozeros = _('Yes');
+       else $nozeros = _('No');
+
        $PastDueDays1 = get_company_pref('past_due_days');
        $PastDueDays2 = 2 * $PastDueDays1;
        $nowdue = "1-" . $PastDueDays1 . " " . _('Days');
        $PastDueDays1 = get_company_pref('past_due_days');
        $PastDueDays2 = 2 * $PastDueDays1;
        $nowdue = "1-" . $PastDueDays1 . " " . _('Days');
@@ -114,19 +120,20 @@ function print_aged_supplier_analysis()
 
        $aligns = array('left', 'left', 'left', 'right', 'right', 'right', 'right',     'right');
 
 
        $aligns = array('left', 'left', 'left', 'right', 'right', 'right', 'right',     'right');
 
-    $params =   array(         0 => $comments,
-                                   1 => array('text' => _('End Date'), 'from' => $to, 'to' => ''),
-                                   2 => array('text' => _('Supplier'), 'from' => $from, 'to' => ''),
-                                   3 => array('text' => _('Currency'),'from' => $currency,'to' => ''),
-                       4 => array('text' => _('Type'), 'from' => $summary,'to' => ''));
+       $params =   array(      0 => $comments,
+                               1 => array('text' => _('End Date'), 'from' => $to, 'to' => ''),
+                               2 => array('text' => _('Supplier'), 'from' => $from, 'to' => ''),
+                               3 => array('text' => _('Currency'),'from' => $currency,'to' => ''),
+                               4 => array('text' => _('Type'), 'from' => $summary,'to' => ''),
+                               5 => array('text' => _('Suppress Zeros'), 'from' => $nozeros, 'to' => ''));
 
        if ($convert)
                $headers[2] = _('currency');
 
        if ($convert)
                $headers[2] = _('currency');
-    $rep = new FrontReport(_('Aged Supplier Analysis'), "AgedSupplierAnalysis", user_pagesize());
+       $rep = new FrontReport(_('Aged Supplier Analysis'), "AgedSupplierAnalysis", user_pagesize());
 
     $rep->Font();
     $rep->Info($params, $cols, $headers, $aligns);
 
     $rep->Font();
     $rep->Info($params, $cols, $headers, $aligns);
-    $rep->Header();
+    $rep->NewPage();
 
        $total = array();
        $total[0] = $total[1] = $total[2] = $total[3] = $total[4] = 0.0;
 
        $total = array();
        $total[0] = $total[1] = $total[2] = $total[3] = $total[4] = 0.0;
@@ -137,39 +144,40 @@ function print_aged_supplier_analysis()
        $pastdue1 = $PastDueDays1 + 1 . "-" . $PastDueDays2 . " " . _('Days');
        $pastdue2 = _('Over') . " " . $PastDueDays2 . " " . _('Days');
 
        $pastdue1 = $PastDueDays1 + 1 . "-" . $PastDueDays2 . " " . _('Days');
        $pastdue2 = _('Over') . " " . $PastDueDays2 . " " . _('Days');
 
-       $sql = "SELECT supplier_id, supp_name AS name, curr_code FROM ".TB_PREF."suppliers ";
+       $sql = "SELECT supplier_id, supp_name AS name, curr_code FROM ".TB_PREF."suppliers";
        if ($fromsupp != ALL_NUMERIC)
        if ($fromsupp != ALL_NUMERIC)
-               $sql .= "WHERE supplier_id=$fromsupp ";
-       $sql .= "ORDER BY supp_name";
+               $sql .= " WHERE supplier_id=".db_escape($fromsupp);
+       $sql .= " ORDER BY supp_name";
        $result = db_query($sql, "The suppliers could not be retrieved");
 
        while ($myrow=db_fetch($result))
        {
        $result = db_query($sql, "The suppliers could not be retrieved");
 
        while ($myrow=db_fetch($result))
        {
-               if (!$convert && $currency != $myrow['curr_code'])
-                       continue;
-               $rep->fontSize += 2;
-               $rep->TextCol(0, 2,     $myrow['name']);
-               if ($convert)
-               {
-                       $rate = get_exchange_rate_from_home_currency($myrow['curr_code'], $to);
-                       $rep->TextCol(2, 3,     $myrow['curr_code']);
-               }
-               else
-                       $rate = 1.0;
-               $rep->fontSize -= 2;
+               if (!$convert && $currency != $myrow['curr_code']) continue;
+
+               if ($convert) $rate = get_exchange_rate_from_home_currency($myrow['curr_code'], $to);
+               else $rate = 1.0;
+
                $supprec = get_supplier_details($myrow['supplier_id'], $to);
                foreach ($supprec as $i => $value)
                        $supprec[$i] *= $rate;
                $supprec = get_supplier_details($myrow['supplier_id'], $to);
                foreach ($supprec as $i => $value)
                        $supprec[$i] *= $rate;
-               $total[0] += ($supprec["Balance"] - $supprec["Due"]);
-               $total[1] += ($supprec["Due"]-$supprec["Overdue1"]);
-               $total[2] += ($supprec["Overdue1"]-$supprec["Overdue2"]);
-               $total[3] += $supprec["Overdue2"];
-               $total[4] += $supprec["Balance"];
+
                $str = array($supprec["Balance"] - $supprec["Due"],
                        $supprec["Due"]-$supprec["Overdue1"],
                        $supprec["Overdue1"]-$supprec["Overdue2"],
                        $supprec["Overdue2"],
                        $supprec["Balance"]);
                $str = array($supprec["Balance"] - $supprec["Due"],
                        $supprec["Due"]-$supprec["Overdue1"],
                        $supprec["Overdue1"]-$supprec["Overdue2"],
                        $supprec["Overdue2"],
                        $supprec["Balance"]);
+
+               if ($no_zeros && array_sum($str) == 0) continue;
+
+               $rep->fontSize += 2;
+               $rep->TextCol(0, 2,     $myrow['name']);
+               if ($convert) $rep->TextCol(2, 3,       $myrow['curr_code']);
+               $rep->fontSize -= 2;
+               $total[0] += ($supprec["Balance"] - $supprec["Due"]);
+               $total[1] += ($supprec["Due"]-$supprec["Overdue1"]);
+               $total[2] += ($supprec["Overdue1"]-$supprec["Overdue2"]);
+               $total[3] += $supprec["Overdue2"];
+               $total[4] += $supprec["Balance"];
                for ($i = 0; $i < count($str); $i++)
                        $rep->AmountCol($i + 3, $i + 4, $str[$i], $dec);
                $rep->NewLine(1, 2);
                for ($i = 0; $i < count($str); $i++)
                        $rep->AmountCol($i + 3, $i + 4, $str[$i], $dec);
                $rep->NewLine(1, 2);
@@ -228,19 +236,18 @@ function print_aged_supplier_analysis()
                $pg->type      = $graphics;
                $pg->skin      = $graph_skin;
                $pg->built_in  = false;
                $pg->type      = $graphics;
                $pg->skin      = $graph_skin;
                $pg->built_in  = false;
-               $pg->fontfile  = $path_to_root . "/reporting/fonts/Vera.ttf";
                $pg->latin_notation = ($decseps[$_SESSION["wa_current_user"]->prefs->dec_sep()] != ".");
                $pg->latin_notation = ($decseps[$_SESSION["wa_current_user"]->prefs->dec_sep()] != ".");
-               $filename = $comp_path.'/'.user_company(). "/pdf_files/test.png";
+               $filename = company_path(). "/pdf_files/". uniqid("").".png";
                $pg->display($filename, true);
                $w = $pg->width / 1.5;
                $h = $pg->height / 1.5;
                $x = ($rep->pageWidth - $w) / 2;
                $rep->NewLine(2);
                if ($rep->row - $h < $rep->bottomMargin)
                $pg->display($filename, true);
                $w = $pg->width / 1.5;
                $h = $pg->height / 1.5;
                $x = ($rep->pageWidth - $w) / 2;
                $rep->NewLine(2);
                if ($rep->row - $h < $rep->bottomMargin)
-                       $rep->Header();
+                       $rep->NewPage();
                $rep->AddImage($filename, $x, $rep->row - $h, $w, $h);
        }
     $rep->End();
 }
 
                $rep->AddImage($filename, $x, $rep->row - $h, $w, $h);
        }
     $rep->End();
 }
 
-?>
\ No newline at end of file
+?>