Overview

Packages

  • currencysymbol
  • MAbout
  • Mage
    • Admin
    • Adminhtml
    • AdminNotification
    • Api
    • Api2
    • Authorizenet
    • Backup
    • Bundle
    • Captcha
    • Catalog
    • CatalogIndex
    • CatalogInventory
    • CatalogRule
    • CatalogSearch
    • Centinel
    • Checkout
    • Cms
    • Compiler
    • Connect
    • Contacts
    • Core
    • Cron
    • CurrencySymbol
    • Customer
    • Dataflow
    • Directory
    • DirtectPost
    • Downloadable
    • Eav
    • GiftMessage
    • GoogleAnalytics
    • GoogleBase
    • GoogleCheckout
    • ImportExport
    • Index
    • Install
    • Log
    • Media
    • Newsletter
    • Oauth
    • Page
    • PageCache
    • Paygate
    • Payment
    • Paypal
    • PaypalUk
    • Persistent
    • Poll
    • ProductAlert
    • Rating
    • Reports
    • Review
    • Rss
    • Rule
    • Sales
    • SalesRule
    • Sedfriend
    • Sendfriend
    • Shipping
    • Sitemap
    • Tag
    • Tax
    • Usa
    • Weee
    • Widget
    • Wishlist
    • XmlConnect
  • None
  • Phoenix
    • Moneybookers
  • PHP
  • Zend
    • Date
    • Mime
    • XmlRpc

