php-mpos/public/include/pages/admin/transactions.inc.php
Sebastian Grewe 51a996573d [IMPROVED] Transaction data handling
This will improve loading times on large transaction tables. Thanks
@feeleep75 for helping with this one.

* Do not use SQL_CALC_NUM_ROWS since it will do a full table scan
* Allow admins to disable account transaction summaries to speed up page
  loads on large tables
* added new admin setting under system to Disable TX Summaries

Fixes #1065 once merged
2013-12-23 10:48:12 +01:00

43 lines
1.7 KiB
PHP

<?php
// Make sure we are called from index.php
if (!defined('SECURITY')) die('Hacking attempt');
// Check user to ensure they are admin
if (!$user->isAuthenticated() || !$user->isAdmin($_SESSION['USERDATA']['id'])) {
header("HTTP/1.1 404 Page not found");
die("404 Page not found");
}
if (!$smarty->isCached('master.tpl', $smarty_cache_key)) {
$iLimit = 30;
$debug->append('No cached version available, fetching from backend', 3);
empty($_REQUEST['start']) ? $start = 0 : $start = $_REQUEST['start'];
$aTransactions = $transaction->getTransactions($start, @$_REQUEST['filter'], $iLimit);
$aTransactionTypes = $transaction->getTypes();
if (!$aTransactions) $_SESSION['POPUP'][] = array('CONTENT' => 'Could not find any transaction', 'TYPE' => 'errormsg');
if (!$setting->getValue('disable_transactionsummary')) {
$aTransactionSummary = $transaction->getTransactionSummary();
$smarty->assign('SUMMARY', $aTransactionSummary);
}
$smarty->assign('LIMIT', $iLimit);
$smarty->assign('TRANSACTIONS', $aTransactions);
$smarty->assign('TRANSACTIONTYPES', $aTransactionTypes);
$smarty->assign('TXSTATUS', array('' => '', 'Confirmed' => 'Confirmed', 'Unconfirmed' => 'Unconfirmed', 'Orphan' => 'Orphan'));
$smarty->assign('DISABLE_TRANSACTIONSUMMARY', $setting->getValue('disable_transactionsummary'));
} else {
$debug->append('Using cached page', 3);
}
// Gernerate the GET URL for filters
if (isset($_REQUEST['filter'])) {
$strFilters = '';
foreach (@$_REQUEST['filter'] as $filter => $value) {
$filter = "filter[$filter]";
$strFilters .= "&$filter=$value";
}
$smarty->assign('FILTERS', $strFilters);
}
$smarty->assign('CONTENT', 'default.tpl');
?>