* License: * GPL v2 or above * * Website: * http://www.simpleinvoices.or */ checkLogin(); #get the invoice id $invoice_id = $_GET['invoice']; $invoice = getInvoice($invoice_id); $invoice_type = getInvoiceType($invoice['type_id']); $customer = getCustomer($invoice['customer_id']); $biller = getBiller($invoice['biller_id']); $preference = getPreference($invoice['preference_id']); $defaults = getSystemDefaults(); $invoiceItems = matrix_invoice::getInvoiceItems($invoice_id); #Invoice Age - number of days - start if ($invoice['owing'] > 0) { $invoice_age_days = number_format((strtotime(date('Y-m-d')) - strtotime($invoice['calc_date'])) / (60 * 60 * 24), 0); $invoice_age = "{$invoice_age_days} {$LANG['days']}"; } else { $invoice_age = ""; } $url_for_pdf = "./pdfmaker.php?id=" . $invoice['id']; $invoice['url_for_pdf'] = $url_for_pdf; $customFieldLabels = getCustomFieldLabels(); for ($i = 1; $i <= 4; $i++) { $customField[$i] = show_custom_field("invoice_cf{$i}", $invoice["custom_field{$i}"], "read", 'details_screen summary', 'details_screen', 'details_screen', 5, ':'); } $pageActive = "invoices"; //Customer accounts sections
} if (matrix_invoice::insertInvoiceItem($invoice_id, $_POST["quantity{$i}"], $product, $_POST['tax_id'], $_POST["description{$i}"], $_POST["attr1-{$i}"], $_POST["attr2-{$i}"], $_POST["attr3-{$i}"], $_POST["unit_price{$i}"])) { //$saved = true; } else { die(end($dbh->errorInfo())); } } } } elseif ($_POST['action'] == "edit") { //Get type id - so do add into redirector header $invoice_id = $_POST['invoice_id']; if (updateInvoice($_POST['invoice_id'])) { updateCustomFieldValues($_POST['categorie'], $_POST['invoice_id']); $saved = true; } if ($type == 1 && $saved) { $sql = "UPDATE " . TB_PREFIX . "products SET unit_price = :price, description = :description WHERE id = :id"; dbQuery($sql, ':price', $_POST['unit_price'], ':description', $_POST['description0'], ':id', $_POST['products0']); } for ($i = 0; !empty($_POST["quantity{$i}"]) && $i < $_POST['max_items']; $i++) { if (matrix_invoice::updateInvoiceItem($_POST["id{$i}"], $_POST["quantity{$i}"], $_POST["products{$i}"], $_POST['tax_id'], $_POST["description{$i}"], $_POST["attr1-{$i}"], $_POST["attr2-{$i}"], $_POST["attr3-{$i}"], $_POST["unit_price{$i}"]) && $saved) { //$saved = true; } else { die(end($dbh->errorInfo())); } } } //Get type id - so do add into redirector header $smarty->assign('type', $type); $smarty->assign('saved', $saved); $smarty->assign('invoice_id', $invoice_id);
<?php /* * Script: add_invoice_item.php * add new invoice item in edit page * * License: * GPL v3 or above * * Website: * http://www.simpleinvoices.org */ if (isset($_POST['submit'])) { matrix_invoice::insertInvoiceItem($_POST['invoice_id'], $_POST['quantity1'], $_POST['product1'], $_POST['tax_id'], $_POST['description'], $_POST["attr1"], $_POST["attr2"], $_POST["attr3"], $_POST["unit_price1"]); } else { $products = getActiveProducts(); $smarty->assign("products", $products); } $type = $_GET[type]; $pageActive = "invoices"; $smarty->assign('pageActive', $pageActive); $smarty->assign("type", $type); $sql_prod = "select product_id as PID, (select count(product_id) from " . TB_PREFIX . "products_matrix where product_id = PID ) as count from " . TB_PREFIX . "products_matrix ORDER BY count desc LIMIT 1;"; $sth_prod = dbQuery($sql_prod); $number_of_products = $sth_prod->fetchAll(); $smarty->assign("number_of_attributes", $number_of_products['0']['count']); $js = <<<EOD <script type="text/javascript" charset="utf-8"> \$(function()
updateCustomFieldValues($_POST['categorie'],$_POST['invoice_id']); $saved = true; } if($type == 1 && $saved) { $sql = "UPDATE ".TB_PREFIX."products SET unit_price = :price, description = :description WHERE id = :id"; dbQuery($sql, ':price', $_POST['unit_price'], ':description', $_POST['description0'], ':id', $_POST['products0'] ); } for($i=0;(!empty($_POST["quantity$i"]) && $i < $_POST['max_items']);$i++) { if (matrix_invoice::updateInvoiceItem($_POST["id$i"],$_POST["quantity$i"],$_POST["products$i"],$_POST['tax_id'],$_POST["description$i"],$_POST["attr1-$i"],$_POST["attr2-$i"], $_POST["attr3-$i"],$_POST["unit_price$i"] ) && $saved) { //$saved = true; } else { die(end($dbh->errorInfo())); } } } //Get type id - so do add into redirector header $smarty->assign('type', $type); $smarty->assign('saved', $saved); $smarty->assign('invoice_id', $invoice_id); ?>