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 device helper for iPad
 29:  *
 30:  * @category    Mage
 31:  * @package     Mage_XmlConnect
 32:  * @author      Magento Core Team <core@magentocommerce.com>
 33:  */
 34: class Mage_XmlConnect_Helper_Ipad extends Mage_Core_Helper_Abstract
 35: {
 36:     /**
 37:      * Submission title length
 38:      */
 39:     const SUBMISSION_TITLE_LENGTH = 200;
 40: 
 41:     /**
 42:      * Submission description length
 43:      */
 44:     const SUBMISSION_DESCRIPTION_LENGTH = 500;
 45: 
 46:     /**
 47:      * Ipad landscape orientation identificator
 48:      */
 49:     const ORIENTATION_LANDSCAPE = 'landscape';
 50: 
 51:     /**
 52:      * Ipad portrait orientation identificator
 53:      */
 54:     const ORIENTATION_PORTRAIT = 'portrait';
 55: 
 56:     /**
 57:      * Ipad portrait preview banner widht
 58:      */
 59:     const PREVIEW_PORTRAIT_BANNER_WIDTH = 350;
 60: 
 61:     /**
 62:      * Ipad portrait preview banner image height
 63:      */
 64:     const PREVIEW_PORTRAIT_BANNER_HEIGHT = 135;
 65: 
 66:     /**
 67:      * Ipad landscape preview banner widht
 68:      */
 69:     const PREVIEW_LANDSCAPE_BANNER_WIDTH = 467;
 70: 
 71:     /**
 72:      * Ipad landscape preview banner image height
 73:      */
 74:     const PREVIEW_LANDSCAPE_BANNER_HEIGHT = 157;
 75: 
 76:     /**
 77:      * Ipad landscape orientation preview image widht
 78:      */
 79:     const PREVIEW_LANDSCAPE_BACKGROUND_WIDTH = 467;
 80: 
 81:     /**
 82:      * Ipad landscape orientation preview image height
 83:      */
 84:     const PREVIEW_LANDSCAPE_BACKGROUND_HEIGHT = 321;
 85: 
 86:     /**
 87:      * Ipad portrait orientation preview image widht
 88:      */
 89:     const PREVIEW_PORTRAIT_BACKGROUND_WIDTH = 350;
 90: 
 91:     /**
 92:      * Ipad portrait orientation preview image height
 93:      */
 94:     const PREVIEW_PORTRAIT_BACKGROUND_HEIGHT = 438;
 95: 
 96:     /**
 97:      * Submit images that are stored in "params" field of history table
 98:      *
 99:      * @var array
100:      */
101:     protected $_imageIds = array(
102:         'icon', 'ipad_loader_portrait_image', 'ipad_loader_landscape_image', 'ipad_logo', 'big_logo'
103:     );
104: 
105:     /**
106:      * Country field renderer
107:      *
108:      * @var Mage_XmlConnect_Block_Adminhtml_Mobile_Submission_Renderer_Country_Istore
109:      */
110:     protected $_countryRenderer = null;
111: 
112:     /**
113:      * Get submit images that are required for application submit
114:      *
115:      * @return array
116:      */
117:     public function getSubmitImages()
118:     {
119:         return $this->_imageIds;
120:     }
121: 
122:     /**
123:      * Get default application tabs
124:      *
125:      * @return array
126:      */
127:     public function getDefaultDesignTabs()
128:     {
129:         if (!isset($this->_tabs)) {
130:             $this->_tabs = array(
131:                 array(
132:                     'label' => Mage::helper('xmlconnect')->__('Home'),
133:                     'image' => 'tab_home.png',
134:                     'action' => 'Home',
135:                 ),
136:                 array(
137:                     'label' => Mage::helper('xmlconnect')->__('Search'),
138:                     'image' => 'tab_search.png',
139:                     'action' => 'Search',
140:                 ),
141:                 array(
142:                     'label' => Mage::helper('xmlconnect')->__('Cart'),
143:                     'image' => 'tab_cart.png',
144:                     'action' => 'Cart',
145:                 ),
146:                 array(
147:                     'label' => Mage::helper('xmlconnect')->__('Account'),
148:                     'image' => 'tab_account_ipad.png',
149:                     'action' => 'Account',
150:                 ),
151:             );
152:         }
153:         return $this->_tabs;
154:     }
155: 
156:     /**
157:      * Default application configuration
158:      *
159:      * @return array
160:      */
161:      public function getDefaultConfiguration()
162:      {
163:          return array(
164:              'native' => array(
165:                  'body' => array(
166:                      'backgroundColor' => '#ABABAB',
167:                      'scrollBackgroundColor' => '#EDEDED',
168:                  ),
169:                  'itemActions' => array(
170:                      'relatedProductBackgroundColor' => '#404040',
171:                  ),
172:                  'fonts' => array(
173:                      'Title1' => array(
174:                          'name' => 'HelveticaNeue-Bold',
175:                          'size' => '20',
176:                          'color' => '#FEFEFE',
177:                      ),
178:                      'Title2' => array(
179:                          'name' => 'HelveticaNeue-Bold',
180:                          'size' => '15',
181:                          'color' => '#222222',
182:                      ),
183:                      'Title3' => array(
184:                          'name' => 'HelveticaNeue',
185:                          'size' => '14',
186:                          'color' => '#222222',
187:                      ),
188:                      'Title4' => array(
189:                          'name' => 'HelveticaNeue',
190:                          'size' => '12',
191:                          'color' => '#FFFFFF',
192:                      ),
193:                      'Title5' => array(
194:                          'name' => 'HelveticaNeue-Bold',
195:                          'size' => '18',
196:                          'color' => '#d55000',
197:                      ),
198:                      'Title6' => array(
199:                          'name' => 'HelveticaNeue-Bold',
200:                          'size' => '16',
201:                          'color' => '#FFFFFF',
202:                      ),
203:                      'Title7' => array(
204:                          'name' => 'HelveticaNeue-Bold',
205:                          'size' => '13',
206:                          'color' => '#222222',
207:                      ),
208:                      'Title8' => array(
209:                          'name' => 'HelveticaNeue-Bold',
210:                          'size' => '13',
211:                          'color' => '#FFFFFF',
212:                      ),
213:                      'Title9' => array(
214:                          'name' => 'HelveticaNeue-Bold',
215:                          'size' => '18',
216:                          'color' => '#FFFFFF',
217:                      ),
218:                      'Text1' => array(
219:                          'name' => 'HelveticaNeue-Bold',
220:                          'size' => '14',
221:                          'color' => '#222222',
222:                      ),
223:                      'Text2' => array(
224:                          'name' => 'HelveticaNeue',
225:                          'size' => '12',
226:                          'color' => '#222222',
227:                      ),
228:                  ),
229:              ),
230:          );
231:      }
232: 
233:     /**
234:      * List of allowed fonts for iPad application
235:      *
236:      * @return array
237:      */
238:     public function getFontList()
239:     {
240:         return array(
241:             array(
242:                 'value' => 'HiraKakuProN-W3',
243:                 'label' => 'HiraKakuProN-W3',
244:             ),
245:             array(
246:                 'value' => 'Courier',
247:                 'label' => 'Courier',
248:             ),
249:             array(
250:                 'value' => 'Courier-BoldOblique',
251:                 'label' => 'Courier-BoldOblique',
252:             ),
253:             array(
254:                 'value' => 'Courier-Oblique',
255:                 'label' => 'Courier-Oblique',
256:             ),
257:             array(
258:                 'value' => 'Courier-Bold',
259:                 'label' => 'Courier-Bold',
260:             ),
261:             array(
262:                 'value' => 'ArialMT',
263:                 'label' => 'ArialMT',
264:             ),
265:             array(
266:                 'value' => 'Arial-BoldMT',
267:                 'label' => 'Arial-BoldMT',
268:             ),
269:             array(
270:                 'value' => 'Arial-BoldItalicMT',
271:                 'label' => 'Arial-BoldItalicMT',
272:             ),
273:             array(
274:                 'value' => 'Arial-ItalicMT',
275:                 'label' => 'Arial-ItalicMT',
276:             ),
277:             array(
278:                 'value' => 'STHeitiTC-Light',
279:                 'label' => 'STHeitiTC-Light',
280:             ),
281:             array(
282:                 'value' => 'STHeitiTC-Medium',
283:                 'label' => 'STHeitiTC-Medium',
284:             ),
285:             array(
286:                 'value' => 'AppleGothic',
287:                 'label' => 'AppleGothic',
288:             ),
289:             array(
290:                 'value' => 'CourierNewPS-BoldMT',
291:                 'label' => 'CourierNewPS-BoldMT',
292:             ),
293:             array(
294:                 'value' => 'CourierNewPS-ItalicMT',
295:                 'label' => 'CourierNewPS-ItalicMT',
296:             ),
297:             array(
298:                 'value' => 'CourierNewPS-BoldItalicMT',
299:                 'label' => 'CourierNewPS-BoldItalicMT',
300:             ),
301:             array(
302:                 'value' => 'CourierNewPSMT',
303:                 'label' => 'CourierNewPSMT',
304:             ),
305:             array(
306:                 'value' => 'Zapfino',
307:                 'label' => 'Zapfino',
308:             ),
309:             array(
310:                 'value' => 'HiraKakuProN-W6',
311:                 'label' => 'HiraKakuProN-W6',
312:             ),
313:             array(
314:                 'value' => 'ArialUnicodeMS',
315:                 'label' => 'ArialUnicodeMS',
316:             ),
317:             array(
318:                 'value' => 'STHeitiSC-Medium',
319:                 'label' => 'STHeitiSC-Medium',
320:             ),
321:             array(
322:                 'value' => 'STHeitiSC-Light',
323:                 'label' => 'STHeitiSC-Light',
324:             ),
325:             array(
326:                 'value' => 'AmericanTypewriter',
327:                 'label' => 'AmericanTypewriter',
328:             ),
329:             array(
330:                 'value' => 'AmericanTypewriter-Bold',
331:                 'label' => 'AmericanTypewriter-Bold',
332:             ),
333:             array(
334:                 'value' => 'Helvetica-Oblique',
335:                 'label' => 'Helvetica-Oblique',
336:             ),
337:             array(
338:                 'value' => 'Helvetica-BoldOblique',
339:                 'label' => 'Helvetica-BoldOblique',
340:             ),
341:             array(
342:                 'value' => 'Helvetica',
343:                 'label' => 'Helvetica',
344:             ),
345:             array(
346:                 'value' => 'Helvetica-Bold',
347:                 'label' => 'Helvetica-Bold',
348:             ),
349:             array(
350:                 'value' => 'MarkerFelt-Thin',
351:                 'label' => 'MarkerFelt-Thin',
352:             ),
353:             array(
354:                 'value' => 'HelveticaNeue',
355:                 'label' => 'HelveticaNeue',
356:             ),
357:             array(
358:                 'value' => 'HelveticaNeue-Bold',
359:                 'label' => 'HelveticaNeue-Bold',
360:             ),
361:             array(
362:                 'value' => 'DBLCDTempBlack',
363:                 'label' => 'DBLCDTempBlack',
364:             ),
365:             array(
366:                 'value' => 'Verdana-Bold',
367:                 'label' => 'Verdana-Bold',
368:             ),
369:             array(
370:                 'value' => 'Verdana-BoldItalic',
371:                 'label' => 'Verdana-BoldItalic',
372:             ),
373:             array(
374:                 'value' => 'Verdana',
375:                 'label' => 'Verdana',
376:             ),
377:             array(
378:                 'value' => 'Verdana-Italic',
379:                 'label' => 'Verdana-Italic',
380:             ),
381:             array(
382:                 'value' => 'TimesNewRomanPSMT',
383:                 'label' => 'TimesNewRomanPSMT',
384:             ),
385:             array(
386:                 'value' => 'TimesNewRomanPS-BoldMT',
387:                 'label' => 'TimesNewRomanPS-BoldMT',
388:             ),
389:             array(
390:                 'value' => 'TimesNewRomanPS-BoldItalicMT',
391:                 'label' => 'TimesNewRomanPS-BoldItalicMT',
392:             ),
393:             array(
394:                 'value' => 'TimesNewRomanPS-ItalicMT',
395:                 'label' => 'TimesNewRomanPS-ItalicMT',
396:             ),
397:             array(
398:                 'value' => 'Georgia-Bold',
399:                 'label' => 'Georgia-Bold',
400:             ),
401:             array(
402:                 'value' => 'Georgia',
403:                 'label' => 'Georgia',
404:             ),
405:             array(
406:                 'value' => 'Georgia-BoldItalic',
407:                 'label' => 'Georgia-BoldItalic',
408:             ),
409:             array(
410:                 'value' => 'Georgia-Italic',
411:                 'label' => 'Georgia-Italic',
412:             ),
413:             array(
414:                 'value' => 'STHeitiJ-Medium',
415:                 'label' => 'STHeitiJ-Medium',
416:             ),
417:             array(
418:                 'value' => 'STHeitiJ-Light',
419:                 'label' => 'STHeitiJ-Light',
420:             ),
421:             array(
422:                 'value' => 'ArialRoundedMTBold',
423:                 'label' => 'ArialRoundedMTBold',
424:             ),
425:             array(
426:                 'value' => 'TrebuchetMS-Italic',
427:                 'label' => 'TrebuchetMS-Italic',
428:             ),
429:             array(
430:                 'value' => 'TrebuchetMS',
431:                 'label' => 'TrebuchetMS',
432:             ),
433:             array(
434:                 'value' => 'Trebuchet-BoldItalic',
435:                 'label' => 'Trebuchet-BoldItalic',
436:             ),
437:             array(
438:                 'value' => 'TrebuchetMS-Bold',
439:                 'label' => 'TrebuchetMS-Bold',
440:             ),
441:             array(
442:                 'value' => 'STHeitiK-Medium',
443:                 'label' => 'STHeitiK-Medium',
444:             ),
445:             array(
446:                 'value' => 'STHeitiK-Light',
447:                 'label' => 'STHeitiK-Light',
448:             ),
449:         );
450:     }
451: 
452:     /**
453:      * List of allowed font sizes for iPad application
454:      *
455:      * @return array
456:      */
457:     public function getFontSizes()
458:     {
459:         $result = array();
460:         for ($i = 6; $i < 32; $i++) {
461:             $result[] = array(
462:                 'value' => $i,
463:                 'label' => $i . ' pt',
464:             );
465:         }
466:         return $result;
467:     }
468: 
469:     /**
470:      * Get list of countries that allowed in Itunes by Apple Store for Ipad
471:      * (we get info from Iphone helper)
472:      *
473:      * @return array
474:      */
475:     public function getItunesCountriesArray()
476:     {
477:         return Mage::helper('xmlconnect/iphone')->getItunesCountriesArray();
478:     }
479: 
480:     /**
481:      * Validate submit application data
482:      *
483:      * @param array $params
484:      * @return array
485:      */
486:     public function validateSubmit($params)
487:     {
488:         $errors = array();
489: 
490:         if (!Zend_Validate::is(isset($params['title']) ? $params['title'] : null, 'NotEmpty')) {
491:             $errors[] = Mage::helper('xmlconnect')->__('Please enter the Title.');
492:         }
493: 
494:         if (isset($params['title'])) {
495:             $titleLength = self::SUBMISSION_TITLE_LENGTH;
496:             $strRules = array('min' => '1', 'max' => $titleLength);
497:             if (!Zend_Validate::is($params['title'], 'StringLength', $strRules)) {
498:                 $errors[] = Mage::helper('xmlconnect')->__('"Title" is more than %d characters long', $strRules['max']);
499:             }
500:         }
501: 
502:         if (!Zend_Validate::is(isset($params['description']) ? $params['description'] : null, 'NotEmpty')) {
503:             $errors[] = Mage::helper('xmlconnect')->__('Please enter the Description.');
504:         }
505: 
506:         if (isset($params['description'])) {
507:             $descriptionLength = self::SUBMISSION_DESCRIPTION_LENGTH;
508:             $strRules = array('min' => '1', 'max' => $descriptionLength);
509:             if (!Zend_Validate::is($params['title'], 'StringLength', $strRules)) {
510:                 $errors[] = Mage::helper('xmlconnect')->__('"Description" is more than %d characters long', $strRules['max']);
511:             }
512:         }
513: 
514:         if (!Zend_Validate::is(isset($params['copyright']) ? $params['copyright'] : null, 'NotEmpty')) {
515:             $errors[] = Mage::helper('xmlconnect')->__('Please enter the Copyright.');
516:         }
517: 
518:         if (empty($params['price_free'])) {
519:             if (!Zend_Validate::is(isset($params['price']) ? $params['price'] : null, 'NotEmpty')) {
520:                 $errors[] = Mage::helper('xmlconnect')->__('Please enter the Price.');
521:             }
522:         }
523: 
524:         if (!Zend_Validate::is(isset($params['country']) ? $params['country'] : null, 'NotEmpty')) {
525:             $errors[] = Mage::helper('xmlconnect')->__('Please select at least one country.');
526:         }
527: 
528:         $keyLenght = Mage_XmlConnect_Model_Application::APP_MAX_KEY_LENGTH;
529:         if (Mage::helper('xmlconnect')->getApplication()->getIsResubmitAction()) {
530:             if (isset($params['resubmission_activation_key'])) {
531:                 $resubmissionKey = $params['resubmission_activation_key'];
532:             } else {
533:                 $resubmissionKey = null;
534:             }
535:             if (!Zend_Validate::is($resubmissionKey, 'NotEmpty')) {
536:                 $errors[] = Mage::helper('xmlconnect')->__('Please enter the Resubmission Key.');
537:             } elseif (!Zend_Validate::is($resubmissionKey, 'StringLength', array(1, $keyLenght))) {
538:                 $errors[] = Mage::helper('xmlconnect')->__('Submit App failure. Invalid activation key provided');
539:             }
540:         } else {
541:             $key = isset($params['key']) ? $params['key'] : null;
542:             if (!Zend_Validate::is($key, 'NotEmpty')) {
543:                 $errors[] = Mage::helper('xmlconnect')->__('Please enter the Activation Key.');
544:             } elseif (!Zend_Validate::is($key, 'StringLength', array(1, $keyLenght))) {
545:                 $errors[] = Mage::helper('xmlconnect')->__('Submit App failure. Invalid activation key provided');
546:             }
547:         }
548:         return $errors;
549:     }
550: 
551:     /**
552:      * Check config for valid values
553:      *
554:      * @param array $native
555:      * @return array
556:      */
557:     public function validateConfig($native)
558:     {
559:         $errors = array();
560:         if ($native === false
561:             || (!isset($native['navigationBar']['icon'])
562:                 || !Zend_Validate::is($native['navigationBar']['icon'], 'NotEmpty')
563:             )
564:         ) {
565:             $errors[] = Mage::helper('xmlconnect')->__('Please upload  an image for "Logo in Header" field from Design Tab.');
566:         }
567: 
568:         if (!Mage::helper('xmlconnect')->validateConfFieldNotEmpty('bannerIpadLandscapeImage', $native)) {
569:             $errors[] = Mage::helper('xmlconnect')->__('Please upload  an image for "Banner on Home Screen (landscape mode)" field from Design Tab.');
570:         }
571: 
572:         if (!Mage::helper('xmlconnect')->validateConfFieldNotEmpty('bannerIpadImage', $native)) {
573:             $errors[] = Mage::helper('xmlconnect')->__('Please upload  an image for "Banner on Home Screen (portrait mode)" field from Design Tab.');
574:         }
575: 
576:         if (!Mage::helper('xmlconnect')->validateConfFieldNotEmpty('backgroundIpadLandscapeImage', $native)) {
577:             $errors[] = Mage::helper('xmlconnect')->__('Please upload  an image for "App Background (landscape mode)" field from Design Tab.');
578:         }
579: 
580:         if (!Mage::helper('xmlconnect')->validateConfFieldNotEmpty('backgroundIpadPortraitImage', $native)) {
581:             $errors[] = Mage::helper('xmlconnect')->__('Please upload  an image for "App Background (portrait mode)" field from Design Tab.');
582:         }
583: 
584:         return $errors;
585:     }
586: 
587:     /**
588:      * Get renderer for submission country
589:      *
590:      * @return Mage_XmlConnect_Block_Adminhtml_Mobile_Submission_Renderer_Country_Istore
591:      */
592:     public function getCountryRenderer()
593:     {
594:         if (empty($this->_countryRenderer)) {
595:             $renderer = 'xmlconnect/adminhtml_mobile_submission_renderer_country_'
596:                 . Mage_XmlConnect_Helper_Iphone::SUBMISSION_COUNTRY_RENDERER;
597:             $this->_countryRenderer = Mage::app()->getLayout()->createBlock($renderer);
598:         }
599:         return $this->_countryRenderer;
600:     }
601: 
602:     /**
603:      * Get label for submission country
604:      *
605:      * @return string
606:      */
607:     public function getCountryLabel()
608:     {
609:         return Mage::helper('xmlconnect')->__('App Stores');
610:     }
611: 
612:     /**
613:      * Get columns for submission country
614:      *
615:      * @return int
616:      */
617:     public function getCountryColumns()
618:     {
619:         return Mage_XmlConnect_Helper_Iphone::SUBMISSION_COUNTRY_COLUMNS;
620:     }
621: 
622:     /**
623:      * Get placement of Country Names for submission country
624:      *
625:      * @return bool
626:      */
627:     public function isCountryNamePlaceLeft()
628:     {
629:         return true;
630:     }
631: 
632:     /**
633:      * Get class name for submission country
634:      *
635:      * @return string
636:      */
637:     public function getCountryClass()
638:     {
639:         return Mage_XmlConnect_Helper_Iphone::SUBMISSION_COUNTRY_RENDERER . ' stripy';
640:     }
641: 
642:     /**
643:      * Check image fields
644:      *
645:      * We set empty value for image field if file was missed in some reason
646:      *
647:      * @param array $data
648:      * @return array
649:      */
650:     public function checkImages(array $data)
651:     {
652:         /** @var $helper Mage_XmlConnect_Helper_Image */
653:         $helper = Mage::helper('xmlconnect/image');
654: 
655:         $icon =& $data['conf']['native']['navigationBar']['icon'];
656: 
657:         if (!empty($icon) && !$helper->checkAndGetImagePath($icon)) {
658:             $icon = '';
659:         }
660: 
661:         $bannerLand =& $data['conf']['native']['body']['bannerIpadLandscapeImage'];
662: 
663:         if (!empty($bannerLand) && !$helper->checkAndGetImagePath($bannerLand)) {
664:             $bannerLand = '';
665:         }
666: 
667:         $banner =& $data['conf']['native']['body']['bannerIpadImage'];
668: 
669:         if (!empty($banner) && !$helper->checkAndGetImagePath($banner)) {
670:             $banner = '';
671:         }
672: 
673:         $backgroundLand =& $data['conf']['native']['body']['backgroundIpadLandscapeImage'];
674: 
675:         if (!empty($backgroundLand) && !$helper->checkAndGetImagePath($backgroundLand)) {
676:             $backgroundLand = '';
677:         }
678: 
679:         $background =& $data['conf']['native']['body']['backgroundIpadPortraitImage'];
680: 
681:         if (!empty($background) && !$helper->checkAndGetImagePath($background)) {
682:             $background = '';
683:         }
684: 
685:         return $data;
686:     }
687: 
688:     /**
689:      * Check required fields of a config for a front-end
690:      *
691:      * @throws Mage_Core_Exception
692:      * @param array $data
693:      * @return null
694:      */
695:     public function checkRequiredConfigFields($data)
696:     {
697:         if (!is_array($data)) {
698:             return;
699:         }
700: 
701:         if (isset($data['navigationBar']['icon']) && empty($data['navigationBar']['icon'])) {
702:             Mage::throwException(
703:                 Mage::helper('xmlconnect')->__('Logo in Header image missing.')
704:             );
705:         }
706:         if (isset($data['body']['bannerIpadImage']) && empty($data['body']['bannerIpadImage'])) {
707:             Mage::throwException(
708:                 Mage::helper('xmlconnect')->__('Banner on Home Screen (portrait mode) image missing.')
709:             );
710:         }
711:         if (isset($data['body']['bannerIpadLandscapeImage']) && empty($data['body']['bannerIpadLandscapeImage'])) {
712:             Mage::throwException(
713:                 Mage::helper('xmlconnect')->__('Banner on Home Screen (landscape mode) image missing.')
714:             );
715:         }
716:         if (isset($data['body']['backgroundIpadLandscapeImage'])
717:             && empty($data['body']['backgroundIpadLandscapeImage'])
718:         ) {
719:             Mage::throwException(
720:                 Mage::helper('xmlconnect')->__('App Background (landscape mode).')
721:             );
722:         }
723:         if (isset($data['body']['backgroundIpadPortraitImage'])
724:             && empty($data['body']['backgroundIpadPortraitImage'])
725:         ) {
726:             Mage::throwException(
727:                 Mage::helper('xmlconnect')->__('App Background (portrait mode).')
728:             );
729:         }
730:     }
731: 
732:     /**
733:      * Check the notifications are allowed for current type of application
734:      *
735:      * @return bool
736:      */
737:     public function isNotificationsAllowed()
738:     {
739:         return true;
740:     }
741: }
742: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0