* *@version 0.3 * *@package Quinta * @subpackage Classes */ class CheckOutTotalsController extends QPanel{ /** *@var CheckOutModule objControlBlock - the main control block for the check out module */ protected $objControlBlock; /** *@var float fltShippingCharge - shipping for order */ protected $fltShippingCharge; /** *@var float fltHandlingCharge - handling for order */ protected $fltHandlingCharge; /** *@var float fltTaxesCharge - taxes for order */ protected $fltTaxesCharge; /** *@var float fltTotalItemsCharge - sub total of all the items on an order */ protected $fltTotalItemsCharge; /** *@var float fltTotalCharge - grand total of all charges for order */ protected $fltTotalCharge; /** * @var QLabel lblHandlingCharge - display for handling charges .. */ public $lblHandlingCharge; /** * @var QLabel lblShippingCharge - display for shipping charges .. */ public $lblShippingCharge; /** * @var QLabel lblTaxesCharge - display for total taxes for the order */ public $lblTaxesCharge; /** * @var QLabel lblTotalItemsCharge - display for total of Item charges for the order */ public $lblTotalItemsCharge; /** * @var QLabel lblTotalCharge - display for grand total charges for the order */ public $lblTotalCharge; /** * CheckOutTotalsController constructor *@param CheckOutView objControlBlock - parent controller module. */ public function __construct( QPanel $objControlBlock){ try { parent::__construct($objControlBlock); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } $this->AutoRenderChildren = true; $this->strTemplate = __QUINTA_CORE_VIEWS__ . '/CheckOutTotalsView.tpl.php'; $this->lblShippingCharge = new QLabel($this); $this->lblHandlingCharge = new QLabel($this); $this->lblTotalItemsCharge = new QLabel($this); $this->lblTaxesCharge = new QLabel($this); $this->lblTotalCharge = new QLabel($this); } public function RefreshTotal(){ $this->TotalCharge = $this->fltShippingCharge + $this->fltHandlingCharge + $this->fltTaxesCharge + $this->fltTotalItemsCharge; } /** * This Function is called when any input is sent - on failure the * fields are redrawn with optional error messages. */ public function Validate(){ $blnToReturn = true; // validate input here return $blnToReturn; } public function __get($strName){ switch ($strName){ case 'ShippingCharge': return $this->fltShippingCharge ; case 'HandlingCharge': return $this->fltHandlingCharge ; case 'TotalCharge': return $this->fltTotalCharge ; case 'TotalCharge': return $this->fltTotalItemsCharge ; case 'TaxesCharge': return $this->fltTaxesCharge ; default: try { return parent::__get($strName); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } } } public function __set($strName, $mixValue){ switch ($strName){ case 'ShippingCharge': $this->fltShippingCharge = $mixValue; $this->lblShippingCharge->Text = money_format('%n', $mixValue); $this->RefreshTotal(); break; case 'HandlingCharge': $this->fltHandlingCharge = $mixValue; $this->lblHandlingCharge->Text = money_format('%n', $mixValue); $this->RefreshTotal(); break; case 'TaxesCharge': $this->fltTaxesCharge = $mixValue; $this->lblTaxesCharge->Text = money_format('%n', $mixValue); $this->RefreshTotal(); break; case 'TotalItemsCharge': $this->fltTotalItemsCharge = $mixValue; $this->lblTotalItemsCharge->Text = money_format('%n', $mixValue); $this->RefreshTotal(); break; case 'TotalCharge': $this->fltTotalCharge = $mixValue; $this->lblTotalCharge->Text = money_format('%n', $mixValue); break; default: try { return (parent::__set($strName, $mixValue)); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } } } }//end class }//end define ?>