$value) { $csv[$key] = str_getcsv($value); } // Get user log entries. $user1Txn = getLog(USER1_NAME, $csv); $user2Txn = getLog(USER2_NAME, $csv); // Merge user arrays into transaction array $txnVault = array_merge($user1Txn, $user2Txn); // Build array of entries not already in the CSV foreach ($txnVault as $key => $value) { $csvComp = searchForId($value['timestamp'], $csv); if (!$csvComp) { $csvVault[] = $value; } } // Store new trasnactions in CSV foreach ($csvVault as $fields) { fputcsv($fp, $fields); } fclose($fp); // searchForID(): Serach CSV array for timestamp ID function searchForId($id, $array) { foreach ($array as $key => $val) { if ($val[1] == $id) { return true; } } return false; } // formatMoney(): Format raw transaction vaule to display as money // cents: 0=never, 1=if needed, 2=always function formatMoney($number, $cents = 1) { if (is_numeric($number)) { if (!$number) { $money = ($cents == 2 ? '0.00' : '0'); } else { if (floor($number) == $number) { $money = number_format($number, ($cents == 2 ? 2 : 0)); } else { $money = number_format(round($number, 2), ($cents == 0 ? 0 : 2)); } } if (substr($number,0,1) == '-') { $money = ltrim($money, '-'); $sign = '-$'; } else { $sign = '$'; } return $sign.$money; } } // getLog(): Get log entries for user. Returns array. function getLog($user, $csv) { $tornURL = 'https://api.torn.com/user/?selections=log&key='; $i = 0; if ($user == USER1_NAME) { $usrKey = USER1_KEY; $user = USER1_NAME; } else { $usrKey = USER2_KEY; $user = USER2_NAME; } $usrURL = $tornURL . $usrKey; $usrLog = json_decode(file_get_contents($usrURL)); $usrData = $usrLog->log; $usrVault = []; foreach ($usrData as $entry) { if ($entry->log == 5851) { $usrVault[$i]['user'] = $user; $usrVault[$i]['timestamp'] = $entry->timestamp; $usrVault[$i]['operation'] = $entry->title; $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; } else { continue; } $i++; } return $usrVault; } // vaultTxns(): Show all vault transactions function vaultTxns($csv) { $output = ''; $output .= '
User | ';
$output .= ' Timestamp | ';
$output .= ' Operation | ';
$output .= ' Amount | ';
$output .= ' ';
$output .= ' ';
$csv = array_reverse($csv);
foreach ($csv as $entry) {
if ($entry[2] == 'Vault withdraw') {
$class = 'debit';
} else {
$class = 'credit';
}
$output .= '
| '; $output .= $entry[0]; // User $output .= ' | '; $output .= ''; $output .= date("d/m/Y", $entry[1]); // Transaction Date $output .= ' | '; $output .= ''; $output .= $entry[2]; // Transaction Type $output .= ' | '; $output .= ''; $output .= formatMoney($entry[3]); // Transaction Amount $output .= ' | '; $output .= '