Вход Регистрация
Файл: whmcs/modules/reports/aging_invoices.php
Строк: 137
<?php

if (!defined("WHMCS"))
    die(
"This file cannot be accessed directly");

$reportdata["title"] = "Aging Invoices";
$reportdata["description"] = "A summary of outstanding invoices broken down into the period of which they are overdue";

$reportdata["tableheadings"][] = "Period";


foreach (
$currencies AS $currencyid=>$currencyname) {
    
$reportdata["tableheadings"][] = "$currencyname Amount";
}

$totals = array();

for ( 
$day 0$day 120$day += 30) {
    
$startdate date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$day,date("Y")));
    
$enddate date("Y-m-d",mktime(0,0,0,date("m"),date("d")-($day+30),date("Y")));
    
$rowdata = array();
    
$rowdata[] = "$day - ".($day+30);
    
$currencytotals = array();
    
$query "SELECT tblclients.currency,SUM(tblinvoices.total),(SELECT SUM(amountin-amountout) FROM tblaccounts INNER JOIN tblinvoices ON tblinvoices.id=tblaccounts.invoiceid INNER JOIN tblclients t2 ON t2.id=tblinvoices.userid WHERE tblinvoices.duedate<='".db_make_safe_date($startdate)."' AND tblinvoices.duedate>='".db_make_safe_date($enddate)."' AND tblinvoices.status='Unpaid' AND t2.currency=tblclients.currency) FROM tblinvoices INNER JOIN tblclients ON tblclients.id=tblinvoices.userid WHERE tblinvoices.duedate<='".db_make_safe_date($startdate)."' AND tblinvoices.duedate>='".db_make_safe_date($enddate)."' AND tblinvoices.status='Unpaid' GROUP BY tblclients.currency";
    
$result full_query($query);
    while (
$data mysql_fetch_array($result)) {
        
$currencytotals[$data[0]] = $data[1]-$data[2];
    }
    foreach (
$currencies AS $currencyid=>$currencyname) {
        
$currencyamount $currencytotals[$currencyid];
        if (!
$currencyamount$currencyamount=0;
        
$totals[$currencyid] += $currencyamount;
        
$currency getCurrency('',$currencyid);
        
$rowdata[] = formatCurrency($currencyamount);
        if (
$currencyid==$defaultcurrencyid$chartdata['rows'][] = array('c'=>array(array('v'=>"$day - ".($day+30)),array('v'=>$currencyamount,'f'=>formatCurrency($currencyamount))));
    }
    
$reportdata["tablevalues"][] = $rowdata;
}

$startdate date("Y-m-d",mktime(0,0,0,date("m"),date("d")-120,date("Y")));
$rowdata = array();
$rowdata[] = "120 +";
$currencytotals = array();
$query "SELECT tblclients.currency,SUM(tblinvoices.total) FROM tblinvoices INNER JOIN tblclients ON tblclients.id=tblinvoices.userid WHERE tblinvoices.duedate<='".db_make_safe_date($startdate)."' AND tblinvoices.status='Unpaid' GROUP BY tblclients.currency";
$result full_query($query);
while (
$data mysql_fetch_array($result)) {
        
$currencytotals[$data[0]] = $data[1];
}
foreach (
$currencies AS $currencyid=>$currencyname) {
        
$currencyamount $currencytotals[$currencyid];
        if (!
$currencyamount$currencyamount=0;
        
$totals[$currencyid] += $currencyamount;
        
$currency getCurrency('',$currencyid);
        
$rowdata[] = formatCurrency($currencyamount);
}
$reportdata["tablevalues"][] = $rowdata;

$rowdata = array();
$rowdata[] = "<b>Total</b>";
foreach (
$currencies AS $currencyid=>$currencyname) {
        
$currencytotal $totals[$currencyid];
        if (!
$currencytotal$currencytotal=0;
        
$currency getCurrency('',$currencyid);
        
$rowdata[] = "<b>".formatCurrency($currencytotal)."</b>";
}

$reportdata["tablevalues"][] = $rowdata;

$chartdata['cols'][] = array('label'=>'Days Range','type'=>'string');
$chartdata['cols'][] = array('label'=>'Value','type'=>'number');

$args = array();
$args['legendpos'] = 'right';

$reportdata["footertext"] = $chart->drawChart('Pie',$chartdata,$args,'300px');

?>
Онлайн: 0
Реклама