Newer
Older
ubFramework / Portal / docroot / user / billing / invoice.php
@Christopher W. Olsen Christopher W. Olsen on 10 Dec 2017 4 KB Cleaning Up Making It A Sub Module
<?php

/**
 * ****************************************************************************************
 * Copyright (c) 2013 Christopher W.
 * Olsen <cwolsen@ubixtechnologies.com>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification, are
 * permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice, this list of
 * conditions, the following disclaimer and the list of authors. Redistributions in binary
 * form must reproduce the above copyright notice, this list of conditions, the following
 * disclaimer and the list of authors in the documentation and/or other materials provided
 * with the distribution. Neither the name of the uBix Cube Project nor the names of its
 * contributors may be used to endorse or promote products derived from this software
 * without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
 * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * $Id: invoice.php 940 2017-09-07 20:12:42Z reddawg $
 *
 * ***************************************************************************************
 */

/* Main include info */
ini_set ( 'include_path', $_SERVER ['DOCUMENT_ROOT'] . "/include/" );
include ("config.php");

/* Assign the page title */
$ubF->tpl->assign ( "PAGE_TITLE", "Billing - View Invoice" );

/* Main defines */
$ubF->tpl->define ( array (
    "index" => "user/wrapper/default.html" 
) );
$ubF->tpl->define ( array (
    "menu" => "user/billing/menu.html" 
) );
$ubF->tpl->define ( array (
    "body" => "user/billing/invoice.html" 
) );

$ubF->session->Validate ( 'U_A_', 0 );

$query = "SELECT i.iid,i.invoice_date,i.invoice_amount,i.notes,a.company,a.address,a.address2,a.city,a.state,a.zipcode,a.first_name,a.last_name FROM invoices i RIGHT JOIN accounts a on i.account_number=a.account_number WHERE i.account_number = '" . $ubF->session->account_number . "' AND i.iid = " . $data ['data'] ['invoice'];

$iResult = $ubF->DB['main']->query ( $query );

$iData = $iResult->fetch_assoc ();

$bill_to = "";

if ( strlen ( $iData ['company'] ) > 0 )
  $bill_to .= $iData ['company'] . "<br />\n";

if ( strlen ( $iData ['address'] ) > 0 )
  $bill_to .= $iData ['address'] . "<br />\n";

if ( strlen ( $iData ['address2'] ) > 0 )
  $bill_to .= $iData ['address2'] . "<br />\n";

$bill_to .= $iData ['city'] . ", " . $iData ['state'] . " " . $iData ['zipcode'] . "<br />\n";

if ( strlen ( $iData ['first_name'] ) > 0 )
  $bill_to .= "Attn: " . $iData ['first_name'] . " " . $iData ['last_name'] . "<br />\n";

$query = "SELECT * FROM invoice_data WHERE i_id = " . $iData ['iid'];
$idResult = $ubF->DB['main']->query ( $query );

$rows = "";
while ( $idData = $idResult->fetch_assoc () ) {
  $quantity = $idData ['quantity'] + 0;
  $rate = $idData ['rate'] + 0;
  
  $rows .= "<div class=\"iRow\">\n";
  $rows .= "<div class=\"iCell_Right\">" . $quantity . "</div>";
  $rows .= "<div class=\"iCell\">" . $idData ['description'] . "</div>";
  $rows .= "<div class=\"iCell_Right\">$" . number_format ( $rate, 2 ) . "</div>";
  $rows .= "<div class=\"iCell_Right\">$" . number_format ( $idData ['amount'], 2 ) . "</div>";
  $rows .= "</div>\n";
}

if ( $idResult->num_rows < 10 ) {
  $height = ((10 - $idResult->num_rows) * 20);
  $rows .= "<div class=\"iRow\"><div class=\"iCell\" style=\"height:" . $height . "px;\"></div><div class=\"iCell\" ></div><div class=\"iCell\" ></div><div class=\"iCell\" ></div></div>";
}

$ubF->tpl->assign ( "INV_NUMBER", $iData ['iid'] );
$ubF->tpl->assign ( "INV_DATE", date ( "m/d/Y", $iData ['invoice_date'] ) );
$ubF->tpl->assign ( "BILL_TO", $bill_to );
$ubF->tpl->assign ( "ROWS", $rows );
$ubF->tpl->assign ( "INV_TOTAL", $iData ['invoice_amount'] );
$ubF->tpl->assign ( "NOTES", $iData ['notes'] );

$iResult->free ();
$idResult->free ();

/* Parse and print */
$ubF->tpl->parse ( "MENU", array (
    "menu" 
) );
$ubF->tpl->parse ( "BODY", array (
    "body" 
) );
$ubF->tpl->parse ( "INDEX", array (
    "index" 
) );
$ubF->tpl->FastPrint ( "INDEX" );
?>