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:  * XmlConnect checkout controller
 29:  *
 30:  * @category    Mage
 31:  * @package     Mage_XmlConnect
 32:  * @author      Magento Core Team <core@magentocommerce.com>
 33:  */
 34: class Mage_XmlConnect_Paypal_MepController extends Mage_XmlConnect_Controller_Action
 35: {
 36:     /**
 37:      * Store MEP checkout model instance
 38:      *
 39:      * @var Mage_XmlConnect_Model_Paypal_Mep_Checkout
 40:      */
 41:     protected $_checkout = null;
 42: 
 43:     /**
 44:      * Store Quote mdoel instance
 45:      *
 46:      * @var Mage_Sales_Model_Quote
 47:      */
 48:     protected $_quote = false;
 49: 
 50:     /**
 51:      * Make sure customer is logged in
 52:      *
 53:      * @return null
 54:      */
 55:     public function preDispatch()
 56:     {
 57:         parent::preDispatch();
 58:         if (!Mage::getSingleton('customer/session')->isLoggedIn()
 59:             && !Mage::getSingleton('checkout/session')->getQuote()->isAllowedGuestCheckout()
 60:         ) {
 61:             $this->setFlag('', self::FLAG_NO_DISPATCH, true);
 62:             $this->_message(
 63:                 $this->__('Customer not logged in.'), self::MESSAGE_STATUS_ERROR, array('logged_in' => '0')
 64:             );
 65:             return;
 66:         }
 67:     }
 68: 
 69:     /**
 70:      * Start MEP Checkout
 71:      *
 72:      * @return null
 73:      */
 74:     public function indexAction()
 75:     {
 76:         try {
 77:             if (is_object(Mage::getConfig()->getNode('modules/Enterprise_GiftCardAccount'))) {
 78:                 $giftcardInfoBlock = $this->getLayout()->addBlock(
 79:                     'enterprise_giftcardaccount/checkout_onepage_payment_additional', 'giftcard_info'
 80:                 );
 81: 
 82:                 if (intval($giftcardInfoBlock->getAppliedGiftCardAmount())) {
 83:                     $this->_message(
 84:                         $this->__('Paypal MEP doesn\'t support checkout with any discount.'),
 85:                         self::MESSAGE_STATUS_ERROR
 86:                     );
 87:                     return;
 88:                 }
 89:             }
 90: 
 91:             $this->_initCheckout();
 92:             $this->_checkout->initCheckout();
 93:             $this->_message($this->__('Checkout has been initialized.'), self::MESSAGE_STATUS_SUCCESS);
 94:             return;
 95:         } catch (Mage_Core_Exception $e) {
 96:             $this->_message($e->getMessage(), self::MESSAGE_STATUS_ERROR);
 97:         } catch (Exception $e) {
 98:             $this->_message($this->__('Unable to start MEP Checkout.'), self::MESSAGE_STATUS_ERROR);
 99:             Mage::logException($e);
100:         }
101:     }
102: 
103:     /**
104:      * Save shipping address to current quote using onepage model
105:      *
106:      * @return null
107:      */
108:     public function saveShippingAddressAction()
109:     {
110:         if (!$this->getRequest()->isPost()) {
111:             $this->_message($this->__('Specified invalid data.'), self::MESSAGE_STATUS_ERROR);
112:             return;
113:         }
114: 
115:         try {
116:             $this->_initCheckout();
117:             $data = $this->getRequest()->getPost('shipping', array());
118: 
119:             array_walk_recursive($data, create_function('&$val', '$val = trim($val);'));
120: 
121:             if (!empty($data['region']) && isset($data['country_id'])) {
122:                 $region = Mage::getModel('directory/region')->loadByCode($data['region'], $data['country_id']);
123:                 if ($region && $region->getId()) {
124:                     $data['region_id'] = $region->getId();
125:                 }
126:             }
127: 
128:             $result = $this->_checkout->saveShipping($data);
129:             if (!isset($result['error'])) {
130:                 $this->_message(
131:                     $this->__('Shipping address has been set.'),
132:                     self::MESSAGE_STATUS_SUCCESS
133:                 );
134:             } else {
135:                 if (!is_array($result['message'])) {
136:                     $result['message'] = array($result['message']);
137:                 }
138:                 $this->_message(implode('. ', $result['message']), self::MESSAGE_STATUS_ERROR);
139:             }
140:         } catch (Mage_Core_Exception $e) {
141:             $this->_message($e->getMessage(), self::MESSAGE_STATUS_ERROR);
142:             Mage::logException($e);
143:         } catch (Exception $e) {
144:             $this->_message($this->__('Unable to save shipping address.'), self::MESSAGE_STATUS_ERROR);
145:             Mage::logException($e);
146:         }
147:     }
148: 
149:     /**
150:      * Get shipping methods for current quote
151:      *
152:      * @return null
153:      */
154:     public function shippingMethodsAction()
155:     {
156:         try {
157:             $this->_initCheckout();
158:             $this->loadLayout(false);
159:             $this->renderLayout();
160:         } catch (Mage_Core_Exception $e) {
161:             $this->_message($e->getMessage(), self::MESSAGE_STATUS_ERROR);
162:         } catch (Exception $e) {
163:             $this->_message($this->__('Unable to get shipping methods list.'), self::MESSAGE_STATUS_ERROR);
164:             Mage::logException($e);
165:         }
166:     }
167: 
168:     /**
169:      * Shipping method save action
170:      *
171:      * @return null
172:      */
173:     public function saveShippingMethodAction()
174:     {
175:         if (!$this->getRequest()->isPost()) {
176:             $this->_message($this->__('Specified invalid data.'), self::MESSAGE_STATUS_ERROR);
177:             return;
178:         }
179: 
180:         try {
181:             $this->_initCheckout();
182:             $data = $this->getRequest()->getPost('shipping_method', '');
183:             $this->_getQuote()->getShippingAddress()->setShippingMethod($data)->setCollectShippingRates(true)->save();
184:             $result = $this->_checkout->saveShippingMethod($data);
185: 
186:             if (!isset($result['error'])) {
187:                 /** @var $message Mage_XmlConnect_Model_Simplexml_Element */
188:                 $message = Mage::getModel('xmlconnect/simplexml_element', '<message></message>');
189:                 $message->addChild('status', self::MESSAGE_STATUS_SUCCESS);
190:                 $message->addChild('text', $this->__('Shipping method has been set.'));
191:                 if ($this->_getQuote()->isVirtual()) {
192:                     $quoteAddress = $this->_getQuote()->getBillingAddress();
193:                 } else {
194:                     $quoteAddress = $this->_getQuote()->getShippingAddress();
195:                 }
196:                 $taxAmount = Mage::helper('core')->currency($quoteAddress->getBaseTaxAmount(), false, false);
197:                 $message->addChild('tax_amount', Mage::helper('xmlconnect')->formatPriceForXml($taxAmount));
198:                 $this->_getQuote()->collectTotals()->save();
199:                 $this->getResponse()->setBody($message->asNiceXml());
200:             } else {
201:                 if (!is_array($result['message'])) {
202:                     $result['message'] = array($result['message']);
203:                 }
204:                 $this->_message(implode('. ', $result['message']), self::MESSAGE_STATUS_ERROR);
205:             }
206:         } catch (Mage_Core_Exception $e) {
207:             $this->_message($e->getMessage(), self::MESSAGE_STATUS_ERROR);
208:         } catch (Exception $e) {
209:             $this->_message($this->__('Unable to save shipping method.'), self::MESSAGE_STATUS_ERROR);
210:             Mage::logException($e);
211:         }
212:     }
213: 
214:     /**
215:      * Shopping cart totals
216:      *
217:      * @return null
218:      */
219:     public function cartTotalsAction()
220:     {
221:         try {
222:             $this->_initCheckout();
223:             $this->loadLayout(false);
224:             $this->renderLayout();
225:             return;
226:         } catch (Mage_Core_Exception $e) {
227:             $this->_message($e->getMessage(), self::MESSAGE_STATUS_ERROR);
228:         } catch (Exception $e) {
229:             $this->_message($this->__('Unable to collect cart totals.'), self::MESSAGE_STATUS_ERROR);
230:             Mage::logException($e);
231:         }
232:     }
233: 
234:     /**
235:      * Submit the order
236:      *
237:      * @return null
238:      */
239:     public function saveOrderAction()
240:     {
241:         if (!$this->getRequest()->isPost()) {
242:             $this->_message($this->__('Specified invalid data.'), self::MESSAGE_STATUS_ERROR);
243:             return;
244:         }
245: 
246:         try {
247:             /**
248:              * Init checkout
249:              */
250:             $this->_initCheckout();
251: 
252:             /**
253:              * Set payment data
254:              */
255:             $data = $this->getRequest()->getPost('payment', array());
256: 
257:             if (Mage::getSingleton('customer/session')->isLoggedIn()) {
258:                 $data['payer'] = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
259:             }
260: 
261:             $this->_checkout->savePayment($data);
262: 
263:             /**
264:              * Place order
265:              */
266:             $this->_checkout->saveOrder();
267: 
268:             /**
269:              * Format success report
270:              */
271:             /** @var $message Mage_XmlConnect_Model_Simplexml_Element */
272:             $message = Mage::getModel('xmlconnect/simplexml_element', '<message></message>');
273:             $message->addChild('status', self::MESSAGE_STATUS_SUCCESS);
274: 
275:             $orderId = $this->_checkout->getLastOrderId();
276: 
277:             $text = $this->__('Thank you for your purchase! ');
278:             $text .= $this->__('Your order # is: %s. ', $orderId);
279:             $text .= $this->__('You will receive an order confirmation email with details of your order and a link to track its progress.');
280:             $message->addChild('text', $text);
281: 
282:             $message->addChild('order_id', $orderId);
283:             $this->getResponse()->setBody($message->asNiceXml());
284:             return;
285:         } catch (Mage_Core_Exception $e) {
286:             $this->_message($e->getMessage(), self::MESSAGE_STATUS_ERROR);
287:         } catch (Exception $e) {
288:             $this->_message($this->__('Unable to place the order.'), self::MESSAGE_STATUS_ERROR);
289:             Mage::logException($e);
290:         }
291:     }
292: 
293:     /**
294:      * Instantiate quote and checkout
295:      *
296:      * @throws Mage_Core_Exception
297:      * @return null
298:      */
299:     protected function _initCheckout()
300:     {
301: 
302:         $quote = $this->_getQuote();
303:         if (!$quote->hasItems() || $quote->getHasError()) {
304:             Mage::throwException($this->__('Unable to initialize MEP Checkout.'));
305:         }
306:         if (!$quote->validateMinimumAmount()) {
307:             $error = Mage::getStoreConfig('sales/minimum_order/error_message');
308:             Mage::throwException($error);
309:         }
310:         $this->_getCheckoutSession()->setCartWasUpdated(false);
311: 
312:         $this->_checkout = Mage::getSingleton('xmlconnect/paypal_mep_checkout', array('quote'  => $quote));
313:     }
314: 
315:     /**
316:      * Return checkout session object
317:      *
318:      * @return Mage_Checkout_Model_Session
319:      */
320:     protected function _getCheckoutSession()
321:     {
322:         return Mage::getSingleton('checkout/session');
323:     }
324: 
325:     /**
326:      * Return checkout quote object
327:      *
328:      * @return Mage_Sale_Model_Quote
329:      */
330:     protected function _getQuote()
331:     {
332:         if (!$this->_quote) {
333:             $this->_quote = $this->_getCheckoutSession()->getQuote();
334:         }
335:         return $this->_quote;
336:     }
337: }
338: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0