diff --git a/all-entries.csv b/all-entries.csv new file mode 100644 index 0000000..0ed01c5 --- /dev/null +++ b/all-entries.csv @@ -0,0 +1,111 @@ +26/09/2022,symoss,1,Deposit +26/09/2022,symoss,185354305,Deposit +27/09/2022,zarathos75,-2000000,Withdrawal +27/09/2022,symoss,-3000,Withdrawal +28/09/2022,symoss,-1000000,Withdrawal +28/09/2022,zarathos75,-2000000,Withdrawal +28/09/2022,symoss,-300000,Withdrawal +30/09/2022,symoss,-400000,Withdrawal +30/09/2022,symoss,-150000,Withdrawal +30/09/2022,symoss,-50000,Withdrawal +02/10/2022,symoss,-2000000,Withdrawal +02/10/2022,zarathos75,-2000000,Withdrawal +02/10/2022,symoss,1000000,Deposit +04/10/2022,symoss,-300000,Withdrawal +05/10/2022,symoss,-300000,Withdrawal +06/10/2022,zarathos75,-2000000,Withdrawal +06/10/2022,symoss,-2000000,Withdrawal +06/10/2022,symoss,-10000000,Withdrawal +07/10/2022,symoss,-350000,Withdrawal +07/10/2022,symoss,-2000000,Withdrawal +13/10/2022,zarathos75,-2000000,Withdrawal +14/10/2022,symoss,-350000,Withdrawal +15/10/2022,symoss,-350000,Withdrawal +16/10/2022,zarathos75,-2000000,Withdrawal +16/10/2022,symoss,-1200000,Withdrawal +18/10/2022,symoss,-10000000,Withdrawal +19/10/2022,zarathos75,-2000000,Withdrawal +21/10/2022,symoss,-350000,Withdrawal +21/10/2022,symoss,-1000000,Withdrawal +22/10/2022,symoss,-350000,Withdrawal +23/10/2022,symoss,-230000,Withdrawal +24/10/2022,zarathos75,-80000000,Withdrawal +24/10/2022,zarathos75,12392725,Deposit +24/10/2022,symoss,-1000000,Withdrawal +24/10/2022,zarathos75,2988600,Deposit +25/10/2022,zarathos75,89862,Deposit +25/10/2022,zarathos75,-352500,Withdrawal +25/10/2022,symoss,-600000,Withdrawal +25/10/2022,symoss,690914,Deposit +25/10/2022,symoss,-1000000,Withdrawal +26/10/2022,zarathos75,-3000000,Withdrawal +26/10/2022,zarathos75,-2000000,Withdrawal +26/10/2022,symoss,-1500000,Withdrawal +26/10/2022,symoss,-5000000,Withdrawal +26/10/2022,symoss,-750000,Withdrawal +28/10/2022,symoss,-700000,Withdrawal +28/10/2022,symoss,96429637,Deposit +28/10/2022,symoss,-800000,Withdrawal +28/10/2022,zarathos75,52642857,Deposit +29/10/2022,symoss,-352500,Withdrawal +29/10/2022,symoss,-750000,Withdrawal +30/10/2022,symoss,760975,Deposit +30/10/2022,symoss,-352500,Withdrawal +31/10/2022,zarathos75,-1000000,Withdrawal +31/10/2022,symoss,-20000000,Withdrawal +31/10/2022,symoss,450000,Deposit +01/11/2022,symoss,-400000,Withdrawal +01/11/2022,symoss,-750000,Withdrawal +03/11/2022,zarathos75,-100000000,Withdrawal +03/11/2022,symoss,99442460,Deposit +03/11/2022,symoss,-500000,Withdrawal +03/11/2022,symoss,-750000,Withdrawal +05/11/2022,zarathos75,-2000000,Withdrawal +05/11/2022,symoss,-500000,Withdrawal +07/11/2022,symoss,-200000,Withdrawal +08/11/2022,zarathos75,-2000000,Withdrawal +09/11/2022,symoss,-350000,Withdrawal +09/11/2022,symoss,-750000,Withdrawal +10/11/2022,symoss,-50000,Withdrawal +11/11/2022,symoss,-330000,Withdrawal +12/11/2022,symoss,-1050000,Withdrawal +12/11/2022,symoss,-75000,Withdrawal +12/11/2022,symoss,526550,Deposit +13/11/2022,symoss,-350000,Withdrawal +14/11/2022,symoss,-1000000,Withdrawal +14/11/2022,symoss,-100000,Withdrawal +14/11/2022,symoss,-10000000,Withdrawal +14/11/2022,symoss,5775234,Deposit +14/11/2022,symoss,-16000000,Withdrawal +14/11/2022,symoss,-1200000,Withdrawal +16/11/2022,symoss,-350000,Withdrawal +16/11/2022,symoss,-700000,Withdrawal +20/11/2022,symoss,-1100000,Withdrawal +21/11/2022,symoss,-200000,Withdrawal +22/11/2022,symoss,-1050000,Withdrawal +25/11/2022,symoss,-1000000,Withdrawal +29/11/2022,zarathos75,-3000000,Withdrawal +29/11/2022,symoss,-1000000,Withdrawal +02/12/2022,symoss,-500000,Withdrawal +04/12/2022,symoss,-10000000,Withdrawal +05/12/2022,symoss,-500000,Withdrawal +06/12/2022,symoss,-20000000,Withdrawal +07/12/2022,zarathos75,40000000,Deposit +09/12/2022,symoss,86455,Deposit +09/12/2022,symoss,-1000000,Withdrawal +10/12/2022,zarathos75,2608832,Deposit +10/12/2022,zarathos75,-1000000,Withdrawal +11/12/2022,symoss,-200000,Withdrawal +11/12/2022,symoss,-1000000,Withdrawal +12/12/2022,zarathos75,-4000000,Withdrawal +14/12/2022,symoss,-750000,Withdrawal +14/12/2022,symoss,-15000000,Withdrawal +15/12/2022,zarathos75,3203752,Deposit +15/12/2022,zarathos75,-5000000,Withdrawal +15/12/2022,symoss,-750000,Withdrawal +17/12/2022,zarathos75,3915202,Deposit +17/12/2022,zarathos75,-6000000,Withdrawal +17/12/2022,zarathos75,3000000,Deposit +17/12/2022,zarathos75,3000000,Deposit +17/12/2022,zarathos75,-8000000,Withdrawal +17/12/2022,zarathos75,4000000,Deposit \ No newline at end of file diff --git a/functions.php b/functions.php index 16276b6..9d463cb 100644 --- a/functions.php +++ b/functions.php @@ -4,6 +4,7 @@ setlocale(LC_MONETARY, "en_US"); // Open CSV file in read & append mode ('a+') $fp = fopen('vault.csv', 'a+'); +// Read transactions from CSV $csvVault = []; $csv = []; @@ -13,11 +14,14 @@ foreach ($lines as $key => $value) { $csv[$key] = str_getcsv($value); } +// Get user log entries $zarTxn = getLog('zarathos', $csv); $symTxn = getLog('symos', $csv); +// Merge user arrays into transaction array $txnVault = array_merge($zarTxn, $symTxn); +// Build array of entries not already in the CSV foreach ($txnVault as $key => $value) { $csvComp = searchForId($value['timestamp'], $csv); @@ -26,13 +30,21 @@ foreach ($txnVault as $key => $value) { } } -// Loop through file pointer and add a line +// Store new trasnactions in CSV foreach ($csvVault as $fields) { fputcsv($fp, $fields); } fclose($fp); +// Sort the CSV array +usort($csv, "custom_sort"); + +// Define the custom sort function +function custom_sort($a, $b) { + return $a[1] > $b[1]; +} + // searchForID(): Serach CSV array for timestamp ID function searchForId($id, $array) { foreach ($array as $key => $val) { @@ -58,11 +70,18 @@ function formatMoney($number, $cents = 1) { } } - return '$' . $money; + if (substr($number,0,1) == '-') { + $money = ltrim($money, '-'); + $sign = '-$'; + } else { + $sign = '$'; + } + + return $sign.$money; } } -// getLog(): Get log entries for user. Uses CSV array for dupe checking. Returns array. +// getLog(): Get log entries for user. Returns array. function getLog($user, $csv) { $tornURL = 'https://api.torn.com/user/?selections=log&key='; $i = 0; @@ -85,26 +104,12 @@ function getLog($user, $csv) { $usrVault[$i]['user'] = $user; $usrVault[$i]['timestamp'] = $entry->timestamp; $usrVault[$i]['operation'] = $entry->title; - $usrVault[$i]['amount'] = $entry->data->withdrawn; - - $csvComp = searchForId($entry->timestamp, $csv); - - if ($csvComp) { - //echo 'Withdrawal (ID: ' . $entry->timestamp . ') already in vault'; - } - - // fputcsv($fp, $usrVault[i]); + $usrVault[$i]['amount'] = '-'.$entry->data->withdrawn; } elseif ($entry->log == 5850) { $usrVault[$i]['user'] = $user; $usrVault[$i]['timestamp'] = $entry->timestamp; $usrVault[$i]['operation'] = $entry->title; $usrVault[$i]['amount'] = $entry->data->deposited; - - $csvComp = searchForId($entry->timestamp, $csv); - - if ($csvComp) { - //echo 'Deposit (ID: ' . $entry->timestamp . ') already in vault'; - } } else { continue; } diff --git a/index.php b/index.php index ed959b7..7a4af43 100644 --- a/index.php +++ b/index.php @@ -11,47 +11,55 @@ include('functions.php'); Torn Vault Tracker - +

