PHP7 compatibility fixes.
[fa-stable.git] / sales / includes / cart_class.inc
index b4c7f8f5b7c4562cb0a5ad7603b70ade8387edea..7d68e2a4622fc60cfccf6bee5298556fd1c079b5 100644 (file)
@@ -21,7 +21,7 @@ iv)  a delivery note
 include_once($path_to_root . "/inventory/includes/inventory_db.inc");
 include_once($path_to_root . "/taxes/tax_calc.inc");
 
-class cart
+class Cart
 {
        var $trans_type; // invoice, order, quotation, delivery note ...
        var $trans_no = array();// array (num1=>ver1,..) or 0 for new
@@ -81,6 +81,8 @@ class cart
        var $prepayments = array(); // allocation records for this document
        var $ex_rate;
 
+       var $fixed_asset = false;
+
        //-------------------------------------------------------------------------
        //
        //  $trans_no==0 => open new/direct document
@@ -88,7 +90,7 @@ class cart
        //  $trans_no!=0 && $prepare_child==true => prepare for child doc entry
        //      $prepare_child is set to ST_SALESINVOICE for prepayment invoices
        //
-       function Cart($type, $trans_no=0, $prepare_child=false) {
+       function __construct($type, $trans_no=0, $prepare_child=false) {
                /*Constructor function initialises a new shopping cart */
                $this->line_items = array();
                $this->sales_type = "";
@@ -216,7 +218,8 @@ class cart
                                read_sales_order($trans_no[0], $this, $type);
                        } else {        // other type of sales transaction
                                read_sales_trans($type, $trans_no, $this);
-                               $this->prepayments = get_payments_for($trans_no[0], $type);
+                               $this->prepayments = get_payments_for($trans_no[0], $type, $this->customer_id);
+                               $this->update_payments();
                                if ($this->order_no) { // free hand credit notes have no order_no
                                        $sodata = get_sales_order_header($this->order_no, ST_SALESORDER);
                                        $this->cust_ref = $sodata["customer_ref"];
@@ -634,12 +637,12 @@ class cart
                $remainder = prepaid_invoice_remainder($this->order_no);
 
                // recalculate prepaid part from payments
-               if ($this->payment_terms['days_before_due'] < 0)
+               if ($this->payment_terms['days_before_due'] == -1)
                {       // this is partial invoice for selected prepayments made.
                        $paid = 0;
                        foreach($this->prepayments as $payment)
                                $paid += $payment['amt'];
-                       $this->prep_amount = min($remainder, $paid);
+                       $this->prep_amount = $this->trans_no ? $paid : min($remainder, $paid);
                } else  // this is final invoice
                        $this->prep_amount = $remainder;
        }
@@ -690,7 +693,7 @@ class line_details
        var $qty_old = 0;
 
 
-       function line_details ($stock_id, $qty, $prc, $disc_percent,
+       function __construct($stock_id, $qty, $prc, $disc_percent,
                $qty_done, $standard_cost, $description, $id=0, $src_no=0, $src_id=0)
        {
        /* Constructor function to add a new LineDetail object with passed params */