/** * USED by XML interface ONLY !!! Renders invoice * * @param string $value * @param ParamsInterface $params * @return string HTML to display */ public function renderInvoice( $value, &$params ) { global $_CB_framework; if ( ( $_CB_framework->getUi() == 2 ) && ( $_CB_framework->myId() != 0 ) ) { if ( cbpaidApp::getBaseClass() === null ) { //TODO: check if this is even needed: $pseudoPlugin = new getcbpaidsubscriptionsTab(); $pseudoPlugin->params =& $params; cbpaidApp::getBaseClass( $pseudoPlugin ); } $baseClass =& cbpaidApp::getBaseClass(); $itsmyself = true; // simulate user's view of invoice. $baseClass->outputRegTemplate(); if ( strpos( cbGetParam( $_GET, 'invoice' ), ',') === false ) { if ( $this->load( (int) $value ) ) { $user = CBuser::getUserDataInstance( (int) $this->user_id ); } return $this->displayInvoice( $user, $itsmyself, true ); } else { $html = '<div class="cbregmultipage">'; foreach ( explode( ',', cbGetParam( $_GET, 'invoice' ) ) as $basketId ) { $paymentBasket = new self(); if ( $paymentBasket->load( (int) $basketId ) ) { $user = CBuser::getUserDataInstance( (int) $paymentBasket->user_id ); } $html .= $paymentBasket->displayInvoice( $user, $itsmyself, false ) . '<hr class="cbregpagebreak" />'; if ( is_callable( array( 'CBuser', 'unsetUsersNotNeeded' ) ) ) { // CB 1.8+: CBuser::unsetUsersNotNeeded( array( (int) $paymentBasket->user_id ) ); } unset( $paymentBasket, $user ); } $html .= '</div>'; } return $html; } return null; }