Torn Vault Tracker

- - - - - - - +
+
+

Transactions

- +
+ + + + + - // Define the custom sort function - function custom_sort($a, $b) { - return $a[1] > $b[1]; - } + '; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - ?> -
UserTimestampOperationAmount
UserTimestampOperationAmount
'; - echo $entry[0]; - echo ''; - echo date("d/m/Y", $entry[1]); - echo ''; - echo $entry[2]; - echo ''; - echo formatMoney($entry[3]); - echo '
+ echo ''; + echo ''; + echo $entry[0]; + echo ''; + echo ''; + echo date("d/m/Y", $entry[1]); + echo ''; + echo ''; + echo $entry[2]; + echo ''; + echo ''; + echo formatMoney($entry[3]); + echo ''; + echo ''; + } + ?> + + + +
+

Balances

+
+ \ No newline at end of file diff --git a/style.css b/style.css index 56b4b89..d592a3f 100644 --- a/style.css +++ b/style.css @@ -1,3 +1,11 @@ +.grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-template-rows: 1fr; + grid-column-gap: 0px; + grid-row-gap: 0px; +} + table, tr, td { border: 1px solid #333; border-collapse: collapse; @@ -10,4 +18,8 @@ thead td { text-transform: uppercase; } +tr.debit { background-color: #f77e82; } + +tr.credit { background-color: #08817d; color: #fff; } + td { padding: .15em 1em; } \ No newline at end of file diff --git a/vault.csv b/vault.csv index c8bafd3..96f8a04 100644 --- a/vault.csv +++ b/vault.csv @@ -1,10 +1,11 @@ -Zarathos,1671111614,"Vault withdraw",5000000 -Zarathos,1670871611,"Vault withdraw",4000000 -Zarathos,1670698196,"Vault withdraw",1000000 +Zarathos,1671111614,"Vault withdraw",-5000000 +Zarathos,1670871611,"Vault withdraw",-4000000 +Zarathos,1670698196,"Vault withdraw",-1000000 Zarathos,1671108304,"Vault deposit",3203752 -Zarathos,1671306102,"Vault withdraw",6000000 +Zarathos,1671306102,"Vault withdraw",-6000000 Zarathos,1671306091,"Vault deposit",3915202 -Symos,1671136332,"Vault withdraw",750000 -Zarathos,1671313291,"Vault withdraw",8000000 +Symos,1671136332,"Vault withdraw",-750000 +Zarathos,1671313291,"Vault withdraw",-8000000 Zarathos,1671313285,"Vault deposit",3000000 Zarathos,1671313280,"Vault deposit",3000000 +Zarathos,1671313336,"Vault deposit",4000000