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_Catalog_Block_Breadcrumbs
  • Mage_Catalog_Block_Category_View
  • Mage_Catalog_Block_Category_Widget_Link
  • Mage_Catalog_Block_Layer_Filter_Abstract
  • Mage_Catalog_Block_Layer_Filter_Attribute
  • Mage_Catalog_Block_Layer_Filter_Category
  • Mage_Catalog_Block_Layer_Filter_Decimal
  • Mage_Catalog_Block_Layer_Filter_Price
  • Mage_Catalog_Block_Layer_State
  • Mage_Catalog_Block_Layer_View
  • Mage_Catalog_Block_Navigation
  • Mage_Catalog_Block_Product
  • Mage_Catalog_Block_Product_Abstract
  • Mage_Catalog_Block_Product_Compare_Abstract
  • Mage_Catalog_Block_Product_Compare_List
  • Mage_Catalog_Block_Product_Compare_Sidebar
  • Mage_Catalog_Block_Product_Gallery
  • Mage_Catalog_Block_Product_List
  • Mage_Catalog_Block_Product_List_Crosssell
  • Mage_Catalog_Block_Product_List_Promotion
  • Mage_Catalog_Block_Product_List_Random
  • Mage_Catalog_Block_Product_List_Related
  • Mage_Catalog_Block_Product_List_Toolbar
  • Mage_Catalog_Block_Product_List_Upsell
  • Mage_Catalog_Block_Product_New
  • Mage_Catalog_Block_Product_Price
  • Mage_Catalog_Block_Product_Price_Template
  • Mage_Catalog_Block_Product_Send
  • Mage_Catalog_Block_Product_View
  • Mage_Catalog_Block_Product_View_Abstract
  • Mage_Catalog_Block_Product_View_Additional
  • Mage_Catalog_Block_Product_View_Attributes
  • Mage_Catalog_Block_Product_View_Description
  • Mage_Catalog_Block_Product_View_Media
  • Mage_Catalog_Block_Product_View_Options
  • Mage_Catalog_Block_Product_View_Options_Abstract
  • Mage_Catalog_Block_Product_View_Options_Type_Date
  • Mage_Catalog_Block_Product_View_Options_Type_Default
  • Mage_Catalog_Block_Product_View_Options_Type_File
  • Mage_Catalog_Block_Product_View_Options_Type_Select
  • Mage_Catalog_Block_Product_View_Options_Type_Text
  • Mage_Catalog_Block_Product_View_Price
  • Mage_Catalog_Block_Product_View_Tabs
  • Mage_Catalog_Block_Product_View_Type_Configurable
  • Mage_Catalog_Block_Product_View_Type_Grouped
  • Mage_Catalog_Block_Product_View_Type_Simple
  • Mage_Catalog_Block_Product_View_Type_Virtual
  • Mage_Catalog_Block_Product_Widget_Link
  • Mage_Catalog_Block_Product_Widget_New
  • Mage_Catalog_Block_Seo_Sitemap_Abstract
  • Mage_Catalog_Block_Seo_Sitemap_Category
  • Mage_Catalog_Block_Seo_Sitemap_Product
  • Mage_Catalog_Block_Seo_Sitemap_Tree_Category
  • Mage_Catalog_Block_Widget_Link
  • Mage_Catalog_CategoryController
  • Mage_Catalog_Exception
  • Mage_Catalog_Helper_Category
  • Mage_Catalog_Helper_Category_Flat
  • Mage_Catalog_Helper_Data
  • Mage_Catalog_Helper_Image
  • Mage_Catalog_Helper_Map
  • Mage_Catalog_Helper_Output
  • Mage_Catalog_Helper_Product
  • Mage_Catalog_Helper_Product_Compare
  • Mage_Catalog_Helper_Product_Configuration
  • Mage_Catalog_Helper_Product_Flat
  • Mage_Catalog_Helper_Product_Options
  • Mage_Catalog_Helper_Product_Url
  • Mage_Catalog_Helper_Product_View
  • Mage_Catalog_IndexController
  • Mage_Catalog_Model_Abstract
  • Mage_Catalog_Model_Api2_Product
  • Mage_Catalog_Model_Api2_Product_Category
  • Mage_Catalog_Model_Api2_Product_Category_Rest
  • Mage_Catalog_Model_Api2_Product_Category_Rest_Admin_V1
  • Mage_Catalog_Model_Api2_Product_Category_Rest_Customer_V1
  • Mage_Catalog_Model_Api2_Product_Category_Rest_Guest_V1
  • Mage_Catalog_Model_Api2_Product_Image
  • Mage_Catalog_Model_Api2_Product_Image_Rest
  • Mage_Catalog_Model_Api2_Product_Image_Rest_Admin_V1
  • Mage_Catalog_Model_Api2_Product_Image_Rest_Customer_V1
  • Mage_Catalog_Model_Api2_Product_Image_Rest_Guest_V1
  • Mage_Catalog_Model_Api2_Product_Image_Validator_Image
  • Mage_Catalog_Model_Api2_Product_Rest
  • Mage_Catalog_Model_Api2_Product_Rest_Admin_V1
  • Mage_Catalog_Model_Api2_Product_Rest_Customer_V1
  • Mage_Catalog_Model_Api2_Product_Rest_Guest_V1
  • Mage_Catalog_Model_Api2_Product_Validator_Product
  • Mage_Catalog_Model_Api2_Product_Website
  • Mage_Catalog_Model_Api2_Product_Website_Rest
  • Mage_Catalog_Model_Api2_Product_Website_Rest_Admin_V1
  • Mage_Catalog_Model_Api2_Product_Website_Validator_Admin_Website
  • Mage_Catalog_Model_Api_Resource
  • Mage_Catalog_Model_Attribute_Backend_Customlayoutupdate
  • Mage_Catalog_Model_Category
  • Mage_Catalog_Model_Category_Api
  • Mage_Catalog_Model_Category_Api_V2
  • Mage_Catalog_Model_Category_Attribute_Api
  • Mage_Catalog_Model_Category_Attribute_Api_V2
  • Mage_Catalog_Model_Category_Attribute_Backend_Image
  • Mage_Catalog_Model_Category_Attribute_Backend_Sortby
  • Mage_Catalog_Model_Category_Attribute_Backend_Urlkey
  • Mage_Catalog_Model_Category_Attribute_Source_Layout
  • Mage_Catalog_Model_Category_Attribute_Source_Mode
  • Mage_Catalog_Model_Category_Attribute_Source_Page
  • Mage_Catalog_Model_Category_Attribute_Source_Sortby
  • Mage_Catalog_Model_Category_Indexer_Flat
  • Mage_Catalog_Model_Category_Indexer_Product
  • Mage_Catalog_Model_Config
  • Mage_Catalog_Model_Convert
  • Mage_Catalog_Model_Convert_Adapter_Catalog
  • Mage_Catalog_Model_Convert_Adapter_Product
  • Mage_Catalog_Model_Convert_Parser_Product
  • Mage_Catalog_Model_Design
  • Mage_Catalog_Model_Entity_Attribute
  • Mage_Catalog_Model_Entity_Product_Attribute_Frontend_Image
  • Mage_Catalog_Model_Index
  • Mage_Catalog_Model_Indexer_Url
  • Mage_Catalog_Model_Layer
  • Mage_Catalog_Model_Layer_Filter_Abstract
  • Mage_Catalog_Model_Layer_Filter_Attribute
  • Mage_Catalog_Model_Layer_Filter_Category
  • Mage_Catalog_Model_Layer_Filter_Decimal
  • Mage_Catalog_Model_Layer_Filter_Item
  • Mage_Catalog_Model_Layer_Filter_Price
  • Mage_Catalog_Model_Layer_Filter_Price_Algorithm
  • Mage_Catalog_Model_Layer_State
  • Mage_Catalog_Model_Observer
  • Mage_Catalog_Model_Product
  • Mage_Catalog_Model_Product_Action
  • Mage_Catalog_Model_Product_Api
  • Mage_Catalog_Model_Product_Api_V2
  • Mage_Catalog_Model_Product_Attribute_Api
  • Mage_Catalog_Model_Product_Attribute_Api_V2
  • Mage_Catalog_Model_Product_Attribute_Backend_Boolean
  • Mage_Catalog_Model_Product_Attribute_Backend_Groupprice
  • Mage_Catalog_Model_Product_Attribute_Backend_Groupprice_Abstract
  • Mage_Catalog_Model_Product_Attribute_Backend_Media
  • Mage_Catalog_Model_Product_Attribute_Backend_Msrp
  • Mage_Catalog_Model_Product_Attribute_Backend_Price
  • Mage_Catalog_Model_Product_Attribute_Backend_Recurring
  • Mage_Catalog_Model_Product_Attribute_Backend_Sku
  • Mage_Catalog_Model_Product_Attribute_Backend_Startdate
  • Mage_Catalog_Model_Product_Attribute_Backend_Tierprice
  • Mage_Catalog_Model_Product_Attribute_Backend_Urlkey
  • Mage_Catalog_Model_Product_Attribute_Frontend_Image
  • Mage_Catalog_Model_Product_Attribute_Group
  • Mage_Catalog_Model_Product_Attribute_Media_Api
  • Mage_Catalog_Model_Product_Attribute_Media_Api_V2
  • Mage_Catalog_Model_Product_Attribute_Set_Api
  • Mage_Catalog_Model_Product_Attribute_Set_Api_V2
  • Mage_Catalog_Model_Product_Attribute_Source_Boolean
  • Mage_Catalog_Model_Product_Attribute_Source_Countryofmanufacture
  • Mage_Catalog_Model_Product_Attribute_Source_Layout
  • Mage_Catalog_Model_Product_Attribute_Source_Msrp_Type
  • Mage_Catalog_Model_Product_Attribute_Source_Msrp_Type_Enabled
  • Mage_Catalog_Model_Product_Attribute_Source_Msrp_Type_Price
  • Mage_Catalog_Model_Product_Attribute_Tierprice_Api
  • Mage_Catalog_Model_Product_Attribute_Tierprice_Api_V2
  • Mage_Catalog_Model_Product_Compare_Item
  • Mage_Catalog_Model_Product_Compare_List
  • Mage_Catalog_Model_Product_Condition
  • Mage_Catalog_Model_Product_Configuration_Item_Option
  • Mage_Catalog_Model_Product_Flat_Flag
  • Mage_Catalog_Model_Product_Flat_Indexer
  • Mage_Catalog_Model_Product_Flat_Observer
  • Mage_Catalog_Model_Product_Image
  • Mage_Catalog_Model_Product_Indexer_Eav
  • Mage_Catalog_Model_Product_Indexer_Flat
  • Mage_Catalog_Model_Product_Indexer_Price
  • Mage_Catalog_Model_Product_Link
  • Mage_Catalog_Model_Product_Link_Api
  • Mage_Catalog_Model_Product_Link_Api_V2
  • Mage_Catalog_Model_Product_Media_Config
  • Mage_Catalog_Model_Product_Option
  • Mage_Catalog_Model_Product_Option_Api
  • Mage_Catalog_Model_Product_Option_Api_V2
  • Mage_Catalog_Model_Product_Option_Observer
  • Mage_Catalog_Model_Product_Option_Type_Date
  • Mage_Catalog_Model_Product_Option_Type_Default
  • Mage_Catalog_Model_Product_Option_Type_File
  • Mage_Catalog_Model_Product_Option_Type_Select
  • Mage_Catalog_Model_Product_Option_Type_Text
  • Mage_Catalog_Model_Product_Option_Value
  • Mage_Catalog_Model_Product_Option_Value_Api
  • Mage_Catalog_Model_Product_Option_Value_Api_V2
  • Mage_Catalog_Model_Product_Status
  • Mage_Catalog_Model_Product_Type
  • Mage_Catalog_Model_Product_Type_Abstract
  • Mage_Catalog_Model_Product_Type_Api
  • Mage_Catalog_Model_Product_Type_Api_V2
  • Mage_Catalog_Model_Product_Type_Configurable
  • Mage_Catalog_Model_Product_Type_Configurable_Attribute
  • Mage_Catalog_Model_Product_Type_Configurable_Price
  • Mage_Catalog_Model_Product_Type_Grouped
  • Mage_Catalog_Model_Product_Type_Grouped_Price
  • Mage_Catalog_Model_Product_Type_Price
  • Mage_Catalog_Model_Product_Type_Simple
  • Mage_Catalog_Model_Product_Type_Virtual
  • Mage_Catalog_Model_Product_Url
  • Mage_Catalog_Model_Product_Visibility
  • Mage_Catalog_Model_Product_Website
  • Mage_Catalog_Model_Resource_Abstract
  • Mage_Catalog_Model_Resource_Attribute
  • Mage_Catalog_Model_Resource_Category
  • Mage_Catalog_Model_Resource_Category_Attribute_Collection
  • Mage_Catalog_Model_Resource_Category_Attribute_Frontend_Image
  • Mage_Catalog_Model_Resource_Category_Attribute_Source_Layout
  • Mage_Catalog_Model_Resource_Category_Attribute_Source_Mode
  • Mage_Catalog_Model_Resource_Category_Attribute_Source_Page
  • Mage_Catalog_Model_Resource_Category_Collection
  • Mage_Catalog_Model_Resource_Category_Flat
  • Mage_Catalog_Model_Resource_Category_Flat_Collection
  • Mage_Catalog_Model_Resource_Category_Indexer_Product
  • Mage_Catalog_Model_Resource_Category_Tree
  • Mage_Catalog_Model_Resource_Collection_Abstract
  • Mage_Catalog_Model_Resource_Config
  • Mage_Catalog_Model_Resource_Eav_Attribute
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Abstract
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Attribute
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Attribute_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Attribute_Frontend_Image
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Attribute_Source_Layout
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Attribute_Source_Mode
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Attribute_Source_Page
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Flat
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Flat_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Indexer_Product
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Tree
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Collection_Abstract
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Config
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Layer_Filter_Attribute
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Layer_Filter_Decimal
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Layer_Filter_Price
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Action
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Backend_Image
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Backend_Media
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Backend_Tierprice
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Backend_Urlkey
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Frontend_Image
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Frontend_Tierprice
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Compare_Item
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Compare_Item_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Flat
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Flat_Indexer
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Abstract
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Eav
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Eav_Abstract
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Eav_Decimal
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Eav_Source
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price_Configurable
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price_Default
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price_Grouped
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Link
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Link_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Link_Product_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Option
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Option_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Option_Value
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Option_Value_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Relation
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Status
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Type_Configurable
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Type_Configurable_Attribute
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Type_Configurable_Attribute_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Type_Configurable_Product_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Website
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Sendfriend
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Sendfriend_Collection
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Setup
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Url
  • Mage_Catalog_Model_Resource_Helper_Mysql4
  • Mage_Catalog_Model_Resource_Layer_Filter_Attribute
  • Mage_Catalog_Model_Resource_Layer_Filter_Decimal
  • Mage_Catalog_Model_Resource_Layer_Filter_Price
  • Mage_Catalog_Model_Resource_Product
  • Mage_Catalog_Model_Resource_Product_Action
  • Mage_Catalog_Model_Resource_Product_Attribute_Backend_Groupprice
  • Mage_Catalog_Model_Resource_Product_Attribute_Backend_Groupprice_Abstract
  • Mage_Catalog_Model_Resource_Product_Attribute_Backend_Image
  • Mage_Catalog_Model_Resource_Product_Attribute_Backend_Media
  • Mage_Catalog_Model_Resource_Product_Attribute_Backend_Tierprice
  • Mage_Catalog_Model_Resource_Product_Attribute_Backend_Urlkey
  • Mage_Catalog_Model_Resource_Product_Attribute_Collection
  • Mage_Catalog_Model_Resource_Product_Attribute_Frontend_Image
  • Mage_Catalog_Model_Resource_Product_Attribute_Frontend_Tierprice
  • Mage_Catalog_Model_Resource_Product_Collection
  • Mage_Catalog_Model_Resource_Product_Compare_Item
  • Mage_Catalog_Model_Resource_Product_Compare_Item_Collection
  • Mage_Catalog_Model_Resource_Product_Flat
  • Mage_Catalog_Model_Resource_Product_Flat_Indexer
  • Mage_Catalog_Model_Resource_Product_Indexer_Abstract
  • Mage_Catalog_Model_Resource_Product_Indexer_Eav
  • Mage_Catalog_Model_Resource_Product_Indexer_Eav_Abstract
  • Mage_Catalog_Model_Resource_Product_Indexer_Eav_Decimal
  • Mage_Catalog_Model_Resource_Product_Indexer_Eav_Source
  • Mage_Catalog_Model_Resource_Product_Indexer_Price
  • Mage_Catalog_Model_Resource_Product_Indexer_Price_Configurable
  • Mage_Catalog_Model_Resource_Product_Indexer_Price_Default
  • Mage_Catalog_Model_Resource_Product_Indexer_Price_Grouped
  • Mage_Catalog_Model_Resource_Product_Link
  • Mage_Catalog_Model_Resource_Product_Link_Collection
  • Mage_Catalog_Model_Resource_Product_Link_Product_Collection
  • Mage_Catalog_Model_Resource_Product_Option
  • Mage_Catalog_Model_Resource_Product_Option_Collection
  • Mage_Catalog_Model_Resource_Product_Option_Value
  • Mage_Catalog_Model_Resource_Product_Option_Value_Collection
  • Mage_Catalog_Model_Resource_Product_Relation
  • Mage_Catalog_Model_Resource_Product_Status
  • Mage_Catalog_Model_Resource_Product_Type_Configurable
  • Mage_Catalog_Model_Resource_Product_Type_Configurable_Attribute
  • Mage_Catalog_Model_Resource_Product_Type_Configurable_Attribute_Collection
  • Mage_Catalog_Model_Resource_Product_Type_Configurable_Product_Collection
  • Mage_Catalog_Model_Resource_Product_Website
  • Mage_Catalog_Model_Resource_Setup
  • Mage_Catalog_Model_Resource_Url
  • Mage_Catalog_Model_Session
  • Mage_Catalog_Model_System_Config_Backend_Catalog_Category_Flat
  • Mage_Catalog_Model_System_Config_Backend_Catalog_Product_Flat
  • Mage_Catalog_Model_System_Config_Backend_Catalog_Url_Rewrite_Suffix
  • Mage_Catalog_Model_Template_Filter
  • Mage_Catalog_Model_Url
  • Mage_Catalog_Product_CompareController
  • Mage_Catalog_ProductController
  • Mage_Catalog_Seo_SitemapController
  • Mage_CatalogSearch_Model_Resource_Helper_Mysql4
  • Mage_XmlConnect_Model_Catalog_Category_Media_Config