Classes

  • Mage_XmlConnect_Adminhtml_MobileController
  • Mage_XmlConnect_Block_Adminhtml_History
  • Mage_XmlConnect_Block_Adminhtml_History_Grid
  • Mage_XmlConnect_Block_Adminhtml_Mobile
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Form
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Submission
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Cache
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Content
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Design
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Design_Accordion
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Design_Accordion_Images
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Design_Accordion_Tabs
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Design_Accordion_Themes
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Design_Preview
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Design_Themes
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Flurryanalytics
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_General
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Notification
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Payment
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Settings
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Social
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tab_Submission_History
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Edit_Tabs
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Form_Element_Addrow
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Form_Element_Color
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Form_Element_Country
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Form_Element_Datetime
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Form_Element_Font
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Form_Element_Image
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Form_Element_Page
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Form_Element_Tabs
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Form_Element_Theme
  • Mage_Xmlconnect_Block_Adminhtml_Mobile_Grid
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Grid_Renderer_Bool
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Grid_Renderer_Type
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Preview_Content
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Preview_Tabitems
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Submission
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Submission_Form
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Submission_Renderer_Country_Androidmarket
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Submission_Renderer_Country_Istore
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Submission_Tab_Container
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Submission_Tab_Container_Submission
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Submission_Tabs
  • Mage_XmlConnect_Block_Adminhtml_Mobile_Widget_Form
  • Mage_XmlConnect_Block_Adminhtml_Queue
  • Mage_XmlConnect_Block_Adminhtml_Queue_Edit
  • Mage_XmlConnect_Block_Adminhtml_Queue_Edit_Form
  • Mage_XmlConnect_Block_Adminhtml_Queue_Grid
  • Mage_XmlConnect_Block_Adminhtml_Queue_Grid_Renderer_Action
  • Mage_XmlConnect_Block_Adminhtml_Queue_Grid_Renderer_Application
  • Mage_XmlConnect_Block_Adminhtml_Queue_Grid_Renderer_Id
  • Mage_XmlConnect_Block_Adminhtml_Queue_Grid_Renderer_Msgtitle
  • Mage_XmlConnect_Block_Adminhtml_Queue_Grid_Renderer_Pushtitle
  • Mage_XmlConnect_Block_Adminhtml_Queue_Grid_Renderer_Status
  • Mage_XmlConnect_Block_Adminhtml_Queue_Grid_Renderer_Template
  • Mage_XmlConnect_Block_Adminhtml_Template
  • Mage_XmlConnect_Block_Adminhtml_Template_Edit
  • Mage_XmlConnect_Block_Adminhtml_Template_Edit_Form
  • Mage_XmlConnect_Block_Adminhtml_Template_Grid
  • Mage_XmlConnect_Block_Adminhtml_Template_Grid_Renderer_Application
  • Mage_XmlConnect_Block_Adminhtml_Template_Grid_Renderer_Name
  • Mage_XmlConnect_Block_Adminhtml_Template_Preview
  • Mage_XmlConnect_Block_Adminhtml_Template_Preview_Form
  • Mage_XmlConnect_Block_Cart
  • Mage_XmlConnect_Block_Cart_Crosssell
  • Mage_XmlConnect_Block_Cart_Info
  • Mage_XmlConnect_Block_Cart_Item_Renderer
  • Mage_XmlConnect_Block_Cart_Item_Renderer_Configurable
  • Mage_XmlConnect_Block_Cart_Item_Renderer_Grouped
  • Mage_XmlConnect_Block_Cart_Paypal_Mecl_Details
  • Mage_XmlConnect_Block_Cart_Paypal_Mecl_Review
  • Mage_XmlConnect_Block_Cart_Paypal_Mecl_Shippingmethods
  • Mage_XmlConnect_Block_Cart_Paypal_Mep_Totals
  • Mage_XmlConnect_Block_Cart_Totals
  • Mage_XmlConnect_Block_Catalog
  • Mage_XmlConnect_Block_Catalog_Category
  • Mage_XmlConnect_Block_Catalog_Category_Info
  • Mage_XmlConnect_Block_Catalog_Filters
  • Mage_XmlConnect_Block_Catalog_Product
  • Mage_XmlConnect_Block_Catalog_Product_Attributes
  • Mage_XmlConnect_Block_Catalog_Product_Gallery
  • Mage_XmlConnect_Block_Catalog_Product_List
  • Mage_XmlConnect_Block_Catalog_Product_Options
  • Mage_XmlConnect_Block_Catalog_Product_Options_Bundle
  • Mage_XmlConnect_Block_Catalog_Product_Options_Configurable
  • Mage_XmlConnect_Block_Catalog_Product_Options_Giftcard
  • Mage_XmlConnect_Block_Catalog_Product_Options_Grouped
  • Mage_XmlConnect_Block_Catalog_Product_Options_Simple
  • Mage_XmlConnect_Block_Catalog_Product_Options_Virtual
  • Mage_XmlConnect_Block_Catalog_Product_Price
  • Mage_XmlConnect_Block_Catalog_Product_Price_Bundle
  • Mage_XmlConnect_Block_Catalog_Product_Price_Default
  • Mage_XmlConnect_Block_Catalog_Product_Price_Giftcard
  • Mage_XmlConnect_Block_Catalog_Product_Related
  • Mage_XmlConnect_Block_Catalog_Product_Review
  • Mage_XmlConnect_Block_Catalog_Product_Review_List
  • Mage_XmlConnect_Block_Catalog_Search
  • Mage_XmlConnect_Block_Catalog_Search_Suggest
  • Mage_XmlConnect_Block_Checkout_Address_Billing
  • Mage_XmlConnect_Block_Checkout_Address_Form
  • Mage_XmlConnect_Block_Checkout_Address_Shipping
  • Mage_XmlConnect_Block_Checkout_Agreements
  • Mage_XmlConnect_Block_Checkout_Order_Review
  • Mage_XmlConnect_Block_Checkout_Order_Review_Info
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Authorizenet
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Ccsave
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Checkmo
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Info_Authorizenet
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Info_Ccsave
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Info_Checkmo
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Info_Free
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Info_Paypal_Abstract
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Info_Paypal_Express
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Info_Paypal_Mecl
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Info_Pbridge_Authorizenet
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Info_Pbridge_Paypal_Direct
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Info_Pbridge_Paypaluk_Direct
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Info_Pbridge_Verisign
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Info_Purchaseorder
  • Mage_XmlConnect_Block_Checkout_Payment_Method_List
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Paypal_Direct
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Paypal_Payflow
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Pbridge_Abstract
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Pbridge_Authorizenet
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Pbridge_Paypal
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Pbridge_Paypaluk
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Pbridge_Verisign
  • Mage_XmlConnect_Block_Checkout_Payment_Method_Purchaseorder
  • Mage_XmlConnect_Block_Checkout_Pbridge_Result
  • Mage_XmlConnect_Block_Checkout_Shipping_Method_Available
  • Mage_XmlConnect_Block_Cms_Page
  • Mage_XmlConnect_Block_Configuration
  • Mage_XmlConnect_Block_Customer_Address_Form
  • Mage_XmlConnect_Block_Customer_Address_List
  • Mage_XmlConnect_Block_Customer_Form
  • Mage_XmlConnect_Block_Customer_Form_Renderer_Boolean
  • Mage_XmlConnect_Block_Customer_Form_Renderer_Date
  • Mage_XmlConnect_Block_Customer_Form_Renderer_File
  • Mage_XmlConnect_Block_Customer_Form_Renderer_Image
  • Mage_XmlConnect_Block_Customer_Form_Renderer_Multiline
  • Mage_XmlConnect_Block_Customer_Form_Renderer_Multiselect
  • Mage_XmlConnect_Block_Customer_Form_Renderer_Select
  • Mage_XmlConnect_Block_Customer_Form_Renderer_Text
  • Mage_XmlConnect_Block_Customer_Form_Renderer_Textarea
  • Mage_XmlConnect_Block_Customer_GiftcardCheck
  • Mage_XmlConnect_Block_Customer_Order_Details
  • Mage_XmlConnect_Block_Customer_Order_Item_Renderer_Bundle
  • Mage_XmlConnect_Block_Customer_Order_Item_Renderer_Default
  • Mage_XmlConnect_Block_Customer_Order_Item_Renderer_Downloadable
  • Mage_XmlConnect_Block_Customer_Order_Item_Renderer_Giftcard
  • Mage_XmlConnect_Block_Customer_Order_Item_Renderer_Grouped
  • Mage_XmlConnect_Block_Customer_Order_Items
  • Mage_XmlConnect_Block_Customer_Order_List
  • Mage_XmlConnect_Block_Customer_Order_Totals
  • Mage_XmlConnect_Block_Customer_Order_Totals_Customerbalance
  • Mage_XmlConnect_Block_Customer_Order_Totals_Customerbalance_Refunded
  • Mage_XmlConnect_Block_Customer_Order_Totals_Giftcards
  • Mage_XmlConnect_Block_Customer_Order_Totals_Tax
  • Mage_XmlConnect_Block_Customer_Storecredit
  • Mage_XmlConnect_Block_Home
  • Mage_XmlConnect_Block_Review_Form
  • Mage_XmlConnect_Block_Wishlist
  • Mage_XmlConnect_CartController
  • Mage_XmlConnect_CatalogController
  • Mage_XmlConnect_CheckoutController
  • Mage_XmlConnect_CmsController
  • Mage_XmlConnect_ConfigurationController
  • Mage_XmlConnect_Controller_Action
  • Mage_XmlConnect_CustomerController
  • Mage_XmlConnect_Helper_Android
  • Mage_XmlConnect_Helper_Catalog_Category_Image
  • Mage_XmlConnect_Helper_Customer_Form_Renderer
  • Mage_XmlConnect_Helper_Customer_Order
  • Mage_XmlConnect_Helper_Data
  • Mage_XmlConnect_Helper_Image
  • Mage_XmlConnect_Helper_Ipad
  • Mage_XmlConnect_Helper_Iphone
  • Mage_XmlConnect_Helper_Theme
  • Mage_XmlConnect_IndexController
  • Mage_XmlConnect_Model_Adminhtml_System_Config_Backend_Baseurl
  • Mage_XmlConnect_Model_Adminhtml_System_Config_Backend_Currency_Default
  • Mage_XmlConnect_Model_Application
  • Mage_XmlConnect_Model_Catalog_Category_Image
  • Mage_XmlConnect_Model_ConfigData
  • Mage_XmlConnect_Model_History
  • Mage_XmlConnect_Model_Mysql4_Application
  • Mage_XmlConnect_Model_Mysql4_Application_Collection
  • Mage_XmlConnect_Model_Mysql4_Cms_Page_Collection
  • Mage_XmlConnect_Model_Mysql4_ConfigData
  • Mage_XmlConnect_Model_Mysql4_ConfigData_Collection
  • Mage_XmlConnect_Model_Mysql4_Filter_Collection
  • Mage_XmlConnect_Model_Mysql4_History
  • Mage_XmlConnect_Model_Mysql4_History_Collection
  • Mage_XmlConnect_Model_Mysql4_Queue
  • Mage_XmlConnect_Model_Mysql4_Queue_Collection
  • Mage_XmlConnect_Model_Mysql4_Setup
  • Mage_XmlConnect_Model_Mysql4_Template
  • Mage_XmlConnect_Model_Mysql4_Template_Collection
  • Mage_XmlConnect_Model_Observer
  • Mage_XmlConnect_Model_Payment_Method_Paypal_Config
  • Mage_XmlConnect_Model_Payment_Method_Paypal_Mecl
  • Mage_XmlConnect_Model_Payment_Method_Paypal_Mep
  • Mage_XmlConnect_Model_Paypal_Mecl_Checkout
  • Mage_XmlConnect_Model_Paypal_Mep_Checkout
  • Mage_XmlConnect_Model_Preview_Abstract
  • Mage_XmlConnect_Model_Preview_Android
  • Mage_XmlConnect_Model_Preview_Ipad
  • Mage_XmlConnect_Model_Preview_Iphone
  • Mage_XmlConnect_Model_Queue
  • Mage_XmlConnect_Model_Resource_Application
  • Mage_XmlConnect_Model_Resource_Application_Collection
  • Mage_XmlConnect_Model_Resource_Cms_Page_Collection
  • Mage_XmlConnect_Model_Resource_ConfigData
  • Mage_XmlConnect_Model_Resource_ConfigData_Collection
  • Mage_XmlConnect_Model_Resource_Filter_Collection
  • Mage_XmlConnect_Model_Resource_History
  • Mage_XmlConnect_Model_Resource_History_Collection
  • Mage_XmlConnect_Model_Resource_Queue
  • Mage_XmlConnect_Model_Resource_Queue_Collection
  • Mage_XmlConnect_Model_Resource_Setup
  • Mage_XmlConnect_Model_Resource_Template
  • Mage_XmlConnect_Model_Resource_Template_Collection
  • Mage_XmlConnect_Model_Simplexml_Element
  • Mage_XmlConnect_Model_Simplexml_Form
  • Mage_XmlConnect_Model_Simplexml_Form_Abstract
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Abstract
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Checkbox
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Collection
  • Mage_XmlConnect_Model_Simplexml_Form_Element_CountryListSelect
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Date
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Email
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset
  • Mage_XmlConnect_Model_Simplexml_Form_Element_File
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Image
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Multiline
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Multiselect
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Select
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Text
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Textarea
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Validator
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Validator_Abstract
  • Mage_XmlConnect_Model_Simplexml_Form_Element_Validator_Rule
  • Mage_XmlConnect_Model_Tabs
  • Mage_XmlConnect_Model_Template
  • Mage_XmlConnect_Model_Theme
  • Mage_XmlConnect_Paypal_MeclController
  • Mage_XmlConnect_Paypal_MepController
  • Mage_XmlConnect_PbridgeController
  • Mage_XmlConnect_ReviewController
  • Mage_XmlConnect_WishlistController

