Magento_Mobile - Version 1.7.0.1.23.0

Version Notes

1.7.0.1.23.0 version of package
internal svn revision #3cd616975d5927903d4f34bde0d9e5e2e727e9ba

Download this release

Release Info

Developer Magento Core Team
Extension Magento_Mobile
Version 1.7.0.1.23.0
Comparing to
See all releases


Code changes from version 1.7.0.1.22.1 to 1.7.0.1.23.0

Files changed (438) hide show
  1. app/code/core/Mage/XmlConnect/Block/Adminhtml/Admin/Application/Edit.php +71 -0
  2. app/code/core/Mage/XmlConnect/Block/Adminhtml/Admin/Application/Edit/Form.php +55 -0
  3. app/code/core/Mage/XmlConnect/Block/Adminhtml/Admin/Application/Edit/Tab/Settings.php +108 -0
  4. app/code/core/Mage/XmlConnect/Block/Adminhtml/Admin/Application/Edit/Tabs.php +62 -0
  5. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Config.php +68 -0
  6. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard.php +249 -0
  7. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/BestSellers.php +113 -0
  8. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/Customers.php +129 -0
  9. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/GraphAmountsData.php +71 -0
  10. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/GraphDataAbstract.php +350 -0
  11. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/GraphInfo.php +160 -0
  12. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/GraphOrderData.php +71 -0
  13. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/GraphTotalsData.php +123 -0
  14. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/LastOrders.php +85 -0
  15. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/LastSearchTerms.php +118 -0
  16. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/MostViewedProducts.php +117 -0
  17. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/NewCustomers.php +129 -0
  18. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/SalesInfo.php +119 -0
  19. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/StoreSwitcher.php +198 -0
  20. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/TopSearchTerms.php +114 -0
  21. app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Loginform.php +70 -0
  22. app/code/core/Mage/XmlConnect/Block/Adminhtml/History.php +1 -1
  23. app/code/core/Mage/XmlConnect/Block/Adminhtml/History/Grid.php +1 -1
  24. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile.php +3 -7
  25. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit.php +2 -3
  26. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Form.php +1 -1
  27. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Submission.php +2 -3
  28. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Cache.php +1 -1
  29. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Content.php +55 -35
  30. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Design.php +1 -1
  31. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Design/Accordion.php +2 -2
  32. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Design/Accordion/Images.php +24 -9
  33. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Design/Accordion/Tabs.php +1 -1
  34. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Design/Accordion/Themes.php +1 -1
  35. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Design/Images.php +192 -0
  36. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Design/Preview.php +4 -7
  37. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Design/Themes.php +1 -1
  38. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Flurryanalytics.php +1 -1
  39. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/General.php +9 -9
  40. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Notification.php +1 -1
  41. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/OfflineCatalog.php +115 -0
  42. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Payment.php +3 -15
  43. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Settings.php +11 -15
  44. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Social.php +12 -27
  45. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tab/Submission/History.php +2 -2
  46. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Edit/Tabs.php +3 -6
  47. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Form/Element/Addrow.php +9 -19
  48. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Form/Element/Color.php +2 -3
  49. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Form/Element/Country.php +2 -3
  50. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Form/Element/Datetime.php +2 -3
  51. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Form/Element/Font.php +3 -6
  52. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Form/Element/Image.php +2 -3
  53. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Form/Element/Page.php +5 -8
  54. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Form/Element/Tabs.php +4 -7
  55. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Form/Element/Theme.php +4 -6
  56. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Grid.php +1 -1
  57. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Grid/Renderer/Bool.php +3 -7
  58. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Grid/Renderer/Type.php +1 -1
  59. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Preview/Content.php +1 -1
  60. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Preview/Tabitems.php +1 -1
  61. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Submission.php +1 -1
  62. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Submission/Form.php +2 -3
  63. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Submission/Renderer/Country/Androidmarket.php +1 -1
  64. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Submission/Renderer/Country/Istore.php +1 -1
  65. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Submission/Tab/Container.php +1 -1
  66. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Submission/Tab/Container/Submission.php +18 -18
  67. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Submission/Tabs.php +2 -3
  68. app/code/core/Mage/XmlConnect/Block/Adminhtml/Mobile/Widget/Form.php +1 -1
  69. app/code/core/Mage/XmlConnect/Block/Adminhtml/Queue.php +1 -1
  70. app/code/core/Mage/XmlConnect/Block/Adminhtml/Queue/Edit.php +3 -5
  71. app/code/core/Mage/XmlConnect/Block/Adminhtml/Queue/Edit/Form.php +8 -11
  72. app/code/core/Mage/XmlConnect/Block/Adminhtml/Queue/Grid.php +4 -5
  73. app/code/core/Mage/XmlConnect/Block/Adminhtml/Queue/Grid/Renderer/Action.php +3 -3
  74. app/code/core/Mage/XmlConnect/Block/Adminhtml/Queue/Grid/Renderer/Application.php +1 -1
  75. app/code/core/Mage/XmlConnect/Block/Adminhtml/Queue/Grid/Renderer/Id.php +1 -1
  76. app/code/core/Mage/XmlConnect/Block/Adminhtml/Queue/Grid/Renderer/Msgtitle.php +1 -1
  77. app/code/core/Mage/XmlConnect/Block/Adminhtml/Queue/Grid/Renderer/Pushtitle.php +1 -1
  78. app/code/core/Mage/XmlConnect/Block/Adminhtml/Queue/Grid/Renderer/Status.php +1 -1
  79. app/code/core/Mage/XmlConnect/Block/Adminhtml/Queue/Grid/Renderer/Template.php +1 -1
  80. app/code/core/Mage/XmlConnect/Block/Adminhtml/Template.php +1 -1
  81. app/code/core/Mage/XmlConnect/Block/Adminhtml/Template/Edit.php +6 -5
  82. app/code/core/Mage/XmlConnect/Block/Adminhtml/Template/Edit/Form.php +4 -9
  83. app/code/core/Mage/XmlConnect/Block/Adminhtml/Template/Grid.php +1 -1
  84. app/code/core/Mage/XmlConnect/Block/Adminhtml/Template/Grid/Renderer/Application.php +1 -1
  85. app/code/core/Mage/XmlConnect/Block/Adminhtml/Template/Grid/Renderer/Name.php +2 -2
  86. app/code/core/Mage/XmlConnect/Block/Adminhtml/Template/Preview.php +1 -1
  87. app/code/core/Mage/XmlConnect/Block/Adminhtml/Template/Preview/Form.php +2 -3
  88. app/code/core/Mage/XmlConnect/Block/Cart.php +31 -19
  89. app/code/core/Mage/XmlConnect/Block/Cart/CartTotals.php +95 -0
  90. app/code/core/Mage/XmlConnect/Block/Cart/CartTotals/Default.php +93 -0
  91. app/code/core/Mage/XmlConnect/Block/Cart/CartTotals/Grandtotal.php +107 -0
  92. app/code/core/Mage/XmlConnect/Block/Cart/CartTotals/Nodes/Default.php +63 -0
  93. app/code/core/Mage/XmlConnect/Block/Cart/CartTotals/Nodes/Giftcardaccount.php +69 -0
  94. app/code/core/Mage/XmlConnect/Block/Cart/CartTotals/Shipping.php +113 -0
  95. app/code/core/Mage/XmlConnect/Block/Cart/CartTotals/Subtotal.php +108 -0
  96. app/code/core/Mage/XmlConnect/Block/Cart/Crosssell.php +7 -8
  97. app/code/core/Mage/XmlConnect/Block/Cart/Info.php +1 -1
  98. app/code/core/Mage/XmlConnect/Block/Cart/Item/Renderer.php +260 -66
  99. app/code/core/Mage/XmlConnect/Block/Cart/Item/Renderer/Configurable.php +1 -2
  100. app/code/core/Mage/XmlConnect/Block/Cart/Item/Renderer/Grouped.php +1 -2
  101. app/code/core/Mage/XmlConnect/Block/Cart/Items.php +254 -0
  102. app/code/core/Mage/XmlConnect/Block/Cart/Paypal/Mecl/Details.php +6 -10
  103. app/code/core/Mage/XmlConnect/Block/Cart/Paypal/Mecl/OrderDetails.php +83 -0
  104. app/code/core/Mage/XmlConnect/Block/Cart/Paypal/Mecl/Review.php +16 -14
  105. app/code/core/Mage/XmlConnect/Block/Cart/Paypal/Mecl/Shippingmethods.php +105 -29
  106. app/code/core/Mage/XmlConnect/Block/Cart/Paypal/Mep/Totals.php +2 -5
  107. app/code/core/Mage/XmlConnect/Block/Cart/Totals.php +6 -9
  108. app/code/core/Mage/XmlConnect/Block/Catalog.php +60 -6
  109. app/code/core/Mage/XmlConnect/Block/Catalog/Category.php +11 -7
  110. app/code/core/Mage/XmlConnect/Block/Catalog/Category/Info.php +1 -1
  111. app/code/core/Mage/XmlConnect/Block/Catalog/Filters.php +3 -2
  112. app/code/core/Mage/XmlConnect/Block/Catalog/Product.php +36 -26
  113. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Attributes.php +2 -2
  114. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Gallery.php +14 -15
  115. app/code/core/Mage/XmlConnect/Block/Catalog/Product/ItemPrice.php +98 -0
  116. app/code/core/Mage/XmlConnect/Block/Catalog/Product/ItemPrice/Bundle.php +426 -0
  117. app/code/core/Mage/XmlConnect/Block/Catalog/Product/ItemPrice/Default.php +740 -0
  118. app/code/core/Mage/XmlConnect/Block/Catalog/Product/ItemPrice/Giftcard.php +98 -0
  119. app/code/core/Mage/XmlConnect/Block/Catalog/Product/List.php +18 -10
  120. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options.php +85 -2
  121. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Bundle.php +33 -17
  122. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Configurable.php +36 -27
  123. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Downloadable.php +113 -0
  124. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Giftcard.php +1 -2
  125. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Grouped.php +12 -12
  126. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Simple.php +1 -1
  127. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Options/Virtual.php +1 -1
  128. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Price.php +1 -1
  129. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Price/Bundle.php +141 -159
  130. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Price/Default.php +266 -268
  131. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Price/Giftcard.php +9 -8
  132. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Related.php +3 -3
  133. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Review.php +2 -1
  134. app/code/core/Mage/XmlConnect/Block/Catalog/Product/Review/List.php +1 -1
  135. app/code/core/Mage/XmlConnect/Block/Catalog/Search.php +5 -5
  136. app/code/core/Mage/XmlConnect/Block/Catalog/Search/Suggest.php +2 -1
  137. app/code/core/Mage/XmlConnect/Block/Checkout/Address/Billing.php +3 -4
  138. app/code/core/Mage/XmlConnect/Block/Checkout/Address/Form.php +44 -95
  139. app/code/core/Mage/XmlConnect/Block/Checkout/Address/Shipping.php +2 -1
  140. app/code/core/Mage/XmlConnect/Block/Checkout/Agreements.php +2 -2
  141. app/code/core/Mage/XmlConnect/Block/Checkout/Cart/Item/Renderer.php +48 -0
  142. app/code/core/Mage/XmlConnect/Block/Checkout/Cart/Item/Renderer/Bundle.php +49 -0
  143. app/code/core/Mage/XmlConnect/Block/Checkout/Cart/Item/Renderer/Configurable.php +53 -0
  144. app/code/core/Mage/XmlConnect/Block/Checkout/Cart/Item/Renderer/Downloadable.php +49 -0
  145. app/code/core/Mage/XmlConnect/Block/Checkout/Cart/Item/Renderer/Giftcard.php +49 -0
  146. app/code/core/Mage/XmlConnect/Block/Checkout/Cart/Item/Renderer/Grouped.php +52 -0
  147. app/code/core/Mage/XmlConnect/Block/Checkout/Onepage/Address.php +69 -0
  148. app/code/core/Mage/XmlConnect/Block/Checkout/Onepage/Address/Form.php +114 -0
  149. app/code/core/Mage/XmlConnect/Block/Checkout/Onepage/Address/List.php +112 -0
  150. app/code/core/Mage/XmlConnect/Block/Checkout/Onepage/Review.php +64 -0
  151. app/code/core/Mage/XmlConnect/Block/Checkout/Order/Review.php +1 -1
  152. app/code/core/Mage/XmlConnect/Block/Checkout/Order/Review/Info.php +29 -19
  153. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Authorizenet.php +1 -1
  154. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Ccsave.php +4 -4
  155. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Checkmo.php +1 -1
  156. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Authorizenet.php +1 -1
  157. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Ccsave.php +3 -3
  158. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Checkmo.php +2 -4
  159. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Free.php +1 -1
  160. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Paypal/Abstract.php +5 -8
  161. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Paypal/Express.php +1 -1
  162. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Paypal/Mecl.php +1 -1
  163. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Pbridge/Authorizenet.php +1 -1
  164. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Pbridge/Paypal/Direct.php +1 -1
  165. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Pbridge/Paypaluk/Direct.php +1 -1
  166. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Pbridge/Verisign.php +4 -6
  167. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Info/Purchaseorder.php +1 -1
  168. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/List.php +120 -61
  169. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/ListApi23.php +133 -0
  170. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Paypal/Direct.php +1 -1
  171. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Paypal/Payflow.php +10 -10
  172. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Pbridge/Abstract.php +1 -1
  173. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Pbridge/Authorizenet.php +1 -1
  174. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Pbridge/Paypal.php +1 -1
  175. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Pbridge/Paypaluk.php +1 -1
  176. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Pbridge/Verisign.php +1 -1
  177. app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Purchaseorder.php +1 -1
  178. app/code/core/Mage/XmlConnect/Block/Checkout/Pbridge/Result.php +2 -2
  179. app/code/core/Mage/XmlConnect/Block/Checkout/Shipping/Method/Available.php +18 -17
  180. app/code/core/Mage/XmlConnect/Block/Checkout/Shipping/Method/AvailableList.php +82 -0
  181. app/code/core/Mage/XmlConnect/Block/Cms/Page.php +1 -1
  182. app/code/core/Mage/XmlConnect/Block/Configuration.php +40 -21
  183. app/code/core/Mage/XmlConnect/Block/Customer/Address/Form.php +47 -80
  184. app/code/core/Mage/XmlConnect/Block/Customer/Address/List.php +13 -13
  185. app/code/core/Mage/XmlConnect/Block/Customer/Downloads.php +80 -0
  186. app/code/core/Mage/XmlConnect/Block/Customer/Form.php +151 -48
  187. app/code/core/Mage/XmlConnect/Block/Customer/Form/Renderer/Boolean.php +1 -1
  188. app/code/core/Mage/XmlConnect/Block/Customer/Form/Renderer/Date.php +17 -15
  189. app/code/core/Mage/XmlConnect/Block/Customer/Form/Renderer/File.php +1 -1
  190. app/code/core/Mage/XmlConnect/Block/Customer/Form/Renderer/Image.php +1 -1
  191. app/code/core/Mage/XmlConnect/Block/Customer/Form/Renderer/Multiline.php +1 -1
  192. app/code/core/Mage/XmlConnect/Block/Customer/Form/Renderer/Multiselect.php +1 -1
  193. app/code/core/Mage/XmlConnect/Block/Customer/Form/Renderer/Select.php +1 -1
  194. app/code/core/Mage/XmlConnect/Block/Customer/Form/Renderer/Text.php +6 -5
  195. app/code/core/Mage/XmlConnect/Block/Customer/Form/Renderer/Textarea.php +1 -1
  196. app/code/core/Mage/XmlConnect/Block/Customer/GiftcardCheck.php +1 -1
  197. app/code/core/Mage/XmlConnect/Block/Customer/Order/Details.php +11 -14
  198. app/code/core/Mage/XmlConnect/Block/Customer/Order/Item/Renderer/Bundle.php +143 -12
  199. app/code/core/Mage/XmlConnect/Block/Customer/Order/Item/Renderer/Default.php +74 -1
  200. app/code/core/Mage/XmlConnect/Block/Customer/Order/Item/Renderer/Downloadable.php +85 -14
  201. app/code/core/Mage/XmlConnect/Block/Customer/Order/Item/Renderer/Giftcard.php +3 -3
  202. app/code/core/Mage/XmlConnect/Block/Customer/Order/Item/Renderer/Grouped.php +6 -4
  203. app/code/core/Mage/XmlConnect/Block/Customer/Order/Items.php +2 -3
  204. app/code/core/Mage/XmlConnect/Block/Customer/Order/List.php +14 -16
  205. app/code/core/Mage/XmlConnect/Block/Customer/Order/Totals.php +61 -11
  206. app/code/core/Mage/XmlConnect/Block/Customer/Order/Totals/Customerbalance.php +26 -2
  207. app/code/core/Mage/XmlConnect/Block/Customer/Order/Totals/Customerbalance/Refunded.php +26 -4
  208. app/code/core/Mage/XmlConnect/Block/Customer/Order/Totals/Giftcards.php +40 -6
  209. app/code/core/Mage/XmlConnect/Block/Customer/Order/Totals/Tax.php +45 -4
  210. app/code/core/Mage/XmlConnect/Block/Customer/Storecredit.php +2 -2
  211. app/code/core/Mage/XmlConnect/Block/Home.php +6 -4
  212. app/code/core/Mage/XmlConnect/Block/Homebanners.php +156 -0
  213. app/code/core/Mage/XmlConnect/Block/Localization.php +55 -0
  214. app/code/core/Mage/XmlConnect/Block/Review/Form.php +3 -2
  215. app/code/core/Mage/XmlConnect/Block/ShoppingCart.php +108 -0
  216. app/code/core/Mage/XmlConnect/Block/Wishlist.php +7 -6
  217. app/code/core/Mage/XmlConnect/Controller/Action.php +37 -12
  218. app/code/core/Mage/XmlConnect/Controller/AdminAction.php +192 -0
  219. app/code/core/Mage/XmlConnect/Helper/AdminApplication.php +134 -0
  220. app/code/core/Mage/XmlConnect/Helper/Adminhtml/Dashboard/Order.php +68 -0
  221. app/code/core/Mage/XmlConnect/Helper/Android.php +43 -65
  222. app/code/core/Mage/XmlConnect/Helper/Catalog/Category/Image.php +59 -5
  223. app/code/core/Mage/XmlConnect/Helper/Catalog/Product/Image.php +46 -0
  224. app/code/core/Mage/XmlConnect/Helper/Customer/Form/Renderer.php +179 -1
  225. app/code/core/Mage/XmlConnect/Helper/Customer/Order.php +194 -32
  226. app/code/core/Mage/XmlConnect/Helper/Data.php +128 -33
  227. app/code/core/Mage/XmlConnect/Helper/Device/Abstract.php +309 -0
  228. app/code/core/Mage/XmlConnect/Helper/Image.php +50 -23
  229. app/code/core/Mage/XmlConnect/Helper/Ipad.php +66 -113
  230. app/code/core/Mage/XmlConnect/Helper/Iphone.php +40 -205
  231. app/code/core/Mage/XmlConnect/Helper/OfflineCatalog.php +307 -0
  232. app/code/core/Mage/XmlConnect/Helper/Payment.php +1 -1
  233. app/code/core/Mage/XmlConnect/Helper/Theme.php +49 -8
  234. app/code/core/Mage/XmlConnect/Helper/Translate.php +514 -0
  235. app/code/core/Mage/XmlConnect/Model/Adminhtml/Search/Catalog.php +71 -0
  236. app/code/core/Mage/XmlConnect/Model/Adminhtml/Search/Category.php +70 -0
  237. app/code/core/Mage/XmlConnect/Model/Adminhtml/System/Config/Backend/Baseurl.php +1 -1
  238. app/code/core/Mage/XmlConnect/Model/Adminhtml/System/Config/Backend/Currency/Default.php +2 -2
  239. app/code/core/Mage/XmlConnect/Model/Application.php +195 -77
  240. app/code/core/Mage/XmlConnect/Model/Catalog/Category/Image.php +29 -12
  241. app/code/core/Mage/XmlConnect/Model/Catalog/Category/Media/Config.php +1 -1
  242. app/code/core/Mage/XmlConnect/Model/ConfigData.php +122 -10
  243. app/code/core/Mage/XmlConnect/Model/Configuration.php +271 -0
  244. app/code/core/Mage/XmlConnect/Model/Device/Abstract.php +179 -0
  245. app/code/core/Mage/XmlConnect/Model/Device/Android.php +111 -0
  246. app/code/core/Mage/XmlConnect/Model/Device/Ipad.php +174 -0
  247. app/code/core/Mage/XmlConnect/Model/Device/Iphone.php +117 -0
  248. app/code/core/Mage/XmlConnect/Model/History.php +1 -1
  249. app/code/core/Mage/XmlConnect/Model/ImageAction.php +321 -0
  250. app/code/core/Mage/XmlConnect/Model/ImageLimits.php +366 -0
  251. app/code/core/Mage/XmlConnect/Model/ImageLimits/Abstract.php +295 -0
  252. app/code/core/Mage/XmlConnect/Model/Images.php +551 -0
  253. app/code/core/Mage/XmlConnect/Model/Mysql4/Application.php +1 -1
  254. app/code/core/Mage/XmlConnect/Model/Mysql4/Application/Collection.php +1 -1
  255. app/code/core/Mage/XmlConnect/Model/Mysql4/Cms/Page/Collection.php +1 -1
  256. app/code/core/Mage/XmlConnect/Model/Mysql4/ConfigData.php +1 -1
  257. app/code/core/Mage/XmlConnect/Model/Mysql4/ConfigData/Collection.php +1 -1
  258. app/code/core/Mage/XmlConnect/Model/Mysql4/Filter/Collection.php +1 -1
  259. app/code/core/Mage/XmlConnect/Model/Mysql4/History.php +1 -1
  260. app/code/core/Mage/XmlConnect/Model/Mysql4/History/Collection.php +1 -1
  261. app/code/core/Mage/XmlConnect/Model/Mysql4/Queue.php +1 -1
  262. app/code/core/Mage/XmlConnect/Model/Mysql4/Queue/Collection.php +1 -1
  263. app/code/core/Mage/XmlConnect/Model/Mysql4/Setup.php +1 -1
  264. app/code/core/Mage/XmlConnect/Model/Mysql4/Template.php +1 -1
  265. app/code/core/Mage/XmlConnect/Model/Mysql4/Template/Collection.php +1 -1
  266. app/code/core/Mage/XmlConnect/Model/Observer.php +78 -8
  267. app/code/core/Mage/XmlConnect/Model/OfflineCatalog.php +117 -0
  268. app/code/core/Mage/XmlConnect/Model/OfflineCatalog/Abstract.php +66 -0
  269. app/code/core/Mage/XmlConnect/Model/OfflineCatalog/Category.php +120 -0
  270. app/code/core/Mage/XmlConnect/Model/OfflineCatalog/Category/Category.php +61 -0
  271. app/code/core/Mage/XmlConnect/Model/OfflineCatalog/Category/IndexCategory.php +61 -0
  272. app/code/core/Mage/XmlConnect/Model/OfflineCatalog/Config.php +77 -0
  273. app/code/core/Mage/XmlConnect/Model/OfflineCatalog/Home.php +61 -0
  274. app/code/core/Mage/XmlConnect/Model/OfflineCatalog/Homebanners.php +61 -0
  275. app/code/core/Mage/XmlConnect/Model/OfflineCatalog/Product.php +111 -0
  276. app/code/core/Mage/XmlConnect/Model/OfflineCatalog/Product/Gallery.php +61 -0
  277. app/code/core/Mage/XmlConnect/Model/OfflineCatalog/Product/Product.php +61 -0
  278. app/code/core/Mage/XmlConnect/Model/OfflineCatalog/Product/Review.php +61 -0
  279. app/code/core/Mage/XmlConnect/Model/Payment/Method/Paypal/Config.php +16 -1
  280. app/code/core/Mage/XmlConnect/Model/Payment/Method/Paypal/Mecl.php +1 -1
  281. app/code/core/Mage/XmlConnect/Model/Payment/Method/Paypal/Mep.php +1 -1
  282. app/code/core/Mage/XmlConnect/Model/Paypal/Mecl/Checkout.php +25 -1
  283. app/code/core/Mage/XmlConnect/Model/Paypal/Mep/Checkout.php +1 -1
  284. app/code/core/Mage/XmlConnect/Model/Preview/Abstract.php +58 -6
  285. app/code/core/Mage/XmlConnect/Model/Preview/Android.php +14 -7
  286. app/code/core/Mage/XmlConnect/Model/Preview/Ipad.php +50 -45
  287. app/code/core/Mage/XmlConnect/Model/Preview/Iphone.php +15 -6
  288. app/code/core/Mage/XmlConnect/Model/Queue.php +32 -3
  289. app/code/core/Mage/XmlConnect/Model/Resource/Application.php +18 -2
  290. app/code/core/Mage/XmlConnect/Model/Resource/Application/Collection.php +1 -1
  291. app/code/core/Mage/XmlConnect/Model/Resource/CategorySearch/Collection.php +120 -0
  292. app/code/core/Mage/XmlConnect/Model/Resource/Cms/Page/Collection.php +1 -1
  293. app/code/core/Mage/XmlConnect/Model/Resource/ConfigData.php +4 -4
  294. app/code/core/Mage/XmlConnect/Model/Resource/ConfigData/Collection.php +2 -4
  295. app/code/core/Mage/XmlConnect/Model/Resource/Filter/Collection.php +1 -2
  296. app/code/core/Mage/XmlConnect/Model/Resource/History.php +1 -1
  297. app/code/core/Mage/XmlConnect/Model/Resource/History/Collection.php +1 -1
  298. app/code/core/Mage/XmlConnect/Model/Resource/Images.php +89 -0
  299. app/code/core/Mage/XmlConnect/Model/Resource/Images/Collection.php +91 -0
  300. app/code/core/Mage/XmlConnect/Model/Resource/Queue.php +1 -1
  301. app/code/core/Mage/XmlConnect/Model/Resource/Queue/Collection.php +1 -1
  302. app/code/core/Mage/XmlConnect/Model/Resource/Setup.php +1 -1
  303. app/code/core/Mage/XmlConnect/Model/Resource/Template.php +1 -1
  304. app/code/core/Mage/XmlConnect/Model/Resource/Template/Collection.php +1 -1
  305. app/code/core/Mage/XmlConnect/Model/Simplexml/Element.php +3 -3
  306. app/code/core/Mage/XmlConnect/Model/Simplexml/Form.php +26 -2
  307. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Abstract.php +2 -2
  308. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Abstract.php +10 -4
  309. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Checkbox.php +1 -1
  310. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Collection.php +1 -1
  311. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/CountryListSelect.php +46 -19
  312. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Custom.php +71 -0
  313. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Date.php +2 -3
  314. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Email.php +2 -3
  315. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Fieldset.php +3 -1
  316. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/File.php +2 -3
  317. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Image.php +2 -3
  318. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Multiline.php +2 -5
  319. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Multiselect.php +2 -6
  320. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Password.php +47 -0
  321. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Renderer/Interface.php +1 -1
  322. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Select.php +5 -14
  323. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Text.php +2 -3
  324. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Textarea.php +1 -1
  325. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Validator.php +1 -1
  326. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Validator/Abstract.php +1 -1
  327. app/code/core/Mage/XmlConnect/Model/Simplexml/Form/Element/Validator/Rule.php +1 -1
  328. app/code/core/Mage/XmlConnect/Model/Simplexml/Message.php +267 -0
  329. app/code/core/Mage/XmlConnect/Model/Simplexml/Message/Abstract.php +142 -0
  330. app/code/core/Mage/XmlConnect/Model/Simplexml/Message/Error.php +125 -0
  331. app/code/core/Mage/XmlConnect/Model/Simplexml/Message/Success.php +56 -0
  332. app/code/core/Mage/XmlConnect/Model/Tabs.php +1 -1
  333. app/code/core/Mage/XmlConnect/Model/Template.php +1 -1
  334. app/code/core/Mage/XmlConnect/Model/Theme.php +7 -6
  335. app/code/core/Mage/XmlConnect/controllers/Adminhtml/Admin/ApplicationController.php +69 -0
  336. app/code/core/Mage/XmlConnect/controllers/Adminhtml/Connect/ConfigController.php +126 -0
  337. app/code/core/Mage/XmlConnect/controllers/Adminhtml/Connect/DashboardController.php +55 -0
  338. app/code/core/Mage/XmlConnect/controllers/Adminhtml/Connect/UserController.php +165 -0
  339. app/code/core/Mage/XmlConnect/controllers/Adminhtml/MobileController.php +281 -70
  340. app/code/core/Mage/XmlConnect/controllers/CartController.php +146 -3
  341. app/code/core/Mage/XmlConnect/controllers/CatalogController.php +145 -18
  342. app/code/core/Mage/XmlConnect/controllers/CheckoutController.php +225 -24
  343. app/code/core/Mage/XmlConnect/controllers/CmsController.php +28 -1
  344. app/code/core/Mage/XmlConnect/controllers/ConfigurationController.php +13 -9
  345. app/code/core/Mage/XmlConnect/controllers/CustomerController.php +140 -76
  346. app/code/core/Mage/XmlConnect/controllers/HomebannersController.php +53 -0
  347. app/code/core/Mage/XmlConnect/controllers/IndexController.php +1 -1
  348. app/code/core/Mage/XmlConnect/controllers/LocalizationController.php +54 -0
  349. app/code/core/Mage/XmlConnect/controllers/OfflineCatalogController.php +63 -0
  350. app/code/core/Mage/XmlConnect/controllers/Paypal/MeclController.php +55 -8
  351. app/code/core/Mage/XmlConnect/controllers/Paypal/MepController.php +3 -5
  352. app/code/core/Mage/XmlConnect/controllers/PbridgeController.php +1 -1
  353. app/code/core/Mage/XmlConnect/controllers/ReviewController.php +1 -1
  354. app/code/core/Mage/XmlConnect/controllers/WishlistController.php +23 -1
  355. app/code/core/Mage/XmlConnect/etc/adminhtml.xml +10 -1
  356. app/code/core/Mage/XmlConnect/etc/config.xml +70 -163
  357. app/code/core/Mage/XmlConnect/etc/system.xml +1 -1
  358. app/code/core/Mage/XmlConnect/etc/themes/custom.xml +1 -1
  359. app/code/core/Mage/XmlConnect/etc/themes/default.xml +1 -1
  360. app/code/core/Mage/XmlConnect/etc/themes/funk_leaf.xml +1 -1
  361. app/code/core/Mage/XmlConnect/etc/themes/hot_red.xml +1 -1
  362. app/code/core/Mage/XmlConnect/etc/themes/sky_blue.xml +1 -1
  363. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/install-1.6.0.0.php +1 -1
  364. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-data-upgrade-1.4.0.13-1.4.0.14.php +8 -19
  365. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-data-upgrade-1.5.9.9-1.6.0.0.php +63 -0
  366. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-data-upgrade-1.6.0.0-1.6.0.0.1.php +51 -0
  367. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-install-1.4.0.8.php +6 -6
  368. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-upgrade-1.4.0.10-1.4.0.11.php +1 -1
  369. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-upgrade-1.4.0.11-1.4.0.12.php +1 -1
  370. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-upgrade-1.4.0.12-1.4.0.13.php +1 -1
  371. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-upgrade-1.4.0.13-1.4.0.14.php +1 -1
  372. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-upgrade-1.4.0.8-1.4.0.9.php +1 -1
  373. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-upgrade-1.4.0.9-1.4.0.10.php +7 -2
  374. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -3
  375. app/code/core/Mage/XmlConnect/sql/xmlconnect_setup/upgrade-1.6.0.0-1.6.0.0.1.php +73 -0
  376. app/design/adminhtml/default/default/layout/xmlconnect.xml +50 -5
  377. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/content.phtml +148 -0
  378. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design.phtml +497 -7
  379. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/autocomplete.phtml +42 -0
  380. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/image_edit.phtml +319 -0
  381. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/images_android.phtml +79 -0
  382. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/images_ipad.phtml +78 -0
  383. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/images_iphone.phtml +78 -0
  384. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/banner_rotator.phtml +49 -0
  385. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/catalog_android.phtml +1 -1
  386. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/catalog_hor_ipad.phtml +2 -2
  387. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/catalog_ipad.phtml +2 -2
  388. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/catalog_iphone.phtml +2 -2
  389. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/home_android.phtml +11 -3
  390. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/home_hor_ipad.phtml +12 -4
  391. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/home_ipad.phtml +12 -4
  392. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/home_iphone.phtml +9 -3
  393. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/productinfo_iphone.phtml +1 -1
  394. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/tab_items_android.phtml +1 -1
  395. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/tab_items_ipad.phtml +1 -1
  396. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview/tab_items_iphone.phtml +1 -1
  397. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview_android.phtml +3 -3
  398. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview_ipad.phtml +4 -4
  399. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/design/preview_iphone.phtml +3 -3
  400. app/design/adminhtml/default/default/template/xmlconnect/edit/tab/offlinecatalog.phtml +46 -0
  401. app/design/adminhtml/default/default/template/xmlconnect/form/element/addrow.phtml +3 -3
  402. app/design/adminhtml/default/default/template/xmlconnect/form/element/app_tabs_android.phtml +1 -1
  403. app/design/adminhtml/default/default/template/xmlconnect/form/element/app_tabs_ipad.phtml +1 -1
  404. app/design/adminhtml/default/default/template/xmlconnect/form/element/app_tabs_iphone.phtml +1 -1
  405. app/design/adminhtml/default/default/template/xmlconnect/form/element/country/androidmarket.phtml +1 -1
  406. app/design/adminhtml/default/default/template/xmlconnect/form/element/country/istore.phtml +1 -1
  407. app/design/adminhtml/default/default/template/xmlconnect/form/element/themes.phtml +133 -132
  408. app/design/adminhtml/default/default/template/xmlconnect/mobile/notification_helper.phtml +2 -2
  409. app/design/adminhtml/default/default/template/xmlconnect/submission/app_icons_preview.phtml +1 -3
  410. app/design/adminhtml/default/default/template/xmlconnect/submission/container.phtml +1 -1
  411. app/design/adminhtml/default/default/template/xmlconnect/template/preview.phtml +1 -1
  412. app/design/frontend/base/default/layout/xmlconnect.xml +175 -17
  413. app/design/frontend/base/default/template/xmlconnect/centinel/authentication.phtml +55 -0
  414. app/design/frontend/base/default/template/xmlconnect/pbridge/result.phtml +2 -2
  415. app/etc/modules/Mage_XmlConnect.xml +1 -1
  416. app/locale/en_US/Mage_XmlConnect.csv +2 -28
  417. js/scriptaculous/builder.js +136 -0
  418. js/scriptaculous/controls.js +965 -0
  419. js/scriptaculous/dragdrop.js +974 -0
  420. js/scriptaculous/effects.js +1130 -0
  421. js/scriptaculous/scriptaculous.js +60 -0
  422. js/scriptaculous/slider.js +277 -0
  423. js/scriptaculous/sound.js +55 -0
  424. js/scriptaculous/unittest.js +568 -0
  425. media/xmlconnect/custom/ok.gif +0 -0
  426. media/xmlconnect/original/ok.gif +0 -0
  427. media/xmlconnect/system/ok.gif +0 -0
  428. package.xml +8 -7
  429. skin/adminhtml/default/default/images/xmlconnect/btn_edit.gif +0 -0
  430. skin/adminhtml/default/default/images/xmlconnect/mobile_preview/buttons.php +27 -27
  431. skin/adminhtml/default/default/images/xmlconnect/mobile_preview/imageFrame.php +38 -38
  432. skin/adminhtml/default/default/images/xmlconnect/mobile_preview/lightStar.php +39 -39
  433. skin/adminhtml/default/default/images/xmlconnect/mobile_preview/mobile-catalog.css +280 -280
  434. skin/adminhtml/default/default/images/xmlconnect/mobile_preview/mobile-home.css +180 -180
  435. skin/adminhtml/default/default/images/xmlconnect/remove.png +0 -0
  436. skin/adminhtml/default/default/xmlconnect/boxes.css +67 -1
  437. skin/adminhtml/default/default/xmlconnect/iestyles.css +39 -0
  438. skin/adminhtml/default/default/xmlconnect/remove.png +0 -0
