Fixed third-party extension installation.
[fa-stable.git] / reporting / rep103.php
index 548f88a2ef4bdebe7f4cbf8c634ccfce9503d140..5ad7f26526375555e90d5ca2faa6442b8eab2974 100644 (file)
@@ -1,15 +1,15 @@
 <?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>.
 ***********************************************************************/
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
-$page_security = 2;
+$page_security = 'SA_CUSTBULKREP';
 // ----------------------------------------------------------------
 // $ Revision: 2.0 $
 // Creator:    Joe Hunt
 // ----------------------------------------------------------------
 // $ Revision: 2.0 $
 // Creator:    Joe Hunt
@@ -25,10 +25,9 @@ include_once($path_to_root . "/gl/includes/gl_db.inc");
 
 //----------------------------------------------------------------------------------------------------
 
 
 //----------------------------------------------------------------------------------------------------
 
-// trial_inquiry_controls();
 print_customer_details_listing();
 
 print_customer_details_listing();
 
-function get_customer_details_for_report($area=0, $salesid=0) 
+function get_customer_details_for_report($area=0, $salesid=0)
 {
        $sql = "SELECT ".TB_PREF."debtors_master.debtor_no,
                        ".TB_PREF."debtors_master.name,
 {
        $sql = "SELECT ".TB_PREF."debtors_master.debtor_no,
                        ".TB_PREF."debtors_master.name,
@@ -38,14 +37,11 @@ function get_customer_details_for_report($area=0, $salesid=0)
                        ".TB_PREF."cust_branch.br_name,
                        ".TB_PREF."cust_branch.br_address,
                        ".TB_PREF."cust_branch.contact_name,
                        ".TB_PREF."cust_branch.br_name,
                        ".TB_PREF."cust_branch.br_address,
                        ".TB_PREF."cust_branch.contact_name,
-                       ".TB_PREF."cust_branch.phone,
-                       ".TB_PREF."cust_branch.fax,
-                       ".TB_PREF."cust_branch.email,
                        ".TB_PREF."cust_branch.area,
                        ".TB_PREF."cust_branch.salesman,
                        ".TB_PREF."areas.description,
                        ".TB_PREF."salesman.salesman_name
                        ".TB_PREF."cust_branch.area,
                        ".TB_PREF."cust_branch.salesman,
                        ".TB_PREF."areas.description,
                        ".TB_PREF."salesman.salesman_name
-               FROM ".TB_PREF."debtors_master 
+               FROM ".TB_PREF."debtors_master
                INNER JOIN ".TB_PREF."cust_branch
                        ON ".TB_PREF."debtors_master.debtor_no=".TB_PREF."cust_branch.debtor_no
                INNER JOIN ".TB_PREF."sales_types
                INNER JOIN ".TB_PREF."cust_branch
                        ON ".TB_PREF."debtors_master.debtor_no=".TB_PREF."cust_branch.debtor_no
                INNER JOIN ".TB_PREF."sales_types
@@ -57,33 +53,33 @@ function get_customer_details_for_report($area=0, $salesid=0)
        if ($area != 0)
        {
                if ($salesid != 0)
        if ($area != 0)
        {
                if ($salesid != 0)
-                       $sql .= " WHERE ".TB_PREF."salesman.salesman_code='$salesid' 
-                               AND ".TB_PREF."areas.area_code='$area'";
-               else            
-                       $sql .= " WHERE ".TB_PREF."areas.area_code='$area'";
+                       $sql .= " WHERE ".TB_PREF."salesman.salesman_code=".db_escape($salesid)."
+                               AND ".TB_PREF."areas.area_code=".db_escape($area);
+               else
+                       $sql .= " WHERE ".TB_PREF."areas.area_code=".db_escape($area);
        }
        elseif ($salesid != 0)
        }
        elseif ($salesid != 0)
-               $sql .= " WHERE ".TB_PREF."salesman.salesman_code='$salesid'";
+               $sql .= " WHERE ".TB_PREF."salesman.salesman_code=".db_escape($salesid);
        $sql .= " ORDER BY description,
                        ".TB_PREF."salesman.salesman_name,
                        ".TB_PREF."debtors_master.debtor_no,
                        ".TB_PREF."cust_branch.branch_code";
        $sql .= " ORDER BY description,
                        ".TB_PREF."salesman.salesman_name,
                        ".TB_PREF."debtors_master.debtor_no,
                        ".TB_PREF."cust_branch.branch_code";
-                                       
+
     return db_query($sql,"No transactions were returned");
 }
 
     return db_query($sql,"No transactions were returned");
 }
 
