/** * Method used to get the baskets to show the invoices list of a user * * @param UserTable $user * @param string $showPeriod SQL DATETIME formatted period of time * @param int $endTime * @param boolean $countOnly Count only, do not get them * @return cbpaidPaymentBasket[]|int */ public function getBaskets( $user, $showPeriod, $endTime, $countOnly ) { global $_CB_database; $startTime = $this->_periodOfValidity( $showPeriod, $endTime ); if ( $startTime ) { $dateLimit = date( 'Y-m-d H:i:s', $startTime ); } else { $dateLimit = null; } if ( $countOnly ) { $query = "SELECT COUNT(*)"; } else { $query = "SELECT b.*"; } $query .= "\n FROM #__cbsubs_payment_baskets b" . "\n WHERE b.user_id = " . (int) $user->id ; if ( $dateLimit ) { $query .= "\n AND b.time_initiated > " . $_CB_database->Quote( $dateLimit ); } $query .= "\n AND payment_status IN ( 'Completed', 'Pending' )" . "\n ORDER BY b.time_initiated DESC" ; $_CB_database->setQuery( $query ); if ( $countOnly ) { $baskets = $_CB_database->loadResult(); } else { $loaderBasket = new cbpaidPaymentBasket( $_CB_database ); $baskets = $loaderBasket->loadTrueObjects( null, 'id' ); } return $baskets; }