function showTransactions($option) { $db =& JFactory::getDBO(); global $mainframe; $limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int'); $limitstart = $mainframe->getUserStateFromRequest($option . '.limitstart', 'limitstart', 0, 'int'); $member_id = $mainframe->getUserStateFromRequest($option . '.member_id', 'member_id', 0, 'int'); $transaction_type = $mainframe->getUserStateFromRequest($option . '.transaction_type', 'transaction_type', 0, 'int'); //$member_id = JRequest::getVar('member_id'); $dateStart = $mainframe->getUserStateFromRequest($option . '.transactions.dateStart', 'dateStart', "", 'string'); $dateEnd = $mainframe->getUserStateFromRequest($option . '.transactions.dateEnd', 'dateEnd', "", 'string'); //@ TODO: Ensure these are actually valid date strings if (empty($member_id)) { // All transactions $query = "SELECT\n\t SQL_CALC_FOUND_ROWS\n t.*,\n m.nameFirst,\n m.nameLast\n FROM\n #__cbodb_transactions t,\n #__cbodb_members m\n WHERE\n t.memberID = m.id"; } else { // Transactions for member $query = "SELECT\n \t SQL_CALC_FOUND_ROWS\n t.*\n FROM\n #__cbodb_transactions t\n WHERE\n t.memberID = {$member_id}"; } if ($dateStart != "") { $dateStart = date('Y-m-d', strtotime($dateStart)); $query .= " AND t.dateOpen >= '{$dateStart} 00:00:00'"; } if ($dateEnd != "") { $dateEnd = date('Y-m-d', strtotime($dateEnd)); $query .= " AND t.dateOpen <= '{$dateEnd} 23:59:59'"; } if ($transaction_type) { $query .= " AND t.type = {$transaction_type}"; } $query .= " ORDER BY t.dateOpen DESC, t.dateClosed DESC"; $db->setQuery($query, $limitstart, $limit); $rows = $db->loadObjectList(); if ($db->getErrorNum()) { echo $db->stderr(); return false; } $db->setQuery('SELECT FOUND_ROWS();'); $numRows = $db->loadResult(); jimport('joomla.html.pagination'); $pageNav = new JPagination($numRows, $limitstart, $limit); // Build dropdown for transaction types //$javascript = 'onchange="document.adminForm.submit();"'; $javascript = ''; $selected_val = $transaction_type; $transaction_types = array(); //$transaction_types[] = JHTML::_('select.option', '-1', '- '.JText::_('Transaction Type').' -', 'value', 'text'); $transaction_types[] = JHTML::_('select.option', '0', 'All Types', 'value', 'text'); /* Modified 2012.07.21 Bart McPherson GiveCamp HTML_cbodb::$transactionTypeArray is set by CbodbTransaction::$getTransactionTypesList() */ foreach (HTML_cbodb::$transactionTypeArray as $type_id => $type_name) { $transaction_types[] = JHTML::_('select.option', $type_id, JText::_($type_name)); } $lists['transaction_type'] = JHTML::_('select.genericlist', $transaction_types, 'transaction_type', 'class="inputbox" size="1" ' . $javascript, 'value', 'text', $selected_val); HTML_cbodb::showTransactions($option, $rows, $pageNav, $lists, $member_id, $dateStart, $dateEnd); }