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 wishlist controller
 29:  *
 30:  * @category    Mage
 31:  * @package     Mage_XmlConnect
 32:  * @author      Magento Core Team <core@magentocommerce.com>
 33:  */
 34: class Mage_XmlConnect_WishlistController extends Mage_XmlConnect_Controller_Action
 35: {
 36:     /**
 37:      * Check if customer is logged in
 38:      *
 39:      * @return null
 40:      */
 41:     public function preDispatch()
 42:     {
 43:         parent::preDispatch();
 44:         if (!$this->_getCustomerSession()->isLoggedIn()) {
 45:             $this->setFlag('', self::FLAG_NO_DISPATCH, true);
 46:             $this->_message(
 47:                 $this->__('Customer not logged in.'), self::MESSAGE_STATUS_ERROR, array('logged_in' => '0')
 48:             );
 49:             return ;
 50:         }
 51:     }
 52: 
 53:     /**
 54:      * Get customer session model
 55:      *
 56:      * @return Mage_Customer_Model_Session
 57:      */
 58:     protected function _getCustomerSession()
 59:     {
 60:         return Mage::getSingleton('customer/session');
 61:     }
 62: 
 63:     /**
 64:      * Retrieve wishlist object
 65:      *
 66:      * @return Mage_Wishlist_Model_Wishlist|false
 67:      */
 68:     protected function _getWishlist()
 69:     {
 70:         try {
 71:             $wishlist = Mage::getModel('wishlist/wishlist')
 72:                 ->loadByCustomer($this->_getCustomerSession()->getCustomer(), true);
 73:             Mage::register('wishlist', $wishlist);
 74:         } catch (Mage_Core_Exception $e) {
 75:             $this->_message($e->getMessage(), self::MESSAGE_STATUS_ERROR);
 76:             return false;
 77:         } catch (Exception $e) {
 78:             $this->_message($this->__('Can\'t create wishlist.'), self::MESSAGE_STATUS_ERROR);
 79:             return false;
 80:         }
 81:         return $wishlist;
 82:     }
 83: 
 84:     /**
 85:      * Display customer wishlist
 86:      *
 87:      * @return null
 88:      */
 89:     public function indexAction()
 90:     {
 91:         $this->_getWishlist();
 92:         try {
 93:             $this->loadLayout(false);
 94:             $this->renderLayout();
 95:         } catch (Mage_Core_Exception $e) {
 96:             $this->_message($e->getMessage(), self::MESSAGE_STATUS_ERROR);
 97:         } catch (Exception $e) {
 98:             Mage::logException($e);
 99:             $this->_message(
100:                 $this->__('An error occurred while loading wishlist.'),
101:                 self::MESSAGE_STATUS_ERROR
102:             );
103:         }
104:     }
105: 
106:     /**
107:      * Adding new item
108:      *
109:      * @return null
110:      */
111:     public function addAction()
112:     {
113:         $wishlist = $this->_getWishlist();
114:         if (!$wishlist) {
115:             return;
116:         }
117: 
118:         $request = $this->getRequest();
119:         $productId = (int)$request->getParam('product');
120:         if (!$productId) {
121:             $this->_message($this->__('Product was not specified.'), self::MESSAGE_STATUS_ERROR);
122:             return;
123:         }
124: 
125:         $product = Mage::getModel('catalog/product')->load($productId);
126:         if (!$product->getId() || !$product->isVisibleInCatalog()) {
127:             $this->_message($this->__('Can\'t specify product.'), self::MESSAGE_STATUS_ERROR);
128:             return;
129:         }
130: 
131:         try {
132:             $buyRequest = new Varien_Object($this->getRequest()->getParams());
133:             $result = $wishlist->addNewItem($product, $buyRequest);
134:             if (strlen(trim((string)$request->getParam('description')))) {
135:                 $result->setDescription($request->getParam('description'))->save();
136:             }
137:             $wishlist->save();
138: 
139:             Mage::dispatchEvent('wishlist_add_product', array(
140:                 'wishlist'  => $wishlist,
141:                 'product'   => $product,
142:                 'item'      => $result
143:             ));
144: 
145:             Mage::helper('wishlist')->calculate();
146: 
147:             $this->_message(
148:                 $this->__('%1$s has been added to your wishlist.', $product->getName()),
149:                 self::MESSAGE_STATUS_SUCCESS
150:             );
151:         } catch (Mage_Core_Exception $e) {
152:             $this->_message($e->getMessage(), self::MESSAGE_STATUS_ERROR);
153:         } catch (Exception $e) {
154:             Mage::logException($e);
155:             $this->_message(
156:                 $this->__('An error occurred while adding item to wishlist.'), self::MESSAGE_STATUS_ERROR
157:             );
158:         }
159:     }
160: 
161:     /**
162:      * Remove item
163:      *
164:      * @return null
165:      */
166:     public function removeAction()
167:     {
168:         $wishlist = $this->_getWishlist();
169:         $id = (int) $this->getRequest()->getParam('item');
170:         $item = Mage::getModel('wishlist/item')->load($id);
171: 
172:         if ($item->getWishlistId() == $wishlist->getId()) {
173:             try {
174:                 $item->delete();
175:                 $wishlist->save();
176:                 $this->_message($this->__('Item has been removed from wishlist.'), self::MESSAGE_STATUS_SUCCESS);
177:             } catch (Mage_Core_Exception $e) {
178:                 $this->_message($e->getMessage(), self::MESSAGE_STATUS_ERROR);
179:             } catch(Exception $e) {
180:                 $this->_message($this->__('An error occurred while removing item from wishlist.'), self::MESSAGE_STATUS_ERROR);
181:             }
182:         } else {
183:             $this->_message($this->__('Specified item does not exist in wishlist.'), self::MESSAGE_STATUS_ERROR);
184:         }
185: 
186:         Mage::helper('wishlist')->calculate();
187:     }
188: 
189:     /**
190:      * Clear wishlist action
191:      *
192:      * @return null
193:      */
194:     public function clearAction()
195:     {
196:         $wishlist = $this->_getWishlist();
197:         $items = $wishlist->getItemCollection();
198: 
199:         try {
200:             foreach ($items as $item) {
201:                 $item->delete();
202:             }
203:             $wishlist->save();
204:             $this->_message($this->__('Wishlist has been cleared.'), self::MESSAGE_STATUS_SUCCESS);
205:         } catch (Mage_Core_Exception $e) {
206:             $this->_message($e->getMessage(), self::MESSAGE_STATUS_ERROR);
207:         } catch(Exception $e) {
208:             $this->_message(
209:                 $this->__('An error occurred while removing items from wishlist.'), self::MESSAGE_STATUS_ERROR
210:             );
211:         }
212: 
213:         Mage::helper('wishlist')->calculate();
214:     }
215: 
216:     /**
217:      * Update wishlist item comments
218:      *
219:      * @return null
220:      */
221:     public function updateAction()
222:     {
223:         $post = $this->getRequest()->getPost();
224:         if ($post && isset($post['description']) && is_array($post['description'])) {
225:             $wishlist = $this->_getWishlist();
226:             if (!$wishlist) {
227:                 return;
228:             }
229:             $updatedItems = 0;
230:             $problemsFlag = false;
231: 
232:             foreach ($post['description'] as $itemId => $description) {
233:                 /** @var $item Mage_Wishlist_Model_Item */
234:                 $item = Mage::getModel('wishlist/item')->load($itemId);
235:                 $description = (string) $description;
236:                 if ($item->getWishlistId() != $wishlist->getId()) {
237:                     continue;
238:                 }
239:                 try {
240:                     $item->setDescription($description)->save();
241:                     $updatedItems++;
242:                 } catch (Exception $e) {
243:                     $problemsFlag = true;
244:                 }
245:             }
246: 
247:             // save wishlist model for setting date of last update
248:             if ($updatedItems) {
249:                 try {
250:                     $wishlist->save();
251:                     if ($problemsFlag) {
252:                         $message = $this->__('Wishlist has been updated. But there are accrued some errors while updating some items.');
253:                     } else {
254:                         $message = $this->__('Wishlist has been updated.');
255:                     }
256:                     $this->_message($message, self::MESSAGE_STATUS_SUCCESS);
257:                 }
258:                 catch (Exception $e) {
259:                     $this->_message(
260:                         $this->__('Items were updated. But can\'t update wishlist.'),
261:                         self::MESSAGE_STATUS_SUCCESS
262:                     );
263:                 }
264:             } else {
265:                 $this->_message($this->__('No items were updated.'), self::MESSAGE_STATUS_ERROR);
266:             }
267:         } else {
268:             $this->_message($this->__('No items were specifed to update.'), self::MESSAGE_STATUS_ERROR);
269:         }
270:     }
271: 
272:     /**
273:      * Add wishlist item to shopping cart and remove from wishlist
274:      *
275:      * If Product has required options - item removed from wishlist and redirect
276:      * to product view page with message about needed defined required options
277:      *
278:      * @return null
279:      */
280:     public function cartAction()
281:     {
282:         $wishlist   = $this->_getWishlist();
283:         if (!$wishlist) {
284:             return;
285:         }
286:         $itemId     = (int)$this->getRequest()->getParam('item');
287: 
288:         /* @var $item Mage_Wishlist_Model_Item */
289:         $item       = Mage::getModel('wishlist/item')->load($itemId);
290: 
291:         if (!$item->getId() || $item->getWishlistId() != $wishlist->getId()) {
292:             $this->_message($this->__('Invalid item or wishlist.'), self::MESSAGE_STATUS_ERROR);
293:             return;
294:         }
295: 
296:         try {
297:             $cart = Mage::getSingleton('checkout/cart');
298:             $item->addToCart($cart, true);
299:             $cart->save()->getQuote()->collectTotals();
300:             $wishlist->save();
301:             Mage::helper('wishlist')->calculate();
302:             $this->_message($this->__('Item has been added to cart.'), self::MESSAGE_STATUS_SUCCESS);
303: 
304:         } catch (Mage_Core_Exception $e) {
305:             if ($e->getCode() == Mage_Wishlist_Model_Item::EXCEPTION_CODE_NOT_SALABLE) {
306:                 $this->_message($this->__('Product(s) currently out of stock.'), self::MESSAGE_STATUS_ERROR);
307:             } else if ($e->getCode() == Mage_Wishlist_Model_Item::EXCEPTION_CODE_HAS_REQUIRED_OPTIONS
308:                 || $e->getCode() == Mage_Wishlist_Model_Item::EXCEPTION_CODE_IS_GROUPED_PRODUCT
309:             ) {
310:                 $item->delete();
311: 
312:                 $message = Mage::getModel('xmlconnect/simplexml_element', '<message></message>');
313:                 $message->addChild('status', self::MESSAGE_STATUS_SUCCESS);
314:                 $message->addChild('has_required_options', 1);
315:                 $message->addChild('product_id', $item->getProductId());
316:                 $this->getResponse()->setBody($message->asNiceXml());
317:             } else {
318:                 $this->_message($e->getMessage(), self::MESSAGE_STATUS_ERROR);
319:             }
320:         } catch (Exception $e) {
321:             $this->_message($this->__('Can\'t add item to shopping cart.'), self::MESSAGE_STATUS_ERROR);
322:         }
323: 
324:         Mage::helper('wishlist')->calculate();
325:     }
326: }
327: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0