Interfaces

  • Mage_XmlConnect_Model_Simplexml_Form_Element_Renderer_Interface
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * Magento
  4:  *
  5:  * NOTICE OF LICENSE
  6:  *
  7:  * This source file is subject to the Open Software License (OSL 3.0)
  8:  * that is bundled with this package in the file LICENSE.txt.
  9:  * It is also available through the world-wide-web at this URL:
 10:  * http://opensource.org/licenses/osl-3.0.php
 11:  * If you did not receive a copy of the license and are unable to
 12:  * obtain it through the world-wide-web, please send an email
 13:  * to license@magentocommerce.com so we can send you a copy immediately.
 14:  *
 15:  * DISCLAIMER
 16:  *
 17:  * Do not edit or add to this file if you wish to upgrade Magento to newer
 18:  * versions in the future. If you wish to customize Magento for your
 19:  * needs please refer to http://www.magentocommerce.com for more information.
 20:  *
 21:  * @category    Mage
 22:  * @package     Mage_XmlConnect
 23:  * @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
 24:  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 25:  */
 26: 
 27: /**
 28:  * One page checkout payment methods xml renderer
 29:  *
 30:  * @category    Mage
 31:  * @package     Mage_XmlConnect
 32:  * @author      Magento Core Team <core@magentocommerce.com>
 33:  */
 34: class Mage_XmlConnect_Block_Checkout_Payment_Method_List extends Mage_Payment_Block_Form_Container
 35: {
 36:     /**
 37:      * Pre-defined array of methods that we are going to render
 38:      *
 39:      * @var array
 40:      */
 41:     protected $_methodArray = array(
 42:         'payment_ccsave'            => 'Mage_Payment_Model_Method_Cc',
 43:         'payment_checkmo'           => 'Mage_Payment_Model_Method_Checkmo',
 44:         'payment_purchaseorder'     => 'Mage_Payment_Model_Method_Purchaseorder',
 45:     );
 46: 
 47:     /**
 48:      * Payment bridge methods array
 49:      *
 50:      * Core block renderer by method code
 51:      * - 'pbridge_authorizenet'  => 'Enterprise_Pbridge_Model_Payment_Method_Authorizenet',
 52:      * - 'pbridge_paypal'        => 'Enterprise_Pbridge_Model_Payment_Method_Paypal',
 53:      * - 'pbridge_verisign'      => 'Enterprise_Pbridge_Model_Payment_Method_Payflow_Pro',
 54:      * - 'pbridge_paypaluk'      => 'Enterprise_Pbridge_Model_Payment_Method_Paypaluk',
 55:      *
 56:      * @var array
 57:      */
 58:     protected $_pbridgeMethodArray = array(
 59:         'pbridge_authorizenet', 'pbridge_paypal', 'pbridge_verisign', 'pbridge_paypaluk'
 60:     );
 61: 
 62:     /**
 63:      * Prevent parent set children
 64:      *
 65:      * @return Mage_XmlConnect_Block_Checkout_Payment_Method_List
 66:      */
 67:     protected function _prepareLayout()
 68:     {
 69:         return $this;
 70:     }
 71: 
 72:     /**
 73:      * Retrieve quote model object
 74:      *
 75:      * @return Mage_Sales_Model_Quote
 76:      */
 77:     public function getQuote()
 78:     {
 79:         return Mage::getSingleton('checkout/session')->getQuote();
 80:     }
 81: 
 82:     /**
 83:      * Add customer balance details to XML object
 84:      *
 85:      * @param Mage_XmlConnect_Model_Simplexml_Element $methodsXmlObj
 86:      */
 87:     public function addCustomerBalanceToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $methodsXmlObj)
 88:     {
 89:         /** @var $customerBalanceBlock Enterprise_CustomerBalance_Block_Checkout_Onepage_Payment_Additional */
 90:         $customerBalanceBlock = $this->getLayout()
 91:             ->addBlock('enterprise_customerbalance/checkout_onepage_payment_additional', 'customer_balance');
 92:         $storeCreditFlag = (int) Mage::getStoreConfig(Enterprise_CustomerBalance_Helper_Data::XML_PATH_ENABLED);
 93:         if ($storeCreditFlag && $customerBalanceBlock->isDisplayContainer()) {
 94:             $balance = $this->getQuote()->getStore()->formatPrice($customerBalanceBlock->getBalance(), false);
 95:             $methodsXmlObj->addCustomChild('customer_balance', null, array(
 96:                 'post_name' => 'payment[use_customer_balance]',
 97:                 'code'      => 1,
 98:                 'label'     => $this->__('Use Store Credit (%s available)', $balance),
 99:                 'is_cover_a_quote' => intval($customerBalanceBlock->isFullyPaidAfterApplication()),
100:                 'selected'  => intval($customerBalanceBlock->isCustomerBalanceUsed())
101:             ));
102:         }
103:     }
104: 
105:     /**
106:      * Add gift card details to XML object
107:      *
108:      * @param Mage_XmlConnect_Model_Simplexml_Element $methodsXmlObj
109:      */
110:     public function addGiftcardToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $methodsXmlObj)
111:     {
112:         $giftcardInfoBlock = $this->getLayout()->addBlock(
113:             'enterprise_giftcardaccount/checkout_onepage_payment_additional', 'giftcard_info'
114:         );
115: 
116:         if (intval($giftcardInfoBlock->getAppliedGiftCardAmount())) {
117:             $amount = $this->getQuote()->getStore()->formatPrice($giftcardInfoBlock->getAppliedGiftCardAmount(), false);
118:             $amount = $this->__('Gift Card amount applied to order: %s', $amount);
119: 
120:             $methodsXmlObj->addCustomChild('information', null, array('label' => $amount, 'disabled' => '1'));
121: 
122:             if ($this->_isPaymentRequired()) {
123:                 $methodsXmlObj->addCustomChild('method', null, array(
124:                     'post_name' => 'payment[method]',
125:                     'code' => 'free',
126:                     'label' => $this->__('No Payment Information Required'),
127:                     'selected' => '1',
128:                     'disabled' => '1'
129:                 ));
130:             }
131:             $this->setIsUsedGiftCard(true);
132:         }
133:     }
134: 
135:     /**
136:      * Check is payment required for a quote
137:      *
138:      * @return bool
139:      */
140:     protected function _isPaymentRequired()
141:     {
142:         $this->getQuote()->collectTotals();
143:         return !intval($this->getQuote()->getGrandTotal()) && !$this->getQuote()->hasNominalItems();
144:     }
145: 
146:     /**
147:      * Get payment methods array as code => renderer and set payment blocks to layout
148:      *
149:      * @return array
150:      */
151:     protected function _getPaymentMethodArray()
152:     {
153:         $methodArray = $this->_methodArray;
154: 
155:         /**
156:          * Check is available Payment Bridge and add methods for rendering
157:          */
158:         if (is_object(Mage::getConfig()->getNode('modules/Enterprise_Pbridge'))) {
159: 
160:             $pbBlockRenderer = 'xmlconnect/checkout_payment_method_';
161:             $pbBlockName = 'xmlconnect.checkout.payment.method.';
162: 
163:             foreach ($this->_pbridgeMethodArray as $block) {
164:                 $currentBlockRenderer = $pbBlockRenderer . $block;
165:                 $currentBlockName = $pbBlockName . $block;
166:                 $this->getLayout()->addBlock($currentBlockRenderer, $currentBlockName);
167:                 $this->setChild($block, $currentBlockName);
168:             }
169:             $methodArray = $methodArray + $this->_pbridgeMethodArray;
170:         }
171:         return $methodArray;
172:     }
173: 
174:     /**
175:      * Render payment methods xml
176:      *
177:      * @return string
178:      * @throw Mage_Core_Exception
179:      */
180:     protected function _toHtml()
181:     {
182:         /** @var $methodsXmlObj Mage_XmlConnect_Model_Simplexml_Element */
183:         $methodsXmlObj = Mage::getModel('xmlconnect/simplexml_element', '<payment_methods></payment_methods>');
184: 
185:         if (is_object(Mage::getConfig()->getNode('modules/Enterprise_GiftCardAccount'))) {
186:             $this->addGiftcardToXmlObj($methodsXmlObj);
187:             if ($this->getIsUsedGiftCard() && $this->_isPaymentRequired()) {
188:                 return $methodsXmlObj->asNiceXml();
189:             }
190:         }
191: 
192:         if (is_object(Mage::getConfig()->getNode('modules/Enterprise_CustomerBalance'))) {
193:             $this->addCustomerBalanceToXmlObj($methodsXmlObj);
194:         }
195: 
196:         $methodArray = $this->_getPaymentMethodArray();
197:         $usedMethods = $sortedAvailableMethodCodes = $usedCodes = array();
198: 
199:         /**
200:          * Receive available methods for checkout
201:          */
202:         $allAvailableMethods  = Mage::helper('payment')->getStoreMethods(
203:             Mage::app()->getStore(), $this->getQuote()
204:         );
205: 
206:         /**
207:          * Get sorted codes of available methods
208:          */
209:         foreach ($allAvailableMethods as $method) {
210:             $sortedAvailableMethodCodes[] = $method->getCode();
211:         }
212: 
213:         /**
214:          * Get blocks for layout to check available renderers
215:          */
216:         $methodBlocks = $this->getChild();
217: 
218:         /**
219:          * Collect directly supported by xmlconnect methods
220:          */
221:         if (!empty($methodBlocks) && is_array($methodBlocks)) {
222:             foreach ($methodBlocks as $block) {
223:                 if (!$block) {
224:                     continue;
225:                 }
226: 
227:                 $method = $block->getMethod();
228:                 if (!$this->_canUseMethod($method) || in_array($method->getCode(), $usedCodes)) {
229:                     continue;
230:                 }
231:                 $this->_assignMethod($method);
232:                 $usedCodes[] = $method->getCode();
233:                 $usedMethods[$method->getCode()] = array('renderer' => $block, 'method' => $method);
234:             }
235:         }
236: 
237:         /**
238:          * Collect all "Credit Card" / "CheckMo" / "Purchaseorder" method compatible methods
239:          */
240:         foreach ($methodArray as $methodName => $methodModelClassName) {
241:             $methodRenderer = $this->getChild($methodName);
242:             if (!empty($methodRenderer)) {
243:                 foreach ($sortedAvailableMethodCodes as $methodCode) {
244:                     /**
245:                      * Skip used methods
246:                      */
247:                     if (in_array($methodCode, $usedCodes)) {
248:                         continue;
249:                     }
250:                     try {
251:                         $method = Mage::helper('payment')->getMethodInstance($methodCode);
252:                         if (!is_subclass_of($method, $methodModelClassName)) {
253:                             continue;
254:                         }
255:                         if (!$this->_canUseMethod($method)) {
256:                             continue;
257:                         }
258: 
259:                         $this->_assignMethod($method);
260:                         $usedCodes[] = $method->getCode();
261:                         $usedMethods[$method->getCode()] = array('renderer' => $methodRenderer, 'method' => $method);
262:                     } catch (Exception $e) {
263:                         Mage::logException($e);
264:                     }
265:                 }
266:             }
267:         }
268: 
269:         /**
270:          * Generate methods XML according to sort order
271:          */
272:         foreach ($sortedAvailableMethodCodes as $code) {
273:             if (!in_array($code, $usedCodes)) {
274:                 continue;
275:             }
276:             $method   = $usedMethods[$code]['method'];
277:             $renderer = $usedMethods[$code]['renderer'];
278:             /**
279:              * Render all Credit Card method compatible methods
280:              */
281:             if ($renderer instanceOf Mage_XmlConnect_Block_Checkout_Payment_Method_Ccsave) {
282:                 $renderer->setData('method', $method);
283:             }
284: 
285:             $methodItemXmlObj = $methodsXmlObj->addChild('method');
286:             $methodItemXmlObj->addAttribute('post_name', 'payment[method]');
287:             $methodItemXmlObj->addAttribute('code', $method->getCode());
288:             $methodItemXmlObj->addAttribute('label', $methodsXmlObj->escapeXml($method->getTitle()));
289:             if ($this->getQuote()->getPayment()->getMethod() == $method->getCode()) {
290:                 $methodItemXmlObj->addAttribute('selected', 1);
291:             }
292:             $renderer->addPaymentFormToXmlObj($methodItemXmlObj);
293:         }
294:         if (!count($usedMethods)) {
295:             Mage::throwException($this->__('Sorry, no payment options are available for this order at this time.'));
296:         }
297:         return $methodsXmlObj->asNiceXml();
298:     }
299: 
300:     /**
301:      * Check and prepare payment method model
302:      *
303:      * @param mixed $method
304:      * @return bool
305:      */
306:     protected function _canUseMethod($method)
307:     {
308:         if (!($method instanceof Mage_Payment_Model_Method_Abstract)
309:             || !$method->canUseCheckout()
310:             || !$method->isAvailable($this->getQuote())
311:         ) {
312:             return false;
313:         }
314:         return parent::_canUseMethod($method);
315:     }
316: 
317:     /**
318:      * Deprecated function adding Payment method to the xml
319:      *
320:      * @deprecated after 1.4.2.0
321:      * @param Mage_Core_Block_Template $block
322:      * @param Mage_XmlConnect_Model_Simplexml_Element $methodsXmlObj
323:      * @param array $usedCodes
324:      * @return bool
325:      */
326:     protected function _addToXml($block, $methodsXmlObj, $usedCodes)
327:     {
328:         return false;
329:     }
330: 
331:     /**
332:      * Deprecated function check method status
333:      *
334:      * @deprecated after 1.4.2.0
335:      * @param Mage_Payment_Model_Method_Abstract $method
336:      * @return bool
337:      */
338:     public function isAvailable($method)
339:     {
340:         return $method->isAvailable($this->getQuote());
341:     }
342: }
343: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0