function saveTransaction($option) { global $mainframe; $postRow = JRequest::get('post'); $transaction = new CbodbTransaction($postRow['id']); $transaction->setAll($postRow); $msg = ''; if (!isset($transaction->creditRate) || is_empty($transaction->creditRate)) { $transaction->creditRate = $transaction->getMemberCreditRate($transaction->memberID); } if ($transaction->getGranderTransactionType() == "Time") { // Time-based transaction: recalculate total time and credits $transaction->totalTime = calculateTotalTime($transaction->dateOpen, $transaction->dateClosed); $transaction->credits = calculateCredits($transaction->totalTime, $transaction->creditRate); $msg = "Total time: " . format_time_duration($transaction->totalTime) . ", Credits: {$transaction->credits}"; } // added type 2 (Personal) to negative transaction type 2012.07.21 Bart McPherson Givecamp if ($transaction->type == 1001 || $transaction->type == 1003 || $transaction->type == 2) { /* This is a purchase - make sure credits are negative */ if ($transaction->credits > 0) { $transaction->credits = -$transaction->credits; } CbodbItem::markTagAsSold($transaction->itemID); if ($transaction->type == 2) { $msg = "Total time: " . format_time_duration($transaction->totalTime) . ", Credits: {$transaction->credits}"; } } if ($transaction->type == 1003) { /* this is a membership renewal - update the account */ $member = new CbodbMember($transaction->memberID); if (strtotime($member->membershipExpire) < time()) { $member->membershipExpire = date("Y-m-d H:i:s", time() + 365 * 24 * 3600); } else { $member->membershipExpire = date("Y-m-d H:i:s", strtotime($member->membershipExpire) + 365 * 24 * 3600); } $member->isMember = 1; $member->saveData(); } $transaction->saveData(); $msg = "Transaction {$transaction->id} saved. " . $msg; // Going back to Show Transactions list // Saved the listing criteria as hidden form variables... use them to re-generate the previous view //$list_query_limit = $postRow['list_query_limit'] ? ('&limit=' . $postrow['list_query_limit']) : ''; //$list_query_limitstart = $postRow['list_query_limitstart'] ? ('&limitstart=' . $postrow['list_query_limitstart']) : ''; $list_query_member_id = $postRow['list_query_member_id'] ? '&member_id=' . $postrow['list_query_member_id'] : ''; $list_query_dateStart = $postRow['list_query_dateStart'] ? '&dateStart=' . $postrow['list_query_dateStart'] : ''; $list_query_dateEnd = $postRow['list_query_dateEnd'] ? '&dateEnd=' . $postrow['list_query_dateEnd'] : ''; $mainframe->redirect('index.php?option=' . $option . '&task=transactions' . $list_query_member_id . $list_query_dateStart . $list_query_dateEnd, $msg); }
function saveOldMemberPurchase($option) { global $mainframe; $postRow = JRequest::get('post'); if ($postRow[memberID] != 0) { $itemID = $postRow[itemID]; $cash = $postRow[cash]; $memberID = $postRow[memberID]; $transaction = new CbodbTransaction(); $transaction->memberID = $memberID; $transaction->itemID = $itemID; $transaction->cash = $cash; $transaction->type = 1001; $transaction->dateOpen = date("Y-m-d H:i:s", time()); $transaction->dateClosed = date("Y-m-d H:i:s", time()); $transaction->saveData(); CbodbItem::markTagAsSold($itemID); $mainframe->redirect('index.php?option=' . $option . '&task=shop&key=3b767559374f5132236f6e68256b2529#top', 'Your transaction has been recorded, thank you.'); } else { $mainframe->redirect('index.php?option=' . $option . '&task=shop&key=3b767559374f5132236f6e68256b2529#top', 'Please choose a member.'); } }