Ejemplo n.º 1
0
	/**
	 * 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;
	}