Interfaces

  • Mage_Catalog_Helper_Product_Configuration_Interface
  • Mage_Catalog_Model_Product_Condition_Interface
  • Mage_Catalog_Model_Product_Configuration_Item_Interface
  • Mage_Catalog_Model_Product_Configuration_Item_Option_Interface
  • Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Indexer_Price_Interface
  • Mage_Catalog_Model_Resource_Product_Indexer_Price_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_Catalog
 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:  * Catalog product media api
 29:  *
 30:  * @category   Mage
 31:  * @package    Mage_Catalog
 32:  * @author     Magento Core Team <core@magentocommerce.com>
 33:  */
 34: class Mage_Catalog_Model_Product_Attribute_Media_Api extends Mage_Catalog_Model_Api_Resource
 35: {
 36:     /**
 37:      * Attribute code for media gallery
 38:      *
 39:      */
 40:     const ATTRIBUTE_CODE = 'media_gallery';
 41: 
 42:     /**
 43:      * Allowed mime types for image
 44:      *
 45:      * @var array
 46:      */
 47:     protected $_mimeTypes = array(
 48:         'image/jpeg' => 'jpg',
 49:         'image/gif'  => 'gif',
 50:         'image/png'  => 'png'
 51:     );
 52: 
 53:     public function __construct()
 54:     {
 55:         $this->_storeIdSessionField = 'product_store_id';
 56:     }
 57: 
 58:     /**
 59:      * Retrieve images for product
 60:      *
 61:      * @param int|string $productId
 62:      * @param string|int $store
 63:      * @return array
 64:      */
 65:     public function items($productId, $store = null, $identifierType = null)
 66:     {
 67:         $product = $this->_initProduct($productId, $store, $identifierType);
 68: 
 69:         $gallery = $this->_getGalleryAttribute($product);
 70: 
 71:         $galleryData = $product->getData(self::ATTRIBUTE_CODE);
 72: 
 73:         if (!isset($galleryData['images']) || !is_array($galleryData['images'])) {
 74:             return array();
 75:         }
 76: 
 77:         $result = array();
 78: 
 79:         foreach ($galleryData['images'] as &$image) {
 80:             $result[] = $this->_imageToArray($image, $product);
 81:         }
 82: 
 83:         return $result;
 84:     }
 85: 
 86:     /**
 87:      * Retrieve image data
 88:      *
 89:      * @param int|string $productId
 90:      * @param string $file
 91:      * @param string|int $store
 92:      * @return array
 93:      */
 94:     public function info($productId, $file, $store = null, $identifierType = null)
 95:     {
 96:         $product = $this->_initProduct($productId, $store, $identifierType);
 97: 
 98:         $gallery = $this->_getGalleryAttribute($product);
 99: 
100:         if (!$image = $gallery->getBackend()->getImage($product, $file)) {
101:             $this->_fault('not_exists');
102:         }
103: 
104:         return $this->_imageToArray($image, $product);
105:     }
106: 
107:     /**
108:      * Create new image for product and return image filename
109:      *
110:      * @param int|string $productId
111:      * @param array $data
112:      * @param string|int $store
113:      * @return string
114:      */
115:     public function create($productId, $data, $store = null, $identifierType = null)
116:     {
117:         $data = $this->_prepareImageData($data);
118: 
119:         $product = $this->_initProduct($productId, $store, $identifierType);
120: 
121:         $gallery = $this->_getGalleryAttribute($product);
122: 
123:         if (!isset($data['file']) || !isset($data['file']['mime']) || !isset($data['file']['content'])) {
124:             $this->_fault('data_invalid', Mage::helper('catalog')->__('The image is not specified.'));
125:         }
126: 
127:         if (!isset($this->_mimeTypes[$data['file']['mime']])) {
128:             $this->_fault('data_invalid', Mage::helper('catalog')->__('Invalid image type.'));
129:         }
130: 
131:         $fileContent = @base64_decode($data['file']['content'], true);
132:         if (!$fileContent) {
133:             $this->_fault('data_invalid', Mage::helper('catalog')->__('The image contents is not valid base64 data.'));
134:         }
135: 
136:         unset($data['file']['content']);
137: 
138:         $tmpDirectory = Mage::getBaseDir('var') . DS . 'api' . DS . $this->_getSession()->getSessionId();
139: 
140:         if (isset($data['file']['name']) && $data['file']['name']) {
141:             $fileName  = $data['file']['name'];
142:         } else {
143:             $fileName  = 'image';
144:         }
145:         $fileName .= '.' . $this->_mimeTypes[$data['file']['mime']];
146: 
147:         $ioAdapter = new Varien_Io_File();
148:         try {
149:             // Create temporary directory for api
150:             $ioAdapter->checkAndCreateFolder($tmpDirectory);
151:             $ioAdapter->open(array('path'=>$tmpDirectory));
152:             // Write image file
153:             $ioAdapter->write($fileName, $fileContent, 0666);
154:             unset($fileContent);
155: 
156:             // try to create Image object - it fails with Exception if image is not supported
157:             try {
158:                 new Varien_Image($tmpDirectory . DS . $fileName);
159:             } catch (Exception $e) {
160:                 // Remove temporary directory
161:                 $ioAdapter->rmdir($tmpDirectory, true);
162: 
163:                 throw new Mage_Core_Exception($e->getMessage());
164:             }
165: 
166:             // Adding image to gallery
167:             $file = $gallery->getBackend()->addImage(
168:                 $product,
169:                 $tmpDirectory . DS . $fileName,
170:                 null,
171:                 true
172:             );
173: 
174:             // Remove temporary directory
175:             $ioAdapter->rmdir($tmpDirectory, true);
176: 
177:             $gallery->getBackend()->updateImage($product, $file, $data);
178: 
179:             if (isset($data['types'])) {
180:                 $gallery->getBackend()->setMediaAttribute($product, $data['types'], $file);
181:             }
182: 
183:             $product->save();
184:         } catch (Mage_Core_Exception $e) {
185:             $this->_fault('not_created', $e->getMessage());
186:         } catch (Exception $e) {
187:             $this->_fault('not_created', Mage::helper('catalog')->__('Cannot create image.'));
188:         }
189: 
190:         return $gallery->getBackend()->getRenamedImage($file);
191:     }
192: 
193:     /**
194:      * Update image data
195:      *
196:      * @param int|string $productId
197:      * @param string $file
198:      * @param array $data
199:      * @param string|int $store
200:      * @return boolean
201:      */
202:     public function update($productId, $file, $data, $store = null, $identifierType = null)
203:     {
204:         $data = $this->_prepareImageData($data);
205: 
206:         $product = $this->_initProduct($productId, $store, $identifierType);
207: 
208:         $gallery = $this->_getGalleryAttribute($product);
209: 
210:         if (!$gallery->getBackend()->getImage($product, $file)) {
211:             $this->_fault('not_exists');
212:         }
213: 
214:         if (isset($data['file']['mime']) && isset($data['file']['content'])) {
215:             if (!isset($this->_mimeTypes[$data['file']['mime']])) {
216:                 $this->_fault('data_invalid', Mage::helper('catalog')->__('Invalid image type.'));
217:             }
218: 
219:             $fileContent = @base64_decode($data['file']['content'], true);
220:             if (!$fileContent) {
221:                 $this->_fault('data_invalid', Mage::helper('catalog')->__('Image content is not valid base64 data.'));
222:             }
223: 
224:             unset($data['file']['content']);
225: 
226:             $ioAdapter = new Varien_Io_File();
227:             try {
228:                 $fileName = Mage::getBaseDir('media'). DS . 'catalog' . DS . 'product' . $file;
229:                 $ioAdapter->open(array('path'=>dirname($fileName)));
230:                 $ioAdapter->write(basename($fileName), $fileContent, 0666);
231: 
232:             } catch(Exception $e) {
233:                 $this->_fault('not_created', Mage::helper('catalog')->__('Can\'t create image.'));
234:             }
235:         }
236: 
237:         $gallery->getBackend()->updateImage($product, $file, $data);
238: 
239:         if (isset($data['types']) && is_array($data['types'])) {
240:             $oldTypes = array();
241:             foreach ($product->getMediaAttributes() as $attribute) {
242:                 if ($product->getData($attribute->getAttributeCode()) == $file) {
243:                      $oldTypes[] = $attribute->getAttributeCode();
244:                 }
245:             }
246: 
247:             $clear = array_diff($oldTypes, $data['types']);
248: 
249:             if (count($clear) > 0) {
250:                 $gallery->getBackend()->clearMediaAttribute($product, $clear);
251:             }
252: 
253:             $gallery->getBackend()->setMediaAttribute($product, $data['types'], $file);
254:         }
255: 
256:         try {
257:             $product->save();
258:         } catch (Mage_Core_Exception $e) {
259:             $this->_fault('not_updated', $e->getMessage());
260:         }
261: 
262:         return true;
263:     }
264: 
265:     /**
266:      * Remove image from product
267:      *
268:      * @param int|string $productId
269:      * @param string $file
270:      * @return boolean
271:      */
272:     public function remove($productId, $file, $identifierType = null)
273:     {
274:         $product = $this->_initProduct($productId, null, $identifierType);
275: 
276:         $gallery = $this->_getGalleryAttribute($product);
277: 
278:         if (!$gallery->getBackend()->getImage($product, $file)) {
279:             $this->_fault('not_exists');
280:         }
281: 
282:         $gallery->getBackend()->removeImage($product, $file);
283: 
284:         try {
285:             $product->save();
286:         } catch (Mage_Core_Exception $e) {
287:             $this->_fault('not_removed', $e->getMessage());
288:         }
289: 
290:         return true;
291:     }
292: 
293: 
294:     /**
295:      * Retrieve image types (image, small_image, thumbnail, etc...)
296:      *
297:      * @param int $setId
298:      * @return array
299:      */
300:     public function types($setId)
301:     {
302:         $attributes = Mage::getModel('catalog/product')->getResource()
303:                 ->loadAllAttributes()
304:                 ->getSortedAttributes($setId);
305: 
306:         $result = array();
307: 
308:         foreach ($attributes as $attribute) {
309:             /* @var $attribute Mage_Catalog_Model_Resource_Eav_Attribute */
310:             if ($attribute->isInSet($setId)
311:                 && $attribute->getFrontendInput() == 'media_image') {
312:                 if ($attribute->isScopeGlobal()) {
313:                     $scope = 'global';
314:                 } elseif ($attribute->isScopeWebsite()) {
315:                     $scope = 'website';
316:                 } else {
317:                     $scope = 'store';
318:                 }
319: 
320:                 $result[] = array(
321:                     'code'         => $attribute->getAttributeCode(),
322:                     'scope'        => $scope
323:                 );
324:             }
325:         }
326: 
327:         return $result;
328:     }
329: 
330:     /**
331:      * Prepare data to create or update image
332:      *
333:      * @param array $data
334:      * @return array
335:      */
336:     protected function _prepareImageData($data)
337:     {
338:         return $data;
339:     }
340: 
341:     /**
342:      * Retrieve gallery attribute from product
343:      *
344:      * @param Mage_Catalog_Model_Product $product
345:      * @param Mage_Catalog_Model_Resource_Eav_Mysql4_Attribute|boolean
346:      */
347:     protected function _getGalleryAttribute($product)
348:     {
349:         $attributes = $product->getTypeInstance(true)
350:             ->getSetAttributes($product);
351: 
352:         if (!isset($attributes[self::ATTRIBUTE_CODE])) {
353:             $this->_fault('not_media');
354:         }
355: 
356:         return $attributes[self::ATTRIBUTE_CODE];
357:     }
358: 
359:     /**
360:      * Retrie
361:      * ve media config
362:      *
363:      * @return Mage_Catalog_Model_Product_Media_Config
364:      */
365:     protected function _getMediaConfig()
366:     {
367:         return Mage::getSingleton('catalog/product_media_config');
368:     }
369: 
370:     /**
371:      * Converts image to api array data
372:      *
373:      * @param array $image
374:      * @param Mage_Catalog_Model_Product $product
375:      * @return array
376:      */
377:     protected function _imageToArray(&$image, $product)
378:     {
379:         $result = array(
380:             'file'      => $image['file'],
381:             'label'     => $image['label'],
382:             'position'  => $image['position'],
383:             'exclude'   => $image['disabled'],
384:             'url'       => $this->_getMediaConfig()->getMediaUrl($image['file']),
385:             'types'     => array()
386:         );
387: 
388: 
389:         foreach ($product->getMediaAttributes() as $attribute) {
390:             if ($product->getData($attribute->getAttributeCode()) == $image['file']) {
391:                 $result['types'][] = $attribute->getAttributeCode();
392:             }
393:         }
394: 
395:         return $result;
396:     }
397: 
398:     /**
399:      * Retrieve product
400:      *
401:      * @param int|string $productId
402:      * @param string|int $store
403:      * @param  string $identifierType
404:      * @return Mage_Catalog_Model_Product
405:      */
406:     protected function _initProduct($productId, $store = null, $identifierType = null)
407:     {
408:         $product = Mage::helper('catalog/product')->getProduct($productId, $this->_getStoreId($store), $identifierType);
409:         if (!$product->getId()) {
410:             $this->_fault('product_not_exists');
411:         }
412: 
413:         return $product;
414:     }
415: } // Class Mage_Catalog_Model_Product_Attribute_Media_Api End
416: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0