-                                       
+
 function getTransactions($debtorno, $branchcode, $date)
 {
        $date = date2sql($date);
 
        $sql = "SELECT SUM((ov_amount+ov_freight+ov_discount)*rate) AS Turnover
                FROM ".TB_PREF."debtor_trans
 function getTransactions($debtorno, $branchcode, $date)
 {
        $date = date2sql($date);
 
        $sql = "SELECT SUM((ov_amount+ov_freight+ov_discount)*rate) AS Turnover
                FROM ".TB_PREF."debtor_trans
-               WHERE debtor_no='$debtorno'
-               AND branch_code='$branchcode'
-               AND (type=10 or type=11)
+               WHERE debtor_no=".db_escape($debtorno)."
+               AND branch_code=".db_escape($branchcode)."
+               AND (type=".ST_SALESINVOICE." OR type=".ST_CUSTCREDIT.")
                AND trandate >='$date'";
                AND trandate >='$date'";
-               
+
     $result = db_query($sql,"No transactions were returned");
 
        $row = db_fetch_row($result);
     $result = db_query($sql,"No transactions were returned");
 
        $row = db_fetch_row($result);
@@ -96,20 +92,23 @@ function print_customer_details_listing()
 {
     global $path_to_root;
 
 {
     global $path_to_root;
 
-    include_once($path_to_root . "/reporting/includes/pdf_report.inc");
-
     $from = $_POST['PARAM_0'];
     $area = $_POST['PARAM_1'];
     $folk = $_POST['PARAM_2'];
     $more = $_POST['PARAM_3'];
     $less = $_POST['PARAM_4'];
     $comments = $_POST['PARAM_5'];
     $from = $_POST['PARAM_0'];
     $area = $_POST['PARAM_1'];
     $folk = $_POST['PARAM_2'];
     $more = $_POST['PARAM_3'];
     $less = $_POST['PARAM_4'];
     $comments = $_POST['PARAM_5'];
-    
+       $destination = $_POST['PARAM_6'];
+       if ($destination)
+               include_once($path_to_root . "/reporting/includes/excel_report.inc");
+       else
+               include_once($path_to_root . "/reporting/includes/pdf_report.inc");
+
     $dec = 0;
 
     $dec = 0;
 
-       if ($area == reserved_words::get_all_numeric())
+       if ($area == ALL_NUMERIC)
                $area = 0;
                $area = 0;
-       if ($folk == reserved_words::get_all_numeric())
+       if ($folk == ALL_NUMERIC)
                $folk = 0;
 
        if ($area == 0)
                $folk = 0;
 
        if ($area == 0)
@@ -128,8 +127,8 @@ function print_customer_details_listing()
                $lessstr = _('Less than ') . number_format2($less, $dec);
        else
                $lessstr = '';
                $lessstr = _('Less than ') . number_format2($less, $dec);
        else
                $lessstr = '';
-       
-       $more = (double)$more;  
+
+       $more = (double)$more;
        $less = (double)$less;
 
        $cols = array(0, 150, 300, 400, 550);
        $less = (double)$less;
 
        $cols = array(0, 150, 300, 400, 550);
@@ -145,17 +144,17 @@ function print_customer_details_listing()
                                    3 => array('text' => _('Sales Folk'),               'from' => $salesfolk,   'to' => ''),
                                    4 => array('text' => _('Activity'),                 'from' => $morestr,     'to' => $lessstr));
 
                                    3 => array('text' => _('Sales Folk'),               'from' => $salesfolk,   'to' => ''),
                                    4 => array('text' => _('Activity'),                 'from' => $morestr,     'to' => $lessstr));
 
-    $rep = new FrontReport(_('Customer Details Listing'), "CustomerDetailsListing.pdf", user_pagesize());
+    $rep = new FrontReport(_('Customer Details Listing'), "CustomerDetailsListing", user_pagesize());
 
     $rep->Font();
     $rep->Info($params, $cols, $headers, $aligns);
 
     $rep->Font();
     $rep->Info($params, $cols, $headers, $aligns);
-    $rep->Header();
+    $rep->NewPage();
 
        $result = get_customer_details_for_report($area, $folk);
 
        $result = get_customer_details_for_report($area, $folk);
-       
+
        $carea = '';
        $sman = '';
        $carea = '';
        $sman = '';
-       while ($myrow=db_fetch($result)) 
+       while ($myrow=db_fetch($result))
        {
                $printcustomer = true;
                if ($more != '' || $less != '')
        {
                $printcustomer = true;
                if ($more != '' || $less != '')
@@ -165,25 +164,25 @@ function print_customer_details_listing()
                                $printcustomer = false;
                        if ($less != 0.0 && $turnover >= (double)$less)
                                $printcustomer = false;
                                $printcustomer = false;
                        if ($less != 0.0 && $turnover >= (double)$less)
                                $printcustomer = false;
-               }       
+               }
                if ($printcustomer)
                {
                        if ($carea != $myrow['description'])
                        {
                                $rep->fontSize += 2;
                                $rep->NewLine(2, 7);
                if ($printcustomer)
                {
                        if ($carea != $myrow['description'])
                        {
                                $rep->fontSize += 2;
                                $rep->NewLine(2, 7);
-                               $rep->Font('bold');     
+                               $rep->Font('bold');
                                $rep->TextCol(0, 3,     _('Customers in') . " " . $myrow['description']);
                                $carea = $myrow['description'];
                                $rep->fontSize -= 2;
                                $rep->Font();
                                $rep->NewLine();
                                $rep->TextCol(0, 3,     _('Customers in') . " " . $myrow['description']);
                                $carea = $myrow['description'];
                                $rep->fontSize -= 2;
                                $rep->Font();
                                $rep->NewLine();
-                       }       
+                       }
                        if ($sman != $myrow['salesman_name'])
                        {
                                $rep->fontSize += 2;
                                $rep->NewLine(1, 7);
                        if ($sman != $myrow['salesman_name'])
                        {
                                $rep->fontSize += 2;
                                $rep->NewLine(1, 7);
-                               $rep->Font('bold');     
+                               $rep->Font('bold');
                                $rep->TextCol(0, 3,     $myrow['salesman_name']);
                                $sman = $myrow['salesman_name'];
                                $rep->fontSize -= 2;
                                $rep->TextCol(0, 3,     $myrow['salesman_name']);
                                $sman = $myrow['salesman_name'];
                                $rep->fontSize -= 2;
@@ -196,23 +195,28 @@ function print_customer_details_listing()
                        $count1 = count($adr);
                        for ($i = 0; $i < $count1; $i++)
                                $rep->TextCol(0, 1, $adr[$i], 0, ($i + 1) * $rep->lineHeight);
                        $count1 = count($adr);
                        for ($i = 0; $i < $count1; $i++)
                                $rep->TextCol(0, 1, $adr[$i], 0, ($i + 1) * $rep->lineHeight);
-                       $count1++;              
+                       $count1++;
                        $rep->TextCol(1, 2,     _('Price List') . ": " . $myrow['sales_type']);
                        if ($more != 0.0 || $less != 0.0)
                                $rep->TextCol(1, 2,     _('Turnover') . ": " . number_format2($turnover, $dec), 0, $rep->lineHeight);
                        $rep->TextCol(2, 3,     $myrow['br_name']);
                        $rep->TextCol(1, 2,     _('Price List') . ": " . $myrow['sales_type']);
                        if ($more != 0.0 || $less != 0.0)
                                $rep->TextCol(1, 2,     _('Turnover') . ": " . number_format2($turnover, $dec), 0, $rep->lineHeight);
                        $rep->TextCol(2, 3,     $myrow['br_name']);
-                       $rep->TextCol(2, 3, $myrow['contact_name'], 0, $rep->lineHeight);
-                       $rep->TextCol(2, 3, _('Ph') . ": " . $myrow['phone'], 0, 2 * $rep->lineHeight);
-                       $rep->TextCol(2, 3, _('Fax') . ": " . $myrow['fax'], 0, 3 * $rep->lineHeight);
+
+                       $contacts = get_branch_contacts($myrow['branch_code']);
+                       if (isset($contacts[0]))
+                       {
+                               $rep->TextCol(2, 3, $contacts[0]['name'], 0, $rep->lineHeight);
+                               $rep->TextCol(2, 3, _('Ph') . ": " . $contacts[0]['phone'], 0, 2 * $rep->lineHeight);
+                               $rep->TextCol(2, 3, _('Fax') . ": " . $contacts[0]['fax'], 0, 3 * $rep->lineHeight);
+                       }
                        $adr = Explode("\n", $myrow['br_address']);
                        $count2 = count($adr);
                        for ($i = 0; $i < $count2; $i++)
                                $rep->TextCol(3, 4, $adr[$i], 0, ($i + 1) * $rep->lineHeight);
                        $adr = Explode("\n", $myrow['br_address']);
                        $count2 = count($adr);
                        for ($i = 0; $i < $count2; $i++)
                                $rep->TextCol(3, 4, $adr[$i], 0, ($i + 1) * $rep->lineHeight);
-                       $rep->TextCol(3, 4, $myrow['email'], 0, ($count2 + 1) * $rep->lineHeight);
+                       //$rep->TextCol(3, 4, $myrow['email'], 0, ($count2 + 1) * $rep->lineHeight);
                        $count2++;
                        $count1 = Max($count1, $count2);
                        $count1 = Max($count1, 4);
                        $count2++;
                        $count1 = Max($count1, $count2);
                        $count1 = Max($count1, 4);
-                       $rep->NewLine($count1); 
+                       $rep->NewLine($count1);
                        $rep->Line($rep->row + 8);
                        $rep->NewLine(0, 3);
                }
                        $rep->Line($rep->row + 8);
                        $rep->NewLine(0, 3);
                }