app/code/core/Mage/XmlConnect/Block/Adminhtml/Admin/Application/Edit.php ADDED
@@ -0,0 +1,71 @@
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) 2010 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 edit admin application settings block
29
+ *
30
+ * @category Mage
31
+ * @package Mage_XmlConnect
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_XmlConnect_Block_Adminhtml_Admin_Application_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
35
+ {
36
+ /**
37
+ * Setting action buttons for admin application settings
38
+ */
39
+ public function __construct()
40
+ {
41
+ $this->_objectId = 'id';
42
+ $this->_controller = 'adminhtml_admin_application';
43
+ $this->_blockGroup = 'xmlconnect';
44
+ parent::__construct();
45
+
46
+ $this->_removeButton('back');
47
+ $this->_removeButton('reset');
48
+ $this->_removeButton('delete');
49
+ }
50
+
51
+ /**
52
+ * Get header text
53
+ *
54
+ * @return string
55
+ */
56
+ public function getHeaderText()
57
+ {
58
+ return $this->__('Admin Application Settings');
59
+ }
60
+
61
+ /**
62
+ * Check permission for passed action
63
+ *
64
+ * @param string $action
65
+ * @return bool
66
+ */
67
+ protected function _isAllowedAction($action)
68
+ {
69
+ return true;
70
+ }
71
+ }
app/code/core/Mage/XmlConnect/Block/Adminhtml/Admin/Application/Edit/Form.php ADDED
@@ -0,0 +1,55 @@
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) 2010 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
+ * Admin application form block
29
+ *
30
+ * @category Mage
31
+ * @package Mage_XmlConnect
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_XmlConnect_Block_Adminhtml_Admin_Application_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
35
+ {
36
+ /**
37
+ * Prepare form before rendering HTML
38
+ * Setting Form Fieldsets and fields
39
+ *
40
+ * @return Mage_Adminhtml_Block_Widget_Form
41
+ */
42
+ protected function _prepareForm()
43
+ {
44
+ /** @var $form Varien_Data_Form */
45
+ $form = Mage::getModel('varien/data_form', array(
46
+ 'id' => 'edit_form',
47
+ 'action' => $this->getUrl('*/admin_application', array('_current' => true)),
48
+ 'method' => 'post'
49
+ ));
50
+
51
+ $form->setUseContainer(true);
52
+ $this->setForm($form);
53
+ return parent::_prepareForm();
54
+ }
55
+ }
app/code/core/Mage/XmlConnect/Block/Adminhtml/Admin/Application/Edit/Tab/Settings.php ADDED
@@ -0,0 +1,108 @@
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) 2010 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
+ * Tab for Settings Management
29
+ *
30
+ * @category Mage
31
+ * @package Mage_XmlConnect
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_XmlConnect_Block_Adminhtml_Admin_Application_Edit_Tab_Settings
35
+ extends Mage_Adminhtml_Block_Widget_Form
36
+ implements Mage_Adminhtml_Block_Widget_Tab_Interface
37
+ {
38
+ /**
39
+ * Prepare form before rendering HTML
40
+ * Setting Form Fieldsets and fields
41
+ *
42
+ * @return Mage_Adminhtml_Block_Widget_Form
43
+ */
44
+ protected function _prepareForm()
45
+ {
46
+ /** @var $form Varien_Data_Form */
47
+ $form = Mage::getModel('varien/data_form', array(
48
+ 'id' => 'edit_form',
49
+ 'action' => $this->getUrl('*/admin_application', array('_current' => true)),
50
+ 'method' => 'post'
51
+ ));
52
+
53
+ $form->setHtmlIdPrefix('admin_app_');
54
+ $fieldset = $form->addFieldset('base_fieldset', array('legend' => $this->__('Admin Application Settings')));
55
+
56
+ $fieldset->addField('type', 'select', array(
57
+ 'name' => 'is_active',
58
+ 'label' => $this->__('Enable Admin Application'),
59
+ 'title' => $this->__('Enable Admin Application'),
60
+ 'values' => Mage::getModel('adminhtml/system_config_source_yesno')->toOptionArray(),
61
+ 'required' => true,
62
+ 'value' => (int)Mage::getSingleton('xmlconnect/configuration')->isActiveAdminApp()
63
+ ));
64
+
65
+ $this->setForm($form);
66
+ return parent::_prepareForm();
67
+ }
68
+
69
+ /**
70
+ * Tab label getter
71
+ *
72
+ * @return string
73
+ */
74
+ public function getTabLabel()
75
+ {
76
+ return $this->__('Settings');
77
+ }
78
+
79
+ /**
80
+ * Tab title getter
81
+ *
82
+ * @return string
83
+ */
84
+ public function getTabTitle()
85
+ {
86
+ return $this->__('Settings');
87
+ }
88
+
89
+ /**
90
+ * Check if tab can be shown
91
+ *
92
+ * @return bool
93
+ */
94
+ public function canShowTab()
95
+ {
96
+ return true;
97
+ }
98
+
99
+ /**
100
+ * Check if tab hidden
101
+ *
102
+ * @return bool
103
+ */
104
+ public function isHidden()
105
+ {
106
+ return false;
107
+ }
108
+ }
app/code/core/Mage/XmlConnect/Block/Adminhtml/Admin/Application/Edit/Tabs.php ADDED
@@ -0,0 +1,62 @@
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) 2010 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
+ * Admin Application Settings Tabs block
29
+ *
30
+ * @category Mage
31
+ * @package Mage_XmlConnect
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_XmlConnect_Block_Adminhtml_Admin_Application_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
35
+ {
36
+ /**
37
+ * Setting tab id, DOM destination element id, title
38
+ */
39
+ public function __construct()
40
+ {
41
+ parent::__construct();
42
+ $this->setId('admin_application_app_tabs');
43
+ $this->setDestElementId('edit_form');
44
+ $this->setTitle($this->__('Admin Mobile Application'));
45
+ }
46
+
47
+ /**
48
+ * Preparing global layout
49
+ *
50
+ * @return Mage_Core_Block_Abstract
51
+ */
52
+ protected function _prepareLayout()
53
+ {
54
+ $this->addTab('set', array(
55
+ 'label' => $this->__('Settings'),
56
+ 'content' => $this->getLayout()->createBlock('xmlconnect/adminhtml_admin_application_edit_tab_settings')
57
+ ->toHtml(),
58
+ 'active' => true
59
+ ));
60
+ return parent::_prepareLayout();
61
+ }
62
+ }
app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Config.php ADDED
@@ -0,0 +1,68 @@
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) 2010 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
+ * Admin application config renderer
29
+ *
30
+ * @category Mage
31
+ * @package Mage_XmlConnect
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_XmlConnect_Block_Adminhtml_Connect_Config extends Mage_Core_Block_Abstract
35
+ {
36
+ /**
37
+ * Render login form xml
38
+ *
39
+ * @return string
40
+ */
41
+ protected function _toHtml()
42
+ {
43
+ /** @var Mage_XmlConnect_Model_Simplexml_Element $configXmlObj */
44
+ $configXmlObj = Mage::getModel('xmlconnect/simplexml_element', '<configuration></configuration>');
45
+ $this->_addLocalization($configXmlObj);
46
+ $configXmlObj->addCustomChild('xmlconnect_version', Mage::getConfig()->getNode(
47
+ Mage_XmlConnect_Model_Application::XML_PATH_MODULE_VERSION
48
+ ));
49
+
50
+ return $configXmlObj->asNiceXml();
51
+ }
52
+
53
+ /**
54
+ * Add localization data to xml object
55
+ *
56
+ * @param Mage_XmlConnect_Model_Simplexml_Element $xml
57
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Config
58
+ */
59
+ protected function _addLocalization(Mage_XmlConnect_Model_Simplexml_Element $xml)
60
+ {
61
+ /** @var $translateHelper Mage_XmlConnect_Helper_Translate */
62
+ $translateHelper = Mage::helper('xmlconnect/translate');
63
+ $xml->addCustomChild('localization', $this->getUrl('*/*/localization'), array(
64
+ 'hash' => sha1(serialize($translateHelper->getLocalizationArray()))
65
+ ));
66
+ return $this;
67
+ }
68
+ }
app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard.php ADDED
@@ -0,0 +1,249 @@
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) 2010 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
+ * Admin application dashboard renderer
29
+ *
30
+ * @category Mage
31
+ * @package Mage_XmlConnect
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard extends Mage_Core_Block_Abstract
35
+ {
36
+ /**
37
+ * Simple xml object
38
+ *
39
+ * @var Mage_XmlConnect_Model_Simplexml_Element
40
+ */
41
+ protected $_xmlObject;
42
+
43
+ /**
44
+ * Render dashboard xml
45
+ *
46
+ * @return string
47
+ */
48
+ protected function _toHtml()
49
+ {
50
+ return $this->setXmlObject(Mage::getModel('xmlconnect/simplexml_element', '<dashboard></dashboard>'))
51
+ ->_addStoreSwitcher()->_addSalesInfo()->_addGraphInfo()->_addDashboardFormData()->getXmlObject()
52
+ ->asNiceXml();
53
+ }
54
+
55
+ /**
56
+ * Add store switcher xml
57
+ *
58
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard
59
+ */
60
+ protected function _addStoreSwitcher()
61
+ {
62
+ $this->getChild('store_switcher')->addSwitcherToXmlObj($this->getXmlObject());
63
+ return $this;
64
+ }
65
+
66
+ /**
67
+ * Add sales info
68
+ *
69
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard
70
+ */
71
+ protected function _addSalesInfo()
72
+ {
73
+ $this->getChild('sales_info')->addSalesInfoToXmlObj($this->getXmlObject());
74
+ return $this;
75
+ }
76
+
77
+ /**
78
+ * Add graph info to xml object
79
+ *
80
+ * Add orders and amounts info to show diagram by selected range in application
81
+ *
82
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard
83
+ */
84
+ protected function _addGraphInfo()
85
+ {
86
+ $this->getChild('graph_info')->addGraphInfoToXmlObj($this->getXmlObject());
87
+ return $this;
88
+ }
89
+
90
+ /**
91
+ * Add dashboard form data
92
+ *
93
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard
94
+ */
95
+ protected function _addDashboardFormData()
96
+ {
97
+ /** @var Mage_XmlConnect_Model_Simplexml_Form $fromXmlObj */
98
+ $fromXmlObj = Mage::getModel('xmlconnect/simplexml_form', array(
99
+ 'xml_id' => 'dashboard_form', 'action' => '', 'use_container' => true
100
+ ));
101
+
102
+ $recentActivityFieldset = $fromXmlObj->addFieldset('recent_activity', array(
103
+ 'title' => $this->__('Recent Activity')
104
+ ));
105
+
106
+ $this->_addLastOrders($recentActivityFieldset)->_addLastSearchTerms($recentActivityFieldset)
107
+ ->_addNewCustomers($recentActivityFieldset);
108
+
109
+ $overallActivityFieldset = $fromXmlObj->addFieldset('overall_activity', array(
110
+ 'title' => $this->__('Overall Activity')
111
+ ));
112
+
113
+ $this->_addTopSearchTerms($overallActivityFieldset)->_addMostViewedProducts($overallActivityFieldset)
114
+ ->_addBestSellers($overallActivityFieldset)->_addCustomers($overallActivityFieldset);
115
+
116
+ $this->getXmlObject()->appendChild($fromXmlObj->toXmlObject());
117
+ return $this;
118
+ }
119
+
120
+ /**
121
+ * Add last orders info to xml object
122
+ *
123
+ * @param Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $recentActivityFieldset
124
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard
125
+ */
126
+ protected function _addLastOrders(Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $recentActivityFieldset)
127
+ {
128
+ $lastOrdersField = $recentActivityFieldset->addField('last_orders', 'custom', array(
129
+ 'label' => $this->__('Last 5 Orders')
130
+ ));
131
+ $this->getChild('last_orders')->addLastOrdersToXmlObj($lastOrdersField->getXmlObject());
132
+ return $this;
133
+ }
134
+
135
+ /**
136
+ * Add last search terms data
137
+ *
138
+ * @param Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $recentActivityFieldset
139
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard
140
+ */
141
+ protected function _addLastSearchTerms(
142
+ Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $recentActivityFieldset
143
+ ) {
144
+ $lastSearchTermsField = $recentActivityFieldset->addField('last_search', 'custom', array(
145
+ 'label' => $this->__('Last 5 Search Terms')
146
+ ));
147
+ $this->getChild('last_search_terms')->addLastSearchTermsToXmlObj($lastSearchTermsField->getXmlObject());
148
+ return $this;
149
+ }
150
+
151
+ /**
152
+ * Add new customers info to xml object
153
+ *
154
+ * @param Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $recentActivityFieldset
155
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard
156
+ */
157
+ protected function _addNewCustomers(Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $recentActivityFieldset)
158
+ {
159
+ $newCustomersField = $recentActivityFieldset->addField('new_customers', 'custom', array(
160
+ 'label' => $this->__('New Customers')
161
+ ));
162
+ $this->getChild('new_customers')->addNewCustomersToXmlObj($newCustomersField->getXmlObject());
163
+ return $this;
164
+ }
165
+
166
+ /**
167
+ * Add top search queries info to xml object
168
+ *
169
+ * @param Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $overallActivityFieldset
170
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard
171
+ */
172
+ protected function _addTopSearchTerms(
173
+ Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $overallActivityFieldset
174
+ ) {
175
+ $topSearchField = $overallActivityFieldset->addField('top_search', 'custom', array(
176
+ 'label' => $this->__('Top Search Terms')
177
+ ));
178
+ $this->getChild('top_search_terms')->addTopSearchTermsToXmlObj($topSearchField->getXmlObject());
179
+ return $this;
180
+ }
181
+
182
+ /**
183
+ * Add most viewed products to xml object
184
+ *
185
+ * @param Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $overallActivityFieldset
186
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard
187
+ */
188
+ protected function _addMostViewedProducts(
189
+ Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $overallActivityFieldset
190
+ ) {
191
+ $mostViewedField = $overallActivityFieldset->addField('most_viewed', 'custom', array(
192
+ 'label' => $this->__('Most Viewed Products')
193
+ ));
194
+ $this->getChild('most_viewed')->addMostViewedProductsToXmlObj($mostViewedField->getXmlObject());
195
+ return $this;
196
+ }
197
+
198
+ /**
199
+ * Add best sellers info to xml object
200
+ *
201
+ * @param Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $overallActivityFieldset
202
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard
203
+ */
204
+ protected function _addBestSellers(Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $overallActivityFieldset)
205
+ {
206
+ $bestSellersField = $overallActivityFieldset->addField('best_sellers', 'custom', array(
207
+ 'label' => $this->__('Best Sellers')
208
+ ));
209
+ $this->getChild('best_sellers')->addBestSellersToXmlObj($bestSellersField->getXmlObject());
210
+ return $this;
211
+ }
212
+
213
+ /**
214
+ * Add customer info to xml object
215
+ *
216
+ * @param Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $overallActivityFieldset
217
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard
218
+ */
219
+ protected function _addCustomers(Mage_XmlConnect_Model_Simplexml_Form_Element_Fieldset $overallActivityFieldset)
220
+ {
221
+ $customersField = $overallActivityFieldset->addField('customers', 'custom', array(
222
+ 'label' => $this->__('Customers')
223
+ ));
224
+ $this->getChild('customers')->addCustomersToXmlObj($customersField->getXmlObject());
225
+ return $this;
226
+ }
227
+
228
+ /**
229
+ * Get xml object
230
+ *
231
+ * @return Mage_XmlConnect_Model_Simplexml_Element
232
+ */
233
+ public function getXmlObject()
234
+ {
235
+ return $this->_xmlObject;
236
+ }
237
+
238
+ /**
239
+ * Set xml object
240
+ *
241
+ * @param Mage_XmlConnect_Model_Simplexml_Element $xmlObject
242
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard
243
+ */
244
+ public function setXmlObject($xmlObject)
245
+ {
246
+ $this->_xmlObject = $xmlObject;
247
+ return $this;
248
+ }
249
+ }
app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/BestSellers.php ADDED
@@ -0,0 +1,113 @@
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) 2010 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
+ * Best sellers products xml renderer block
29
+ *
30
+ * @category Mage
31
+ * @package Mage_XmlConnect
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_BestSellers
35
+ extends Mage_Adminhtml_Block_Dashboard_Tab_Products_Ordered
36
+ {
37
+ /**
38
+ * Best sellers count to display
39
+ */
40
+ const BESTSELLERS_COUNT_LIMIT = 5;
41
+
42
+ /**
43
+ * Get rid of unnecessary collection initialization
44
+ *
45
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_BestSellers
46
+ */
47
+ protected function _prepareCollection()
48
+ {
49
+ return $this;
50
+ }
51
+
52
+ /**
53
+ * Init last search terms collection
54
+ *
55
+ * @param int|null $storeId
56
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_BestSellers
57
+ */
58
+ protected function _initCollection($storeId)
59
+ {
60
+ /** @var $collection Mage_Sales_Model_Resource_Report_Bestsellers_Collection */
61
+ $collection = Mage::getResourceModel('sales/report_bestsellers_collection')->setModel('catalog/product')
62
+ ->addStoreFilter($storeId)->setPageSize(self::BESTSELLERS_COUNT_LIMIT);
63
+ $this->setCollection($collection);
64
+ return $this;
65
+ }
66
+
67
+ /**
68
+ * Clear collection
69
+ *
70
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_BestSellers
71
+ */
72
+ protected function _clearCollection()
73
+ {
74
+ $this->_collection = null;
75
+ return $this;
76
+ }
77
+
78
+ /**
79
+ * Add best sellers products to xml object
80
+ *
81
+ * @param Mage_XmlConnect_Model_Simplexml_Element $xmlObj
82
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_BestSellers
83
+ */
84
+ public function addBestSellersToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $xmlObj)
85
+ {
86
+ foreach (Mage::helper('xmlconnect/adminApplication')->getSwitcherList() as $storeId) {
87
+ $this->_clearCollection()->_initCollection($storeId);
88
+ $valuesXml = $xmlObj->addCustomChild('values', null, array(
89
+ 'store_id' => $storeId ? $storeId : Mage_XmlConnect_Helper_AdminApplication::ALL_STORE_VIEWS
90
+ ));
91
+
92
+ if(!count($this->getCollection()->getItems()) > 0) {
93
+ continue;
94
+ }
95
+
96
+ /** @var $orderHelper Mage_XmlConnect_Helper_Adminhtml_Dashboard_Order */
97
+ $orderHelper = Mage::helper('xmlconnect/adminhtml_dashboard_order');
98
+
99
+ foreach ($this->getCollection()->getItems() as $item) {
100
+ $itemListXml = $valuesXml->addCustomChild('item');
101
+ $itemListXml->addCustomChild('name', $item->getName(), array(
102
+ 'label' => Mage::helper('sales')->__('Product Name')
103
+ ));
104
+ $itemListXml->addCustomChild('price', $orderHelper->preparePrice($item->getProductPrice(), $storeId),
105
+ array('label' => Mage::helper('sales')->__('Price')));
106
+ $itemListXml->addCustomChild('qty_ordered', $item->getQtyOrdered(), array(
107
+ 'label' => Mage::helper('sales')->__('Quantity Ordered')
108
+ ));
109
+ }
110
+ }
111
+ return $this;
112
+ }
113
+ }
app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/Customers.php ADDED
@@ -0,0 +1,129 @@
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) 2010 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
+ * Customers xml renderer block
29
+ *
30
+ * @category Mage
31
+ * @package Mage_XmlConnect
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_Customers
35
+ extends Mage_Adminhtml_Block_Dashboard_Tab_Customers_Most
36
+ {
37
+ /**
38
+ * Customers count to display
39
+ */
40
+ const CUSTOMERS_COUNT_LIMIT = 5;
41
+
42
+ /**
43
+ * Get rid of unnecessary collection initialization
44
+ *
45
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_Customers
46
+ */
47
+ protected function _prepareCollection()
48
+ {
49
+ return $this;
50
+ }
51
+
52
+ /**
53
+ * Init order collection
54
+ *
55
+ * @param int|null $storeId
56
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_Customers
57
+ */
58
+ protected function _initCollection($storeId)
59
+ {
60
+ /** @var $collection Mage_Reports_Model_Resource_Order_Collection */
61
+ $collection = Mage::getResourceModel('reports/order_collection');
62
+ $collection->groupByCustomer()->addOrdersCount()->joinCustomerName()->setPageSize(self::CUSTOMERS_COUNT_LIMIT);
63
+
64
+ $storeFilter = 0;
65
+ if ($storeId) {
66
+ $collection->addAttributeToFilter('store_id', $storeId);
67
+ $storeFilter = 1;
68
+ }
69
+
70
+ $collection->addSumAvgTotals($storeFilter)->orderByTotalAmount();
71
+ $this->setCollection($collection);
72
+ return $this;
73
+ }
74
+
75
+ /**
76
+ * Clear collection
77
+ *
78
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_Customers
79
+ */
80
+ protected function _clearCollection()
81
+ {
82
+ $this->_collection = null;
83
+ return $this;
84
+ }
85
+
86
+ /**
87
+ * Add customers statistic to xml object
88
+ *
89
+ * @param Mage_XmlConnect_Model_Simplexml_Element $xmlObj
90
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_Customers
91
+ */
92
+ public function addCustomersToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $xmlObj)
93
+ {
94
+ foreach (Mage::helper('xmlconnect/adminApplication')->getSwitcherList() as $storeId) {
95
+ $this->_clearCollection()->_initCollection($storeId);
96
+ $valuesXml = $xmlObj->addCustomChild('values', null, array(
97
+ 'store_id' => $storeId ? $storeId : Mage_XmlConnect_Helper_AdminApplication::ALL_STORE_VIEWS
98
+ ));
99
+
100
+ if(!count($this->getCollection()->getItems()) > 0) {
101
+ continue;
102
+ }
103
+
104
+ /** @var $orderHelper Mage_XmlConnect_Helper_Adminhtml_Dashboard_Order */
105
+ $orderHelper = Mage::helper('xmlconnect/adminhtml_dashboard_order');
106
+
107
+ foreach ($this->getCollection()->getItems() as $item) {
108
+ $itemListXml = $valuesXml->addCustomChild('item');
109
+ $itemListXml->addCustomChild('name', $item->getName(), array(
110
+ 'label' => $this->__('Customer Name')
111
+ ));
112
+ $itemListXml->addCustomChild('orders_count', $item->getOrdersCount(), array(
113
+ 'label' => $this->__('Number of Orders')
114
+ ));
115
+ $itemListXml->addCustomChild(
116
+ 'orders_avg_amount',
117
+ $orderHelper->preparePrice($item->getOrdersAvgAmount(), $storeId),
118
+ array('label' => $this->__('Average Order Amount'))
119
+ );
120
+ $itemListXml->addCustomChild(
121
+ 'orders_sum_amount',
122
+ $orderHelper->preparePrice($item->getOrdersSumAmount(), $storeId),
123
+ array('label' => $this->__('Total Order Amount'))
124
+ );
125
+ }
126
+ }
127
+ return $this;
128
+ }
129
+ }
app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/GraphAmountsData.php ADDED
@@ -0,0 +1,71 @@
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) 2010 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
+ * Amounts chart data xml renderer block
29
+ *
30
+ * @category Mage
31
+ * @package Mage_XmlConnect
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_GraphAmountsData
35
+ extends Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_GraphDataAbstract
36
+ {
37
+ /**
38
+ * Initialize object
39
+ */
40
+ public function __construct()
41
+ {
42
+ $this->setHtmlId('amounts');
43
+ parent::__construct();
44
+ }
45
+
46
+ /**
47
+ * Prepare chart data
48
+ *
49
+ * @return null
50
+ */
51
+ protected function _prepareData()
52
+ {
53
+ $this->setDataHelperName('xmlconnect/adminhtml_dashboard_order');
54
+ $this->setDataRows('revenue');
55
+ $this->_axisMaps = array('x' => 'range', 'y' => 'revenue');
56
+ parent::_prepareData();
57
+ }
58
+
59
+ /**
60
+ * Add order chart data to xml object
61
+ *
62
+ * @param Mage_XmlConnect_Model_Simplexml_Element $xmlObj
63
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_GraphAmountsData
64
+ */
65
+ public function addAmountsChartDataToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $xmlObj)
66
+ {
67
+ $this->_xmlObj = $xmlObj->addCustomChild('chart_data_details', null, array('id' => 'amounts'));
68
+ $this->_addAllStoreData();
69
+ return $this;
70
+ }
71
+ }
app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/GraphDataAbstract.php ADDED
@@ -0,0 +1,350 @@
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) 2010 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
+ * Chart data xml renderer block abstract
29
+ *
30
+ * @category Mage
31
+ * @package Mage_XmlConnect
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ abstract class Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_GraphDataAbstract
35
+ extends Mage_Adminhtml_Block_Dashboard_Graph
36
+ {
37
+ /**
38
+ * X axis param
39
+ */
40
+ const AXIS_X = 'x';
41
+
42
+ /**
43
+ * Y axis param
44
+ */
45
+ const AXIS_Y = 'y';
46
+
47
+ /**
48
+ * Date range param for 24 hours
49
+ */
50
+ const DATE_RANGE_24H = '24h';
51
+
52
+ /**
53
+ * Date range param for 7 days
54
+ */
55
+ const DATE_RANGE_7D = '7d';
56
+
57
+ /**
58
+ * Date range param for 1 month
59
+ */
60
+ const DATE_RANGE_1M = '1m';
61
+
62
+ /**
63
+ * Date range param for 1 year
64
+ */
65
+ const DATE_RANGE_1Y = '1y';
66
+
67
+ /**
68
+ * Date range param for 2 years
69
+ */
70
+ const DATE_RANGE_2Y = '2y';
71
+
72
+ /**
73
+ * Chart xml object
74
+ *
75
+ * @var Mage_XmlConnect_Model_Simplexml_Element
76
+ */
77
+ protected $_xmlObj;
78
+
79
+ /**
80
+ * Add chart data from all stores
81
+ *
82
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_GraphDataAbstract
83
+ */
84
+ protected function _addAllStoreData()
85
+ {
86
+ $dataValuesXml = $this->getXmlObj()->addCustomChild('chart_data_values');
87
+ $dataDescriptionXml = $this->getXmlObj()->addCustomChild('chart_data_description');
88
+
89
+ foreach (Mage::helper('xmlconnect/adminApplication')->getSwitcherList() as $storeFilter) {
90
+ $this->getDataHelper()->setParam('store', $storeFilter ? $storeFilter : null);
91
+ $storeId = $this->getDataHelper()->getParam('store');
92
+ $storeId = $storeId ? $storeId : Mage_XmlConnect_Helper_AdminApplication::ALL_STORE_VIEWS;
93
+
94
+ $valuesXml = $dataValuesXml->addCustomChild('values', null, array(
95
+ 'store_id' => $storeId
96
+ ));
97
+
98
+ $descriptionXml = $dataDescriptionXml->addCustomChild('values', null, array(
99
+ 'store_id' => $storeId
100
+ ));
101
+
102
+ foreach ($this->getRangeOptions() as $rangeFilter) {
103
+ $this->getDataHelper()->setParam('period', $rangeFilter['value']);
104
+ $this->getDataHelper()->initCollection();
105
+ $chartData = $this->getChartData();
106
+ $valuesXml->addCustomChild('item', $chartData['values'], array(
107
+ 'range_id' => $this->getDataHelper()->getParam('period')
108
+ ));
109
+ $descriptionXml->addCustomChild('item', $chartData['description'], array(
110
+ 'range_id' => $this->getDataHelper()->getParam('period')
111
+ ));
112
+ }
113
+ }
114
+ return $this;
115
+ }
116
+
117
+ /**
118
+ * Get chart data array as chart values => chart reference axis description
119
+ *
120
+ * @throws Mage_Core_Exception
121
+ * @return array
122
+ */
123
+ public function getChartData()
124
+ {
125
+ if (!$this->getCount()) {
126
+ return array('values' => '', 'description' => '');
127
+ }
128
+
129
+ $this->_allSeries = $this->getRowsData($this->_dataRows);
130
+
131
+ foreach ($this->_axisMaps as $axis => $attr) {
132
+ $this->setAxisLabels($axis, $this->getRowsData($attr, true));
133
+ }
134
+
135
+ list($dateSeries, $dataSeries) = $this->_getRangeAndData();
136
+
137
+ $this->_axisLabels[self::AXIS_X] = $this->_normalizeDateSeries($dateSeries);
138
+ $this->_allSeries = $dataSeries;
139
+
140
+ $valueBuffer = array();
141
+ $params = array();
142
+
143
+ if (sizeof($this->_axisLabels) > 0) {
144
+ $indexId = 0;
145
+ foreach ($this->_axisLabels as $idx => $labels) {
146
+ if ($idx == self::AXIS_X) {
147
+ $valueBuffer[] = $indexId . ":|" . implode('|', $this->_getXLabels());
148
+ } elseif ($idx == self::AXIS_Y) {
149
+ $valueBuffer[] = $indexId . ":|" . implode('|', $this->_getYLabels());
150
+ }
151
+ $indexId++;
152
+ }
153
+ $params['description'] = implode('|', $valueBuffer);
154
+ };
155
+
156
+ foreach ($this->getAllSeries() as $row) {
157
+ array_walk($row, create_function('&$val', '$val = ceil($val);'));
158
+ $params['values'] = implode('|', $row);
159
+ }
160
+ return $params;
161
+ }
162
+
163
+ /**
164
+ * Get array of date range and values range series
165
+ *
166
+ * @return array
167
+ */
168
+ protected function _getRangeAndData()
169
+ {
170
+ $timezoneLocal = Mage::app()->getStore()->getConfig(Mage_Core_Model_Locale::XML_PATH_DEFAULT_TIMEZONE);
171
+
172
+ list ($dateStart, $dateEnd) = Mage::getResourceModel('reports/order_collection')
173
+ ->getDateRange($this->getDataHelper()->getParam('period'), '', '', true);
174
+
175
+ $dateStart->setTimezone($timezoneLocal);
176
+ $dateEnd->setTimezone($timezoneLocal);
177
+
178
+ $dateSeries = array();
179
+ $dataSeries = array();
180
+ while ($dateStart->compare($dateEnd) < 0) {
181
+ switch ($this->getDataHelper()->getParam('period')) {
182
+ case self::DATE_RANGE_24H:
183
+ $date = $dateStart->toString('yyyy-MM-dd HH:00');
184
+ $dateStart->addHour(1);
185
+ break;
186
+ case self::DATE_RANGE_7D:
187
+ case self::DATE_RANGE_1M:
188
+ $date = $dateStart->toString('yyyy-MM-dd');
189
+ $dateStart->addDay(1);
190
+ break;
191
+ case self::DATE_RANGE_1Y:
192
+ case self::DATE_RANGE_2Y:
193
+ $date = $dateStart->toString('yyyy-MM');
194
+ $dateStart->addMonth(1);
195
+ break;
196
+ }
197
+ foreach ($this->getAllSeries() as $index => $series) {
198
+ if (in_array($date, $this->_axisLabels[self::AXIS_X])) {
199
+ $dataSeries[$index][] = (float)array_shift($this->_allSeries[$index]);
200
+ } else {
201
+ $dataSeries[$index][] = 0;
202
+ }
203
+ }
204
+ $dateSeries[] = $date;
205
+ }
206
+ return array($dateSeries, $dataSeries);
207
+ }
208
+
209
+ /**
210
+ * Skip excess values of date series
211
+ *
212
+ * Keep count of date series up to 15 items
213
+ *
214
+ * @param array $dateSeries
215
+ * @return array
216
+ */
217
+ protected function _normalizeDateSeries($dateSeries)
218
+ {
219
+ /**
220
+ * setting skip step
221
+ */
222
+ if (count($dateSeries) > 8 && count($dateSeries) < 15) {
223
+ $skipStep = 1;
224
+ } elseif (count($dateSeries) >= 15) {
225
+ $skipStep = 2;
226
+ } else {
227
+ $skipStep = 0;
228
+ }
229
+ /**
230
+ * skipping some x labels for good reading
231
+ */
232
+ $i = 0;
233
+ foreach ($dateSeries as $index => $date) {
234
+ if ($i == $skipStep) {
235
+ $dateSeries[$index] = $date;
236
+ $i = 0;
237
+ } else {
238
+ $dateSeries[$index] = '';
239
+ ++$i;
240
+ }
241
+ }
242
+ return $dateSeries;
243
+ }
244
+
245
+ /**
246
+ * Get X axis params array
247
+ *
248
+ * @return array
249
+ */
250
+ protected function _getXLabels()
251
+ {
252
+ /**
253
+ * Format date
254
+ */
255
+ foreach ($this->_axisLabels[self::AXIS_X] as $index => $label) {
256
+ if ($label != '') {
257
+ switch ($this->getDataHelper()->getParam('period')) {
258
+ case self::DATE_RANGE_24H:
259
+ $this->_axisLabels[self::AXIS_X][$index] = $this->formatTime(
260
+ new Zend_Date($label, 'yyyy-MM-dd HH:00'), 'short', false
261
+ );
262
+ break;
263
+ case self::DATE_RANGE_7D:
264
+ case self::DATE_RANGE_1M:
265
+ $this->_axisLabels[self::AXIS_X][$index] = $this->formatDate(
266
+ new Zend_Date($label, 'yyyy-MM-dd')
267
+ );
268
+ break;
269
+ case self::DATE_RANGE_1Y:
270
+ case self::DATE_RANGE_2Y:
271
+ $formats = Mage::app()->getLocale()->getTranslationList('datetime');
272
+ $format = isset($formats['yyMM']) ? $formats['yyMM'] : 'MM/yyyy';
273
+ $format = str_replace(array("yyyy", "yy", "MM"), array("Y", "y", "m"), $format);
274
+ $this->_axisLabels[self::AXIS_X][$index] = date($format, strtotime($label));
275
+ break;
276
+ default:
277
+ Mage::throwException($this->__('Range param doesn\'t recognized'));
278
+ break;
279
+ }
280
+ } else {
281
+ $this->_axisLabels[self::AXIS_X][$index] = '';
282
+ }
283
+ }
284
+ return $this->_axisLabels[self::AXIS_X];
285
+ }
286
+
287
+ /**
288
+ * Get Y axis params array
289
+ *
290
+ * @return array
291
+ */
292
+ protected function _getYLabels()
293
+ {
294
+ $localMaxValue = $localMinValue = array();
295
+ // process each string in the array, and find the max length
296
+ foreach ($this->getAllSeries() as $index => $series) {
297
+ $localMaxValue[$index] = max($series);
298
+ $localMinValue[$index] = min($series);
299
+ }
300
+
301
+ if (is_numeric($this->_max)) {
302
+ $maxvalue = $this->_max;
303
+ } else {
304
+ $maxvalue = max($localMaxValue);
305
+ }
306
+ if (is_numeric($this->_min)) {
307
+ $minvalue = $this->_min;
308
+ } else {
309
+ $minvalue = min($localMinValue);
310
+ }
311
+
312
+ // default values
313
+ $yLabels = array();
314
+
315
+ if ($minvalue >= 0 && $maxvalue >= 0) {
316
+ $miny = 0;
317
+ if ($maxvalue > 10) {
318
+ $p = pow(10, $this->_getPow($maxvalue));
319
+ $maxy = ceil($maxvalue / $p) * $p;
320
+ $yLabels = range($miny, $maxy, $p);
321
+ } else {
322
+ $maxy = ceil($maxvalue + 1);
323
+ $yLabels = range($miny, $maxy, 1);
324
+ }
325
+ }
326
+ return $yLabels;
327
+ }
328
+
329
+ /**
330
+ * Get chart xml object
331
+ *
332
+ * @return Mage_XmlConnect_Model_Simplexml_Element
333
+ */
334
+ public function getXmlObj()
335
+ {
336
+ return $this->_xmlObj;
337
+ }
338
+
339
+ /**
340
+ * Set chart xml object
341
+ *
342
+ * @param Mage_XmlConnect_Model_Simplexml_Element $xmlObj
343
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_GraphDataAbstract
344
+ */
345
+ public function setXmlObj($xmlObj)
346
+ {
347
+ $this->_xmlObj = $xmlObj;
348
+ return $this;
349
+ }
350
+ }
app/code/core/Mage/XmlConnect/Block/Adminhtml/Connect/Dashboard/GraphInfo.php ADDED
@@ -0,0 +1,160 @@
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) 2010 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
+ * Admin application diagram info renderer
29
+ *
30
+ * @category Mage
31
+ * @package Mage_XmlConnect
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_GraphInfo extends Mage_Core_Block_Abstract
35
+ {
36
+ /**
37
+ * Time range filter options
38
+ *
39
+ * @var array
40
+ */
41
+ protected $_timeRangeOptions;
42
+
43
+ /**
44
+ * Add last orders info to xml object
45
+ *
46
+ * @param Mage_XmlConnect_Model_Simplexml_Element $xmlObj
47
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_GraphInfo
48
+ */
49
+ public function addGraphInfoToXmlObj(Mage_XmlConnect_Model_Simplexml_Element $xmlObj)
50
+ {
51
+ /** @var $graphInfoXmlObj Mage_XmlConnect_Model_Simplexml_Element */
52
+ $graphInfoXmlObj = $xmlObj->addCustomChild('chart');
53
+ $this->_addRangeValues($graphInfoXmlObj)->_addDataSelector($graphInfoXmlObj)->_addTotalsBar($graphInfoXmlObj);
54
+
55
+ $graphInfoXmlObj = $graphInfoXmlObj->addCustomChild('chart_data');
56
+ $this->_addChartDataOrders($graphInfoXmlObj)->_addChartDataAmounts($graphInfoXmlObj);
57
+ return $this;
58
+ }
59
+
60
+ /**
61
+ * Add time range select filed to xml object
62
+ *
63
+ * @param Mage_XmlConnect_Model_Simplexml_Element $xmlObj
64
+ * @return Mage_XmlConnect_Block_Adminhtml_Connect_Dashboard_GraphInfo
65
+ */
66
+ protected function _addRangeValues(Mage_XmlConnect_Model_Simplexml_Element $xmlObj)
67
+ {
68
+ $options = $this->_getRangeOptions();
69
+
70
+ /** @var $rangeXmlObj Mage_XmlConnect_Model_Simplexml_Form_Element_Select */
71
+ $rangeXmlObj = Mage::getModel('xmlconnect/simplexml_form_element_select', array(
72
+ 'label' => $this->__('Select Range'),
73
+ 'options' => $options,
74
+ 'value' => $options[0]['value']
75
+ ));
76
+ $rangeXmlObj->setId('range_id');
77
+ $xmlObj->appendChild($