* * *@version 0.3 * *@package Quinta * @subpackage Modules */ class CheckOutConfirmationModule extends QPanel{ /** *@var CheckOutModule objControlBlock - the main control block for the check out module */ protected $objControlBlock; /** *@var Order objOrder - local reference to the order */ protected $objOrder; /** * @var array CheckOutItems - a list of products as cart items. */ public $aryCheckOutItemControllers; /** * @var OrderTotalsController - module to display shipping, handling and total price for order */ public $objOrderTotalsController; /** * @var AddressController objShippingAddressController - display for the shipping address */ public $objShippingAddressController; /** * @var AddressController objBillingAddressController - display for the billing address */ public $objBillingAddressController; /** * @var QPanel pnlPaymentMethod - panel to display information about the selected method */ public $pnlPaymentMethod; /** * @var QPanel pnlShippinggMethod - panel to display information about the selected method */ public $pnlShippingMethod; /** * Note that this is initialized by CheckOutModule based on payment status * @var QLabel lblMessage - used to display the message of confirmed or declined payment. */ public $lblMessage; /** * Module constructor *@param QPanel pnlParentObject - the DOM parent *@param CheckOutModule objControlBlock - parent controller module. *@param Order objOrder - the Order being reviewed. */ public function __construct( QPanel $pnlParentObject, $objControlBlock, Order $objOrder){ try { parent::__construct($pnlParentObject, 'CheckOutConfirmationModule'); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } $this->objControlBlock =& $objControlBlock; $this->objOrder =& $objOrder; $this->AutoRenderChildren = true; $this->strTemplate = __QUINTA_CORE_VIEWS__ . '/CheckOutConfirmationModule.tpl.php'; $this->lblMessage = new QLabel($this); $this->lblMessage->HtmlEntities = false; $this->init(); } protected function init(){ $this->aryCheckOutItemControllers = array(); //construct the list of items $aryOrderItems = $this->objOrder->GetNewOrderItemsArray(); foreach( $aryOrderItems as $objOrderItem) { $objItemView = new CheckOutItemController( $this, $objOrderItem, false ); $this->aryCheckOutItemControllers[] = $objItemView; } $this->objOrderTotalsController = new OrderTotalsController($this, $this->objOrder, false); $this->objShippingAddressController = new AddressController($this, $this->objOrder->ShippingAddressId, 'ShippingAddress: '); $this->objShippingAddressController->CssClass = 'ShippingAddressReview'; $this->objShippingAddressController->AutoRenderChildren = true; $this->objBillingAddressController = new AddressController($this, $this->objOrder->BillingAddressId, 'BillingAddress: '); $this->objBillingAddressController->CssClass = 'BillingAddressReview'; $this->objBillingAddressController->AutoRenderChildren = true; if($this->objControlBlock->PaymentMethod instanceof PaymentMethod){ $objPaymentMethod = $this->objControlBlock->PaymentMethod; $this->pnlPaymentMethod = new QPanel($this); $this->pnlPaymentMethod->HtmlEntities = false; $this->pnlPaymentMethod->CssClass = 'PaymentMethodReview'; $this->pnlPaymentMethod->AutoRenderChildren = true; $strText = '