diff --git a/public/include/classes/transaction.class.php b/public/include/classes/transaction.class.php index 038a30c5..a432b65b 100644 --- a/public/include/classes/transaction.class.php +++ b/public/include/classes/transaction.class.php @@ -95,7 +95,7 @@ class Transaction { b.height AS height, b.confirmations AS confirmations FROM transactions AS t - LEFT JOIN blocks AS b ON t.block_id = b.id + LEFT JOIN " . $this->block->getTableName() . " AS b ON t.block_id = b.id WHERE t.account_id = ? ORDER BY id DESC"); if ($this->checkStmt($stmt)) { @@ -108,6 +108,33 @@ class Transaction { return false; } + /** + * Fetch all transactions for all users + * @param none + * @return mixed array or false + **/ + public function getAllTransactions() { + $this->debug->append("STA " . __METHOD__, 4); + $stmt = $this->mysqli->prepare(" + SELECT + t.id AS id, + a.username as username, + t.type AS type, + t.amount AS amount, + t.coin_address AS coin_address, + t.timestamp AS timestamp, + b.height AS height, + b.confirmations AS confirmations + FROM transactions AS t + LEFT JOIN " . $this->block->getTableName() . " AS b ON t.block_id = b.id + LEFT JOIN " . $this->user->getTableName() . " AS a ON t.account_id = a.id + ORDER BY id DESC"); + if ($this->checkStmt($stmt) && $stmt->execute() && $result = $stmt->get_result()) + return $result->fetch_all(MYSQLI_ASSOC); + $this->debug->append('Unable to fetch transactions'); + return false; + } + private function checkStmt($bState) { if ($bState ===! true) { $this->debug->append("Failed to prepare statement: " . $this->mysqli->error); diff --git a/public/include/pages/admin/transactions.inc.php b/public/include/pages/admin/transactions.inc.php new file mode 100644 index 00000000..93d4530d --- /dev/null +++ b/public/include/pages/admin/transactions.inc.php @@ -0,0 +1,11 @@ +isAuthenticated()) { + $aTransactions = $transaction->getAllTransactions(); + if (!$aTransactions) $_SESSION['POPUP'][] = array('CONTENT' => 'Could not find any transaction', 'TYPE' => 'errormsg'); + $smarty->assign('TRANSACTIONS', $aTransactions); + $smarty->assign('CONTENT', 'default.tpl'); +} +?> diff --git a/public/templates/mmcFE/admin/transactions/default.tpl b/public/templates/mmcFE/admin/transactions/default.tpl new file mode 100644 index 00000000..c6497246 --- /dev/null +++ b/public/templates/mmcFE/admin/transactions/default.tpl @@ -0,0 +1,145 @@ +{include file="global/block_header.tpl" BLOCK_HEADER="Transaction Log" BUTTONS=array(Confirmed,Unconfirmed,Orphan)} +
| TX # | +Account | + | Date | +TX Type | +Payment Address | +Block # | +Amount | +
|---|---|---|---|---|---|---|---|
| {$TRANSACTIONS[transaction].id} | +{$TRANSACTIONS[transaction].username} | +{$TRANSACTIONS[transaction].timestamp} | +{$TRANSACTIONS[transaction].type} | +{$TRANSACTIONS[transaction].coin_address} | +{if $TRANSACTIONS[transaction].height == 0}n/a{else}{$TRANSACTIONS[transaction].height}{/if} | +{$TRANSACTIONS[transaction].amount} | +
+ + Credit_AP = Auto Threshold Payment, Credit_MP = Manual Payment, Donation = Donation, Fee = Pool Fees (if applicable) + +
+| TX # | +Account | + | Date | +TX Type | +Payment Address | +Block # | +Amount | +
|---|---|---|---|---|---|---|---|
| {$TRANSACTIONS[transaction].id} | +{$TRANSACTIONS[transaction].username} | +{$TRANSACTIONS[transaction].timestamp} | +{$TRANSACTIONS[transaction].type} | +{$TRANSACTIONS[transaction].coin_address} | +{if $TRANSACTIONS[transaction].height == 0}n/a{else}{$TRANSACTIONS[transaction].height}{/if} | +{$TRANSACTIONS[transaction].amount} | +|
| Unconfirmed Totals: | +{$credits|default - $debits|default} | +||||||
Listed are your estimated rewards and donations/fees for all blocks awaiting {$GLOBAL.confirmations} confirmations.
+| TX # | +Account | + | Date | +TX Type | +Payment Address | +Block # | +Amount | +
|---|---|---|---|---|---|---|---|
| {$TRANSACTIONS[transaction].id} | +{$TRANSACTIONS[transaction].username} | +{$TRANSACTIONS[transaction].timestamp} | +{$TRANSACTIONS[transaction].type} | +{$TRANSACTIONS[transaction].coin_address} | +{if $TRANSACTIONS[transaction].height == 0}n/a{else}{$TRANSACTIONS[transaction].height}{/if} | +{$TRANSACTIONS[transaction].amount} | +|
| Orphaned Totals: | +{$orphan_credits|default - $orphan_debits|default} | +||||||
Listed are your orphaned transactions for blocks not part of the main blockchain.
+