|
|
- <?php
- if(!defined('QUINTACMS') ) die("No quinta.");
-
- if (!defined("CHECKOUTTOTALSCONTROLLER.CLASS.PHP")){
- define("CHECKOUTTOTALSCONTROLLER.CLASS.PHP",1);
-
- /**
- * Class CheckOutTotalsController - provides display of order totals, shipping and handling
- * charges for display during checkout
- *@author Erik Winn <sidewalksoftware@gmail.com>
- *
- *@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
- ?>
|