Add php files
This commit is contained in:
221
modules/EcmPaymentStates/Dashlets/MySaldoDashlet/Helper.php
Executable file
221
modules/EcmPaymentStates/Dashlets/MySaldoDashlet/Helper.php
Executable file
@@ -0,0 +1,221 @@
|
||||
<?php
|
||||
// helper functions
|
||||
function getData($id, $expired) {
|
||||
$db = $GLOBALS ['db'];
|
||||
|
||||
$saldo = false;
|
||||
$settled = " t.settled!='1' AND ";
|
||||
|
||||
switch ($expired) {
|
||||
case 0 :
|
||||
$payment_date = "1=1";
|
||||
break;
|
||||
case 1 :
|
||||
$date = new DateTime ( date ( "Y-m-d" ) );
|
||||
$d = $date->format ( 'Y-m-d' );
|
||||
$payment_date = " payment_date <= '$d'";
|
||||
break;
|
||||
case 2 :
|
||||
$date_to = new DateTime ( date ( "Y-m-d" ) );
|
||||
$d_t = $date_to->format ( 'Y-m-d' );
|
||||
$date_from = new DateTime ( date ( "Y-m-d" ) );
|
||||
$date_from->modify ( '-30 days' );
|
||||
$d_f = $date_from->format ( 'Y-m-d' );
|
||||
$payment_date = " payment_date BETWEEN '$d_f' AND '$d_t'";
|
||||
break;
|
||||
case 3 :
|
||||
$date_to = new DateTime ( date ( "Y-m-d" ) );
|
||||
$date_to->modify ( '-31 days' );
|
||||
$d_t = $date_to->format ( 'Y-m-d' );
|
||||
$date_from = new DateTime ( date ( "Y-m-d" ) );
|
||||
$date_from->modify ( '-60 days' );
|
||||
$d_f = $date_from->format ( 'Y-m-d' );
|
||||
$payment_date = " payment_date BETWEEN '$d_f' AND '$d_t'";
|
||||
break;
|
||||
case 4 :
|
||||
$date_to = new DateTime ( date ( "Y-m-d" ) );
|
||||
$date_to->modify ( '-61 days' );
|
||||
$d_t = $date_to->format ( 'Y-m-d' );
|
||||
$date_from = new DateTime ( date ( "Y-m-d" ) );
|
||||
$date_from->modify ( '-90 days' );
|
||||
$d_f = $date_from->format ( 'Y-m-d' );
|
||||
$payment_date = " payment_date BETWEEN '$d_f' AND '$d_t'";
|
||||
break;
|
||||
case 5 :
|
||||
$date_to = new DateTime ( date ( "Y-m-d" ) );
|
||||
$date_to->modify ( '-91 days' );
|
||||
$d_t = $date_to->format ( 'Y-m-d' );
|
||||
$date_from = new DateTime ( date ( "Y-m-d" ) );
|
||||
$date_from->modify ( '-180 days' );
|
||||
$d_f = $date_from->format ( 'Y-m-d' );
|
||||
$payment_date = " payment_date BETWEEN '$d_f' AND '$d_t'";
|
||||
break;
|
||||
case 6 :
|
||||
$date = new DateTime ( date ( "Y-m-d" ) );
|
||||
$date->modify ( '-181 days' );
|
||||
$d = $date->format ( 'Y-m-d' );
|
||||
$payment_date = " payment_date < '$d'";
|
||||
break;
|
||||
case 7 :
|
||||
$date = new DateTime ( date ( "Y-m-d" ) );
|
||||
$d = $date->format ( 'Y-m-d' );
|
||||
$payment_date = " payment_date >= '$d'";
|
||||
break;
|
||||
case 8 :
|
||||
$payment_date = " 1=1 ";
|
||||
$saldo = true;
|
||||
$settled = " 1=1 AND ";
|
||||
break;
|
||||
case 9:
|
||||
$date = new DateTime ( date ( "Y-m-d" ) );
|
||||
$d = $date->format ( 'Y-m-d' );
|
||||
$payment_date = " payment_date <= '$d'";
|
||||
$settled = " 1=1 AND ";
|
||||
$saldo = true;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
//start WINIEN
|
||||
$r = $db->fetchByAssoc ( $db->query ( "
|
||||
SELECT
|
||||
sum(
|
||||
CASE WHEN t.currency_id='PLN' THEN t.value
|
||||
ELSE t.value*t.currency_value
|
||||
END
|
||||
) AS sum
|
||||
FROM ecmtransactions AS t
|
||||
WHERE
|
||||
t.parent_id = '$id' AND
|
||||
t.deleted='0' AND
|
||||
" .$settled. "
|
||||
t.type='1' AND
|
||||
t.register_date > '2011-12-31' AND
|
||||
" . $payment_date . "
|
||||
" ) );
|
||||
|
||||
//get part settled transactions
|
||||
if (!$saldo)
|
||||
$s = $db->fetchByAssoc($db->query("
|
||||
SELECT
|
||||
sum(
|
||||
CASE WHEN t.currency_id='PLN' THEN rel.value
|
||||
ELSE rel.value*t.currency_value
|
||||
END
|
||||
) AS settled, t.id
|
||||
FROM ecmtransactions_rel AS rel
|
||||
INNER JOIN ecmtransactions AS t
|
||||
ON rel.ecmtransaction_b_id = t.id
|
||||
WHERE
|
||||
t.parent_id = '$id' AND
|
||||
t.deleted='0' AND
|
||||
t.type='1' AND
|
||||
t.register_date > '2011-12-31' AND
|
||||
" .$payment_date. "
|
||||
"));
|
||||
|
||||
|
||||
if (! is_numeric ( $r ['sum'] ))
|
||||
$r ['sum'] = 0;
|
||||
|
||||
if (! is_numeric ( $s ['settled'] ))
|
||||
$s ['settled'] = 0;
|
||||
|
||||
if (floatval($s['settled']) > 0)
|
||||
$r['sum'] = floatval($r['sum']) - floatval($s['settled']);
|
||||
|
||||
$sum = $r['sum'];
|
||||
//END WINIEN
|
||||
|
||||
$r['sum'] = 0;
|
||||
if ($saldo) {
|
||||
$r = $db->fetchByAssoc ( $db->query ( "
|
||||
SELECT
|
||||
sum(
|
||||
CASE WHEN t.currency_id='PLN' THEN t.value
|
||||
ELSE t.value*t.currency_value
|
||||
END
|
||||
) AS sum
|
||||
FROM ecmtransactions AS t
|
||||
WHERE
|
||||
t.parent_id = '$id' AND
|
||||
t.deleted='0' AND
|
||||
t.type='0' AND
|
||||
t.register_date > '2011-12-31' AND
|
||||
" . $payment_date . "
|
||||
" ) );
|
||||
}
|
||||
//END MA
|
||||
return $sum - $r ['sum'];
|
||||
}
|
||||
// sort comparing functions
|
||||
function cmpUnsettled($a, $b) {
|
||||
if ($a ['unsettled'] == $b ['unsettled']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a ['unsettled'] < $b ['unsettled']) ? - 1 : 1;
|
||||
}
|
||||
function cmpUnsettledDesc($a, $b) {
|
||||
if ($a ['unsettled'] == $b ['unsettled']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a ['unsettled'] < $b ['unsettled']) ? 1 : - 1;
|
||||
}
|
||||
function cmpNotOverdue($a, $b) {
|
||||
if ($a ['not_overdue'] == $b ['not_overdue']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a ['not_overdue'] < $b ['not_overdue']) ? - 1 : 1;
|
||||
}
|
||||
function cmpNotOverdueDesc($a, $b) {
|
||||
if ($a ['not_overdue'] == $b ['not_overdue']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a ['not_overdue'] < $b ['not_overdue']) ? 1 : - 1;
|
||||
}
|
||||
function cmpOverdue($a, $b) {
|
||||
if ($a ['overdue'] == $b ['overdue']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a ['overdue'] < $b ['overdue']) ? - 1 : 1;
|
||||
}
|
||||
function cmpOverdueDesc($a, $b) {
|
||||
if ($a ['overdue'] == $b ['overdue']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a ['overdue'] < $b ['overdue']) ? 1 : - 1;
|
||||
}
|
||||
function cmpAccount($a, $b) {
|
||||
return strnatcmp ( $a ['name'], $b ['name'] );
|
||||
}
|
||||
function cmpAccountDesc($a, $b) {
|
||||
return - 1 * strnatcmp ( $a ['name'], $b ['name'] );
|
||||
}
|
||||
|
||||
function cmpSaldo($a, $b) {
|
||||
if ($a ['saldo'] == $b ['saldo']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a ['saldo'] < $b ['saldo']) ? - 1 : 1;
|
||||
}
|
||||
|
||||
function cmpSaldoDesc($a, $b) {
|
||||
if ($a ['saldo'] == $b ['saldo']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a ['saldo'] < $b ['saldo']) ? 1 : -1;
|
||||
}
|
||||
|
||||
function cmpTodaySaldo($a, $b) {
|
||||
if ($a ['today_saldo'] == $b ['today_saldo']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a ['today_saldo'] < $b ['today_saldo']) ? - 1 : 1;
|
||||
}
|
||||
|
||||
function cmpTodaySaldoDesc($a, $b) {
|
||||
if ($a ['today_saldo'] == $b ['today_saldo']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a ['today_saldo'] < $b ['today_saldo']) ? 1 : -1;
|
||||
}?>
|
||||
Reference in New Issue
Block a user