Exemplo n.º 1
0
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);
}