'amount' => $payment->amount ); $cc_result = $cc_processor->process($params); if($cc_result === false){ fatal_error('Error processing card: '.$cc_processor->getLastError()); } if($payment->add()){ //TODO: Attach to oldest invoices if($payment->attachInvoices(array($_POST['invoice_id'] => $payment->amount)) === FALSE){ $error_msg .= "Error applying payment to invoice!\n"; debug_message($payment->getLastError()); } // Add the company transaction $ct = new SI_CompanyTransaction(); $ct->amount = -$payment->amount; $ct->company_id = $payment->company_id; $ct->description = "Credit card payment of ".$payment->amount." on ".date("n/j/y", $payment->timestamp); $ct->timestamp = time(); if($ct->add() === FALSE){ $error_msg .= "Error adding transaction to company account!\n"; debug_message($ct->getLastError()); } // Update the payment with the company transaction id and auth code $payment->trans_id = $ct->id; $payment->auth_code = $cc_processor->getAuthCode(); if($payment->update() === FALSE){ $error_msg .= "Error updating payment with company transaction id!\n"; debug_message($payment->getLastError());
$invoice->updateFromAssocArray($_POST); if($invoice->update() === FALSE){ $error_msg .= "Error updating invoice information!"; debug_message($invoice->getLastError()); }else{ //Add discount line if($_POST['discount_line'] == 'Y'){ if($invoice->addDiscountLine() === FALSE){ $error_msg = "Error calculating discount line\n"; debug_message($invoice->getLastError()); } } if($old_invoice->company_id != $invoice->company_id){ $ct = new SI_CompanyTransaction(); if($ct->get($invoice->trans_id) === FALSE){ $error_msg .= "Error getting transaction for invoice!"; debug_message($ct->getLastError()); }else{ $ct->company_id = $invoice->company_id; if($ct->update() === FALSE){ $error_msg .= "Error moving company transaction with new price"; debug_message($ct->getLastError()); }else{ goBack(); } } } } }
$invoice = new SI_Invoice(); foreach ($invoices as $number => $data) { if ($number == 0) { continue; } // debug("Going to create invoice $number for company id ".$data['company_id']." with ids ".join(', ', $data['ids'])); $company =& $companies[$data['company_id']]; $invoice_insert_sql = "\nINSERT INTO invoices (id, company_id, address1, address2, city, \nstate, zip, timestamp, terms, trans_id)\nVALUES(" . $number . ", " . $data['company_id'] . ", '" . $company['address1'] . "', '" . $company['address2'] . "', '" . $company['city'] . "', \n'" . $company['state'] . "', '" . $company['zip'] . "', " . $data['timestamp'] . ", 'NET15', 0)\n\t"; $invoice_result = $si_db->query($invoice_insert_sql, TRUE); assert_die($invoice_result, "Could not add invoice!\n" . $si_db->getLastError()); // Add activities $invoice->get($number); // debug("Adding line items to invoice ".$invoice->id); assert_die($invoice->addTaskActivities($data['ids']), "Error adding task activities to invoice: " . $invoice->getLastError()); // Add the company transaction $ct = new SI_CompanyTransaction(); $ct->amount = $invoice->getTotal(); $ct->company_id = $invoice->company_id; $ct->description = "Invoice #" . $invoice->id; $ct->timestamp = $invoice->timestamp; assert_die($ct->add(), "Error adding company transaction: " . $ct->getLastError()); } // Create checks $check = new SI_Check(); foreach ($checks as $number => $data) { if ($number == 0) { continue; } // debug("Going to create check $number for amount ".$data['amount']." with ids ".join(', ', $data['ids'])); $check->user_id = $data['user_id']; $check->number = $number;
function _deleteTransactions(){ $ct = new SI_CompanyTransaction(); $ut = new SI_UserTransaction(); if($this->com_trans_id > 0){ if($ut->delete($this->com_trans_id) === FALSE){ $this->error = "SI_TaskActivity::_deleteTransactions(): Error deleting commission transaction: ".$ut->getLastError(); return FALSE; } } if($this->cost_trans_id> 0){ if($ut->delete($this->cost_trans_id) === FALSE){ $this->error = "SI_TaskActivity::_deleteTransactions(): Error deleting cost transaction: ".$ut->getLastError(); return FALSE; } } if($this->price_trans_id> 0){ if($ct->delete($this->price_trans_id) === FALSE){ $this->error = "SI_TaskActivity::_deleteTransactions(): Error deleting price transaction: ".$ct->getLastError(); return FALSE; } } return TRUE; }