Mage_Core_Modules - Version 1.8.0.0

Version Notes

1.8.0.0

Download this release

Release Info

Developer Magento Core Team
Extension Mage_Core_Modules
Version 1.8.0.0
Comparing to
See all releases


Code changes from version 1.7.0.2 to 1.8.0.0

Files changed (1016) hide show
  1. .htaccess.sample +1 -2
  2. RELEASE_NOTES.txt +9 -0
  3. app/Mage.php +3 -3
  4. app/code/core/Mage/Admin/Helper/Data.php +1 -1
  5. app/code/core/Mage/Admin/Model/Acl.php +1 -1
  6. app/code/core/Mage/Admin/Model/Acl/Assert/Ip.php +1 -1
  7. app/code/core/Mage/Admin/Model/Acl/Assert/Time.php +1 -1
  8. app/code/core/Mage/Admin/Model/Acl/Resource.php +1 -1
  9. app/code/core/Mage/Admin/Model/Acl/Role.php +1 -1
  10. app/code/core/Mage/Admin/Model/Acl/Role/Generic.php +1 -1
  11. app/code/core/Mage/Admin/Model/Acl/Role/Group.php +1 -1
  12. app/code/core/Mage/Admin/Model/Acl/Role/Registry.php +1 -1
  13. app/code/core/Mage/Admin/Model/Acl/Role/User.php +1 -1
  14. app/code/core/Mage/Admin/Model/Config.php +1 -1
  15. app/code/core/Mage/Admin/Model/Mysql4/Acl.php +1 -1
  16. app/code/core/Mage/Admin/Model/Mysql4/Acl/Role.php +1 -1
  17. app/code/core/Mage/Admin/Model/Mysql4/Acl/Role/Collection.php +1 -1
  18. app/code/core/Mage/Admin/Model/Mysql4/Permissions/Collection.php +1 -1
  19. app/code/core/Mage/Admin/Model/Mysql4/Role.php +1 -1
  20. app/code/core/Mage/Admin/Model/Mysql4/Role/Collection.php +1 -1
  21. app/code/core/Mage/Admin/Model/Mysql4/Roles.php +1 -1
  22. app/code/core/Mage/Admin/Model/Mysql4/Roles/Collection.php +1 -1
  23. app/code/core/Mage/Admin/Model/Mysql4/Roles/User/Collection.php +1 -1
  24. app/code/core/Mage/Admin/Model/Mysql4/Rules.php +1 -1
  25. app/code/core/Mage/Admin/Model/Mysql4/Rules/Collection.php +1 -1
  26. app/code/core/Mage/Admin/Model/Mysql4/User.php +1 -1
  27. app/code/core/Mage/Admin/Model/Mysql4/User/Collection.php +1 -1
  28. app/code/core/Mage/Admin/Model/Observer.php +1 -1
  29. app/code/core/Mage/Admin/Model/Resource/Acl.php +1 -1
  30. app/code/core/Mage/Admin/Model/Resource/Acl/Role.php +1 -1
  31. app/code/core/Mage/Admin/Model/Resource/Acl/Role/Collection.php +1 -1
  32. app/code/core/Mage/Admin/Model/Resource/Permissions/Collection.php +1 -1
  33. app/code/core/Mage/Admin/Model/Resource/Role.php +1 -1
  34. app/code/core/Mage/Admin/Model/Resource/Role/Collection.php +1 -1
  35. app/code/core/Mage/Admin/Model/Resource/Roles.php +1 -1
  36. app/code/core/Mage/Admin/Model/Resource/Roles/Collection.php +1 -1
  37. app/code/core/Mage/Admin/Model/Resource/Roles/User/Collection.php +1 -1
  38. app/code/core/Mage/Admin/Model/Resource/Rules.php +1 -1
  39. app/code/core/Mage/Admin/Model/Resource/Rules/Collection.php +1 -1
  40. app/code/core/Mage/Admin/Model/Resource/User.php +6 -7
  41. app/code/core/Mage/Admin/Model/Resource/User/Collection.php +1 -1
  42. app/code/core/Mage/Admin/Model/Role.php +1 -1
  43. app/code/core/Mage/Admin/Model/Roles.php +1 -1
  44. app/code/core/Mage/Admin/Model/Rules.php +1 -1
  45. app/code/core/Mage/Admin/Model/Session.php +1 -1
  46. app/code/core/Mage/Admin/Model/User.php +22 -6
  47. app/code/core/Mage/Admin/data/admin_setup/data-install-1.6.0.0.php +1 -1
  48. app/code/core/Mage/Admin/etc/config.xml +2 -2
  49. app/code/core/Mage/Admin/sql/admin_setup/install-1.6.0.0.php +1 -1
  50. app/code/core/Mage/Admin/sql/admin_setup/mysql4-install-0.7.0.php +1 -1
  51. app/code/core/Mage/Admin/sql/admin_setup/mysql4-upgrade-0.7.0-0.7.1.php +1 -1
  52. app/code/core/Mage/Admin/sql/admin_setup/mysql4-upgrade-0.7.1-0.7.2.php +1 -1
  53. app/code/core/Mage/Admin/sql/admin_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -1
  54. app/code/core/Mage/Admin/sql/admin_setup/upgrade-1.6.0.0-1.6.1.0.php +1 -1
  55. app/code/core/Mage/Admin/sql/admin_setup/upgrade-1.6.1.0-1.6.1.1.php +38 -0
  56. app/code/core/Mage/AdminNotification/Helper/Data.php +1 -1
  57. app/code/core/Mage/AdminNotification/Model/Feed.php +1 -1
  58. app/code/core/Mage/AdminNotification/Model/Inbox.php +1 -1
  59. app/code/core/Mage/AdminNotification/Model/Mysql4/Inbox.php +1 -1
  60. app/code/core/Mage/AdminNotification/Model/Mysql4/Inbox/Collection.php +1 -1
  61. app/code/core/Mage/AdminNotification/Model/Observer.php +1 -1
  62. app/code/core/Mage/AdminNotification/Model/Resource/Inbox.php +1 -1
  63. app/code/core/Mage/AdminNotification/Model/Resource/Inbox/Collection.php +1 -1
  64. app/code/core/Mage/AdminNotification/Model/Survey.php +1 -1
  65. app/code/core/Mage/AdminNotification/etc/adminhtml.xml +1 -1
  66. app/code/core/Mage/AdminNotification/etc/config.xml +1 -1
  67. app/code/core/Mage/AdminNotification/etc/system.xml +1 -1
  68. app/code/core/Mage/AdminNotification/sql/adminnotification_setup/install-1.6.0.0.php +1 -1
  69. app/code/core/Mage/AdminNotification/sql/adminnotification_setup/mysql4-install-1.0.0.php +1 -1
  70. app/code/core/Mage/AdminNotification/sql/adminnotification_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -1
  71. app/code/core/Mage/Api/Controller/Action.php +1 -1
  72. app/code/core/Mage/Api/Exception.php +1 -1
  73. app/code/core/Mage/Api/Helper/Data.php +45 -34
  74. app/code/core/Mage/Api/Model/Acl.php +1 -1
  75. app/code/core/Mage/Api/Model/Acl/Assert/Ip.php +1 -1
  76. app/code/core/Mage/Api/Model/Acl/Assert/Time.php +1 -1
  77. app/code/core/Mage/Api/Model/Acl/Resource.php +1 -1
  78. app/code/core/Mage/Api/Model/Acl/Role.php +1 -1
  79. app/code/core/Mage/Api/Model/Acl/Role/Generic.php +1 -1
  80. app/code/core/Mage/Api/Model/Acl/Role/Group.php +1 -1
  81. app/code/core/Mage/Api/Model/Acl/Role/Registry.php +1 -1
  82. app/code/core/Mage/Api/Model/Acl/Role/User.php +1 -1
  83. app/code/core/Mage/Api/Model/Config.php +1 -1
  84. app/code/core/Mage/Api/Model/Mysql4/Acl.php +1 -1
  85. app/code/core/Mage/Api/Model/Mysql4/Acl/Role.php +1 -1
  86. app/code/core/Mage/Api/Model/Mysql4/Acl/Role/Collection.php +1 -1
  87. app/code/core/Mage/Api/Model/Mysql4/Permissions/Collection.php +1 -1
  88. app/code/core/Mage/Api/Model/Mysql4/Role.php +1 -1
  89. app/code/core/Mage/Api/Model/Mysql4/Role/Collection.php +1 -1
  90. app/code/core/Mage/Api/Model/Mysql4/Roles.php +1 -1
  91. app/code/core/Mage/Api/Model/Mysql4/Roles/Collection.php +1 -1
  92. app/code/core/Mage/Api/Model/Mysql4/Roles/User/Collection.php +1 -1
  93. app/code/core/Mage/Api/Model/Mysql4/Rules.php +1 -1
  94. app/code/core/Mage/Api/Model/Mysql4/Rules/Collection.php +1 -1
  95. app/code/core/Mage/Api/Model/Mysql4/User.php +1 -1
  96. app/code/core/Mage/Api/Model/Mysql4/User/Collection.php +1 -1
  97. app/code/core/Mage/Api/Model/Resource/Abstract.php +1 -1
  98. app/code/core/Mage/Api/Model/Resource/Acl.php +1 -1
  99. app/code/core/Mage/Api/Model/Resource/Acl/Role.php +1 -1
  100. app/code/core/Mage/Api/Model/Resource/Acl/Role/Collection.php +1 -1
  101. app/code/core/Mage/Api/Model/Resource/Permissions/Collection.php +1 -1
  102. app/code/core/Mage/Api/Model/Resource/Role.php +1 -1
  103. app/code/core/Mage/Api/Model/Resource/Role/Collection.php +1 -1
  104. app/code/core/Mage/Api/Model/Resource/Roles.php +1 -1
  105. app/code/core/Mage/Api/Model/Resource/Roles/Collection.php +1 -1
  106. app/code/core/Mage/Api/Model/Resource/Roles/User/Collection.php +1 -1
  107. app/code/core/Mage/Api/Model/Resource/Rules.php +1 -1
  108. app/code/core/Mage/Api/Model/Resource/Rules/Collection.php +1 -1
  109. app/code/core/Mage/Api/Model/Resource/User.php +1 -1
  110. app/code/core/Mage/Api/Model/Resource/User/Collection.php +1 -1
  111. app/code/core/Mage/Api/Model/Role.php +1 -1
  112. app/code/core/Mage/Api/Model/Roles.php +1 -1
  113. app/code/core/Mage/Api/Model/Rules.php +1 -1
  114. app/code/core/Mage/Api/Model/Server.php +1 -1
  115. app/code/core/Mage/Api/Model/Server/Adapter/Interface.php +1 -1
  116. app/code/core/Mage/Api/Model/Server/Adapter/Soap.php +1 -1
  117. app/code/core/Mage/Api/Model/Server/Adapter/Xmlrpc.php +1 -1
  118. app/code/core/Mage/Api/Model/Server/Handler.php +1 -1
  119. app/code/core/Mage/Api/Model/Server/Handler/Abstract.php +3 -3
  120. app/code/core/Mage/Api/Model/Server/V2/Adapter/Soap.php +13 -9
  121. app/code/core/Mage/Api/Model/Server/V2/Handler.php +1 -1
  122. app/code/core/Mage/Api/Model/Server/Wsi/Adapter/Soap.php +25 -20
  123. app/code/core/Mage/Api/Model/Server/Wsi/Handler.php +13 -1
  124. app/code/core/Mage/Api/Model/Session.php +1 -1
  125. app/code/core/Mage/Api/Model/User.php +111 -7
  126. app/code/core/Mage/Api/Model/Wsdl/Config.php +1 -1
  127. app/code/core/Mage/Api/Model/Wsdl/Config/Base.php +1 -1
  128. app/code/core/Mage/Api/Model/Wsdl/Config/Element.php +1 -1
  129. app/code/core/Mage/Api/controllers/IndexController.php +1 -1
  130. app/code/core/Mage/Api/controllers/SoapController.php +1 -1
  131. app/code/core/Mage/Api/controllers/V2/SoapController.php +1 -1
  132. app/code/core/Mage/Api/controllers/XmlrpcController.php +1 -1
  133. app/code/core/Mage/Api/etc/adminhtml.xml +1 -1
  134. app/code/core/Mage/Api/etc/api.xml +1 -1
  135. app/code/core/Mage/Api/etc/config.xml +2 -2
  136. app/code/core/Mage/Api/etc/system.xml +1 -1
  137. app/code/core/Mage/Api/sql/api_setup/install-1.6.0.0.php +1 -1
  138. app/code/core/Mage/Api/sql/api_setup/mysql4-install-0.7.0.php +1 -1
  139. app/code/core/Mage/Api/sql/api_setup/mysql4-upgrade-0.7.0-0.7.1.php +1 -1
  140. app/code/core/Mage/Api/sql/api_setup/mysql4-upgrade-0.8.0-0.8.1.php +1 -1
  141. app/code/core/Mage/Api/sql/api_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -1
  142. app/code/core/Mage/Api/sql/api_setup/mysql4-upgrade-1.6.0.0-1.6.0.1.php +41 -0
  143. app/code/core/Mage/Api2/Block/Adminhtml/Attribute.php +1 -1
  144. app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Buttons.php +1 -1
  145. app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Edit.php +1 -1
  146. app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Edit/Form.php +1 -1
  147. app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Grid.php +1 -1
  148. app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Tab/Resource.php +1 -1
  149. app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Tabs.php +1 -1
  150. app/code/core/Mage/Api2/Block/Adminhtml/Permissions/User/Edit/Tab/Roles.php +1 -1
  151. app/code/core/Mage/Api2/Block/Adminhtml/Roles.php +1 -1
  152. app/code/core/Mage/Api2/Block/Adminhtml/Roles/Buttons.php +1 -1
  153. app/code/core/Mage/Api2/Block/Adminhtml/Roles/Grid.php +1 -1
  154. app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tab/Info.php +2 -5
  155. app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tab/Resources.php +1 -1
  156. app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tab/Users.php +1 -1
  157. app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tabs.php +1 -1
  158. app/code/core/Mage/Api2/Exception.php +1 -1
  159. app/code/core/Mage/Api2/Helper/Data.php +1 -1
  160. app/code/core/Mage/Api2/Model/Acl.php +1 -1
  161. app/code/core/Mage/Api2/Model/Acl/Filter.php +1 -1
  162. app/code/core/Mage/Api2/Model/Acl/Filter/Attribute.php +1 -1
  163. app/code/core/Mage/Api2/Model/Acl/Filter/Attribute/Operation.php +1 -1
  164. app/code/core/Mage/Api2/Model/Acl/Filter/Attribute/ResourcePermission.php +1 -1
  165. app/code/core/Mage/Api2/Model/Acl/Global.php +1 -1
  166. app/code/core/Mage/Api2/Model/Acl/Global/Role.php +3 -5
  167. app/code/core/Mage/Api2/Model/Acl/Global/Rule.php +1 -1
  168. app/code/core/Mage/Api2/Model/Acl/Global/Rule/Permission.php +1 -1
  169. app/code/core/Mage/Api2/Model/Acl/Global/Rule/Privilege.php +1 -1
  170. app/code/core/Mage/Api2/Model/Acl/Global/Rule/ResourcePermission.php +1 -1
  171. app/code/core/Mage/Api2/Model/Acl/Global/Rule/Tree.php +1 -1
  172. app/code/core/Mage/Api2/Model/Acl/PermissionInterface.php +1 -1
  173. app/code/core/Mage/Api2/Model/Auth.php +1 -1
  174. app/code/core/Mage/Api2/Model/Auth/Adapter.php +1 -1
  175. app/code/core/Mage/Api2/Model/Auth/Adapter/Abstract.php +1 -1
  176. app/code/core/Mage/Api2/Model/Auth/Adapter/Oauth.php +1 -1
  177. app/code/core/Mage/Api2/Model/Auth/User.php +1 -1
  178. app/code/core/Mage/Api2/Model/Auth/User/Abstract.php +1 -1
  179. app/code/core/Mage/Api2/Model/Auth/User/Admin.php +1 -1
  180. app/code/core/Mage/Api2/Model/Auth/User/Customer.php +1 -1
  181. app/code/core/Mage/Api2/Model/Auth/User/Guest.php +1 -1
  182. app/code/core/Mage/Api2/Model/Config.php +1 -1
  183. app/code/core/Mage/Api2/Model/Dispatcher.php +1 -1
  184. app/code/core/Mage/Api2/Model/Multicall.php +1 -1
  185. app/code/core/Mage/Api2/Model/Observer.php +1 -1
  186. app/code/core/Mage/Api2/Model/Renderer.php +1 -1
  187. app/code/core/Mage/Api2/Model/Renderer/Interface.php +1 -1
  188. app/code/core/Mage/Api2/Model/Renderer/Json.php +1 -1
  189. app/code/core/Mage/Api2/Model/Renderer/Query.php +1 -1
  190. app/code/core/Mage/Api2/Model/Renderer/Xml.php +1 -1
  191. app/code/core/Mage/Api2/Model/Renderer/Xml/Writer.php +1 -1
  192. app/code/core/Mage/Api2/Model/Request.php +1 -1
  193. app/code/core/Mage/Api2/Model/Request/Internal.php +1 -1
  194. app/code/core/Mage/Api2/Model/Request/Interpreter.php +1 -1
  195. app/code/core/Mage/Api2/Model/Request/Interpreter/Interface.php +1 -1
  196. app/code/core/Mage/Api2/Model/Request/Interpreter/Json.php +1 -1
  197. app/code/core/Mage/Api2/Model/Request/Interpreter/Query.php +1 -1
  198. app/code/core/Mage/Api2/Model/Request/Interpreter/Xml.php +1 -1
  199. app/code/core/Mage/Api2/Model/Resource.php +1 -1
  200. app/code/core/Mage/Api2/Model/Resource/Acl/Filter/Attribute.php +1 -1
  201. app/code/core/Mage/Api2/Model/Resource/Acl/Filter/Attribute/Collection.php +1 -1
  202. app/code/core/Mage/Api2/Model/Resource/Acl/Global/Role.php +1 -1
  203. app/code/core/Mage/Api2/Model/Resource/Acl/Global/Role/Collection.php +1 -1
  204. app/code/core/Mage/Api2/Model/Resource/Acl/Global/Rule.php +1 -1
  205. app/code/core/Mage/Api2/Model/Resource/Acl/Global/Rule/Collection.php +1 -1
  206. app/code/core/Mage/Api2/Model/Resource/Setup.php +1 -1
  207. app/code/core/Mage/Api2/Model/Resource/Validator.php +1 -1
  208. app/code/core/Mage/Api2/Model/Resource/Validator/Eav.php +3 -4
  209. app/code/core/Mage/Api2/Model/Resource/Validator/Fields.php +1 -1
  210. app/code/core/Mage/Api2/Model/Response.php +1 -1
  211. app/code/core/Mage/Api2/Model/Route/Abstract.php +1 -1
  212. app/code/core/Mage/Api2/Model/Route/ApiType.php +1 -1
  213. app/code/core/Mage/Api2/Model/Route/Interface.php +1 -1
  214. app/code/core/Mage/Api2/Model/Route/Rest.php +1 -1
  215. app/code/core/Mage/Api2/Model/Router.php +1 -1
  216. app/code/core/Mage/Api2/Model/Server.php +1 -1
  217. app/code/core/Mage/Api2/controllers/Adminhtml/Api2/AttributeController.php +1 -1
  218. app/code/core/Mage/Api2/controllers/Adminhtml/Api2/RoleController.php +1 -1
  219. app/code/core/Mage/Api2/etc/adminhtml.xml +1 -1
  220. app/code/core/Mage/Api2/etc/config.xml +1 -1
  221. app/code/core/Mage/Api2/sql/api2_setup/install-1.0.0.0.php +1 -1
  222. app/code/core/Mage/Authorizenet/Block/Directpost/Form.php +1 -1
  223. app/code/core/Mage/Authorizenet/Block/Directpost/Iframe.php +1 -1
  224. app/code/core/Mage/Authorizenet/Helper/Data.php +3 -2
  225. app/code/core/Mage/Authorizenet/Model/Directpost.php +10 -7
  226. app/code/core/Mage/Authorizenet/Model/Directpost/Observer.php +1 -1
  227. app/code/core/Mage/Authorizenet/Model/Directpost/Request.php +1 -1
  228. app/code/core/Mage/Authorizenet/Model/Directpost/Response.php +1 -1
  229. app/code/core/Mage/Authorizenet/Model/Directpost/Session.php +1 -1
  230. app/code/core/Mage/Authorizenet/controllers/Adminhtml/Authorizenet/Directpost/PaymentController.php +1 -1
  231. app/code/core/Mage/Authorizenet/controllers/Directpost/PaymentController.php +1 -1
  232. app/code/core/Mage/Authorizenet/etc/config.xml +1 -1
  233. app/code/core/Mage/Authorizenet/etc/system.xml +1 -1
  234. app/code/core/Mage/Backup/Exception.php +1 -1
  235. app/code/core/Mage/Backup/Helper/Data.php +5 -5
  236. app/code/core/Mage/Backup/Model/Backup.php +1 -1
  237. app/code/core/Mage/Backup/Model/Config/Backend/Cron.php +1 -1
  238. app/code/core/Mage/Backup/Model/Config/Source/Type.php +1 -1
  239. app/code/core/Mage/Backup/Model/Db.php +1 -1
  240. app/code/core/Mage/Backup/Model/Fs/Collection.php +1 -1
  241. app/code/core/Mage/Backup/Model/Mysql4/Db.php +1 -1
  242. app/code/core/Mage/Backup/Model/Observer.php +1 -1
  243. app/code/core/Mage/Backup/Model/Resource/Db.php +1 -1
  244. app/code/core/Mage/Backup/Model/Resource/Helper/Mysql4.php +1 -1
  245. app/code/core/Mage/Backup/etc/adminhtml.xml +1 -1
  246. app/code/core/Mage/Backup/etc/config.xml +1 -1
  247. app/code/core/Mage/Backup/etc/system.xml +1 -1
  248. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Bundle.php +1 -1
  249. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Checkbox.php +1 -1
  250. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Multi.php +1 -1
  251. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Radio.php +1 -1
  252. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Select.php +1 -1
  253. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes.php +1 -1
  254. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.php +1 -1
  255. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Special.php +1 -1
  256. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle.php +1 -1
  257. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option.php +1 -1
  258. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search.php +1 -1
  259. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid.php +1 -1
  260. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Selection.php +1 -1
  261. app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tabs.php +1 -1
  262. app/code/core/Mage/Bundle/Block/Adminhtml/Sales/Order/Items/Renderer.php +19 -8
  263. app/code/core/Mage/Bundle/Block/Adminhtml/Sales/Order/View/Items/Renderer.php +21 -9
  264. app/code/core/Mage/Bundle/Block/Catalog/Product/List/Partof.php +1 -1
  265. app/code/core/Mage/Bundle/Block/Catalog/Product/Price.php +1 -1
  266. app/code/core/Mage/Bundle/Block/Catalog/Product/View.php +21 -9
  267. app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle.php +10 -4
  268. app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option.php +6 -1
  269. app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option/Checkbox.php +1 -1
  270. app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option/Multi.php +1 -1
  271. app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option/Radio.php +1 -1
  272. app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option/Select.php +1 -1
  273. app/code/core/Mage/Bundle/Block/Checkout/Cart/Item/Renderer.php +13 -12
  274. app/code/core/Mage/Bundle/Block/Sales/Order/Items/Renderer.php +20 -9
  275. app/code/core/Mage/Bundle/Helper/Catalog/Product/Configuration.php +29 -23
  276. app/code/core/Mage/Bundle/Helper/Data.php +1 -1
  277. app/code/core/Mage/Bundle/Model/CatalogIndex/Data/Bundle.php +1 -1
  278. app/code/core/Mage/Bundle/Model/Mysql4/Bundle.php +1 -1
  279. app/code/core/Mage/Bundle/Model/Mysql4/Indexer/Price.php +1 -1
  280. app/code/core/Mage/Bundle/Model/Mysql4/Indexer/Stock.php +1 -1
  281. app/code/core/Mage/Bundle/Model/Mysql4/Option.php +1 -1
  282. app/code/core/Mage/Bundle/Model/Mysql4/Option/Collection.php +1 -1
  283. app/code/core/Mage/Bundle/Model/Mysql4/Price/Index.php +1 -1
  284. app/code/core/Mage/Bundle/Model/Mysql4/Selection.php +1 -1
  285. app/code/core/Mage/Bundle/Model/Mysql4/Selection/Collection.php +1 -1
  286. app/code/core/Mage/Bundle/Model/Observer.php +1 -1
  287. app/code/core/Mage/Bundle/Model/Option.php +1 -1
  288. app/code/core/Mage/Bundle/Model/Price/Index.php +1 -1
  289. app/code/core/Mage/Bundle/Model/Product/Attribute/Source/Price/View.php +1 -1
  290. app/code/core/Mage/Bundle/Model/Product/Price.php +227 -117
  291. app/code/core/Mage/Bundle/Model/Product/Type.php +3 -8
  292. app/code/core/Mage/Bundle/Model/Resource/Bundle.php +1 -1
  293. app/code/core/Mage/Bundle/Model/Resource/Indexer/Price.php +13 -13
  294. app/code/core/Mage/Bundle/Model/Resource/Indexer/Stock.php +1 -1
  295. app/code/core/Mage/Bundle/Model/Resource/Option.php +1 -1
  296. app/code/core/Mage/Bundle/Model/Resource/Option/Collection.php +1 -1
  297. app/code/core/Mage/Bundle/Model/Resource/Price/Index.php +1 -1
  298. app/code/core/Mage/Bundle/Model/Resource/Selection.php +1 -1
  299. app/code/core/Mage/Bundle/Model/Resource/Selection/Collection.php +1 -1
  300. app/code/core/Mage/Bundle/Model/Sales/Order/Pdf/Items/Abstract.php +1 -1
  301. app/code/core/Mage/Bundle/Model/Sales/Order/Pdf/Items/Creditmemo.php +1 -1
  302. app/code/core/Mage/Bundle/Model/Sales/Order/Pdf/Items/Invoice.php +1 -1
  303. app/code/core/Mage/Bundle/Model/Sales/Order/Pdf/Items/Shipment.php +1 -1
  304. app/code/core/Mage/Bundle/Model/Selection.php +1 -1
  305. app/code/core/Mage/Bundle/Model/Source/Option/Selection/Price/Type.php +1 -1
  306. app/code/core/Mage/Bundle/Model/Source/Option/Type.php +1 -1
  307. app/code/core/Mage/Bundle/controllers/Adminhtml/Bundle/Product/EditController.php +1 -1
  308. app/code/core/Mage/Bundle/controllers/Adminhtml/Bundle/SelectionController.php +1 -1
  309. app/code/core/Mage/Bundle/controllers/Product/EditController.php +1 -1
  310. app/code/core/Mage/Bundle/controllers/SelectionController.php +1 -1
  311. app/code/core/Mage/Bundle/data/bundle_setup/data-install-1.6.0.0.php +1 -1
  312. app/code/core/Mage/Bundle/etc/config.xml +1 -1
  313. app/code/core/Mage/Bundle/sql/bundle_setup/install-1.6.0.0.php +1 -1
  314. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-data-upgrade-0.1.13-0.1.14.php +1 -1
  315. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-install-0.1.0.php +1 -1
  316. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.0-0.1.1.php +1 -1
  317. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.1-0.1.2.php +1 -1
  318. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.10-0.1.11.php +1 -1
  319. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.11-0.1.12.php +1 -1
  320. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.12-0.1.13.php +1 -1
  321. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.2-0.1.3.php +1 -1
  322. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.3-0.1.4.php +1 -1
  323. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.4-0.1.5.php +1 -1
  324. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.5-0.1.6.php +1 -1
  325. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.6-0.1.7.php +1 -1
  326. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.7-0.1.8.php +1 -1
  327. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.8-0.1.9.php +1 -1
  328. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.9-0.1.10.php +1 -1
  329. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -1
  330. app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-1.6.0.0-1.6.0.0.1.php +1 -1
  331. app/code/core/Mage/Bundle/sql/bundle_setup/upgrade-1.6.0.0-1.6.0.0.1.php +1 -1
  332. app/code/core/Mage/Captcha/Block/Captcha.php +1 -1
  333. app/code/core/Mage/Captcha/Block/Captcha/Zend.php +1 -1
  334. app/code/core/Mage/Captcha/Helper/Data.php +1 -1
  335. app/code/core/Mage/Captcha/Model/Config/Font.php +1 -1
  336. app/code/core/Mage/Captcha/Model/Config/Form/Abstract.php +1 -1
  337. app/code/core/Mage/Captcha/Model/Config/Form/Backend.php +1 -1
  338. app/code/core/Mage/Captcha/Model/Config/Form/Frontend.php +1 -1
  339. app/code/core/Mage/Captcha/Model/Config/Mode.php +1 -1
  340. app/code/core/Mage/Captcha/Model/Interface.php +1 -1
  341. app/code/core/Mage/Captcha/Model/Observer.php +2 -2
  342. app/code/core/Mage/Captcha/Model/Resource/Log.php +1 -1
  343. app/code/core/Mage/Captcha/Model/Zend.php +6 -2
  344. app/code/core/Mage/Captcha/controllers/Adminhtml/RefreshController.php +1 -1
  345. app/code/core/Mage/Captcha/controllers/RefreshController.php +1 -1
  346. app/code/core/Mage/Captcha/etc/config.xml +1 -1
  347. app/code/core/Mage/Captcha/etc/system.xml +1 -1
  348. app/code/core/Mage/Captcha/sql/captcha_setup/install-1.7.0.0.0.php +1 -1
  349. app/code/core/Mage/Catalog/Block/Breadcrumbs.php +1 -1
  350. app/code/core/Mage/Catalog/Block/Category/View.php +17 -2
  351. app/code/core/Mage/Catalog/Block/Category/Widget/Link.php +1 -1
  352. app/code/core/Mage/Catalog/Block/Layer/Filter/Abstract.php +1 -1
  353. app/code/core/Mage/Catalog/Block/Layer/Filter/Attribute.php +1 -1
  354. app/code/core/Mage/Catalog/Block/Layer/Filter/Category.php +1 -1
  355. app/code/core/Mage/Catalog/Block/Layer/Filter/Decimal.php +1 -1
  356. app/code/core/Mage/Catalog/Block/Layer/Filter/Price.php +1 -1
  357. app/code/core/Mage/Catalog/Block/Layer/State.php +1 -1
  358. app/code/core/Mage/Catalog/Block/Layer/View.php +1 -1
  359. app/code/core/Mage/Catalog/Block/Navigation.php +55 -34
  360. app/code/core/Mage/Catalog/Block/Product.php +1 -1
  361. app/code/core/Mage/Catalog/Block/Product/Abstract.php +95 -24
  362. app/code/core/Mage/Catalog/Block/Product/Compare/Abstract.php +1 -1
  363. app/code/core/Mage/Catalog/Block/Product/Compare/List.php +8 -1
  364. app/code/core/Mage/Catalog/Block/Product/Compare/Sidebar.php +18 -1
  365. app/code/core/Mage/Catalog/Block/Product/Gallery.php +1 -1
  366. app/code/core/Mage/Catalog/Block/Product/List.php +15 -1
  367. app/code/core/Mage/Catalog/Block/Product/List/Crosssell.php +1 -1
  368. app/code/core/Mage/Catalog/Block/Product/List/Promotion.php +1 -1
  369. app/code/core/Mage/Catalog/Block/Product/List/Random.php +1 -1
  370. app/code/core/Mage/Catalog/Block/Product/List/Related.php +11 -1
  371. app/code/core/Mage/Catalog/Block/Product/List/Toolbar.php +1 -1
  372. app/code/core/Mage/Catalog/Block/Product/List/Upsell.php +12 -2
  373. app/code/core/Mage/Catalog/Block/Product/New.php +28 -12
  374. app/code/core/Mage/Catalog/Block/Product/Price.php +25 -2
  375. app/code/core/Mage/Catalog/Block/Product/Price/Template.php +1 -1
  376. app/code/core/Mage/Catalog/Block/Product/Send.php +1 -1
  377. app/code/core/Mage/Catalog/Block/Product/View.php +16 -6
  378. app/code/core/Mage/Catalog/Block/Product/View/Abstract.php +1 -1
  379. app/code/core/Mage/Catalog/Block/Product/View/Additional.php +1 -1
  380. app/code/core/Mage/Catalog/Block/Product/View/Attributes.php +1 -1
  381. app/code/core/Mage/Catalog/Block/Product/View/Description.php +1 -1
  382. app/code/core/Mage/Catalog/Block/Product/View/Media.php +1 -1
  383. app/code/core/Mage/Catalog/Block/Product/View/Options.php +1 -1
  384. app/code/core/Mage/Catalog/Block/Product/View/Options/Abstract.php +1 -1
  385. app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Date.php +1 -1
  386. app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Default.php +1 -1
  387. app/code/core/Mage/Catalog/Block/Product/View/Options/Type/File.php +1 -1
  388. app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Select.php +1 -1
  389. app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Text.php +1 -1
  390. app/code/core/Mage/Catalog/Block/Product/View/Price.php +1 -1
  391. app/code/core/Mage/Catalog/Block/Product/View/Tabs.php +1 -1
  392. app/code/core/Mage/Catalog/Block/Product/View/Type/Configurable.php +1 -1
  393. app/code/core/Mage/Catalog/Block/Product/View/Type/Grouped.php +1 -1
  394. app/code/core/Mage/Catalog/Block/Product/View/Type/Simple.php +1 -1
  395. app/code/core/Mage/Catalog/Block/Product/View/Type/Virtual.php +1 -1
  396. app/code/core/Mage/Catalog/Block/Product/Widget/Html/Pager.php +299 -0
  397. app/code/core/Mage/Catalog/Block/Product/Widget/Link.php +1 -1
  398. app/code/core/Mage/Catalog/Block/Product/Widget/New.php +151 -8
  399. app/code/core/Mage/Catalog/Block/Seo/Sitemap/Abstract.php +1 -1
  400. app/code/core/Mage/Catalog/Block/Seo/Sitemap/Category.php +1 -1
  401. app/code/core/Mage/Catalog/Block/Seo/Sitemap/Product.php +1 -1
  402. app/code/core/Mage/Catalog/Block/Seo/Sitemap/Tree/Category.php +1 -1
  403. app/code/core/Mage/Catalog/Block/Seo/Sitemap/Tree/Pager.php +1 -1
  404. app/code/core/Mage/Catalog/Block/Widget/Link.php +1 -1
  405. app/code/core/Mage/Catalog/Exception.php +1 -1
  406. app/code/core/Mage/Catalog/Helper/Category.php +1 -1
  407. app/code/core/Mage/Catalog/Helper/Category/Flat.php +39 -19
  408. app/code/core/Mage/Catalog/Helper/Category/Url/Rewrite.php +121 -0
  409. app/code/core/Mage/Catalog/Helper/Category/Url/Rewrite/Interface.php +63 -0
  410. app/code/core/Mage/Catalog/Helper/Data.php +1 -1
  411. app/code/core/Mage/Catalog/Helper/Flat/Abstract.php +101 -0
  412. app/code/core/Mage/Catalog/Helper/Image.php +1 -1
  413. app/code/core/Mage/Catalog/Helper/Map.php +1 -1
  414. app/code/core/Mage/Catalog/Helper/Output.php +1 -1
  415. app/code/core/Mage/Catalog/Helper/Product.php +1 -1
  416. app/code/core/Mage/Catalog/Helper/Product/Compare.php +15 -13
  417. app/code/core/Mage/Catalog/Helper/Product/Configuration.php +1 -1
  418. app/code/core/Mage/Catalog/Helper/Product/Configuration/Interface.php +1 -1
  419. app/code/core/Mage/Catalog/Helper/Product/Flat.php +55 -46
  420. app/code/core/Mage/Catalog/Helper/Product/Options.php +1 -1
  421. app/code/core/Mage/Catalog/Helper/Product/Url.php +1 -1
  422. app/code/core/Mage/Catalog/Helper/Product/Url/Rewrite.php +101 -0
  423. app/code/core/Mage/Catalog/Helper/Product/Url/Rewrite/Interface.php +55 -0
  424. app/code/core/Mage/Catalog/Helper/Product/View.php +1 -1
  425. app/code/core/Mage/Catalog/Model/Abstract.php +1 -1
  426. app/code/core/Mage/Catalog/Model/Api/Resource.php +1 -1
  427. app/code/core/Mage/Catalog/Model/Api2/Product.php +1 -1
  428. app/code/core/Mage/Catalog/Model/Api2/Product/Category.php +1 -1
  429. app/code/core/Mage/Catalog/Model/Api2/Product/Category/Rest.php +1 -1
  430. app/code/core/Mage/Catalog/Model/Api2/Product/Category/Rest/Admin/V1.php +1 -1
  431. app/code/core/Mage/Catalog/Model/Api2/Product/Category/Rest/Customer/V1.php +1 -1
  432. app/code/core/Mage/Catalog/Model/Api2/Product/Category/Rest/Guest/V1.php +1 -1
  433. app/code/core/Mage/Catalog/Model/Api2/Product/Image.php +1 -1
  434. app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest.php +1 -1
  435. app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Admin/V1.php +1 -1
  436. app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Customer/V1.php +1 -1
  437. app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Guest/V1.php +1 -1
  438. app/code/core/Mage/Catalog/Model/Api2/Product/Image/Validator/Image.php +1 -1
  439. app/code/core/Mage/Catalog/Model/Api2/Product/Rest.php +5 -6
  440. app/code/core/Mage/Catalog/Model/Api2/Product/Rest/Admin/V1.php +1 -1
  441. app/code/core/Mage/Catalog/Model/Api2/Product/Rest/Customer/V1.php +1 -1
  442. app/code/core/Mage/Catalog/Model/Api2/Product/Rest/Guest/V1.php +1 -1
  443. app/code/core/Mage/Catalog/Model/Api2/Product/Validator/Product.php +1 -1
  444. app/code/core/Mage/Catalog/Model/Api2/Product/Website.php +1 -1
  445. app/code/core/Mage/Catalog/Model/Api2/Product/Website/Rest.php +1 -1
  446. app/code/core/Mage/Catalog/Model/Api2/Product/Website/Rest/Admin/V1.php +1 -1
  447. app/code/core/Mage/Catalog/Model/Api2/Product/Website/Validator/Admin/Website.php +1 -1
  448. app/code/core/Mage/Catalog/Model/Attribute/Backend/Customlayoutupdate.php +1 -1
  449. app/code/core/Mage/Catalog/Model/Attribute/Backend/Urlkey/Abstract.php +74 -0
  450. app/code/core/Mage/Catalog/Model/Category.php +41 -33
  451. app/code/core/Mage/Catalog/Model/Category/Api.php +1 -1
  452. app/code/core/Mage/Catalog/Model/Category/Api/V2.php +1 -1
  453. app/code/core/Mage/Catalog/Model/Category/Attribute/Api.php +1 -1
  454. app/code/core/Mage/Catalog/Model/Category/Attribute/Api/V2.php +1 -1
  455. app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Image.php +1 -1
  456. app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Sortby.php +10 -9
  457. app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Urlkey.php +3 -44
  458. app/code/core/Mage/Catalog/Model/Category/Attribute/Source/Layout.php +1 -1
  459. app/code/core/Mage/Catalog/Model/Category/Attribute/Source/Mode.php +1 -1
  460. app/code/core/Mage/Catalog/Model/Category/Attribute/Source/Page.php +1 -1
  461. app/code/core/Mage/Catalog/Model/Category/Attribute/Source/Sortby.php +1 -1
  462. app/code/core/Mage/Catalog/Model/Category/Indexer/Flat.php +17 -3
  463. app/code/core/Mage/Catalog/Model/Category/Indexer/Product.php +1 -1
  464. app/code/core/Mage/Catalog/Model/Category/Url.php +158 -0
  465. app/code/core/Mage/Catalog/Model/Config.php +1 -1
  466. app/code/core/Mage/Catalog/Model/Convert.php +1 -1
  467. app/code/core/Mage/Catalog/Model/Convert/Adapter/Catalog.php +1 -1
  468. app/code/core/Mage/Catalog/Model/Convert/Adapter/Product.php +2 -2
  469. app/code/core/Mage/Catalog/Model/Convert/Parser/Product.php +1 -1
  470. app/code/core/Mage/Catalog/Model/Design.php +3 -2
  471. app/code/core/Mage/Catalog/Model/Entity/Attribute.php +1 -1
  472. app/code/core/Mage/Catalog/Model/Entity/Product/Attribute/Design/Options/Container.php +1 -1
  473. app/code/core/Mage/Catalog/Model/Entity/Product/Attribute/Frontend/Image.php +1 -1
  474. app/code/core/Mage/Catalog/Model/Factory.php +104 -0
  475. app/code/core/Mage/Catalog/Model/Index.php +1 -1
  476. app/code/core/Mage/Catalog/Model/Indexer/Url.php +1 -1
  477. app/code/core/Mage/Catalog/Model/Layer.php +1 -1
  478. app/code/core/Mage/Catalog/Model/Layer/Filter/Abstract.php +1 -1
  479. app/code/core/Mage/Catalog/Model/Layer/Filter/Attribute.php +1 -1
  480. app/code/core/Mage/Catalog/Model/Layer/Filter/Category.php +2 -2
  481. app/code/core/Mage/Catalog/Model/Layer/Filter/Decimal.php +1 -1
  482. app/code/core/Mage/Catalog/Model/Layer/Filter/Item.php +1 -1
  483. app/code/core/Mage/Catalog/Model/Layer/Filter/Price.php +1 -1
  484. app/code/core/Mage/Catalog/Model/Layer/Filter/Price/Algorithm.php +1 -1
  485. app/code/core/Mage/Catalog/Model/Layer/State.php +1 -1
  486. app/code/core/Mage/Catalog/Model/Observer.php +64 -70
  487. app/code/core/Mage/Catalog/Model/Product.php +11 -7
  488. app/code/core/Mage/Catalog/Model/Product/Action.php +1 -1
  489. app/code/core/Mage/Catalog/Model/Product/Api.php +17 -4
  490. app/code/core/Mage/Catalog/Model/Product/Api/V2.php +44 -23
  491. app/code/core/Mage/Catalog/Model/Product/Attribute/Api.php +2 -2
  492. app/code/core/Mage/Catalog/Model/Product/Attribute/Api/V2.php +1 -1
  493. app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Boolean.php +1 -1
  494. app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Groupprice.php +1 -1
  495. app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Groupprice/Abstract.php +1 -1
  496. app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Media.php +7 -3
  497. app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Msrp.php +1 -1
  498. app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Price.php +1 -1
  499. app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Recurring.php +1 -1
  500. app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Sku.php +1 -1
  501. app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Startdate.php +57 -4
  502. app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Tierprice.php +1 -1
  503. app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Urlkey.php +3 -32
  504. app/code/core/Mage/Catalog/Model/Product/Attribute/Frontend/Image.php +1 -1
  505. app/code/core/Mage/Catalog/Model/Product/Attribute/Group.php +1 -1
  506. app/code/core/Mage/Catalog/Model/Product/Attribute/Media/Api.php +1 -1
  507. app/code/core/Mage/Catalog/Model/Product/Attribute/Media/Api/V2.php +1 -1
  508. app/code/core/Mage/Catalog/Model/Product/Attribute/Set/Api.php +1 -1
  509. app/code/core/Mage/Catalog/Model/Product/Attribute/Set/Api/V2.php +1 -1
  510. app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Boolean.php +1 -1
  511. app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Countryofmanufacture.php +1 -1
  512. app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Inputtype.php +1 -1
  513. app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Layout.php +1 -1
  514. app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Msrp/Type.php +1 -1
  515. app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Msrp/Type/Enabled.php +1 -1
  516. app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Msrp/Type/Price.php +1 -1
  517. app/code/core/Mage/Catalog/Model/Product/Attribute/Tierprice/Api.php +1 -1
  518. app/code/core/Mage/Catalog/Model/Product/Attribute/Tierprice/Api/V2.php +1 -1
  519. app/code/core/Mage/Catalog/Model/Product/Compare/Item.php +7 -1
  520. app/code/core/Mage/Catalog/Model/Product/Compare/List.php +1 -1
  521. app/code/core/Mage/Catalog/Model/Product/Condition.php +9 -2
  522. app/code/core/Mage/Catalog/Model/Product/Condition/Interface.php +1 -1
  523. app/code/core/Mage/Catalog/Model/Product/Configuration/Item/Interface.php +1 -1
  524. app/code/core/Mage/Catalog/Model/Product/Configuration/Item/Option.php +1 -1
  525. app/code/core/Mage/Catalog/Model/Product/Configuration/Item/Option/Interface.php +1 -1
  526. app/code/core/Mage/Catalog/Model/Product/Flat/Flag.php +58 -6
  527. app/code/core/Mage/Catalog/Model/Product/Flat/Indexer.php +1 -1
  528. app/code/core/Mage/Catalog/Model/Product/Flat/Observer.php +11 -11
  529. app/code/core/Mage/Catalog/Model/Product/Image.php +1 -1
  530. app/code/core/Mage/Catalog/Model/Product/Indexer/Eav.php +1 -1
  531. app/code/core/Mage/Catalog/Model/Product/Indexer/Flat.php +17 -3
  532. app/code/core/Mage/Catalog/Model/Product/Indexer/Price.php +1 -1
  533. app/code/core/Mage/Catalog/Model/Product/Link.php +1 -1
  534. app/code/core/Mage/Catalog/Model/Product/Link/Api.php +1 -1
  535. app/code/core/Mage/Catalog/Model/Product/Link/Api/V2.php +1 -1
  536. app/code/core/Mage/Catalog/Model/Product/Media/Config.php +1 -1
  537. app/code/core/Mage/Catalog/Model/Product/Option.php +107 -4
  538. app/code/core/Mage/Catalog/Model/Product/Option/Api.php +18 -14
  539. app/code/core/Mage/Catalog/Model/Product/Option/Api/V2.php +1 -1
  540. app/code/core/Mage/Catalog/Model/Product/Option/Observer.php +1 -1
  541. app/code/core/Mage/Catalog/Model/Product/Option/Type/Date.php +1 -1
  542. app/code/core/Mage/Catalog/Model/Product/Option/Type/Default.php +1 -1
  543. app/code/core/Mage/Catalog/Model/Product/Option/Type/File.php +3 -3
  544. app/code/core/Mage/Catalog/Model/Product/Option/Type/Select.php +5 -4
  545. app/code/core/Mage/Catalog/Model/Product/Option/Type/Text.php +2 -2
  546. app/code/core/Mage/Catalog/Model/Product/Option/Value.php +2 -2
  547. app/code/core/Mage/Catalog/Model/Product/Option/Value/Api.php +1 -1
  548. app/code/core/Mage/Catalog/Model/Product/Option/Value/Api/V2.php +1 -1
  549. app/code/core/Mage/Catalog/Model/Product/Status.php +1 -1
  550. app/code/core/Mage/Catalog/Model/Product/Type.php +1 -1
  551. app/code/core/Mage/Catalog/Model/Product/Type/Abstract.php +2 -7
  552. app/code/core/Mage/Catalog/Model/Product/Type/Api.php +1 -1
  553. app/code/core/Mage/Catalog/Model/Product/Type/Api/V2.php +1 -1
  554. app/code/core/Mage/Catalog/Model/Product/Type/Configurable.php +6 -8
  555. app/code/core/Mage/Catalog/Model/Product/Type/Configurable/Attribute.php +1 -1
  556. app/code/core/Mage/Catalog/Model/Product/Type/Configurable/Price.php +1 -1
  557. app/code/core/Mage/Catalog/Model/Product/Type/Grouped.php +1 -1
  558. app/code/core/Mage/Catalog/Model/Product/Type/Grouped/Price.php +1 -1
  559. app/code/core/Mage/Catalog/Model/Product/Type/Price.php +1 -1
  560. app/code/core/Mage/Catalog/Model/Product/Type/Simple.php +1 -1
  561. app/code/core/Mage/Catalog/Model/Product/Type/Virtual.php +1 -1
  562. app/code/core/Mage/Catalog/Model/Product/Url.php +124 -56
  563. app/code/core/Mage/Catalog/Model/Product/Visibility.php +1 -1
  564. app/code/core/Mage/Catalog/Model/Product/Website.php +1 -1
  565. app/code/core/Mage/Catalog/Model/Resource/Abstract.php +1 -1
  566. app/code/core/Mage/Catalog/Model/Resource/Attribute.php +1 -1
  567. app/code/core/Mage/Catalog/Model/Resource/Category.php +72 -18
  568. app/code/core/Mage/Catalog/Model/Resource/Category/Attribute/Collection.php +1 -1
  569. app/code/core/Mage/Catalog/Model/Resource/Category/Attribute/Frontend/Image.php +1 -1
  570. app/code/core/Mage/Catalog/Model/Resource/Category/Attribute/Source/Layout.php +1 -1
  571. app/code/core/Mage/Catalog/Model/Resource/Category/Attribute/Source/Mode.php +1 -1
  572. app/code/core/Mage/Catalog/Model/Resource/Category/Attribute/Source/Page.php +1 -1
  573. app/code/core/Mage/Catalog/Model/Resource/Category/Collection.php +72 -12
  574. app/code/core/Mage/Catalog/Model/Resource/Category/Flat.php +104 -48
  575. app/code/core/Mage/Catalog/Model/Resource/Category/Flat/Collection.php +35 -11
  576. app/code/core/Mage/Catalog/Model/Resource/Category/Indexer/Product.php +1 -1
  577. app/code/core/Mage/Catalog/Model/Resource/Category/Tree.php +1 -1
  578. app/code/core/Mage/Catalog/Model/Resource/Collection/Abstract.php +1 -1
  579. app/code/core/Mage/Catalog/Model/Resource/Config.php +1 -1
  580. app/code/core/Mage/Catalog/Model/Resource/Eav/Attribute.php +1 -1
  581. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Abstract.php +1 -1
  582. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Attribute.php +1 -1
  583. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category.php +1 -1
  584. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Attribute/Collection.php +1 -1
  585. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Attribute/Frontend/Image.php +1 -1
  586. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Attribute/Source/Layout.php +1 -1
  587. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Attribute/Source/Mode.php +1 -1
  588. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Attribute/Source/Page.php +1 -1
  589. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Collection.php +1 -1
  590. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat.php +1 -1
  591. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat/Collection.php +1 -1
  592. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Indexer/Product.php +1 -1
  593. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Tree.php +1 -1
  594. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Collection/Abstract.php +1 -1
  595. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Config.php +1 -1
  596. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Layer/Filter/Attribute.php +1 -1
  597. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Layer/Filter/Decimal.php +1 -1
  598. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Layer/Filter/Price.php +1 -1
  599. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product.php +1 -1
  600. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Action.php +1 -1
  601. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Backend/Image.php +1 -1
  602. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Backend/Media.php +1 -1
  603. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Backend/Tierprice.php +1 -1
  604. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Backend/Urlkey.php +1 -1
  605. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Collection.php +1 -1
  606. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Frontend/Image.php +1 -1
  607. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Frontend/Tierprice.php +1 -1
  608. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php +1 -1
  609. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Compare/Item.php +1 -1
  610. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Compare/Item/Collection.php +1 -1
  611. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat.php +1 -1
  612. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat/Indexer.php +1 -1
  613. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Abstract.php +1 -1
  614. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav.php +1 -1
  615. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Abstract.php +1 -1
  616. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Decimal.php +1 -1
  617. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Source.php +1 -1
  618. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price.php +1 -1
  619. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Configurable.php +1 -1
  620. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Default.php +1 -1
  621. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Grouped.php +1 -1
  622. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Interface.php +1 -1
  623. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Link.php +1 -1
  624. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Link/Collection.php +1 -1
  625. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Link/Product/Collection.php +1 -1
  626. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Option.php +1 -1
  627. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Option/Collection.php +1 -1
  628. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Option/Value.php +1 -1
  629. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Option/Value/Collection.php +1 -1
  630. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Relation.php +1 -1
  631. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Status.php +1 -1
  632. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Type/Configurable.php +1 -1
  633. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Type/Configurable/Attribute.php +1 -1
  634. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Type/Configurable/Attribute/Collection.php +1 -1
  635. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Type/Configurable/Product/Collection.php +1 -1
  636. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Website.php +1 -1
  637. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Sendfriend.php +1 -1
  638. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Sendfriend/Collection.php +1 -1
  639. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Setup.php +1 -1
  640. app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Url.php +1 -1
  641. app/code/core/Mage/Catalog/Model/Resource/Helper/Mysql4.php +1 -1
  642. app/code/core/Mage/Catalog/Model/Resource/Layer/Filter/Attribute.php +1 -1
  643. app/code/core/Mage/Catalog/Model/Resource/Layer/Filter/Decimal.php +1 -1
  644. app/code/core/Mage/Catalog/Model/Resource/Layer/Filter/Price.php +7 -3
  645. app/code/core/Mage/Catalog/Model/Resource/Product.php +1 -1
  646. app/code/core/Mage/Catalog/Model/Resource/Product/Action.php +1 -1
  647. app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Groupprice.php +1 -1
  648. app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Groupprice/Abstract.php +1 -1
  649. app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Image.php +1 -1
  650. app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Media.php +1 -1
  651. app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Tierprice.php +1 -1
  652. app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Urlkey.php +2 -1
  653. app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Collection.php +1 -1
  654. app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Frontend/Image.php +1 -1
  655. app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Frontend/Tierprice.php +1 -1
  656. app/code/core/Mage/Catalog/Model/Resource/Product/Collection.php +53 -24
  657. app/code/core/Mage/Catalog/Model/Resource/Product/Compare/Item.php +1 -1
  658. app/code/core/Mage/Catalog/Model/Resource/Product/Compare/Item/Collection.php +1 -1
  659. app/code/core/Mage/Catalog/Model/Resource/Product/Flat.php +37 -1
  660. app/code/core/Mage/Catalog/Model/Resource/Product/Flat/Indexer.php +3 -6
  661. app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Abstract.php +1 -1
  662. app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Eav.php +1 -1
  663. app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Eav/Abstract.php +1 -1
  664. app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Eav/Decimal.php +1 -1
  665. app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Eav/Source.php +1 -1
  666. app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price.php +1 -1
  667. app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Configurable.php +1 -1
  668. app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Default.php +1 -1
  669. app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Grouped.php +1 -1
  670. app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Interface.php +1 -1
  671. app/code/core/Mage/Catalog/Model/Resource/Product/Link.php +1 -1
  672. app/code/core/Mage/Catalog/Model/Resource/Product/Link/Collection.php +1 -1
  673. app/code/core/Mage/Catalog/Model/Resource/Product/Link/Product/Collection.php +2 -1
  674. app/code/core/Mage/Catalog/Model/Resource/Product/Option.php +1 -1
  675. app/code/core/Mage/Catalog/Model/Resource/Product/Option/Collection.php +1 -1
  676. app/code/core/Mage/Catalog/Model/Resource/Product/Option/Value.php +1 -1
  677. app/code/core/Mage/Catalog/Model/Resource/Product/Option/Value/Collection.php +1 -1
  678. app/code/core/Mage/Catalog/Model/Resource/Product/Relation.php +1 -1
  679. app/code/core/Mage/Catalog/Model/Resource/Product/Status.php +1 -1
  680. app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable.php +1 -1
  681. app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute.php +1 -1
  682. app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php +1 -1
  683. app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable/Product/Collection.php +1 -1
  684. app/code/core/Mage/Catalog/Model/Resource/Product/Website.php +1 -1
  685. app/code/core/Mage/Catalog/Model/Resource/Setup.php +1 -1
  686. app/code/core/Mage/Catalog/Model/Resource/Url.php +1 -1
  687. app/code/core/Mage/Catalog/Model/Session.php +1 -1
  688. app/code/core/Mage/Catalog/Model/System/Config/Backend/Catalog/Category/Flat.php +3 -2
  689. app/code/core/Mage/Catalog/Model/System/Config/Backend/Catalog/Product/Flat.php +1 -1
  690. app/code/core/Mage/Catalog/Model/System/Config/Backend/Catalog/Url/Rewrite/Suffix.php +1 -1
  691. app/code/core/Mage/Catalog/Model/Template/Filter.php +1 -1
  692. app/code/core/Mage/Catalog/Model/Url.php +1 -1
  693. app/code/core/Mage/Catalog/controllers/CategoryController.php +3 -1
  694. app/code/core/Mage/Catalog/controllers/IndexController.php +1 -1
  695. app/code/core/Mage/Catalog/controllers/Product/CompareController.php +1 -1
  696. app/code/core/Mage/Catalog/controllers/ProductController.php +1 -1
  697. app/code/core/Mage/Catalog/controllers/Seo/SitemapController.php +1 -1
  698. app/code/core/Mage/Catalog/data/catalog_setup/data-install-1.6.0.0.php +1 -1
  699. app/code/core/Mage/Catalog/data/catalog_setup/data-upgrade-1.6.0.0.12-1.6.0.0.13.php +1 -1
  700. app/code/core/Mage/Catalog/data/catalog_setup/data-upgrade-1.6.0.0.13-1.6.0.0.14.php +2 -2
  701. app/code/core/Mage/Catalog/data/catalog_setup/data-upgrade-1.6.0.0.4-1.6.0.0.5.php +1 -1
  702. app/code/core/Mage/Catalog/data/catalog_setup/data-upgrade-1.6.0.0.8-1.6.0.0.9.php +1 -1
  703. app/code/core/Mage/Catalog/etc/adminhtml.xml +1 -1
  704. app/code/core/Mage/Catalog/etc/api.xml +13 -1
  705. app/code/core/Mage/Catalog/etc/api2.xml +1 -1
  706. app/code/core/Mage/Catalog/etc/config.xml +35 -2
  707. app/code/core/Mage/Catalog/etc/convert.xml +1 -1
  708. app/code/core/Mage/Catalog/etc/system.xml +3 -2
  709. app/code/core/Mage/Catalog/etc/widget.xml +34 -2
  710. app/code/core/Mage/Catalog/etc/wsdl.xml +62 -22
  711. app/code/core/Mage/Catalog/etc/wsi.xml +247 -2
  712. app/code/core/Mage/Catalog/sql/catalog_setup/install-1.6.0.0.php +1 -1
  713. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-data-upgrade-0.7.57-0.7.58.php +1 -1
  714. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-data-upgrade-0.7.63-0.7.64.php +1 -1
  715. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-data-upgrade-1.4.0.0.28-1.4.0.0.29.php +1 -1
  716. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-data-upgrade-1.4.0.0.42-1.4.0.0.43.php +1 -1
  717. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-0.7.0.php +1 -1
  718. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-1.4.0.0.0.php +1 -1
  719. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.6.40-0.7.0.php +1 -1
  720. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.0-0.7.1.php +1 -1
  721. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.1-0.7.2.php +1 -1
  722. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.11-0.7.12.php +1 -1
  723. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.12-0.7.13.php +1 -1
  724. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.13-0.7.14.php +1 -1
  725. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.14-0.7.15.php +1 -1
  726. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.15-0.7.16.php +1 -1
  727. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.16-0.7.17.php +1 -1
  728. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.17-0.7.18.php +1 -1
  729. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.18-0.7.19.php +1 -1
  730. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.19-0.7.20.php +1 -1
  731. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.2-0.7.3.php +1 -1
  732. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.20-0.7.21.php +1 -1
  733. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.21-0.7.22.php +1 -1
  734. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.22-0.7.23.php +1 -1
  735. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.23-0.7.24.php +1 -1
  736. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.24-0.7.25.php +1 -1
  737. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.25-0.7.26.php +1 -1
  738. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.26-0.7.27.php +1 -1
  739. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.27-0.7.28.php +1 -1
  740. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.28-0.7.29.php +1 -1
  741. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.29-0.7.30.php +1 -1
  742. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.30-0.7.31.php +1 -1
  743. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.31-0.7.32.php +1 -1
  744. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.32-0.7.33.php +1 -1
  745. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.33-0.7.34.php +1 -1
  746. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.34-0.7.35.php +1 -1
  747. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.35-0.7.36.php +1 -1
  748. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.36-0.7.37.php +1 -1
  749. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.37-0.7.38.php +1 -1
  750. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.38-0.7.39.php +1 -1
  751. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.39-0.7.40.php +1 -1
  752. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.4-0.7.5.php +1 -1
  753. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.40-0.7.41.php +1 -1
  754. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.41-0.7.42.php +1 -1
  755. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.43-0.7.44.php +1 -1
  756. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.44-0.7.45.php +1 -1
  757. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.45-0.7.46.php +1 -1
  758. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.46-0.7.47.php +1 -1
  759. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.47-0.7.48.php +1 -1
  760. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.48-0.7.49.php +1 -1
  761. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.49-0.7.50.php +1 -1
  762. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.5-0.7.6.php +1 -1
  763. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.50-0.7.51.php +1 -1
  764. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.51-0.7.52.php +1 -1
  765. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.52-0.7.53.php +1 -1
  766. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.53-0.7.54.php +1 -1
  767. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.54-0.7.55.php +1 -1
  768. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.55-0.7.56.php +1 -1
  769. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.56-0.7.57.php +1 -1
  770. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.57-0.7.58.php +1 -1
  771. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.58-0.7.59.php +1 -1
  772. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.59-0.7.60.php +1 -1
  773. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.6-0.7.7.php +1 -1
  774. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.60-0.7.61.php +1 -1
  775. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.61-0.7.62.php +1 -1
  776. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.62-0.7.63.php +1 -1
  777. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.63-0.7.64.php +1 -1
  778. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.64-0.7.65.php +1 -1
  779. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.65-0.7.66.php +2 -2
  780. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.66-0.7.67.php +1 -1
  781. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.67-0.7.68.php +1 -1
  782. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.68-0.7.69.php +1 -1
  783. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.69-0.7.70.php +1 -1
  784. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.7-0.7.8.php +1 -1
  785. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.70-0.7.71.php +1 -1
  786. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.71-0.7.72.php +1 -1
  787. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.72-0.7.73.php +1 -1
  788. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.73-1.4.0.0.0.php +1 -1
  789. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.8-0.7.9.php +1 -1
  790. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.0-1.4.0.0.1.php +1 -1
  791. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.1-1.4.0.0.2.php +1 -1
  792. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.10-1.4.0.0.11.php +1 -1
  793. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.11-1.4.0.0.12.php +1 -1
  794. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.12-1.4.0.0.13.php +1 -1
  795. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.13-1.4.0.0.14.php +1 -1
  796. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.14-1.4.0.0.15.php +1 -1
  797. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.15-1.4.0.0.16.php +1 -1
  798. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.16-1.4.0.0.17.php +1 -1
  799. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.17-1.4.0.0.18.php +1 -1
  800. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.18-1.4.0.0.19.php +1 -1
  801. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.19-1.4.0.0.20.php +1 -1
  802. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.2-1.4.0.0.3.php +1 -1
  803. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.20-1.4.0.0.21.php +1 -1
  804. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.21-1.4.0.0.22.php +1 -1
  805. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.22-1.4.0.0.23.php +1 -1
  806. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.23-1.4.0.0.24.php +1 -1
  807. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.24-1.4.0.0.25.php +1 -1
  808. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.25-1.4.0.0.26.php +1 -1
  809. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.26-1.4.0.0.27.php +1 -1
  810. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.27-1.4.0.0.28.php +1 -1
  811. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.28-1.4.0.0.29.php +1 -1
  812. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.3-1.4.0.0.4.php +1 -1
  813. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.30-1.4.0.0.31.php +1 -1
  814. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.31-1.4.0.0.32.php +1 -1
  815. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.32-1.4.0.0.33.php +1 -1
  816. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.33-1.4.0.0.34.php +1 -1
  817. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.34-1.4.0.0.35.php +1 -1
  818. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.35-1.4.0.0.36.php +1 -1
  819. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.36-1.4.0.0.37.php +1 -1
  820. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.37-1.4.0.0.38.php +1 -1
  821. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.38-1.4.0.0.39.php +1 -1
  822. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.39-1.4.0.0.40.php +1 -1
  823. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.4-1.4.0.0.5.php +1 -1
  824. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.40-1.4.0.0.41.php +1 -1
  825. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.41-1.4.0.0.42.php +1 -1
  826. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.43-1.4.0.0.44.php +1 -1
  827. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.5-1.4.0.0.6.php +1 -1
  828. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.6-1.4.0.0.7.php +1 -1
  829. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.7-1.4.0.0.8.php +1 -1
  830. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.8-1.4.0.0.9.php +1 -1
  831. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.9-1.4.0.0.10.php +1 -1
  832. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -1
  833. app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.6.0.0.8-1.6.0.0.9.php +1 -1
  834. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0-1.6.0.0.1.php +1 -1
  835. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.1-1.6.0.0.2.php +1 -1
  836. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.10-1.6.0.0.11.php +1 -1
  837. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.11-1.6.0.0.12.php +1 -1
  838. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.14-1.6.0.0.15.php +37 -0
  839. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.15-1.6.0.0.18.php +29 -0
  840. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.2-1.6.0.0.3.php +1 -1
  841. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.3-1.6.0.0.4.php +1 -1
  842. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.4-1.6.0.0.5.php +1 -1
  843. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.5-1.6.0.0.6.php +1 -1
  844. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.6-1.6.0.0.7.php +1 -1
  845. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.7-1.6.0.0.8.php +1 -1
  846. app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.9-1.6.0.0.10.php +1 -1
  847. app/code/core/Mage/CatalogIndex/Model/Aggregation.php +1 -1
  848. app/code/core/Mage/CatalogIndex/Model/Attribute.php +1 -1
  849. app/code/core/Mage/CatalogIndex/Model/Catalog/Index/Flag.php +1 -1
  850. app/code/core/Mage/CatalogIndex/Model/Catalog/Index/Kill/Flag.php +1 -1
  851. app/code/core/Mage/CatalogIndex/Model/Data/Abstract.php +1 -1
  852. app/code/core/Mage/CatalogIndex/Model/Data/Configurable.php +1 -1
  853. app/code/core/Mage/CatalogIndex/Model/Data/Grouped.php +1 -1
  854. app/code/core/Mage/CatalogIndex/Model/Data/Simple.php +1 -1
  855. app/code/core/Mage/CatalogIndex/Model/Data/Virtual.php +1 -1
  856. app/code/core/Mage/CatalogIndex/Model/Indexer.php +21 -10
  857. app/code/core/Mage/CatalogIndex/Model/Indexer/Abstract.php +1 -1
  858. app/code/core/Mage/CatalogIndex/Model/Indexer/Eav.php +1 -1
  859. app/code/core/Mage/CatalogIndex/Model/Indexer/Interface.php +1 -1
  860. app/code/core/Mage/CatalogIndex/Model/Indexer/Minimalprice.php +1 -1
  861. app/code/core/Mage/CatalogIndex/Model/Indexer/Price.php +1 -1
  862. app/code/core/Mage/CatalogIndex/Model/Indexer/Tierprice.php +1 -1
  863. app/code/core/Mage/CatalogIndex/Model/Mysql4/Abstract.php +1 -1
  864. app/code/core/Mage/CatalogIndex/Model/Mysql4/Aggregation.php +1 -1
  865. app/code/core/Mage/CatalogIndex/Model/Mysql4/Attribute.php +1 -1
  866. app/code/core/Mage/CatalogIndex/Model/Mysql4/Data/Abstract.php +1 -1
  867. app/code/core/Mage/CatalogIndex/Model/Mysql4/Data/Configurable.php +1 -1
  868. app/code/core/Mage/CatalogIndex/Model/Mysql4/Data/Grouped.php +1 -1
  869. app/code/core/Mage/CatalogIndex/Model/Mysql4/Indexer.php +1 -1
  870. app/code/core/Mage/CatalogIndex/Model/Mysql4/Indexer/Abstract.php +1 -1
  871. app/code/core/Mage/CatalogIndex/Model/Mysql4/Indexer/Eav.php +1 -1
  872. app/code/core/Mage/CatalogIndex/Model/Mysql4/Indexer/Minimalprice.php +1 -1
  873. app/code/core/Mage/CatalogIndex/Model/Mysql4/Indexer/Price.php +1 -1
  874. app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php +1 -1
  875. app/code/core/Mage/CatalogIndex/Model/Mysql4/Retreiver.php +1 -1
  876. app/code/core/Mage/CatalogIndex/Model/Mysql4/Setup.php +1 -1
  877. app/code/core/Mage/CatalogIndex/Model/Observer.php +1 -1
  878. app/code/core/Mage/CatalogIndex/Model/Price.php +1 -1
  879. app/code/core/Mage/CatalogIndex/Model/Resource/Abstract.php +1 -1
  880. app/code/core/Mage/CatalogIndex/Model/Resource/Aggregation.php +1 -1
  881. app/code/core/Mage/CatalogIndex/Model/Resource/Attribute.php +1 -1
  882. app/code/core/Mage/CatalogIndex/Model/Resource/Data/Abstract.php +1 -1
  883. app/code/core/Mage/CatalogIndex/Model/Resource/Data/Configurable.php +1 -1
  884. app/code/core/Mage/CatalogIndex/Model/Resource/Data/Grouped.php +1 -1
  885. app/code/core/Mage/CatalogIndex/Model/Resource/Indexer.php +1 -1
  886. app/code/core/Mage/CatalogIndex/Model/Resource/Indexer/Abstract.php +1 -1
  887. app/code/core/Mage/CatalogIndex/Model/Resource/Indexer/Eav.php +1 -1
  888. app/code/core/Mage/CatalogIndex/Model/Resource/Indexer/Minimalprice.php +1 -1
  889. app/code/core/Mage/CatalogIndex/Model/Resource/Indexer/Price.php +1 -1
  890. app/code/core/Mage/CatalogIndex/Model/Resource/Price.php +1 -1
  891. app/code/core/Mage/CatalogIndex/Model/Resource/Retreiver.php +1 -1
  892. app/code/core/Mage/CatalogIndex/Model/Resource/Setup.php +1 -1
  893. app/code/core/Mage/CatalogIndex/Model/Retreiver.php +1 -1
  894. app/code/core/Mage/CatalogIndex/etc/config.xml +1 -1
  895. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/install-1.6.0.0.php +1 -1
  896. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-install-0.7.0.php +1 -1
  897. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.0-0.7.1.php +1 -1
  898. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.1-0.7.2.php +1 -1
  899. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.2-0.7.3.php +1 -1
  900. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.3-0.7.4.php +1 -1
  901. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.4-0.7.5.php +1 -1
  902. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.5-0.7.6.php +1 -1
  903. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.6-0.7.7.php +1 -1
  904. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.7-0.7.8.php +1 -1
  905. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.8-0.7.9.php +1 -1
  906. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.9-0.7.10.php +1 -1
  907. app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -1
  908. app/code/core/Mage/CatalogInventory/Block/Adminhtml/Form/Field/Customergroup.php +1 -1
  909. app/code/core/Mage/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php +1 -1
  910. app/code/core/Mage/CatalogInventory/Block/Qtyincrements.php +11 -1
  911. app/code/core/Mage/CatalogInventory/Block/Stockqty/Abstract.php +1 -1
  912. app/code/core/Mage/CatalogInventory/Block/Stockqty/Composite.php +1 -1
  913. app/code/core/Mage/CatalogInventory/Block/Stockqty/Default.php +11 -1
  914. app/code/core/Mage/CatalogInventory/Block/Stockqty/Type/Configurable.php +1 -1
  915. app/code/core/Mage/CatalogInventory/Block/Stockqty/Type/Grouped.php +1 -1
  916. app/code/core/Mage/CatalogInventory/Helper/Data.php +16 -1
  917. app/code/core/Mage/CatalogInventory/Helper/Minsaleqty.php +1 -1
  918. app/code/core/Mage/CatalogInventory/Model/Api2/Stock/Item.php +1 -1
  919. app/code/core/Mage/CatalogInventory/Model/Api2/Stock/Item/Rest.php +1 -1
  920. app/code/core/Mage/CatalogInventory/Model/Api2/Stock/Item/Rest/Admin/V1.php +1 -1
  921. app/code/core/Mage/CatalogInventory/Model/Api2/Stock/Item/Validator/Item.php +1 -1
  922. app/code/core/Mage/CatalogInventory/Model/Indexer/Stock.php +1 -1
  923. app/code/core/Mage/CatalogInventory/Model/Mysql4/Indexer/Stock.php +1 -1
  924. app/code/core/Mage/CatalogInventory/Model/Mysql4/Indexer/Stock/Configurable.php +1 -1
  925. app/code/core/Mage/CatalogInventory/Model/Mysql4/Indexer/Stock/Default.php +1 -1
  926. app/code/core/Mage/CatalogInventory/Model/Mysql4/Indexer/Stock/Grouped.php +1 -1
  927. app/code/core/Mage/CatalogInventory/Model/Mysql4/Indexer/Stock/Interface.php +1 -1
  928. app/code/core/Mage/CatalogInventory/Model/Mysql4/Stock.php +1 -1
  929. app/code/core/Mage/CatalogInventory/Model/Mysql4/Stock/Item.php +1 -1
  930. app/code/core/Mage/CatalogInventory/Model/Mysql4/Stock/Item/Collection.php +1 -1
  931. app/code/core/Mage/CatalogInventory/Model/Mysql4/Stock/Status.php +1 -1
  932. app/code/core/Mage/CatalogInventory/Model/Observer.php +44 -7
  933. app/code/core/Mage/CatalogInventory/Model/Resource/Indexer/Stock.php +1 -1
  934. app/code/core/Mage/CatalogInventory/Model/Resource/Indexer/Stock/Configurable.php +1 -1
  935. app/code/core/Mage/CatalogInventory/Model/Resource/Indexer/Stock/Default.php +1 -1
  936. app/code/core/Mage/CatalogInventory/Model/Resource/Indexer/Stock/Grouped.php +1 -1
  937. app/code/core/Mage/CatalogInventory/Model/Resource/Indexer/Stock/Interface.php +1 -1
  938. app/code/core/Mage/CatalogInventory/Model/Resource/Stock.php +60 -7
  939. app/code/core/Mage/CatalogInventory/Model/Resource/Stock/Item.php +1 -1
  940. app/code/core/Mage/CatalogInventory/Model/Resource/Stock/Item/Collection.php +1 -1
  941. app/code/core/Mage/CatalogInventory/Model/Resource/Stock/Status.php +1 -1
  942. app/code/core/Mage/CatalogInventory/Model/Source/Backorders.php +1 -1
  943. app/code/core/Mage/CatalogInventory/Model/Source/Stock.php +1 -1
  944. app/code/core/Mage/CatalogInventory/Model/Stock.php +1 -1
  945. app/code/core/Mage/CatalogInventory/Model/Stock/Item.php +3 -3
  946. app/code/core/Mage/CatalogInventory/Model/Stock/Item/Api.php +1 -1
  947. app/code/core/Mage/CatalogInventory/Model/Stock/Item/Api/V2.php +35 -34
  948. app/code/core/Mage/CatalogInventory/Model/Stock/Status.php +5 -3
  949. app/code/core/Mage/CatalogInventory/Model/System/Config/Backend/Minqty.php +1 -1
  950. app/code/core/Mage/CatalogInventory/Model/System/Config/Backend/Minsaleqty.php +1 -1
  951. app/code/core/Mage/CatalogInventory/Model/System/Config/Backend/Qtyincrements.php +1 -1
  952. app/code/core/Mage/CatalogInventory/etc/adminhtml.xml +1 -1
  953. app/code/core/Mage/CatalogInventory/etc/api.xml +9 -1
  954. app/code/core/Mage/CatalogInventory/etc/api2.xml +1 -1
  955. app/code/core/Mage/CatalogInventory/etc/config.xml +10 -1
  956. app/code/core/Mage/CatalogInventory/etc/system.xml +13 -3
  957. app/code/core/Mage/CatalogInventory/etc/wsdl.xml +31 -0
  958. app/code/core/Mage/CatalogInventory/etc/wsi.xml +41 -0
  959. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/install-1.6.0.0.php +1 -1
  960. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-install-0.7.0.php +1 -1
  961. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.0-0.7.1.php +1 -1
  962. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.1-0.7.2.php +1 -1
  963. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.2-0.7.3.php +1 -1
  964. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.3-0.7.4.php +1 -1
  965. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.4-0.7.5.php +1 -1
  966. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.5-0.7.6.php +1 -1
  967. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.6-0.7.7.php +1 -1
  968. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.7-0.7.8.php +1 -1
  969. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -1
  970. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-1.6.0.0-1.6.0.0.1.php +1 -1
  971. app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/upgrade-1.6.0.0.1-1.6.0.0.2.php +1 -1
  972. app/code/core/Mage/CatalogRule/Helper/Data.php +1 -1
  973. app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh.php +648 -0
  974. app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh/Row.php +101 -0
  975. app/code/core/Mage/CatalogRule/Model/Flag.php +1 -1
  976. app/code/core/Mage/CatalogRule/Model/Mysql4/Rule.php +1 -1
  977. app/code/core/Mage/CatalogRule/Model/Mysql4/Rule/Collection.php +1 -1
  978. app/code/core/Mage/CatalogRule/Model/Mysql4/Rule/Product/Price.php +1 -1
  979. app/code/core/Mage/CatalogRule/Model/Mysql4/Rule/Product/Price/Collection.php +1 -1
  980. app/code/core/Mage/CatalogRule/Model/Observer.php +21 -13
  981. app/code/core/Mage/CatalogRule/Model/Resource/Rule.php +258 -246
  982. app/code/core/Mage/CatalogRule/Model/Resource/Rule/Collection.php +1 -1
  983. app/code/core/Mage/CatalogRule/Model/Resource/Rule/Product/Price.php +1 -1
  984. app/code/core/Mage/CatalogRule/Model/Resource/Rule/Product/Price/Collection.php +1 -1
  985. app/code/core/Mage/CatalogRule/Model/Rule.php +89 -23
  986. app/code/core/Mage/CatalogRule/Model/Rule/Action/Collection.php +1 -1
  987. app/code/core/Mage/CatalogRule/Model/Rule/Action/Product.php +1 -1
  988. app/code/core/Mage/CatalogRule/Model/Rule/Condition/Combine.php +1 -1
  989. app/code/core/Mage/CatalogRule/Model/Rule/Condition/Product.php +103 -1
  990. app/code/core/Mage/CatalogRule/Model/Rule/Product/Price.php +1 -1
  991. app/code/core/Mage/CatalogRule/etc/adminhtml.xml +1 -1
  992. app/code/core/Mage/CatalogRule/etc/config.xml +6 -3
  993. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/install-1.6.0.0.php +1 -1
  994. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-install-0.7.0.php +1 -1
  995. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.0-0.7.1.php +1 -1
  996. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.1-0.7.2.php +1 -1
  997. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.2-0.7.3.php +1 -1
  998. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.3-0.7.4.php +1 -1
  999. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.4-0.7.5.php +1 -1
  1000. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.5-0.7.6.php +1 -1
  1001. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.6-0.7.7.php +1 -1
  1002. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.7-0.7.8.php +1 -1
  1003. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.8-0.7.9.php +1 -1
  1004. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.9-0.7.10.php +1 -1
  1005. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -1
  1006. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/upgrade-1.6.0.0-1.6.0.1.php +1 -1
  1007. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/upgrade-1.6.0.1-1.6.0.2.php +1 -1
  1008. app/code/core/Mage/CatalogRule/sql/catalogrule_setup/upgrade-1.6.0.2-1.6.0.3.php +1 -1
  1009. app/code/core/Mage/CatalogSearch/Block/Advanced/Form.php +19 -14
  1010. app/code/core/Mage/CatalogSearch/Block/Advanced/Result.php +1 -1
  1011. app/code/core/Mage/CatalogSearch/Block/Autocomplete.php +3 -3
  1012. app/code/core/Mage/CatalogSearch/Block/Layer.php +2 -2
  1013. app/code/core/Mage/CatalogSearch/Block/Layer/Filter/Attribute.php +1 -1
  1014. app/code/core/Mage/CatalogSearch/Block/Result.php +1 -1
  1015. app/code/core/Mage/CatalogSearch/Block/Term.php +1 -1
  1016. app/code/core/Mage/CatalogSearch/Helper/Data.php +1 -1
.htaccess.sample CHANGED
@@ -31,8 +31,7 @@
31
  ############################################
32
  ## adjust memory limit
33
 
34
- # php_value memory_limit 64M
35
- php_value memory_limit 128M
36
  php_value max_execution_time 18000
37
 
38
  ############################################
31
  ############################################
32
  ## adjust memory limit
33
 
34
+ php_value memory_limit 512M
 
35
  php_value max_execution_time 18000
36
 
37
  ############################################
RELEASE_NOTES.txt CHANGED
@@ -1,3 +1,12 @@
 
 
 
 
 
 
 
 
 
1
  ==== 1.7.0.2 ====
2
 
3
  === Fixes ===
1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3
+ ] NOTE: Current Release Notes are maintained at: [
4
+ ] [
5
+ ] http://www.magentocommerce.com/knowledge-base/entry/ce-18-later-release-notes [
6
+ ] [
7
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9
+
10
  ==== 1.7.0.2 ====
11
 
12
  === Fixes ===
app/Mage.php CHANGED
@@ -168,9 +168,9 @@ final class Mage
168
  {
169
  return array(
170
  'major' => '1',
171
- 'minor' => '7',
172
  'revision' => '0',
173
- 'patch' => '2',
174
  'stability' => '',
175
  'number' => '',
176
  );
@@ -695,7 +695,7 @@ final class Mage
695
  }
696
  try {
697
  self::dispatchEvent('mage_run_exception', array('exception' => $e));
698
- if (!headers_sent()) {
699
  header('Location:' . self::getUrl('install'));
700
  } else {
701
  self::printException($e);
168
  {
169
  return array(
170
  'major' => '1',
171
+ 'minor' => '8',
172
  'revision' => '0',
173
+ 'patch' => '0',
174
  'stability' => '',
175
  'number' => '',
176
  );
695
  }
696
  try {
697
  self::dispatchEvent('mage_run_exception', array('exception' => $e));
698
+ if (!headers_sent() && self::isInstalled()) {
699
  header('Location:' . self::getUrl('install'));
700
  } else {
701
  self::printException($e);
app/code/core/Mage/Admin/Helper/Data.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Acl.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Acl/Assert/Ip.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Acl/Assert/Time.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Acl/Resource.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Acl/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Acl/Role/Generic.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Acl/Role/Group.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Acl/Role/Registry.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Acl/Role/User.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Config.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/Acl.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/Acl/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/Acl/Role/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/Permissions/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/Role/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/Roles.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/Roles/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/Roles/User/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/Rules.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/Rules/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/User.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Mysql4/User/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Resource/Acl.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Resource/Acl/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Resource/Acl/Role/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Resource/Permissions/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Resource/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Resource/Role/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Resource/Roles.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Resource/Roles/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Resource/Roles/User/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Resource/Rules.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Resource/Rules/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Resource/User.php CHANGED
@@ -20,11 +20,10 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
  /**
29
  * ACL user resource
30
  *
@@ -151,7 +150,7 @@ class Mage_Admin_Model_Resource_User extends Mage_Core_Model_Resource_Db_Abstrac
151
  */
152
  private function _encryptPassword($pwStr)
153
  {
154
- return Mage::helper('core')->getHash($pwStr, 2);
155
  }
156
 
157
  /**
@@ -219,7 +218,7 @@ class Mage_Admin_Model_Resource_User extends Mage_Core_Model_Resource_Db_Abstrac
219
  } catch (Mage_Core_Exception $e) {
220
  throw $e;
221
  return false;
222
- } catch (Exception $e){
223
  $adapter->rollBack();
224
  return false;
225
  }
@@ -238,7 +237,7 @@ class Mage_Admin_Model_Resource_User extends Mage_Core_Model_Resource_Db_Abstrac
238
  {
239
  $rolesIds = $user->getRoleIds();
240
 
241
- if( !is_array($rolesIds) || count($rolesIds) == 0 ) {
242
  return $user;
243
  }
244
 
@@ -275,7 +274,7 @@ class Mage_Admin_Model_Resource_User extends Mage_Core_Model_Resource_Db_Abstrac
275
  $adapter->commit();
276
  } catch (Mage_Core_Exception $e) {
277
  throw $e;
278
- } catch (Exception $e){
279
  $adapter->rollBack();
280
  throw $e;
281
  }
@@ -331,7 +330,7 @@ class Mage_Admin_Model_Resource_User extends Mage_Core_Model_Resource_Db_Abstrac
331
 
332
  $aRoles = $this->hasAssigned2Role($user);
333
  if ( sizeof($aRoles) > 0 ) {
334
- foreach($aRoles as $idx => $data){
335
  $conditions = array(
336
  'role_id = ?' => $data['role_id'],
337
  );
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 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
  * ACL user resource
29
  *
150
  */
151
  private function _encryptPassword($pwStr)
152
  {
153
+ return Mage::helper('core')->getHash($pwStr, Mage_Admin_Model_User::HASH_SALT_LENGTH);
154
  }
155
 
156
  /**
218
  } catch (Mage_Core_Exception $e) {
219
  throw $e;
220
  return false;
221
+ } catch (Exception $e) {
222
  $adapter->rollBack();
223
  return false;
224
  }
237
  {
238
  $rolesIds = $user->getRoleIds();
239
 
240
+ if (!is_array($rolesIds) || count($rolesIds) == 0) {
241
  return $user;
242
  }
243
 
274
  $adapter->commit();
275
  } catch (Mage_Core_Exception $e) {
276
  throw $e;
277
+ } catch (Exception $e) {
278
  $adapter->rollBack();
279
  throw $e;
280
  }
330
 
331
  $aRoles = $this->hasAssigned2Role($user);
332
  if ( sizeof($aRoles) > 0 ) {
333
+ foreach ($aRoles as $idx => $data) {
334
  $conditions = array(
335
  'role_id = ?' => $data['role_id'],
336
  );
app/code/core/Mage/Admin/Model/Resource/User/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Roles.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Rules.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/Session.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/Model/User.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
@@ -60,18 +60,24 @@
60
  */
61
  class Mage_Admin_Model_User extends Mage_Core_Model_Abstract
62
  {
63
- /**
64
  * Configuration paths for email templates and identities
65
  */
66
  const XML_PATH_FORGOT_EMAIL_TEMPLATE = 'admin/emails/forgot_email_template';
67
  const XML_PATH_FORGOT_EMAIL_IDENTITY = 'admin/emails/forgot_email_identity';
68
  const XML_PATH_STARTUP_PAGE = 'admin/startup/page';
 
69
 
70
  /**
71
  * Minimum length of admin password
72
  */
73
  const MIN_PASSWORD_LENGTH = 7;
74
 
 
 
 
 
 
75
  /**
76
  * Model event prefix
77
  *
@@ -116,11 +122,11 @@ class Mage_Admin_Model_User extends Mage_Core_Model_Abstract
116
  'extra' => serialize($this->getExtra())
117
  );
118
 
119
- if($this->getId() > 0) {
120
  $data['user_id'] = $this->getId();
121
  }
122
 
123
- if( $this->getUsername() ) {
124
  $data['username'] = $this->getUsername();
125
  }
126
 
@@ -422,7 +428,18 @@ class Mage_Admin_Model_User extends Mage_Core_Model_Abstract
422
  */
423
  protected function _getEncodedPassword($password)
424
  {
425
- return Mage::helper('core')->getHash($password, 2);
 
 
 
 
 
 
 
 
 
 
 
426
  }
427
 
428
  /**
@@ -596,5 +613,4 @@ class Mage_Admin_Model_User extends Mage_Core_Model_Abstract
596
 
597
  return false;
598
  }
599
-
600
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
60
  */
61
  class Mage_Admin_Model_User extends Mage_Core_Model_Abstract
62
  {
63
+ /**#@+
64
  * Configuration paths for email templates and identities
65
  */
66
  const XML_PATH_FORGOT_EMAIL_TEMPLATE = 'admin/emails/forgot_email_template';
67
  const XML_PATH_FORGOT_EMAIL_IDENTITY = 'admin/emails/forgot_email_identity';
68
  const XML_PATH_STARTUP_PAGE = 'admin/startup/page';
69
+ /**#@-*/
70
 
71
  /**
72
  * Minimum length of admin password
73
  */
74
  const MIN_PASSWORD_LENGTH = 7;
75
 
76
+ /**
77
+ * Length of salt
78
+ */
79
+ const HASH_SALT_LENGTH = 32;
80
+
81
  /**
82
  * Model event prefix
83
  *
122
  'extra' => serialize($this->getExtra())
123
  );
124
 
125
+ if ($this->getId() > 0) {
126
  $data['user_id'] = $this->getId();
127
  }
128
 
129
+ if ($this->getUsername()) {
130
  $data['username'] = $this->getUsername();
131
  }
132
 
428
  */
429
  protected function _getEncodedPassword($password)
430
  {
431
+ return $this->_getHelper('core')->getHash($password, self::HASH_SALT_LENGTH);
432
+ }
433
+
434
+ /**
435
+ * Returns helper instance
436
+ *
437
+ * @param string $helperName
438
+ * @return Mage_Core_Helper_Abstract
439
+ */
440
+ protected function _getHelper($helperName)
441
+ {
442
+ return Mage::helper($helperName);
443
  }
444
 
445
  /**
613
 
614
  return false;
615
  }
 
616
  }
app/code/core/Mage/Admin/data/admin_setup/data-install-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/etc/config.xml CHANGED
@@ -21,14 +21,14 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Admin
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
28
  <config>
29
  <modules>
30
  <Mage_Admin>
31
- <version>1.6.1.0</version>
32
  </Mage_Admin>
33
  </modules>
34
  <global>
21
  *
22
  * @category Mage
23
  * @package Mage_Admin
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
28
  <config>
29
  <modules>
30
  <Mage_Admin>
31
+ <version>1.6.1.1</version>
32
  </Mage_Admin>
33
  </modules>
34
  <global>
app/code/core/Mage/Admin/sql/admin_setup/install-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/sql/admin_setup/mysql4-install-0.7.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/sql/admin_setup/mysql4-upgrade-0.7.0-0.7.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/sql/admin_setup/mysql4-upgrade-0.7.1-0.7.2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/sql/admin_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/sql/admin_setup/upgrade-1.6.0.0-1.6.1.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Admin
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Admin/sql/admin_setup/upgrade-1.6.1.0-1.6.1.1.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_Admin
23
+ * @copyright Copyright (c) 2013 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
+ /** @var $installer Mage_Core_Model_Resource_Setup */
28
+ $installer = $this;
29
+ $installer->startSetup();
30
+
31
+ //Increase password field length
32
+ $installer->getConnection()->changeColumn($installer->getTable('admin/user'), 'password', 'password', array(
33
+ 'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
34
+ 'length' => 100,
35
+ 'comment' => 'User Password'
36
+ ));
37
+
38
+ $installer->endSetup();
app/code/core/Mage/AdminNotification/Helper/Data.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/AdminNotification/Model/Feed.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/AdminNotification/Model/Inbox.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/AdminNotification/Model/Mysql4/Inbox.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/AdminNotification/Model/Mysql4/Inbox/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/AdminNotification/Model/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/AdminNotification/Model/Resource/Inbox.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/AdminNotification/Model/Resource/Inbox/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/AdminNotification/Model/Survey.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/AdminNotification/etc/adminhtml.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_AdminNotification
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_AdminNotification
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/AdminNotification/etc/config.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_AdminNotification
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_AdminNotification
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/AdminNotification/etc/system.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_AdminNotification
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_AdminNotification
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/AdminNotification/sql/adminnotification_setup/install-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/AdminNotification/sql/adminnotification_setup/mysql4-install-1.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/AdminNotification/sql/adminnotification_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_AdminNotification
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Controller/Action.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Exception.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Helper/Data.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
@@ -54,7 +54,7 @@ class Mage_Api_Helper_Data extends Mage_Core_Helper_Abstract
54
  }
55
 
56
  /**
57
- * Go thru a WSI args array and turns it to correct state.
58
  *
59
  * @param Object $obj - Link to Object
60
  * @return Object
@@ -65,7 +65,7 @@ class Mage_Api_Helper_Data extends Mage_Core_Helper_Abstract
65
 
66
  $modifiedKeys = $this->clearWsiFootprints($obj);
67
 
68
- foreach ($obj as $key => $value) {
69
  if (is_object($value)) {
70
  $this->wsiArrayUnpacker($value);
71
  }
@@ -79,13 +79,15 @@ class Mage_Api_Helper_Data extends Mage_Core_Helper_Abstract
79
  }
80
 
81
  foreach ($modifiedKeys as $arrKey) {
82
- $this->associativeArrayUnpack($obj->$arrKey);
 
 
83
  }
84
  }
85
  }
86
 
87
  /**
88
- * Go thru an object parameters and unpak associative object to array.
89
  *
90
  * @param Object $obj - Link to Object
91
  * @return Object
@@ -103,7 +105,7 @@ class Mage_Api_Helper_Data extends Mage_Core_Helper_Abstract
103
  } elseif (is_array($obj)) {
104
  $arr = array();
105
  $needReplacement = true;
106
- foreach ($obj as $key => &$value) {
107
  $isAssoc = $this->v2AssociativeArrayUnpacker($value);
108
  if ($isAssoc) {
109
  foreach ($value as $aKey => $aVal) {
@@ -127,7 +129,7 @@ class Mage_Api_Helper_Data extends Mage_Core_Helper_Abstract
127
  }
128
 
129
  /**
130
- * Go thru mixed and turns it to a correct look.
131
  *
132
  * @param Mixed $mixed A link to variable that may contain associative array.
133
  */
@@ -197,7 +199,6 @@ class Mage_Api_Helper_Data extends Mage_Core_Helper_Abstract
197
  if (is_array($mixed)) {
198
  $arrKeys = array_keys($mixed);
199
  $isDigit = false;
200
- $isString = false;
201
  foreach ($arrKeys as $key) {
202
  if (is_int($key)) {
203
  $isDigit = true;
@@ -205,9 +206,9 @@ class Mage_Api_Helper_Data extends Mage_Core_Helper_Abstract
205
  }
206
  }
207
  if ($isDigit) {
208
- $mixed = $this->packArrayToObjec($mixed);
209
  } else {
210
- $mixed = (object) $mixed;
211
  }
212
  }
213
  if (is_object($mixed) && isset($mixed->complexObjectArray)) {
@@ -224,7 +225,7 @@ class Mage_Api_Helper_Data extends Mage_Core_Helper_Abstract
224
  * @param Array $arr - Link to Object
225
  * @return Object
226
  */
227
- public function packArrayToObjec(Array $arr)
228
  {
229
  $obj = new stdClass();
230
  $obj->complexObjectArray = $arr;
@@ -275,30 +276,9 @@ class Mage_Api_Helper_Data extends Mage_Core_Helper_Abstract
275
  }
276
  // parse complex filter
277
  if (isset($filters->complex_filter) && is_array($filters->complex_filter)) {
278
- if ($this->isComplianceWSI()) {
279
- // WS-I compliance mode
280
- foreach ($filters->complex_filter as $fieldName => $condition) {
281
- if (is_object($condition) && isset($condition->key) && isset($condition->value)) {
282
- $conditionName = $condition->key;
283
- $conditionValue = $condition->value;
284
- $this->formatFilterConditionValue($conditionName, $conditionValue);
285
- $parsedFilters[$fieldName] = array($conditionName => $conditionValue);
286
- }
287
- }
288
- } else {
289
- // non WS-I compliance mode
290
- foreach ($filters->complex_filter as $value) {
291
- if (is_object($value) && isset($value->key) && isset($value->value)) {
292
- $fieldName = $value->key;
293
- $condition = $value->value;
294
- if (is_object($condition) && isset($condition->key) && isset($condition->value)) {
295
- $this->formatFilterConditionValue($condition->key, $condition->value);
296
- $parsedFilters[$fieldName] = array($condition->key => $condition->value);
297
- }
298
- }
299
- }
300
- }
301
  }
 
302
  $filters = $parsedFilters;
303
  }
304
  // make sure that method result is always array
@@ -318,6 +298,37 @@ class Mage_Api_Helper_Data extends Mage_Core_Helper_Abstract
318
  return $filters;
319
  }
320
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
321
  /**
322
  * Convert condition value from the string into the array
323
  * for the condition operators that require value to be an array.
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
54
  }
55
 
56
  /**
57
+ * Go through a WSI args array and turns it to correct state.
58
  *
59
  * @param Object $obj - Link to Object
60
  * @return Object
65
 
66
  $modifiedKeys = $this->clearWsiFootprints($obj);
67
 
68
+ foreach ($obj as $value) {
69
  if (is_object($value)) {
70
  $this->wsiArrayUnpacker($value);
71
  }
79
  }
80
 
81
  foreach ($modifiedKeys as $arrKey) {
82
+ if ($arrKey !== 'complex_filter') {
83
+ $this->associativeArrayUnpack($obj->$arrKey);
84
+ }
85
  }
86
  }
87
  }
88
 
89
  /**
90
+ * Go through an object parameters and unpack associative object to array.
91
  *
92
  * @param Object $obj - Link to Object
93
  * @return Object
105
  } elseif (is_array($obj)) {
106
  $arr = array();
107
  $needReplacement = true;
108
+ foreach ($obj as &$value) {
109
  $isAssoc = $this->v2AssociativeArrayUnpacker($value);
110
  if ($isAssoc) {
111
  foreach ($value as $aKey => $aVal) {
129
  }
130
 
131
  /**
132
+ * Go through mixed and turns it to a correct look.
133
  *
134
  * @param Mixed $mixed A link to variable that may contain associative array.
135
  */
199
  if (is_array($mixed)) {
200
  $arrKeys = array_keys($mixed);
201
  $isDigit = false;
 
202
  foreach ($arrKeys as $key) {
203
  if (is_int($key)) {
204
  $isDigit = true;
206
  }
207
  }
208
  if ($isDigit) {
209
+ $mixed = $this->packArrayToObject($mixed);
210
  } else {
211
+ $mixed = (object)$mixed;
212
  }
213
  }
214
  if (is_object($mixed) && isset($mixed->complexObjectArray)) {
225
  * @param Array $arr - Link to Object
226
  * @return Object
227
  */
228
+ public function packArrayToObject(Array $arr)
229
  {
230
  $obj = new stdClass();
231
  $obj->complexObjectArray = $arr;
276
  }
277
  // parse complex filter
278
  if (isset($filters->complex_filter) && is_array($filters->complex_filter)) {
279
+ $parsedFilters += $this->_parseComplexFilter($filters->complex_filter);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
280
  }
281
+
282
  $filters = $parsedFilters;
283
  }
284
  // make sure that method result is always array
298
  return $filters;
299
  }
300
 
301
+ /**
302
+ * Parses complex filter, which may contain several nodes, e.g. when user want to fetch orders which were updated
303
+ * between two dates.
304
+ *
305
+ * @param array $complexFilter
306
+ * @return array
307
+ */
308
+ protected function _parseComplexFilter($complexFilter)
309
+ {
310
+ $parsedFilters = array();
311
+
312
+ foreach ($complexFilter as $filter) {
313
+ if (!isset($filter->key) || !isset($filter->value)) {
314
+ continue;
315
+ }
316
+
317
+ list($fieldName, $condition) = array($filter->key, $filter->value);
318
+ $conditionName = $condition->key;
319
+ $conditionValue = $condition->value;
320
+ $this->formatFilterConditionValue($conditionName, $conditionValue);
321
+
322
+ if (array_key_exists($fieldName, $parsedFilters)) {
323
+ $parsedFilters[$fieldName] += array($conditionName => $conditionValue);
324
+ } else {
325
+ $parsedFilters[$fieldName] = array($conditionName => $conditionValue);
326
+ }
327
+ }
328
+
329
+ return $parsedFilters;
330
+ }
331
+
332
  /**
333
  * Convert condition value from the string into the array
334
  * for the condition operators that require value to be an array.
app/code/core/Mage/Api/Model/Acl.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Acl/Assert/Ip.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Acl/Assert/Time.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Acl/Resource.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Acl/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Acl/Role/Generic.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Acl/Role/Group.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Acl/Role/Registry.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Acl/Role/User.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Config.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/Acl.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/Acl/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/Acl/Role/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/Permissions/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/Role/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/Roles.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/Roles/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/Roles/User/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/Rules.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/Rules/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/User.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Mysql4/User/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/Acl.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/Acl/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/Acl/Role/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/Permissions/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/Role/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/Roles.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/Roles/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/Roles/User/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/Rules.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/Rules/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/User.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Resource/User/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Roles.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Rules.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Server.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Server/Adapter/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Server/Adapter/Soap.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Server/Adapter/Xmlrpc.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Server/Handler.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Server/Handler/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
@@ -287,7 +287,7 @@ abstract class Mage_Api_Model_Server_Handler_Abstract
287
  throw new Mage_Api_Exception('resource_path_not_callable');
288
  }
289
 
290
- if (is_callable(array(&$model, $method))) {
291
  if (isset($methodInfo->arguments) && ((string)$methodInfo->arguments) == 'array') {
292
  return $model->$method((is_array($args) ? $args : array($args)));
293
  } elseif (!is_array($args)) {
@@ -400,7 +400,7 @@ abstract class Mage_Api_Model_Server_Handler_Abstract
400
  throw new Mage_Api_Exception('resource_path_not_callable');
401
  }
402
 
403
- if (is_callable(array(&$model, $method))) {
404
  if (isset($methodInfo->arguments) && ((string)$methodInfo->arguments) == 'array') {
405
  $result[] = $model->$method((is_array($args) ? $args : array($args)));
406
  } elseif (!is_array($args)) {
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
287
  throw new Mage_Api_Exception('resource_path_not_callable');
288
  }
289
 
290
+ if (method_exists($model, $method)) {
291
  if (isset($methodInfo->arguments) && ((string)$methodInfo->arguments) == 'array') {
292
  return $model->$method((is_array($args) ? $args : array($args)));
293
  } elseif (!is_array($args)) {
400
  throw new Mage_Api_Exception('resource_path_not_callable');
401
  }
402
 
403
+ if (method_exists($model, $method)) {
404
  if (isset($methodInfo->arguments) && ((string)$methodInfo->arguments) == 'array') {
405
  $result[] = $model->$method((is_array($args) ? $args : array($args)));
406
  } elseif (!is_array($args)) {
app/code/core/Mage/Api/Model/Server/V2/Adapter/Soap.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
@@ -61,16 +61,20 @@ class Mage_Api_Model_Server_V2_Adapter_Soap extends Mage_Api_Model_Server_Adapte
61
  try {
62
  $this->_instantiateServer();
63
 
 
 
 
 
 
 
 
 
 
64
  $this->getController()->getResponse()
65
  ->clearHeaders()
66
- ->setHeader('Content-Type','text/xml; charset='.$apiConfigCharset)
67
- ->setBody(
68
- preg_replace(
69
- '/<\?xml version="([^\"]+)"([^\>]+)>/i',
70
- '<?xml version="$1" encoding="'.$apiConfigCharset.'"?>',
71
- $this->_soap->handle()
72
- )
73
- );
74
  } catch( Zend_Soap_Server_Exception $e ) {
75
  $this->fault( $e->getCode(), $e->getMessage() );
76
  } catch( Exception $e ) {
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
61
  try {
62
  $this->_instantiateServer();
63
 
64
+ $content = str_replace(
65
+ '><',
66
+ ">\n<",
67
+ preg_replace(
68
+ '/<\?xml version="([^\"]+)"([^\>]+)>/i',
69
+ '<?xml version="$1" encoding="' . $apiConfigCharset . '"?>',
70
+ $this->_soap->handle()
71
+ )
72
+ );
73
  $this->getController()->getResponse()
74
  ->clearHeaders()
75
+ ->setHeader('Content-Type', 'text/xml; charset=' . $apiConfigCharset)
76
+ ->setHeader('Content-Length', strlen($content), true)
77
+ ->setBody($content);
 
 
 
 
 
78
  } catch( Zend_Soap_Server_Exception $e ) {
79
  $this->fault( $e->getCode(), $e->getMessage() );
80
  } catch( Exception $e ) {
app/code/core/Mage/Api/Model/Server/V2/Handler.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Server/Wsi/Adapter/Soap.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
@@ -73,28 +73,33 @@ class Mage_Api_Model_Server_WSI_Adapter_Soap extends Mage_Api_Model_Server_Adapt
73
  try {
74
  $this->_instantiateServer();
75
 
76
- $this->getController()->getResponse()
77
- ->clearHeaders()
78
- ->setHeader('Content-Type','text/xml; charset='.$apiConfigCharset)
79
- ->setBody(
 
 
80
  str_replace(
81
- '<soap:operation soapAction=""></soap:operation>',
82
- "<soap:operation soapAction=\"\" />\n",
83
- str_replace(
84
- '<soap:body use="literal"></soap:body>',
85
- "<soap:body use=\"literal\" />\n",
86
- preg_replace(
87
- '/<\?xml version="([^\"]+)"([^\>]+)>/i',
88
- '<?xml version="$1" encoding="'.$apiConfigCharset.'"?>',
89
- $this->_soap->handle()
90
- )
91
  )
92
  )
93
- );
94
- } catch( Zend_Soap_Server_Exception $e ) {
95
- $this->fault( $e->getCode(), $e->getMessage() );
96
- } catch( Exception $e ) {
97
- $this->fault( $e->getCode(), $e->getMessage() );
 
 
 
 
 
 
 
98
  }
99
  }
100
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
73
  try {
74
  $this->_instantiateServer();
75
 
76
+ $content = str_replace(
77
+ '><',
78
+ ">\n<",
79
+ str_replace(
80
+ '<soap:operation soapAction=""></soap:operation>',
81
+ "<soap:operation soapAction=\"\" />\n",
82
  str_replace(
83
+ '<soap:body use="literal"></soap:body>',
84
+ "<soap:body use=\"literal\" />\n",
85
+ preg_replace(
86
+ '/<\?xml version="([^\"]+)"([^\>]+)>/i',
87
+ '<?xml version="$1" encoding="' . $apiConfigCharset . '"?>',
88
+ $this->_soap->handle()
 
 
 
 
89
  )
90
  )
91
+ )
92
+ );
93
+
94
+ $this->getController()->getResponse()
95
+ ->clearHeaders()
96
+ ->setHeader('Content-Type', 'text/xml; charset=' . $apiConfigCharset)
97
+ ->setHeader('Content-Length', strlen($content), true)
98
+ ->setBody($content);
99
+ } catch (Zend_Soap_Server_Exception $e) {
100
+ $this->fault($e->getCode(), $e->getMessage());
101
+ } catch (Exception $e) {
102
+ $this->fault($e->getCode(), $e->getMessage());
103
  }
104
  }
105
 
app/code/core/Mage/Api/Model/Server/Wsi/Handler.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
@@ -176,4 +176,16 @@ class Mage_Api_Model_Server_WSI_Handler extends Mage_Api_Model_Server_Handler_Ab
176
  return $callArgs;
177
  }
178
 
 
 
 
 
 
 
 
 
 
 
 
 
179
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
176
  return $callArgs;
177
  }
178
 
179
+ /**
180
+ * End web service session
181
+ *
182
+ * @param object $request
183
+ * @return stdClass
184
+ */
185
+ public function endSession($request)
186
+ {
187
+ $stdObject = new stdClass();
188
+ $stdObject->result = parent::endSession($request->sessionId);
189
+ return $stdObject;
190
+ }
191
  }
app/code/core/Mage/Api/Model/Session.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/User.php CHANGED
@@ -20,12 +20,12 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
- * Enter description here ...
29
  *
30
  * @method Mage_Api_Model_Resource_User _getResource()
31
  * @method Mage_Api_Model_Resource_User getResource()
@@ -63,11 +63,19 @@ class Mage_Api_Model_User extends Mage_Core_Model_Abstract
63
  */
64
  protected $_eventPrefix = 'api_user';
65
 
 
 
 
66
  protected function _construct()
67
  {
68
  $this->_init('api/user');
69
  }
70
 
 
 
 
 
 
71
  public function save()
72
  {
73
  $this->_beforeSave();
@@ -78,11 +86,11 @@ class Mage_Api_Model_User extends Mage_Core_Model_Abstract
78
  'modified' => Mage::getSingleton('core/date')->gmtDate()
79
  );
80
 
81
- if($this->getId() > 0) {
82
  $data['user_id'] = $this->getId();
83
  }
84
 
85
- if( $this->getUsername() ) {
86
  $data['username'] = $this->getUsername();
87
  }
88
 
@@ -104,6 +112,11 @@ class Mage_Api_Model_User extends Mage_Core_Model_Abstract
104
  return $this;
105
  }
106
 
 
 
 
 
 
107
  public function delete()
108
  {
109
  $this->_beforeDelete();
@@ -112,50 +125,96 @@ class Mage_Api_Model_User extends Mage_Core_Model_Abstract
112
  return $this;
113
  }
114
 
 
 
 
 
 
115
  public function saveRelations()
116
  {
117
  $this->_getResource()->_saveRelations($this);
118
  return $this;
119
  }
120
 
 
 
 
 
 
121
  public function getRoles()
122
  {
123
  return $this->_getResource()->_getRoles($this);
124
  }
125
 
 
 
 
 
 
126
  public function deleteFromRole()
127
  {
128
  $this->_getResource()->deleteFromRole($this);
129
  return $this;
130
  }
131
 
 
 
 
 
 
132
  public function roleUserExists()
133
  {
134
  $result = $this->_getResource()->roleUserExists($this);
135
  return ( is_array($result) && count($result) > 0 ) ? true : false;
136
  }
137
 
 
 
 
 
 
138
  public function add()
139
  {
140
  $this->_getResource()->add($this);
141
  return $this;
142
  }
143
 
 
 
 
 
 
144
  public function userExists()
145
  {
146
  $result = $this->_getResource()->userExists($this);
147
  return ( is_array($result) && count($result) > 0 ) ? true : false;
148
  }
149
 
 
 
 
 
 
150
  public function getCollection() {
151
  return Mage::getResourceModel('api/user_collection');
152
  }
153
 
154
- public function getName($separator=' ')
 
 
 
 
 
 
155
  {
156
  return $this->getFirstname().$separator.$this->getLastname();
157
  }
158
 
 
 
 
 
 
159
  public function getId()
160
  {
161
  return $this->getUserId();
@@ -196,7 +255,7 @@ class Mage_Api_Model_User extends Mage_Core_Model_Abstract
196
  /**
197
  * Login user
198
  *
199
- * @param string $login
200
  * @param string $apiKey
201
  * @return Mage_Api_Model_User
202
  */
@@ -217,38 +276,83 @@ class Mage_Api_Model_User extends Mage_Core_Model_Abstract
217
  return $this;
218
  }
219
 
 
 
 
 
 
220
  public function reload()
221
  {
222
  $this->load($this->getId());
223
  return $this;
224
  }
225
 
 
 
 
 
 
 
226
  public function loadByUsername($username)
227
  {
228
  $this->setData($this->getResource()->loadByUsername($username));
229
  return $this;
230
  }
231
 
 
 
 
 
 
 
232
  public function loadBySessId ($sessId)
233
  {
234
  $this->setData($this->getResource()->loadBySessId($sessId));
235
  return $this;
236
  }
237
 
 
 
 
 
 
 
238
  public function logoutBySessId($sessid)
239
  {
240
  $this->getResource()->clearBySessId($sessid);
241
  return $this;
242
  }
243
 
 
 
 
 
 
 
244
  public function hasAssigned2Role($user)
245
  {
246
  return $this->getResource()->hasAssigned2Role($user);
247
  }
248
 
 
 
 
 
 
 
249
  protected function _getEncodedApiKey($apiKey)
250
  {
251
- return Mage::helper('core')->getHash($apiKey, 2);
252
  }
253
 
 
 
 
 
 
 
 
 
 
 
254
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 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
+ * Api model
29
  *
30
  * @method Mage_Api_Model_Resource_User _getResource()
31
  * @method Mage_Api_Model_Resource_User getResource()
63
  */
64
  protected $_eventPrefix = 'api_user';
65
 
66
+ /**
67
+ * Constructor
68
+ */
69
  protected function _construct()
70
  {
71
  $this->_init('api/user');
72
  }
73
 
74
+ /**
75
+ * Save user
76
+ *
77
+ * @return Mage_Api_Model_User|Mage_Core_Model_Abstract
78
+ */
79
  public function save()
80
  {
81
  $this->_beforeSave();
86
  'modified' => Mage::getSingleton('core/date')->gmtDate()
87
  );
88
 
89
+ if ($this->getId() > 0) {
90
  $data['user_id'] = $this->getId();
91
  }
92
 
93
+ if ( $this->getUsername() ) {
94
  $data['username'] = $this->getUsername();
95
  }
96
 
112
  return $this;
113
  }
114
 
115
+ /**
116
+ * Delete user
117
+ *
118
+ * @return Mage_Api_Model_User|Mage_Core_Model_Abstract
119
+ */
120
  public function delete()
121
  {
122
  $this->_beforeDelete();
125
  return $this;
126
  }
127
 
128
+ /**
129
+ * Save relations for users
130
+ *
131
+ * @return Mage_Api_Model_User
132
+ */
133
  public function saveRelations()
134
  {
135
  $this->_getResource()->_saveRelations($this);
136
  return $this;
137
  }
138
 
139
+ /**
140
+ * Get user roles
141
+ *
142
+ * @return array
143
+ */
144
  public function getRoles()
145
  {
146
  return $this->_getResource()->_getRoles($this);
147
  }
148
 
149
+ /**
150
+ * Delete user from role
151
+ *
152
+ * @return Mage_Api_Model_User
153
+ */
154
  public function deleteFromRole()
155
  {
156
  $this->_getResource()->deleteFromRole($this);
157
  return $this;
158
  }
159
 
160
+ /**
161
+ * Check is user role exists
162
+ *
163
+ * @return bool
164
+ */
165
  public function roleUserExists()
166
  {
167
  $result = $this->_getResource()->roleUserExists($this);
168
  return ( is_array($result) && count($result) > 0 ) ? true : false;
169
  }
170
 
171
+ /**
172
+ * Add user
173
+ *
174
+ * @return Mage_Api_Model_User
175
+ */
176
  public function add()
177
  {
178
  $this->_getResource()->add($this);
179
  return $this;
180
  }
181
 
182
+ /**
183
+ * Check if user exists
184
+ *
185
+ * @return bool
186
+ */
187
  public function userExists()
188
  {
189
  $result = $this->_getResource()->userExists($this);
190
  return ( is_array($result) && count($result) > 0 ) ? true : false;
191
  }
192
 
193
+ /**
194
+ * Get collection of users
195
+ *
196
+ * @return Object|Mage_Api_Model_Resource_User_Collection
197
+ */
198
  public function getCollection() {
199
  return Mage::getResourceModel('api/user_collection');
200
  }
201
 
202
+ /**
203
+ * Get user's name
204
+ *
205
+ * @param string $separator
206
+ * @return string
207
+ */
208
+ public function getName($separator = ' ')
209
  {
210
  return $this->getFirstname().$separator.$this->getLastname();
211
  }
212
 
213
+ /**
214
+ * Get user's id
215
+ *
216
+ * @return string
217
+ */
218
  public function getId()
219
  {
220
  return $this->getUserId();
255
  /**
256
  * Login user
257
  *
258
+ * @param string $username
259
  * @param string $apiKey
260
  * @return Mage_Api_Model_User
261
  */
276
  return $this;
277
  }
278
 
279
+ /**
280
+ * Reload user
281
+ *
282
+ * @return Mage_Api_Model_User
283
+ */
284
  public function reload()
285
  {
286
  $this->load($this->getId());
287
  return $this;
288
  }
289
 
290
+ /**
291
+ * Load user by username
292
+ *
293
+ * @param string $username
294
+ * @return Mage_Api_Model_User
295
+ */
296
  public function loadByUsername($username)
297
  {
298
  $this->setData($this->getResource()->loadByUsername($username));
299
  return $this;
300
  }
301
 
302
+ /**
303
+ * Load user by session id
304
+ *
305
+ * @param string $sessId
306
+ * @return Mage_Api_Model_User
307
+ */
308
  public function loadBySessId ($sessId)
309
  {
310
  $this->setData($this->getResource()->loadBySessId($sessId));
311
  return $this;
312
  }
313
 
314
+ /**
315
+ * Logout user by session id
316
+ *
317
+ * @param string $sessid
318
+ * @return Mage_Api_Model_User
319
+ */
320
  public function logoutBySessId($sessid)
321
  {
322
  $this->getResource()->clearBySessId($sessid);
323
  return $this;
324
  }
325
 
326
+ /**
327
+ * Check if user is assigned to role
328
+ *
329
+ * @param int|Mage_Core_Model_Abstract $user
330
+ * @return array|null
331
+ */
332
  public function hasAssigned2Role($user)
333
  {
334
  return $this->getResource()->hasAssigned2Role($user);
335
  }
336
 
337
+ /**
338
+ * Retrieve encoded api key
339
+ *
340
+ * @param string $apiKey
341
+ * @return string
342
+ */
343
  protected function _getEncodedApiKey($apiKey)
344
  {
345
+ return $this->_getHelper('core')->getHash($apiKey, Mage_Admin_Model_User::HASH_SALT_LENGTH);
346
  }
347
 
348
+ /**
349
+ * Get helper instance
350
+ *
351
+ * @param string $helperName
352
+ * @return Mage_Core_Helper_Abstract
353
+ */
354
+ protected function _getHelper($helperName)
355
+ {
356
+ return Mage::helper($helperName);
357
+ }
358
  }
app/code/core/Mage/Api/Model/Wsdl/Config.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Wsdl/Config/Base.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/Model/Wsdl/Config/Element.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/controllers/IndexController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/controllers/SoapController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/controllers/V2/SoapController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/controllers/XmlrpcController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/etc/adminhtml.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Api
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Api
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Api/etc/api.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Api
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Api
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Api/etc/config.xml CHANGED
@@ -21,14 +21,14 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Api
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
28
  <config>
29
  <modules>
30
  <Mage_Api>
31
- <version>1.6.0.0</version>
32
  </Mage_Api>
33
  </modules>
34
  <global>
21
  *
22
  * @category Mage
23
  * @package Mage_Api
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
28
  <config>
29
  <modules>
30
  <Mage_Api>
31
+ <version>1.6.0.1</version>
32
  </Mage_Api>
33
  </modules>
34
  <global>
app/code/core/Mage/Api/etc/system.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Api
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Api
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Api/sql/api_setup/install-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/sql/api_setup/mysql4-install-0.7.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/sql/api_setup/mysql4-upgrade-0.7.0-0.7.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/sql/api_setup/mysql4-upgrade-0.8.0-0.8.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/sql/api_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api/sql/api_setup/mysql4-upgrade-1.6.0.0-1.6.0.1.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_Api
23
+ * @copyright Copyright (c) 2013 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
+ /* @var $this Mage_Core_Model_Resource_Setup */
28
+ $this->startSetup();
29
+
30
+ $this->getConnection()->changeColumn(
31
+ $this->getTable('api/user'),
32
+ 'api_key',
33
+ 'api_key',
34
+ array(
35
+ 'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
36
+ 'length' => 100,
37
+ 'comment' => 'Api key'
38
+ )
39
+ );
40
+
41
+ $this->endSetup();
app/code/core/Mage/Api2/Block/Adminhtml/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Buttons.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Edit.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Edit/Form.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Grid.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Tab/Resource.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Tabs.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Permissions/User/Edit/Tab/Roles.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Roles.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Roles/Buttons.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Roles/Grid.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tab/Info.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
@@ -60,10 +60,7 @@ class Mage_Api2_Block_Adminhtml_Roles_Tab_Info extends Mage_Adminhtml_Block_Widg
60
  /** @var $helper Mage_Core_Helper_Data */
61
  $helper = Mage::helper('core');
62
 
63
- $data['note'] = Mage::helper('api2')->__(
64
- '%s role is protected.',
65
- $helper->escapeHtml($this->getRole()->getRoleName())
66
- );
67
  $data['readonly'] = 'readonly';
68
  }
69
  $fieldset->addField('role_name', 'text', $data);
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
60
  /** @var $helper Mage_Core_Helper_Data */
61
  $helper = Mage::helper('core');
62
 
63
+ $data['note'] = Mage::helper('api2')->__('%s role is protected.', $helper->escapeHtml($this->getRole()->getRoleName()));
 
 
 
64
  $data['readonly'] = 'readonly';
65
  }
66
  $fieldset->addField('role_name', 'text', $data);
app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tab/Resources.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tab/Users.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tabs.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Exception.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Helper/Data.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Acl.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Acl/Filter.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Acl/Filter/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Acl/Filter/Attribute/Operation.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Acl/Filter/Attribute/ResourcePermission.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Acl/Global.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Acl/Global/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
@@ -96,8 +96,7 @@ class Mage_Api2_Model_Acl_Global_Role extends Mage_Core_Model_Abstract
96
  $helper = Mage::helper('core');
97
 
98
  Mage::throwException(
99
- Mage::helper('api2')->__('%s role is a special one and can\'t be changed.',
100
- $helper->escapeHtml($this->getRoleName()))
101
  );
102
  }
103
 
@@ -117,8 +116,7 @@ class Mage_Api2_Model_Acl_Global_Role extends Mage_Core_Model_Abstract
117
  $helper = Mage::helper('core');
118
 
119
  Mage::throwException(
120
- Mage::helper('api2')->__('%s role is a special one and can\'t be deleted.',
121
- $helper->escapeHtml($this->getRoleName()))
122
  );
123
  }
124
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
96
  $helper = Mage::helper('core');
97
 
98
  Mage::throwException(
99
+ Mage::helper('api2')->__('%s role is a special one and can\'t be changed.', $helper->escapeHtml($this->getRoleName()))
 
100
  );
101
  }
102
 
116
  $helper = Mage::helper('core');
117
 
118
  Mage::throwException(
119
+ Mage::helper('api2')->__('%s role is a special one and can\'t be deleted.', $helper->escapeHtml($this->getRoleName()))
 
120
  );
121
  }
122
 
app/code/core/Mage/Api2/Model/Acl/Global/Rule.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Acl/Global/Rule/Permission.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Acl/Global/Rule/Privilege.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Acl/Global/Rule/ResourcePermission.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Acl/Global/Rule/Tree.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Acl/PermissionInterface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Auth.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Auth/Adapter.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Auth/Adapter/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Auth/Adapter/Oauth.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Auth/User.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Auth/User/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Auth/User/Admin.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Auth/User/Customer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Auth/User/Guest.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Config.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Dispatcher.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Multicall.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Renderer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Renderer/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Renderer/Json.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Renderer/Query.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Renderer/Xml.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Renderer/Xml/Writer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Request.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Request/Internal.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Request/Interpreter.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Request/Interpreter/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Request/Interpreter/Json.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Request/Interpreter/Query.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Request/Interpreter/Xml.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Resource.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Resource/Acl/Filter/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Resource/Acl/Filter/Attribute/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Resource/Acl/Global/Role.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Resource/Acl/Global/Role/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Resource/Acl/Global/Rule.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Resource/Acl/Global/Rule/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Resource/Setup.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Resource/Validator.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Resource/Validator/Eav.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
@@ -222,11 +222,10 @@ class Mage_Api2_Model_Resource_Validator_Eav extends Mage_Api2_Model_Resource_Va
222
  {
223
  // business asked to avoid additional validation message, so we filter it here
224
  $errors = array();
225
- $helper = Mage::helper('eav');
226
  $requiredAttrs = array();
227
- $isRequiredRE = '/^' . str_replace('%s', '(.+)', preg_quote($helper->__('"%s" is a required value.'))). '$/';
228
  $greaterThanRE = '/^' . str_replace(
229
- '%s', '(.+)', preg_quote($helper->__('"%s" length must be equal or greater than %s characters.'))
230
  ) . '$/';
231
 
232
  // find all required attributes labels
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
222
  {
223
  // business asked to avoid additional validation message, so we filter it here
224
  $errors = array();
 
225
  $requiredAttrs = array();
226
+ $isRequiredRE = '/^' . str_replace('%s', '(.+)', preg_quote(Mage::helper('eav')->__('"%s" is a required value.'))) . '$/';
227
  $greaterThanRE = '/^' . str_replace(
228
+ '%s', '(.+)', preg_quote(Mage::helper('eav')->__('"%s" length must be equal or greater than %s characters.'))
229
  ) . '$/';
230
 
231
  // find all required attributes labels
app/code/core/Mage/Api2/Model/Resource/Validator/Fields.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Response.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Route/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Route/ApiType.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Route/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Route/Rest.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Router.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/Model/Server.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/controllers/Adminhtml/Api2/AttributeController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/controllers/Adminhtml/Api2/RoleController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Api2/etc/adminhtml.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Api2
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Api2
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Api2/etc/config.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Api2
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Api2
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Api2/sql/api2_setup/install-1.0.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
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
  /**
20
  *
21
  * @category Mage
22
  * @package Mage_Api2
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  /**
app/code/core/Mage/Authorizenet/Block/Directpost/Form.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Authorizenet/Block/Directpost/Iframe.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Authorizenet/Helper/Data.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
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
 
@@ -126,7 +126,8 @@ class Mage_Authorizenet_Helper_Data extends Mage_Core_Helper_Abstract
126
  */
127
  public function getPlaceOrderFrontUrl()
128
  {
129
- return $this->_getUrl('authorizenet/directpost_payment/place');
 
130
  }
131
 
132
  /**
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
126
  */
127
  public function getPlaceOrderFrontUrl()
128
  {
129
+ $params = array(Mage_Core_Model_Url::FORM_KEY => Mage::getSingleton('core/session')->getFormKey());
130
+ return $this->_getUrl('authorizenet/directpost_payment/place', $params);
131
  }
132
 
133
  /**
app/code/core/Mage/Authorizenet/Model/Directpost.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
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
 
@@ -426,6 +426,13 @@ class Mage_Authorizenet_Model_Directpost extends Mage_Paygate_Model_Authorizenet
426
  if ($orderIncrementId) {
427
  /* @var $order Mage_Sales_Model_Order */
428
  $order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
 
 
 
 
 
 
 
429
  if ($order->getId() && $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) {
430
  //operate with order
431
  $this->_authOrder($order);
@@ -536,12 +543,8 @@ class Mage_Authorizenet_Model_Directpost extends Mage_Paygate_Model_Authorizenet
536
 
537
  $payment->addTransaction(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH);
538
 
539
- // Set transaction apporval message
540
- $message = Mage::helper('authorizenet')->__(
541
- 'Amount of %s approved by payment gateway. Transaction ID: "%s".',
542
- $order->getBaseCurrency()->formatTxt($payment->getBaseAmountAuthorized()),
543
- $response->getXTransId()
544
- );
545
 
546
  $orderState = Mage_Sales_Model_Order::STATE_PROCESSING;
547
  $orderStatus = $this->getConfigData('order_status');
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
426
  if ($orderIncrementId) {
427
  /* @var $order Mage_Sales_Model_Order */
428
  $order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
429
+ //check payment method
430
+ $payment = $order->getPayment();
431
+ if (!$payment || $payment->getMethod() != $this->getCode()) {
432
+ Mage::throwException(
433
+ Mage::helper('authorizenet')->__('Payment error. Order was not found.')
434
+ );
435
+ }
436
  if ($order->getId() && $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) {
437
  //operate with order
438
  $this->_authOrder($order);
543
 
544
  $payment->addTransaction(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH);
545
 
546
+ // Set transaction approval message
547
+ $message = Mage::helper('authorizenet')->__('Amount of %s approved by payment gateway. Transaction ID: "%s".', $order->getBaseCurrency()->formatTxt($payment->getBaseAmountAuthorized()), $response->getXTransId());
 
 
 
 
548
 
549
  $orderState = Mage_Sales_Model_Order::STATE_PROCESSING;
550
  $orderStatus = $this->getConfigData('order_status');
app/code/core/Mage/Authorizenet/Model/Directpost/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Authorizenet/Model/Directpost/Request.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Authorizenet/Model/Directpost/Response.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Authorizenet/Model/Directpost/Session.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Authorizenet/controllers/Adminhtml/Authorizenet/Directpost/PaymentController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Authorizenet/controllers/Directpost/PaymentController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Authorizenet
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Authorizenet/etc/config.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Authorizenet
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Authorizenet
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Authorizenet/etc/system.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Authorizenet
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Authorizenet
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Backup/Exception.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Backup/Helper/Data.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
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
 
@@ -62,10 +62,10 @@ class Mage_Backup_Helper_Data extends Mage_Core_Helper_Abstract
62
  public function getBackupTypes()
63
  {
64
  return array(
65
- self::TYPE_DB => self::__('Database'),
66
- self::TYPE_MEDIA => self::__('Database and Media'),
67
- self::TYPE_SYSTEM_SNAPSHOT => self::__('System'),
68
- self::TYPE_SNAPSHOT_WITHOUT_MEDIA => self::__('System (excluding Media)')
69
  );
70
  }
71
 
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
62
  public function getBackupTypes()
63
  {
64
  return array(
65
+ self::TYPE_DB => $this->__('Database'),
66
+ self::TYPE_MEDIA => $this->__('Database and Media'),
67
+ self::TYPE_SYSTEM_SNAPSHOT => $this->__('System'),
68
+ self::TYPE_SNAPSHOT_WITHOUT_MEDIA => $this->__('System (excluding Media)')
69
  );
70
  }
71
 
app/code/core/Mage/Backup/Model/Backup.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Backup/Model/Config/Backend/Cron.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Backup/Model/Config/Source/Type.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Backup/Model/Db.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Backup/Model/Fs/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Backup/Model/Mysql4/Db.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Backup/Model/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Backup/Model/Resource/Db.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Backup/Model/Resource/Helper/Mysql4.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Backup
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Backup/etc/adminhtml.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Backup
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Backup
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Backup/etc/config.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Backup
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Backup
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Backup/etc/system.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Backup
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Backup
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Bundle.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Checkbox.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Multi.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Radio.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Select.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Special.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Selection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tabs.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Adminhtml/Sales/Order/Items/Renderer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
@@ -77,7 +77,9 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_Items_Renderer extends Mage_Adminh
77
  }
78
  if ($parentItem = $item->getParentItem()) {
79
  if ($options = $parentItem->getProductOptions()) {
80
- if (isset($options['shipment_type']) && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY) {
 
 
81
  return true;
82
  } else {
83
  return false;
@@ -85,7 +87,9 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_Items_Renderer extends Mage_Adminh
85
  }
86
  } else {
87
  if ($options = $item->getProductOptions()) {
88
- if (isset($options['shipment_type']) && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY) {
 
 
89
  return false;
90
  } else {
91
  return true;
@@ -95,7 +99,9 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_Items_Renderer extends Mage_Adminh
95
  }
96
 
97
  if ($options = $this->getOrderItem()->getProductOptions()) {
98
- if (isset($options['shipment_type']) && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY) {
 
 
99
  return true;
100
  }
101
  }
@@ -110,7 +116,9 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_Items_Renderer extends Mage_Adminh
110
  }
111
  if ($parentItem = $item->getParentItem()) {
112
  if ($options = $parentItem->getProductOptions()) {
113
- if (isset($options['product_calculations']) && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD) {
 
 
114
  return true;
115
  } else {
116
  return false;
@@ -118,7 +126,9 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_Items_Renderer extends Mage_Adminh
118
  }
119
  } else {
120
  if ($options = $item->getProductOptions()) {
121
- if (isset($options['product_calculations']) && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD) {
 
 
122
  return false;
123
  } else {
124
  return true;
@@ -129,7 +139,8 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_Items_Renderer extends Mage_Adminh
129
 
130
  if ($options = $this->getOrderItem()->getProductOptions()) {
131
  if (isset($options['product_calculations'])
132
- && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD) {
 
133
  return true;
134
  }
135
  }
@@ -177,7 +188,7 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_Items_Renderer extends Mage_Adminh
177
 
178
  public function getValueHtml($item)
179
  {
180
- $result = $this->htmlEscape($item->getName());
181
  if (!$this->isShipmentSeparately($item)) {
182
  if ($attributes = $this->getSelectionAttributes($item)) {
183
  $result = sprintf('%d', $attributes['qty']) . ' x ' . $result;
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
77
  }
78
  if ($parentItem = $item->getParentItem()) {
79
  if ($options = $parentItem->getProductOptions()) {
80
+ if (isset($options['shipment_type'])
81
+ && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY
82
+ ) {
83
  return true;
84
  } else {
85
  return false;
87
  }
88
  } else {
89
  if ($options = $item->getProductOptions()) {
90
+ if (isset($options['shipment_type'])
91
+ && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY
92
+ ) {
93
  return false;
94
  } else {
95
  return true;
99
  }
100
 
101
  if ($options = $this->getOrderItem()->getProductOptions()) {
102
+ if (isset($options['shipment_type'])
103
+ && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY
104
+ ) {
105
  return true;
106
  }
107
  }
116
  }
117
  if ($parentItem = $item->getParentItem()) {
118
  if ($options = $parentItem->getProductOptions()) {
119
+ if (isset($options['product_calculations'])
120
+ && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD
121
+ ) {
122
  return true;
123
  } else {
124
  return false;
126
  }
127
  } else {
128
  if ($options = $item->getProductOptions()) {
129
+ if (isset($options['product_calculations'])
130
+ && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD
131
+ ) {
132
  return false;
133
  } else {
134
  return true;
139
 
140
  if ($options = $this->getOrderItem()->getProductOptions()) {
141
  if (isset($options['product_calculations'])
142
+ && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD
143
+ ) {
144
  return true;
145
  }
146
  }
188
 
189
  public function getValueHtml($item)
190
  {
191
+ $result = $this->escapeHtml($item->getName());
192
  if (!$this->isShipmentSeparately($item)) {
193
  if ($attributes = $this->getSelectionAttributes($item)) {
194
  $result = sprintf('%d', $attributes['qty']) . ' x ' . $result;
app/code/core/Mage/Bundle/Block/Adminhtml/Sales/Order/View/Items/Renderer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
@@ -32,14 +32,17 @@
32
  * @package Mage_Bundle
33
  * @author Magento Core Team <core@magentocommerce.com>
34
  */
35
- class Mage_Bundle_Block_Adminhtml_Sales_Order_View_Items_Renderer extends Mage_Adminhtml_Block_Sales_Order_View_Items_Renderer_Default
 
36
  {
37
  public function isShipmentSeparately($item = null)
38
  {
39
  if ($item) {
40
  if ($parentItem = $item->getParentItem()) {
41
  if ($options = $parentItem->getProductOptions()) {
42
- if (isset($options['shipment_type']) && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY) {
 
 
43
  return true;
44
  } else {
45
  return false;
@@ -47,7 +50,9 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_View_Items_Renderer extends Mage_A
47
  }
48
  } else {
49
  if ($options = $item->getProductOptions()) {
50
- if (isset($options['shipment_type']) && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY) {
 
 
51
  return false;
52
  } else {
53
  return true;
@@ -57,7 +62,9 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_View_Items_Renderer extends Mage_A
57
  }
58
 
59
  if ($options = $this->getOrderItem()->getProductOptions()) {
60
- if (isset($options['shipment_type']) && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY) {
 
 
61
  return true;
62
  }
63
  }
@@ -69,7 +76,9 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_View_Items_Renderer extends Mage_A
69
  if ($item) {
70
  if ($parentItem = $item->getParentItem()) {
71
  if ($options = $parentItem->getProductOptions()) {
72
- if (isset($options['product_calculations']) && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD) {
 
 
73
  return true;
74
  } else {
75
  return false;
@@ -77,7 +86,9 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_View_Items_Renderer extends Mage_A
77
  }
78
  } else {
79
  if ($options = $item->getProductOptions()) {
80
- if (isset($options['product_calculations']) && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD) {
 
 
81
  return false;
82
  } else {
83
  return true;
@@ -88,7 +99,8 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_View_Items_Renderer extends Mage_A
88
 
89
  if ($options = $this->getItem()->getProductOptions()) {
90
  if (isset($options['product_calculations'])
91
- && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD) {
 
92
  return true;
93
  }
94
  }
@@ -126,7 +138,7 @@ class Mage_Bundle_Block_Adminhtml_Sales_Order_View_Items_Renderer extends Mage_A
126
 
127
  public function getValueHtml($item)
128
  {
129
- $result = $this->htmlEscape($item->getName());
130
  if (!$this->isShipmentSeparately($item)) {
131
  if ($attributes = $this->getSelectionAttributes($item)) {
132
  $result = sprintf('%d', $attributes['qty']) . ' x ' . $result;
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
32
  * @package Mage_Bundle
33
  * @author Magento Core Team <core@magentocommerce.com>
34
  */
35
+ class Mage_Bundle_Block_Adminhtml_Sales_Order_View_Items_Renderer
36
+ extends Mage_Adminhtml_Block_Sales_Order_View_Items_Renderer_Default
37
  {
38
  public function isShipmentSeparately($item = null)
39
  {
40
  if ($item) {
41
  if ($parentItem = $item->getParentItem()) {
42
  if ($options = $parentItem->getProductOptions()) {
43
+ if (isset($options['shipment_type'])
44
+ && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY
45
+ ) {
46
  return true;
47
  } else {
48
  return false;
50
  }
51
  } else {
52
  if ($options = $item->getProductOptions()) {
53
+ if (isset($options['shipment_type'])
54
+ && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY
55
+ ) {
56
  return false;
57
  } else {
58
  return true;
62
  }
63
 
64
  if ($options = $this->getOrderItem()->getProductOptions()) {
65
+ if (isset($options['shipment_type'])
66
+ && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY
67
+ ) {
68
  return true;
69
  }
70
  }
76
  if ($item) {
77
  if ($parentItem = $item->getParentItem()) {
78
  if ($options = $parentItem->getProductOptions()) {
79
+ if (isset($options['product_calculations'])
80
+ && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD
81
+ ) {
82
  return true;
83
  } else {
84
  return false;
86
  }
87
  } else {
88
  if ($options = $item->getProductOptions()) {
89
+ if (isset($options['product_calculations'])
90
+ && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD
91
+ ) {
92
  return false;
93
  } else {
94
  return true;
99
 
100
  if ($options = $this->getItem()->getProductOptions()) {
101
  if (isset($options['product_calculations'])
102
+ && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD
103
+ ) {
104
  return true;
105
  }
106
  }
138
 
139
  public function getValueHtml($item)
140
  {
141
+ $result = $this->escapeHtml($item->getName());
142
  if (!$this->isShipmentSeparately($item)) {
143
  if ($attributes = $this->getSelectionAttributes($item)) {
144
  $result = sprintf('%d', $attributes['qty']) . ' x ' . $result;
app/code/core/Mage/Bundle/Block/Catalog/Product/List/Partof.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Catalog/Product/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Catalog/Product/View.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
@@ -37,24 +37,36 @@ class Mage_Bundle_Block_Catalog_Product_View extends Mage_Catalog_Block_Product_
37
  /**
38
  * Get tier prices (formatted)
39
  *
40
- * @param Mage_Catalog_Model_Product $product
41
  * @return array
42
  */
43
  public function getTierPrices($product = null)
44
  {
45
- if (is_null($product)) {
46
  $product = $this->getProduct();
47
  }
48
- $prices = $product->getFormatedTierPrice();
49
 
50
  $res = array();
 
 
51
  if (is_array($prices)) {
 
 
 
 
52
  foreach ($prices as $price) {
53
- $price['price_qty'] = $price['price_qty']*1;
54
- $price['savePercent'] = ceil(100 - $price['price']);
55
- $price['formated_price'] = Mage::app()->getStore()->formatPrice(Mage::app()->getStore()->convertPrice(Mage::helper('tax')->getPrice($product, $price['website_price'])));
56
- $price['formated_price_incl_tax'] = Mage::app()->getStore()->formatPrice(Mage::app()->getStore()->convertPrice(Mage::helper('tax')->getPrice($product, $price['website_price'], true)));
57
- $res[] = $price;
 
 
 
 
 
 
 
58
  }
59
  }
60
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
37
  /**
38
  * Get tier prices (formatted)
39
  *
40
+ * @param Mage_Catalog_Model_Product|null $product
41
  * @return array
42
  */
43
  public function getTierPrices($product = null)
44
  {
45
+ if ($product === null) {
46
  $product = $this->getProduct();
47
  }
 
48
 
49
  $res = array();
50
+
51
+ $prices = $product->getFormatedTierPrice();
52
  if (is_array($prices)) {
53
+ $store = Mage::app()->getStore();
54
+ $helper = Mage::helper('tax');
55
+ $specialPrice = $product->getSpecialPrice();
56
+ $defaultDiscount = max($product->getGroupPrice(), $specialPrice ? 100 - $specialPrice : 0);
57
  foreach ($prices as $price) {
58
+ if ($defaultDiscount < $price['price']) {
59
+ $price['price_qty'] += 0;
60
+ $price['savePercent'] = ceil(100 - $price['price']);
61
+
62
+ $priceExclTax = $helper->getPrice($product, $price['website_price']);
63
+ $price['formated_price'] = $store->formatPrice($store->convertPrice($priceExclTax));
64
+
65
+ $priceInclTax = $helper->getPrice($product, $price['website_price'], true);
66
+ $price['formated_price_incl_tax'] = $store->formatPrice($store->convertPrice($priceInclTax));
67
+
68
+ $res[] = $price;
69
+ }
70
  }
71
  }
72
 
app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
@@ -97,6 +97,7 @@ class Mage_Bundle_Block_Catalog_Product_View_Type_Bundle extends Mage_Catalog_Bl
97
  $defaultValues = array();
98
  }
99
 
 
100
  foreach ($optionsArray as $_option) {
101
  /* @var $_option Mage_Bundle_Model_Option */
102
  if (!$_option->getSelections()) {
@@ -107,11 +108,13 @@ class Mage_Bundle_Block_Catalog_Product_View_Type_Bundle extends Mage_Catalog_Bl
107
  $option = array (
108
  'selections' => array(),
109
  'title' => $_option->getTitle(),
110
- 'isMulti' => in_array($_option->getType(), array('multi', 'checkbox'))
 
111
  );
112
 
113
  $selectionCount = count($_option->getSelections());
114
-
 
115
  foreach ($_option->getSelections() as $_selection) {
116
  /* @var $_selection Mage_Catalog_Model_Product */
117
  $selectionId = $_selection->getSelectionId();
@@ -120,6 +123,8 @@ class Mage_Bundle_Block_Catalog_Product_View_Type_Bundle extends Mage_Catalog_Bl
120
  $tierPrices = $_selection->getTierPrice();
121
  foreach ($tierPrices as &$tierPriceInfo) {
122
  $tierPriceInfo['price'] = $coreHelper->currency($tierPriceInfo['price'], false, false);
 
 
123
  }
124
  unset($tierPriceInfo); // break the reference with the last element
125
 
@@ -152,7 +157,8 @@ class Mage_Bundle_Block_Catalog_Product_View_Type_Bundle extends Mage_Catalog_Bl
152
  'name' => $_selection->getName(),
153
  'plusDisposition' => 0,
154
  'minusDisposition' => 0,
155
- 'canApplyMAP' => $canApplyMAP
 
156
  );
157
 
158
  $responseObject = new Varien_Object();
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
97
  $defaultValues = array();
98
  }
99
 
100
+ $position = 0;
101
  foreach ($optionsArray as $_option) {
102
  /* @var $_option Mage_Bundle_Model_Option */
103
  if (!$_option->getSelections()) {
108
  $option = array (
109
  'selections' => array(),
110
  'title' => $_option->getTitle(),
111
+ 'isMulti' => in_array($_option->getType(), array('multi', 'checkbox')),
112
+ 'position' => $position++
113
  );
114
 
115
  $selectionCount = count($_option->getSelections());
116
+ /** @var $taxHelper Mage_Tax_Helper_Data */
117
+ $taxHelper = Mage::helper('tax');
118
  foreach ($_option->getSelections() as $_selection) {
119
  /* @var $_selection Mage_Catalog_Model_Product */
120
  $selectionId = $_selection->getSelectionId();
123
  $tierPrices = $_selection->getTierPrice();
124
  foreach ($tierPrices as &$tierPriceInfo) {
125
  $tierPriceInfo['price'] = $coreHelper->currency($tierPriceInfo['price'], false, false);
126
+ $tierPriceInfo['priceInclTax'] = $taxHelper->getPrice($_selection, $tierPriceInfo['price'], true);
127
+ $tierPriceInfo['priceExclTax'] = $taxHelper->getPrice($_selection, $tierPriceInfo['price']);
128
  }
129
  unset($tierPriceInfo); // break the reference with the last element
130
 
157
  'name' => $_selection->getName(),
158
  'plusDisposition' => 0,
159
  'minusDisposition' => 0,
160
+ 'canApplyMAP' => $canApplyMAP,
161
+ 'tierPriceHtml' => $this->getTierPriceHtml($_selection),
162
  );
163
 
164
  $responseObject = new Varien_Object();
app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
@@ -218,6 +218,11 @@ class Mage_Bundle_Block_Catalog_Product_View_Type_Bundle_Option extends Mage_Bun
218
  public function getSelectionTitlePrice($_selection, $includeContainer = true)
219
  {
220
  $price = $this->getProduct()->getPriceModel()->getSelectionPreFinalPrice($this->getProduct(), $_selection, 1);
 
 
 
 
 
221
  $this->setFormatProduct($_selection);
222
  $priceTitle = $this->escapeHtml($_selection->getName());
223
  $priceTitle .= ' &nbsp; ' . ($includeContainer ? '<span class="price-notice">' : '')
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
218
  public function getSelectionTitlePrice($_selection, $includeContainer = true)
219
  {
220
  $price = $this->getProduct()->getPriceModel()->getSelectionPreFinalPrice($this->getProduct(), $_selection, 1);
221
+ $tierPrice = $_selection->getTierPrice();
222
+ if (!empty($tierPrice)) {
223
+ $qty = $_selection->getSelectionQty();
224
+ $price = $qty * (float) $_selection->getPriceModel()->getTierPrice($qty, $_selection);
225
+ }
226
  $this->setFormatProduct($_selection);
227
  $priceTitle = $this->escapeHtml($_selection->getName());
228
  $priceTitle .= ' &nbsp; ' . ($includeContainer ? '<span class="price-notice">' : '')
app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option/Checkbox.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option/Multi.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option/Radio.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option/Select.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Block/Checkout/Cart/Item/Renderer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
@@ -54,7 +54,9 @@ class Mage_Bundle_Block_Checkout_Cart_Item_Renderer extends Mage_Checkout_Block_
54
  */
55
  protected function _getSelectionFinalPrice($selectionProduct)
56
  {
57
- return Mage::helper('bundle/catalog_product_configuration')->getSelectionFinalPrice($this->getItem(), $selectionProduct);
 
 
58
  }
59
 
60
  /**
@@ -80,23 +82,22 @@ class Mage_Bundle_Block_Checkout_Cart_Item_Renderer extends Mage_Checkout_Block_
80
  }
81
 
82
  /**
83
- * Return cart backorder messages
84
  *
85
  * @return array
86
  */
87
  public function getMessages()
88
  {
89
- $messages = $this->getData('messages');
90
- if (is_null($messages)) {
91
- $messages = array();
92
- }
93
- $options = $this->getItem()->getQtyOptions();
94
 
95
- foreach ($options as $option) {
96
- if ($option->getMessage()) {
 
 
97
  $messages[] = array(
98
- 'text' => $option->getMessage(),
99
- 'type' => ($this->getItem()->getHasError()) ? 'error' : 'notice'
100
  );
101
  }
102
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
54
  */
55
  protected function _getSelectionFinalPrice($selectionProduct)
56
  {
57
+ $helper = Mage::helper('bundle/catalog_product_configuration');
58
+ $result = $helper->getSelectionFinalPrice($this->getItem(), $selectionProduct);
59
+ return $result;
60
  }
61
 
62
  /**
82
  }
83
 
84
  /**
85
+ * Return cart item error messages
86
  *
87
  * @return array
88
  */
89
  public function getMessages()
90
  {
91
+ $messages = array();
92
+ $quoteItem = $this->getItem();
 
 
 
93
 
94
+ // Add basic messages occuring during this page load
95
+ $baseMessages = $quoteItem->getMessage(false);
96
+ if ($baseMessages) {
97
+ foreach ($baseMessages as $message) {
98
  $messages[] = array(
99
+ 'text' => $message,
100
+ 'type' => $quoteItem->getHasError() ? 'error' : 'notice'
101
  );
102
  }
103
  }
app/code/core/Mage/Bundle/Block/Sales/Order/Items/Renderer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
@@ -41,7 +41,9 @@ class Mage_Bundle_Block_Sales_Order_Items_Renderer extends Mage_Sales_Block_Orde
41
  }
42
  if ($parentItem = $item->getParentItem()) {
43
  if ($options = $parentItem->getProductOptions()) {
44
- if (isset($options['shipment_type']) && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY) {
 
 
45
  return true;
46
  } else {
47
  return false;
@@ -49,7 +51,9 @@ class Mage_Bundle_Block_Sales_Order_Items_Renderer extends Mage_Sales_Block_Orde
49
  }
50
  } else {
51
  if ($options = $item->getProductOptions()) {
52
- if (isset($options['shipment_type']) && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY) {
 
 
53
  return false;
54
  } else {
55
  return true;
@@ -59,7 +63,9 @@ class Mage_Bundle_Block_Sales_Order_Items_Renderer extends Mage_Sales_Block_Orde
59
  }
60
 
61
  if ($options = $this->getOrderItem()->getProductOptions()) {
62
- if (isset($options['shipment_type']) && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY) {
 
 
63
  return true;
64
  }
65
  }
@@ -74,7 +80,9 @@ class Mage_Bundle_Block_Sales_Order_Items_Renderer extends Mage_Sales_Block_Orde
74
  }
75
  if ($parentItem = $item->getParentItem()) {
76
  if ($options = $parentItem->getProductOptions()) {
77
- if (isset($options['product_calculations']) && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD) {
 
 
78
  return true;
79
  } else {
80
  return false;
@@ -82,7 +90,9 @@ class Mage_Bundle_Block_Sales_Order_Items_Renderer extends Mage_Sales_Block_Orde
82
  }
83
  } else {
84
  if ($options = $item->getProductOptions()) {
85
- if (isset($options['product_calculations']) && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD) {
 
 
86
  return false;
87
  } else {
88
  return true;
@@ -93,7 +103,8 @@ class Mage_Bundle_Block_Sales_Order_Items_Renderer extends Mage_Sales_Block_Orde
93
 
94
  if ($options = $this->getOrderItem()->getProductOptions()) {
95
  if (isset($options['product_calculations'])
96
- && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD) {
 
97
  return true;
98
  }
99
  }
@@ -116,10 +127,10 @@ class Mage_Bundle_Block_Sales_Order_Items_Renderer extends Mage_Sales_Block_Orde
116
  {
117
  if ($attributes = $this->getSelectionAttributes($item)) {
118
  return sprintf('%d', $attributes['qty']) . ' x ' .
119
- $this->htmlEscape($item->getName()) .
120
  " " . $this->getOrder()->formatPrice($attributes['price']);
121
  } else {
122
- return $this->htmlEscape($item->getName());
123
  }
124
  }
125
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
41
  }
42
  if ($parentItem = $item->getParentItem()) {
43
  if ($options = $parentItem->getProductOptions()) {
44
+ if (isset($options['shipment_type'])
45
+ && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY
46
+ ) {
47
  return true;
48
  } else {
49
  return false;
51
  }
52
  } else {
53
  if ($options = $item->getProductOptions()) {
54
+ if (isset($options['shipment_type'])
55
+ && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY
56
+ ) {
57
  return false;
58
  } else {
59
  return true;
63
  }
64
 
65
  if ($options = $this->getOrderItem()->getProductOptions()) {
66
+ if (isset($options['shipment_type'])
67
+ && $options['shipment_type'] == Mage_Catalog_Model_Product_Type_Abstract::SHIPMENT_SEPARATELY
68
+ ) {
69
  return true;
70
  }
71
  }
80
  }
81
  if ($parentItem = $item->getParentItem()) {
82
  if ($options = $parentItem->getProductOptions()) {
83
+ if (isset($options['product_calculations'])
84
+ && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD
85
+ ) {
86
  return true;
87
  } else {
88
  return false;
90
  }
91
  } else {
92
  if ($options = $item->getProductOptions()) {
93
+ if (isset($options['product_calculations'])
94
+ && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD
95
+ ) {
96
  return false;
97
  } else {
98
  return true;
103
 
104
  if ($options = $this->getOrderItem()->getProductOptions()) {
105
  if (isset($options['product_calculations'])
106
+ && $options['product_calculations'] == Mage_Catalog_Model_Product_Type_Abstract::CALCULATE_CHILD
107
+ ) {
108
  return true;
109
  }
110
  }
127
  {
128
  if ($attributes = $this->getSelectionAttributes($item)) {
129
  return sprintf('%d', $attributes['qty']) . ' x ' .
130
+ $this->escapeHtml($item->getName()) .
131
  " " . $this->getOrder()->formatPrice($attributes['price']);
132
  } else {
133
+ return $this->escapeHtml($item->getName());
134
  }
135
  }
136
 
app/code/core/Mage/Bundle/Helper/Catalog/Product/Configuration.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
@@ -39,6 +39,7 @@ class Mage_Bundle_Helper_Catalog_Product_Configuration extends Mage_Core_Helper_
39
  *
40
  * @param Mage_Catalog_Model_Product $product
41
  * @param int $selectionId
 
42
  * @return decimal
43
  */
44
  public function getSelectionQty($product, $selectionId)
@@ -55,6 +56,7 @@ class Mage_Bundle_Helper_Catalog_Product_Configuration extends Mage_Core_Helper_
55
  *
56
  * @param Mage_Catalog_Model_Product_Configuration_Item_Interface $item
57
  * @param Mage_Catalog_Model_Product $selectionProduct
 
58
  * @return decimal
59
  */
60
  public function getSelectionFinalPrice(Mage_Catalog_Model_Product_Configuration_Item_Interface $item,
@@ -101,33 +103,37 @@ class Mage_Bundle_Helper_Catalog_Product_Configuration extends Mage_Core_Helper_
101
  // get and add bundle selections collection
102
  $selectionsQuoteItemOption = $item->getOptionByCode('bundle_selection_ids');
103
 
104
- $selectionsCollection = $typeInstance->getSelectionsByIds(
105
- unserialize($selectionsQuoteItemOption->getValue()),
106
- $product
107
- );
 
 
 
108
 
109
- $bundleOptions = $optionsCollection->appendSelections($selectionsCollection, true);
110
- foreach ($bundleOptions as $bundleOption) {
111
- if ($bundleOption->getSelections()) {
112
- $option = array(
113
- 'label' => $bundleOption->getTitle(),
114
- 'value' => array()
115
- );
116
 
117
- $bundleSelections = $bundleOption->getSelections();
118
 
119
- foreach ($bundleSelections as $bundleSelection) {
120
- $qty = $this->getSelectionQty($product, $bundleSelection->getSelectionId()) * 1;
121
- if ($qty) {
122
- $option['value'][] = $qty . ' x ' . $this->escapeHtml($bundleSelection->getName())
123
- . ' ' . Mage::helper('core')->currency(
124
- $this->getSelectionFinalPrice($item, $bundleSelection)
125
- );
 
126
  }
127
- }
128
 
129
- if ($option['value']) {
130
- $options[] = $option;
 
131
  }
132
  }
133
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
39
  *
40
  * @param Mage_Catalog_Model_Product $product
41
  * @param int $selectionId
42
+ *
43
  * @return decimal
44
  */
45
  public function getSelectionQty($product, $selectionId)
56
  *
57
  * @param Mage_Catalog_Model_Product_Configuration_Item_Interface $item
58
  * @param Mage_Catalog_Model_Product $selectionProduct
59
+ *
60
  * @return decimal
61
  */
62
  public function getSelectionFinalPrice(Mage_Catalog_Model_Product_Configuration_Item_Interface $item,
103
  // get and add bundle selections collection
104
  $selectionsQuoteItemOption = $item->getOptionByCode('bundle_selection_ids');
105
 
106
+ $bundleSelectionIds = unserialize($selectionsQuoteItemOption->getValue());
107
+
108
+ if (!empty($bundleSelectionIds)) {
109
+ $selectionsCollection = $typeInstance->getSelectionsByIds(
110
+ unserialize($selectionsQuoteItemOption->getValue()),
111
+ $product
112
+ );
113
 
114
+ $bundleOptions = $optionsCollection->appendSelections($selectionsCollection, true);
115
+ foreach ($bundleOptions as $bundleOption) {
116
+ if ($bundleOption->getSelections()) {
117
+ $option = array(
118
+ 'label' => $bundleOption->getTitle(),
119
+ 'value' => array()
120
+ );
121
 
122
+ $bundleSelections = $bundleOption->getSelections();
123
 
124
+ foreach ($bundleSelections as $bundleSelection) {
125
+ $qty = $this->getSelectionQty($product, $bundleSelection->getSelectionId()) * 1;
126
+ if ($qty) {
127
+ $option['value'][] = $qty . ' x ' . $this->escapeHtml($bundleSelection->getName())
128
+ . ' ' . Mage::helper('core')->currency(
129
+ $this->getSelectionFinalPrice($item, $bundleSelection)
130
+ );
131
+ }
132
  }
 
133
 
134
+ if ($option['value']) {
135
+ $options[] = $option;
136
+ }
137
  }
138
  }
139
  }
app/code/core/Mage/Bundle/Helper/Data.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/CatalogIndex/Data/Bundle.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Mysql4/Bundle.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Mysql4/Indexer/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Mysql4/Indexer/Stock.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Mysql4/Option.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Mysql4/Option/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Mysql4/Price/Index.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Mysql4/Selection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Mysql4/Selection/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Option.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Price/Index.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Product/Attribute/Source/Price/View.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Product/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
@@ -33,7 +33,14 @@
33
  */
34
  class Mage_Bundle_Model_Product_Price extends Mage_Catalog_Model_Product_Type_Price
35
  {
 
 
 
36
  const PRICE_TYPE_FIXED = 1;
 
 
 
 
37
  const PRICE_TYPE_DYNAMIC = 0;
38
 
39
  /**
@@ -183,137 +190,159 @@ class Mage_Bundle_Model_Product_Price extends Mage_Catalog_Model_Product_Type_Pr
183
  */
184
  public function getTotalPrices($product, $which = null, $includeTax = null, $takeTierPrice = true)
185
  {
186
- // check calculated price index
187
- if ($product->getData('min_price') && $product->getData('max_price')) {
188
- $minimalPrice = Mage::helper('tax')->getPrice($product, $product->getData('min_price'), $includeTax);
189
- $maximalPrice = Mage::helper('tax')->getPrice($product, $product->getData('max_price'), $includeTax);
190
- $this->_isPricesCalculatedByIndex = true;
 
 
191
  } else {
192
  /**
193
  * Check if product price is fixed
194
  */
195
  $finalPrice = $product->getFinalPrice();
196
- if ($product->getPriceType() == self::PRICE_TYPE_FIXED) {
197
- $minimalPrice = $maximalPrice = Mage::helper('tax')->getPrice($product, $finalPrice, $includeTax);
198
  } else { // PRICE_TYPE_DYNAMIC
199
  $minimalPrice = $maximalPrice = 0;
200
  }
201
 
202
- $options = $this->getOptions($product);
203
- $minPriceFounded = false;
204
-
205
- if ($options) {
206
- foreach ($options as $option) {
207
- /* @var $option Mage_Bundle_Model_Option */
208
- $selections = $option->getSelections();
209
- if ($selections) {
210
- $selectionMinimalPrices = array();
211
- $selectionMaximalPrices = array();
212
-
213
- foreach ($option->getSelections() as $selection) {
214
- /* @var $selection Mage_Bundle_Model_Selection */
215
- if (!$selection->isSalable()) {
216
- /**
217
- * @todo CatalogInventory Show out of stock Products
218
- */
219
- continue;
220
- }
221
-
222
- $qty = $selection->getSelectionQty();
223
-
224
- $item = $product->getPriceType() == self::PRICE_TYPE_FIXED ? $product : $selection;
225
-
226
- $selectionMinimalPrices[] = Mage::helper('tax')->getPrice(
227
- $item,
228
- $this->getSelectionFinalTotalPrice($product, $selection, 1, $qty, true, $takeTierPrice),
229
- $includeTax
230
- );
231
- $selectionMaximalPrices[] = Mage::helper('tax')->getPrice(
232
- $item,
233
- $this->getSelectionFinalTotalPrice($product, $selection, 1, null, true, $takeTierPrice),
234
- $includeTax
235
- );
236
- }
237
-
238
- if (count($selectionMinimalPrices)) {
239
- $selMinPrice = min($selectionMinimalPrices);
240
- if ($option->getRequired()) {
241
- $minimalPrice += $selMinPrice;
242
- $minPriceFounded = true;
243
- } elseif (true !== $minPriceFounded) {
244
- $selMinPrice += $minimalPrice;
245
- $minPriceFounded = (false === $minPriceFounded)
246
- ? $selMinPrice
247
- : min($minPriceFounded, $selMinPrice);
248
- }
249
-
250
- if ($option->isMultiSelection()) {
251
- $maximalPrice += array_sum($selectionMaximalPrices);
252
- } else {
253
- $maximalPrice += max($selectionMaximalPrices);
254
- }
255
- }
256
- }
257
- }
258
- }
259
- // condition is TRUE when all product options are NOT required
260
- if (!is_bool($minPriceFounded)) {
261
- $minimalPrice = $minPriceFounded;
262
- }
263
 
264
  $customOptions = $product->getOptions();
265
- if ($product->getPriceType() == self::PRICE_TYPE_FIXED && $customOptions) {
266
  foreach ($customOptions as $customOption) {
267
  /* @var $customOption Mage_Catalog_Model_Product_Option */
268
- $values = $customOption->getValues();
269
- if ($values) {
270
- $prices = array();
271
- foreach ($values as $value) {
272
- /* @var $value Mage_Catalog_Model_Product_Option_Value */
273
- $valuePrice = $value->getPrice(true);
274
-
275
- $prices[] = $valuePrice;
276
- }
277
- if (count($prices)) {
278
- if ($customOption->getIsRequire()) {
279
- $minimalPrice += Mage::helper('tax')->getPrice($product, min($prices), $includeTax);
280
- }
281
-
282
- $multiTypes = array(
283
- //Mage_Catalog_Model_Product_Option::OPTION_TYPE_DROP_DOWN,
284
- Mage_Catalog_Model_Product_Option::OPTION_TYPE_CHECKBOX,
285
- Mage_Catalog_Model_Product_Option::OPTION_TYPE_MULTIPLE
286
- );
287
-
288
- if (in_array($customOption->getType(), $multiTypes)) {
289
- $maximalValue = array_sum($prices);
290
- } else {
291
- $maximalValue = max($prices);
292
- }
293
- $maximalPrice += Mage::helper('tax')->getPrice($product, $maximalValue, $includeTax);
294
- }
295
- } else {
296
- $valuePrice = $customOption->getPrice(true);
297
-
298
- if ($customOption->getIsRequire()) {
299
- $minimalPrice += Mage::helper('tax')->getPrice($product, $valuePrice, $includeTax);
300
- }
301
- $maximalPrice += Mage::helper('tax')->getPrice($product, $valuePrice, $includeTax);
302
- }
303
  }
304
  }
305
- $this->_isPricesCalculatedByIndex = false;
306
  }
307
 
308
- if ($which == 'max') {
309
  return $maximalPrice;
310
- } elseif ($which == 'min') {
311
  return $minimalPrice;
312
  }
313
 
314
  return array($minimalPrice, $maximalPrice);
315
  }
316
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
317
  /**
318
  * Calculate Minimal price of bundle (counting all required options)
319
  *
@@ -445,15 +474,17 @@ class Mage_Bundle_Model_Product_Price extends Mage_Catalog_Model_Product_Type_Pr
445
  }
446
  }
447
 
448
- if ($multiplyQty) {
449
- $price *= $selectionQty;
450
- }
451
-
452
- return min($price,
453
  $this->_applyGroupPrice($bundleProduct, $price),
454
  $this->_applyTierPrice($bundleProduct, $bundleQty, $price),
455
  $this->_applySpecialPrice($bundleProduct, $price)
456
  );
 
 
 
 
 
 
457
  }
458
 
459
  /**
@@ -543,13 +574,14 @@ class Mage_Bundle_Model_Product_Price extends Mage_Catalog_Model_Product_Type_Pr
543
  * @param Mage_Catalog_Model_Product $product
544
  * @return decimal
545
  */
546
- public function getTierPrice($qty=null, $product)
547
  {
548
  $allGroups = Mage_Customer_Model_Group::CUST_GROUP_ALL;
549
  $prices = $product->getData('tier_price');
550
 
551
  if (is_null($prices)) {
552
- if ($attribute = $product->getResource()->getAttribute('tier_price')) {
 
553
  $attribute->getBackend()->afterLoad($product);
554
  $prices = $product->getData('tier_price');
555
  }
@@ -574,7 +606,7 @@ class Mage_Bundle_Model_Product_Price extends Mage_Catalog_Model_Product_Type_Pr
574
  $prevGroup = $allGroups;
575
 
576
  foreach ($prices as $price) {
577
- if ($price['cust_group']!=$custGroup && $price['cust_group']!=$allGroups) {
578
  // tier not for current customer group nor is for all groups
579
  continue;
580
  }
@@ -738,7 +770,8 @@ class Mage_Bundle_Model_Product_Price extends Mage_Catalog_Model_Product_Type_Pr
738
  ->addValuesToResult();
739
 
740
  foreach ($customOptions as $customOption) {
741
- if ($values = $customOption->getValues()) {
 
742
  $prices = array();
743
  foreach ($values as $value) {
744
  $prices[] = $value->getPrice();
@@ -797,4 +830,81 @@ class Mage_Bundle_Model_Product_Price extends Mage_Catalog_Model_Product_Type_Pr
797
  {
798
  return false;
799
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
800
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
33
  */
34
  class Mage_Bundle_Model_Product_Price extends Mage_Catalog_Model_Product_Type_Price
35
  {
36
+ /**
37
+ * Fixed price type
38
+ */
39
  const PRICE_TYPE_FIXED = 1;
40
+
41
+ /**
42
+ * Dynamic price type
43
+ */
44
  const PRICE_TYPE_DYNAMIC = 0;
45
 
46
  /**
190
  */
191
  public function getTotalPrices($product, $which = null, $includeTax = null, $takeTierPrice = true)
192
  {
193
+ $isPriceFixedType = ($product->getPriceType() == self::PRICE_TYPE_FIXED);
194
+ $this->_isPricesCalculatedByIndex = ($product->getData('min_price') && $product->getData('max_price'));
195
+ $taxHelper = $this->_getHelperData('tax');
196
+
197
+ if ($this->_isPricesCalculatedByIndex && !$includeTax) {
198
+ $minimalPrice = $taxHelper->getPrice($product, $product->getData('min_price'), $includeTax);
199
+ $maximalPrice = $taxHelper->getPrice($product, $product->getData('max_price'), $includeTax);
200
  } else {
201
  /**
202
  * Check if product price is fixed
203
  */
204
  $finalPrice = $product->getFinalPrice();
205
+ if ($isPriceFixedType) {
206
+ $minimalPrice = $maximalPrice = $taxHelper->getPrice($product, $finalPrice, $includeTax);
207
  } else { // PRICE_TYPE_DYNAMIC
208
  $minimalPrice = $maximalPrice = 0;
209
  }
210
 
211
+ $minimalPrice += $this->_getMinimalBundleOptionsPrice($product, $includeTax, $takeTierPrice);
212
+ $maximalPrice += $this->_getMaximalBundleOptionsPrice($product, $includeTax, $takeTierPrice);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
213
 
214
  $customOptions = $product->getOptions();
215
+ if ($isPriceFixedType && $customOptions) {
216
  foreach ($customOptions as $customOption) {
217
  /* @var $customOption Mage_Catalog_Model_Product_Option */
218
+ $minimalPrice += $taxHelper->getPrice(
219
+ $product,
220
+ $this->_getMinimalCustomOptionPrice($customOption),
221
+ $includeTax);
222
+ $maximalPrice += $taxHelper->getPrice(
223
+ $product,
224
+ $this->_getMaximalCustomOptionPrice($customOption),
225
+ $includeTax);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  }
227
  }
 
228
  }
229
 
230
+ if ('max' == $which) {
231
  return $maximalPrice;
232
+ } elseif ('min' == $which) {
233
  return $minimalPrice;
234
  }
235
 
236
  return array($minimalPrice, $maximalPrice);
237
  }
238
 
239
+ /**
240
+ * Get minimal possible price for bundle option
241
+ *
242
+ * @param Mage_Catalog_Model_Product $product
243
+ * @param bool|null $includeTax
244
+ * @param bool $takeTierPrice
245
+ * @return int|mixed
246
+ */
247
+ protected function _getMinimalBundleOptionsPrice($product, $includeTax, $takeTierPrice)
248
+ {
249
+ $options = $this->getOptions($product);
250
+ $minimalPrice = 0;
251
+ $hasRequiredOptions = $this->_hasRequiredOptions($product);
252
+ $selectionMinimalPrices = array();
253
+
254
+ if (!$options) {
255
+ return $minimalPrice;
256
+ }
257
+
258
+ foreach ($options as $option) {
259
+ /* @var $option Mage_Bundle_Model_Option */
260
+ $selectionPrices = $this->_getSelectionPrices($product, $option, $takeTierPrice, $includeTax);
261
+
262
+ if (count($selectionPrices)) {
263
+ $selectionMinPrice = min($selectionPrices);
264
+ if ($option->getRequired()) {
265
+ $minimalPrice += $selectionMinPrice;
266
+ } elseif (!$hasRequiredOptions) {
267
+ $selectionMinimalPrices[] = $selectionMinPrice;
268
+ }
269
+ }
270
+ }
271
+ // condition is TRUE when all product options are NOT required
272
+ if (!$hasRequiredOptions) {
273
+ $minimalPrice = min($selectionMinimalPrices);
274
+ }
275
+ return $minimalPrice;
276
+ }
277
+
278
+ /**
279
+ * Get maximal possible price for bundle option
280
+ *
281
+ * @param Mage_Catalog_Model_Product $product
282
+ * @param bool|null $includeTax
283
+ * @param bool $takeTierPrice
284
+ * @return float
285
+ */
286
+ protected function _getMaximalBundleOptionsPrice($product, $includeTax, $takeTierPrice)
287
+ {
288
+ $maximalPrice = 0;
289
+ $options = $this->getOptions($product);
290
+
291
+ if (!$options) {
292
+ return $maximalPrice;
293
+ }
294
+
295
+ foreach ($options as $option) {
296
+ $selectionPrices = $this->_getSelectionPrices($product, $option, $takeTierPrice, $includeTax);
297
+ if (count($selectionPrices)) {
298
+ $maximalPrice += ($option->isMultiSelection())
299
+ ? array_sum($selectionPrices)
300
+ : max($selectionPrices);
301
+ }
302
+ }
303
+ return $maximalPrice;
304
+ }
305
+
306
+ /**
307
+ * Get all prices for bundle option selection
308
+ *
309
+ * @param Mage_Catalog_Model_Product $product
310
+ * @param Mage_Bundle_Model_Option $option
311
+ * @param bool $takeTierPrice
312
+ * @param bool|null $includeTax
313
+ * @return array
314
+ */
315
+ protected function _getSelectionPrices($product, $option, $takeTierPrice, $includeTax)
316
+ {
317
+ $selectionPrices = array();
318
+ $taxHelper = $this->_getHelperData('tax');
319
+ $isPriceFixedType = ($product->getPriceType() == self::PRICE_TYPE_FIXED);
320
+
321
+ $selections = $option->getSelections();
322
+ if (!$selections) {
323
+ return $selectionPrices;
324
+ }
325
+
326
+ foreach ($selections as $selection) {
327
+ /* @var $selection Mage_Bundle_Model_Selection */
328
+ if (!$selection->isSalable()) {
329
+ /**
330
+ * @todo CatalogInventory Show out of stock Products
331
+ */
332
+ continue;
333
+ }
334
+
335
+ $item = $isPriceFixedType ? $product : $selection;
336
+
337
+ $selectionPrices[] = $taxHelper->getPrice(
338
+ $item,
339
+ $this->getSelectionFinalTotalPrice($product, $selection, 1, null, true, $takeTierPrice),
340
+ $includeTax
341
+ );
342
+ }
343
+ return $selectionPrices;
344
+ }
345
+
346
  /**
347
  * Calculate Minimal price of bundle (counting all required options)
348
  *
474
  }
475
  }
476
 
477
+ $price = min($price,
 
 
 
 
478
  $this->_applyGroupPrice($bundleProduct, $price),
479
  $this->_applyTierPrice($bundleProduct, $bundleQty, $price),
480
  $this->_applySpecialPrice($bundleProduct, $price)
481
  );
482
+
483
+ if ($multiplyQty) {
484
+ $price *= $selectionQty;
485
+ }
486
+
487
+ return $price;
488
  }
489
 
490
  /**
574
  * @param Mage_Catalog_Model_Product $product
575
  * @return decimal
576
  */
577
+ public function getTierPrice($qty = null, $product)
578
  {
579
  $allGroups = Mage_Customer_Model_Group::CUST_GROUP_ALL;
580
  $prices = $product->getData('tier_price');
581
 
582
  if (is_null($prices)) {
583
+ $attribute = $product->getResource()->getAttribute('tier_price');
584
+ if ($attribute) {
585
  $attribute->getBackend()->afterLoad($product);
586
  $prices = $product->getData('tier_price');
587
  }
606
  $prevGroup = $allGroups;
607
 
608
  foreach ($prices as $price) {
609
+ if ($price['cust_group'] != $custGroup && $price['cust_group'] != $allGroups) {
610
  // tier not for current customer group nor is for all groups
611
  continue;
612
  }
770
  ->addValuesToResult();
771
 
772
  foreach ($customOptions as $customOption) {
773
+ $values = $customOption->getValues();
774
+ if ($values) {
775
  $prices = array();
776
  foreach ($values as $value) {
777
  $prices[] = $value->getPrice();
830
  {
831
  return false;
832
  }
833
+
834
+ /**
835
+ * Get data helper
836
+ *
837
+ * @param string $name
838
+ * @return Mage_Core_Helper_Abstract
839
+ */
840
+ protected function _getHelperData($name)
841
+ {
842
+ return Mage::helper($name);
843
+ }
844
+
845
+ /**
846
+ * Check if product has required options
847
+ *
848
+ * @param Mage_Catalog_Model_Product $product
849
+ * @return bool
850
+ */
851
+ protected function _hasRequiredOptions($product)
852
+ {
853
+ $options = $this->getOptions($product);
854
+ if ($options) {
855
+ foreach ($options as $option) {
856
+ if ($option->getRequired()) {
857
+ return true;
858
+ }
859
+ }
860
+ }
861
+ return false;
862
+ }
863
+
864
+ /**
865
+ * Get minimum possible price of custom options
866
+ *
867
+ * @param Mage_Catalog_Model_Product_Option $option
868
+ * @return float
869
+ */
870
+ protected function _getMinimalCustomOptionPrice($option)
871
+ {
872
+ $prices = $this->_getCustomOptionValuesPrices($option);
873
+ $minimalOptionPrice = ($prices) ? min($prices) : (float)$option->getPrice(true);
874
+ $minimalPrice = ($option->getIsRequire()) ? $minimalOptionPrice : 0;
875
+ return $minimalPrice;
876
+ }
877
+
878
+ /**
879
+ * Get maximum possible price of custom options
880
+ *
881
+ * @param Mage_Catalog_Model_Product_Option $option
882
+ * @return float
883
+ */
884
+ protected function _getMaximalCustomOptionPrice($option)
885
+ {
886
+ $prices = $this->_getCustomOptionValuesPrices($option);
887
+ $maximalOptionPrice = ($option->isMultipleType()) ? array_sum($prices) : max($prices);
888
+ $maximalPrice = ($prices) ? $maximalOptionPrice : (float)($option->getPrice(true));
889
+ return $maximalPrice;
890
+ }
891
+
892
+ /**
893
+ * Get all custom option values prices
894
+ *
895
+ * @param Mage_Catalog_Model_Product_Option $option
896
+ * @return array
897
+ */
898
+ protected function _getCustomOptionValuesPrices($option)
899
+ {
900
+ $values = $option->getValues();
901
+ $prices = array();
902
+ if ($values) {
903
+ foreach ($values as $value) {
904
+ /* @var $value Mage_Catalog_Model_Product_Option_Value */
905
+ $prices[] = $value->getPrice(true);
906
+ }
907
+ }
908
+ return $prices;
909
+ }
910
  }
app/code/core/Mage/Bundle/Model/Product/Type.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
@@ -648,13 +648,7 @@ class Mage_Bundle_Model_Product_Type extends Mage_Catalog_Model_Product_Type_Abs
648
 
649
  $product->addCustomOption('selection_qty_' . $selection->getSelectionId(), $qty, $selection);
650
  $selection->addCustomOption('selection_id', $selection->getSelectionId());
651
-
652
- $beforeQty = 0;
653
- $customOption = $product->getCustomOption('product_qty_' . $selection->getId());
654
- if ($customOption) {
655
- $beforeQty = (float)$customOption->getValue();
656
- }
657
- $product->addCustomOption('product_qty_' . $selection->getId(), $qty + $beforeQty, $selection);
658
 
659
  /*
660
  * Create extra attributes that will be converted to product options in order item
@@ -733,6 +727,7 @@ class Mage_Bundle_Model_Product_Type extends Mage_Catalog_Model_Product_Type_Abs
733
  $usedSelections = Mage::getResourceModel('bundle/selection_collection')
734
  ->addAttributeToSelect('*')
735
  ->setFlag('require_stock_items', true)
 
736
  ->addStoreFilter($this->getStoreFilter($product))
737
  ->setStoreId($storeId)
738
  ->setPositionOrder()
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
648
 
649
  $product->addCustomOption('selection_qty_' . $selection->getSelectionId(), $qty, $selection);
650
  $selection->addCustomOption('selection_id', $selection->getSelectionId());
651
+ $product->addCustomOption('product_qty_' . $selection->getId(), $qty, $selection);
 
 
 
 
 
 
652
 
653
  /*
654
  * Create extra attributes that will be converted to product options in order item
727
  $usedSelections = Mage::getResourceModel('bundle/selection_collection')
728
  ->addAttributeToSelect('*')
729
  ->setFlag('require_stock_items', true)
730
+ ->setFlag('product_children', true)
731
  ->addStoreFilter($this->getStoreFilter($product))
732
  ->setStoreId($storeId)
733
  ->setPositionOrder()
app/code/core/Mage/Bundle/Model/Resource/Bundle.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Resource/Indexer/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
@@ -242,17 +242,17 @@ class Mage_Bundle_Model_Resource_Indexer_Price extends Mage_Catalog_Model_Resour
242
  if ($priceType == Mage_Bundle_Model_Product_Price::PRICE_TYPE_FIXED) {
243
  $finalPrice = $write->getCheckSql(
244
  $specialExpr . ' > 0',
245
- 'ROUND(' . $price . ' * (' . $specialExpr . ' / 100), 4)',
246
  $price
247
  );
248
  $tierPrice = $write->getCheckSql(
249
  $tierExpr . ' IS NOT NULL',
250
- 'ROUND(' . $price . ' - ' . '(' . $price . ' * (' . $tierExpr . ' / 100)), 4)',
251
  'NULL'
252
  );
253
  $groupPrice = $write->getCheckSql(
254
  $groupPriceExpr . ' > 0',
255
- 'ROUND(' . $price . ' - ' . '(' . $price . ' * (' . $groupPriceExpr . ' / 100)), 4)',
256
  'NULL'
257
  );
258
  $finalPrice = $write->getCheckSql(
@@ -417,10 +417,10 @@ class Mage_Bundle_Model_Resource_Indexer_Price extends Mage_Catalog_Model_Resour
417
  $priceExpr = new Zend_Db_Expr(
418
  $write->getCheckSql(
419
  $selectionPriceType . ' = 1',
420
- 'ROUND(i.price * (' . $selectionPriceValue . ' / 100),4)',
421
  $write->getCheckSql(
422
  'i.special_price > 0 AND i.special_price < 100',
423
- 'ROUND(' . $selectionPriceValue . ' * (i.special_price / 100),4)',
424
  $selectionPriceValue
425
  )
426
  ) . '* bs.selection_qty'
@@ -430,11 +430,11 @@ class Mage_Bundle_Model_Resource_Indexer_Price extends Mage_Catalog_Model_Resour
430
  'i.base_tier IS NOT NULL',
431
  $write->getCheckSql(
432
  $selectionPriceType .' = 1',
433
- 'ROUND(i.base_tier - (i.base_tier * (' . $selectionPriceValue . ' / 100)),4)',
434
  $write->getCheckSql(
435
  'i.tier_percent > 0',
436
  'ROUND(' . $selectionPriceValue
437
- . ' - (' . $selectionPriceValue . ' * (i.tier_percent / 100)),4)',
438
  $selectionPriceValue
439
  )
440
  ) . ' * bs.selection_qty',
@@ -449,7 +449,7 @@ class Mage_Bundle_Model_Resource_Indexer_Price extends Mage_Catalog_Model_Resour
449
  $write->getCheckSql(
450
  'i.group_price_percent > 0',
451
  'ROUND(' . $selectionPriceValue
452
- . ' - (' . $selectionPriceValue . ' * (i.group_price_percent / 100)),4)',
453
  $selectionPriceValue
454
  )
455
  ) . ' * bs.selection_qty',
@@ -462,24 +462,24 @@ class Mage_Bundle_Model_Resource_Indexer_Price extends Mage_Catalog_Model_Resour
462
  $priceExpr = new Zend_Db_Expr(
463
  $write->getCheckSql(
464
  'i.special_price > 0 AND i.special_price < 100',
465
- 'ROUND(idx.min_price * (i.special_price / 100), 4)',
466
  'idx.min_price'
467
  ) . ' * bs.selection_qty'
468
  );
469
  $tierExpr = $write->getCheckSql(
470
  'i.base_tier IS NOT NULL',
471
- 'ROUND(idx.min_price * (i.base_tier / 100), 4)* bs.selection_qty',
472
  'NULL'
473
  );
474
  $groupExpr = $write->getCheckSql(
475
  'i.base_group_price IS NOT NULL',
476
- 'ROUND(idx.min_price * (i.base_group_price / 100), 4)* bs.selection_qty',
477
  'NULL'
478
  );
479
  $groupPriceExpr = new Zend_Db_Expr(
480
  $write->getCheckSql(
481
  'i.base_group_price IS NOT NULL AND i.base_group_price > 0 AND i.base_group_price < 100',
482
- 'ROUND(idx.min_price - idx.min_price * (i.base_group_price / 100), 4)',
483
  'idx.min_price'
484
  ) . ' * bs.selection_qty'
485
  );
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
242
  if ($priceType == Mage_Bundle_Model_Product_Price::PRICE_TYPE_FIXED) {
243
  $finalPrice = $write->getCheckSql(
244
  $specialExpr . ' > 0',
245
+ 'ROUND(' . $price . ' * (' . $specialExpr . ' / 100), 2)',
246
  $price
247
  );
248
  $tierPrice = $write->getCheckSql(
249
  $tierExpr . ' IS NOT NULL',
250
+ 'ROUND(' . $price . ' - ' . '(' . $price . ' * (' . $tierExpr . ' / 100)), 2)',
251
  'NULL'
252
  );
253
  $groupPrice = $write->getCheckSql(
254
  $groupPriceExpr . ' > 0',
255
+ 'ROUND(' . $price . ' - ' . '(' . $price . ' * (' . $groupPriceExpr . ' / 100)), 2)',
256
  'NULL'
257
  );
258
  $finalPrice = $write->getCheckSql(
417
  $priceExpr = new Zend_Db_Expr(
418
  $write->getCheckSql(
419
  $selectionPriceType . ' = 1',
420
+ 'ROUND(i.price * (' . $selectionPriceValue . ' / 100),2)',
421
  $write->getCheckSql(
422
  'i.special_price > 0 AND i.special_price < 100',
423
+ 'ROUND(' . $selectionPriceValue . ' * (i.special_price / 100),2)',
424
  $selectionPriceValue
425
  )
426
  ) . '* bs.selection_qty'
430
  'i.base_tier IS NOT NULL',
431
  $write->getCheckSql(
432
  $selectionPriceType .' = 1',
433
+ 'ROUND(i.base_tier - (i.base_tier * (' . $selectionPriceValue . ' / 100)),2)',
434
  $write->getCheckSql(
435
  'i.tier_percent > 0',
436
  'ROUND(' . $selectionPriceValue
437
+ . ' - (' . $selectionPriceValue . ' * (i.tier_percent / 100)),2)',
438
  $selectionPriceValue
439
  )
440
  ) . ' * bs.selection_qty',
449
  $write->getCheckSql(
450
  'i.group_price_percent > 0',
451
  'ROUND(' . $selectionPriceValue
452
+ . ' - (' . $selectionPriceValue . ' * (i.group_price_percent / 100)),2)',
453
  $selectionPriceValue
454
  )
455
  ) . ' * bs.selection_qty',
462
  $priceExpr = new Zend_Db_Expr(
463
  $write->getCheckSql(
464
  'i.special_price > 0 AND i.special_price < 100',
465
+ 'ROUND(idx.min_price * (i.special_price / 100), 2)',
466
  'idx.min_price'
467
  ) . ' * bs.selection_qty'
468
  );
469
  $tierExpr = $write->getCheckSql(
470
  'i.base_tier IS NOT NULL',
471
+ 'ROUND(idx.min_price * (i.base_tier / 100), 2)* bs.selection_qty',
472
  'NULL'
473
  );
474
  $groupExpr = $write->getCheckSql(
475
  'i.base_group_price IS NOT NULL',
476
+ 'ROUND(idx.min_price * (i.base_group_price / 100), 2)* bs.selection_qty',
477
  'NULL'
478
  );
479
  $groupPriceExpr = new Zend_Db_Expr(
480
  $write->getCheckSql(
481
  'i.base_group_price IS NOT NULL AND i.base_group_price > 0 AND i.base_group_price < 100',
482
+ 'ROUND(idx.min_price - idx.min_price * (i.base_group_price / 100), 2)',
483
  'idx.min_price'
484
  ) . ' * bs.selection_qty'
485
  );
app/code/core/Mage/Bundle/Model/Resource/Indexer/Stock.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Resource/Option.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Resource/Option/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Resource/Price/Index.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Resource/Selection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Resource/Selection/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Sales/Order/Pdf/Items/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Sales/Order/Pdf/Items/Creditmemo.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Sales/Order/Pdf/Items/Invoice.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Sales/Order/Pdf/Items/Shipment.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Selection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Source/Option/Selection/Price/Type.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/Model/Source/Option/Type.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/controllers/Adminhtml/Bundle/Product/EditController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/controllers/Adminhtml/Bundle/SelectionController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/controllers/Product/EditController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/controllers/SelectionController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/data/bundle_setup/data-install-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/etc/config.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Bundle
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Bundle
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Bundle/sql/bundle_setup/install-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-data-upgrade-0.1.13-0.1.14.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-install-0.1.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.0-0.1.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.1-0.1.2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.10-0.1.11.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.11-0.1.12.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.12-0.1.13.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.2-0.1.3.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.3-0.1.4.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.4-0.1.5.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.5-0.1.6.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.6-0.1.7.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.7-0.1.8.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.8-0.1.9.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.9-0.1.10.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-1.6.0.0-1.6.0.0.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Bundle/sql/bundle_setup/upgrade-1.6.0.0-1.6.0.0.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Bundle
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/Block/Captcha.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/Block/Captcha/Zend.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/Helper/Data.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/Model/Config/Font.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/Model/Config/Form/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/Model/Config/Form/Backend.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/Model/Config/Form/Frontend.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/Model/Config/Mode.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/Model/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/Model/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
@@ -162,7 +162,7 @@ class Mage_Captcha_Model_Observer
162
  {
163
  $formId = 'backend_login';
164
  $captchaModel = Mage::helper('captcha')->getCaptcha($formId);
165
- $loginParams = Mage::app()->getRequest()->getPost('login');
166
  $login = array_key_exists('username', $loginParams) ? $loginParams['username'] : null;
167
  if ($captchaModel->isRequired($login)) {
168
  if (!$captchaModel->isCorrect($this->_getCaptchaString(Mage::app()->getRequest(), $formId))) {
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
162
  {
163
  $formId = 'backend_login';
164
  $captchaModel = Mage::helper('captcha')->getCaptcha($formId);
165
+ $loginParams = Mage::app()->getRequest()->getPost('login', array());
166
  $login = array_key_exists('username', $loginParams) ? $loginParams['username'] : null;
167
  if ($captchaModel->isRequired($login)) {
168
  if (!$captchaModel->isCorrect($this->_getCaptchaString(Mage::app()->getRequest(), $formId))) {
app/code/core/Mage/Captcha/Model/Resource/Log.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/Model/Zend.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
@@ -108,7 +108,6 @@ class Mage_Captcha_Model_Zend extends Zend_Captcha_Image implements Mage_Captcha
108
  return 'captcha/captcha_zend';
109
  }
110
 
111
-
112
  /**
113
  * Whether captcha is required to be inserted to this form
114
  *
@@ -405,6 +404,11 @@ class Mage_Captcha_Model_Zend extends Zend_Captcha_Image implements Mage_Captcha
405
  */
406
  protected function _isShowAlways()
407
  {
 
 
 
 
 
408
  if ((string)$this->_getHelper()->getConfigNode('mode') == Mage_Captcha_Helper_Data::MODE_ALWAYS) {
409
  return true;
410
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
108
  return 'captcha/captcha_zend';
109
  }
110
 
 
111
  /**
112
  * Whether captcha is required to be inserted to this form
113
  *
404
  */
405
  protected function _isShowAlways()
406
  {
407
+ // setting the allowed attempts to 0 is like setting mode to always
408
+ if ($this->_getAllowedAttemptsForSameLogin() == 0 || $this->_getAllowedAttemptsFromSameIp() == 0) {
409
+ return true;
410
+ }
411
+
412
  if ((string)$this->_getHelper()->getConfigNode('mode') == Mage_Captcha_Helper_Data::MODE_ALWAYS) {
413
  return true;
414
  }
app/code/core/Mage/Captcha/controllers/Adminhtml/RefreshController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/controllers/RefreshController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Captcha/etc/config.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Captcha
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Captcha
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Captcha/etc/system.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Captcha
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Captcha
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Captcha/sql/captcha_setup/install-1.7.0.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
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
  /* @var $installer Mage_Core_Model_Resource_Setup */
20
  *
21
  * @category Mage
22
  * @package Mage_Captcha
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  /* @var $installer Mage_Core_Model_Resource_Setup */
app/code/core/Mage/Catalog/Block/Breadcrumbs.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Category/View.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -77,7 +77,12 @@ class Mage_Catalog_Block_Category_View extends Mage_Core_Block_Template
77
 
78
  public function getRssLink()
79
  {
80
- return Mage::getUrl('rss/catalog/category',array('cid' => $this->getCurrentCategory()->getId(), 'store_id' => Mage::app()->getStore()->getId()));
 
 
 
 
 
81
  }
82
 
83
  public function getProductListHtml()
@@ -148,4 +153,14 @@ class Mage_Catalog_Block_Category_View extends Mage_Core_Block_Template
148
  }
149
  return $res;
150
  }
 
 
 
 
 
 
 
 
 
 
151
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
77
 
78
  public function getRssLink()
79
  {
80
+ return Mage::getUrl('rss/catalog/category',
81
+ array(
82
+ 'cid' => $this->getCurrentCategory()->getId(),
83
+ 'store_id' => Mage::app()->getStore()->getId()
84
+ )
85
+ );
86
  }
87
 
88
  public function getProductListHtml()
153
  }
154
  return $res;
155
  }
156
+
157
+ /**
158
+ * Retrieve block cache tags based on category
159
+ *
160
+ * @return array
161
+ */
162
+ public function getCacheTags()
163
+ {
164
+ return array_merge(parent::getCacheTags(), $this->getCurrentCategory()->getCacheIdTags());
165
+ }
166
  }
app/code/core/Mage/Catalog/Block/Category/Widget/Link.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Layer/Filter/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Layer/Filter/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Layer/Filter/Category.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Layer/Filter/Decimal.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Layer/Filter/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Layer/State.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Layer/View.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Navigation.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -34,7 +34,12 @@
34
  */
35
  class Mage_Catalog_Block_Navigation extends Mage_Core_Block_Template
36
  {
37
- protected $_categoryInstance = null;
 
 
 
 
 
38
 
39
  /**
40
  * Current category key
@@ -50,11 +55,22 @@ class Mage_Catalog_Block_Navigation extends Mage_Core_Block_Template
50
  */
51
  protected $_itemLevelPositions = array();
52
 
 
 
 
 
 
 
 
 
 
 
53
  protected function _construct()
54
  {
55
- $this->addData(array(
56
- 'cache_lifetime' => false,
57
- 'cache_tags' => array(Mage_Catalog_Model_Category::CACHE_TAG, Mage_Core_Model_Store_Group::CACHE_TAG),
 
58
  ));
59
  }
60
 
@@ -107,7 +123,7 @@ class Mage_Catalog_Block_Navigation extends Mage_Core_Block_Template
107
  }
108
 
109
  /**
110
- * Get catagories of current store
111
  *
112
  * @return Varien_Data_Tree_Node_Collection
113
  */
@@ -120,34 +136,38 @@ class Mage_Catalog_Block_Navigation extends Mage_Core_Block_Template
120
  /**
121
  * Retrieve child categories of current category
122
  *
123
- * @return Varien_Data_Tree_Node_Collection
124
  */
125
  public function getCurrentChildCategories()
126
  {
127
- $layer = Mage::getSingleton('catalog/layer');
128
- $category = $layer->getCurrentCategory();
129
- /* @var $category Mage_Catalog_Model_Category */
130
- $categories = $category->getChildrenCategories();
131
- $productCollection = Mage::getResourceModel('catalog/product_collection');
132
- $layer->prepareProductCollection($productCollection);
133
- $productCollection->addCountToCategories($categories);
134
- return $categories;
 
135
  }
136
 
137
  /**
138
- * Checkin activity of category
139
  *
140
- * @param Varien_Object $category
141
- * @return bool
142
  */
143
  public function isCategoryActive($category)
144
  {
145
- if ($this->getCurrentCategory()) {
146
- return in_array($category->getId(), $this->getCurrentCategory()->getPathIds());
147
- }
148
- return false;
149
  }
150
 
 
 
 
 
 
151
  protected function _getCategoryInstance()
152
  {
153
  if (is_null($this->_categoryInstance)) {
@@ -224,7 +244,9 @@ class Mage_Catalog_Block_Navigation extends Mage_Core_Block_Template
224
  $html = array();
225
 
226
  // get all children
227
- if (Mage::helper('catalog/category_flat')->isEnabled()) {
 
 
228
  $children = (array)$category->getChildrenNodes();
229
  $childrenCount = count($children);
230
  } else {
@@ -373,33 +395,33 @@ class Mage_Catalog_Block_Navigation extends Mage_Core_Block_Template
373
  return $html;
374
  }
375
 
376
- $html.= '<li';
377
 
378
  if ($this->isCategoryActive($category)) {
379
- $html.= ' class="active"';
380
  }
381
 
382
- $html.= '>'."\n";
383
- $html.= '<a href="'.$this->getCategoryUrl($category).'"><span>'.$this->htmlEscape($category->getName()).'</span></a>'."\n";
 
384
 
385
- if (in_array($category->getId(), $this->getCurrentCategoryPath())){
386
  $children = $category->getChildren();
387
  $hasChildren = $children && $children->count();
388
 
389
  if ($hasChildren) {
390
  $htmlChildren = '';
391
  foreach ($children as $child) {
392
- $htmlChildren.= $this->drawOpenCategoryItem($child);
393
  }
394
 
395
  if (!empty($htmlChildren)) {
396
- $html.= '<ul>'."\n"
397
- .$htmlChildren
398
- .'</ul>';
399
  }
400
  }
401
  }
402
- $html.= '</li>'."\n";
 
403
  return $html;
404
  }
405
 
@@ -444,5 +466,4 @@ class Mage_Catalog_Block_Navigation extends Mage_Core_Block_Template
444
 
445
  return $html;
446
  }
447
-
448
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
34
  */
35
  class Mage_Catalog_Block_Navigation extends Mage_Core_Block_Template
36
  {
37
+ /**
38
+ * Category instance
39
+ *
40
+ * @var Mage_Catalog_Model_Category
41
+ */
42
+ protected $_categoryInstance;
43
 
44
  /**
45
  * Current category key
55
  */
56
  protected $_itemLevelPositions = array();
57
 
58
+ /**
59
+ * Current child categories collection
60
+ *
61
+ * @var Mage_Catalog_Model_Resource_Category_Collection
62
+ */
63
+ protected $_currentChildCategories;
64
+
65
+ /**
66
+ * Set cache data
67
+ */
68
  protected function _construct()
69
  {
70
+ $this->addData(array('cache_lifetime' => false));
71
+ $this->addCacheTag(array(
72
+ Mage_Catalog_Model_Category::CACHE_TAG,
73
+ Mage_Core_Model_Store_Group::CACHE_TAG
74
  ));
75
  }
76
 
123
  }
124
 
125
  /**
126
+ * Get categories of current store
127
  *
128
  * @return Varien_Data_Tree_Node_Collection
129
  */
136
  /**
137
  * Retrieve child categories of current category
138
  *
139
+ * @return Mage_Catalog_Model_Resource_Category_Collection
140
  */
141
  public function getCurrentChildCategories()
142
  {
143
+ if (null === $this->_currentChildCategories) {
144
+ $layer = Mage::getSingleton('catalog/layer');
145
+ $category = $layer->getCurrentCategory();
146
+ $this->_currentChildCategories = $category->getChildrenCategories();
147
+ $productCollection = Mage::getResourceModel('catalog/product_collection');
148
+ $layer->prepareProductCollection($productCollection);
149
+ $productCollection->addCountToCategories($this->_currentChildCategories);
150
+ }
151
+ return $this->_currentChildCategories;
152
  }
153
 
154
  /**
155
+ * Check whether specified category is active
156
  *
157
+ * @param Varien_Object $category
158
+ * @return bool
159
  */
160
  public function isCategoryActive($category)
161
  {
162
+ return $this->getCurrentCategory()
163
+ ? in_array($category->getId(), $this->getCurrentCategory()->getPathIds()) : false;
 
 
164
  }
165
 
166
+ /**
167
+ * Retrieve category instance
168
+ *
169
+ * @return Mage_Catalog_Model_Category
170
+ */
171
  protected function _getCategoryInstance()
172
  {
173
  if (is_null($this->_categoryInstance)) {
244
  $html = array();
245
 
246
  // get all children
247
+ // If Flat Data enabled then use it but only on frontend
248
+ $flatHelper = Mage::helper('catalog/category_flat');
249
+ if ($flatHelper->isAvailable() && $flatHelper->isBuilt(true) && !Mage::app()->getStore()->isAdmin()) {
250
  $children = (array)$category->getChildrenNodes();
251
  $childrenCount = count($children);
252
  } else {
395
  return $html;
396
  }
397
 
398
+ $html .= '<li';
399
 
400
  if ($this->isCategoryActive($category)) {
401
+ $html .= ' class="active"';
402
  }
403
 
404
+ $html .= '>' . "\n";
405
+ $html .= '<a href="'.$this->getCategoryUrl($category).'">'
406
+ . '<span>' . $this->escapeHtml($category->getName()) . '</span></a>' . "\n";
407
 
408
+ if (in_array($category->getId(), $this->getCurrentCategoryPath())) {
409
  $children = $category->getChildren();
410
  $hasChildren = $children && $children->count();
411
 
412
  if ($hasChildren) {
413
  $htmlChildren = '';
414
  foreach ($children as $child) {
415
+ $htmlChildren .= $this->drawOpenCategoryItem($child);
416
  }
417
 
418
  if (!empty($htmlChildren)) {
419
+ $html .= '<ul>' . "\n" . $htmlChildren . '</ul>';
 
 
420
  }
421
  }
422
  }
423
+ $html .= '</li>'."\n";
424
+
425
  return $html;
426
  }
427
 
466
 
467
  return $html;
468
  }
 
469
  }
app/code/core/Mage/Catalog/Block/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -34,6 +34,11 @@
34
  */
35
  abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Template
36
  {
 
 
 
 
 
37
  protected $_priceBlock = array();
38
 
39
  /**
@@ -43,10 +48,25 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
43
  */
44
  protected $_block = 'catalog/product_price';
45
 
 
 
 
 
 
46
  protected $_priceBlockDefaultTemplate = 'catalog/product/price.phtml';
47
 
 
 
 
 
 
48
  protected $_tierPriceDefaultTemplate = 'catalog/product/view/tierprices.phtml';
49
 
 
 
 
 
 
50
  protected $_priceBlockTypes = array();
51
 
52
  /**
@@ -56,6 +76,11 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
56
  */
57
  protected $_useLinkForAsLowAs = true;
58
 
 
 
 
 
 
59
  protected $_reviewsHelperBlock;
60
 
61
  /**
@@ -89,18 +114,33 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
89
  */
90
  public function getAddToCartUrl($product, $additional = array())
91
  {
92
- if ($product->getTypeInstance(true)->hasRequiredOptions($product)) {
93
- if (!isset($additional['_escape'])) {
94
- $additional['_escape'] = true;
95
- }
96
- if (!isset($additional['_query'])) {
97
- $additional['_query'] = array();
98
- }
99
- $additional['_query']['options'] = 'cart';
100
-
101
- return $this->getProductUrl($product, $additional);
 
 
102
  }
103
- return $this->helper('checkout/cart')->getAddUrl($product, $additional);
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  }
105
 
106
  /**
@@ -126,7 +166,7 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
126
  }
127
 
128
  /**
129
- * Enter description here...
130
  *
131
  * @param Mage_Catalog_Model_Product $product
132
  * @return string
@@ -147,14 +187,28 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
147
  return $this->helper('catalog/product_compare')->getAddUrl($product);
148
  }
149
 
 
 
 
 
 
 
150
  public function getMinimalQty($product)
151
  {
152
- if ($stockItem = $product->getStockItem()) {
153
- return ($stockItem->getMinSaleQty() && $stockItem->getMinSaleQty() > 0 ? $stockItem->getMinSaleQty() * 1 : null);
 
 
154
  }
155
  return null;
156
  }
157
 
 
 
 
 
 
 
158
  protected function _getPriceBlock($productTypeId)
159
  {
160
  if (!isset($this->_priceBlock[$productTypeId])) {
@@ -169,6 +223,12 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
169
  return $this->_priceBlock[$productTypeId];
170
  }
171
 
 
 
 
 
 
 
172
  protected function _getPriceBlockTemplate($productTypeId)
173
  {
174
  if (isset($this->_priceBlockTypes[$productTypeId])) {
@@ -304,6 +364,11 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
304
  return $this->getData('product');
305
  }
306
 
 
 
 
 
 
307
  public function getTierPriceTemplate()
308
  {
309
  if (!$this->hasData('tier_price_template')) {
@@ -419,13 +484,13 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
419
  *
420
  * @return string
421
  */
422
- public function getImageLabel($product=null, $mediaAttributeCode='image')
423
  {
424
  if (is_null($product)) {
425
  $product = $this->getProduct();
426
  }
427
 
428
- $label = $product->getData($mediaAttributeCode.'_label');
429
  if (empty($label)) {
430
  $label = $product->getName();
431
  }
@@ -448,7 +513,6 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
448
  }
449
  return $product->getUrlModel()->getUrl($product, $additional);
450
  }
451
-
452
  return '#';
453
  }
454
 
@@ -457,18 +521,13 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
457
  *
458
  * @param Mage_Catalog_Model_Product $product
459
  * @return bool
 
460
  */
461
  public function hasProductUrl($product)
462
  {
463
  if ($product->getVisibleInSiteVisibilities()) {
464
  return true;
465
  }
466
- if ($product->hasUrlDataObject()) {
467
- if (in_array($product->hasUrlDataObject()->getVisibility(), $product->getVisibleInSiteVisibilities())) {
468
- return true;
469
- }
470
- }
471
-
472
  return false;
473
  }
474
 
@@ -558,6 +617,18 @@ abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Templ
558
  return $product->getCanShowPrice() !== false;
559
  }
560
 
 
 
 
 
 
 
 
 
 
 
 
 
561
  /**
562
  * If exists price template block, retrieve price blocks from it
563
  *
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
34
  */
35
  abstract class Mage_Catalog_Block_Product_Abstract extends Mage_Core_Block_Template
36
  {
37
+ /**
38
+ * Price block array
39
+ *
40
+ * @var array
41
+ */
42
  protected $_priceBlock = array();
43
 
44
  /**
48
  */
49
  protected $_block = 'catalog/product_price';
50
 
51
+ /**
52
+ * Price template
53
+ *
54
+ * @var string
55
+ */
56
  protected $_priceBlockDefaultTemplate = 'catalog/product/price.phtml';
57
 
58
+ /**
59
+ * Tier price template
60
+ *
61
+ * @var string
62
+ */
63
  protected $_tierPriceDefaultTemplate = 'catalog/product/view/tierprices.phtml';
64
 
65
+ /**
66
+ * Price types
67
+ *
68
+ * @var array
69
+ */
70
  protected $_priceBlockTypes = array();
71
 
72
  /**
76
  */
77
  protected $_useLinkForAsLowAs = true;
78
 
79
+ /**
80
+ * Review block instance
81
+ *
82
+ * @var null|Mage_Review_Block_Helper
83
+ */
84
  protected $_reviewsHelperBlock;
85
 
86
  /**
114
  */
115
  public function getAddToCartUrl($product, $additional = array())
116
  {
117
+ if (!$product->getTypeInstance(true)->hasRequiredOptions($product)) {
118
+ return $this->helper('checkout/cart')->getAddUrl($product, $additional);
119
+ }
120
+ $additional = array_merge(
121
+ $additional,
122
+ array(Mage_Core_Model_Url::FORM_KEY => $this->_getSingletonModel('core/session')->getFormKey())
123
+ );
124
+ if (!isset($additional['_escape'])) {
125
+ $additional['_escape'] = true;
126
+ }
127
+ if (!isset($additional['_query'])) {
128
+ $additional['_query'] = array();
129
  }
130
+ $additional['_query']['options'] = 'cart';
131
+ return $this->getProductUrl($product, $additional);
132
+ }
133
+
134
+ /**
135
+ * Return model instance
136
+ *
137
+ * @param string $className
138
+ * @param array $arguments
139
+ * @return Mage_Core_Model_Abstract
140
+ */
141
+ protected function _getSingletonModel($className, $arguments = array())
142
+ {
143
+ return Mage::getSingleton($className, $arguments);
144
  }
145
 
146
  /**
166
  }
167
 
168
  /**
169
+ * Return link to Add to Wishlist
170
  *
171
  * @param Mage_Catalog_Model_Product $product
172
  * @return string
187
  return $this->helper('catalog/product_compare')->getAddUrl($product);
188
  }
189
 
190
+ /**
191
+ * Gets minimal sales quantity
192
+ *
193
+ * @param Mage_Catalog_Model_Product $product
194
+ * @return int|null
195
+ */
196
  public function getMinimalQty($product)
197
  {
198
+ $stockItem = $product->getStockItem();
199
+ if ($stockItem) {
200
+ return ($stockItem->getMinSaleQty()
201
+ && $stockItem->getMinSaleQty() > 0 ? $stockItem->getMinSaleQty() * 1 : null);
202
  }
203
  return null;
204
  }
205
 
206
+ /**
207
+ * Return price block
208
+ *
209
+ * @param string $productTypeId
210
+ * @return mixed
211
+ */
212
  protected function _getPriceBlock($productTypeId)
213
  {
214
  if (!isset($this->_priceBlock[$productTypeId])) {
223
  return $this->_priceBlock[$productTypeId];
224
  }
225
 
226
+ /**
227
+ * Return Block template
228
+ *
229
+ * @param string $productTypeId
230
+ * @return string
231
+ */
232
  protected function _getPriceBlockTemplate($productTypeId)
233
  {
234
  if (isset($this->_priceBlockTypes[$productTypeId])) {
364
  return $this->getData('product');
365
  }
366
 
367
+ /**
368
+ * Return tier price template
369
+ *
370
+ * @return mixed|string
371
+ */
372
  public function getTierPriceTemplate()
373
  {
374
  if (!$this->hasData('tier_price_template')) {
484
  *
485
  * @return string
486
  */
487
+ public function getImageLabel($product = null, $mediaAttributeCode = 'image')
488
  {
489
  if (is_null($product)) {
490
  $product = $this->getProduct();
491
  }
492
 
493
+ $label = $product->getData($mediaAttributeCode . '_label');
494
  if (empty($label)) {
495
  $label = $product->getName();
496
  }
513
  }
514
  return $product->getUrlModel()->getUrl($product, $additional);
515
  }
 
516
  return '#';
517
  }
518
 
521
  *
522
  * @param Mage_Catalog_Model_Product $product
523
  * @return bool
524
+ *
525
  */
526
  public function hasProductUrl($product)
527
  {
528
  if ($product->getVisibleInSiteVisibilities()) {
529
  return true;
530
  }
 
 
 
 
 
 
531
  return false;
532
  }
533
 
617
  return $product->getCanShowPrice() !== false;
618
  }
619
 
620
+ /**
621
+ * Get if it is necessary to show product stock status
622
+ *
623
+ * @return bool
624
+ */
625
+ public function displayProductStockStatus()
626
+ {
627
+ $statusInfo = new Varien_Object(array('display_status' => true));
628
+ Mage::dispatchEvent('catalog_block_product_status_display', array('status' => $statusInfo));
629
+ return (boolean)$statusInfo->getDisplayStatus();
630
+ }
631
+
632
  /**
633
  * If exists price template block, retrieve price blocks from it
634
  *
app/code/core/Mage/Catalog/Block/Product/Compare/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/Compare/List.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -62,6 +62,13 @@ class Mage_Catalog_Block_Product_Compare_List extends Mage_Catalog_Block_Product
62
  */
63
  protected $_customerId = null;
64
 
 
 
 
 
 
 
 
65
  /**
66
  * Retrieve url for adding product to wishlist with params
67
  *
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
62
  */
63
  protected $_customerId = null;
64
 
65
+ /**
66
+ * Default MAP renderer type
67
+ *
68
+ * @var string
69
+ */
70
+ protected $_mapRenderer = 'msrp_noform';
71
+
72
  /**
73
  * Retrieve url for adding product to wishlist with params
74
  *
app/code/core/Mage/Catalog/Block/Product/Compare/Sidebar.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -104,4 +104,21 @@ class Mage_Catalog_Block_Product_Compare_Sidebar extends Mage_Catalog_Block_Prod
104
  {
105
  return $this->_getHelper()->getListUrl();
106
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
104
  {
105
  return $this->_getHelper()->getListUrl();
106
  }
107
+
108
+ /**
109
+ * Retrieve block cache tags
110
+ *
111
+ * @return array
112
+ */
113
+ public function getCacheTags()
114
+ {
115
+ $compareItem = Mage::getModel('catalog/product_compare_item');
116
+ foreach ($this->getItems() as $product) {
117
+ $this->addModelTags($product);
118
+ $this->addModelTags(
119
+ $compareItem->setId($product->getCatalogCompareItemId())
120
+ );
121
+ }
122
+ return parent::getCacheTags();
123
+ }
124
  }
app/code/core/Mage/Catalog/Block/Product/Gallery.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/List.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -81,6 +81,7 @@ class Mage_Catalog_Block_Product_List extends Mage_Catalog_Block_Product_Abstrac
81
  if ($category->getId()) {
82
  $origCategory = $layer->getCurrentCategory();
83
  $layer->setCurrentCategory($category);
 
84
  }
85
  }
86
  $this->_productCollection = $layer->getProductCollection();
@@ -254,4 +255,17 @@ class Mage_Catalog_Block_Product_List extends Mage_Catalog_Block_Product_Abstrac
254
 
255
  return $this;
256
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
257
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
81
  if ($category->getId()) {
82
  $origCategory = $layer->getCurrentCategory();
83
  $layer->setCurrentCategory($category);
84
+ $this->addModelTags($category);
85
  }
86
  }
87
  $this->_productCollection = $layer->getProductCollection();
255
 
256
  return $this;
257
  }
258
+
259
+ /**
260
+ * Retrieve block cache tags based on product collection
261
+ *
262
+ * @return array
263
+ */
264
+ public function getCacheTags()
265
+ {
266
+ return array_merge(
267
+ parent::getCacheTags(),
268
+ $this->getItemsTags($this->_getProductCollection())
269
+ );
270
+ }
271
  }
app/code/core/Mage/Catalog/Block/Product/List/Crosssell.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/List/Promotion.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  class Mage_Catalog_Block_Product_List_Promotion extends Mage_Catalog_Block_Product_List
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  class Mage_Catalog_Block_Product_List_Promotion extends Mage_Catalog_Block_Product_List
app/code/core/Mage/Catalog/Block/Product/List/Random.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/List/Related.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -82,4 +82,14 @@ class Mage_Catalog_Block_Product_List_Related extends Mage_Catalog_Block_Product
82
  {
83
  return $this->_itemCollection;
84
  }
 
 
 
 
 
 
 
 
 
 
85
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
82
  {
83
  return $this->_itemCollection;
84
  }
85
+
86
+ /**
87
+ * Get tags array for saving cache
88
+ *
89
+ * @return array
90
+ */
91
+ public function getCacheTags()
92
+ {
93
+ return array_merge(parent::getCacheTags(), $this->getItemsTags($this->getItems()));
94
+ }
95
  }
app/code/core/Mage/Catalog/Block/Product/List/Toolbar.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/List/Upsell.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -102,7 +102,7 @@ class Mage_Catalog_Block_Product_List_Upsell extends Mage_Catalog_Block_Product_
102
 
103
  public function getItems()
104
  {
105
- if (is_null($this->_items)) {
106
  $this->_items = $this->getItemCollection()->getItems();
107
  }
108
  return $this->_items;
@@ -167,4 +167,14 @@ class Mage_Catalog_Block_Product_List_Upsell extends Mage_Catalog_Block_Product_
167
  return 0;
168
  }
169
  }
 
 
 
 
 
 
 
 
 
 
170
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
102
 
103
  public function getItems()
104
  {
105
+ if (is_null($this->_items) && $this->getItemCollection()) {
106
  $this->_items = $this->getItemCollection()->getItems();
107
  }
108
  return $this->_items;
167
  return 0;
168
  }
169
  }
170
+
171
+ /**
172
+ * Get tags array for saving cache
173
+ *
174
+ * @return array
175
+ */
176
+ public function getCacheTags()
177
+ {
178
+ return array_merge(parent::getCacheTags(), $this->getItemsTags($this->getItems()));
179
+ }
180
  }
app/code/core/Mage/Catalog/Block/Product/New.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -29,13 +29,21 @@
29
  *
30
  * @category Mage
31
  * @package Mage_Catalog
32
- * @author Magento Core Team <core@magentocommerce.com>
33
  */
34
  class Mage_Catalog_Block_Product_New extends Mage_Catalog_Block_Product_Abstract
35
  {
36
- protected $_productsCount = null;
 
 
 
37
 
38
- const DEFAULT_PRODUCTS_COUNT = 5;
 
 
 
 
 
39
 
40
  /**
41
  * Initialize block's cache
@@ -50,10 +58,8 @@ class Mage_Catalog_Block_Product_New extends Mage_Catalog_Block_Product_Abstract
50
  ->addColumnCountLayoutDepend('two_columns_right', 4)
51
  ->addColumnCountLayoutDepend('three_columns', 3);
52
 
53
- $this->addData(array(
54
- 'cache_lifetime' => 86400,
55
- 'cache_tags' => array(Mage_Catalog_Model_Product::CACHE_TAG),
56
- ));
57
  }
58
 
59
  /**
@@ -75,11 +81,11 @@ class Mage_Catalog_Block_Product_New extends Mage_Catalog_Block_Product_Abstract
75
  }
76
 
77
  /**
78
- * Prepare collection with new products and applied page limits.
79
  *
80
- * return Mage_Catalog_Block_Product_New
81
  */
82
- protected function _beforeToHtml()
83
  {
84
  $todayStartOfDayDate = Mage::app()->getLocale()->date()
85
  ->setTime('00:00:00')
@@ -89,6 +95,7 @@ class Mage_Catalog_Block_Product_New extends Mage_Catalog_Block_Product_Abstract
89
  ->setTime('23:59:59')
90
  ->toString(Varien_Date::DATETIME_INTERNAL_FORMAT);
91
 
 
92
  $collection = Mage::getResourceModel('catalog/product_collection');
93
  $collection->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds());
94
 
@@ -114,8 +121,17 @@ class Mage_Catalog_Block_Product_New extends Mage_Catalog_Block_Product_Abstract
114
  ->setCurPage(1)
115
  ;
116
 
117
- $this->setProductCollection($collection);
 
118
 
 
 
 
 
 
 
 
 
119
  return parent::_beforeToHtml();
120
  }
121
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
29
  *
30
  * @category Mage
31
  * @package Mage_Catalog
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
  */
34
  class Mage_Catalog_Block_Product_New extends Mage_Catalog_Block_Product_Abstract
35
  {
36
+ /**
37
+ * Default value for products count that will be shown
38
+ */
39
+ const DEFAULT_PRODUCTS_COUNT = 10;
40
 
41
+ /**
42
+ * Products count
43
+ *
44
+ * @var null
45
+ */
46
+ protected $_productsCount;
47
 
48
  /**
49
  * Initialize block's cache
58
  ->addColumnCountLayoutDepend('two_columns_right', 4)
59
  ->addColumnCountLayoutDepend('three_columns', 3);
60
 
61
+ $this->addData(array('cache_lifetime' => 86400));
62
+ $this->addCacheTag(Mage_Catalog_Model_Product::CACHE_TAG);
 
 
63
  }
64
 
65
  /**
81
  }
82
 
83
  /**
84
+ * Prepare and return product collection
85
  *
86
+ * @return Mage_Catalog_Model_Resource_Product_Collection|Object|Varien_Data_Collection
87
  */
88
+ protected function _getProductCollection()
89
  {
90
  $todayStartOfDayDate = Mage::app()->getLocale()->date()
91
  ->setTime('00:00:00')
95
  ->setTime('23:59:59')
96
  ->toString(Varien_Date::DATETIME_INTERNAL_FORMAT);
97
 
98
+ /** @var $collection Mage_Catalog_Model_Resource_Product_Collection */
99
  $collection = Mage::getResourceModel('catalog/product_collection');
100
  $collection->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds());
101
 
121
  ->setCurPage(1)
122
  ;
123
 
124
+ return $collection;
125
+ }
126
 
127
+ /**
128
+ * Prepare collection with new products
129
+ *
130
+ * @return Mage_Core_Block_Abstract
131
+ */
132
+ protected function _beforeToHtml()
133
+ {
134
+ $this->setProductCollection($this->_getProductCollection());
135
  return parent::_beforeToHtml();
136
  }
137
 
app/code/core/Mage/Catalog/Block/Product/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -31,7 +31,7 @@
31
  * @category Mage
32
  * @package Mage_Catalog
33
  */
34
- class Mage_Catalog_Block_Product_Price extends Mage_Core_Block_Template
35
  {
36
  protected $_priceDisplayType = null;
37
  protected $_idSuffix = '';
@@ -165,4 +165,27 @@ class Mage_Catalog_Block_Product_Price extends Mage_Core_Block_Template
165
  $html = $this->hasRealPriceHtml() ? $this->getRealPriceHtml() : $product->getRealPriceHtml();
166
  return Mage::helper('core')->jsonEncode($html);
167
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
31
  * @category Mage
32
  * @package Mage_Catalog
33
  */
34
+ class Mage_Catalog_Block_Product_Price extends Mage_Catalog_Block_Product_Abstract
35
  {
36
  protected $_priceDisplayType = null;
37
  protected $_idSuffix = '';
165
  $html = $this->hasRealPriceHtml() ? $this->getRealPriceHtml() : $product->getRealPriceHtml();
166
  return Mage::helper('core')->jsonEncode($html);
167
  }
168
+
169
+ /**
170
+ * Retrieve block cache tags
171
+ *
172
+ * @return array
173
+ */
174
+ public function getCacheTags()
175
+ {
176
+ return array_merge(parent::getCacheTags(), $this->getProduct()->getCacheIdTags());
177
+ }
178
+
179
+ /**
180
+ * Retrieve attribute instance by name, id or config node
181
+ *
182
+ * If attribute is not found false is returned
183
+ *
184
+ * @param string|integer|Mage_Core_Model_Config_Element $attribute
185
+ * @return Mage_Eav_Model_Entity_Attribute_Abstract || false
186
+ */
187
+ public function getProductAttribute($attribute)
188
+ {
189
+ return $this->getProduct()->getResource()->getAttribute($attribute);
190
+ }
191
  }
app/code/core/Mage/Catalog/Block/Product/Price/Template.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/Send.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -61,7 +61,7 @@ class Mage_Catalog_Block_Product_View extends Mage_Catalog_Block_Product_Abstrac
61
  $currentCategory = Mage::registry('current_category');
62
  if ($keyword) {
63
  $headBlock->setKeywords($keyword);
64
- } elseif($currentCategory) {
65
  $headBlock->setKeywords($product->getName());
66
  }
67
  $description = $product->getMetaDescription();
@@ -71,7 +71,7 @@ class Mage_Catalog_Block_Product_View extends Mage_Catalog_Block_Product_Abstrac
71
  $headBlock->setDescription(Mage::helper('core/string')->substr($product->getDescription(), 0, 255));
72
  }
73
  if ($this->helper('catalog/product')->canUseCanonicalTag()) {
74
- $params = array('_ignore_category'=>true);
75
  $headBlock->addLinkRel('canonical', $product->getUrlModel()->getUrl($product, $params));
76
  }
77
  }
@@ -117,7 +117,7 @@ class Mage_Catalog_Block_Product_View extends Mage_Catalog_Block_Product_Abstrac
117
  return $this->getCustomAddToCartUrl();
118
  }
119
 
120
- if ($this->getRequest()->getParam('wishlist_next')){
121
  $additional['wishlist_next'] = 1;
122
  }
123
 
@@ -191,9 +191,9 @@ class Mage_Catalog_Block_Product_View extends Mage_Catalog_Block_Product_Abstrac
191
  );
192
 
193
  $responseObject = new Varien_Object();
194
- Mage::dispatchEvent('catalog_product_view_config', array('response_object'=>$responseObject));
195
  if (is_array($responseObject->getAdditionalOptions())) {
196
- foreach ($responseObject->getAdditionalOptions() as $option=>$value) {
197
  $config[$option] = $value;
198
  }
199
  }
@@ -259,4 +259,14 @@ class Mage_Catalog_Block_Product_View extends Mage_Catalog_Block_Product_Abstrac
259
 
260
  return $qty;
261
  }
 
 
 
 
 
 
 
 
 
 
262
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
61
  $currentCategory = Mage::registry('current_category');
62
  if ($keyword) {
63
  $headBlock->setKeywords($keyword);
64
+ } elseif ($currentCategory) {
65
  $headBlock->setKeywords($product->getName());
66
  }
67
  $description = $product->getMetaDescription();
71
  $headBlock->setDescription(Mage::helper('core/string')->substr($product->getDescription(), 0, 255));
72
  }
73
  if ($this->helper('catalog/product')->canUseCanonicalTag()) {
74
+ $params = array('_ignore_category' => true);
75
  $headBlock->addLinkRel('canonical', $product->getUrlModel()->getUrl($product, $params));
76
  }
77
  }
117
  return $this->getCustomAddToCartUrl();
118
  }
119
 
120
+ if ($this->getRequest()->getParam('wishlist_next')) {
121
  $additional['wishlist_next'] = 1;
122
  }
123
 
191
  );
192
 
193
  $responseObject = new Varien_Object();
194
+ Mage::dispatchEvent('catalog_product_view_config', array('response_object' => $responseObject));
195
  if (is_array($responseObject->getAdditionalOptions())) {
196
+ foreach ($responseObject->getAdditionalOptions() as $option => $value) {
197
  $config[$option] = $value;
198
  }
199
  }
259
 
260
  return $qty;
261
  }
262
+
263
+ /**
264
+ * Retrieve block cache tags
265
+ *
266
+ * @return array
267
+ */
268
+ public function getCacheTags()
269
+ {
270
+ return array_merge(parent::getCacheTags(), $this->getProduct()->getCacheIdTags());
271
+ }
272
  }
app/code/core/Mage/Catalog/Block/Product/View/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Additional.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Attributes.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Description.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Media.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Options.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Options/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Date.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Default.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Options/Type/File.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Select.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Text.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Tabs.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Type/Configurable.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Type/Grouped.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Type/Simple.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/View/Type/Virtual.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/Widget/Html/Pager.php ADDED
@@ -0,0 +1,299 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 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
+ * New products widget pager block
29
+ *
30
+ * @category Mage
31
+ * @package Mage_Catalog
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_Catalog_Block_Product_Widget_Html_Pager extends Mage_Page_Block_Html_Pager
35
+ {
36
+ /**
37
+ * Collection size
38
+ *
39
+ * Size of collection which may has a manual limitation
40
+ *
41
+ * @var int
42
+ */
43
+ protected $_collectionSize;
44
+
45
+ /**
46
+ * Current page
47
+ *
48
+ * @var int
49
+ */
50
+ protected $_currentPage;
51
+
52
+ /**
53
+ * Last page
54
+ *
55
+ * @var int
56
+ */
57
+ protected $_lastPage;
58
+
59
+ /**
60
+ * Return collection size
61
+ *
62
+ * It may be limited by manual
63
+ *
64
+ * @return int
65
+ */
66
+ public function getCollectionSize()
67
+ {
68
+ if (null === $this->_collectionSize) {
69
+ $this->_collectionSize = $this->getCollection()->getSize();
70
+ if ($this->getTotalLimit() && $this->_collectionSize > $this->getTotalLimit()) {
71
+ $this->_collectionSize = $this->getTotalLimit();
72
+ }
73
+ }
74
+ return $this->_collectionSize;
75
+ }
76
+
77
+ /**
78
+ * Return number of current page
79
+ *
80
+ * If current page is grate then total count of page current page will be equals total count of page
81
+ *
82
+ * @return int
83
+ */
84
+ public function getCurrentPage()
85
+ {
86
+ if (null === $this->_currentPage) {
87
+ $page = abs((int)$this->getRequest()->getParam($this->getPageVarName()));
88
+ if ($page > $this->getLastPageNum()) {
89
+ $this->_currentPage = $this->getLastPageNum();
90
+ } elseif ($page > 0) {
91
+ $this->_currentPage = $page;
92
+ } else {
93
+ $this->_currentPage = 1;
94
+ }
95
+ }
96
+ return $this->_currentPage;
97
+ }
98
+
99
+ /**
100
+ * Return items count per page
101
+ *
102
+ * @return int
103
+ */
104
+ public function getLimit()
105
+ {
106
+ if ($this->_limit > 0) {
107
+ return $this->_limit;
108
+ }
109
+ $limit = $this->getRequest()->getParam($this->getLimitVarName());
110
+ $limits = $this->getAvailableLimit();
111
+ if ($limit && isset($limits[$limit])) {
112
+ return $limit;
113
+ }
114
+ $limits = array_keys($limits);
115
+ return current($limits);
116
+ }
117
+
118
+ /**
119
+ * Connect collection to paging
120
+ *
121
+ * @param Mage_Core_Model_Resource_Db_Collection_Abstract $collection
122
+ * @return Mage_Catalog_Block_Product_Widget_Html_Pager
123
+ */
124
+ public function setCollection($collection)
125
+ {
126
+ $this->_collection = $collection;
127
+ $this->_collection->setPageSize(null)->setCurPage(null);
128
+
129
+ $collectionOffset = $this->getFirstNum() - 1;
130
+ $collectionLimit = $collectionOffset + $this->getLimit() > $this->getTotalNum()
131
+ ? $this->getTotalNum() - $collectionOffset
132
+ : $this->getLimit();
133
+
134
+ $this->_collection->getSelect()->limit($collectionLimit, $collectionOffset);
135
+ $this->_setFrameInitialized(false);
136
+ return $this;
137
+ }
138
+
139
+ /**
140
+ * Return position number in collection for first item on current page
141
+ *
142
+ * @return int
143
+ */
144
+ public function getFirstNum()
145
+ {
146
+ return $this->getLimit() * ($this->getCurrentPage() - 1) + 1;
147
+ }
148
+
149
+ /**
150
+ * Return position number in collection for last item on current page
151
+ *
152
+ * @return int
153
+ */
154
+ public function getLastNum()
155
+ {
156
+ $collection = $this->getCollection();
157
+ return $this->getLimit() * ($this->getCurrentPage() - 1) + $collection->count();
158
+ }
159
+
160
+ /**
161
+ * Return total number of collection
162
+ *
163
+ * It may be limited by manual
164
+ *
165
+ * @return int
166
+ */
167
+ public function getTotalNum()
168
+ {
169
+ return $this->getCollectionSize();
170
+ }
171
+
172
+ /**
173
+ * Return number of last page
174
+ *
175
+ * @return bool
176
+ */
177
+ public function getLastPageNum()
178
+ {
179
+ if (null === $this->_lastPage) {
180
+ $this->_lastPage = ceil($this->getCollectionSize() / $this->getLimit());
181
+ if ($this->_lastPage <= 0) {
182
+ $this->_lastPage = 1;
183
+ }
184
+ }
185
+ return $this->_lastPage;
186
+ }
187
+
188
+ /**
189
+ * Checks if current page is the first page
190
+ *
191
+ * @return bool
192
+ */
193
+ public function isFirstPage()
194
+ {
195
+ return $this->getCurrentPage() == 1;
196
+ }
197
+
198
+ /**
199
+ * Checks if current page is the last page
200
+ *
201
+ * @return bool
202
+ */
203
+ public function isLastPage()
204
+ {
205
+ return $this->getCurrentPage() >= $this->getLastPageNum();
206
+ }
207
+
208
+ /**
209
+ * Return array of pages
210
+ *
211
+ * @return array
212
+ */
213
+ public function getPages()
214
+ {
215
+ $pages = array();
216
+ if ($this->getLastPageNum() <= $this->_displayPages) {
217
+ $pages = range(1, $this->getLastPageNum());
218
+ } else {
219
+ $half = ceil($this->_displayPages / 2);
220
+ if ($this->getCurrentPage() >= $half && $this->getCurrentPage() <= $this->getLastPageNum() - $half) {
221
+ $start = ($this->getCurrentPage() - $half) + 1;
222
+ $finish = ($start + $this->_displayPages) - 1;
223
+ } elseif ($this->getCurrentPage() < $half) {
224
+ $start = 1;
225
+ $finish = $this->_displayPages;
226
+ } elseif ($this->getCurrentPage() > ($this->getLastPageNum() - $half)) {
227
+ $finish = $this->getLastPageNum();
228
+ $start = $finish - $this->_displayPages + 1;
229
+ }
230
+ $pages = range($start, $finish);
231
+ }
232
+ return $pages;
233
+ }
234
+
235
+ /**
236
+ * Retrieve url for previous page
237
+ *
238
+ * @return string
239
+ */
240
+ public function getPreviousPageUrl()
241
+ {
242
+ return $this->getPageUrl($this->getCurrentPage() - 1);
243
+ }
244
+
245
+ /**
246
+ * Retrieve url for next page
247
+ *
248
+ * @return string
249
+ */
250
+ public function getNextPageUrl()
251
+ {
252
+ return $this->getPageUrl($this->getCurrentPage() + 1);
253
+ }
254
+
255
+ /**
256
+ * Retrieve url for last page
257
+ *
258
+ * @return string
259
+ */
260
+ public function getLastPageUrl()
261
+ {
262
+ return $this->getPageUrl($this->getLastPageNum());
263
+ }
264
+
265
+ /**
266
+ * Initialize frame data, such as frame start, frame start etc.
267
+ *
268
+ * @return Mage_Catalog_Block_Product_Widget_Html_Pager
269
+ */
270
+ protected function _initFrame()
271
+ {
272
+ if (!$this->isFrameInitialized()) {
273
+ $start = 0;
274
+ $end = 0;
275
+
276
+ if ($this->getLastPageNum() <= $this->getFrameLength()) {
277
+ $start = 1;
278
+ $end = $this->getLastPageNum();
279
+ } else {
280
+ $half = ceil($this->getFrameLength() / 2);
281
+ if ($this->getCurrentPage() >= $half && $this->getCurrentPage() <= $this->getLastPageNum() - $half) {
282
+ $start = ($this->getCurrentPage() - $half) + 1;
283
+ $end = ($start + $this->getFrameLength()) - 1;
284
+ } elseif ($this->getCurrentPage() < $half) {
285
+ $start = 1;
286
+ $end = $this->getFrameLength();
287
+ } elseif ($this->getCurrentPage() > ($this->getLastPageNum() - $half)) {
288
+ $end = $this->getLastPageNum();
289
+ $start = $end - $this->getFrameLength() + 1;
290
+ }
291
+ }
292
+ $this->_frameStart = $start;
293
+ $this->_frameEnd = $end;
294
+ $this->_setFrameInitialized(true);
295
+ }
296
+
297
+ return $this;
298
+ }
299
+ }
app/code/core/Mage/Catalog/Block/Product/Widget/Link.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Product/Widget/New.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -29,25 +29,115 @@
29
  *
30
  * @category Mage
31
  * @package Mage_Catalog
32
- * @author Magento Core Team <core@magentocommerce.com>
33
  */
34
- class Mage_Catalog_Block_Product_Widget_New
35
- extends Mage_Catalog_Block_Product_New
36
  implements Mage_Widget_Block_Interface
37
  {
38
  /**
39
- * Internal contructor
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  *
 
 
 
 
 
 
41
  */
42
  protected function _construct()
43
  {
44
  parent::_construct();
45
-
46
  $this->addPriceBlockType('bundle', 'bundle/catalog_product_price', 'bundle/catalog/product/price.phtml');
47
  }
48
 
49
  /**
50
- * Retrieve how much products should be displayed.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  *
52
  * @return int
53
  */
@@ -56,6 +146,59 @@ class Mage_Catalog_Block_Product_Widget_New
56
  if (!$this->hasData('products_count')) {
57
  return parent::getProductsCount();
58
  }
59
- return $this->_getData('products_count');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  }
61
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
29
  *
30
  * @category Mage
31
  * @package Mage_Catalog
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
  */
34
+ class Mage_Catalog_Block_Product_Widget_New extends Mage_Catalog_Block_Product_New
 
35
  implements Mage_Widget_Block_Interface
36
  {
37
  /**
38
+ * Display products type
39
+ */
40
+ const DISPLAY_TYPE_ALL_PRODUCTS = 'all_products';
41
+ const DISPLAY_TYPE_NEW_PRODUCTS = 'new_products';
42
+
43
+ /**
44
+ * Default value whether show pager or not
45
+ */
46
+ const DEFAULT_SHOW_PAGER = false;
47
+
48
+ /**
49
+ * Default value for products per page
50
+ */
51
+ const DEFAULT_PRODUCTS_PER_PAGE = 5;
52
+
53
+ /**
54
+ * Name of request parameter for page number value
55
+ */
56
+ const PAGE_VAR_NAME = 'np';
57
+
58
+ /**
59
+ * Instance of pager block
60
  *
61
+ * @var Mage_Catalog_Block_Product_Widget_Html_Pager
62
+ */
63
+ protected $_pager;
64
+
65
+ /**
66
+ * Initialize block's cache and template settings
67
  */
68
  protected function _construct()
69
  {
70
  parent::_construct();
 
71
  $this->addPriceBlockType('bundle', 'bundle/catalog_product_price', 'bundle/catalog/product/price.phtml');
72
  }
73
 
74
  /**
75
+ * Product collection initialize process
76
+ *
77
+ * @return Mage_Catalog_Model_Resource_Product_Collection|Object|Varien_Data_Collection
78
+ */
79
+ protected function _getProductCollection()
80
+ {
81
+ switch ($this->getDisplayType()) {
82
+ case self::DISPLAY_TYPE_NEW_PRODUCTS:
83
+ $collection = parent::_getProductCollection();
84
+ break;
85
+ default:
86
+ $collection = $this->_getRecentlyAddedProductsCollection();
87
+ break;
88
+ }
89
+ return $collection;
90
+ }
91
+
92
+ /**
93
+ * Prepare collection for recent product list
94
+ *
95
+ * @return Mage_Catalog_Model_Resource_Product_Collection|Object|Varien_Data_Collection
96
+ */
97
+ protected function _getRecentlyAddedProductsCollection()
98
+ {
99
+ /** @var $collection Mage_Catalog_Model_Resource_Product_Collection */
100
+ $collection = Mage::getResourceModel('catalog/product_collection');
101
+ $collection->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds());
102
+
103
+ $collection = $this->_addProductAttributesAndPrices($collection)
104
+ ->addStoreFilter()
105
+ ->addAttributeToSort('created_at', 'desc')
106
+ ->setPageSize($this->getProductsCount())
107
+ ->setCurPage(1)
108
+ ;
109
+ return $collection;
110
+ }
111
+
112
+ /**
113
+ * Get key pieces for caching block content
114
+ *
115
+ * @return array
116
+ */
117
+ public function getCacheKeyInfo()
118
+ {
119
+ return array_merge(parent::getCacheKeyInfo(), array(
120
+ $this->getDisplayType(),
121
+ $this->getProductsPerPage(),
122
+ intval($this->getRequest()->getParam(self::PAGE_VAR_NAME))
123
+ ));
124
+ }
125
+
126
+ /**
127
+ * Retrieve display type for products
128
+ *
129
+ * @return string
130
+ */
131
+ public function getDisplayType()
132
+ {
133
+ if (!$this->hasData('display_type')) {
134
+ $this->setData('display_type', self::DISPLAY_TYPE_ALL_PRODUCTS);
135
+ }
136
+ return $this->getData('display_type');
137
+ }
138
+
139
+ /**
140
+ * Retrieve how much products should be displayed
141
  *
142
  * @return int
143
  */
146
  if (!$this->hasData('products_count')) {
147
  return parent::getProductsCount();
148
  }
149
+ return $this->getData('products_count');
150
+ }
151
+
152
+ /**
153
+ * Retrieve how much products should be displayed
154
+ *
155
+ * @return int
156
+ */
157
+ public function getProductsPerPage()
158
+ {
159
+ if (!$this->hasData('products_per_page')) {
160
+ $this->setData('products_per_page', self::DEFAULT_PRODUCTS_PER_PAGE);
161
+ }
162
+ return $this->getData('products_per_page');
163
+ }
164
+
165
+ /**
166
+ * Return flag whether pager need to be shown or not
167
+ *
168
+ * @return bool
169
+ */
170
+ public function showPager()
171
+ {
172
+ if (!$this->hasData('show_pager')) {
173
+ $this->setData('show_pager', self::DEFAULT_SHOW_PAGER);
174
+ }
175
+ return (bool)$this->getData('show_pager');
176
+ }
177
+
178
+ /**
179
+ * Render pagination HTML
180
+ *
181
+ * @return string
182
+ */
183
+ public function getPagerHtml()
184
+ {
185
+ if ($this->showPager()) {
186
+ if (!$this->_pager) {
187
+ $this->_pager = $this->getLayout()
188
+ ->createBlock('catalog/product_widget_html_pager', 'widget.new.product.list.pager');
189
+
190
+ $this->_pager->setUseContainer(true)
191
+ ->setShowAmounts(true)
192
+ ->setShowPerPage(false)
193
+ ->setPageVarName(self::PAGE_VAR_NAME)
194
+ ->setLimit($this->getProductsPerPage())
195
+ ->setTotalLimit($this->getProductsCount())
196
+ ->setCollection($this->getProductCollection());
197
+ }
198
+ if ($this->_pager instanceof Mage_Core_Block_Abstract) {
199
+ return $this->_pager->toHtml();
200
+ }
201
+ }
202
+ return '';
203
  }
204
  }
app/code/core/Mage/Catalog/Block/Seo/Sitemap/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Seo/Sitemap/Category.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Seo/Sitemap/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Seo/Sitemap/Tree/Category.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Seo/Sitemap/Tree/Pager.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Block/Widget/Link.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Exception.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Helper/Category.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Helper/Category/Flat.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -31,44 +31,64 @@
31
  * @package Mage_Catalog
32
  * @author Magento Core Team <core@magentocommerce.com>
33
  */
34
- class Mage_Catalog_Helper_Category_Flat extends Mage_Core_Helper_Abstract
35
  {
 
 
 
36
  const XML_PATH_IS_ENABLED_FLAT_CATALOG_CATEGORY = 'catalog/frontend/flat_catalog_category';
37
 
38
  /**
39
- * Return true if flat catalog is enabled, rebuileded and is not Admin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  *
41
- * @param boolean $skipAdmin
42
- * @return boolean
 
43
  */
44
  public function isEnabled($skipAdminCheck = false)
45
  {
46
- $flatFlag = Mage::getStoreConfigFlag(self::XML_PATH_IS_ENABLED_FLAT_CATALOG_CATEGORY);
47
- $isFront = !Mage::app()->getStore()->isAdmin();
48
- if ($skipAdminCheck === true) {
49
- $isFront = true;
50
- }
51
-
52
- return (boolean) $flatFlag && $isFront;
53
  }
54
 
55
  /**
56
- * Return true if catalog category flat data rebuilt
57
  *
58
- * @return boolean
 
59
  */
60
- public function isRebuilt()
61
  {
62
- return Mage::getResourceSingleton('catalog/category_flat')->isRebuilt();
63
  }
64
 
65
  /**
66
- * Back Flat compatibility: check is built and enabled flat
 
 
67
  *
68
  * @return bool
69
  */
70
- public function isBuilt()
71
  {
72
- return $this->isEnabled(true);
73
  }
74
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
31
  * @package Mage_Catalog
32
  * @author Magento Core Team <core@magentocommerce.com>
33
  */
34
+ class Mage_Catalog_Helper_Category_Flat extends Mage_Catalog_Helper_Flat_Abstract
35
  {
36
+ /**
37
+ * Catalog Category Flat Is Enabled Config
38
+ */
39
  const XML_PATH_IS_ENABLED_FLAT_CATALOG_CATEGORY = 'catalog/frontend/flat_catalog_category';
40
 
41
  /**
42
+ * Catalog Flat Category index process code
43
+ */
44
+ const CATALOG_CATEGORY_FLAT_PROCESS_CODE = 'catalog_category_flat';
45
+
46
+ /**
47
+ * Catalog Category Flat index process code
48
+ *
49
+ * @var string
50
+ */
51
+ protected $_indexerCode = self::CATALOG_CATEGORY_FLAT_PROCESS_CODE;
52
+
53
+ /**
54
+ * Store catalog Category Flat index process instance
55
+ *
56
+ * @var Mage_Index_Model_Process|null
57
+ */
58
+ protected $_process = null;
59
+
60
+ /**
61
+ * Check if Catalog Category Flat Data is enabled
62
  *
63
+ * @param bool $skipAdminCheck this parameter is deprecated and no longer in use
64
+ *
65
+ * @return bool
66
  */
67
  public function isEnabled($skipAdminCheck = false)
68
  {
69
+ return Mage::getStoreConfigFlag(self::XML_PATH_IS_ENABLED_FLAT_CATALOG_CATEGORY);
 
 
 
 
 
 
70
  }
71
 
72
  /**
73
+ * Check if Catalog Category Flat Data has been initialized
74
  *
75
+ * @param null|bool|int|Mage_Core_Model_Store $store Store(id) for which the value is checked
76
+ * @return bool
77
  */
78
+ public function isBuilt($store = null)
79
  {
80
+ return Mage::getResourceSingleton('catalog/category_flat')->isBuilt($store);
81
  }
82
 
83
  /**
84
+ * Check if Catalog Category Flat Data has been initialized
85
+ *
86
+ * @deprecated after 1.7.0.0 use Mage_Catalog_Helper_Category_Flat::isBuilt() instead
87
  *
88
  * @return bool
89
  */
90
+ public function isRebuilt()
91
  {
92
+ return $this->isBuilt();
93
  }
94
  }
app/code/core/Mage/Catalog/Helper/Category/Url/Rewrite.php ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 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
+ * Category url rewrite helper
29
+ *
30
+ * @category Mage
31
+ * @package Mage_Catalog
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_Catalog_Helper_Category_Url_Rewrite
35
+ implements Mage_Catalog_Helper_Category_Url_Rewrite_Interface
36
+ {
37
+ /**
38
+ * Adapter instance
39
+ *
40
+ * @var Varien_Db_Adapter_Interface
41
+ */
42
+ protected $_connection;
43
+
44
+ /**
45
+ * Resource instance
46
+ *
47
+ * @var Mage_Core_Model_Resource
48
+ */
49
+ protected $_resource;
50
+
51
+ /**
52
+ * Initialize resource and connection instances
53
+ *
54
+ * @param array $args
55
+ */
56
+ public function __construct(array $args = array())
57
+ {
58
+ $this->_resource = Mage::getSingleton('core/resource');
59
+ $this->_connection = !empty($args['connection']) ? $args['connection'] : $this->_resource
60
+ ->getConnection(Mage_Core_Model_Resource::DEFAULT_READ_RESOURCE);
61
+ }
62
+
63
+ /**
64
+ * Join url rewrite table to eav collection
65
+ *
66
+ * @param Mage_Eav_Model_Entity_Collection_Abstract $collection
67
+ * @param int $storeId
68
+ * @return Mage_Catalog_Helper_Category_Url_Rewrite
69
+ */
70
+ public function joinTableToEavCollection(Mage_Eav_Model_Entity_Collection_Abstract $collection, $storeId)
71
+ {
72
+ $collection->joinTable(
73
+ 'core/url_rewrite',
74
+ 'category_id=entity_id',
75
+ array('request_path'),
76
+ "{{table}}.is_system=1 AND " .
77
+ "{{table}}.store_id='{$storeId}' AND " .
78
+ "{{table}}.id_path LIKE 'category/%'",
79
+ 'left'
80
+ );
81
+ return $this;
82
+ }
83
+
84
+ /**
85
+ * Join url rewrite table to collection
86
+ *
87
+ * @param Mage_Catalog_Model_Resource_Category_Flat_Collection $collection
88
+ * @param int $storeId
89
+ * @return Mage_Catalog_Helper_Category_Url_Rewrite|Mage_Catalog_Helper_Category_Url_Rewrite_Interface
90
+ */
91
+ public function joinTableToCollection(Mage_Catalog_Model_Resource_Category_Flat_Collection $collection, $storeId)
92
+ {
93
+ $collection->getSelect()->joinLeft(
94
+ array('url_rewrite' => $collection->getTable('core/url_rewrite')),
95
+ 'url_rewrite.category_id = main_table.entity_id AND url_rewrite.is_system = 1 '.
96
+ ' AND ' . $collection->getConnection()->quoteInto('url_rewrite.store_id = ?', $storeId).
97
+ ' AND ' . $collection->getConnection()->quoteInto('url_rewrite.id_path LIKE ?', 'category/%'),
98
+ array('request_path')
99
+ );
100
+ return $this;
101
+ }
102
+
103
+ /**
104
+ * Join url rewrite to select
105
+ *
106
+ * @param Varien_Db_Select $select
107
+ * @param int $storeId
108
+ * @return Mage_Catalog_Helper_Category_Url_Rewrite
109
+ */
110
+ public function joinTableToSelect(Varien_Db_Select $select, $storeId)
111
+ {
112
+ $select->joinLeft(
113
+ array('url_rewrite' => $this->_resource->getTableName('core/url_rewrite')),
114
+ 'url_rewrite.category_id=main_table.entity_id AND url_rewrite.is_system=1 AND ' .
115
+ $this->_connection->quoteInto('url_rewrite.store_id = ? AND ',
116
+ (int)$storeId) .
117
+ $this->_connection->prepareSqlCondition('url_rewrite.id_path', array('like' => 'category/%')),
118
+ array('request_path' => 'url_rewrite.request_path'));
119
+ return $this;
120
+ }
121
+ }
app/code/core/Mage/Catalog/Helper/Category/Url/Rewrite/Interface.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 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
+ /**
29
+ * Category url rewrite interface
30
+ *
31
+ * @category Mage
32
+ * @package Mage_Catalog
33
+ * @author Magento Core Team <core@magentocommerce.com>
34
+ */
35
+ interface Mage_Catalog_Helper_Category_Url_Rewrite_Interface
36
+ {
37
+ /**
38
+ * Join url rewrite table to eav collection
39
+ *
40
+ * @param Mage_Eav_Model_Entity_Collection_Abstract $collection
41
+ * @param int $storeId
42
+ * @return Mage_Catalog_Helper_Category_Url_Rewrite
43
+ */
44
+ public function joinTableToEavCollection(Mage_Eav_Model_Entity_Collection_Abstract $collection, $storeId);
45
+
46
+ /**
47
+ * Join url rewrite table to flat collection
48
+ *
49
+ * @param Mage_Catalog_Model_Resource_Category_Flat_Collection $collection
50
+ * @param int $storeId
51
+ * @return Mage_Catalog_Helper_Category_Url_Rewrite_Interface
52
+ */
53
+ public function joinTableToCollection(Mage_Catalog_Model_Resource_Category_Flat_Collection $collection, $storeId);
54
+
55
+ /**
56
+ * Join url rewrite to select
57
+ *
58
+ * @param Varien_Db_Select $select
59
+ * @param int $storeId
60
+ * @return Mage_Catalog_Helper_Category_Url_Rewrite
61
+ */
62
+ public function joinTableToSelect(Varien_Db_Select $select, $storeId);
63
+ }
app/code/core/Mage/Catalog/Helper/Data.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Helper/Flat/Abstract.php ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Catalog flat abstract helper
29
+ *
30
+ * @category Mage
31
+ * @package Mage_Catalog
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ abstract class Mage_Catalog_Helper_Flat_Abstract extends Mage_Core_Helper_Abstract
35
+ {
36
+ /**
37
+ * Catalog Flat index process code
38
+ *
39
+ * @var null|string
40
+ */
41
+ protected $_indexerCode = null;
42
+
43
+ /**
44
+ * Store catalog Flat index process instance
45
+ *
46
+ * @var Mage_Index_Model_Process|null
47
+ */
48
+ protected $_process = null;
49
+
50
+ /**
51
+ * Check if Catalog Flat Data has been initialized
52
+ *
53
+ * @param null|bool|int|Mage_Core_Model_Store $store Store(id) for which the value is checked
54
+ * @return bool
55
+ */
56
+ abstract public function isBuilt($store = null);
57
+
58
+ /**
59
+ * Check if Catalog Category Flat Data is enabled
60
+ *
61
+ * @param mixed $deprecatedParam this parameter is deprecated and no longer in use
62
+ *
63
+ * @return bool
64
+ */
65
+ abstract public function isEnabled($deprecatedParam = false);
66
+
67
+ /**
68
+ * Check if Catalog Category Flat Data is available
69
+ * without lock check
70
+ *
71
+ * @return bool
72
+ */
73
+ public function isAccessible()
74
+ {
75
+ return $this->isEnabled() && $this->getProcess()->getStatus() != Mage_Index_Model_Process::STATUS_RUNNING;
76
+ }
77
+
78
+ /**
79
+ * Check if Catalog Category Flat Data is available for use
80
+ *
81
+ * @return bool
82
+ */
83
+ public function isAvailable()
84
+ {
85
+ return $this->isAccessible() && !$this->getProcess()->isLocked();
86
+ }
87
+
88
+ /**
89
+ * Retrieve Catalog Flat index process
90
+ *
91
+ * @return Mage_Index_Model_Process
92
+ */
93
+ public function getProcess()
94
+ {
95
+ if (is_null($this->_process)) {
96
+ $this->_process = Mage::getModel('index/process')
97
+ ->load($this->_indexerCode, 'indexer_code');
98
+ }
99
+ return $this->_process;
100
+ }
101
+ }
app/code/core/Mage/Catalog/Helper/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Helper/Map.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Helper/Output.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Helper/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Helper/Product/Compare.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -79,17 +79,17 @@ class Mage_Catalog_Helper_Product_Compare extends Mage_Core_Helper_Url
79
  */
80
  public function getListUrl()
81
  {
82
- $itemIds = array();
83
- foreach ($this->getItemCollection() as $item) {
84
- $itemIds[] = $item->getId();
85
- }
86
 
87
  $params = array(
88
- 'items'=>implode(',', $itemIds),
89
  Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
90
- );
91
 
92
- return $this->_getUrl('catalog/product_compare', $params);
93
  }
94
 
95
  /**
@@ -128,7 +128,8 @@ class Mage_Catalog_Helper_Product_Compare extends Mage_Core_Helper_Url
128
  $beforeCompareUrl = Mage::getSingleton('catalog/session')->getBeforeCompareUrl();
129
 
130
  $params = array(
131
- 'product'=>$product->getId(),
 
132
  Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl($beforeCompareUrl)
133
  );
134
 
@@ -143,10 +144,11 @@ class Mage_Catalog_Helper_Product_Compare extends Mage_Core_Helper_Url
143
  */
144
  public function getAddToCartUrl($product)
145
  {
146
- $beforeCompareUrl = Mage::getSingleton('catalog/session')->getBeforeCompareUrl();
147
  $params = array(
148
- 'product'=>$product->getId(),
149
- Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl($beforeCompareUrl)
 
150
  );
151
 
152
  return $this->_getUrl('checkout/cart/add', $params);
@@ -161,7 +163,7 @@ class Mage_Catalog_Helper_Product_Compare extends Mage_Core_Helper_Url
161
  public function getRemoveUrl($item)
162
  {
163
  $params = array(
164
- 'product'=>$item->getId(),
165
  Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
166
  );
167
  return $this->_getUrl('catalog/product_compare/remove', $params);
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
79
  */
80
  public function getListUrl()
81
  {
82
+ $itemIds = array();
83
+ foreach ($this->getItemCollection() as $item) {
84
+ $itemIds[] = $item->getId();
85
+ }
86
 
87
  $params = array(
88
+ 'items' => implode(',', $itemIds),
89
  Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
90
+ );
91
 
92
+ return $this->_getUrl('catalog/product_compare', $params);
93
  }
94
 
95
  /**
128
  $beforeCompareUrl = Mage::getSingleton('catalog/session')->getBeforeCompareUrl();
129
 
130
  $params = array(
131
+ 'product' => $product->getId(),
132
+ Mage_Core_Model_Url::FORM_KEY => $this->_getSingletonModel('core/session')->getFormKey(),
133
  Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl($beforeCompareUrl)
134
  );
135
 
144
  */
145
  public function getAddToCartUrl($product)
146
  {
147
+ $beforeCompareUrl = $this->_getSingletonModel('catalog/session')->getBeforeCompareUrl();
148
  $params = array(
149
+ 'product' => $product->getId(),
150
+ Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl($beforeCompareUrl),
151
+ Mage_Core_Model_Url::FORM_KEY => $this->_getSingletonModel('core/session')->getFormKey()
152
  );
153
 
154
  return $this->_getUrl('checkout/cart/add', $params);
163
  public function getRemoveUrl($item)
164
  {
165
  $params = array(
166
+ 'product' => $item->getId(),
167
  Mage_Core_Controller_Front_Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
168
  );
169
  return $this->_getUrl('catalog/product_compare/remove', $params);
app/code/core/Mage/Catalog/Helper/Product/Configuration.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Helper/Product/Configuration/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Helper/Product/Flat.php CHANGED
@@ -20,11 +20,10 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
27
-
28
  /**
29
  * Catalog Product Flat Helper
30
  *
@@ -32,33 +31,48 @@
32
  * @package Mage_Catalog
33
  * @author Magento Core Team <core@magentocommerce.com>
34
  */
35
- class Mage_Catalog_Helper_Product_Flat extends Mage_Core_Helper_Abstract
36
  {
 
 
 
37
  const XML_PATH_USE_PRODUCT_FLAT = 'catalog/frontend/flat_catalog_product';
38
  const XML_NODE_ADD_FILTERABLE_ATTRIBUTES = 'global/catalog/product/flat/add_filterable_attributes';
39
  const XML_NODE_ADD_CHILD_DATA = 'global/catalog/product/flat/add_child_data';
40
 
 
 
 
 
 
41
  /**
42
  * Catalog Flat Product index process code
43
- *
44
- * @var string
45
  */
46
  const CATALOG_FLAT_PROCESS_CODE = 'catalog_product_flat';
47
-
 
 
 
 
 
 
 
48
  /**
49
- * Catalog Product Flat index process
50
- *
51
- * @var Mage_Index_Model_Process
52
  */
53
- protected $_process;
54
 
55
  /**
56
- * Catalog Product Flat status by store
57
- *
 
 
58
  * @var array
59
  */
60
- protected $_isEnabled = array();
61
-
62
  /**
63
  * Catalog Product Flat Flag object
64
  *
@@ -74,43 +88,52 @@ class Mage_Catalog_Helper_Product_Flat extends Mage_Core_Helper_Abstract
74
  public function getFlag()
75
  {
76
  if (is_null($this->_flagObject)) {
77
- $this->_flagObject = Mage::getSingleton('catalog/product_flat_flag')
 
78
  ->loadSelf();
79
  }
80
  return $this->_flagObject;
81
  }
82
 
83
  /**
84
- * Check is builded Catalog Product Flat Data
 
 
85
  *
86
  * @return bool
87
  */
88
- public function isBuilt()
89
  {
90
- return $this->getFlag()->getIsBuilt();
91
  }
92
 
93
  /**
94
- * Check is enable catalog product for store
95
  *
96
- * @param mixed $store
97
  * @return bool
98
  */
99
- public function isEnabled($store = null)
100
  {
101
- $store = Mage::app()->getStore($store);
102
- if ($store->isAdmin()) {
103
- return false;
104
  }
105
-
106
- if (!isset($this->_isEnabled[$store->getId()])) {
107
- if (Mage::getStoreConfigFlag(self::XML_PATH_USE_PRODUCT_FLAT, $store)) {
108
- $this->_isEnabled[$store->getId()] = $this->getProcess()->getStatus() == Mage_Index_Model_Process::STATUS_PENDING;
109
- } else {
110
- $this->_isEnabled[$store->getId()] = false;
111
- }
 
 
 
 
 
 
 
112
  }
113
- return $this->_isEnabled[$store->getId()];
114
  }
115
 
116
  /**
@@ -132,18 +155,4 @@ class Mage_Catalog_Helper_Product_Flat extends Mage_Core_Helper_Abstract
132
  {
133
  return intval(Mage::getConfig()->getNode(self::XML_NODE_ADD_CHILD_DATA));
134
  }
135
-
136
- /**
137
- * Retrive Catalog Product Flat index process
138
- *
139
- * @return Mage_Index_Model_Process
140
- */
141
- public function getProcess()
142
- {
143
- if (is_null($this->_process)) {
144
- $this->_process = Mage::getModel('index/process')
145
- ->load(self::CATALOG_FLAT_PROCESS_CODE, 'indexer_code');
146
- }
147
- return $this->_process;
148
- }
149
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
 
27
  /**
28
  * Catalog Product Flat Helper
29
  *
31
  * @package Mage_Catalog
32
  * @author Magento Core Team <core@magentocommerce.com>
33
  */
34
+ class Mage_Catalog_Helper_Product_Flat extends Mage_Catalog_Helper_Flat_Abstract
35
  {
36
+ /**
37
+ * Catalog Product Flat Config
38
+ */
39
  const XML_PATH_USE_PRODUCT_FLAT = 'catalog/frontend/flat_catalog_product';
40
  const XML_NODE_ADD_FILTERABLE_ATTRIBUTES = 'global/catalog/product/flat/add_filterable_attributes';
41
  const XML_NODE_ADD_CHILD_DATA = 'global/catalog/product/flat/add_child_data';
42
 
43
+ /**
44
+ * Path for flat flag model
45
+ */
46
+ const XML_PATH_FLAT_FLAG = 'global/catalog/product/flat/flag/model';
47
+
48
  /**
49
  * Catalog Flat Product index process code
 
 
50
  */
51
  const CATALOG_FLAT_PROCESS_CODE = 'catalog_product_flat';
52
+
53
+ /**
54
+ * Catalog Product Flat index process code
55
+ *
56
+ * @var string
57
+ */
58
+ protected $_indexerCode = self::CATALOG_FLAT_PROCESS_CODE;
59
+
60
  /**
61
+ * Catalog Product Flat index process instance
62
+ *
63
+ * @var Mage_Index_Model_Process|null
64
  */
65
+ protected $_process = null;
66
 
67
  /**
68
+ * Store flags which defines if Catalog Product Flat functionality is enabled
69
+ *
70
+ * @deprecated after 1.7.0.0
71
+ *
72
  * @var array
73
  */
74
+ protected $_isEnabled = array();
75
+
76
  /**
77
  * Catalog Product Flat Flag object
78
  *
88
  public function getFlag()
89
  {
90
  if (is_null($this->_flagObject)) {
91
+ $className = (string)Mage::getConfig()->getNode(self::XML_PATH_FLAT_FLAG);
92
+ $this->_flagObject = Mage::getSingleton($className)
93
  ->loadSelf();
94
  }
95
  return $this->_flagObject;
96
  }
97
 
98
  /**
99
+ * Check Catalog Product Flat functionality is enabled
100
+ *
101
+ * @param int|string|null|Mage_Core_Model_Store $store this parameter is deprecated and no longer in use
102
  *
103
  * @return bool
104
  */
105
+ public function isEnabled($store = null)
106
  {
107
+ return Mage::getStoreConfigFlag(self::XML_PATH_USE_PRODUCT_FLAT);
108
  }
109
 
110
  /**
111
+ * Check if Catalog Product Flat Data has been initialized
112
  *
113
+ * @param null|bool|int|Mage_Core_Model_Store $store Store(id) for which the value is checked
114
  * @return bool
115
  */
116
+ public function isBuilt($store = null)
117
  {
118
+ if ($store !== null) {
119
+ return $this->getFlag()->isStoreBuilt(Mage::app()->getStore($store)->getId());
 
120
  }
121
+ return $this->getFlag()->getIsBuilt();
122
+ }
123
+
124
+ /**
125
+ * Check if Catalog Product Flat Data has been initialized for all stores
126
+ *
127
+ * @return bool
128
+ */
129
+ public function isBuiltAllStores()
130
+ {
131
+ $isBuildAll = true;
132
+ foreach(Mage::app()->getStores(false) as $store) {
133
+ /** @var $store Mage_Core_Model_Store */
134
+ $isBuildAll = $isBuildAll && $this->isBuilt($store->getId());
135
  }
136
+ return $isBuildAll;
137
  }
138
 
139
  /**
155
  {
156
  return intval(Mage::getConfig()->getNode(self::XML_NODE_ADD_CHILD_DATA));
157
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
158
  }
app/code/core/Mage/Catalog/Helper/Product/Options.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Helper/Product/Url.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Helper/Product/Url/Rewrite.php ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 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
+ * Product url rewrite helper
29
+ *
30
+ * @category Mage
31
+ * @package Mage_Catalog
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_Catalog_Helper_Product_Url_Rewrite
35
+ implements Mage_Catalog_Helper_Product_Url_Rewrite_Interface
36
+ {
37
+ /**
38
+ * Adapter instance
39
+ *
40
+ * @var Varien_Db_Adapter_Interface
41
+ */
42
+ protected $_connection;
43
+
44
+ /**
45
+ * Resource instance
46
+ *
47
+ * @var Mage_Core_Model_Resource
48
+ */
49
+ protected $_resource;
50
+
51
+ /**
52
+ * Initialize resource and connection instances
53
+ *
54
+ * @param array $args
55
+ */
56
+ public function __construct(array $args = array())
57
+ {
58
+ $this->_resource = Mage::getSingleton('core/resource');
59
+ $this->_connection = !empty($args['connection']) ? $args['connection'] : $this->_resource
60
+ ->getConnection(Mage_Core_Model_Resource::DEFAULT_READ_RESOURCE);
61
+ }
62
+
63
+ /**
64
+ * Prepare and return select
65
+ *
66
+ * @param array $productIds
67
+ * @param int $categoryId
68
+ * @param int $storeId
69
+ * @return Varien_Db_Select
70
+ */
71
+ public function getTableSelect(array $productIds, $categoryId, $storeId)
72
+ {
73
+ $select = $this->_connection->select()
74
+ ->from($this->_resource->getTableName('core/url_rewrite'), array('product_id', 'request_path'))
75
+ ->where('store_id = ?', (int)$storeId)
76
+ ->where('is_system = ?', 1)
77
+ ->where('category_id = ? OR category_id IS NULL', (int)$categoryId)
78
+ ->where('product_id IN(?)', $productIds)
79
+ ->order('category_id ' . Varien_Data_Collection::SORT_ORDER_DESC);
80
+ return $select;
81
+ }
82
+
83
+ /**
84
+ * Prepare url rewrite left join statement for given select instance and store_id parameter.
85
+ *
86
+ * @param Varien_Db_Select $select
87
+ * @param int $storeId
88
+ * @return Mage_Catalog_Helper_Product_Url_Rewrite_Interface
89
+ */
90
+ public function joinTableToSelect(Varien_Db_Select $select, $storeId)
91
+ {
92
+ $select->joinLeft(
93
+ array('url_rewrite' => $this->_resource->getTableName('core/url_rewrite')),
94
+ 'url_rewrite.product_id = main_table.entity_id AND url_rewrite.is_system = 1 AND ' .
95
+ $this->_connection->quoteInto('url_rewrite.category_id IS NULL AND url_rewrite.store_id = ? AND ',
96
+ (int)$storeId) .
97
+ $this->_connection->prepareSqlCondition('url_rewrite.id_path', array('like' => 'product/%')),
98
+ array('request_path' => 'url_rewrite.request_path'));
99
+ return $this;
100
+ }
101
+ }
app/code/core/Mage/Catalog/Helper/Product/Url/Rewrite/Interface.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_Catalog
23
+ * @copyright Copyright (c) 2013 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
+ /**
29
+ * Product url rewrite interface
30
+ *
31
+ * @category Mage
32
+ * @package Mage_Catalog
33
+ * @author Magento Core Team <core@magentocommerce.com>
34
+ */
35
+ interface Mage_Catalog_Helper_Product_Url_Rewrite_Interface
36
+ {
37
+ /**
38
+ * Prepare and return select
39
+ *
40
+ * @param array $productIds
41
+ * @param int $categoryId
42
+ * @param int $storeId
43
+ * @return Varien_Db_Select
44
+ */
45
+ public function getTableSelect(array $productIds, $categoryId, $storeId);
46
+
47
+ /**
48
+ * Prepare url rewrite left join statement for given select instance and store_id parameter.
49
+ *
50
+ * @param Varien_Db_Select $select
51
+ * @param int $storeId
52
+ * @return Mage_Catalog_Helper_Product_Url_Rewrite_Interface
53
+ */
54
+ public function joinTableToSelect(Varien_Db_Select $select, $storeId);
55
+ }
app/code/core/Mage/Catalog/Helper/Product/View.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api/Resource.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Category.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Category/Rest.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Category/Rest/Admin/V1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Category/Rest/Customer/V1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Category/Rest/Guest/V1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Admin/V1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Customer/V1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Guest/V1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Image/Validator/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Rest.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -73,7 +73,7 @@ abstract class Mage_Catalog_Model_Api2_Product_Rest extends Mage_Catalog_Model_A
73
  ->addPriceData($this->_getCustomerGroupId(), $store->getWebsiteId())
74
  ->addAttributeToSelect(array_diff($availableAttributes, $entityOnlyAttributes))
75
  ->addAttributeToFilter('visibility', array(
76
- 'neq' => Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE))
77
  ->addAttributeToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED));
78
  $this->_applyCategoryFilter($collection);
79
  $this->_applyCollectionModifiers($collection);
@@ -125,7 +125,7 @@ abstract class Mage_Catalog_Model_Api2_Product_Rest extends Mage_Catalog_Model_A
125
  $productData['final_price_without_tax'] = $this->_applyTaxToPrice($finalPrice, false);
126
 
127
  $productData['is_saleable'] = $product->getIsSalable();
128
- $productData['image_url'] = (string)Mage::helper('catalog/image')->init($product, 'image');
129
 
130
  if ($this->getActionType() == self::ACTION_TYPE_ENTITY) {
131
  // define URLs
@@ -255,9 +255,8 @@ abstract class Mage_Catalog_Model_Api2_Product_Rest extends Mage_Catalog_Model_A
255
  * @see Mage_Tax_Helper_Data::getPrice()
256
  */
257
  protected function _getPrice($price, $includingTax = null, $shippingAddress = null,
258
- $billingAddress = null, $ctc = null, $priceIncludesTax = null
259
- )
260
- {
261
  $product = $this->_getProduct();
262
  $store = $this->_getStore();
263
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
73
  ->addPriceData($this->_getCustomerGroupId(), $store->getWebsiteId())
74
  ->addAttributeToSelect(array_diff($availableAttributes, $entityOnlyAttributes))
75
  ->addAttributeToFilter('visibility', array(
76
+ 'neq' => Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE))
77
  ->addAttributeToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED));
78
  $this->_applyCategoryFilter($collection);
79
  $this->_applyCollectionModifiers($collection);
125
  $productData['final_price_without_tax'] = $this->_applyTaxToPrice($finalPrice, false);
126
 
127
  $productData['is_saleable'] = $product->getIsSalable();
128
+ $productData['image_url'] = (string) Mage::helper('catalog/image')->init($product, 'image');
129
 
130
  if ($this->getActionType() == self::ACTION_TYPE_ENTITY) {
131
  // define URLs
255
  * @see Mage_Tax_Helper_Data::getPrice()
256
  */
257
  protected function _getPrice($price, $includingTax = null, $shippingAddress = null,
258
+ $billingAddress = null, $ctc = null, $priceIncludesTax = null
259
+ ) {
 
260
  $product = $this->_getProduct();
261
  $store = $this->_getStore();
262
 
app/code/core/Mage/Catalog/Model/Api2/Product/Rest/Admin/V1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Rest/Customer/V1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Rest/Guest/V1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Validator/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Website.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Website/Rest.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Website/Rest/Admin/V1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Api2/Product/Website/Validator/Admin/Website.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Attribute/Backend/Customlayoutupdate.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Attribute/Backend/Urlkey/Abstract.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 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
+ * Product url key attribute backend
29
+ *
30
+ * @category Mage
31
+ * @package Mage_Catalog
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ abstract class Mage_Catalog_Model_Attribute_Backend_Urlkey_Abstract
35
+ extends Mage_Eav_Model_Entity_Attribute_Backend_Abstract
36
+ {
37
+ /**
38
+ * Format url key attribute before save, also use product name as url key if it empty
39
+ *
40
+ * @param Varien_Object $object
41
+ * @return Mage_Catalog_Model_Category_Attribute_Backend_Urlkey
42
+ */
43
+ public function beforeSave($object)
44
+ {
45
+ $attributeName = $this->getAttribute()->getName();
46
+
47
+ $urlKey = $object->getData($attributeName);
48
+ if ($urlKey === false) {
49
+ return $this;
50
+ }
51
+ if ($urlKey=='') {
52
+ $urlKey = $object->getName();
53
+ }
54
+
55
+ $object->setData($attributeName, $object->formatUrlKey($urlKey));
56
+
57
+ return $this;
58
+ }
59
+
60
+ /**
61
+ * Executes after url attribute save.
62
+ *
63
+ * @param Varien_Object $object
64
+ *
65
+ * @return Mage_Catalog_Model_Category_Attribute_Backend_Urlkey
66
+ */
67
+ public function afterSave($object)
68
+ {
69
+ /**
70
+ * This logic moved to Mage_Catalog_Model_Indexer_Url
71
+ */
72
+ return $this;
73
+ }
74
+ }
app/code/core/Mage/Catalog/Model/Category.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -110,13 +110,25 @@ class Mage_Catalog_Model_Category extends Mage_Catalog_Model_Abstract
110
  */
111
  protected $_treeModel = null;
112
 
 
 
 
 
 
 
 
113
  /**
114
  * Initialize resource mode
115
  *
 
116
  */
117
  protected function _construct()
118
  {
119
- if (Mage::helper('catalog/category_flat')->isEnabled()) {
 
 
 
 
120
  $this->_init('catalog/category_flat');
121
  $this->_useFlatResource = true;
122
  } else {
@@ -145,7 +157,7 @@ class Mage_Catalog_Model_Category extends Mage_Catalog_Model_Abstract
145
  public function getUrlRewrite()
146
  {
147
  if (!self::$_urlRewrite) {
148
- self::$_urlRewrite = Mage::getModel('core/url_rewrite');
149
  }
150
  return self::$_urlRewrite;
151
  }
@@ -418,37 +430,20 @@ class Mage_Catalog_Model_Category extends Mage_Catalog_Model_Abstract
418
  */
419
  public function getUrl()
420
  {
421
- $url = $this->_getData('url');
422
- if (is_null($url)) {
423
- Varien_Profiler::start('REWRITE: '.__METHOD__);
424
-
425
- if ($this->hasData('request_path') && $this->getRequestPath() != '') {
426
- $this->setData('url', $this->getUrlInstance()->getDirectUrl($this->getRequestPath()));
427
- Varien_Profiler::stop('REWRITE: '.__METHOD__);
428
- return $this->getData('url');
429
- }
430
-
431
- Varien_Profiler::stop('REWRITE: '.__METHOD__);
432
-
433
- $rewrite = $this->getUrlRewrite();
434
- if ($this->getStoreId()) {
435
- $rewrite->setStoreId($this->getStoreId());
436
- }
437
- $idPath = 'category/' . $this->getId();
438
- $rewrite->loadByIdPath($idPath);
439
-
440
- if ($rewrite->getId()) {
441
- $this->setData('url', $this->getUrlInstance()->getDirectUrl($rewrite->getRequestPath()));
442
- Varien_Profiler::stop('REWRITE: '.__METHOD__);
443
- return $this->getData('url');
444
- }
445
-
446
- Varien_Profiler::stop('REWRITE: '.__METHOD__);
447
 
448
- $this->setData('url', $this->getCategoryIdUrl());
449
- return $this->getData('url');
 
 
 
 
 
 
 
450
  }
451
- return $url;
452
  }
453
 
454
  /**
@@ -476,7 +471,7 @@ class Mage_Catalog_Model_Category extends Mage_Catalog_Model_Abstract
476
  */
477
  public function formatUrlKey($str)
478
  {
479
- $str = Mage::helper('core')->removeAccents($str);
480
  $urlKey = preg_replace('#[^0-9a-z]+#i', '-', $str);
481
  $urlKey = strtolower($urlKey);
482
  $urlKey = trim($urlKey, '-');
@@ -733,6 +728,9 @@ class Mage_Catalog_Model_Category extends Mage_Catalog_Model_Abstract
733
  */
734
  public function getRequestPath()
735
  {
 
 
 
736
  return $this->_getData('request_path');
737
  }
738
 
@@ -841,6 +839,16 @@ class Mage_Catalog_Model_Category extends Mage_Catalog_Model_Abstract
841
  return $this->getResource()->getChildrenCategories($this);
842
  }
843
 
 
 
 
 
 
 
 
 
 
 
844
  /**
845
  * Return parent category of current category with own custom design settings
846
  *
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
110
  */
111
  protected $_treeModel = null;
112
 
113
+ /**
114
+ * Category Url instance
115
+ *
116
+ * @var Mage_Catalog_Model_Category_Url
117
+ */
118
+ protected $_urlModel;
119
+
120
  /**
121
  * Initialize resource mode
122
  *
123
+ * @return void
124
  */
125
  protected function _construct()
126
  {
127
+ // If Flat Data enabled then use it but only on frontend
128
+ $flatHelper = Mage::helper('catalog/category_flat');
129
+ if ($flatHelper->isAvailable() && !Mage::app()->getStore()->isAdmin() && $flatHelper->isBuilt(true)
130
+ && !$this->getDisableFlat()
131
+ ) {
132
  $this->_init('catalog/category_flat');
133
  $this->_useFlatResource = true;
134
  } else {
157
  public function getUrlRewrite()
158
  {
159
  if (!self::$_urlRewrite) {
160
+ self::$_urlRewrite = Mage::getSingleton('core/factory')->getUrlRewriteInstance();
161
  }
162
  return self::$_urlRewrite;
163
  }
430
  */
431
  public function getUrl()
432
  {
433
+ return $this->getUrlModel()->getCategoryUrl($this);
434
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
435
 
436
+ /**
437
+ * Get product url model
438
+ *
439
+ * @return Mage_Catalog_Model_Category_Url
440
+ */
441
+ public function getUrlModel()
442
+ {
443
+ if ($this->_urlModel === null) {
444
+ $this->_urlModel = Mage::getSingleton('catalog/factory')->getCategoryUrlInstance();
445
  }
446
+ return $this->_urlModel;
447
  }
448
 
449
  /**
471
  */
472
  public function formatUrlKey($str)
473
  {
474
+ $str = Mage::helper('catalog/product_url')->format($str);
475
  $urlKey = preg_replace('#[^0-9a-z]+#i', '-', $str);
476
  $urlKey = strtolower($urlKey);
477
  $urlKey = trim($urlKey, '-');
728
  */
729
  public function getRequestPath()
730
  {
731
+ if (!$this->_getData('request_path')) {
732
+ $this->getUrl();
733
+ }
734
  return $this->_getData('request_path');
735
  }
736
 
839
  return $this->getResource()->getChildrenCategories($this);
840
  }
841
 
842
+ /**
843
+ * Return children categories of current category
844
+ *
845
+ * @return array
846
+ */
847
+ public function getChildrenCategoriesWithInactive()
848
+ {
849
+ return $this->getResource()->getChildrenCategoriesWithInactive($this);
850
+ }
851
+
852
  /**
853
  * Return parent category of current category with own custom design settings
854
  *
app/code/core/Mage/Catalog/Model/Category/Api.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Category/Api/V2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Category/Attribute/Api.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Category/Attribute/Api/V2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Sortby.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -44,13 +44,14 @@ class Mage_Catalog_Model_Category_Attribute_Backend_Sortby
44
  public function validate($object)
45
  {
46
  $attributeCode = $this->getAttribute()->getName();
47
- $postDataConfig = ($object->getData('use_post_data_config'))? $object->getData('use_post_data_config') : array();
48
-
49
- $isUseConfig = false;
50
  if ($postDataConfig) {
51
  $isUseConfig = in_array($attributeCode, $postDataConfig);
 
 
 
52
  }
53
-
54
  if ($this->getAttribute()->getIsRequired()) {
55
  $attributeValue = $object->getData($attributeCode);
56
  if ($this->getAttribute()->isValueEmpty($attributeValue)) {
@@ -69,7 +70,7 @@ class Mage_Catalog_Model_Category_Attribute_Backend_Sortby
69
  Mage::throwException(Mage::helper('eav')->__('The value of attribute "%s" must be unique.', $label));
70
  }
71
  }
72
-
73
  if ($attributeCode == 'default_sort_by') {
74
  if ($available = $object->getData('available_sort_by')) {
75
  if (!is_array($available)) {
@@ -78,16 +79,16 @@ class Mage_Catalog_Model_Category_Attribute_Backend_Sortby
78
  $data = (!in_array('default_sort_by', $postDataConfig))? $object->getData($attributeCode):
79
  Mage::getStoreConfig("catalog/frontend/default_sort_by");
80
  if (!in_array($data, $available)) {
81
- Mage::throwException(Mage::helper('eav')->__('Default Product Listing Sort by not exists on Available Product Listing Sort By'));
82
  }
83
  } else {
84
  if (!in_array('available_sort_by', $postDataConfig)) {
85
- Mage::throwException(Mage::helper('eav')->__('Default Product Listing Sort by not exists on Available Product Listing Sort By'));
86
  }
87
  }
88
  }
89
 
90
- return true;
91
  }
92
 
93
  /**
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
44
  public function validate($object)
45
  {
46
  $attributeCode = $this->getAttribute()->getName();
47
+ $postDataConfig = $object->getData('use_post_data_config');
 
 
48
  if ($postDataConfig) {
49
  $isUseConfig = in_array($attributeCode, $postDataConfig);
50
+ } else {
51
+ $isUseConfig = false;
52
+ $postDataConfig = array();
53
  }
54
+
55
  if ($this->getAttribute()->getIsRequired()) {
56
  $attributeValue = $object->getData($attributeCode);
57
  if ($this->getAttribute()->isValueEmpty($attributeValue)) {
70
  Mage::throwException(Mage::helper('eav')->__('The value of attribute "%s" must be unique.', $label));
71
  }
72
  }
73
+
74
  if ($attributeCode == 'default_sort_by') {
75
  if ($available = $object->getData('available_sort_by')) {
76
  if (!is_array($available)) {
79
  $data = (!in_array('default_sort_by', $postDataConfig))? $object->getData($attributeCode):
80
  Mage::getStoreConfig("catalog/frontend/default_sort_by");
81
  if (!in_array($data, $available)) {
82
+ Mage::throwException(Mage::helper('eav')->__('Default Product Listing Sort by does not exist in Available Product Listing Sort By.'));
83
  }
84
  } else {
85
  if (!in_array('available_sort_by', $postDataConfig)) {
86
+ Mage::throwException(Mage::helper('eav')->__('Default Product Listing Sort by does not exist in Available Product Listing Sort By.'));
87
  }
88
  }
89
  }
90
 
91
+ return true;
92
  }
93
 
94
  /**
app/code/core/Mage/Catalog/Model/Category/Attribute/Backend/Urlkey.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -30,50 +30,9 @@
30
  *
31
  * @category Mage
32
  * @package Mage_Catalog
33
- * @author Magento Core Team <core@magentocommerce.com>
34
  */
35
- class Mage_Catalog_Model_Category_Attribute_Backend_Urlkey extends Mage_Eav_Model_Entity_Attribute_Backend_Abstract
36
  {
37
 
38
- /**
39
- * Enter description here...
40
- *
41
- * @param Varien_Object $object
42
- * @return Mage_Catalog_Model_Category_Attribute_Backend_Urlkey
43
- */
44
- public function beforeSave($object)
45
- {
46
- $attributeName = $this->getAttribute()->getName();
47
-
48
- $urlKey = $object->getData($attributeName);
49
- if ($urlKey === false) {
50
- return $this;
51
- }
52
- if ($urlKey=='') {
53
- $urlKey = $object->getName();
54
- }
55
-
56
- $object->setData($attributeName, $object->formatUrlKey($urlKey));
57
-
58
- return $this;
59
- }
60
-
61
- /**
62
- * Enter description here...
63
- *
64
- * @param Varien_Object $object
65
- */
66
- public function afterSave($object)
67
- {
68
- /* @var $object Mage_Catalog_Model_Category */
69
- /**
70
- * Logic moved to Mage_Catalog_Molde_Indexer_Url
71
- */
72
- /*if (!$object->getInitialSetupFlag() && $object->getLevel() > 1) {
73
- if ($object->dataHasChangedFor('url_key') || $object->getIsChangedProductList()) {
74
- Mage::getSingleton('catalog/url')->refreshCategoryRewrite($object->getId());
75
- }
76
- }*/
77
- }
78
-
79
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
30
  *
31
  * @category Mage
32
  * @package Mage_Catalog
33
+ * @author Magento Core Team <core@magentocommerce.com>
34
  */
35
+ class Mage_Catalog_Model_Category_Attribute_Backend_Urlkey extends Mage_Catalog_Model_Attribute_Backend_Urlkey_Abstract
36
  {
37
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  }
app/code/core/Mage/Catalog/Model/Category/Attribute/Source/Layout.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Category/Attribute/Source/Mode.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Category/Attribute/Source/Page.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Category/Attribute/Source/Sortby.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Category/Indexer/Flat.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -57,6 +57,18 @@ class Mage_Catalog_Model_Category_Indexer_Flat extends Mage_Index_Model_Indexer_
57
  ),
58
  );
59
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  /**
61
  * Retrieve Indexer name
62
  *
@@ -97,7 +109,9 @@ class Mage_Catalog_Model_Category_Indexer_Flat extends Mage_Index_Model_Indexer_
97
  */
98
  public function matchEvent(Mage_Index_Model_Event $event)
99
  {
100
- if (!Mage::helper('catalog/category_flat')->isEnabled(true)) {
 
 
101
  return false;
102
  }
103
 
@@ -213,7 +227,7 @@ class Mage_Catalog_Model_Category_Indexer_Flat extends Mage_Index_Model_Indexer_
213
  return $this;
214
  }
215
 
216
- /**
217
  * Process event
218
  *
219
  * @param Mage_Index_Model_Event $event
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
57
  ),
58
  );
59
 
60
+ /**
61
+ * Whether the indexer should be displayed on process/list page
62
+ *
63
+ * @return bool
64
+ */
65
+ public function isVisible()
66
+ {
67
+ /** @var $categoryFlatHelper Mage_Catalog_Helper_Category_Flat */
68
+ $categoryFlatHelper = Mage::helper('catalog/category_flat');
69
+ return $categoryFlatHelper->isEnabled() || !$categoryFlatHelper->isBuilt();
70
+ }
71
+
72
  /**
73
  * Retrieve Indexer name
74
  *
109
  */
110
  public function matchEvent(Mage_Index_Model_Event $event)
111
  {
112
+ /** @var $categoryFlatHelper Mage_Catalog_Helper_Category_Flat */
113
+ $categoryFlatHelper = Mage::helper('catalog/category_flat');
114
+ if (!$categoryFlatHelper->isAccessible() || !$categoryFlatHelper->isBuilt()) {
115
  return false;
116
  }
117
 
227
  return $this;
228
  }
229
 
230
+ /**
231
  * Process event
232
  *
233
  * @param Mage_Index_Model_Event $event
app/code/core/Mage/Catalog/Model/Category/Indexer/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Category/Url.php ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Catalog category url
29
+ *
30
+ * @category Mage
31
+ * @package Mage_Catalog
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_Catalog_Model_Category_Url
35
+ {
36
+ /**
37
+ * Url instance
38
+ *
39
+ * @var Mage_Core_Model_Url
40
+ */
41
+ protected $_url;
42
+
43
+ /**
44
+ * Factory instance
45
+ *
46
+ * @var Mage_Catalog_Model_Factory
47
+ */
48
+ protected $_factory;
49
+
50
+ /**
51
+ * Url rewrite instance
52
+ *
53
+ * @var Mage_Core_Model_Url_Rewrite
54
+ */
55
+ protected $_urlRewrite;
56
+
57
+ /**
58
+ * Initialize Url model
59
+ *
60
+ * @param array $args
61
+ */
62
+ public function __construct(array $args = array())
63
+ {
64
+ $this->_factory = !empty($args['factory']) ? $args['factory'] : Mage::getSingleton('catalog/factory');
65
+ }
66
+
67
+ /**
68
+ * Retrieve Url for specified category
69
+ *
70
+ * @param Mage_Catalog_Model_Category $category
71
+ * @return string
72
+ */
73
+ public function getCategoryUrl(Mage_Catalog_Model_Category $category)
74
+ {
75
+ $url = $category->getData('url');
76
+ if (null !== $url) {
77
+ return $url;
78
+ }
79
+
80
+ Varien_Profiler::start('REWRITE: '.__METHOD__);
81
+
82
+ if ($category->hasData('request_path') && $category->getData('request_path') != '') {
83
+ $category->setData('url', $this->_getDirectUrl($category));
84
+ Varien_Profiler::stop('REWRITE: '.__METHOD__);
85
+ return $category->getData('url');
86
+ }
87
+
88
+ $requestPath = $this->_getRequestPath($category);
89
+ if ($requestPath) {
90
+ $category->setRequestPath($requestPath);
91
+ $category->setData('url', $this->_getDirectUrl($category));
92
+ Varien_Profiler::stop('REWRITE: '.__METHOD__);
93
+ return $category->getData('url');
94
+ }
95
+
96
+ Varien_Profiler::stop('REWRITE: '.__METHOD__);
97
+
98
+ $category->setData('url', $category->getCategoryIdUrl());
99
+ return $category->getData('url');
100
+ }
101
+
102
+ /**
103
+ * Returns category URL by which it can be accessed
104
+ * @param Mage_Catalog_Model_Category $category
105
+ * @return string
106
+ */
107
+ protected function _getDirectUrl(Mage_Catalog_Model_Category $category)
108
+ {
109
+ return $this->getUrlInstance()->getDirectUrl($category->getRequestPath());
110
+ }
111
+
112
+ /**
113
+ * Retrieve request path
114
+ *
115
+ * @param Mage_Catalog_Model_Category $category
116
+ * @return bool|string
117
+ */
118
+ protected function _getRequestPath(Mage_Catalog_Model_Category $category)
119
+ {
120
+ $rewrite = $this->getUrlRewrite();
121
+ $storeId = $category->getStoreId();
122
+ if ($storeId) {
123
+ $rewrite->setStoreId($storeId);
124
+ }
125
+ $idPath = 'category/' . $category->getId();
126
+ $rewrite->loadByIdPath($idPath);
127
+ if ($rewrite->getId()) {
128
+ return $rewrite->getRequestPath();
129
+ }
130
+ return false;
131
+ }
132
+
133
+ /**
134
+ * Retrieve Url instance
135
+ *
136
+ * @return Mage_Core_Model_Url
137
+ */
138
+ public function getUrlInstance()
139
+ {
140
+ if (null === $this->_url) {
141
+ $this->_url = $this->_factory->getModel('core/url');
142
+ }
143
+ return $this->_url;
144
+ }
145
+
146
+ /**
147
+ * Retrieve Url rewrite instance
148
+ *
149
+ * @return Mage_Core_Model_Url_Rewrite
150
+ */
151
+ public function getUrlRewrite()
152
+ {
153
+ if (null === $this->_urlRewrite) {
154
+ $this->_urlRewrite = $this->_factory->getUrlRewriteInstance();
155
+ }
156
+ return $this->_urlRewrite;
157
+ }
158
+ }
app/code/core/Mage/Catalog/Model/Config.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Convert.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Convert/Adapter/Catalog.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Convert/Adapter/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -482,7 +482,7 @@ class Mage_Catalog_Model_Convert_Adapter_Product
482
 
483
  $stockItems = Mage::registry('current_imported_inventory');
484
  if ($collections) foreach ($collections as $storeId=>$collection) {
485
- $this->addException(Mage::helper('catalog')->__('Records for "'.$stores[$storeId].'" store found.'));
486
 
487
  if (!$collection instanceof Mage_Catalog_Model_Entity_Product_Collection) {
488
  $this->addException(
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
482
 
483
  $stockItems = Mage::registry('current_imported_inventory');
484
  if ($collections) foreach ($collections as $storeId=>$collection) {
485
+ $this->addException(Mage::helper('catalog')->__('Records for "%s" store found.', $stores[$storeId]));
486
 
487
  if (!$collection instanceof Mage_Catalog_Model_Entity_Product_Collection) {
488
  $this->addException(
app/code/core/Mage/Catalog/Model/Convert/Parser/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Design.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -61,7 +61,8 @@ class Mage_Catalog_Model_Design extends Mage_Core_Model_Abstract
61
  return $this;
62
  }
63
 
64
- if (Mage::helper('catalog/category_flat')->isEnabled()) {
 
65
  $this->_applyDesign($object, $calledFrom);
66
  } else {
67
  $this->_inheritDesign($object, $calledFrom);
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
61
  return $this;
62
  }
63
 
64
+ // If Flat Data enabled then use it but only on frontend
65
+ if (Mage::helper('catalog/category_flat')->isAvailable() && !Mage::app()->getStore()->isAdmin()) {
66
  $this->_applyDesign($object, $calledFrom);
67
  } else {
68
  $this->_inheritDesign($object, $calledFrom);
app/code/core/Mage/Catalog/Model/Entity/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Entity/Product/Attribute/Design/Options/Container.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Entity/Product/Attribute/Frontend/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Factory.php ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 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
+ /**
29
+ * Catalog factory
30
+ *
31
+ * @category Mage
32
+ * @package Mage_Catalog
33
+ * @author Magento Core Team <core@magentocommerce.com>
34
+ */
35
+ class Mage_Catalog_Model_Factory extends Mage_Core_Model_Factory
36
+ {
37
+ /**
38
+ * Xml path to the category url rewrite helper class alias
39
+ */
40
+ const XML_PATH_CATEGORY_URL_REWRITE_HELPER_CLASS = 'global/catalog/category/url_rewrite/helper';
41
+
42
+ /**
43
+ * Xml path to the product url rewrite helper class alias
44
+ */
45
+ const XML_PATH_PRODUCT_URL_REWRITE_HELPER_CLASS = 'global/catalog/product/url_rewrite/helper';
46
+
47
+ /**
48
+ * Path to product_url model alias
49
+ */
50
+ const XML_PATH_PRODUCT_URL_MODEL = 'global/catalog/product/url/model';
51
+
52
+ /**
53
+ * Path to category_url model alias
54
+ */
55
+ const XML_PATH_CATEGORY_URL_MODEL = 'global/catalog/category/url/model';
56
+
57
+ /**
58
+ * Returns category url rewrite helper instance
59
+ *
60
+ * @return Mage_Catalog_Helper_Category_Url_Rewrite_Interface
61
+ */
62
+ public function getCategoryUrlRewriteHelper()
63
+ {
64
+ return $this->getHelper(
65
+ (string)$this->_config->getNode(self::XML_PATH_CATEGORY_URL_REWRITE_HELPER_CLASS)
66
+ );
67
+ }
68
+
69
+ /**
70
+ * Returns product url rewrite helper instance
71
+ *
72
+ * @return Mage_Catalog_Helper_Product_Url_Rewrite_Interface
73
+ */
74
+ public function getProductUrlRewriteHelper()
75
+ {
76
+ return $this->getHelper(
77
+ (string)$this->_config->getNode(self::XML_PATH_PRODUCT_URL_REWRITE_HELPER_CLASS)
78
+ );
79
+ }
80
+
81
+ /**
82
+ * Retrieve product_url instance
83
+ *
84
+ * @return Mage_Catalog_Model_Product_Url
85
+ */
86
+ public function getProductUrlInstance()
87
+ {
88
+ return $this->getModel(
89
+ (string)$this->_config->getNode(self::XML_PATH_PRODUCT_URL_MODEL)
90
+ );
91
+ }
92
+
93
+ /**
94
+ * Retrieve category_url instance
95
+ *
96
+ * @return Mage_Catalog_Model_Category_Url
97
+ */
98
+ public function getCategoryUrlInstance()
99
+ {
100
+ return $this->getModel(
101
+ (string)$this->_config->getNode(self::XML_PATH_CATEGORY_URL_MODEL)
102
+ );
103
+ }
104
+ }
app/code/core/Mage/Catalog/Model/Index.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Indexer/Url.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Layer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Layer/Filter/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Layer/Filter/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Layer/Filter/Category.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -169,7 +169,7 @@ class Mage_Catalog_Model_Layer_Filter_Category extends Mage_Catalog_Model_Layer_
169
  foreach ($categories as $category) {
170
  if ($category->getIsActive() && $category->getProductCount()) {
171
  $data[] = array(
172
- 'label' => Mage::helper('core')->htmlEscape($category->getName()),
173
  'value' => $category->getId(),
174
  'count' => $category->getProductCount(),
175
  );
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
169
  foreach ($categories as $category) {
170
  if ($category->getIsActive() && $category->getProductCount()) {
171
  $data[] = array(
172
+ 'label' => Mage::helper('core')->escapeHtml($category->getName()),
173
  'value' => $category->getId(),
174
  'count' => $category->getProductCount(),
175
  );
app/code/core/Mage/Catalog/Model/Layer/Filter/Decimal.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Layer/Filter/Item.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Layer/Filter/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Layer/Filter/Price/Algorithm.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Layer/State.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -42,24 +42,13 @@ class Mage_Catalog_Model_Observer
42
  */
43
  public function storeEdit(Varien_Event_Observer $observer)
44
  {
 
45
  $store = $observer->getEvent()->getStore();
46
- /* @var $store Mage_Core_Model_Store */
47
  if ($store->dataHasChangedFor('group_id')) {
48
  Mage::app()->reinitStores();
49
- /**
50
- * @see Mage_Catalog_Model_Indexer_Url
51
- */
52
- //Mage::getModel('catalog/url')->refreshRewrites($store->getId());
53
-
54
- /**
55
- * @see Mage_Catalog_Model_Category_Indexer_Product
56
- */
57
- /*Mage::getResourceModel('catalog/category')->refreshProductIndex(
58
- array(),
59
- array(),
60
- array($store->getId())
61
- );*/
62
- if (Mage::helper('catalog/category_flat')->isEnabled(true)) {
63
  Mage::getResourceModel('catalog/category_flat')->synchronize(null, array($store->getId()));
64
  }
65
  Mage::getResourceSingleton('catalog/product')->refreshEnabledIndex($store);
@@ -75,26 +64,14 @@ class Mage_Catalog_Model_Observer
75
  */
76
  public function storeAdd(Varien_Event_Observer $observer)
77
  {
78
- $store = $observer->getEvent()->getStore();
79
  /* @var $store Mage_Core_Model_Store */
 
80
  Mage::app()->reinitStores();
81
  Mage::getConfig()->reinit();
82
-
83
- /**
84
- * @see Mage_Catalog_Model_Indexer_Url
85
- */
86
- //Mage::getModel('catalog/url')->refreshRewrites($store->getId());
87
- /**
88
- * @see Mage_Catalog_Model_Category_Indexer_Product
89
- */
90
- /*Mage::getResourceSingleton('catalog/category')->refreshProductIndex(
91
- array(),
92
- array(),
93
- array($store->getId())
94
- );*/
95
- if (Mage::helper('catalog/category_flat')->isEnabled(true)) {
96
- Mage::getResourceModel('catalog/category_flat')
97
- ->synchronize(null, array($store->getId()));
98
  }
99
  Mage::getResourceModel('catalog/product')->refreshEnabledIndex($store);
100
  return $this;
@@ -108,26 +85,15 @@ class Mage_Catalog_Model_Observer
108
  */
109
  public function storeGroupSave(Varien_Event_Observer $observer)
110
  {
111
- $group = $observer->getEvent()->getGroup();
112
  /* @var $group Mage_Core_Model_Store_Group */
 
113
  if ($group->dataHasChangedFor('root_category_id') || $group->dataHasChangedFor('website_id')) {
114
  Mage::app()->reinitStores();
115
  foreach ($group->getStores() as $store) {
116
- /**
117
- * @see Mage_Catalog_Model_Indexer_Url
118
- */
119
- //Mage::getModel('catalog/url')->refreshRewrites($store->getId());
120
- /**
121
- * @see Mage_Catalog_Model_Category_Indexer_Product
122
- */
123
- /*Mage::getResourceSingleton('catalog/category')->refreshProductIndex(
124
- array(),
125
- array(),
126
- array($store->getId())
127
- );*/
128
- if (Mage::helper('catalog/category_flat')->isEnabled(true)) {
129
- Mage::getResourceModel('catalog/category_flat')
130
- ->synchronize(null, array($store->getId()));
131
  }
132
  }
133
  }
@@ -142,7 +108,9 @@ class Mage_Catalog_Model_Observer
142
  */
143
  public function storeDelete(Varien_Event_Observer $observer)
144
  {
145
- if (Mage::helper('catalog/category_flat')->isEnabled(true)) {
 
 
146
  $store = $observer->getEvent()->getStore();
147
  Mage::getResourceModel('catalog/category_flat')->deleteStores($store->getId());
148
  }
@@ -160,21 +128,10 @@ class Mage_Catalog_Model_Observer
160
  $categoryId = $observer->getEvent()->getCategoryId();
161
  $prevParentId = $observer->getEvent()->getPrevParentId();
162
  $parentId = $observer->getEvent()->getParentId();
163
- /**
164
- * @see Mage_Catalog_Model_Indexer_Url
165
- */
166
- //Mage::getModel('catalog/url')->refreshCategoryRewrite($categoryId);
167
- /**
168
- * @see Mage_Catalog_Model_Category_Indexer_Product
169
- */
170
- /*Mage::getResourceSingleton('catalog/category')->refreshProductIndex(array(
171
- $categoryId, $prevParentId, $parentId
172
- ));*/
173
- //Mage::getModel('catalog/category')->load($prevParentId)->save();
174
- //Mage::getModel('catalog/category')->load($parentId)->save();
175
- if (Mage::helper('catalog/category_flat')->isEnabled(true)) {
176
- Mage::getResourceModel('catalog/category_flat')
177
- ->move($categoryId, $prevParentId, $parentId);
178
  }
179
  return $this;
180
  }
@@ -212,7 +169,9 @@ class Mage_Catalog_Model_Observer
212
  */
213
  public function categorySaveAfter(Varien_Event_Observer $observer)
214
  {
215
- if (Mage::helper('catalog/category_flat')->isEnabled(true)) {
 
 
216
  $category = $observer->getEvent()->getCategory();
217
  Mage::getResourceModel('catalog/category_flat')->synchronize($category);
218
  }
@@ -252,7 +211,11 @@ class Mage_Catalog_Model_Observer
252
  */
253
  public function addCatalogToTopmenuItems(Varien_Event_Observer $observer)
254
  {
255
- $this->_addCategoriesToMenu(Mage::helper('catalog/category')->getStoreCategories(), $observer->getMenu());
 
 
 
 
256
  }
257
 
258
  /**
@@ -260,9 +223,12 @@ class Mage_Catalog_Model_Observer
260
  *
261
  * @param Varien_Data_Tree_Node_Collection|array $categories
262
  * @param Varien_Data_Tree_Node $parentCategoryNode
 
 
263
  */
264
- protected function _addCategoriesToMenu($categories, $parentCategoryNode)
265
  {
 
266
  foreach ($categories as $category) {
267
  if (!$category->getIsActive()) {
268
  continue;
@@ -270,6 +236,11 @@ class Mage_Catalog_Model_Observer
270
 
271
  $nodeId = 'category-node-' . $category->getId();
272
 
 
 
 
 
 
273
  $tree = $parentCategoryNode->getTree();
274
  $categoryData = array(
275
  'name' => $category->getName(),
@@ -280,13 +251,14 @@ class Mage_Catalog_Model_Observer
280
  $categoryNode = new Varien_Data_Tree_Node($categoryData, 'id', $tree, $parentCategoryNode);
281
  $parentCategoryNode->addChild($categoryNode);
282
 
283
- if (Mage::helper('catalog/category_flat')->isEnabled()) {
 
284
  $subcategories = (array)$category->getChildrenNodes();
285
  } else {
286
  $subcategories = $category->getChildren();
287
  }
288
 
289
- $this->_addCategoriesToMenu($subcategories, $categoryNode);
290
  }
291
  }
292
 
@@ -311,4 +283,26 @@ class Mage_Catalog_Model_Observer
311
  $categoryPathIds = explode(',', $currentCategory->getPathInStore());
312
  return in_array($category->getId(), $categoryPathIds);
313
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
314
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
42
  */
43
  public function storeEdit(Varien_Event_Observer $observer)
44
  {
45
+ /** @var $store Mage_Core_Model_Store */
46
  $store = $observer->getEvent()->getStore();
 
47
  if ($store->dataHasChangedFor('group_id')) {
48
  Mage::app()->reinitStores();
49
+ /** @var $categoryFlatHelper Mage_Catalog_Helper_Category_Flat */
50
+ $categoryFlatHelper = Mage::helper('catalog/category_flat');
51
+ if ($categoryFlatHelper->isAvailable() && $categoryFlatHelper->isBuilt()) {
 
 
 
 
 
 
 
 
 
 
 
52
  Mage::getResourceModel('catalog/category_flat')->synchronize(null, array($store->getId()));
53
  }
54
  Mage::getResourceSingleton('catalog/product')->refreshEnabledIndex($store);
64
  */
65
  public function storeAdd(Varien_Event_Observer $observer)
66
  {
 
67
  /* @var $store Mage_Core_Model_Store */
68
+ $store = $observer->getEvent()->getStore();
69
  Mage::app()->reinitStores();
70
  Mage::getConfig()->reinit();
71
+ /** @var $categoryFlatHelper Mage_Catalog_Helper_Category_Flat */
72
+ $categoryFlatHelper = Mage::helper('catalog/category_flat');
73
+ if ($categoryFlatHelper->isAvailable() && $categoryFlatHelper->isBuilt()) {
74
+ Mage::getResourceModel('catalog/category_flat')->synchronize(null, array($store->getId()));
 
 
 
 
 
 
 
 
 
 
 
 
75
  }
76
  Mage::getResourceModel('catalog/product')->refreshEnabledIndex($store);
77
  return $this;
85
  */
86
  public function storeGroupSave(Varien_Event_Observer $observer)
87
  {
 
88
  /* @var $group Mage_Core_Model_Store_Group */
89
+ $group = $observer->getEvent()->getGroup();
90
  if ($group->dataHasChangedFor('root_category_id') || $group->dataHasChangedFor('website_id')) {
91
  Mage::app()->reinitStores();
92
  foreach ($group->getStores() as $store) {
93
+ /** @var $categoryFlatHelper Mage_Catalog_Helper_Category_Flat */
94
+ $categoryFlatHelper = Mage::helper('catalog/category_flat');
95
+ if ($categoryFlatHelper->isAvailable() && $categoryFlatHelper->isBuilt()) {
96
+ Mage::getResourceModel('catalog/category_flat')->synchronize(null, array($store->getId()));
 
 
 
 
 
 
 
 
 
 
 
97
  }
98
  }
99
  }
108
  */
109
  public function storeDelete(Varien_Event_Observer $observer)
110
  {
111
+ /** @var $categoryFlatHelper Mage_Catalog_Helper_Category_Flat */
112
+ $categoryFlatHelper = Mage::helper('catalog/category_flat');
113
+ if ($categoryFlatHelper->isAvailable() && $categoryFlatHelper->isBuilt()) {
114
  $store = $observer->getEvent()->getStore();
115
  Mage::getResourceModel('catalog/category_flat')->deleteStores($store->getId());
116
  }
128
  $categoryId = $observer->getEvent()->getCategoryId();
129
  $prevParentId = $observer->getEvent()->getPrevParentId();
130
  $parentId = $observer->getEvent()->getParentId();
131
+ /** @var $categoryFlatHelper Mage_Catalog_Helper_Category_Flat */
132
+ $categoryFlatHelper = Mage::helper('catalog/category_flat');
133
+ if ($categoryFlatHelper->isAvailable() && $categoryFlatHelper->isBuilt()) {
134
+ Mage::getResourceModel('catalog/category_flat')->move($categoryId, $prevParentId, $parentId);
 
 
 
 
 
 
 
 
 
 
 
135
  }
136
  return $this;
137
  }
169
  */
170
  public function categorySaveAfter(Varien_Event_Observer $observer)
171
  {
172
+ /** @var $categoryFlatHelper Mage_Catalog_Helper_Category_Flat */
173
+ $categoryFlatHelper = Mage::helper('catalog/category_flat');
174
+ if ($categoryFlatHelper->isAvailable() && $categoryFlatHelper->isBuilt()) {
175
  $category = $observer->getEvent()->getCategory();
176
  Mage::getResourceModel('catalog/category_flat')->synchronize($category);
177
  }
211
  */
212
  public function addCatalogToTopmenuItems(Varien_Event_Observer $observer)
213
  {
214
+ $block = $observer->getEvent()->getBlock();
215
+ $block->addCacheTag(Mage_Catalog_Model_Category::CACHE_TAG);
216
+ $this->_addCategoriesToMenu(
217
+ Mage::helper('catalog/category')->getStoreCategories(), $observer->getMenu(), $block, true
218
+ );
219
  }
220
 
221
  /**
223
  *
224
  * @param Varien_Data_Tree_Node_Collection|array $categories
225
  * @param Varien_Data_Tree_Node $parentCategoryNode
226
+ * @param Mage_Page_Block_Html_Topmenu $menuBlock
227
+ * @param bool $addTags
228
  */
229
+ protected function _addCategoriesToMenu($categories, $parentCategoryNode, $menuBlock, $addTags = false)
230
  {
231
+ $categoryModel = Mage::getModel('catalog/category');
232
  foreach ($categories as $category) {
233
  if (!$category->getIsActive()) {
234
  continue;
236
 
237
  $nodeId = 'category-node-' . $category->getId();
238
 
239
+ $categoryModel->setId($category->getId());
240
+ if ($addTags) {
241
+ $menuBlock->addModelTags($categoryModel);
242
+ }
243
+
244
  $tree = $parentCategoryNode->getTree();
245
  $categoryData = array(
246
  'name' => $category->getName(),
251
  $categoryNode = new Varien_Data_Tree_Node($categoryData, 'id', $tree, $parentCategoryNode);
252
  $parentCategoryNode->addChild($categoryNode);
253
 
254
+ $flatHelper = Mage::helper('catalog/category_flat');
255
+ if ($flatHelper->isEnabled() && $flatHelper->isBuilt(true)) {
256
  $subcategories = (array)$category->getChildrenNodes();
257
  } else {
258
  $subcategories = $category->getChildren();
259
  }
260
 
261
+ $this->_addCategoriesToMenu($subcategories, $categoryNode, $menuBlock, $addTags);
262
  }
263
  }
264
 
283
  $categoryPathIds = explode(',', $currentCategory->getPathInStore());
284
  return in_array($category->getId(), $categoryPathIds);
285
  }
286
+
287
+ /**
288
+ * Checks whether attribute_code by current module is reserved
289
+ *
290
+ * @param Varien_Event_Observer $observer
291
+ * @throws Mage_Core_Exception
292
+ */
293
+ public function checkReservedAttributeCodes(Varien_Event_Observer $observer)
294
+ {
295
+ /** @var $attribute Mage_Catalog_Model_Entity_Attribute */
296
+ $attribute = $observer->getEvent()->getAttribute();
297
+ if (!is_object($attribute)) {
298
+ return;
299
+ }
300
+ /** @var $product Mage_Catalog_Model_Product */
301
+ $product = Mage::getModel('catalog/product');
302
+ if ($product->isReservedAttribute($attribute)) {
303
+ throw new Mage_Core_Exception(
304
+ Mage::helper('catalog')->__('The attribute code \'%s\' is reserved by system. Please try another attribute code', $attribute->getAttributeCode())
305
+ );
306
+ }
307
+ }
308
  }
app/code/core/Mage/Catalog/Model/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -28,10 +28,11 @@
28
  * Catalog product model
29
  *
30
  * @method Mage_Catalog_Model_Resource_Product getResource()
31
- * @method Mage_Catalog_Model_Resource_Product _getResource()
 
32
  *
33
- * @category Mage
34
- * @package Mage_Catalog
35
  * @author Magento Core Team <core@magentocommerce.com>
36
  */
37
  class Mage_Catalog_Model_Product extends Mage_Catalog_Model_Abstract
@@ -165,7 +166,7 @@ class Mage_Catalog_Model_Product extends Mage_Catalog_Model_Abstract
165
  public function getUrlModel()
166
  {
167
  if ($this->_urlModel === null) {
168
- $this->_urlModel = Mage::getSingleton('catalog/product_url');
169
  }
170
  return $this->_urlModel;
171
  }
@@ -1325,7 +1326,7 @@ class Mage_Catalog_Model_Product extends Mage_Catalog_Model_Abstract
1325
  public function getIsSalable()
1326
  {
1327
  $productType = $this->getTypeInstance(true);
1328
- if (is_callable(array($productType, 'getIsSalable'))) {
1329
  return $productType->getIsSalable($this);
1330
  }
1331
  if ($this->hasData('is_salable')) {
@@ -1534,6 +1535,9 @@ class Mage_Catalog_Model_Product extends Mage_Catalog_Model_Abstract
1534
  */
1535
  public function getRequestPath()
1536
  {
 
 
 
1537
  return $this->_getData('request_path');
1538
  }
1539
 
@@ -1914,7 +1918,7 @@ class Mage_Catalog_Model_Product extends Mage_Catalog_Model_Abstract
1914
  $products = $this->_getResource()->getProductsSku($productIds);
1915
  if (count($products)) {
1916
  foreach ($products as $product) {
1917
- if (empty($product['sku'])) {
1918
  return false;
1919
  }
1920
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
28
  * Catalog product model
29
  *
30
  * @method Mage_Catalog_Model_Resource_Product getResource()
31
+ * @method Mage_Catalog_Model_Product setHasError(bool $value)
32
+ * @method null|bool getHasError()
33
  *
34
+ * @category Mage
35
+ * @package Mage_Catalog
36
  * @author Magento Core Team <core@magentocommerce.com>
37
  */
38
  class Mage_Catalog_Model_Product extends Mage_Catalog_Model_Abstract
166
  public function getUrlModel()
167
  {
168
  if ($this->_urlModel === null) {
169
+ $this->_urlModel = Mage::getSingleton('catalog/factory')->getProductUrlInstance();
170
  }
171
  return $this->_urlModel;
172
  }
1326
  public function getIsSalable()
1327
  {
1328
  $productType = $this->getTypeInstance(true);
1329
+ if (method_exists($productType, 'getIsSalable')) {
1330
  return $productType->getIsSalable($this);
1331
  }
1332
  if ($this->hasData('is_salable')) {
1535
  */
1536
  public function getRequestPath()
1537
  {
1538
+ if (!$this->_getData('request_path')) {
1539
+ $this->getProductUrl();
1540
+ }
1541
  return $this->_getData('request_path');
1542
  }
1543
 
1918
  $products = $this->_getResource()->getProductsSku($productIds);
1919
  if (count($products)) {
1920
  foreach ($products as $product) {
1921
+ if (!strlen($product['sku'])) {
1922
  return false;
1923
  }
1924
  }
app/code/core/Mage/Catalog/Model/Product/Action.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Api.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -123,13 +123,18 @@ class Mage_Catalog_Model_Product_Api extends Mage_Catalog_Model_Api_Resource
123
  *
124
  * @param int|string $productId
125
  * @param string|int $store
126
- * @param array $attributes
 
127
  * @return array
128
  */
129
  public function info($productId, $store = null, $attributes = null, $identifierType = null)
130
  {
131
- $product = $this->_getProduct($productId, $store, $identifierType);
 
 
 
132
 
 
133
 
134
  $result = array( // Basic product data
135
  'product_id' => $product->getId(),
@@ -352,7 +357,15 @@ class Mage_Catalog_Model_Product_Api extends Mage_Catalog_Model_Api_Resource
352
  */
353
  public function getSpecialPrice($productId, $store = null)
354
  {
355
- return $this->info($productId, $store, array('special_price', 'special_from_date', 'special_to_date'));
 
 
 
 
 
 
 
 
356
  }
357
 
358
  /**
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
123
  *
124
  * @param int|string $productId
125
  * @param string|int $store
126
+ * @param array $attributes
127
+ * @param string $identifierType
128
  * @return array
129
  */
130
  public function info($productId, $store = null, $attributes = null, $identifierType = null)
131
  {
132
+ // make sku flag case-insensitive
133
+ if (!empty($identifierType)) {
134
+ $identifierType = strtolower($identifierType);
135
+ }
136
 
137
+ $product = $this->_getProduct($productId, $store, $identifierType);
138
 
139
  $result = array( // Basic product data
140
  'product_id' => $product->getId(),
357
  */
358
  public function getSpecialPrice($productId, $store = null)
359
  {
360
+ $product = $this->_getProduct($productId, $store);
361
+
362
+ $result = array(
363
+ 'special_price' => $product->getSpecialPrice(),
364
+ 'special_from_date' => $product->getSpecialFromDate(),
365
+ 'special_to_date' => $product->getSpecialToDate()
366
+ );
367
+
368
+ return $result;
369
  }
370
 
371
  /**
app/code/core/Mage/Catalog/Model/Product/Api/V2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -38,11 +38,17 @@ class Mage_Catalog_Model_Product_Api_V2 extends Mage_Catalog_Model_Product_Api
38
  *
39
  * @param int|string $productId
40
  * @param string|int $store
41
- * @param stdClass $attributes
 
42
  * @return array
43
  */
44
  public function info($productId, $store = null, $attributes = null, $identifierType = null)
45
  {
 
 
 
 
 
46
  $product = $this->_getProduct($productId, $store, $identifierType);
47
 
48
  $result = array( // Basic product data
@@ -193,6 +199,41 @@ class Mage_Catalog_Model_Product_Api_V2 extends Mage_Catalog_Model_Product_Api
193
  return true;
194
  }
195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  /**
197
  * Set additional data before product saved
198
  *
@@ -276,7 +317,7 @@ class Mage_Catalog_Model_Product_Api_V2 extends Mage_Catalog_Model_Product_Api
276
  }
277
 
278
  /**
279
- * Update product special price
280
  *
281
  * @param int|string $productId
282
  * @param float $specialPrice
@@ -296,24 +337,4 @@ class Mage_Catalog_Model_Product_Api_V2 extends Mage_Catalog_Model_Product_Api
296
  $obj->special_to_date = $toDate;
297
  return $this->update($productId, $obj, $store, $identifierType);
298
  }
299
-
300
- /**
301
- * Retrieve product special price
302
- *
303
- * @param int|string $productId
304
- * @param string|int $store
305
- * @return array
306
- */
307
- public function getSpecialPrice($productId, $store = null)
308
- {
309
- return $this->info($productId, $store, array(
310
- 'attributes' => array(
311
- 'special_price',
312
- 'special_from_date',
313
- 'special_to_date'
314
- )
315
- )
316
- );
317
- }
318
-
319
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
38
  *
39
  * @param int|string $productId
40
  * @param string|int $store
41
+ * @param stdClass $attributes
42
+ * @param string $identifierType
43
  * @return array
44
  */
45
  public function info($productId, $store = null, $attributes = null, $identifierType = null)
46
  {
47
+ // make sku flag case-insensitive
48
+ if (!empty($identifierType)) {
49
+ $identifierType = strtolower($identifierType);
50
+ }
51
+
52
  $product = $this->_getProduct($productId, $store, $identifierType);
53
 
54
  $result = array( // Basic product data
199
  return true;
200
  }
201
 
202
+ /**
203
+ * Update multiple products information at once
204
+ *
205
+ * @param array $productIds
206
+ * @param array $productData
207
+ * @param string|int $store
208
+ * @param string $identifierType
209
+ * @return boolean
210
+ */
211
+ public function multiUpdate($productIds, $productData, $store = null, $identifierType = null)
212
+ {
213
+ if (count($productIds) != count($productData)) {
214
+ $this->_fault('multi_update_not_match');
215
+ }
216
+
217
+ $productData = (array)$productData;
218
+ $failMessages = array();
219
+
220
+ foreach ($productIds as $index => $productId) {
221
+ try {
222
+ $this->update($productId, $productData[$index], $store, $identifierType);
223
+ } catch (Mage_Api_Exception $e) {
224
+ $failMessages[] = sprintf("Product ID %d:\n %s", $productId, $e->getMessage());
225
+ }
226
+ }
227
+
228
+ if (empty($failMessages)) {
229
+ return true;
230
+ } else {
231
+ $this->_fault('partially_updated', implode("\n", $failMessages));
232
+ }
233
+
234
+ return false;
235
+ }
236
+
237
  /**
238
  * Set additional data before product saved
239
  *
317
  }
318
 
319
  /**
320
+ * Update product special priceim
321
  *
322
  * @param int|string $productId
323
  * @param float $specialPrice
337
  $obj->special_to_date = $toDate;
338
  return $this->update($productId, $obj, $store, $identifierType);
339
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
340
  }
app/code/core/Mage/Catalog/Model/Product/Attribute/Api.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -150,7 +150,7 @@ class Mage_Catalog_Model_Product_Attribute_Api extends Mage_Catalog_Model_Api_Re
150
  /** @var $helper Mage_Catalog_Helper_Product */
151
  $helper = Mage::helper('catalog/product');
152
 
153
- if (empty($data['attribute_code']) || !is_array($data['frontend_label'])) {
154
  $this->_fault('invalid_parameters');
155
  }
156
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
150
  /** @var $helper Mage_Catalog_Helper_Product */
151
  $helper = Mage::helper('catalog/product');
152
 
153
+ if (empty($data['attribute_code']) || (isset($data['frontend_label']) && !is_array($data['frontend_label']))) {
154
  $this->_fault('invalid_parameters');
155
  }
156
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Api/V2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Boolean.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Groupprice.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Groupprice/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Media.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -138,8 +138,12 @@ class Mage_Catalog_Model_Product_Attribute_Backend_Media extends Mage_Eav_Model_
138
  if (!isset($image['value_id'])) {
139
  continue;
140
  }
141
- $duplicate[$image['value_id']] = $this->_copyImage($image['file']);
142
- $newImages[$image['file']] = $duplicate[$image['value_id']];
 
 
 
 
143
  }
144
 
145
  $value['duplicate'] = $duplicate;
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
138
  if (!isset($image['value_id'])) {
139
  continue;
140
  }
141
+ $newFile = $this->_copyImage($image['file']);
142
+ $newImages[$image['file']] = array(
143
+ 'new_file' => $newFile,
144
+ 'label' => $image['label']
145
+ );
146
+ $duplicate[$image['value_id']] = $newFile;
147
  }
148
 
149
  $value['duplicate'] = $duplicate;
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Msrp.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Recurring.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Sku.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Startdate.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -35,21 +35,74 @@
35
 
36
  class Mage_Catalog_Model_Product_Attribute_Backend_Startdate extends Mage_Eav_Model_Entity_Attribute_Backend_Datetime
37
  {
38
- public function beforeSave($object)
 
 
 
 
 
 
39
  {
40
  $attributeName = $this->getAttribute()->getName();
41
  $startDate = $object->getData($attributeName);
42
  if ($startDate === false) {
43
- return $this;
44
  }
45
  if ($startDate == '' && $object->getSpecialPrice()) {
46
  $startDate = Mage::app()->getLocale()->date();
47
  }
48
 
49
- $object->setData($attributeName, $startDate);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
 
 
51
  parent::beforeSave($object);
52
  return $this;
53
  }
54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
35
 
36
  class Mage_Catalog_Model_Product_Attribute_Backend_Startdate extends Mage_Eav_Model_Entity_Attribute_Backend_Datetime
37
  {
38
+ /**
39
+ * Get attribute value for save.
40
+ *
41
+ * @param Varien_Object $object
42
+ * @return string|bool
43
+ */
44
+ protected function _getValueForSave($object)
45
  {
46
  $attributeName = $this->getAttribute()->getName();
47
  $startDate = $object->getData($attributeName);
48
  if ($startDate === false) {
49
+ return false;
50
  }
51
  if ($startDate == '' && $object->getSpecialPrice()) {
52
  $startDate = Mage::app()->getLocale()->date();
53
  }
54
 
55
+ return $startDate;
56
+ }
57
+
58
+ /**
59
+ * Before save hook.
60
+ * Prepare attribute value for save
61
+ *
62
+ * @param Varien_Object $object
63
+ * @return Mage_Catalog_Model_Product_Attribute_Backend_Startdate
64
+ */
65
+ public function beforeSave($object)
66
+ {
67
+ $startDate = $this->_getValueForSave($object);
68
+ if ($startDate === false) {
69
+ return $this;
70
+ }
71
 
72
+ $object->setData($this->getAttribute()->getName(), $startDate);
73
  parent::beforeSave($object);
74
  return $this;
75
  }
76
 
77
+ /**
78
+ * Product from date attribute validate function.
79
+ * In case invalid data throws exception.
80
+ *
81
+ * @param Varien_Object $object
82
+ * @throws Mage_Eav_Model_Entity_Attribute_Exception
83
+ * @return bool
84
+ */
85
+ public function validate($object)
86
+ {
87
+ $attr = $this->getAttribute();
88
+ $maxDate = $attr->getMaxValue();
89
+ $startDate = $this->_getValueForSave($object);
90
+ if ($startDate === false) {
91
+ return true;
92
+ }
93
+
94
+ if ($maxDate) {
95
+ $date = Mage::getModel('core/date');
96
+ $value = $date->timestamp($startDate);
97
+ $maxValue = $date->timestamp($maxDate);
98
+
99
+ if ($value > $maxValue) {
100
+ $message = Mage::helper('catalog')->__('The From Date value should be less than or equal to the To Date value.');
101
+ $eavExc = new Mage_Eav_Model_Entity_Attribute_Exception($message);
102
+ $eavExc->setAttributeCode($attr->getName());
103
+ throw $eavExc;
104
+ }
105
+ }
106
+ return true;
107
+ }
108
  }
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Tierprice.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Urlkey.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -29,38 +29,9 @@
29
  *
30
  * @category Mage
31
  * @package Mage_Catalog
32
- * @author Magento Core Team <core@magentocommerce.com>
33
  */
34
-
35
- class Mage_Catalog_Model_Product_Attribute_Backend_Urlkey extends Mage_Eav_Model_Entity_Attribute_Backend_Abstract
36
  {
37
- public function beforeSave($object)
38
- {
39
- $attributeName = $this->getAttribute()->getName();
40
-
41
- $urlKey = $object->getData($attributeName);
42
- if ($urlKey === false) {
43
- return $this;
44
- }
45
- if ($urlKey == '') {
46
- $urlKey = $object->getName();
47
- }
48
-
49
- $object->setData($attributeName, $object->formatUrlKey($urlKey));
50
-
51
- return $this;
52
- }
53
 
54
- public function afterSave($object)
55
- {
56
- /* @var $object Mage_Catalog_Model_Product */
57
- /**
58
- * Logic moved to Mage_Catalog_Model_Indexer_Url
59
- */
60
- /*if (!$object->getExcludeUrlRewrite() &&
61
- ($object->dataHasChangedFor('url_key') || $object->getIsChangedCategories() || $object->getIsChangedWebsites())) {
62
- Mage::getSingleton('catalog/url')->refreshProductRewrite($object->getId());
63
- }*/
64
- return $this;
65
- }
66
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
29
  *
30
  * @category Mage
31
  * @package Mage_Catalog
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
  */
34
+ class Mage_Catalog_Model_Product_Attribute_Backend_Urlkey extends Mage_Catalog_Model_Attribute_Backend_Urlkey_Abstract
 
35
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  }
app/code/core/Mage/Catalog/Model/Product/Attribute/Frontend/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Group.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Media/Api.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Media/Api/V2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Set/Api.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Set/Api/V2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Boolean.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Countryofmanufacture.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Inputtype.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Layout.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Msrp/Type.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Msrp/Type/Enabled.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Source/Msrp/Type/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Tierprice/Api.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Attribute/Tierprice/Api/V2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Compare/Item.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -43,6 +43,12 @@
43
  */
44
  class Mage_Catalog_Model_Product_Compare_Item extends Mage_Core_Model_Abstract
45
  {
 
 
 
 
 
 
46
 
47
  /**
48
  * Prefix of model events names
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
43
  */
44
  class Mage_Catalog_Model_Product_Compare_Item extends Mage_Core_Model_Abstract
45
  {
46
+ /**
47
+ * Model cache tag
48
+ *
49
+ * @var string
50
+ */
51
+ protected $_cacheTag = 'catalog_compare_item';
52
 
53
  /**
54
  * Prefix of model events names
app/code/core/Mage/Catalog/Model/Product/Compare/List.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Condition.php CHANGED
@@ -20,11 +20,18 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
27
- class Mage_Catalog_Model_Product_Condition extends Varien_Object implements Mage_Catalog_Model_Product_Condition_Interface
 
 
 
 
 
 
 
28
  {
29
  public function applyToCollection($collection)
30
  {
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 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
+ * Class Mage_Catalog_Model_Product_Condition
29
+ *
30
+ * @method Mage_Catalog_Model_Product_Condition setTable(string $tableName)
31
+ * @method Mage_Catalog_Model_Product_Condition setPkFieldName(string $fieldName)
32
+ */
33
+ class Mage_Catalog_Model_Product_Condition extends Varien_Object
34
+ implements Mage_Catalog_Model_Product_Condition_Interface
35
  {
36
  public function applyToCollection($collection)
37
  {
app/code/core/Mage/Catalog/Model/Product/Condition/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Configuration/Item/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Configuration/Item/Option.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Configuration/Item/Option/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Flat/Flag.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -46,7 +46,8 @@ class Mage_Catalog_Model_Product_Flat_Flag extends Mage_Core_Model_Flag
46
  *
47
  * @return array
48
  */
49
- public function getFlagData() {
 
50
  $flagData = parent::getFlagData();
51
  if (!is_array($flagData)) {
52
  $flagData = array();
@@ -56,11 +57,45 @@ class Mage_Catalog_Model_Product_Flat_Flag extends Mage_Core_Model_Flag
56
  }
57
 
58
  /**
59
- * Retrieve Catalog Product Flat is built flag
60
  *
 
61
  * @return bool
62
  */
63
- public function getIsBuilt() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  $flagData = $this->getFlagData();
65
  if (!isset($flagData['is_built'])) {
66
  $flagData['is_built'] = false;
@@ -70,15 +105,32 @@ class Mage_Catalog_Model_Product_Flat_Flag extends Mage_Core_Model_Flag
70
  }
71
 
72
  /**
73
- * Set Catalog Product Flat is built flag
74
  *
75
  * @param bool $flag
 
76
  * @return Mage_Catalog_Model_Product_Flat_Flag
77
  */
78
- public function setIsBuild($flag) {
 
79
  $flagData = $this->getFlagData();
80
  $flagData['is_built'] = (bool)$flag;
81
  $this->setFlagData($flagData);
82
  return $this;
83
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
46
  *
47
  * @return array
48
  */
49
+ public function getFlagData()
50
+ {
51
  $flagData = parent::getFlagData();
52
  if (!is_array($flagData)) {
53
  $flagData = array();
57
  }
58
 
59
  /**
60
+ * Returns true if store's flat index has been built.
61
  *
62
+ * @param int $storeId
63
  * @return bool
64
  */
65
+ public function isStoreBuilt($storeId)
66
+ {
67
+ $key = 'is_store_built_' . (int)$storeId;
68
+ $flagData = $this->getFlagData();
69
+ if (!isset($flagData[$key])) {
70
+ $flagData[$key] = false;
71
+ $this->setFlagData($flagData);
72
+ }
73
+ return (bool)$flagData[$key];
74
+ }
75
+
76
+ /**
77
+ * Defines whether flat index for specific store has been built.
78
+ *
79
+ * @param int $storeId
80
+ * @param bool $built
81
+ * @return Mage_Catalog_Model_Product_Flat_Flag
82
+ */
83
+ public function setStoreBuilt($storeId, $built)
84
+ {
85
+ $key = 'is_store_built_' . (int)$storeId;
86
+ $flagData = $this->getFlagData();
87
+ $flagData[$key] = (bool)$built;
88
+ $this->setFlagData($flagData);
89
+ return $this;
90
+ }
91
+
92
+ /**
93
+ * Retrieve Catalog Product Flat Data is built flag
94
+ *
95
+ * @return bool
96
+ */
97
+ public function getIsBuilt()
98
+ {
99
  $flagData = $this->getFlagData();
100
  if (!isset($flagData['is_built'])) {
101
  $flagData['is_built'] = false;
105
  }
106
 
107
  /**
108
+ * Set Catalog Product Flat Data is built flag
109
  *
110
  * @param bool $flag
111
+ *
112
  * @return Mage_Catalog_Model_Product_Flat_Flag
113
  */
114
+ public function setIsBuilt($flag)
115
+ {
116
  $flagData = $this->getFlagData();
117
  $flagData['is_built'] = (bool)$flag;
118
  $this->setFlagData($flagData);
119
  return $this;
120
  }
121
+
122
+ /**
123
+ * Set Catalog Product Flat Data is built flag
124
+ *
125
+ * @deprecated after 1.7.0.0 use Mage_Catalog_Model_Product_Flat_Flag::setIsBuilt() instead
126
+ *
127
+ * @param bool $flag
128
+ *
129
+ * @return Mage_Catalog_Model_Product_Flat_Flag
130
+ */
131
+ public function setIsBuild($flag)
132
+ {
133
+ $this->setIsBuilt($flag);
134
+ return $this;
135
+ }
136
  }
app/code/core/Mage/Catalog/Model/Product/Flat/Indexer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Flat/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -61,7 +61,7 @@ class Mage_Catalog_Model_Product_Flat_Observer
61
  */
62
  public function catalogEntityAttributeSaveAfter(Varien_Event_Observer $observer)
63
  {
64
- if (!$this->_getHelper()->isBuilt()) {
65
  return $this;
66
  }
67
 
@@ -100,7 +100,7 @@ class Mage_Catalog_Model_Product_Flat_Observer
100
  */
101
  public function catalogProductStatusUpdate(Varien_Event_Observer $observer)
102
  {
103
- if (!$this->_getHelper()->isBuilt()) {
104
  return $this;
105
  }
106
 
@@ -122,7 +122,7 @@ class Mage_Catalog_Model_Product_Flat_Observer
122
  */
123
  public function catalogProductWebsiteUpdate(Varien_Event_Observer $observer)
124
  {
125
- if (!$this->_getHelper()->isBuilt()) {
126
  return $this;
127
  }
128
 
@@ -151,7 +151,7 @@ class Mage_Catalog_Model_Product_Flat_Observer
151
  * @return Mage_Catalog_Model_Product_Flat_Observer
152
  */
153
  public function catalogProductSaveAfter(Varien_Event_Observer $observer) {
154
- if (!$this->_getHelper()->isBuilt()) {
155
  return $this;
156
  }
157
 
@@ -171,7 +171,7 @@ class Mage_Catalog_Model_Product_Flat_Observer
171
  */
172
  public function storeAdd(Varien_Event_Observer $observer)
173
  {
174
- if (!$this->_getHelper()->isBuilt()) {
175
  return $this;
176
  }
177
 
@@ -190,7 +190,7 @@ class Mage_Catalog_Model_Product_Flat_Observer
190
  */
191
  public function storeEdit(Varien_Event_Observer $observer)
192
  {
193
- if (!$this->_getHelper()->isBuilt()) {
194
  return $this;
195
  }
196
 
@@ -211,7 +211,7 @@ class Mage_Catalog_Model_Product_Flat_Observer
211
  */
212
  public function storeDelete(Varien_Event_Observer $observer)
213
  {
214
- if (!$this->_getHelper()->isBuilt()) {
215
  return $this;
216
  }
217
 
@@ -231,7 +231,7 @@ class Mage_Catalog_Model_Product_Flat_Observer
231
  */
232
  public function storeGroupSave(Varien_Event_Observer $observer)
233
  {
234
- if (!$this->_getHelper()->isBuilt()) {
235
  return $this;
236
  }
237
 
@@ -256,7 +256,7 @@ class Mage_Catalog_Model_Product_Flat_Observer
256
  */
257
  public function catalogProductImportAfter(Varien_Event_Observer $observer)
258
  {
259
- if (!$this->_getHelper()->isBuilt()) {
260
  return $this;
261
  }
262
 
@@ -273,7 +273,7 @@ class Mage_Catalog_Model_Product_Flat_Observer
273
  */
274
  public function customerGroupSaveAfter(Varien_Event_Observer $observer)
275
  {
276
- if (!$this->_getHelper()->isBuilt()) {
277
  return $this;
278
  }
279
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
61
  */
62
  public function catalogEntityAttributeSaveAfter(Varien_Event_Observer $observer)
63
  {
64
+ if (!$this->_getHelper()->isAvailable() || !$this->_getHelper()->isBuilt()) {
65
  return $this;
66
  }
67
 
100
  */
101
  public function catalogProductStatusUpdate(Varien_Event_Observer $observer)
102
  {
103
+ if (!$this->_getHelper()->isAvailable() || !$this->_getHelper()->isBuilt()) {
104
  return $this;
105
  }
106
 
122
  */
123
  public function catalogProductWebsiteUpdate(Varien_Event_Observer $observer)
124
  {
125
+ if (!$this->_getHelper()->isAvailable() || !$this->_getHelper()->isBuilt()) {
126
  return $this;
127
  }
128
 
151
  * @return Mage_Catalog_Model_Product_Flat_Observer
152
  */
153
  public function catalogProductSaveAfter(Varien_Event_Observer $observer) {
154
+ if (!$this->_getHelper()->isAvailable() || !$this->_getHelper()->isBuilt()) {
155
  return $this;
156
  }
157
 
171
  */
172
  public function storeAdd(Varien_Event_Observer $observer)
173
  {
174
+ if (!$this->_getHelper()->isAvailable() || !$this->_getHelper()->isBuilt()) {
175
  return $this;
176
  }
177
 
190
  */
191
  public function storeEdit(Varien_Event_Observer $observer)
192
  {
193
+ if (!$this->_getHelper()->isAvailable() || !$this->_getHelper()->isBuilt()) {
194
  return $this;
195
  }
196
 
211
  */
212
  public function storeDelete(Varien_Event_Observer $observer)
213
  {
214
+ if (!$this->_getHelper()->isAvailable() || !$this->_getHelper()->isBuilt()) {
215
  return $this;
216
  }
217
 
231
  */
232
  public function storeGroupSave(Varien_Event_Observer $observer)
233
  {
234
+ if (!$this->_getHelper()->isAvailable() || !$this->_getHelper()->isBuilt()) {
235
  return $this;
236
  }
237
 
256
  */
257
  public function catalogProductImportAfter(Varien_Event_Observer $observer)
258
  {
259
+ if (!$this->_getHelper()->isAvailable() || !$this->_getHelper()->isBuilt()) {
260
  return $this;
261
  }
262
 
273
  */
274
  public function customerGroupSaveAfter(Varien_Event_Observer $observer)
275
  {
276
+ if (!$this->_getHelper()->isAvailable() || !$this->_getHelper()->isBuilt()) {
277
  return $this;
278
  }
279
 
app/code/core/Mage/Catalog/Model/Product/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Indexer/Eav.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Indexer/Flat.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  class Mage_Catalog_Model_Product_Indexer_Flat extends Mage_Index_Model_Indexer_Abstract
@@ -59,6 +59,18 @@ class Mage_Catalog_Model_Product_Indexer_Flat extends Mage_Index_Model_Indexer_A
59
  ),
60
  );
61
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  /**
63
  * Retrieve Indexer name
64
  *
@@ -99,7 +111,9 @@ class Mage_Catalog_Model_Product_Indexer_Flat extends Mage_Index_Model_Indexer_A
99
  */
100
  public function matchEvent(Mage_Index_Model_Event $event)
101
  {
102
- if (!Mage::helper('catalog/product_flat')->isBuilt()) {
 
 
103
  return false;
104
  }
105
 
@@ -112,7 +126,7 @@ class Mage_Catalog_Model_Product_Indexer_Flat extends Mage_Index_Model_Indexer_A
112
  if ($entity == Mage_Catalog_Model_Resource_Eav_Attribute::ENTITY) {
113
  /* @var $attribute Mage_Catalog_Model_Resource_Eav_Attribute */
114
  $attribute = $event->getDataObject();
115
- $addFilterable = Mage::helper('catalog/product_flat')->isAddFilterableAttributes();
116
 
117
  $enableBefore = $attribute && (($attribute->getOrigData('backend_type') == 'static')
118
  || ($addFilterable && $attribute->getOrigData('is_filterable') > 0)
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  class Mage_Catalog_Model_Product_Indexer_Flat extends Mage_Index_Model_Indexer_Abstract
59
  ),
60
  );
61
 
62
+ /**
63
+ * Whether the indexer should be displayed on process/list page
64
+ *
65
+ * @return bool
66
+ */
67
+ public function isVisible()
68
+ {
69
+ /** @var $productFlatHelper Mage_Catalog_Helper_Product_Flat */
70
+ $productFlatHelper = Mage::helper('catalog/product_flat');
71
+ return $productFlatHelper->isEnabled() || !$productFlatHelper->isBuilt();
72
+ }
73
+
74
  /**
75
  * Retrieve Indexer name
76
  *
111
  */
112
  public function matchEvent(Mage_Index_Model_Event $event)
113
  {
114
+ /** @var $productFlatHelper Mage_Catalog_Helper_Product_Flat */
115
+ $productFlatHelper = Mage::helper('catalog/product_flat');
116
+ if (!$productFlatHelper->isEnabled() || !$productFlatHelper->isBuilt()) {
117
  return false;
118
  }
119
 
126
  if ($entity == Mage_Catalog_Model_Resource_Eav_Attribute::ENTITY) {
127
  /* @var $attribute Mage_Catalog_Model_Resource_Eav_Attribute */
128
  $attribute = $event->getDataObject();
129
+ $addFilterable = $productFlatHelper->isAddFilterableAttributes();
130
 
131
  $enableBefore = $attribute && (($attribute->getOrigData('backend_type') == 'static')
132
  || ($addFilterable && $attribute->getOrigData('is_filterable') > 0)
app/code/core/Mage/Catalog/Model/Product/Indexer/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  /**
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  /**
app/code/core/Mage/Catalog/Model/Product/Link.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Link/Api.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Link/Api/V2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Media/Config.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Option.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -54,30 +54,107 @@
54
  */
55
  class Mage_Catalog_Model_Product_Option extends Mage_Core_Model_Abstract
56
  {
 
 
 
57
  const OPTION_GROUP_TEXT = 'text';
 
 
 
 
58
  const OPTION_GROUP_FILE = 'file';
 
 
 
 
59
  const OPTION_GROUP_SELECT = 'select';
 
 
 
 
60
  const OPTION_GROUP_DATE = 'date';
61
 
 
 
 
62
  const OPTION_TYPE_FIELD = 'field';
 
 
 
 
63
  const OPTION_TYPE_AREA = 'area';
 
 
 
 
64
  const OPTION_TYPE_FILE = 'file';
 
 
 
 
65
  const OPTION_TYPE_DROP_DOWN = 'drop_down';
 
 
 
 
66
  const OPTION_TYPE_RADIO = 'radio';
 
 
 
 
67
  const OPTION_TYPE_CHECKBOX = 'checkbox';
 
 
 
 
68
  const OPTION_TYPE_MULTIPLE = 'multiple';
 
 
 
 
69
  const OPTION_TYPE_DATE = 'date';
 
 
 
 
70
  const OPTION_TYPE_DATE_TIME = 'date_time';
 
 
 
 
71
  const OPTION_TYPE_TIME = 'time';
72
 
 
 
 
 
 
73
  protected $_product;
74
 
 
 
 
 
 
75
  protected $_options = array();
76
 
 
 
 
 
 
77
  protected $_valueInstance;
78
 
 
 
 
 
 
79
  protected $_values = array();
80
 
 
 
 
81
  protected function _construct()
82
  {
83
  $this->_init('catalog/product_option');
@@ -110,6 +187,11 @@ class Mage_Catalog_Model_Product_Option extends Mage_Core_Model_Abstract
110
  return null;
111
  }
112
 
 
 
 
 
 
113
  public function getValues()
114
  {
115
  return $this->_values;
@@ -306,6 +388,11 @@ class Mage_Catalog_Model_Product_Option extends Mage_Core_Model_Abstract
306
  return $this;
307
  }
308
 
 
 
 
 
 
309
  protected function _afterSave()
310
  {
311
  $this->getValueInstance()->unsetValues();
@@ -330,11 +417,11 @@ class Mage_Catalog_Model_Product_Option extends Mage_Core_Model_Abstract
330
  * @param bool $flag
331
  * @return decimal
332
  */
333
- public function getPrice($flag=false)
334
  {
335
  if ($flag && $this->getPriceType() == 'percent') {
336
  $basePrice = $this->getProduct()->getFinalPrice();
337
- $price = $basePrice*($this->_getData('price')/100);
338
  return $price;
339
  }
340
  return $this->_getData('price');
@@ -425,7 +512,8 @@ class Mage_Catalog_Model_Product_Option extends Mage_Core_Model_Abstract
425
  $this->setProductId(null);
426
  $this->setOptionId(null);
427
  $newOption = $this->__toArray();
428
- if ($_values = $this->getValues()) {
 
429
  $newValuesArray = array();
430
  foreach ($_values as $_value) {
431
  $newValuesArray[] = $_value->prepareValueForDuplicate();
@@ -488,4 +576,19 @@ class Mage_Catalog_Model_Product_Option extends Mage_Core_Model_Abstract
488
  }
489
  return $this;
490
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
491
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
54
  */
55
  class Mage_Catalog_Model_Product_Option extends Mage_Core_Model_Abstract
56
  {
57
+ /**
58
+ * Option group text
59
+ */
60
  const OPTION_GROUP_TEXT = 'text';
61
+
62
+ /**
63
+ * Option group file
64
+ */
65
  const OPTION_GROUP_FILE = 'file';
66
+
67
+ /**
68
+ * Option group select
69
+ */
70
  const OPTION_GROUP_SELECT = 'select';
71
+
72
+ /**
73
+ * Option group date
74
+ */
75
  const OPTION_GROUP_DATE = 'date';
76
 
77
+ /**
78
+ * Option type field
79
+ */
80
  const OPTION_TYPE_FIELD = 'field';
81
+
82
+ /**
83
+ * Option type area
84
+ */
85
  const OPTION_TYPE_AREA = 'area';
86
+
87
+ /**
88
+ * Option group file
89
+ */
90
  const OPTION_TYPE_FILE = 'file';
91
+
92
+ /**
93
+ * Option type drop down
94
+ */
95
  const OPTION_TYPE_DROP_DOWN = 'drop_down';
96
+
97
+ /**
98
+ * Option type radio
99
+ */
100
  const OPTION_TYPE_RADIO = 'radio';
101
+
102
+ /**
103
+ * Option type checkbox
104
+ */
105
  const OPTION_TYPE_CHECKBOX = 'checkbox';
106
+
107
+ /**
108
+ * Option type multiple
109
+ */
110
  const OPTION_TYPE_MULTIPLE = 'multiple';
111
+
112
+ /**
113
+ * Option type date
114
+ */
115
  const OPTION_TYPE_DATE = 'date';
116
+
117
+ /**
118
+ * Option type date/time
119
+ */
120
  const OPTION_TYPE_DATE_TIME = 'date_time';
121
+
122
+ /**
123
+ * Option type time
124
+ */
125
  const OPTION_TYPE_TIME = 'time';
126
 
127
+ /**
128
+ * Product instance
129
+ *
130
+ * @var Mage_Catalog_Model_Product
131
+ */
132
  protected $_product;
133
 
134
+ /**
135
+ * Options
136
+ *
137
+ * @var array
138
+ */
139
  protected $_options = array();
140
 
141
+ /**
142
+ * Value instance
143
+ *
144
+ * @var Mage_Catalog_Model_Product_Option_Value
145
+ */
146
  protected $_valueInstance;
147
 
148
+ /**
149
+ * Values
150
+ *
151
+ * @var array
152
+ */
153
  protected $_values = array();
154
 
155
+ /**
156
+ * Constructor
157
+ */
158
  protected function _construct()
159
  {
160
  $this->_init('catalog/product_option');
187
  return null;
188
  }
189
 
190
+ /**
191
+ * Get values
192
+ *
193
+ * @return array
194
+ */
195
  public function getValues()
196
  {
197
  return $this->_values;
388
  return $this;
389
  }
390
 
391
+ /**
392
+ * After save
393
+ *
394
+ * @return Mage_Core_Model_Abstract
395
+ */
396
  protected function _afterSave()
397
  {
398
  $this->getValueInstance()->unsetValues();
417
  * @param bool $flag
418
  * @return decimal
419
  */
420
+ public function getPrice($flag = false)
421
  {
422
  if ($flag && $this->getPriceType() == 'percent') {
423
  $basePrice = $this->getProduct()->getFinalPrice();
424
+ $price = $basePrice * ($this->_getData('price')/100);
425
  return $price;
426
  }
427
  return $this->_getData('price');
512
  $this->setProductId(null);
513
  $this->setOptionId(null);
514
  $newOption = $this->__toArray();
515
+ $_values = $this->getValues();
516
+ if ($_values) {
517
  $newValuesArray = array();
518
  foreach ($_values as $_value) {
519
  $newValuesArray[] = $_value->prepareValueForDuplicate();
576
  }
577
  return $this;
578
  }
579
+
580
+ /**
581
+ * Check whether custom option could have multiple values
582
+ *
583
+ * @return bool
584
+ */
585
+ public function isMultipleType()
586
+ {
587
+ switch ($this->getType()) {
588
+ case self::OPTION_TYPE_MULTIPLE:
589
+ case self::OPTION_TYPE_CHECKBOX:
590
+ return true;
591
+ }
592
+ return false;
593
+ }
594
  }
app/code/core/Mage/Catalog/Model/Product/Option/Api.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -154,20 +154,24 @@ class Mage_Catalog_Model_Product_Option_Api extends Mage_Catalog_Model_Api_Resou
154
  $data[$key] = Mage::helper('catalog')->stripTags($value);
155
  }
156
  }
157
- // setProductOptions expects data to be an array of options arrays
158
- $data = array($data);
159
- if (!$product->getOptionsReadonly()) {
160
- $product->setProductOptions($data);
161
- }
162
- $product->setCanSaveCustomOptions(!$product->getOptionsReadonly());
163
  try {
164
- // an empty request can be set as event parameter
165
- // because it is not used for options changing in observers
166
- Mage::dispatchEvent(
167
- 'catalog_product_prepare_save',
168
- array('product' => $product, 'request' => new Mage_Core_Controller_Request_Http())
169
- );
170
- $product->save();
 
 
 
 
 
 
 
 
 
171
  } catch (Exception $e) {
172
  $this->_fault('save_option_error', $e->getMessage());
173
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
154
  $data[$key] = Mage::helper('catalog')->stripTags($value);
155
  }
156
  }
157
+
 
 
 
 
 
158
  try {
159
+ if (!$product->getOptionsReadonly()) {
160
+ $product
161
+ ->getOptionInstance()
162
+ ->setOptions(array($data));
163
+
164
+ $product->setHasOptions(true);
165
+
166
+ // an empty request can be set as event parameter
167
+ // because it is not used for options changing in observers
168
+ Mage::dispatchEvent(
169
+ 'catalog_product_prepare_save',
170
+ array('product' => $product, 'request' => new Mage_Core_Controller_Request_Http())
171
+ );
172
+
173
+ $product->save();
174
+ }
175
  } catch (Exception $e) {
176
  $this->_fault('save_option_error', $e->getMessage());
177
  }
app/code/core/Mage/Catalog/Model/Product/Option/Api/V2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Option/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Option/Type/Date.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Option/Type/Default.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Option/Type/File.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -523,7 +523,7 @@ class Mage_Catalog_Model_Product_Option_Type_File extends Mage_Catalog_Model_Pro
523
 
524
  return sprintf('<a href="%s" target="_blank">%s</a> %s',
525
  $this->_getOptionDownloadUrl($urlRoute, $urlParams),
526
- Mage::helper('core')->htmlEscape($title),
527
  $sizes
528
  );
529
  } catch (Exception $e) {
@@ -570,7 +570,7 @@ class Mage_Catalog_Model_Product_Option_Type_File extends Mage_Catalog_Model_Pro
570
  try {
571
  $value = unserialize($optionValue);
572
  return sprintf('%s [%d]',
573
- Mage::helper('core')->htmlEscape($value['title']),
574
  $this->getConfigurationItemOption()->getId()
575
  );
576
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
523
 
524
  return sprintf('<a href="%s" target="_blank">%s</a> %s',
525
  $this->_getOptionDownloadUrl($urlRoute, $urlParams),
526
+ Mage::helper('core')->escapeHtml($title),
527
  $sizes
528
  );
529
  } catch (Exception $e) {
570
  try {
571
  $value = unserialize($optionValue);
572
  return sprintf('%s [%d]',
573
+ Mage::helper('core')->escapeHtml($value['title']),
574
  $this->getConfigurationItemOption()->getId()
575
  );
576
 
app/code/core/Mage/Catalog/Model/Product/Option/Type/Select.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -86,7 +86,7 @@ class Mage_Catalog_Model_Product_Option_Type_Select extends Mage_Catalog_Model_P
86
  public function getFormattedOptionValue($optionValue)
87
  {
88
  if ($this->_formattedOptionValue === null) {
89
- $this->_formattedOptionValue = Mage::helper('core')->htmlEscape(
90
  $this->getEditableOptionValue($optionValue)
91
  );
92
  }
@@ -105,13 +105,13 @@ class Mage_Catalog_Model_Product_Option_Type_Select extends Mage_Catalog_Model_P
105
  }
106
 
107
  /**
108
- * Return wrong product configuration message
109
  *
110
  * @return string
111
  */
112
  protected function _getWrongConfigurationMessage()
113
  {
114
- return Mage::helper('catalog')->__('Some of the products below do not have all the required options. Please edit them and configure all the required options.');
115
  }
116
 
117
  /**
@@ -205,6 +205,7 @@ class Mage_Catalog_Model_Product_Option_Type_Select extends Mage_Catalog_Model_P
205
  * Return Price for selected option
206
  *
207
  * @param string $optionValue Prepared for cart option value
 
208
  * @return float
209
  */
210
  public function getOptionPrice($optionValue, $basePrice)
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
86
  public function getFormattedOptionValue($optionValue)
87
  {
88
  if ($this->_formattedOptionValue === null) {
89
+ $this->_formattedOptionValue = Mage::helper('core')->escapeHtml(
90
  $this->getEditableOptionValue($optionValue)
91
  );
92
  }
105
  }
106
 
107
  /**
108
+ * Return currently unavailable product configuration message
109
  *
110
  * @return string
111
  */
112
  protected function _getWrongConfigurationMessage()
113
  {
114
+ return Mage::helper('catalog')->__('Some of the selected item options are not currently available.');
115
  }
116
 
117
  /**
205
  * Return Price for selected option
206
  *
207
  * @param string $optionValue Prepared for cart option value
208
+ * @param float $basePrice
209
  * @return float
210
  */
211
  public function getOptionPrice($optionValue, $basePrice)
app/code/core/Mage/Catalog/Model/Product/Option/Type/Text.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -86,6 +86,6 @@ class Mage_Catalog_Model_Product_Option_Type_Text extends Mage_Catalog_Model_Pro
86
  */
87
  public function getFormattedOptionValue($value)
88
  {
89
- return Mage::helper('core')->htmlEscape($value);
90
  }
91
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
86
  */
87
  public function getFormattedOptionValue($value)
88
  {
89
+ return Mage::helper('core')->escapeHtml($value);
90
  }
91
  }
app/code/core/Mage/Catalog/Model/Product/Option/Value.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -142,7 +142,7 @@ class Mage_Catalog_Model_Product_Option_Value extends Mage_Core_Model_Abstract
142
  * return converted percent to price
143
  *
144
  * @param bool $flag
145
- * @return decimal
146
  */
147
  public function getPrice($flag=false)
148
  {
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
142
  * return converted percent to price
143
  *
144
  * @param bool $flag
145
+ * @return float|int
146
  */
147
  public function getPrice($flag=false)
148
  {
app/code/core/Mage/Catalog/Model/Product/Option/Value/Api.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Option/Value/Api/V2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Status.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Type.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Type/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -885,12 +885,7 @@ abstract class Mage_Catalog_Model_Product_Type_Abstract
885
  */
886
  public function assignProductToOption($optionProduct, $option, $product = null)
887
  {
888
- if ($optionProduct) {
889
- $option->setProduct($optionProduct);
890
- } else {
891
- $option->setProduct($this->getProduct($product));
892
- }
893
-
894
  return $this;
895
  }
896
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
885
  */
886
  public function assignProductToOption($optionProduct, $option, $product = null)
887
  {
888
+ $option->setProduct($optionProduct ? $optionProduct : $this->getProduct($product));
 
 
 
 
 
889
  return $this;
890
  }
891
 
app/code/core/Mage/Catalog/Model/Product/Type/Api.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Type/Api/V2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Type/Configurable.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -654,7 +654,7 @@ class Mage_Catalog_Model_Product_Type_Configurable extends Mage_Catalog_Model_Pr
654
  * Check if product can be bought
655
  *
656
  * @param Mage_Catalog_Model_Product $product
657
- * @return Mage_Catalog_Model_Product_Type_Abstract
658
  * @throws Mage_Core_Exception
659
  */
660
  public function checkProductBuyState($product = null)
@@ -778,20 +778,18 @@ class Mage_Catalog_Model_Product_Type_Configurable extends Mage_Catalog_Model_Pr
778
  * Implementation of product specify logic of which product needs to be assigned to option.
779
  * For example if product which was added to option already removed from catalog.
780
  *
781
- * @param Mage_Catalog_Model_Product $optionProduct
782
  * @param Mage_Sales_Model_Quote_Item_Option $option
783
- * @param Mage_Catalog_Model_Product $product
784
- * @return Mage_Catalog_Model_Product_Type_Abstract
785
  */
786
  public function assignProductToOption($optionProduct, $option, $product = null)
787
  {
788
  if ($optionProduct) {
789
  $option->setProduct($optionProduct);
790
  } else {
791
- $option->getItem()->setHasError('error');
792
- $option->getItem()->addMessage(Mage::helper('catalog')->__('Selected configuration is not available.', $this->getProduct($product)->getName()));
793
  }
794
-
795
  return $this;
796
  }
797
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
654
  * Check if product can be bought
655
  *
656
  * @param Mage_Catalog_Model_Product $product
657
+ * @return Mage_Catalog_Model_Product_Type_Configurable
658
  * @throws Mage_Core_Exception
659
  */
660
  public function checkProductBuyState($product = null)
778
  * Implementation of product specify logic of which product needs to be assigned to option.
779
  * For example if product which was added to option already removed from catalog.
780
  *
781
+ * @param Mage_Catalog_Model_Product|null $optionProduct
782
  * @param Mage_Sales_Model_Quote_Item_Option $option
783
+ * @param Mage_Catalog_Model_Product|null $product
784
+ * @return Mage_Catalog_Model_Product_Type_Configurable
785
  */
786
  public function assignProductToOption($optionProduct, $option, $product = null)
787
  {
788
  if ($optionProduct) {
789
  $option->setProduct($optionProduct);
790
  } else {
791
+ $option->getItem()->setHasConfigurationUnavailableError(true);
 
792
  }
 
793
  return $this;
794
  }
795
 
app/code/core/Mage/Catalog/Model/Product/Type/Configurable/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Type/Configurable/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Type/Grouped.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Type/Grouped/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Type/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Type/Simple.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Type/Virtual.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Url.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -37,18 +37,41 @@ class Mage_Catalog_Model_Product_Url extends Varien_Object
37
  const CACHE_TAG = 'url_rewrite';
38
 
39
  /**
40
- * Static URL instance
41
  *
42
  * @var Mage_Core_Model_Url
43
  */
44
- protected static $_url;
45
 
46
  /**
47
- * Static URL Rewrite Instance
48
  *
49
  * @var Mage_Core_Model_Url_Rewrite
50
  */
51
- protected static $_urlRewrite;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
 
53
  /**
54
  * Retrieve URL Instance
@@ -57,10 +80,10 @@ class Mage_Catalog_Model_Product_Url extends Varien_Object
57
  */
58
  public function getUrlInstance()
59
  {
60
- if (!self::$_url) {
61
- self::$_url = Mage::getModel('core/url');
62
  }
63
- return self::$_url;
64
  }
65
 
66
  /**
@@ -70,10 +93,10 @@ class Mage_Catalog_Model_Product_Url extends Varien_Object
70
  */
71
  public function getUrlRewrite()
72
  {
73
- if (!self::$_urlRewrite) {
74
- self::$_urlRewrite = Mage::getModel('core/url_rewrite');
75
  }
76
- return self::$_urlRewrite;
77
  }
78
 
79
  /**
@@ -171,65 +194,110 @@ class Mage_Catalog_Model_Product_Url extends Varien_Object
171
  */
172
  public function getUrl(Mage_Catalog_Model_Product $product, $params = array())
173
  {
174
- $routePath = '';
175
- $routeParams = $params;
 
 
176
 
177
- $storeId = $product->getStoreId();
178
- if (isset($params['_ignore_category'])) {
179
- unset($params['_ignore_category']);
180
- $categoryId = null;
181
- } else {
182
- $categoryId = $product->getCategoryId() && !$product->getDoNotUseCategoryId()
183
- ? $product->getCategoryId() : null;
184
  }
185
 
186
- if ($product->hasUrlDataObject()) {
187
- $requestPath = $product->getUrlDataObject()->getUrlRewrite();
188
- $routeParams['_store'] = $product->getUrlDataObject()->getStoreId();
189
  } else {
190
- $requestPath = $product->getRequestPath();
191
- if (empty($requestPath) && $requestPath !== false) {
192
- $idPath = sprintf('product/%d', $product->getEntityId());
193
- if ($categoryId) {
194
- $idPath = sprintf('%s/%d', $idPath, $categoryId);
195
- }
196
- $rewrite = $this->getUrlRewrite();
197
- $rewrite->setStoreId($storeId)
198
- ->loadByIdPath($idPath);
199
- if ($rewrite->getId()) {
200
- $requestPath = $rewrite->getRequestPath();
201
- $product->setRequestPath($requestPath);
202
- } else {
203
- $product->setRequestPath(false);
204
- }
205
- }
206
  }
207
 
208
- if (isset($routeParams['_store'])) {
209
- $storeId = Mage::app()->getStore($routeParams['_store'])->getId();
210
  }
211
 
212
- if ($storeId != Mage::app()->getStore()->getId()) {
213
- $routeParams['_store_to_url'] = true;
 
214
  }
215
 
216
- if (!empty($requestPath)) {
217
- $routeParams['_direct'] = $requestPath;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
218
  } else {
219
- $routePath = 'catalog/product/view';
220
- $routeParams['id'] = $product->getId();
221
- $routeParams['s'] = $product->getUrlKey();
222
- if ($categoryId) {
223
- $routeParams['category'] = $categoryId;
224
- }
225
  }
 
226
 
227
- // reset cached URL instance GET query params
228
- if (!isset($routeParams['_query'])) {
229
- $routeParams['_query'] = array();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
230
  }
231
 
232
- return $this->getUrlInstance()->setStore($storeId)
233
- ->getUrl($routePath, $routeParams);
234
  }
235
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
37
  const CACHE_TAG = 'url_rewrite';
38
 
39
  /**
40
+ * URL instance
41
  *
42
  * @var Mage_Core_Model_Url
43
  */
44
+ protected $_url;
45
 
46
  /**
47
+ * URL Rewrite Instance
48
  *
49
  * @var Mage_Core_Model_Url_Rewrite
50
  */
51
+ protected $_urlRewrite;
52
+
53
+ /**
54
+ * Factory instance
55
+ *
56
+ * @var Mage_Catalog_Model_Factory
57
+ */
58
+ protected $_factory;
59
+
60
+ /**
61
+ * @var Mage_Core_Model_Store
62
+ */
63
+ protected $_store;
64
+
65
+ /**
66
+ * Initialize Url model
67
+ *
68
+ * @param array $args
69
+ */
70
+ public function __construct(array $args = array())
71
+ {
72
+ $this->_factory = !empty($args['factory']) ? $args['factory'] : Mage::getSingleton('catalog/factory');
73
+ $this->_store = !empty($args['store']) ? $args['store'] : Mage::app()->getStore();
74
+ }
75
 
76
  /**
77
  * Retrieve URL Instance
80
  */
81
  public function getUrlInstance()
82
  {
83
+ if (null === $this->_url) {
84
+ $this->_url = Mage::getModel('core/url');
85
  }
86
+ return $this->_url;
87
  }
88
 
89
  /**
93
  */
94
  public function getUrlRewrite()
95
  {
96
+ if (null === $this->_urlRewrite) {
97
+ $this->_urlRewrite = $this->_factory->getUrlRewriteInstance();
98
  }
99
+ return $this->_urlRewrite;
100
  }
101
 
102
  /**
194
  */
195
  public function getUrl(Mage_Catalog_Model_Product $product, $params = array())
196
  {
197
+ $url = $product->getData('url');
198
+ if (!empty($url)) {
199
+ return $url;
200
+ }
201
 
202
+ $requestPath = $product->getData('request_path');
203
+ if (empty($requestPath)) {
204
+ $requestPath = $this->_getRequestPath($product, $this->_getCategoryIdForUrl($product, $params));
205
+ $product->setRequestPath($requestPath);
 
 
 
206
  }
207
 
208
+ if (isset($params['_store'])) {
209
+ $storeId = $this->_getStoreId($params['_store']);
 
210
  } else {
211
+ $storeId = $product->getStoreId();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
  }
213
 
214
+ if ($storeId != $this->_getStoreId()) {
215
+ $params['_store_to_url'] = true;
216
  }
217
 
218
+ // reset cached URL instance GET query params
219
+ if (!isset($params['_query'])) {
220
+ $params['_query'] = array();
221
  }
222
 
223
+ $this->getUrlInstance()->setStore($storeId);
224
+ $productUrl = $this->_getProductUrl($product, $requestPath, $params);
225
+ $product->setData('url', $productUrl);
226
+ return $product->getData('url');
227
+ }
228
+
229
+ /**
230
+ * Returns checked store_id value
231
+ *
232
+ * @param int|null $id
233
+ * @return int
234
+ */
235
+ protected function _getStoreId($id = null)
236
+ {
237
+ return Mage::app()->getStore($id)->getId();
238
+ }
239
+
240
+ /**
241
+ * Check product category
242
+ *
243
+ * @param Mage_Catalog_Model_Product $product
244
+ * @param array $params
245
+ *
246
+ * @return int|null
247
+ */
248
+ protected function _getCategoryIdForUrl($product, $params)
249
+ {
250
+ if (isset($params['_ignore_category'])) {
251
+ return null;
252
  } else {
253
+ return $product->getCategoryId() && !$product->getDoNotUseCategoryId()
254
+ ? $product->getCategoryId() : null;
 
 
 
 
255
  }
256
+ }
257
 
258
+ /**
259
+ * Retrieve product URL based on requestPath param
260
+ *
261
+ * @param Mage_Catalog_Model_Product $product
262
+ * @param string $requestPath
263
+ * @param array $routeParams
264
+ *
265
+ * @return string
266
+ */
267
+ protected function _getProductUrl($product, $requestPath, $routeParams)
268
+ {
269
+ if (!empty($requestPath)) {
270
+ return $this->getUrlInstance()->getDirectUrl($requestPath, $routeParams);
271
+ }
272
+ $routeParams['id'] = $product->getId();
273
+ $routeParams['s'] = $product->getUrlKey();
274
+ $categoryId = $this->_getCategoryIdForUrl($product, $routeParams);
275
+ if ($categoryId) {
276
+ $routeParams['category'] = $categoryId;
277
+ }
278
+ return $this->getUrlInstance()->getUrl('catalog/product/view', $routeParams);
279
+ }
280
+
281
+ /**
282
+ * Retrieve request path
283
+ *
284
+ * @param Mage_Catalog_Model_Product $product
285
+ * @param int $categoryId
286
+ * @return bool|string
287
+ */
288
+ protected function _getRequestPath($product, $categoryId)
289
+ {
290
+ $idPath = sprintf('product/%d', $product->getEntityId());
291
+ if ($categoryId) {
292
+ $idPath = sprintf('%s/%d', $idPath, $categoryId);
293
+ }
294
+ $rewrite = $this->getUrlRewrite();
295
+ $rewrite->setStoreId($product->getStoreId())
296
+ ->loadByIdPath($idPath);
297
+ if ($rewrite->getId()) {
298
+ return $rewrite->getRequestPath();
299
  }
300
 
301
+ return false;
 
302
  }
303
  }
app/code/core/Mage/Catalog/Model/Product/Visibility.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Product/Website.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Category.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -619,37 +619,84 @@ class Mage_Catalog_Model_Resource_Category extends Mage_Catalog_Model_Resource_A
619
  ->addAttributeToSelect('custom_layout_update')
620
  ->addAttributeToSelect('custom_apply_to_products')
621
  ->addFieldToFilter('entity_id', array('in' => $pathIds))
622
- ->addFieldToFilter('custom_use_parent_settings', 0)
623
  ->addFieldToFilter('level', array('neq' => 0))
624
  ->setOrder('level', 'DESC')
625
  ->load();
626
  return $collection->getFirstItem();
627
  }
628
 
629
-
630
  /**
631
- * Return child categories
632
  *
633
  * @param Mage_Catalog_Model_Category $category
634
  * @return Mage_Catalog_Model_Resource_Category_Collection
635
  */
636
- public function getChildrenCategories($category)
637
  {
638
  $collection = $category->getCollection();
639
- /* @var $collection Mage_Catalog_Model_Resource_Category_Collection */
640
  $collection->addAttributeToSelect('url_key')
641
  ->addAttributeToSelect('name')
642
  ->addAttributeToSelect('all_children')
643
  ->addAttributeToSelect('is_anchor')
644
- ->addAttributeToFilter('is_active', 1)
645
- ->addIdFilter($category->getChildren())
646
  ->setOrder('position', Varien_Db_Select::SQL_ASC)
647
- ->joinUrlRewrite()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
648
  ->load();
649
 
650
  return $collection;
651
  }
652
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
653
  /**
654
  * Return children ids of category
655
  *
@@ -667,10 +714,9 @@ class Mage_Catalog_Model_Resource_Category extends Mage_Catalog_Model_Resource_A
667
  'attribute_id' => $attributeId,
668
  'store_id' => $category->getStoreId(),
669
  'scope' => 1,
670
- 'c_path' => $category->getPath() . '/%'
671
  );
672
- $select = $this->_getReadAdapter()->select()
673
- ->from(array('m' => $this->getEntityTable()), 'entity_id')
674
  ->joinLeft(
675
  array('d' => $backendTable),
676
  'd.attribute_id = :attribute_id AND d.store_id = 0 AND d.entity_id = m.entity_id',
@@ -681,16 +727,24 @@ class Mage_Catalog_Model_Resource_Category extends Mage_Catalog_Model_Resource_A
681
  'c.attribute_id = :attribute_id AND c.store_id = :store_id AND c.entity_id = m.entity_id',
682
  array()
683
  )
684
- ->where($checkSql . ' = :scope')
685
- ->where($adapter->quoteIdentifier('path') . ' LIKE :c_path');
686
- if (!$recursive) {
687
- $select->where($adapter->quoteIdentifier('level') . ' <= :c_level');
688
- $bind['c_level'] = $category->getLevel() + 1;
689
- }
690
 
691
  return $adapter->fetchCol($select, $bind);
692
  }
693
 
 
 
 
 
 
 
 
 
 
 
 
 
 
694
  /**
695
  * Return all children ids of category (with category id)
696
  *
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
619
  ->addAttributeToSelect('custom_layout_update')
620
  ->addAttributeToSelect('custom_apply_to_products')
621
  ->addFieldToFilter('entity_id', array('in' => $pathIds))
622
+ ->addAttributeToFilter('custom_use_parent_settings', array(array('eq' => 0), array('null' => 0)), 'left')
623
  ->addFieldToFilter('level', array('neq' => 0))
624
  ->setOrder('level', 'DESC')
625
  ->load();
626
  return $collection->getFirstItem();
627
  }
628
 
 
629
  /**
630
+ * Prepare base collection setup for get categories list
631
  *
632
  * @param Mage_Catalog_Model_Category $category
633
  * @return Mage_Catalog_Model_Resource_Category_Collection
634
  */
635
+ protected function _getChildrenCategoriesBase($category)
636
  {
637
  $collection = $category->getCollection();
 
638
  $collection->addAttributeToSelect('url_key')
639
  ->addAttributeToSelect('name')
640
  ->addAttributeToSelect('all_children')
641
  ->addAttributeToSelect('is_anchor')
 
 
642
  ->setOrder('position', Varien_Db_Select::SQL_ASC)
643
+ ->joinUrlRewrite();
644
+
645
+ return $collection;
646
+ }
647
+
648
+
649
+ /**
650
+ * Return child categories
651
+ *
652
+ * @param Mage_Catalog_Model_Category $category
653
+ * @return Mage_Catalog_Model_Resource_Category_Collection
654
+ */
655
+ public function getChildrenCategories($category)
656
+ {
657
+ $collection = $this->_getChildrenCategoriesBase($category);
658
+ $collection->addAttributeToFilter('is_active', 1)
659
+ ->addIdFilter($category->getChildren())
660
  ->load();
661
 
662
  return $collection;
663
  }
664
 
665
+
666
+ /**
667
+ * Return children categories lists with inactive
668
+ *
669
+ * @param Mage_Catalog_Model_Category $category
670
+ * @return Mage_Catalog_Model_Resource_Category_Collection
671
+ */
672
+ public function getChildrenCategoriesWithInactive($category)
673
+ {
674
+ $collection = $this->_getChildrenCategoriesBase($category);
675
+ $collection->addFieldToFilter('parent_id', $category->getId());
676
+
677
+ return $collection;
678
+ }
679
+
680
+ /**
681
+ * Returns select for category's children.
682
+ *
683
+ * @param $category
684
+ * @param bool $recursive
685
+ * @return Varien_Db_Select
686
+ */
687
+ protected function _getChildrenIdSelect($category, $recursive = true)
688
+ {
689
+ $adapter = $this->_getReadAdapter();
690
+ $select = $adapter->select()
691
+ ->from(array('m' => $this->getEntityTable()), 'entity_id')
692
+ ->where($adapter->quoteIdentifier('path') . ' LIKE ?', $category->getPath() . '/%');
693
+
694
+ if (!$recursive) {
695
+ $select->where($adapter->quoteIdentifier('level') . ' <= ?', $category->getLevel() + 1);
696
+ }
697
+ return $select;
698
+ }
699
+
700
  /**
701
  * Return children ids of category
702
  *
714
  'attribute_id' => $attributeId,
715
  'store_id' => $category->getStoreId(),
716
  'scope' => 1,
 
717
  );
718
+ $select = $this->_getChildrenIdSelect($category, $recursive);
719
+ $select
720
  ->joinLeft(
721
  array('d' => $backendTable),
722
  'd.attribute_id = :attribute_id AND d.store_id = 0 AND d.entity_id = m.entity_id',
727
  'c.attribute_id = :attribute_id AND c.store_id = :store_id AND c.entity_id = m.entity_id',
728
  array()
729
  )
730
+ ->where($checkSql . ' = :scope');
 
 
 
 
 
731
 
732
  return $adapter->fetchCol($select, $bind);
733
  }
734
 
735
+ /**
736
+ * Return IDs of category's children along with inactive categories.
737
+ *
738
+ * @param $category
739
+ * @param bool $recursive
740
+ * @return array
741
+ */
742
+ public function getChildrenIds($category, $recursive = true)
743
+ {
744
+ $select = $this->_getChildrenIdSelect($category, $recursive);
745
+ return $this->_getReadAdapter()->fetchCol($select);
746
+ }
747
+
748
  /**
749
  * Return all children ids of category (with category id)
750
  *
app/code/core/Mage/Catalog/Model/Resource/Category/Attribute/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Category/Attribute/Frontend/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Category/Attribute/Source/Layout.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Category/Attribute/Source/Mode.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Category/Attribute/Source/Page.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Category/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -76,6 +76,32 @@ class Mage_Catalog_Model_Resource_Category_Collection extends Mage_Catalog_Model
76
  */
77
  protected $_loadWithProductCount = false;
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  /**
80
  * Init collection and determine table names
81
  *
@@ -320,20 +346,22 @@ class Mage_Catalog_Model_Resource_Category_Collection extends Mage_Catalog_Model
320
  */
321
  public function joinUrlRewrite()
322
  {
323
- $storeId = Mage::app()->getStore()->getId();
324
- $this->joinTable(
325
- 'core/url_rewrite',
326
- 'category_id=entity_id',
327
- array('request_path'),
328
- "{{table}}.is_system=1"
329
- . " AND {{table}}.product_id IS NULL"
330
- . " AND {{table}}.store_id='{$storeId}'"
331
- . " AND id_path LIKE 'category/%'",
332
- 'left'
333
- );
334
  return $this;
335
  }
336
 
 
 
 
 
 
 
 
 
 
 
337
  /**
338
  * Add active category filter
339
  *
@@ -426,4 +454,36 @@ class Mage_Catalog_Model_Resource_Category_Collection extends Mage_Catalog_Model
426
  $this->setOrder($field, self::SORT_ORDER_ASC);
427
  return $this;
428
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
429
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
76
  */
77
  protected $_loadWithProductCount = false;
78
 
79
+ /**
80
+ * Catalog factory instance
81
+ *
82
+ * @var Mage_Catalog_Model_Factory
83
+ */
84
+ protected $_factory;
85
+
86
+ /**
87
+ * Disable flat flag
88
+ *
89
+ * @var bool
90
+ */
91
+ protected $_disableFlat = false;
92
+
93
+ /**
94
+ * Initialize factory
95
+ *
96
+ * @param Mage_Core_Model_Resource_Abstract $resource
97
+ * @param array $args
98
+ */
99
+ public function __construct($resource = null, array $args = array())
100
+ {
101
+ parent::__construct($resource);
102
+ $this->_factory = !empty($args['factory']) ? $args['factory'] : Mage::getSingleton('catalog/factory');
103
+ }
104
+
105
  /**
106
  * Init collection and determine table names
107
  *
346
  */
347
  public function joinUrlRewrite()
348
  {
349
+ $this->_factory->getCategoryUrlRewriteHelper()
350
+ ->joinTableToEavCollection($this, $this->_getCurrentStoreId());
351
+
 
 
 
 
 
 
 
 
352
  return $this;
353
  }
354
 
355
+ /**
356
+ * Retrieves store_id from current store
357
+ *
358
+ * @return int
359
+ */
360
+ protected function _getCurrentStoreId()
361
+ {
362
+ return (int)Mage::app()->getStore()->getId();
363
+ }
364
+
365
  /**
366
  * Add active category filter
367
  *
454
  $this->setOrder($field, self::SORT_ORDER_ASC);
455
  return $this;
456
  }
457
+
458
+ /**
459
+ * Set disable flat flag
460
+ *
461
+ * @param bool $flag
462
+ * @return Mage_Catalog_Model_Resource_Category_Collection
463
+ */
464
+ public function setDisableFlat($flag)
465
+ {
466
+ $this->_disableFlat = (bool) $flag;
467
+ return $this;
468
+ }
469
+
470
+ /**
471
+ * Retrieve disable flat flag value
472
+ *
473
+ * @return bool
474
+ */
475
+ public function getDisableFlat()
476
+ {
477
+ return $this->_disableFlat;
478
+ }
479
+
480
+ /**
481
+ * Retrieve collection empty item
482
+ *
483
+ * @return Mage_Catalog_Model_Category
484
+ */
485
+ public function getNewEmptyItem()
486
+ {
487
+ return new $this->_itemObjectClass(array('disable_flat' => $this->getDisableFlat()));
488
+ }
489
  }
app/code/core/Mage/Catalog/Model/Resource/Category/Flat.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -34,6 +34,11 @@
34
  */
35
  class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resource_Abstract
36
  {
 
 
 
 
 
37
  /**
38
  * Store id
39
  *
@@ -84,9 +89,18 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
84
  protected $_inactiveCategoryIds = null;
85
 
86
  /**
87
- * Is rebuild
88
  *
89
- * @var boolean
 
 
 
 
 
 
 
 
 
90
  */
91
  protected $_isRebuilt = null;
92
 
@@ -104,6 +118,24 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
104
  */
105
  protected $_allowTableChanges = true;
106
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  /**
108
  * Resource initializations
109
  *
@@ -182,7 +214,7 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
182
  /**
183
  * Add inactive categories ids
184
  *
185
- * @param unknown_type $ids
186
  * @return Mage_Catalog_Model_Resource_Category_Flat
187
  */
188
  public function addInactiveCategoryIds($ids)
@@ -226,9 +258,10 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
226
  * @param Mage_Catalog_Model_Category|int $parentNode
227
  * @param integer $recursionLevel
228
  * @param integer $storeId
 
229
  * @return Mage_Catalog_Model_Resource_Category_Flat
230
  */
231
- protected function _loadNodes($parentNode = null, $recursionLevel = 0, $storeId = 0)
232
  {
233
  $_conn = $this->_getReadAdapter();
234
  $startLevel = 1;
@@ -255,18 +288,18 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
255
  new Zend_Db_Expr('main_table.' . $_conn->quoteIdentifier('path')),
256
  'is_active',
257
  'is_anchor'))
258
- ->joinLeft(
259
- array('url_rewrite'=>$this->getTable('core/url_rewrite')),
260
- 'url_rewrite.category_id=main_table.entity_id AND url_rewrite.is_system=1 AND ' .
261
- $_conn->quoteInto(
262
- 'url_rewrite.product_id IS NULL AND url_rewrite.store_id=? AND ',
263
- $storeId) .
264
- $_conn->prepareSqlCondition('url_rewrite.id_path', array('like' => 'category/%')),
265
- array('request_path' => 'url_rewrite.request_path'))
266
- ->where('main_table.is_active = ?', '1')
267
  ->where('main_table.include_in_menu = ?', '1')
268
  ->order('main_table.position');
269
 
 
 
 
 
 
 
 
 
270
  if ($parentPath) {
271
  $select->where($_conn->quoteInto("main_table.path like ?", "$parentPath/%"));
272
  }
@@ -427,35 +460,36 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
427
  }
428
 
429
  /**
430
- * Check if category flat data is rebuilt
431
  *
 
432
  * @return bool
433
  */
434
- public function isRebuilt()
435
  {
436
- if ($this->_isRebuilt === null) {
437
- $defaultStoreView = Mage::app()->getDefaultStoreView();
438
- if ($defaultStoreView === null) {
439
- $defaultStoreId = Mage_Core_Model_App::ADMIN_STORE_ID;
440
- } else {
441
- $defaultStoreId = $defaultStoreView->getId();
442
- }
443
  $select = $this->_getReadAdapter()->select()
444
- ->from($this->getMainStoreTable($defaultStoreId), 'entity_id')
445
  ->limit(1);
446
  try {
447
- $this->_isRebuilt = (bool) $this->_getReadAdapter()->fetchOne($select);
448
  } catch (Exception $e) {
449
- $this->_isRebuilt = false;
450
  }
451
  }
452
- return $this->_isRebuilt;
453
  }
454
 
455
  /**
456
  * Rebuild flat data from eav
457
  *
458
- * @param unknown_type $stores
459
  * @return Mage_Catalog_Model_Resource_Category_Flat
460
  */
461
  public function rebuild($stores = null)
@@ -489,7 +523,7 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
489
  $categoriesIds[$store->getRootCategoryId()][] = $category['entity_id'];
490
  }
491
  }
492
- $categoriesIdsChunks = array_chunk($categoriesIds[$store->getRootCategoryId()], 500);
493
  foreach ($categoriesIdsChunks as $categoriesIdsChunk) {
494
  $attributesData = $this->_getAttributeValues($categoriesIdsChunk, $store->getId());
495
  $data = array();
@@ -807,10 +841,10 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
807
  *
808
  * @param string $type
809
  * @param array $entityIds
810
- * @param integer $sid
811
  * @return array
812
  */
813
- protected function _getAttributeTypeValues($type, $entityIds, $sid)
814
  {
815
  $select = $this->_getWriteAdapter()->select()
816
  ->from(
@@ -819,14 +853,16 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
819
  )
820
  ->joinLeft(
821
  array('store' => $this->getTable(array('catalog/category', $type))),
822
- 'store.entity_id = def.entity_id AND store.attribute_id = def.attribute_id AND store.store_id = '.$sid,
823
- array('value' => $this->_getWriteAdapter()->getCheckSql('store.value_id > 0',
 
 
824
  $this->_getWriteAdapter()->quoteIdentifier('store.value'),
825
- $this->_getWriteAdapter()->quoteIdentifier('def.value'))
826
- )
827
  )
828
  ->where('def.entity_id IN (?)', $entityIds)
829
- ->where('def.store_id = ?', Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID);
830
  return $this->_getWriteAdapter()->fetchAll($select);
831
  }
832
 
@@ -1181,30 +1217,26 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
1181
  * Return parent categories of category
1182
  *
1183
  * @param Mage_Catalog_Model_Category $category
1184
- * @param unknown_type $isActive
1185
  * @return array
1186
  */
1187
  public function getParentCategories($category, $isActive = true)
1188
  {
1189
  $categories = array();
1190
- $read = $this->_getReadAdapter();
1191
- $select = $read->select()
1192
  ->from(
1193
  array('main_table' => $this->getMainStoreTable($category->getStoreId())),
1194
  array('main_table.entity_id', 'main_table.name')
1195
  )
1196
- ->joinLeft(
1197
- array('url_rewrite'=>$this->getTable('core/url_rewrite')),
1198
- 'url_rewrite.category_id=main_table.entity_id AND url_rewrite.is_system=1 AND '.
1199
- $read->quoteInto('url_rewrite.product_id IS NULL AND url_rewrite.store_id=? AND ',
1200
- $category->getStoreId() ).
1201
- $read->prepareSqlCondition('url_rewrite.id_path', array('like' => 'category/%')),
1202
- array('request_path' => 'url_rewrite.request_path'))
1203
  ->where('main_table.entity_id IN (?)', array_reverse(explode(',', $category->getPathInStore())));
1204
  if ($isActive) {
1205
  $select->where('main_table.is_active = ?', '1');
1206
  }
1207
  $select->order('main_table.path ASC');
 
 
 
 
1208
  $result = $this->_getReadAdapter()->fetchAll($select);
1209
  foreach ($result as $row) {
1210
  $row['id'] = $row['entity_id'];
@@ -1246,6 +1278,17 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
1246
  return $categories;
1247
  }
1248
 
 
 
 
 
 
 
 
 
 
 
 
1249
  /**
1250
  * Check is category in list of store categories
1251
  *
@@ -1262,8 +1305,8 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
1262
  * Return children ids of category
1263
  *
1264
  * @param Mage_Catalog_Model_Category $category
1265
- * @param unknown_type $recursive
1266
- * @param unknown_type $isActive
1267
  * @return array
1268
  */
1269
  public function getChildren($category, $recursive = true, $isActive = true)
@@ -1424,6 +1467,7 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
1424
  /**
1425
  * Transactional rebuild flat data from eav
1426
  *
 
1427
  * @return Mage_Catalog_Model_Resource_Category_Flat
1428
  */
1429
  public function reindexAll()
@@ -1449,4 +1493,16 @@ class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resourc
1449
  }
1450
  return $this;
1451
  }
 
 
 
 
 
 
 
 
 
 
 
 
1452
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
34
  */
35
  class Mage_Catalog_Model_Resource_Category_Flat extends Mage_Index_Model_Resource_Abstract
36
  {
37
+ /**
38
+ * Amount of categories to be processed in batch
39
+ */
40
+ const CATEGORY_BATCH = 500;
41
+
42
  /**
43
  * Store id
44
  *
89
  protected $_inactiveCategoryIds = null;
90
 
91
  /**
92
+ * Store flag which defines if Catalog Category Flat Data has been initialized
93
  *
94
+ * @var array
95
+ */
96
+ protected $_isBuilt = array();
97
+
98
+ /**
99
+ * Store flag which defines if Catalog Category Flat Data has been initialized
100
+ *
101
+ * @deprecated after 1.7.0.0 use $this->_isBuilt instead
102
+ *
103
+ * @var bool|null
104
  */
105
  protected $_isRebuilt = null;
106
 
118
  */
119
  protected $_allowTableChanges = true;
120
 
121
+ /**
122
+ * Factory instance
123
+ *
124
+ * @var Mage_Catalog_Model_Factory
125
+ */
126
+ protected $_factory;
127
+
128
+ /**
129
+ * Initialize factory instance
130
+ *
131
+ * @param array $args
132
+ */
133
+ public function __construct(array $args = array())
134
+ {
135
+ $this->_factory = !empty($args['factory']) ? $args['factory'] : Mage::getSingleton('catalog/factory');
136
+ parent::__construct();
137
+ }
138
+
139
  /**
140
  * Resource initializations
141
  *
214
  /**
215
  * Add inactive categories ids
216
  *
217
+ * @param array $ids
218
  * @return Mage_Catalog_Model_Resource_Category_Flat
219
  */
220
  public function addInactiveCategoryIds($ids)
258
  * @param Mage_Catalog_Model_Category|int $parentNode
259
  * @param integer $recursionLevel
260
  * @param integer $storeId
261
+ * @param bool $onlyActive
262
  * @return Mage_Catalog_Model_Resource_Category_Flat
263
  */
264
+ protected function _loadNodes($parentNode = null, $recursionLevel = 0, $storeId = 0, $onlyActive = true)
265
  {
266
  $_conn = $this->_getReadAdapter();
267
  $startLevel = 1;
288
  new Zend_Db_Expr('main_table.' . $_conn->quoteIdentifier('path')),
289
  'is_active',
290
  'is_anchor'))
291
+
 
 
 
 
 
 
 
 
292
  ->where('main_table.include_in_menu = ?', '1')
293
  ->order('main_table.position');
294
 
295
+ if ($onlyActive) {
296
+ $select->where('main_table.is_active = ?', '1');
297
+ }
298
+
299
+ /** @var $urlRewrite Mage_Catalog_Helper_Category_Url_Rewrite_Interface */
300
+ $urlRewrite = $this->_factory->getCategoryUrlRewriteHelper();
301
+ $urlRewrite->joinTableToSelect($select, $storeId);
302
+
303
  if ($parentPath) {
304
  $select->where($_conn->quoteInto("main_table.path like ?", "$parentPath/%"));
305
  }
460
  }
461
 
462
  /**
463
+ * Check if Catalog Category Flat Data has been initialized
464
  *
465
+ * @param bool|int|\Mage_Core_Model_Store|null $storeView Store(id) for which the value is checked
466
  * @return bool
467
  */
468
+ public function isBuilt($storeView = null)
469
  {
470
+ $storeView = is_null($storeView) ? Mage::app()->getDefaultStoreView() : Mage::app()->getStore($storeView);
471
+ if ($storeView === null) {
472
+ $storeId = Mage_Core_Model_App::ADMIN_STORE_ID;
473
+ } else {
474
+ $storeId = $storeView->getId();
475
+ }
476
+ if (!isset($this->_isBuilt[$storeId])) {
477
  $select = $this->_getReadAdapter()->select()
478
+ ->from($this->getMainStoreTable($storeId), 'entity_id')
479
  ->limit(1);
480
  try {
481
+ $this->_isBuilt[$storeId] = (bool)$this->_getReadAdapter()->fetchOne($select);
482
  } catch (Exception $e) {
483
+ $this->_isBuilt[$storeId] = false;
484
  }
485
  }
486
+ return $this->_isBuilt[$storeId];
487
  }
488
 
489
  /**
490
  * Rebuild flat data from eav
491
  *
492
+ * @param array|null $stores
493
  * @return Mage_Catalog_Model_Resource_Category_Flat
494
  */
495
  public function rebuild($stores = null)
523
  $categoriesIds[$store->getRootCategoryId()][] = $category['entity_id'];
524
  }
525
  }
526
+ $categoriesIdsChunks = array_chunk($categoriesIds[$store->getRootCategoryId()], self::CATEGORY_BATCH);
527
  foreach ($categoriesIdsChunks as $categoriesIdsChunk) {
528
  $attributesData = $this->_getAttributeValues($categoriesIdsChunk, $store->getId());
529
  $data = array();
841
  *
842
  * @param string $type
843
  * @param array $entityIds
844
+ * @param integer $storeId
845
  * @return array
846
  */
847
+ protected function _getAttributeTypeValues($type, $entityIds, $storeId)
848
  {
849
  $select = $this->_getWriteAdapter()->select()
850
  ->from(
853
  )
854
  ->joinLeft(
855
  array('store' => $this->getTable(array('catalog/category', $type))),
856
+ 'store.entity_id = def.entity_id AND store.attribute_id = def.attribute_id '
857
+ . 'AND store.store_id = ' . $storeId,
858
+ array('value' => $this->_getWriteAdapter()->getCheckSql(
859
+ 'store.value_id > 0',
860
  $this->_getWriteAdapter()->quoteIdentifier('store.value'),
861
+ $this->_getWriteAdapter()->quoteIdentifier('def.value')
862
+ ))
863
  )
864
  ->where('def.entity_id IN (?)', $entityIds)
865
+ ->where('def.store_id IN (?)', array(Mage_Catalog_Model_Abstract::DEFAULT_STORE_ID, $storeId));
866
  return $this->_getWriteAdapter()->fetchAll($select);
867
  }
868
 
1217
  * Return parent categories of category
1218
  *
1219
  * @param Mage_Catalog_Model_Category $category
1220
+ * @param bool $isActive
1221
  * @return array
1222
  */
1223
  public function getParentCategories($category, $isActive = true)
1224
  {
1225
  $categories = array();
1226
+ $select = $this->_getReadAdapter()->select()
 
1227
  ->from(
1228
  array('main_table' => $this->getMainStoreTable($category->getStoreId())),
1229
  array('main_table.entity_id', 'main_table.name')
1230
  )
 
 
 
 
 
 
 
1231
  ->where('main_table.entity_id IN (?)', array_reverse(explode(',', $category->getPathInStore())));
1232
  if ($isActive) {
1233
  $select->where('main_table.is_active = ?', '1');
1234
  }
1235
  $select->order('main_table.path ASC');
1236
+
1237
+ $urlRewrite = $this->_factory->getCategoryUrlRewriteHelper();
1238
+ $urlRewrite->joinTableToSelect($select, $category->getStoreId());
1239
+
1240
  $result = $this->_getReadAdapter()->fetchAll($select);
1241
  foreach ($result as $row) {
1242
  $row['id'] = $row['entity_id'];
1278
  return $categories;
1279
  }
1280
 
1281
+ /**
1282
+ * Return children categories of category with inactive
1283
+ *
1284
+ * @param Mage_Catalog_Model_Category $category
1285
+ * @return array
1286
+ */
1287
+ public function getChildrenCategoriesWithInactive($category)
1288
+ {
1289
+ return $this->_loadNodes($category, 1, $category->getStoreId(), false);
1290
+ }
1291
+
1292
  /**
1293
  * Check is category in list of store categories
1294
  *
1305
  * Return children ids of category
1306
  *
1307
  * @param Mage_Catalog_Model_Category $category
1308
+ * @param bool $recursive
1309
+ * @param bool $isActive
1310
  * @return array
1311
  */
1312
  public function getChildren($category, $recursive = true, $isActive = true)
1467
  /**
1468
  * Transactional rebuild flat data from eav
1469
  *
1470
+ * @throws Exception
1471
  * @return Mage_Catalog_Model_Resource_Category_Flat
1472
  */
1473
  public function reindexAll()
1493
  }
1494
  return $this;
1495
  }
1496
+
1497
+ /**
1498
+ * Check if Catalog Category Flat Data has been initialized
1499
+ *
1500
+ * @deprecated use Mage_Catalog_Model_Resource_Category_Flat::isBuilt() instead
1501
+ *
1502
+ * @return bool
1503
+ */
1504
+ public function isRebuilt()
1505
+ {
1506
+ return $this->isBuilt();
1507
+ }
1508
  }
app/code/core/Mage/Catalog/Model/Resource/Category/Flat/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -55,6 +55,25 @@ class Mage_Catalog_Model_Resource_Category_Flat_Collection extends Mage_Core_Mod
55
  */
56
  protected $_storeId = null;
57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  /**
59
  * Collection initialization
60
  *
@@ -304,24 +323,29 @@ class Mage_Catalog_Model_Resource_Category_Flat_Collection extends Mage_Core_Mod
304
  }
305
 
306
  /**
307
- * Enter description here ...
308
  *
309
  * @return Mage_Catalog_Model_Resource_Category_Flat_Collection
310
  */
311
  public function addUrlRewriteToResult()
312
  {
313
- $storeId = Mage::app()->getStore()->getId();
314
- $this->getSelect()->joinLeft(
315
- array('url_rewrite' => $this->getTable('core/url_rewrite')),
316
- 'url_rewrite.category_id=main_table.entity_id AND url_rewrite.is_system=1 '.
317
- 'AND url_rewrite.product_id IS NULL'.
318
- ' AND ' . $this->getConnection()->quoteInto('url_rewrite.store_id=?', $storeId).
319
- ' AND ' . $this->getConnection()->quoteInto('url_rewrite.id_path LIKE ?','category/%'),
320
- array('request_path')
321
- );
322
  return $this;
323
  }
324
 
 
 
 
 
 
 
 
 
 
 
325
  /**
326
  * Enter description here ...
327
  *
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
55
  */
56
  protected $_storeId = null;
57
 
58
+ /**
59
+ * Catalog factory instance
60
+ *
61
+ * @var Mage_Catalog_Model_Factory
62
+ */
63
+ protected $_factory;
64
+
65
+ /**
66
+ * Initialize factory
67
+ *
68
+ * @param Mage_Core_Model_Resource_Abstract $resource
69
+ * @param array $args
70
+ */
71
+ public function __construct($resource = null, array $args = array())
72
+ {
73
+ parent::__construct($resource);
74
+ $this->_factory = !empty($args['factory']) ? $args['factory'] : Mage::getSingleton('catalog/factory');
75
+ }
76
+
77
  /**
78
  * Collection initialization
79
  *
323
  }
324
 
325
  /**
326
+ * Join request_path column from url rewrite table
327
  *
328
  * @return Mage_Catalog_Model_Resource_Category_Flat_Collection
329
  */
330
  public function addUrlRewriteToResult()
331
  {
332
+ /** @var $urlRewrite Mage_Catalog_Helper_Category_Url_Rewrite_Interface */
333
+ $urlRewrite = $this->_factory->getCategoryUrlRewriteHelper();
334
+ $urlRewrite->joinTableToCollection($this, $this->_getCurrentStoreId());
335
+
 
 
 
 
 
336
  return $this;
337
  }
338
 
339
+ /**
340
+ * Retrieves store_id from current store
341
+ *
342
+ * @return int
343
+ */
344
+ protected function _getCurrentStoreId()
345
+ {
346
+ return (int)Mage::app()->getStore()->getId();
347
+ }
348
+
349
  /**
350
  * Enter description here ...
351
  *
app/code/core/Mage/Catalog/Model/Resource/Category/Indexer/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Category/Tree.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Collection/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Config.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Attribute/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Attribute/Frontend/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Attribute/Source/Layout.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Attribute/Source/Mode.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Attribute/Source/Page.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Indexer/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Tree.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Collection/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Config.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Layer/Filter/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Layer/Filter/Decimal.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Layer/Filter/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Action.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Backend/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Backend/Media.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Backend/Tierprice.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Backend/Urlkey.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Frontend/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Attribute/Frontend/Tierprice.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Compare/Item.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Compare/Item/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat/Indexer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Decimal.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Source.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Configurable.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Default.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Grouped.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Link.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Link/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Link/Product/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Option.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Option/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Option/Value.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Option/Value/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Relation.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Status.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Type/Configurable.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Type/Configurable/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Type/Configurable/Attribute/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Type/Configurable/Product/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Website.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Sendfriend.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Sendfriend/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Setup.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Url.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Helper/Mysql4.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Layer/Filter/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Layer/Filter/Decimal.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Layer/Filter/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -309,7 +309,9 @@ class Mage_Catalog_Model_Resource_Layer_Filter_Price extends Mage_Core_Model_Res
309
  {
310
  $select = $this->_getSelect($filter);
311
  $priceExpression = $this->_getPriceExpression($filter, $select);
312
- $select->columns(array($this->_getFullPriceExpression($filter, $select)));
 
 
313
  if (!is_null($lowerPrice)) {
314
  $select->where("$priceExpression >= " . $this->_getComparingValue($lowerPrice, $filter));
315
  }
@@ -371,7 +373,9 @@ class Mage_Catalog_Model_Resource_Layer_Filter_Price extends Mage_Core_Model_Res
371
  }
372
 
373
  $pricesSelect
374
- ->columns(array($this->_getFullPriceExpression($filter, $pricesSelect)))
 
 
375
  ->where("$priceExpression >= " . $this->_getComparingValue($price, $filter));
376
  if (!is_null($upperPrice)) {
377
  $pricesSelect->where("$priceExpression < " . $this->_getComparingValue($upperPrice, $filter));
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
309
  {
310
  $select = $this->_getSelect($filter);
311
  $priceExpression = $this->_getPriceExpression($filter, $select);
312
+ $select->columns(array(
313
+ 'min_price_expr' => $this->_getFullPriceExpression($filter, $select)
314
+ ));
315
  if (!is_null($lowerPrice)) {
316
  $select->where("$priceExpression >= " . $this->_getComparingValue($lowerPrice, $filter));
317
  }
373
  }
374
 
375
  $pricesSelect
376
+ ->columns(array(
377
+ 'min_price_expr' => $this->_getFullPriceExpression($filter, $pricesSelect)
378
+ ))
379
  ->where("$priceExpression >= " . $this->_getComparingValue($price, $filter));
380
  if (!is_null($upperPrice)) {
381
  $pricesSelect->where("$priceExpression < " . $this->_getComparingValue($upperPrice, $filter));
app/code/core/Mage/Catalog/Model/Resource/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Action.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Groupprice.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Groupprice/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Media.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Tierprice.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Backend/Urlkey.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -31,6 +31,7 @@
31
  * @category Mage
32
  * @package Mage_Catalog
33
  * @author Magento Core Team <core@magentocommerce.com>
 
34
  */
35
  class Mage_Catalog_Model_Resource_Product_Attribute_Backend_Urlkey
36
  extends Mage_Eav_Model_Entity_Attribute_Backend_Abstract
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
31
  * @category Mage
32
  * @package Mage_Catalog
33
  * @author Magento Core Team <core@magentocommerce.com>
34
+ * @deprecated since 1.7.0.2
35
  */
36
  class Mage_Catalog_Model_Resource_Product_Attribute_Backend_Urlkey
37
  extends Mage_Eav_Model_Entity_Attribute_Backend_Abstract
app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Frontend/Image.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Attribute/Frontend/Tierprice.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -208,6 +208,25 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
208
  */
209
  protected $_catalogPreparePriceSelect = null;
210
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  /**
212
  * Get cloned Select after dispatching 'catalog_prepare_price_select' event
213
  *
@@ -304,20 +323,22 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
304
 
305
  /**
306
  * Retrieve is flat enabled flag
307
- * Return alvays false if magento run admin
308
  *
309
  * @return bool
310
  */
311
  public function isEnabledFlat()
312
  {
 
313
  if (Mage::app()->getStore()->isAdmin()) {
314
  return false;
315
  }
316
- if (!isset($this->_flatEnabled[$this->getStoreId()])) {
317
- $this->_flatEnabled[$this->getStoreId()] = $this->getFlatHelper()
318
- ->isEnabled($this->getStoreId());
 
319
  }
320
- return $this->_flatEnabled[$this->getStoreId()];
321
  }
322
 
323
  /**
@@ -520,8 +541,6 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
520
  $this->_addUrlRewrite($this->_urlRewriteCategory);
521
  }
522
 
523
- $this->_prepareUrlDataObject();
524
-
525
  if (count($this) > 0) {
526
  Mage::dispatchEvent('catalog_product_collection_load_after', array('collection' => $this));
527
  }
@@ -539,6 +558,7 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
539
  * Prepare Url Data object
540
  *
541
  * @return Mage_Catalog_Model_Resource_Product_Collection
 
542
  */
543
  protected function _prepareUrlDataObject()
544
  {
@@ -653,7 +673,6 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
653
  $store = Mage::app()->getStore($store);
654
 
655
  if (!$store->isAdmin()) {
656
- $this->setStoreId($store);
657
  $this->_productLimitationFilters['store_id'] = $store->getId();
658
  $this->_applyProductLimitations();
659
  }
@@ -905,9 +924,11 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
905
  $priceExpression = $this->getPriceExpression($select) . ' ' . $this->getAdditionalPriceExpression($select);
906
  $sqlEndPart = ') * ' . $this->getCurrencyRate() . ', 2)';
907
  $select = $this->_getSelectCountSql($select, false);
908
- $select->columns('ROUND(MAX(' . $priceExpression . $sqlEndPart);
909
- $select->columns('ROUND(MIN(' . $priceExpression . $sqlEndPart);
910
- $select->columns($this->getConnection()->getStandardDeviationSql('ROUND((' . $priceExpression . $sqlEndPart));
 
 
911
  $select->where($this->getPriceExpression($select) . ' IS NOT NULL');
912
  $row = $this->getConnection()->fetchRow($select, $this->_bindParams, Zend_Db::FETCH_NUM);
913
  $this->_pricesCount = (int)$row[0];
@@ -1091,6 +1112,7 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
1091
  /**
1092
  * Joins url rewrite rules to collection
1093
  *
 
1094
  * @return Mage_Catalog_Model_Resource_Product_Collection
1095
  */
1096
  public function joinUrlRewrite()
@@ -1110,7 +1132,7 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
1110
  * Add URL rewrites data to product
1111
  * If collection loadded - run processing else set flag
1112
  *
1113
- * @param int $categoryId
1114
  * @return Mage_Catalog_Model_Resource_Product_Collection
1115
  */
1116
  public function addUrlRewrite($categoryId = '')
@@ -1153,15 +1175,10 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
1153
  return;
1154
  }
1155
 
1156
- $select = $this->getConnection()->select()
1157
- ->from($this->getTable('core/url_rewrite'), array('product_id', 'request_path'))
1158
- ->where('store_id = ?', Mage::app()->getStore()->getId())
1159
- ->where('is_system = ?', 1)
1160
- ->where('category_id = ? OR category_id IS NULL', $this->_urlRewriteCategory)
1161
- ->where('product_id IN(?)', $productIds)
1162
- ->order('category_id ' . self::SORT_ORDER_DESC); // more priority is data with category id
1163
- $urlRewrites = array();
1164
 
 
1165
  foreach ($this->getConnection()->fetchAll($select) as $row) {
1166
  if (!isset($urlRewrites[$row['product_id']])) {
1167
  $urlRewrites[$row['product_id']] = $row['request_path'];
@@ -1179,6 +1196,9 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
1179
  }
1180
 
1181
  foreach($this->getItems() as $item) {
 
 
 
1182
  if (isset($urlRewrites[$item->getEntityId()])) {
1183
  $item->setData('request_path', $urlRewrites[$item->getEntityId()]);
1184
  } else {
@@ -1816,6 +1836,12 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
1816
  */
1817
  protected function _applyProductLimitations()
1818
  {
 
 
 
 
 
 
1819
  $this->_prepareProductLimitationFilters();
1820
  $this->_productLimitationJoinWebsite();
1821
  $this->_productLimitationJoinPrice();
@@ -1833,8 +1859,11 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
1833
  $conditions[] = $this->getConnection()
1834
  ->quoteInto('cat_index.visibility IN(?)', $filters['visibility']);
1835
  }
1836
- $conditions[] = $this->getConnection()
1837
- ->quoteInto('cat_index.category_id=?', $filters['category_id']);
 
 
 
1838
  if (isset($filters['category_is_anchor'])) {
1839
  $conditions[] = $this->getConnection()
1840
  ->quoteInto('cat_index.is_parent=?', $filters['category_is_anchor']);
@@ -1857,7 +1886,7 @@ class Mage_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_
1857
  $this->_productLimitationJoinStore();
1858
 
1859
  Mage::dispatchEvent('catalog_product_collection_apply_limitations_after', array(
1860
- 'collection' => $this
1861
  ));
1862
 
1863
  return $this;
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
208
  */
209
  protected $_catalogPreparePriceSelect = null;
210
 
211
+ /**
212
+ * Catalog factory instance
213
+ *
214
+ * @var Mage_Catalog_Model_Factory
215
+ */
216
+ protected $_factory;
217
+
218
+ /**
219
+ * Initialize factory
220
+ *
221
+ * @param Mage_Core_Model_Resource_Abstract $resource
222
+ * @param array $args
223
+ */
224
+ public function __construct($resource = null, array $args = array())
225
+ {
226
+ parent::__construct($resource);
227
+ $this->_factory = !empty($args['factory']) ? $args['factory'] : Mage::getSingleton('catalog/factory');
228
+ }
229
+
230
  /**
231
  * Get cloned Select after dispatching 'catalog_prepare_price_select' event
232
  *
323
 
324
  /**
325
  * Retrieve is flat enabled flag
326
+ * Return always false if magento run admin
327
  *
328
  * @return bool
329
  */
330
  public function isEnabledFlat()
331
  {
332
+ // Flat Data can be used only on frontend
333
  if (Mage::app()->getStore()->isAdmin()) {
334
  return false;
335
  }
336
+ $storeId = $this->getStoreId();
337
+ if (!isset($this->_flatEnabled[$storeId])) {
338
+ $flatHelper = $this->getFlatHelper();
339
+ $this->_flatEnabled[$storeId] = $flatHelper->isAvailable() && $flatHelper->isBuilt($storeId);
340
  }
341
+ return $this->_flatEnabled[$storeId];
342
  }
343
 
344
  /**
541
  $this->_addUrlRewrite($this->_urlRewriteCategory);
542
  }
543
 
 
 
544
  if (count($this) > 0) {
545
  Mage::dispatchEvent('catalog_product_collection_load_after', array('collection' => $this));
546
  }
558
  * Prepare Url Data object
559
  *
560
  * @return Mage_Catalog_Model_Resource_Product_Collection
561
+ * @deprecated after 1.7.0.2
562
  */
563
  protected function _prepareUrlDataObject()
564
  {
673
  $store = Mage::app()->getStore($store);
674
 
675
  if (!$store->isAdmin()) {
 
676
  $this->_productLimitationFilters['store_id'] = $store->getId();
677
  $this->_applyProductLimitations();
678
  }
924
  $priceExpression = $this->getPriceExpression($select) . ' ' . $this->getAdditionalPriceExpression($select);
925
  $sqlEndPart = ') * ' . $this->getCurrencyRate() . ', 2)';
926
  $select = $this->_getSelectCountSql($select, false);
927
+ $select->columns(array(
928
+ 'max' => 'ROUND(MAX(' . $priceExpression . $sqlEndPart,
929
+ 'min' => 'ROUND(MIN(' . $priceExpression . $sqlEndPart,
930
+ 'std' => $this->getConnection()->getStandardDeviationSql('ROUND((' . $priceExpression . $sqlEndPart)
931
+ ));
932
  $select->where($this->getPriceExpression($select) . ' IS NOT NULL');
933
  $row = $this->getConnection()->fetchRow($select, $this->_bindParams, Zend_Db::FETCH_NUM);
934
  $this->_pricesCount = (int)$row[0];
1112
  /**
1113
  * Joins url rewrite rules to collection
1114
  *
1115
+ * @deprecated after 1.7.0.2. Method is not used anywhere in the code.
1116
  * @return Mage_Catalog_Model_Resource_Product_Collection
1117
  */
1118
  public function joinUrlRewrite()
1132
  * Add URL rewrites data to product
1133
  * If collection loadded - run processing else set flag
1134
  *
1135
+ * @param int|string $categoryId
1136
  * @return Mage_Catalog_Model_Resource_Product_Collection
1137
  */
1138
  public function addUrlRewrite($categoryId = '')
1175
  return;
1176
  }
1177
 
1178
+ $select = $this->_factory->getProductUrlRewriteHelper()
1179
+ ->getTableSelect($productIds, $this->_urlRewriteCategory, Mage::app()->getStore()->getId());
 
 
 
 
 
 
1180
 
1181
+ $urlRewrites = array();
1182
  foreach ($this->getConnection()->fetchAll($select) as $row) {
1183
  if (!isset($urlRewrites[$row['product_id']])) {
1184
  $urlRewrites[$row['product_id']] = $row['request_path'];
1196
  }
1197
 
1198
  foreach($this->getItems() as $item) {
1199
+ if (empty($this->_urlRewriteCategory)) {
1200
+ $item->setDoNotUseCategoryId(true);
1201
+ }
1202
  if (isset($urlRewrites[$item->getEntityId()])) {
1203
  $item->setData('request_path', $urlRewrites[$item->getEntityId()]);
1204
  } else {
1836
  */
1837
  protected function _applyProductLimitations()
1838
  {
1839
+ Mage::dispatchEvent('catalog_product_collection_apply_limitations_before', array(
1840
+ 'collection' => $this,
1841
+ 'category_id' => isset($this->_productLimitationFilters['category_id'])
1842
+ ? $this->_productLimitationFilters['category_id']
1843
+ : null,
1844
+ ));
1845
  $this->_prepareProductLimitationFilters();
1846
  $this->_productLimitationJoinWebsite();
1847
  $this->_productLimitationJoinPrice();
1859
  $conditions[] = $this->getConnection()
1860
  ->quoteInto('cat_index.visibility IN(?)', $filters['visibility']);
1861
  }
1862
+
1863
+ if (!$this->getFlag('disable_root_category_filter')) {
1864
+ $conditions[] = $this->getConnection()->quoteInto('cat_index.category_id = ?', $filters['category_id']);
1865
+ }
1866
+
1867
  if (isset($filters['category_is_anchor'])) {
1868
  $conditions[] = $this->getConnection()
1869
  ->quoteInto('cat_index.is_parent=?', $filters['category_is_anchor']);
1886
  $this->_productLimitationJoinStore();
1887
 
1888
  Mage::dispatchEvent('catalog_product_collection_apply_limitations_after', array(
1889
+ 'collection' => $this
1890
  ));
1891
 
1892
  return $this;
app/code/core/Mage/Catalog/Model/Resource/Product/Compare/Item.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Compare/Item/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Flat.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -41,6 +41,13 @@ class Mage_Catalog_Model_Resource_Product_Flat extends Mage_Core_Model_Resource_
41
  */
42
  protected $_storeId;
43
 
 
 
 
 
 
 
 
44
  /**
45
  * Init connection and resource table
46
  *
@@ -217,4 +224,33 @@ class Mage_Catalog_Model_Resource_Product_Flat extends Mage_Core_Model_Resource_
217
  {
218
  return $this->getFlatTableName($this->getStoreId());
219
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
220
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
41
  */
42
  protected $_storeId;
43
 
44
+ /**
45
+ * Store flag which defines if Catalog Product Flat Data has been initialized
46
+ *
47
+ * @var array
48
+ */
49
+ protected $_isBuilt = array();
50
+
51
  /**
52
  * Init connection and resource table
53
  *
224
  {
225
  return $this->getFlatTableName($this->getStoreId());
226
  }
227
+
228
+ /**
229
+ * Check if Catalog Product Flat Data has been initialized
230
+ *
231
+ * @param bool|int|\Mage_Core_Model_Store|null $storeView Store(id) for which the value is checked
232
+ * @return bool
233
+ */
234
+ public function isBuilt($storeView = null)
235
+ {
236
+ if ($storeView === null) {
237
+ $storeId = Mage::app()->getDefaultStoreView()->getId();
238
+ } elseif (is_int($storeView)) {
239
+ $storeId = $storeView;
240
+ } else {
241
+ $storeId = Mage::app()->getStore($storeView)->getId();
242
+ }
243
+
244
+ if (!isset($this->_isBuilt[$storeId])) {
245
+ $select = $this->_getReadAdapter()->select()
246
+ ->from($this->getFlatTableName($storeId), 'entity_id')
247
+ ->limit(1);
248
+ try {
249
+ $this->_isBuilt[$storeId] = (bool)$this->_getReadAdapter()->fetchOne($select);
250
+ } catch (Exception $e) {
251
+ $this->_isBuilt[$storeId] = false;
252
+ }
253
+ }
254
+ return $this->_isBuilt[$storeId];
255
+ }
256
  }
app/code/core/Mage/Catalog/Model/Resource/Product/Flat/Indexer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -121,9 +121,6 @@ class Mage_Catalog_Model_Resource_Product_Flat_Indexer extends Mage_Index_Model_
121
  foreach (Mage::app()->getStores() as $store) {
122
  $this->rebuild($store->getId());
123
  }
124
- $flag = $this->getFlatHelper()->getFlag();
125
- $flag->setIsBuild(true)->save();
126
-
127
  return $this;
128
  }
129
 
@@ -137,6 +134,8 @@ class Mage_Catalog_Model_Resource_Product_Flat_Indexer extends Mage_Index_Model_
137
  $this->updateRelationProducts($storeId);
138
  $this->cleanRelationProducts($storeId);
139
 
 
 
140
  return $this;
141
  }
142
 
@@ -1397,8 +1396,6 @@ class Mage_Catalog_Model_Resource_Product_Flat_Indexer extends Mage_Index_Model_
1397
  throw $e;
1398
  }
1399
  }
1400
- $flag = $this->getFlatHelper()->getFlag();
1401
- $flag->setIsBuild(true)->save();
1402
 
1403
  return $this;
1404
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
121
  foreach (Mage::app()->getStores() as $store) {
122
  $this->rebuild($store->getId());
123
  }
 
 
 
124
  return $this;
125
  }
126
 
134
  $this->updateRelationProducts($storeId);
135
  $this->cleanRelationProducts($storeId);
136
 
137
+ $flag = $this->getFlatHelper()->getFlag();
138
+ $flag->setIsBuilt(true)->setStoreBuilt($storeId, true)->save();
139
  return $this;
140
  }
141
 
1396
  throw $e;
1397
  }
1398
  }
 
 
1399
 
1400
  return $this;
1401
  }
app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Eav.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Eav/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Eav/Decimal.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Eav/Source.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Configurable.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Default.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Grouped.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Link.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Link/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Link/Product/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -116,6 +116,7 @@ class Mage_Catalog_Model_Resource_Product_Link_Product_Collection extends Mage_C
116
  $this->_product = $product;
117
  if ($product && $product->getId()) {
118
  $this->_hasLinkFilter = true;
 
119
  }
120
  return $this;
121
  }
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
116
  $this->_product = $product;
117
  if ($product && $product->getId()) {
118
  $this->_hasLinkFilter = true;
119
+ $this->setStore($product->getStore());
120
  }
121
  return $this;
122
  }
app/code/core/Mage/Catalog/Model/Resource/Product/Option.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Option/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Option/Value.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Option/Value/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Relation.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Status.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable/Product/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Product/Website.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Setup.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Resource/Url.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Session.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/System/Config/Backend/Catalog/Category/Flat.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -37,7 +37,8 @@ class Mage_Catalog_Model_System_Config_Backend_Catalog_Category_Flat extends Mag
37
  protected function _afterSave()
38
  {
39
  if ($this->isValueChanged() && $this->getValue()) {
40
- Mage::getSingleton('index/indexer')->getProcessByCode('catalog_category_flat')
 
41
  ->changeStatus(Mage_Index_Model_Process::STATUS_REQUIRE_REINDEX);
42
  }
43
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
37
  protected function _afterSave()
38
  {
39
  if ($this->isValueChanged() && $this->getValue()) {
40
+ Mage::getModel('index/indexer')
41
+ ->getProcessByCode(Mage_Catalog_Helper_Category_Flat::CATALOG_CATEGORY_FLAT_PROCESS_CODE)
42
  ->changeStatus(Mage_Index_Model_Process::STATUS_REQUIRE_REINDEX);
43
  }
44
 
app/code/core/Mage/Catalog/Model/System/Config/Backend/Catalog/Product/Flat.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/System/Config/Backend/Catalog/Url/Rewrite/Suffix.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Template/Filter.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/Model/Url.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/controllers/CategoryController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -55,6 +55,8 @@ class Mage_Catalog_CategoryController extends Mage_Core_Controller_Front_Action
55
  }
56
  Mage::getSingleton('catalog/session')->setLastVisitedCategoryId($category->getId());
57
  Mage::register('current_category', $category);
 
 
58
  try {
59
  Mage::dispatchEvent(
60
  'catalog_controller_category_init_after',
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
55
  }
56
  Mage::getSingleton('catalog/session')->setLastVisitedCategoryId($category->getId());
57
  Mage::register('current_category', $category);
58
+ Mage::register('current_entity_key', $category->getPath());
59
+
60
  try {
61
  Mage::dispatchEvent(
62
  'catalog_controller_category_init_after',
app/code/core/Mage/Catalog/controllers/IndexController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/controllers/Product/CompareController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/controllers/ProductController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/controllers/Seo/SitemapController.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/data/catalog_setup/data-install-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/data/catalog_setup/data-upgrade-1.6.0.0.12-1.6.0.0.13.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/data/catalog_setup/data-upgrade-1.6.0.0.13-1.6.0.0.14.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  /** @var $installer Mage_Catalog_Model_Resource_Setup */
@@ -62,7 +62,7 @@ if ($attributeTableOld != $attributeTableNew) {
62
  }
63
 
64
  Mage::getModel('index/indexer')
65
- ->getProcessByCode('catalog_category_flat')
66
  ->changeStatus(Mage_Index_Model_Process::STATUS_REQUIRE_REINDEX);
67
 
68
  $installer->endSetup();
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  /** @var $installer Mage_Catalog_Model_Resource_Setup */
62
  }
63
 
64
  Mage::getModel('index/indexer')
65
+ ->getProcessByCode(Mage_Catalog_Helper_Category_Flat::CATALOG_CATEGORY_FLAT_PROCESS_CODE)
66
  ->changeStatus(Mage_Index_Model_Process::STATUS_REQUIRE_REINDEX);
67
 
68
  $installer->endSetup();
app/code/core/Mage/Catalog/data/catalog_setup/data-upgrade-1.6.0.0.4-1.6.0.0.5.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/data/catalog_setup/data-upgrade-1.6.0.0.8-1.6.0.0.9.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/etc/adminhtml.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Catalog/etc/api.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
@@ -163,6 +163,10 @@
163
  <title>Update product</title>
164
  <acl>catalog/product/update</acl>
165
  </update>
 
 
 
 
166
  <delete translate="title" module="catalog">
167
  <title>Delete product</title>
168
  <acl>catalog/product/delete</acl>
@@ -209,6 +213,14 @@
209
  <code>106</code>
210
  <message>Product attribute set is not belong catalog product entity type</message>
211
  </product_attribute_set_not_valid>
 
 
 
 
 
 
 
 
212
  </faults>
213
  </catalog_product>
214
  <catalog_product_attribute translate="title" module="catalog">
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
163
  <title>Update product</title>
164
  <acl>catalog/product/update</acl>
165
  </update>
166
+ <multiUpdate translate="title" module="Mage_Catalog">
167
+ <title>Multi update product</title>
168
+ <acl>catalog/product/update</acl>
169
+ </multiUpdate>
170
  <delete translate="title" module="catalog">
171
  <title>Delete product</title>
172
  <acl>catalog/product/delete</acl>
213
  <code>106</code>
214
  <message>Product attribute set is not belong catalog product entity type</message>
215
  </product_attribute_set_not_valid>
216
+ <multi_update_not_match>
217
+ <code>107</code>
218
+ <message>Quantity of product IDs and product data should match. No changes made.</message>
219
+ </multi_update_not_match>
220
+ <partially_updated>
221
+ <code>108</code>
222
+ <message>There was an error during one or more products update. See error log for details.</message>
223
+ </partially_updated>
224
  </faults>
225
  </catalog_product>
226
  <catalog_product_attribute translate="title" module="catalog">
app/code/core/Mage/Catalog/etc/api2.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Catalog/etc/config.xml CHANGED
@@ -21,14 +21,14 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
28
  <config>
29
  <modules>
30
  <Mage_Catalog>
31
- <version>1.6.0.0.14</version>
32
  </Mage_Catalog>
33
  </modules>
34
  <admin>
@@ -467,6 +467,14 @@
467
  </catalog_add_topmenu_items>
468
  </observers>
469
  </page_block_html_topmenu_gethtml_before>
 
 
 
 
 
 
 
 
470
  </events>
471
  <catalog>
472
  <product>
@@ -587,11 +595,28 @@
587
  </attribute_nodes>
588
  <add_filterable_attributes>0</add_filterable_attributes>
589
  <add_child_data>0</add_child_data>
 
 
 
590
  </flat>
 
 
 
 
 
 
591
  </product>
592
  <content>
593
  <tempate_filter>catalog/template_filter</tempate_filter>
594
  </content>
 
 
 
 
 
 
 
 
595
  </catalog>
596
  <eav_attributes>
597
  <catalog_product>
@@ -646,6 +671,14 @@
646
  </catalog_wysiwyg>
647
  </observers>
648
  </cms_wysiwyg_images_static_urls_allowed>
 
 
 
 
 
 
 
 
649
  </events>
650
  </adminhtml>
651
  <frontend>
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
28
  <config>
29
  <modules>
30
  <Mage_Catalog>
31
+ <version>1.6.0.0.18</version>
32
  </Mage_Catalog>
33
  </modules>
34
  <admin>
467
  </catalog_add_topmenu_items>
468
  </observers>
469
  </page_block_html_topmenu_gethtml_before>
470
+ <catalog_entity_attribute_save_before>
471
+ <observers>
472
+ <catalog_check_reserved_attribute_codes>
473
+ <class>catalog/observer</class>
474
+ <method>checkReservedAttributeCodes</method>
475
+ </catalog_check_reserved_attribute_codes>
476
+ </observers>
477
+ </catalog_entity_attribute_save_before>
478
  </events>
479
  <catalog>
480
  <product>
595
  </attribute_nodes>
596
  <add_filterable_attributes>0</add_filterable_attributes>
597
  <add_child_data>0</add_child_data>
598
+ <flag>
599
+ <model>catalog/product_flat_flag</model>
600
+ </flag>
601
  </flat>
602
+ <url>
603
+ <model>catalog/product_url</model>
604
+ </url>
605
+ <url_rewrite>
606
+ <helper>catalog/product_url_rewrite</helper>
607
+ </url_rewrite>
608
  </product>
609
  <content>
610
  <tempate_filter>catalog/template_filter</tempate_filter>
611
  </content>
612
+ <category>
613
+ <url>
614
+ <model>catalog/category_url</model>
615
+ </url>
616
+ <url_rewrite>
617
+ <helper>catalog/category_url_rewrite</helper>
618
+ </url_rewrite>
619
+ </category>
620
  </catalog>
621
  <eav_attributes>
622
  <catalog_product>
671
  </catalog_wysiwyg>
672
  </observers>
673
  </cms_wysiwyg_images_static_urls_allowed>
674
+ <admin_system_config_changed_section_catalog>
675
+ <observers>
676
+ <mage_catalog>
677
+ <class>core/observer</class>
678
+ <method>cleanCacheByTags</method>
679
+ </mage_catalog>
680
+ </observers>
681
+ </admin_system_config_changed_section_catalog>
682
  </events>
683
  </adminhtml>
684
  <frontend>
app/code/core/Mage/Catalog/etc/convert.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/Catalog/etc/system.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
@@ -116,8 +116,9 @@
116
  <show_in_store>0</show_in_store>
117
  </flat_catalog_category>
118
 
119
- <flat_catalog_product translate="label">
120
  <label>Use Flat Catalog Product</label>
 
121
  <frontend_type>select</frontend_type>
122
  <frontend_model>adminhtml/system_config_form_field_select_flatproduct</frontend_model>
123
  <backend_model>catalog/system_config_backend_catalog_product_flat</backend_model>
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
116
  <show_in_store>0</show_in_store>
117
  </flat_catalog_category>
118
 
119
+ <flat_catalog_product translate="label comment">
120
  <label>Use Flat Catalog Product</label>
121
+ <comment><![CDATA[Enable for reindexing a big number of SKUs]]>.</comment>
122
  <frontend_type>select</frontend_type>
123
  <frontend_model>adminhtml/system_config_form_field_select_flatproduct</frontend_model>
124
  <backend_model>catalog/system_config_backend_catalog_product_flat</backend_model>
app/code/core/Mage/Catalog/etc/widget.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
@@ -31,10 +31,42 @@
31
  <description>List of Products that are set as New</description>
32
  <is_email_compatible>1</is_email_compatible>
33
  <parameters>
34
- <products_count translate="label">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  <required>1</required>
36
  <visible>1</visible>
37
  <value>5</value>
 
 
 
 
 
 
 
 
38
  <label>Number of Products to Display</label>
39
  <type>text</type>
40
  </products_count>
21
  *
22
  * @category Mage
23
  * @package Mage_Catalog
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
31
  <description>List of Products that are set as New</description>
32
  <is_email_compatible>1</is_email_compatible>
33
  <parameters>
34
+ <display_type translate="label description">
35
+ <required>1</required>
36
+ <visible>1</visible>
37
+ <label>Display Type</label>
38
+ <type>select</type>
39
+ <value>all_products</value>
40
+ <values>
41
+ <default translate="label">
42
+ <value>all_products</value>
43
+ <label>All products</label>
44
+ </default>
45
+ <item translate="label">
46
+ <value>new_products</value>
47
+ <label>New products</label>
48
+ </item>
49
+ </values>
50
+ <description>All products - recently added products, New products - products marked as new</description>
51
+ </display_type>
52
+ <show_pager translate="label">
53
+ <visible>1</visible>
54
+ <label>Display Page Control</label>
55
+ <type>select</type>
56
+ <source_model>adminhtml/system_config_source_yesno</source_model>
57
+ </show_pager>
58
+ <products_per_page translate="label">
59
  <required>1</required>
60
  <visible>1</visible>
61
  <value>5</value>
62
+ <label>Number of Products per Page</label>
63
+ <type>text</type>
64
+ <depends><show_pager><value>1</value></show_pager></depends>
65
+ </products_per_page>
66
+ <products_count translate="label">
67
+ <required>1</required>
68
+ <visible>1</visible>
69
+ <value>10</value>
70
  <label>Number of Products to Display</label>
71
  <type>text</type>
72
  </products_count>
app/code/core/Mage/Catalog/etc/wsdl.xml CHANGED
@@ -107,6 +107,13 @@
107
  <element name="additional_attributes" type="typens:catalogProductAdditionalAttributesEntity" minOccurs="0"/>
108
  </all>
109
  </complexType>
 
 
 
 
 
 
 
110
  <complexType name="catalogProductAttributeSetEntity">
111
  <all>
112
  <element name="set_id" type="xsd:int" minOccurs="0"/>
@@ -604,6 +611,13 @@
604
  <element name="sort_order" type="xsd:string" minOccurs="0" maxOccurs="1" />
605
  </all>
606
  </complexType>
 
 
 
 
 
 
 
607
  </schema>
608
  </types>
609
  <message name="catalogProductCurrentStoreRequest">
@@ -623,10 +637,10 @@
623
  </message>
624
  <message name="catalogProductInfoRequest">
625
  <part name="sessionId" type="xsd:string"/>
626
- <part name="product" type="xsd:string"/>
627
  <part name="storeView" type="xsd:string"/>
628
  <part name="attributes" type="typens:catalogProductRequestAttributes"/>
629
- <part name="productIdentifierType" type="xsd:string"/>
630
  </message>
631
  <message name="catalogProductInfoResponse">
632
  <part name="info" type="typens:catalogProductReturnEntity"/>
@@ -647,11 +661,21 @@
647
  <part name="product" type="xsd:string"/>
648
  <part name="productData" type="typens:catalogProductCreateEntity"/>
649
  <part name="storeView" type="xsd:string"/>
650
- <part name="productIdentifierType" type="xsd:string"/>
651
  </message>
652
  <message name="catalogProductUpdateResponse">
653
  <part name="result" type="xsd:boolean"/>
654
  </message>
 
 
 
 
 
 
 
 
 
 
655
  <message name="catalogProductSetSpecialPriceRequest">
656
  <part name="sessionId" type="xsd:string"/>
657
  <part name="product" type="xsd:string"/>
@@ -659,7 +683,7 @@
659
  <part name="fromDate" type="xsd:string"/>
660
  <part name="toDate" type="xsd:string"/>
661
  <part name="storeView" type="xsd:string"/>
662
- <part name="productIdentifierType" type="xsd:string"/>
663
  </message>
664
  <message name="catalogProductSetSpecialPriceResponse">
665
  <part name="result" type="xsd:int"/>
@@ -668,15 +692,15 @@
668
  <part name="sessionId" type="xsd:string"/>
669
  <part name="product" type="xsd:string"/>
670
  <part name="storeView" type="xsd:string"/>
671
- <part name="productIdentifierType" type="xsd:string"/>
672
  </message>
673
  <message name="catalogProductGetSpecialPriceResponse">
674
- <part name="result" type="typens:catalogProductReturnEntity"/>
675
  </message>
676
  <message name="catalogProductDeleteRequest">
677
  <part name="sessionId" type="xsd:string"/>
678
  <part name="product" type="xsd:string"/>
679
- <part name="productIdentifierType" type="xsd:string"/>
680
  </message>
681
  <message name="catalogProductDeleteResponse">
682
  <part name="result" type="xsd:int"/>
@@ -807,7 +831,7 @@
807
  <part name="data" type="typens:catalogProductAttributeEntityToUpdate"/>
808
  </message>
809
  <message name="catalogProductAttributeUpdateResponse">
810
- <part name="result" type="xsd:boolean" />
811
  </message>
812
  <message name="catalogProductAttributeAddOptionRequest">
813
  <part name="sessionId" type="xsd:string"/>
@@ -834,7 +858,7 @@
834
  <message name="catalogProductAttributeTierPriceInfoRequest">
835
  <part name="sessionId" type="xsd:string"/>
836
  <part name="product" type="xsd:string"/>
837
- <part name="productIdentifierType" type="xsd:string"/>
838
  </message>
839
  <message name="catalogProductAttributeTierPriceInfoResponse">
840
  <part name="result" type="typens:catalogProductTierPriceEntityArray"/>
@@ -843,7 +867,7 @@
843
  <part name="sessionId" type="xsd:string"/>
844
  <part name="product" type="xsd:string"/>
845
  <part name="tier_price" type="typens:catalogProductTierPriceEntityArray"/>
846
- <part name="productIdentifierType" type="xsd:string"/>
847
  </message>
848
  <message name="catalogProductAttributeTierPriceUpdateResponse">
849
  <part name="result" type="xsd:int"/>
@@ -859,7 +883,7 @@
859
  <part name="sessionId" type="xsd:string"/>
860
  <part name="product" type="xsd:string"/>
861
  <part name="storeView" type="xsd:string"/>
862
- <part name="productIdentifierType" type="xsd:string"/>
863
  </message>
864
  <message name="catalogProductAttributeMediaListResponse">
865
  <part name="result" type="typens:catalogProductImageEntityArray"/>
@@ -869,7 +893,7 @@
869
  <part name="product" type="xsd:string"/>
870
  <part name="file" type="xsd:string"/>
871
  <part name="storeView" type="xsd:string"/>
872
- <part name="productIdentifierType" type="xsd:string"/>
873
  </message>
874
  <message name="catalogProductAttributeMediaInfoResponse">
875
  <part name="result" type="typens:catalogProductImageEntity"/>
@@ -886,7 +910,7 @@
886
  <part name="product" type="xsd:string"/>
887
  <part name="data" type="typens:catalogProductAttributeMediaCreateEntity"/>
888
  <part name="storeView" type="xsd:string"/>
889
- <part name="productIdentifierType" type="xsd:string"/>
890
  </message>
891
  <message name="catalogProductAttributeMediaCreateResponse">
892
  <part name="result" type="xsd:string"/>
@@ -897,7 +921,7 @@
897
  <part name="file" type="xsd:string"/>
898
  <part name="data" type="typens:catalogProductAttributeMediaCreateEntity"/>
899
  <part name="storeView" type="xsd:string"/>
900
- <part name="productIdentifierType" type="xsd:string"/>
901
  </message>
902
  <message name="catalogProductAttributeMediaUpdateResponse">
903
  <part name="result" type="xsd:boolean"/>
@@ -906,7 +930,7 @@
906
  <part name="sessionId" type="xsd:string"/>
907
  <part name="product" type="xsd:string"/>
908
  <part name="file" type="xsd:string"/>
909
- <part name="productIdentifierType" type="xsd:string"/>
910
  </message>
911
  <message name="catalogProductAttributeMediaRemoveResponse">
912
  <part name="result" type="xsd:boolean"/>
@@ -915,7 +939,7 @@
915
  <part name="sessionId" type="xsd:string"/>
916
  <part name="type" type="xsd:string"/>
917
  <part name="product" type="xsd:string"/>
918
- <part name="productIdentifierType" type="xsd:string"/>
919
  </message>
920
  <message name="catalogProductLinkListResponse">
921
  <part name="result" type="typens:catalogProductLinkEntityArray"/>
@@ -926,7 +950,7 @@
926
  <part name="product" type="xsd:string"/>
927
  <part name="linkedProduct" type="xsd:string"/>
928
  <part name="data" type="typens:catalogProductLinkEntity"/>
929
- <part name="productIdentifierType" type="xsd:string"/>
930
  </message>
931
  <message name="catalogProductLinkAssignResponse">
932
  <part name="result" type="xsd:boolean"/>
@@ -937,7 +961,7 @@
937
  <part name="product" type="xsd:string"/>
938
  <part name="linkedProduct" type="xsd:string"/>
939
  <part name="data" type="typens:catalogProductLinkEntity"/>
940
- <part name="productIdentifierType" type="xsd:string"/>
941
  </message>
942
  <message name="catalogProductLinkUpdateResponse">
943
  <part name="result" type="xsd:boolean"/>
@@ -947,7 +971,7 @@
947
  <part name="type" type="xsd:string"/>
948
  <part name="product" type="xsd:string"/>
949
  <part name="linkedProduct" type="xsd:string"/>
950
- <part name="productIdentifierType" type="xsd:string"/>
951
  </message>
952
  <message name="catalogProductLinkRemoveResponse">
953
  <part name="result" type="xsd:boolean"/>
@@ -1132,7 +1156,7 @@
1132
  <part name="categoryId" type="xsd:int"/>
1133
  <part name="product" type="xsd:string"/>
1134
  <part name="position" type="xsd:string"/>
1135
- <part name="productIdentifierType" type="xsd:string"/>
1136
  </message>
1137
  <message name="catalogCategoryAssignProductResponse">
1138
  <part name="result" type="xsd:boolean"/>
@@ -1142,7 +1166,7 @@
1142
  <part name="categoryId" type="xsd:int"/>
1143
  <part name="product" type="xsd:string"/>
1144
  <part name="position" type="xsd:string"/>
1145
- <part name="productIdentifierType" type="xsd:string"/>
1146
  </message>
1147
  <message name="catalogCategoryUpdateProductResponse">
1148
  <part name="result" type="xsd:boolean"/>
@@ -1151,7 +1175,7 @@
1151
  <part name="sessionId" type="xsd:string"/>
1152
  <part name="categoryId" type="xsd:int"/>
1153
  <part name="product" type="xsd:string"/>
1154
- <part name="productIdentifierType" type="xsd:string"/>
1155
  </message>
1156
  <message name="catalogCategoryRemoveProductResponse">
1157
  <part name="result" type="xsd:boolean"/>
@@ -1278,6 +1302,11 @@
1278
  <input message="typens:catalogProductUpdateRequest"/>
1279
  <output message="typens:catalogProductUpdateResponse"/>
1280
  </operation>
 
 
 
 
 
1281
  <operation name="catalogProductSetSpecialPrice">
1282
  <documentation>Update product special price</documentation>
1283
  <input message="typens:catalogProductSetSpecialPriceRequest"/>
@@ -1724,6 +1753,17 @@
1724
  encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1725
  </output>
1726
  </operation>
 
 
 
 
 
 
 
 
 
 
 
1727
  <operation name="catalogProductSetSpecialPrice">
1728
  <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1729
  <input>
107
  <element name="additional_attributes" type="typens:catalogProductAdditionalAttributesEntity" minOccurs="0"/>
108
  </all>
109
  </complexType>
110
+ <complexType name="catalogProductCreateEntityArray">
111
+ <complexContent>
112
+ <restriction base="soapenc:Array">
113
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:catalogProductCreateEntity[]"/>
114
+ </restriction>
115
+ </complexContent>
116
+ </complexType>
117
  <complexType name="catalogProductAttributeSetEntity">
118
  <all>
119
  <element name="set_id" type="xsd:int" minOccurs="0"/>
611
  <element name="sort_order" type="xsd:string" minOccurs="0" maxOccurs="1" />
612
  </all>
613
  </complexType>
614
+ <complexType name="catalogProductSpecialPriceReturnEntity">
615
+ <all>
616
+ <element name="special_price" type="xsd:string" minOccurs="1" maxOccurs="1" />
617
+ <element name="special_from_date" type="xsd:string" minOccurs="1" maxOccurs="1" />
618
+ <element name="special_to_date" type="xsd:string" minOccurs="1" maxOccurs="1" />
619
+ </all>
620
+ </complexType>
621
  </schema>
622
  </types>
623
  <message name="catalogProductCurrentStoreRequest">
637
  </message>
638
  <message name="catalogProductInfoRequest">
639
  <part name="sessionId" type="xsd:string"/>
640
+ <part name="productId" type="xsd:string"/>
641
  <part name="storeView" type="xsd:string"/>
642
  <part name="attributes" type="typens:catalogProductRequestAttributes"/>
643
+ <part name="identifierType" type="xsd:string"/>
644
  </message>
645
  <message name="catalogProductInfoResponse">
646
  <part name="info" type="typens:catalogProductReturnEntity"/>
661
  <part name="product" type="xsd:string"/>
662
  <part name="productData" type="typens:catalogProductCreateEntity"/>
663
  <part name="storeView" type="xsd:string"/>
664
+ <part name="identifierType" type="xsd:string"/>
665
  </message>
666
  <message name="catalogProductUpdateResponse">
667
  <part name="result" type="xsd:boolean"/>
668
  </message>
669
+ <message name="catalogProductMultiUpdateRequest">
670
+ <part name="sessionId" type="xsd:string"/>
671
+ <part name="productIds" type="typens:ArrayOfString"/>
672
+ <part name="productData" type="typens:catalogProductCreateEntityArray"/>
673
+ <part name="store" type="xsd:string"/>
674
+ <part name="identifierType" type="xsd:string"/>
675
+ </message>
676
+ <message name="catalogProductMultiUpdateResponse">
677
+ <part name="result" type="xsd:boolean"/>
678
+ </message>
679
  <message name="catalogProductSetSpecialPriceRequest">
680
  <part name="sessionId" type="xsd:string"/>
681
  <part name="product" type="xsd:string"/>
683
  <part name="fromDate" type="xsd:string"/>
684
  <part name="toDate" type="xsd:string"/>
685
  <part name="storeView" type="xsd:string"/>
686
+ <part name="identifierType" type="xsd:string"/>
687
  </message>
688
  <message name="catalogProductSetSpecialPriceResponse">
689
  <part name="result" type="xsd:int"/>
692
  <part name="sessionId" type="xsd:string"/>
693
  <part name="product" type="xsd:string"/>
694
  <part name="storeView" type="xsd:string"/>
695
+ <part name="identifierType" type="xsd:string"/>
696
  </message>
697
  <message name="catalogProductGetSpecialPriceResponse">
698
+ <part name="result" type="typens:catalogProductSpecialPriceReturnEntity"/>
699
  </message>
700
  <message name="catalogProductDeleteRequest">
701
  <part name="sessionId" type="xsd:string"/>
702
  <part name="product" type="xsd:string"/>
703
+ <part name="identifierType" type="xsd:string"/>
704
  </message>
705
  <message name="catalogProductDeleteResponse">
706
  <part name="result" type="xsd:int"/>
831
  <part name="data" type="typens:catalogProductAttributeEntityToUpdate"/>
832
  </message>
833
  <message name="catalogProductAttributeUpdateResponse">
834
+ <part name="result" type="xsd:boolean"/>
835
  </message>
836
  <message name="catalogProductAttributeAddOptionRequest">
837
  <part name="sessionId" type="xsd:string"/>
858
  <message name="catalogProductAttributeTierPriceInfoRequest">
859
  <part name="sessionId" type="xsd:string"/>
860
  <part name="product" type="xsd:string"/>
861
+ <part name="identifierType" type="xsd:string"/>
862
  </message>
863
  <message name="catalogProductAttributeTierPriceInfoResponse">
864
  <part name="result" type="typens:catalogProductTierPriceEntityArray"/>
867
  <part name="sessionId" type="xsd:string"/>
868
  <part name="product" type="xsd:string"/>
869
  <part name="tier_price" type="typens:catalogProductTierPriceEntityArray"/>
870
+ <part name="identifierType" type="xsd:string"/>
871
  </message>
872
  <message name="catalogProductAttributeTierPriceUpdateResponse">
873
  <part name="result" type="xsd:int"/>
883
  <part name="sessionId" type="xsd:string"/>
884
  <part name="product" type="xsd:string"/>
885
  <part name="storeView" type="xsd:string"/>
886
+ <part name="identifierType" type="xsd:string"/>
887
  </message>
888
  <message name="catalogProductAttributeMediaListResponse">
889
  <part name="result" type="typens:catalogProductImageEntityArray"/>
893
  <part name="product" type="xsd:string"/>
894
  <part name="file" type="xsd:string"/>
895
  <part name="storeView" type="xsd:string"/>
896
+ <part name="identifierType" type="xsd:string"/>
897
  </message>
898
  <message name="catalogProductAttributeMediaInfoResponse">
899
  <part name="result" type="typens:catalogProductImageEntity"/>
910
  <part name="product" type="xsd:string"/>
911
  <part name="data" type="typens:catalogProductAttributeMediaCreateEntity"/>
912
  <part name="storeView" type="xsd:string"/>
913
+ <part name="identifierType" type="xsd:string"/>
914
  </message>
915
  <message name="catalogProductAttributeMediaCreateResponse">
916
  <part name="result" type="xsd:string"/>
921
  <part name="file" type="xsd:string"/>
922
  <part name="data" type="typens:catalogProductAttributeMediaCreateEntity"/>
923
  <part name="storeView" type="xsd:string"/>
924
+ <part name="identifierType" type="xsd:string"/>
925
  </message>
926
  <message name="catalogProductAttributeMediaUpdateResponse">
927
  <part name="result" type="xsd:boolean"/>
930
  <part name="sessionId" type="xsd:string"/>
931
  <part name="product" type="xsd:string"/>
932
  <part name="file" type="xsd:string"/>
933
+ <part name="identifierType" type="xsd:string"/>
934
  </message>
935
  <message name="catalogProductAttributeMediaRemoveResponse">
936
  <part name="result" type="xsd:boolean"/>
939
  <part name="sessionId" type="xsd:string"/>
940
  <part name="type" type="xsd:string"/>
941
  <part name="product" type="xsd:string"/>
942
+ <part name="identifierType" type="xsd:string"/>
943
  </message>
944
  <message name="catalogProductLinkListResponse">
945
  <part name="result" type="typens:catalogProductLinkEntityArray"/>
950
  <part name="product" type="xsd:string"/>
951
  <part name="linkedProduct" type="xsd:string"/>
952
  <part name="data" type="typens:catalogProductLinkEntity"/>
953
+ <part name="identifierType" type="xsd:string"/>
954
  </message>
955
  <message name="catalogProductLinkAssignResponse">
956
  <part name="result" type="xsd:boolean"/>
961
  <part name="product" type="xsd:string"/>
962
  <part name="linkedProduct" type="xsd:string"/>
963
  <part name="data" type="typens:catalogProductLinkEntity"/>
964
+ <part name="identifierType" type="xsd:string"/>
965
  </message>
966
  <message name="catalogProductLinkUpdateResponse">
967
  <part name="result" type="xsd:boolean"/>
971
  <part name="type" type="xsd:string"/>
972
  <part name="product" type="xsd:string"/>
973
  <part name="linkedProduct" type="xsd:string"/>
974
+ <part name="identifierType" type="xsd:string"/>
975
  </message>
976
  <message name="catalogProductLinkRemoveResponse">
977
  <part name="result" type="xsd:boolean"/>
1156
  <part name="categoryId" type="xsd:int"/>
1157
  <part name="product" type="xsd:string"/>
1158
  <part name="position" type="xsd:string"/>
1159
+ <part name="identifierType" type="xsd:string"/>
1160
  </message>
1161
  <message name="catalogCategoryAssignProductResponse">
1162
  <part name="result" type="xsd:boolean"/>
1166
  <part name="categoryId" type="xsd:int"/>
1167
  <part name="product" type="xsd:string"/>
1168
  <part name="position" type="xsd:string"/>
1169
+ <part name="identifierType" type="xsd:string"/>
1170
  </message>
1171
  <message name="catalogCategoryUpdateProductResponse">
1172
  <part name="result" type="xsd:boolean"/>
1175
  <part name="sessionId" type="xsd:string"/>
1176
  <part name="categoryId" type="xsd:int"/>
1177
  <part name="product" type="xsd:string"/>
1178
+ <part name="identifierType" type="xsd:string"/>
1179
  </message>
1180
  <message name="catalogCategoryRemoveProductResponse">
1181
  <part name="result" type="xsd:boolean"/>
1302
  <input message="typens:catalogProductUpdateRequest"/>
1303
  <output message="typens:catalogProductUpdateResponse"/>
1304
  </operation>
1305
+ <operation name="catalogProductMultiUpdate">
1306
+ <documentation>Product multi update</documentation>
1307
+ <input message="typens:catalogProductMultiUpdateRequest"/>
1308
+ <output message="typens:catalogProductMultiUpdateResponse"/>
1309
+ </operation>
1310
  <operation name="catalogProductSetSpecialPrice">
1311
  <documentation>Update product special price</documentation>
1312
  <input message="typens:catalogProductSetSpecialPriceRequest"/>
1753
  encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1754
  </output>
1755
  </operation>
1756
+ <operation name="catalogProductMultiUpdate">
1757
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1758
+ <input>
1759
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1760
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1761
+ </input>
1762
+ <output>
1763
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1764
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1765
+ </output>
1766
+ </operation>
1767
  <operation name="catalogProductSetSpecialPrice">
1768
  <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1769
  <input>
app/code/core/Mage/Catalog/etc/wsi.xml CHANGED
@@ -99,6 +99,11 @@
99
  <xsd:element name="additional_attributes" type="typens:associativeArray" minOccurs="0" />
100
  </xsd:sequence>
101
  </xsd:complexType>
 
 
 
 
 
102
  <xsd:complexType name="catalogProductAttributeSetEntity">
103
  <xsd:sequence>
104
  <xsd:element name="set_id" type="xsd:int" minOccurs="0" />
@@ -498,6 +503,71 @@
498
  <xsd:element name="sort_order" type="xsd:string" minOccurs="0" maxOccurs="1" />
499
  </xsd:sequence>
500
  </xsd:complexType>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
501
  <xsd:element name="catalogProductCurrentStoreRequestParam">
502
  <xsd:complexType>
503
  <xsd:sequence>
@@ -584,6 +654,24 @@
584
  </xsd:sequence>
585
  </xsd:complexType>
586
  </xsd:element>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
587
  <xsd:element name="catalogProductSetSpecialPriceRequestParam">
588
  <xsd:complexType>
589
  <xsd:sequence>
@@ -615,7 +703,7 @@
615
  <xsd:element name="catalogProductGetSpecialPriceResponseParam">
616
  <xsd:complexType>
617
  <xsd:sequence>
618
- <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:catalogProductReturnEntity" />
619
  </xsd:sequence>
620
  </xsd:complexType>
621
  </xsd:element>
@@ -921,6 +1009,22 @@
921
  </xsd:sequence>
922
  </xsd:complexType>
923
  </xsd:element>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
924
  <xsd:element name="catalogProductAttributeSetAttributeRemoveRequestParam">
925
  <xsd:complexType>
926
  <xsd:sequence>
@@ -1512,6 +1616,52 @@
1512
  </xsd:sequence>
1513
  </xsd:complexType>
1514
  </xsd:element>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1515
  </xsd:schema>
1516
  </wsdl:types>
1517
  <wsdl:message name="catalogProductCurrentStoreRequest">
@@ -1544,6 +1694,12 @@
1544
  <wsdl:message name="catalogProductUpdateResponse">
1545
  <wsdl:part name="parameters" element="typens:catalogProductUpdateResponseParam" />
1546
  </wsdl:message>
 
 
 
 
 
 
1547
  <wsdl:message name="catalogProductSetSpecialPriceRequest">
1548
  <wsdl:part name="parameters" element="typens:catalogProductSetSpecialPriceRequestParam" />
1549
  </wsdl:message>
@@ -1670,6 +1826,12 @@
1670
  <wsdl:message name="catalogProductAttributeSetAttributeAddResponse">
1671
  <wsdl:part name="parameters" element="typens:catalogProductAttributeSetAttributeAddResponseParam" />
1672
  </wsdl:message>
 
 
 
 
 
 
1673
  <wsdl:message name="catalogProductAttributeSetAttributeRemoveRequest">
1674
  <wsdl:part name="parameters" element="typens:catalogProductAttributeSetAttributeRemoveRequestParam" />
1675
  </wsdl:message>
@@ -1886,6 +2048,24 @@
1886
  <wsdl:message name="catalogProductAttributeCreateResponse">
1887
  <wsdl:part name="parameters" element="typens:catalogProductAttributeCreateResponseParam" />
1888
  </wsdl:message>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1889
  <wsdl:portType name="{{var wsdl.handler}}PortType">
1890
  <wsdl:operation name="catalogCategoryCurrentStore">
1891
  <wsdl:documentation>Set_Get current store view</wsdl:documentation>
@@ -1987,6 +2167,11 @@
1987
  <wsdl:input message="typens:catalogProductUpdateRequest" />
1988
  <wsdl:output message="typens:catalogProductUpdateResponse" />
1989
  </wsdl:operation>
 
 
 
 
 
1990
  <wsdl:operation name="catalogProductSetSpecialPrice">
1991
  <wsdl:documentation>Update product special price</wsdl:documentation>
1992
  <wsdl:input message="typens:catalogProductSetSpecialPriceRequest" />
@@ -2092,6 +2277,11 @@
2092
  <wsdl:input message="typens:catalogProductAttributeSetAttributeAddRequest" />
2093
  <wsdl:output message="typens:catalogProductAttributeSetAttributeAddResponse" />
2094
  </wsdl:operation>
 
 
 
 
 
2095
  <wsdl:operation name="catalogProductAttributeSetAttributeRemove">
2096
  <wsdl:documentation>Remove attribute from attribute set</wsdl:documentation>
2097
  <wsdl:input message="typens:catalogProductAttributeSetAttributeRemoveRequest" />
@@ -2197,11 +2387,21 @@
2197
  <wsdl:input message="typens:catalogProductAttributeCreateRequest" />
2198
  <wsdl:output message="typens:catalogProductAttributeCreateResponse" />
2199
  </wsdl:operation>
2200
- <wsdl:operation name="catalogProductAttributeRemove">
 
 
 
 
 
2201
  <wsdl:documentation>Delete attribute</wsdl:documentation>
2202
  <wsdl:input message="typens:catalogProductAttributeRemoveRequest" />
2203
  <wsdl:output message="typens:catalogProductAttributeRemoveResponse" />
2204
  </wsdl:operation>
 
 
 
 
 
2205
  </wsdl:portType>
2206
  <wsdl:binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
2207
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
@@ -2358,6 +2558,15 @@
2358
  <soap:body use="literal" />
2359
  </wsdl:output>
2360
  </wsdl:operation>
 
 
 
 
 
 
 
 
 
2361
  <wsdl:operation name="catalogProductSetSpecialPrice">
2362
  <soap:operation soapAction="" />
2363
  <wsdl:input>
@@ -2556,6 +2765,15 @@
2556
  <soap:body use="literal" />
2557
  </wsdl:output>
2558
  </wsdl:operation>
 
 
 
 
 
 
 
 
 
2559
  <wsdl:operation name="catalogProductAttributeSetGroupAdd">
2560
  <soap:operation soapAction="" />
2561
  <wsdl:input>
@@ -2763,6 +2981,33 @@
2763
  <soap:body use="literal" />
2764
  </wsdl:output>
2765
  </wsdl:operation>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2766
  </wsdl:binding>
2767
  <wsdl:service name="{{var wsdl.name}}Service">
2768
  <wsdl:port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
99
  <xsd:element name="additional_attributes" type="typens:associativeArray" minOccurs="0" />
100
  </xsd:sequence>
101
  </xsd:complexType>
102
+ <xsd:complexType name="catalogProductCreateEntityArray">
103
+ <xsd:sequence>
104
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:catalogProductCreateEntity" />
105
+ </xsd:sequence>
106
+ </xsd:complexType>
107
  <xsd:complexType name="catalogProductAttributeSetEntity">
108
  <xsd:sequence>
109
  <xsd:element name="set_id" type="xsd:int" minOccurs="0" />
503
  <xsd:element name="sort_order" type="xsd:string" minOccurs="0" maxOccurs="1" />
504
  </xsd:sequence>
505
  </xsd:complexType>
506
+ <xsd:complexType name="catalogProductAttributeOptionLabelEntity">
507
+ <xsd:sequence>
508
+ <xsd:element minOccurs="1" maxOccurs="1" name="store_id" type="typens:ArrayOfString" />
509
+ <xsd:element minOccurs="1" maxOccurs="1" name="value" type="xsd:string" />
510
+ </xsd:sequence>
511
+ </xsd:complexType>
512
+ <xsd:complexType name="catalogProductAttributeOptionLabelArray">
513
+ <xsd:sequence>
514
+ <xsd:element minOccurs="1" maxOccurs="unbounded" name="complexObjectArray" type="typens:catalogProductAttributeOptionLabelEntity" />
515
+ </xsd:sequence>
516
+ </xsd:complexType>
517
+ <xsd:complexType name="catalogProductAttributeOptionEntityToAdd">
518
+ <xsd:sequence>
519
+ <xsd:element minOccurs="1" maxOccurs="1" name="label" type="typens:catalogProductAttributeOptionLabelArray" />
520
+ <xsd:element minOccurs="1" maxOccurs="1" name="order" type="xsd:int" />
521
+ <xsd:element minOccurs="1" maxOccurs="1" name="is_default" type="xsd:int" />
522
+ </xsd:sequence>
523
+ </xsd:complexType>
524
+ <xsd:complexType name="catalogProductAttributeEntity">
525
+ <xsd:sequence>
526
+ <xsd:element minOccurs="1" maxOccurs="1" name="attribute_id" type="xsd:string" />
527
+ <xsd:element minOccurs="1" maxOccurs="1" name="attribute_code" type="xsd:string" />
528
+ <xsd:element minOccurs="1" maxOccurs="1" name="frontend_input" type="xsd:string" />
529
+ <xsd:element minOccurs="0" maxOccurs="1" name="scope" type="xsd:string" />
530
+ <xsd:element minOccurs="0" maxOccurs="1" name="default_value" type="xsd:string" />
531
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_unique" type="xsd:int" />
532
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_required" type="xsd:int" />
533
+ <xsd:element minOccurs="0" maxOccurs="1" name="apply_to" type="typens:ArrayOfString" />
534
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_configurable" type="xsd:int" />
535
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_searchable" type="xsd:int" />
536
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_visible_in_advanced_search" type="xsd:int" />
537
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_comparable" type="xsd:int" />
538
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_used_for_promo_rules" type="xsd:int" />
539
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_visible_on_front" type="xsd:int" />
540
+ <xsd:element minOccurs="0" maxOccurs="1" name="used_in_product_listing" type="xsd:int" />
541
+ <xsd:element minOccurs="0" maxOccurs="1" name="additional_fields" type="typens:associativeArray" />
542
+ <xsd:element minOccurs="0" maxOccurs="1" name="options" type="typens:catalogAttributeOptionEntityArray" />
543
+ <xsd:element minOccurs="1" maxOccurs="1" name="frontend_label" type="typens:catalogProductAttributeFrontendLabelArray" />
544
+ </xsd:sequence>
545
+ </xsd:complexType>
546
+ <xsd:complexType name="catalogProductAttributeEntityToUpdate">
547
+ <xsd:sequence>
548
+ <xsd:element minOccurs="0" maxOccurs="1" name="scope" type="xsd:string" />
549
+ <xsd:element minOccurs="0" maxOccurs="1" name="default_value" type="xsd:string" />
550
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_unique" type="xsd:int" />
551
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_required" type="xsd:int" />
552
+ <xsd:element minOccurs="0" maxOccurs="1" name="apply_to" type="typens:ArrayOfString" />
553
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_configurable" type="xsd:int" />
554
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_searchable" type="xsd:int" />
555
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_visible_in_advanced_search" type="xsd:int" />
556
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_comparable" type="xsd:int" />
557
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_used_for_promo_rules" type="xsd:int" />
558
+ <xsd:element minOccurs="0" maxOccurs="1" name="is_visible_on_front" type="xsd:int" />
559
+ <xsd:element minOccurs="0" maxOccurs="1" name="used_in_product_listing" type="xsd:int" />
560
+ <xsd:element minOccurs="0" maxOccurs="1" name="additional_fields" type="typens:associativeArray" />
561
+ <xsd:element minOccurs="1" maxOccurs="1" name="frontend_label" type="typens:catalogProductAttributeFrontendLabelArray" />
562
+ </xsd:sequence>
563
+ </xsd:complexType>
564
+ <xsd:complexType name="catalogProductSpecialPriceReturnEntity">
565
+ <xsd:sequence>
566
+ <xsd:element minOccurs="1" maxOccurs="1" name="special_price" type="xsd:string" />
567
+ <xsd:element minOccurs="1" maxOccurs="1" name="special_from_date" type="xsd:string" />
568
+ <xsd:element minOccurs="1" maxOccurs="1" name="special_to_date" type="xsd:string" />
569
+ </xsd:sequence>
570
+ </xsd:complexType>
571
  <xsd:element name="catalogProductCurrentStoreRequestParam">
572
  <xsd:complexType>
573
  <xsd:sequence>
654
  </xsd:sequence>
655
  </xsd:complexType>
656
  </xsd:element>
657
+ <xsd:element name="catalogProductMultiUpdateRequestParam">
658
+ <xsd:complexType>
659
+ <xsd:sequence>
660
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
661
+ <xsd:element minOccurs="1" maxOccurs="1" name="productIds" type="typens:ArrayOfString" />
662
+ <xsd:element minOccurs="1" maxOccurs="1" name="productData" type="typens:catalogProductCreateEntityArray" />
663
+ <xsd:element minOccurs="0" maxOccurs="1" name="store" type="xsd:string" />
664
+ <xsd:element minOccurs="0" maxOccurs="1" name="identifierType" type="xsd:string" />
665
+ </xsd:sequence>
666
+ </xsd:complexType>
667
+ </xsd:element>
668
+ <xsd:element name="catalogProductMultiUpdateResponseParam">
669
+ <xsd:complexType>
670
+ <xsd:sequence>
671
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
672
+ </xsd:sequence>
673
+ </xsd:complexType>
674
+ </xsd:element>
675
  <xsd:element name="catalogProductSetSpecialPriceRequestParam">
676
  <xsd:complexType>
677
  <xsd:sequence>
703
  <xsd:element name="catalogProductGetSpecialPriceResponseParam">
704
  <xsd:complexType>
705
  <xsd:sequence>
706
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:catalogProductSpecialPriceReturnEntity" />
707
  </xsd:sequence>
708
  </xsd:complexType>
709
  </xsd:element>
1009
  </xsd:sequence>
1010
  </xsd:complexType>
1011
  </xsd:element>
1012
+ <xsd:element name="catalogProductAttributeAddOptionRequestParam">
1013
+ <xsd:complexType>
1014
+ <xsd:sequence>
1015
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
1016
+ <xsd:element minOccurs="1" maxOccurs="1" name="attribute" type="xsd:string" />
1017
+ <xsd:element minOccurs="1" maxOccurs="1" name="data" type="typens:catalogProductAttributeOptionEntityToAdd" />
1018
+ </xsd:sequence>
1019
+ </xsd:complexType>
1020
+ </xsd:element>
1021
+ <xsd:element name="catalogProductAttributeAddOptionResponseParam">
1022
+ <xsd:complexType>
1023
+ <xsd:sequence>
1024
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
1025
+ </xsd:sequence>
1026
+ </xsd:complexType>
1027
+ </xsd:element>
1028
  <xsd:element name="catalogProductAttributeSetAttributeRemoveRequestParam">
1029
  <xsd:complexType>
1030
  <xsd:sequence>
1616
  </xsd:sequence>
1617
  </xsd:complexType>
1618
  </xsd:element>
1619
+ <xsd:element name="catalogProductAttributeRemoveRequestParam">
1620
+ <xsd:complexType>
1621
+ <xsd:sequence>
1622
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
1623
+ <xsd:element minOccurs="1" maxOccurs="1" name="attribute" type="xsd:string" />
1624
+ </xsd:sequence>
1625
+ </xsd:complexType>
1626
+ </xsd:element>
1627
+ <xsd:element name="catalogProductAttributeRemoveResponseParam">
1628
+ <xsd:complexType>
1629
+ <xsd:sequence>
1630
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
1631
+ </xsd:sequence>
1632
+ </xsd:complexType>
1633
+ </xsd:element>
1634
+ <xsd:element name="catalogProductAttributeInfoRequestParam">
1635
+ <xsd:complexType>
1636
+ <xsd:sequence>
1637
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
1638
+ <xsd:element minOccurs="1" maxOccurs="1" name="attribute" type="xsd:string" />
1639
+ </xsd:sequence>
1640
+ </xsd:complexType>
1641
+ </xsd:element>
1642
+ <xsd:element name="catalogProductAttributeInfoResponseParam">
1643
+ <xsd:complexType>
1644
+ <xsd:sequence>
1645
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:catalogProductAttributeEntity" />
1646
+ </xsd:sequence>
1647
+ </xsd:complexType>
1648
+ </xsd:element>
1649
+ <xsd:element name="catalogProductAttributeUpdateRequestParam">
1650
+ <xsd:complexType>
1651
+ <xsd:sequence>
1652
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
1653
+ <xsd:element minOccurs="1" maxOccurs="1" name="attribute" type="xsd:string" />
1654
+ <xsd:element minOccurs="1" maxOccurs="1" name="data" type="typens:catalogProductAttributeEntityToUpdate" />
1655
+ </xsd:sequence>
1656
+ </xsd:complexType>
1657
+ </xsd:element>
1658
+ <xsd:element name="catalogProductAttributeUpdateResponseParam">
1659
+ <xsd:complexType>
1660
+ <xsd:sequence>
1661
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
1662
+ </xsd:sequence>
1663
+ </xsd:complexType>
1664
+ </xsd:element>
1665
  </xsd:schema>
1666
  </wsdl:types>
1667
  <wsdl:message name="catalogProductCurrentStoreRequest">
1694
  <wsdl:message name="catalogProductUpdateResponse">
1695
  <wsdl:part name="parameters" element="typens:catalogProductUpdateResponseParam" />
1696
  </wsdl:message>
1697
+ <wsdl:message name="catalogProductMultiUpdateRequest">
1698
+ <wsdl:part name="parameters" element="typens:catalogProductMultiUpdateRequestParam" />
1699
+ </wsdl:message>
1700
+ <wsdl:message name="catalogProductMultiUpdateResponse">
1701
+ <wsdl:part name="parameters" element="typens:catalogProductMultiUpdateResponseParam" />
1702
+ </wsdl:message>
1703
  <wsdl:message name="catalogProductSetSpecialPriceRequest">
1704
  <wsdl:part name="parameters" element="typens:catalogProductSetSpecialPriceRequestParam" />
1705
  </wsdl:message>
1826
  <wsdl:message name="catalogProductAttributeSetAttributeAddResponse">
1827
  <wsdl:part name="parameters" element="typens:catalogProductAttributeSetAttributeAddResponseParam" />
1828
  </wsdl:message>
1829
+ <wsdl:message name="catalogProductAttributeAddOptionRequest">
1830
+ <wsdl:part name="parameters" element="typens:catalogProductAttributeAddOptionRequestParam" />
1831
+ </wsdl:message>
1832
+ <wsdl:message name="catalogProductAttributeAddOptionResponse">
1833
+ <wsdl:part name="parameters" element="typens:catalogProductAttributeAddOptionResponseParam" />
1834
+ </wsdl:message>
1835
  <wsdl:message name="catalogProductAttributeSetAttributeRemoveRequest">
1836
  <wsdl:part name="parameters" element="typens:catalogProductAttributeSetAttributeRemoveRequestParam" />
1837
  </wsdl:message>
2048
  <wsdl:message name="catalogProductAttributeCreateResponse">
2049
  <wsdl:part name="parameters" element="typens:catalogProductAttributeCreateResponseParam" />
2050
  </wsdl:message>
2051
+ <wsdl:message name="catalogProductAttributeRemoveRequest">
2052
+ <wsdl:part name="parameters" element="typens:catalogProductAttributeRemoveRequestParam" />
2053
+ </wsdl:message>
2054
+ <wsdl:message name="catalogProductAttributeRemoveResponse">
2055
+ <wsdl:part name="parameters" element="typens:catalogProductAttributeRemoveResponseParam" />
2056
+ </wsdl:message>
2057
+ <wsdl:message name="catalogProductAttributeInfoRequest">
2058
+ <wsdl:part name="parameters" element="typens:catalogProductAttributeInfoRequestParam" />
2059
+ </wsdl:message>
2060
+ <wsdl:message name="catalogProductAttributeInfoResponse">
2061
+ <wsdl:part name="parameters" element="typens:catalogProductAttributeInfoResponseParam" />
2062
+ </wsdl:message>
2063
+ <wsdl:message name="catalogProductAttributeUpdateRequest">
2064
+ <wsdl:part name="parameters" element="typens:catalogProductAttributeUpdateRequestParam" />
2065
+ </wsdl:message>
2066
+ <wsdl:message name="catalogProductAttributeUpdateResponse">
2067
+ <wsdl:part name="parameters" element="typens:catalogProductAttributeUpdateResponseParam" />
2068
+ </wsdl:message>
2069
  <wsdl:portType name="{{var wsdl.handler}}PortType">
2070
  <wsdl:operation name="catalogCategoryCurrentStore">
2071
  <wsdl:documentation>Set_Get current store view</wsdl:documentation>
2167
  <wsdl:input message="typens:catalogProductUpdateRequest" />
2168
  <wsdl:output message="typens:catalogProductUpdateResponse" />
2169
  </wsdl:operation>
2170
+ <wsdl:operation name="catalogProductMultiUpdate">
2171
+ <wsdl:documentation>Product multi update</wsdl:documentation>
2172
+ <wsdl:input message="typens:catalogProductMultiUpdateRequest" />
2173
+ <wsdl:output message="typens:catalogProductMultiUpdateResponse" />
2174
+ </wsdl:operation>
2175
  <wsdl:operation name="catalogProductSetSpecialPrice">
2176
  <wsdl:documentation>Update product special price</wsdl:documentation>
2177
  <wsdl:input message="typens:catalogProductSetSpecialPriceRequest" />
2277
  <wsdl:input message="typens:catalogProductAttributeSetAttributeAddRequest" />
2278
  <wsdl:output message="typens:catalogProductAttributeSetAttributeAddResponse" />
2279
  </wsdl:operation>
2280
+ <wsdl:operation name="catalogProductAttributeAddOption">
2281
+ <wsdl:documentation>Add option to attribute</wsdl:documentation>
2282
+ <wsdl:input message="typens:catalogProductAttributeAddOptionRequest" />
2283
+ <wsdl:output message="typens:catalogProductAttributeAddOptionResponse" />
2284
+ </wsdl:operation>
2285
  <wsdl:operation name="catalogProductAttributeSetAttributeRemove">
2286
  <wsdl:documentation>Remove attribute from attribute set</wsdl:documentation>
2287
  <wsdl:input message="typens:catalogProductAttributeSetAttributeRemoveRequest" />
2387
  <wsdl:input message="typens:catalogProductAttributeCreateRequest" />
2388
  <wsdl:output message="typens:catalogProductAttributeCreateResponse" />
2389
  </wsdl:operation>
2390
+ <wsdl:operation name="catalogProductAttributeUpdate">
2391
+ <wsdl:documentation>Update attribute</wsdl:documentation>
2392
+ <wsdl:input message="typens:catalogProductAttributeUpdateRequest" />
2393
+ <wsdl:output message="typens:catalogProductAttributeUpdateResponse" />
2394
+ </wsdl:operation>
2395
+ <wsdl:operation name="catalogProductAttributeRemove" >
2396
  <wsdl:documentation>Delete attribute</wsdl:documentation>
2397
  <wsdl:input message="typens:catalogProductAttributeRemoveRequest" />
2398
  <wsdl:output message="typens:catalogProductAttributeRemoveResponse" />
2399
  </wsdl:operation>
2400
+ <wsdl:operation name="catalogProductAttributeInfo">
2401
+ <wsdl:documentation>Get full information about attribute with list of options</wsdl:documentation>
2402
+ <wsdl:input message="typens:catalogProductAttributeInfoRequest"/>
2403
+ <wsdl:output message="typens:catalogProductAttributeInfoResponse"/>
2404
+ </wsdl:operation>
2405
  </wsdl:portType>
2406
  <wsdl:binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
2407
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
2558
  <soap:body use="literal" />
2559
  </wsdl:output>
2560
  </wsdl:operation>
2561
+ <wsdl:operation name="catalogProductMultiUpdate">
2562
+ <soap:operation soapAction="" />
2563
+ <wsdl:input>
2564
+ <soap:body use="literal" />
2565
+ </wsdl:input>
2566
+ <wsdl:output>
2567
+ <soap:body use="literal" />
2568
+ </wsdl:output>
2569
+ </wsdl:operation>
2570
  <wsdl:operation name="catalogProductSetSpecialPrice">
2571
  <soap:operation soapAction="" />
2572
  <wsdl:input>
2765
  <soap:body use="literal" />
2766
  </wsdl:output>
2767
  </wsdl:operation>
2768
+ <wsdl:operation name="catalogProductAttributeAddOption">
2769
+ <soap:operation soapAction="" />
2770
+ <wsdl:input>
2771
+ <soap:body use="literal" />
2772
+ </wsdl:input>
2773
+ <wsdl:output>
2774
+ <soap:body use="literal" />
2775
+ </wsdl:output>
2776
+ </wsdl:operation>
2777
  <wsdl:operation name="catalogProductAttributeSetGroupAdd">
2778
  <soap:operation soapAction="" />
2779
  <wsdl:input>
2981
  <soap:body use="literal" />
2982
  </wsdl:output>
2983
  </wsdl:operation>
2984
+ <wsdl:operation name="catalogProductAttributeRemove">
2985
+ <soap:operation soapAction="" />
2986
+ <wsdl:input>
2987
+ <soap:body use="literal" />
2988
+ </wsdl:input>
2989
+ <wsdl:output>
2990
+ <soap:body use="literal" />
2991
+ </wsdl:output>
2992
+ </wsdl:operation>
2993
+ <wsdl:operation name="catalogProductAttributeInfo">
2994
+ <soap:operation soapAction="" />
2995
+ <wsdl:input>
2996
+ <soap:body use="literal" />
2997
+ </wsdl:input>
2998
+ <wsdl:output>
2999
+ <soap:body use="literal" />
3000
+ </wsdl:output>
3001
+ </wsdl:operation>
3002
+ <wsdl:operation name="catalogProductAttributeUpdate">
3003
+ <soap:operation soapAction="" />
3004
+ <wsdl:input>
3005
+ <soap:body use="literal" />
3006
+ </wsdl:input>
3007
+ <wsdl:output>
3008
+ <soap:body use="literal" />
3009
+ </wsdl:output>
3010
+ </wsdl:operation>
3011
  </wsdl:binding>
3012
  <wsdl:service name="{{var wsdl.name}}Service">
3013
  <wsdl:port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
app/code/core/Mage/Catalog/sql/catalog_setup/install-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-data-upgrade-0.7.57-0.7.58.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-data-upgrade-0.7.63-0.7.64.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-data-upgrade-1.4.0.0.28-1.4.0.0.29.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-data-upgrade-1.4.0.0.42-1.4.0.0.43.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-0.7.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-1.4.0.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.6.40-0.7.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.0-0.7.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.1-0.7.2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.11-0.7.12.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.12-0.7.13.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  $installer = $this;
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  $installer = $this;
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.13-0.7.14.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.14-0.7.15.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  $this->startSetup()->run("
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  $this->startSetup()->run("
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.15-0.7.16.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.16-0.7.17.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  $installer = $this;
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
  $installer = $this;
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.17-0.7.18.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.18-0.7.19.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.19-0.7.20.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.2-0.7.3.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.20-0.7.21.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.21-0.7.22.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.22-0.7.23.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.23-0.7.24.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.24-0.7.25.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.25-0.7.26.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.26-0.7.27.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.27-0.7.28.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.28-0.7.29.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.29-0.7.30.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.30-0.7.31.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.31-0.7.32.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.32-0.7.33.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.33-0.7.34.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.34-0.7.35.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.35-0.7.36.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.36-0.7.37.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.37-0.7.38.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.38-0.7.39.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.39-0.7.40.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.4-0.7.5.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.40-0.7.41.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.41-0.7.42.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.43-0.7.44.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.44-0.7.45.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.45-0.7.46.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.46-0.7.47.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.47-0.7.48.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.48-0.7.49.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.49-0.7.50.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.5-0.7.6.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.50-0.7.51.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.51-0.7.52.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.52-0.7.53.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.53-0.7.54.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.54-0.7.55.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.55-0.7.56.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.56-0.7.57.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.57-0.7.58.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.58-0.7.59.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.59-0.7.60.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.6-0.7.7.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.60-0.7.61.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.61-0.7.62.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.62-0.7.63.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.63-0.7.64.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.64-0.7.65.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.65-0.7.66.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
@@ -30,7 +30,7 @@ $installer = $this;
30
 
31
  Mage::getModel('catalog/product_flat_flag')
32
  ->loadSelf()
33
- ->setIsBuild(false)
34
  ->save();
35
 
36
  $installer->startSetup();
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
30
 
31
  Mage::getModel('catalog/product_flat_flag')
32
  ->loadSelf()
33
+ ->setIsBuilt(false)
34
  ->save();
35
 
36
  $installer->startSetup();
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.66-0.7.67.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.67-0.7.68.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.68-0.7.69.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.69-0.7.70.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.7-0.7.8.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.70-0.7.71.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.71-0.7.72.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.72-0.7.73.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.73-1.4.0.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-0.7.8-0.7.9.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.0-1.4.0.0.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.1-1.4.0.0.2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.10-1.4.0.0.11.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.11-1.4.0.0.12.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.12-1.4.0.0.13.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.13-1.4.0.0.14.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.14-1.4.0.0.15.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.15-1.4.0.0.16.php CHANGED
@@ -20,6 +20,6 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.16-1.4.0.0.17.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.17-1.4.0.0.18.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.18-1.4.0.0.19.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.19-1.4.0.0.20.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.2-1.4.0.0.3.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.20-1.4.0.0.21.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.21-1.4.0.0.22.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.22-1.4.0.0.23.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.23-1.4.0.0.24.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.24-1.4.0.0.25.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.25-1.4.0.0.26.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.26-1.4.0.0.27.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.27-1.4.0.0.28.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.28-1.4.0.0.29.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.3-1.4.0.0.4.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.30-1.4.0.0.31.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.31-1.4.0.0.32.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.32-1.4.0.0.33.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.33-1.4.0.0.34.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.34-1.4.0.0.35.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.35-1.4.0.0.36.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.36-1.4.0.0.37.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.37-1.4.0.0.38.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.38-1.4.0.0.39.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.39-1.4.0.0.40.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.4-1.4.0.0.5.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.40-1.4.0.0.41.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.41-1.4.0.0.42.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.43-1.4.0.0.44.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.5-1.4.0.0.6.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.6-1.4.0.0.7.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.7-1.4.0.0.8.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.8-1.4.0.0.9.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.4.0.0.9-1.4.0.0.10.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-upgrade-1.6.0.0.8-1.6.0.0.9.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0-1.6.0.0.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.1-1.6.0.0.2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.10-1.6.0.0.11.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.11-1.6.0.0.12.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.14-1.6.0.0.15.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 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
+ $installer = $this;
28
+ /** @var $installer Mage_Catalog_Model_Resource_Setup */
29
+
30
+ foreach (array('news_from_date', 'custom_design_from') as $attributeCode) {
31
+ $installer->updateAttribute(
32
+ Mage_Catalog_Model_Product::ENTITY,
33
+ $attributeCode,
34
+ 'backend_model',
35
+ 'catalog/product_attribute_backend_startdate'
36
+ );
37
+ }
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.15-1.6.0.0.18.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Magento
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * DISCLAIMER
16
+ *
17
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
18
+ * versions in the future. If you wish to customize Magento for your
19
+ * needs please refer to http://www.magentocommerce.com for more information.
20
+ *
21
+ * @category Mage
22
+ * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 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
+ * Dummy script for maintainig data and schema version integrity
29
+ */
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.2-1.6.0.0.3.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.3-1.6.0.0.4.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.4-1.6.0.0.5.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.5-1.6.0.0.6.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.6-1.6.0.0.7.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.7-1.6.0.0.8.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/Catalog/sql/catalog_setup/upgrade-1.6.0.0.9-1.6.0.0.10.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
20
  *
21
  * @category Mage
22
  * @package Mage_Catalog
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Aggregation.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Catalog/Index/Flag.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Catalog/Index/Kill/Flag.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Data/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Data/Configurable.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Data/Grouped.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Data/Simple.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Data/Virtual.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Indexer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
@@ -186,7 +186,9 @@ class Mage_CatalogIndex_Model_Indexer extends Mage_Core_Model_Abstract
186
  */
187
  public function cleanup($product)
188
  {
189
- $this->_getResource()->clear(true, true, true, true, true, $product, ($product->getNeedStoreForReindex() === true ? $this->_getStores() : null));
 
 
190
  return $this;
191
  }
192
 
@@ -342,7 +344,9 @@ class Mage_CatalogIndex_Model_Indexer extends Mage_Core_Model_Abstract
342
  /**
343
  * Catalog Product Flat price update
344
  */
345
- if (Mage::helper('catalog/product_flat')->isBuilt()) {
 
 
346
  foreach ($stores as $store) {
347
  $this->updateCatalogProductFlat($store, $products);
348
  }
@@ -376,7 +380,9 @@ class Mage_CatalogIndex_Model_Indexer extends Mage_Core_Model_Abstract
376
  /**
377
  * Catalog Product Flat price update
378
  */
379
- if (Mage::helper('catalog/product_flat')->isBuilt()) {
 
 
380
  if ($store instanceof Mage_Core_Model_Website) {
381
  foreach ($store->getStores() as $storeObject) {
382
  $this->_afterPlainReindex($storeObject->getId(), $products);
@@ -642,21 +648,25 @@ class Mage_CatalogIndex_Model_Indexer extends Mage_Core_Model_Abstract
642
 
643
  if (isset($values[$code]['from']) && isset($values[$code]['to'])) {
644
  if (isset($values[$code]['currency'])) {
645
- $rateConversion = $this->_getBaseToSpecifiedCurrencyRate($values[$code]['currency']);
 
 
646
  } else {
647
  $rateConversion = $this->_getBaseToSpecifiedCurrencyRate($currentStoreCurrency);
648
  }
649
 
650
- if (strlen($values[$code]['from'])>0) {
651
  $filter[$code]->where(
652
- "($table.min_price".implode('', $additionalCalculations[$code]).")*{$rateConversion} >= ?",
 
653
  $values[$code]['from']
654
  );
655
  }
656
 
657
- if (strlen($values[$code]['to'])>0) {
658
  $filter[$code]->where(
659
- "($table.min_price".implode('', $additionalCalculations[$code]).")*{$rateConversion} <= ?",
 
660
  $values[$code]['to']
661
  );
662
  }
@@ -720,7 +730,8 @@ class Mage_CatalogIndex_Model_Indexer extends Mage_Core_Model_Abstract
720
 
721
  if ($values[$code]['from']) {
722
  if (!is_numeric($values[$code]['from'])) {
723
- $values[$code]['from'] = date("Y-m-d H:i:s", strtotime($values[$code]['from']));
 
724
  }
725
 
726
  $filter[$code]->where("value >= ?", $values[$code]['from']);
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
186
  */
187
  public function cleanup($product)
188
  {
189
+ $store = $product->getNeedStoreForReindex() === true ? $this->_getStores() : null;
190
+ $this->_getResource()->clear(true, true, true, true, true, $product, $store);
191
+
192
  return $this;
193
  }
194
 
344
  /**
345
  * Catalog Product Flat price update
346
  */
347
+ /** @var $productFlatHelper Mage_Catalog_Helper_Product_Flat */
348
+ $productFlatHelper = Mage::helper('catalog/product_flat');
349
+ if ($productFlatHelper->isAvailable() && $productFlatHelper->isBuilt()) {
350
  foreach ($stores as $store) {
351
  $this->updateCatalogProductFlat($store, $products);
352
  }
380
  /**
381
  * Catalog Product Flat price update
382
  */
383
+ /** @var $productFlatHelper Mage_Catalog_Helper_Product_Flat */
384
+ $productFlatHelper = Mage::helper('catalog/product_flat');
385
+ if ($productFlatHelper->isAvailable() && $productFlatHelper->isBuilt()) {
386
  if ($store instanceof Mage_Core_Model_Website) {
387
  foreach ($store->getStores() as $storeObject) {
388
  $this->_afterPlainReindex($storeObject->getId(), $products);
648
 
649
  if (isset($values[$code]['from']) && isset($values[$code]['to'])) {
650
  if (isset($values[$code]['currency'])) {
651
+ $rateConversion = $this->_getBaseToSpecifiedCurrencyRate(
652
+ $values[$code]['currency']
653
+ );
654
  } else {
655
  $rateConversion = $this->_getBaseToSpecifiedCurrencyRate($currentStoreCurrency);
656
  }
657
 
658
+ if (strlen($values[$code]['from']) > 0) {
659
  $filter[$code]->where(
660
+ "($table.min_price"
661
+ . implode('', $additionalCalculations[$code]).")*{$rateConversion} >= ?",
662
  $values[$code]['from']
663
  );
664
  }
665
 
666
+ if (strlen($values[$code]['to']) > 0) {
667
  $filter[$code]->where(
668
+ "($table.min_price"
669
+ . implode('', $additionalCalculations[$code]).")*{$rateConversion} <= ?",
670
  $values[$code]['to']
671
  );
672
  }
730
 
731
  if ($values[$code]['from']) {
732
  if (!is_numeric($values[$code]['from'])) {
733
+ $_date = date("Y-m-d H:i:s", strtotime($values[$code]['from']));
734
+ $values[$code]['from'] = $_date;
735
  }
736
 
737
  $filter[$code]->where("value >= ?", $values[$code]['from']);
app/code/core/Mage/CatalogIndex/Model/Indexer/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Indexer/Eav.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Indexer/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Indexer/Minimalprice.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Indexer/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Indexer/Tierprice.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Aggregation.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Data/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Data/Configurable.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Data/Grouped.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Indexer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Indexer/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Indexer/Eav.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Indexer/Minimalprice.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Indexer/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Retreiver.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Mysql4/Setup.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Aggregation.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Data/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Data/Configurable.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Data/Grouped.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Indexer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Indexer/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Indexer/Eav.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Indexer/Minimalprice.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Indexer/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Retreiver.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Resource/Setup.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/Model/Retreiver.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/etc/config.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogIndex
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogIndex
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/install-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-install-0.7.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.0-0.7.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.1-0.7.2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.2-0.7.3.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.3-0.7.4.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.4-0.7.5.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.5-0.7.6.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.6-0.7.7.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.7-0.7.8.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.8-0.7.9.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-0.7.9-0.7.10.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogIndex/sql/catalogindex_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogIndex
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Block/Adminhtml/Form/Field/Customergroup.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Block/Qtyincrements.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
@@ -76,4 +76,14 @@ class Mage_CatalogInventory_Block_Qtyincrements extends Mage_Core_Block_Template
76
  }
77
  return $this->_qtyIncrements;
78
  }
 
 
 
 
 
 
 
 
 
 
79
  }
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
76
  }
77
  return $this->_qtyIncrements;
78
  }
79
+
80
+ /**
81
+ * Retrieve block cache tags
82
+ *
83
+ * @return array
84
+ */
85
+ public function getCacheTags()
86
+ {
87
+ return array_merge(parent::getCacheTags(), $this->_getProduct()->getCacheIdTags());
88
+ }
89
  }
app/code/core/Mage/CatalogInventory/Block/Stockqty/Abstract.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Block/Stockqty/Composite.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Block/Stockqty/Default.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
@@ -46,4 +46,14 @@ class Mage_CatalogInventory_Block_Stockqty_Default extends Mage_CatalogInventory
46
  }
47
  return parent::_toHtml();
48
  }
 
 
 
 
 
 
 
 
 
 
49
  }
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
46
  }
47
  return parent::_toHtml();
48
  }
49
+
50
+ /**
51
+ * Retrieve block cache tags
52
+ *
53
+ * @return array
54
+ */
55
+ public function getCacheTags()
56
+ {
57
+ return array_merge(parent::getCacheTags(), $this->_getProduct()->getCacheIdTags());
58
+ }
59
  }
app/code/core/Mage/CatalogInventory/Block/Stockqty/Type/Configurable.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Block/Stockqty/Type/Grouped.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Helper/Data.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
@@ -31,6 +31,10 @@ class Mage_CatalogInventory_Helper_Data extends Mage_Core_Helper_Abstract
31
  {
32
  const XML_PATH_SHOW_OUT_OF_STOCK = 'cataloginventory/options/show_out_of_stock';
33
  const XML_PATH_ITEM_AUTO_RETURN = 'cataloginventory/item_options/auto_return';
 
 
 
 
34
 
35
  /**
36
  * Error codes, that Catalog Inventory module can set to quote or quote items
@@ -125,4 +129,15 @@ class Mage_CatalogInventory_Helper_Data extends Mage_Core_Helper_Abstract
125
  {
126
  return Mage::getStoreConfigFlag(self::XML_PATH_ITEM_AUTO_RETURN);
127
  }
 
 
 
 
 
 
 
 
 
 
 
128
  }
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
31
  {
32
  const XML_PATH_SHOW_OUT_OF_STOCK = 'cataloginventory/options/show_out_of_stock';
33
  const XML_PATH_ITEM_AUTO_RETURN = 'cataloginventory/item_options/auto_return';
34
+ /**
35
+ * Path to configuration option 'Display product stock status'
36
+ */
37
+ const XML_PATH_DISPLAY_PRODUCT_STOCK_STATUS = 'cataloginventory/options/display_product_stock_status';
38
 
39
  /**
40
  * Error codes, that Catalog Inventory module can set to quote or quote items
129
  {
130
  return Mage::getStoreConfigFlag(self::XML_PATH_ITEM_AUTO_RETURN);
131
  }
132
+
133
+ /**
134
+ * Get 'Display product stock status' option value
135
+ * Shows if it is necessary to show product stock status ('in stock'/'out of stock')
136
+ *
137
+ * @return bool
138
+ */
139
+ public function isDisplayProductStockStatus()
140
+ {
141
+ return Mage::getStoreConfigFlag(self::XML_PATH_DISPLAY_PRODUCT_STOCK_STATUS);
142
+ }
143
  }
app/code/core/Mage/CatalogInventory/Helper/Minsaleqty.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Api2/Stock/Item.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Api2/Stock/Item/Rest.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Api2/Stock/Item/Rest/Admin/V1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Api2/Stock/Item/Validator/Item.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Indexer/Stock.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Mysql4/Indexer/Stock.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Mysql4/Indexer/Stock/Configurable.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Mysql4/Indexer/Stock/Default.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Mysql4/Indexer/Stock/Grouped.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Mysql4/Indexer/Stock/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Mysql4/Stock.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Mysql4/Stock/Item.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Mysql4/Stock/Item/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Mysql4/Stock/Status.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
@@ -308,6 +308,34 @@ class Mage_CatalogInventory_Model_Observer
308
  */
309
  $qty = $quoteItem->getQty();
310
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
311
  /**
312
  * Check item for options
313
  */
@@ -315,7 +343,6 @@ class Mage_CatalogInventory_Model_Observer
315
  $qty = $quoteItem->getProduct()->getTypeInstance(true)->prepareQuoteItemQty($qty, $quoteItem->getProduct());
316
  $quoteItem->setData('qty', $qty);
317
 
318
- $stockItem = $quoteItem->getProduct()->getStockItem();
319
  if ($stockItem) {
320
  $result = $stockItem->checkQtyIncrements($qty);
321
  if ($result->getHasError()) {
@@ -403,7 +430,7 @@ class Mage_CatalogInventory_Model_Observer
403
  $quoteItem->addErrorInfo(
404
  'cataloginventory',
405
  Mage_CatalogInventory_Helper_Data::ERROR_QTY,
406
- $result->getQuoteMessage()
407
  );
408
 
409
  $quoteItem->getQuote()->addErrorInfo(
@@ -420,7 +447,6 @@ class Mage_CatalogInventory_Model_Observer
420
  $stockItem->unsIsChildItem();
421
  }
422
  } else {
423
- $stockItem = $quoteItem->getProduct()->getStockItem();
424
  /* @var $stockItem Mage_CatalogInventory_Model_Stock_Item */
425
  if (!$stockItem instanceof Mage_CatalogInventory_Model_Stock_Item) {
426
  Mage::throwException(Mage::helper('cataloginventory')->__('The stock item for Product is not valid.'));
@@ -453,6 +479,7 @@ class Mage_CatalogInventory_Model_Observer
453
  if (!is_null($productTypeCustomOption)) {
454
  // Check if product related to current item is a part of grouped product
455
  if ($productTypeCustomOption->getValue() == Mage_Catalog_Model_Product_Type_Grouped::TYPE_CODE) {
 
456
  $stockItem->setIsChildItem(true);
457
  }
458
  }
@@ -489,9 +516,6 @@ class Mage_CatalogInventory_Model_Observer
489
  }
490
  if (!is_null($result->getMessage())) {
491
  $quoteItem->setMessage($result->getMessage());
492
- if ($quoteItem->getParentItem()) {
493
- $quoteItem->getParentItem()->setMessage($result->getMessage());
494
- }
495
  }
496
 
497
  if (!is_null($result->getItemBackorders())) {
@@ -948,4 +972,17 @@ class Mage_CatalogInventory_Model_Observer
948
  Mage_Catalog_Model_Product::ENTITY, Mage_Index_Model_Event::TYPE_MASS_ACTION
949
  );
950
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
951
  }
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
308
  */
309
  $qty = $quoteItem->getQty();
310
 
311
+ /**
312
+ * Check if product in stock. For composite products check base (parent) item stosk status
313
+ */
314
+ $stockItem = $quoteItem->getProduct()->getStockItem();
315
+ $parentStockItem = false;
316
+ if ($quoteItem->getParentItem()) {
317
+ $parentStockItem = $quoteItem->getParentItem()->getProduct()->getStockItem();
318
+ }
319
+ if ($stockItem) {
320
+ if (!$stockItem->getIsInStock() || ($parentStockItem && !$parentStockItem->getIsInStock())) {
321
+ $quoteItem->addErrorInfo(
322
+ 'cataloginventory',
323
+ Mage_CatalogInventory_Helper_Data::ERROR_QTY,
324
+ Mage::helper('cataloginventory')->__('This product is currently out of stock.')
325
+ );
326
+ $quoteItem->getQuote()->addErrorInfo(
327
+ 'stock',
328
+ 'cataloginventory',
329
+ Mage_CatalogInventory_Helper_Data::ERROR_QTY,
330
+ Mage::helper('cataloginventory')->__('Some of the products are currently out of stock.')
331
+ );
332
+ return $this;
333
+ } else {
334
+ // Delete error from item and its quote, if it was set due to item out of stock
335
+ $this->_removeErrorsFromQuoteAndItem($quoteItem, Mage_CatalogInventory_Helper_Data::ERROR_QTY);
336
+ }
337
+ }
338
+
339
  /**
340
  * Check item for options
341
  */
343
  $qty = $quoteItem->getProduct()->getTypeInstance(true)->prepareQuoteItemQty($qty, $quoteItem->getProduct());
344
  $quoteItem->setData('qty', $qty);
345
 
 
346
  if ($stockItem) {
347
  $result = $stockItem->checkQtyIncrements($qty);
348
  if ($result->getHasError()) {
430
  $quoteItem->addErrorInfo(
431
  'cataloginventory',
432
  Mage_CatalogInventory_Helper_Data::ERROR_QTY,
433
+ $result->getMessage()
434
  );
435
 
436
  $quoteItem->getQuote()->addErrorInfo(
447
  $stockItem->unsIsChildItem();
448
  }
449
  } else {
 
450
  /* @var $stockItem Mage_CatalogInventory_Model_Stock_Item */
451
  if (!$stockItem instanceof Mage_CatalogInventory_Model_Stock_Item) {
452
  Mage::throwException(Mage::helper('cataloginventory')->__('The stock item for Product is not valid.'));
479
  if (!is_null($productTypeCustomOption)) {
480
  // Check if product related to current item is a part of grouped product
481
  if ($productTypeCustomOption->getValue() == Mage_Catalog_Model_Product_Type_Grouped::TYPE_CODE) {
482
+ $stockItem->setProductName($quoteItem->getProduct()->getName());
483
  $stockItem->setIsChildItem(true);
484
  }
485
  }
516
  }
517
  if (!is_null($result->getMessage())) {
518
  $quoteItem->setMessage($result->getMessage());
 
 
 
519
  }
520
 
521
  if (!is_null($result->getItemBackorders())) {
972
  Mage_Catalog_Model_Product::ENTITY, Mage_Index_Model_Event::TYPE_MASS_ACTION
973
  );
974
  }
975
+
976
+ /**
977
+ * Detects whether product status should be shown
978
+ *
979
+ * @param Varien_Event_Observer $observer
980
+ * @return Mage_CatalogInventory_Model_Observer
981
+ */
982
+ public function displayProductStatusInfo($observer)
983
+ {
984
+ $info = $observer->getEvent()->getStatus();
985
+ $info->setDisplayStatus(Mage::helper('cataloginventory')->isDisplayProductStockStatus());
986
+ return $this;
987
+ }
988
  }
app/code/core/Mage/CatalogInventory/Model/Resource/Indexer/Stock.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Resource/Indexer/Stock/Configurable.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Resource/Indexer/Stock/Default.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Resource/Indexer/Stock/Grouped.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Resource/Indexer/Stock/Interface.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Resource/Stock.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
@@ -211,13 +211,20 @@ class Mage_CatalogInventory_Model_Resource_Stock extends Mage_Core_Model_Resourc
211
  protected function _initConfig()
212
  {
213
  if (!$this->_isConfig) {
 
 
 
 
 
 
 
 
 
 
 
214
  $this->_isConfig = true;
215
- $this->_isConfigManageStock = (int)Mage::getStoreConfigFlag(Mage_CatalogInventory_Model_Stock_Item::XML_PATH_MANAGE_STOCK);
216
- $this->_isConfigBackorders = (int)Mage::getStoreConfig(Mage_CatalogInventory_Model_Stock_Item::XML_PATH_BACKORDERS);
217
- $this->_configMinQty = (int)Mage::getStoreConfig(Mage_CatalogInventory_Model_Stock_Item::XML_PATH_MIN_QTY);
218
- $this->_configNotifyStockQty = (int)Mage::getStoreConfig(Mage_CatalogInventory_Model_Stock_Item::XML_PATH_NOTIFY_STOCK_QTY);
219
- $this->_configTypeIds = array_keys(Mage::helper('catalogInventory')->getIsQtyTypeIds(true));
220
- $this->_stock = Mage::getModel('cataloginventory/stock');
221
  }
222
  }
223
 
@@ -318,4 +325,50 @@ class Mage_CatalogInventory_Model_Resource_Stock extends Mage_Core_Model_Resourc
318
 
319
  $adapter->update($this->getTable('cataloginventory/stock_item'), $value, $where);
320
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
321
  }
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
211
  protected function _initConfig()
212
  {
213
  if (!$this->_isConfig) {
214
+ $configMap = array(
215
+ '_isConfigManageStock' => Mage_CatalogInventory_Model_Stock_Item::XML_PATH_MANAGE_STOCK,
216
+ '_isConfigBackorders' => Mage_CatalogInventory_Model_Stock_Item::XML_PATH_BACKORDERS,
217
+ '_configMinQty' => Mage_CatalogInventory_Model_Stock_Item::XML_PATH_MIN_QTY,
218
+ '_configNotifyStockQty' => Mage_CatalogInventory_Model_Stock_Item::XML_PATH_NOTIFY_STOCK_QTY
219
+ );
220
+
221
+ foreach ($configMap as $field => $const) {
222
+ $this->$field = (int)Mage::getStoreConfig($const);
223
+ }
224
+
225
  $this->_isConfig = true;
226
+ $this->_stock = Mage::getModel('cataloginventory/stock');
227
+ $this->_configTypeIds = array_keys(Mage::helper('catalogInventory')->getIsQtyTypeIds(true));
 
 
 
 
228
  }
229
  }
230
 
325
 
326
  $adapter->update($this->getTable('cataloginventory/stock_item'), $value, $where);
327
  }
328
+
329
+ /**
330
+ * Add low stock filter to product collection
331
+ *
332
+ * @param Mage_Catalog_Model_Resource_Product_Collection $collection
333
+ * @param array $fields
334
+ * @return Mage_CatalogInventory_Model_Resource_Stock
335
+ */
336
+ public function addLowStockFilter(Mage_Catalog_Model_Resource_Product_Collection $collection, $fields)
337
+ {
338
+ $this->_initConfig();
339
+ $adapter = $collection->getSelect()->getAdapter();
340
+ $qtyIf = $adapter->getCheckSql(
341
+ 'invtr.use_config_notify_stock_qty',
342
+ $this->_configNotifyStockQty,
343
+ 'invtr.notify_stock_qty'
344
+ );
345
+ $conditions = array(
346
+ array(
347
+ $adapter->prepareSqlCondition('invtr.use_config_manage_stock', 1),
348
+ $adapter->prepareSqlCondition($this->_isConfigManageStock, 1),
349
+ $adapter->prepareSqlCondition('invtr.qty', array('lt' => $qtyIf))
350
+ ),
351
+ array(
352
+ $adapter->prepareSqlCondition('invtr.use_config_manage_stock', 0),
353
+ $adapter->prepareSqlCondition('invtr.manage_stock', 1)
354
+ )
355
+ );
356
+
357
+ $where = array();
358
+ foreach ($conditions as $k => $part) {
359
+ $where[$k] = join(' ' . Zend_Db_Select::SQL_AND . ' ', $part);
360
+ }
361
+
362
+ $where = $adapter->prepareSqlCondition('invtr.low_stock_date', array('notnull' => true))
363
+ . ' ' . Zend_Db_Select::SQL_AND . ' (('
364
+ . join(') ' . Zend_Db_Select::SQL_OR .' (', $where)
365
+ . '))';
366
+
367
+ $collection->joinTable(array('invtr' => 'cataloginventory/stock_item'),
368
+ 'product_id = entity_id',
369
+ $fields,
370
+ $where
371
+ );
372
+ return $this;
373
+ }
374
  }
app/code/core/Mage/CatalogInventory/Model/Resource/Stock/Item.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Resource/Stock/Item/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Resource/Stock/Status.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Source/Backorders.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Source/Stock.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Stock.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Stock/Item.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
@@ -580,7 +580,7 @@ class Mage_CatalogInventory_Model_Stock_Item extends Mage_Core_Model_Abstract
580
  if (!$this->getIsInStock()) {
581
  $result->setHasError(true)
582
  ->setMessage(Mage::helper('cataloginventory')->__('This product is currently out of stock.'))
583
- ->setQuoteMessage(Mage::helper('cataloginventory')->__('Some of the products are currently out of stock'))
584
  ->setQuoteMessageIndex('stock');
585
  $result->setItemUseOldQty(true);
586
  return $result;
@@ -621,7 +621,7 @@ class Mage_CatalogInventory_Model_Stock_Item extends Mage_Core_Model_Abstract
621
  );
622
  } else {
623
  $result->setMessage(
624
- Mage::helper('cataloginventory')->__('"%s" is not available in the requested quantity. %s of the items will be backordered.', $this->getProductName(), ($backorderQty * 1))
625
  );
626
  }
627
  } elseif (Mage::app()->getStore()->isAdmin()) {
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
580
  if (!$this->getIsInStock()) {
581
  $result->setHasError(true)
582
  ->setMessage(Mage::helper('cataloginventory')->__('This product is currently out of stock.'))
583
+ ->setQuoteMessage(Mage::helper('cataloginventory')->__('Some of the products are currently out of stock.'))
584
  ->setQuoteMessageIndex('stock');
585
  $result->setItemUseOldQty(true);
586
  return $result;
621
  );
622
  } else {
623
  $result->setMessage(
624
+ Mage::helper('cataloginventory')->__('"%s" is not available in the requested quantity. %s of the items will be backordered.', $this->getProductName(), ($backorderQty * 1))
625
  );
626
  }
627
  } elseif (Mage::app()->getStore()->isAdmin()) {
app/code/core/Mage/CatalogInventory/Model/Stock/Item/Api.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/Stock/Item/Api/V2.php CHANGED
@@ -20,26 +20,30 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
27
  /**
28
  * Catalog inventory api V2
29
  *
30
- * @category Mage
31
- * @package Mage_CatalogInventory
32
  * @author Magento Core Team <core@magentocommerce.com>
33
  */
34
  class Mage_CatalogInventory_Model_Stock_Item_Api_V2 extends Mage_CatalogInventory_Model_Stock_Item_Api
35
  {
 
 
 
 
 
 
 
36
  public function update($productId, $data)
37
  {
 
38
  $product = Mage::getModel('catalog/product');
39
-
40
- if ($newId = $product->getIdBySku($productId)) {
41
- $productId = $newId;
42
- }
43
 
44
  $product->setStoreId($this->_getStoreId())
45
  ->load($productId);
@@ -48,40 +52,37 @@ class Mage_CatalogInventory_Model_Stock_Item_Api_V2 extends Mage_CatalogInventor
48
  $this->_fault('not_exists');
49
  }
50
 
51
- if (!$stockData = $product->getStockData()) {
52
- $stockData = array();
53
- }
54
-
55
- if (isset($data->qty)) {
56
- $stockData['qty'] = $data->qty;
57
- }
58
-
59
- if (isset($data->is_in_stock)) {
60
- $stockData['is_in_stock'] = $data->is_in_stock;
61
- }
62
 
63
- if (isset($data->manage_stock)) {
64
- $stockData['manage_stock'] = $data->manage_stock;
65
- }
66
-
67
- if (isset($data->use_config_manage_stock)) {
68
- $stockData['use_config_manage_stock'] = $data->use_config_manage_stock;
69
  }
70
 
71
- if (isset($data->use_config_backorders)) {
72
- $stockData['use_config_backorders'] = $data->use_config_backorders;
73
- }
74
 
75
- if (isset($data->backorders)) {
76
- $stockData['backorders'] = $data->backorders;
 
 
 
 
 
 
 
 
 
77
  }
78
 
79
- $product->setStockData($stockData);
80
 
81
- try {
82
- $product->save();
83
- } catch (Mage_Core_Exception $e) {
84
- $this->_fault('not_updated', $e->getMessage());
85
  }
86
 
87
  return true;
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
27
  /**
28
  * Catalog inventory api V2
29
  *
 
 
30
  * @author Magento Core Team <core@magentocommerce.com>
31
  */
32
  class Mage_CatalogInventory_Model_Stock_Item_Api_V2 extends Mage_CatalogInventory_Model_Stock_Item_Api
33
  {
34
+ /**
35
+ * Update product stock data
36
+ *
37
+ * @param int $productId
38
+ * @param array $data
39
+ * @return bool
40
+ */
41
  public function update($productId, $data)
42
  {
43
+ /** @var $product Mage_Catalog_Model_Product */
44
  $product = Mage::getModel('catalog/product');
45
+ $idBySku = $product->getIdBySku($productId);
46
+ $productId = $idBySku ? $idBySku : $productId;
 
 
47
 
48
  $product->setStoreId($this->_getStoreId())
49
  ->load($productId);
52
  $this->_fault('not_exists');
53
  }
54
 
55
+ /** @var $stockItem Mage_CatalogInventory_Model_Stock_Item */
56
+ $stockItem = $product->getStockItem();
57
+ $stockData = array_replace($stockItem->getData(), (array)$data);
58
+ $stockItem->setData($stockData);
 
 
 
 
 
 
 
59
 
60
+ try {
61
+ $stockItem->save();
62
+ } catch (Mage_Core_Exception $e) {
63
+ $this->_fault('not_updated', $e->getMessage());
 
 
64
  }
65
 
66
+ return true;
67
+ }
 
68
 
69
+ /**
70
+ * Update stock data of multiple products at once
71
+ *
72
+ * @param array $productIds
73
+ * @param array $productData
74
+ * @return boolean
75
+ */
76
+ public function multiUpdate($productIds, $productData)
77
+ {
78
+ if (count($productIds) != count($productData)) {
79
+ $this->_fault('multi_update_not_match');
80
  }
81
 
82
+ $productData = (array)$productData;
83
 
84
+ foreach ($productIds as $index => $productId) {
85
+ $this->update($productId, $productData[$index]);
 
 
86
  }
87
 
88
  return true;
app/code/core/Mage/CatalogInventory/Model/Stock/Status.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
@@ -277,10 +277,12 @@ class Mage_CatalogInventory_Model_Stock_Status extends Mage_Core_Model_Abstract
277
  * @param int $status
278
  * @param int $stockId
279
  * @param int $websiteId
 
280
  * @return Mage_CatalogInventory_Model_Stock_Status
281
  */
282
- protected function _processChildren($productId, $productType, $qty = 0, $status = self::STATUS_IN_STOCK, $stockId = 1, $websiteId = null)
283
- {
 
284
  if ($status == self::STATUS_OUT_OF_STOCK) {
285
  $this->saveProductStatus($productId, $status, $qty, $stockId, $websiteId);
286
  return $this;
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
277
  * @param int $status
278
  * @param int $stockId
279
  * @param int $websiteId
280
+ *
281
  * @return Mage_CatalogInventory_Model_Stock_Status
282
  */
283
+ protected function _processChildren($productId, $productType, $qty = 0, $status = self::STATUS_IN_STOCK,
284
+ $stockId = 1, $websiteId = null
285
+ ) {
286
  if ($status == self::STATUS_OUT_OF_STOCK) {
287
  $this->saveProductStatus($productId, $status, $qty, $stockId, $websiteId);
288
  return $this;
app/code/core/Mage/CatalogInventory/Model/System/Config/Backend/Minqty.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/System/Config/Backend/Minsaleqty.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/Model/System/Config/Backend/Qtyincrements.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/etc/adminhtml.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogInventory
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogInventory
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/CatalogInventory/etc/api.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogInventory
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
@@ -42,6 +42,10 @@
42
  <title>Update product stock data</title>
43
  <acl>cataloginventory/update</acl>
44
  </update>
 
 
 
 
45
  </methods>
46
  <faults module="cataloginventory">
47
  <not_exists>
@@ -52,6 +56,10 @@
52
  <code>102</code>
53
  <message>Product inventory not updated. Details in error message.</message>
54
  </not_updated>
 
 
 
 
55
  </faults>
56
  </cataloginventory_stock_item>
57
  </resources>
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogInventory
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
42
  <title>Update product stock data</title>
43
  <acl>cataloginventory/update</acl>
44
  </update>
45
+ <multiUpdate translate="title" module="cataloginventory">
46
+ <title>Multi update product stock data</title>
47
+ <acl>cataloginventory/update</acl>
48
+ </multiUpdate>
49
  </methods>
50
  <faults module="cataloginventory">
51
  <not_exists>
56
  <code>102</code>
57
  <message>Product inventory not updated. Details in error message.</message>
58
  </not_updated>
59
+ <multi_update_not_match>
60
+ <code>103</code>
61
+ <message>Quantity of product IDs and product data should match. Inventory was not updated.</message>
62
+ </multi_update_not_match>
63
  </faults>
64
  </cataloginventory_stock_item>
65
  </resources>
app/code/core/Mage/CatalogInventory/etc/api2.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogInventory
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogInventory
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/CatalogInventory/etc/config.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogInventory
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
@@ -78,6 +78,14 @@
78
  </cataloginventory>
79
  </blocks>
80
  <events>
 
 
 
 
 
 
 
 
81
  <catalog_product_load_after>
82
  <observers>
83
  <inventory>
@@ -305,6 +313,7 @@
305
  <can_back_in_stock>1</can_back_in_stock>
306
  <show_out_of_stock>0</show_out_of_stock>
307
  <stock_threshold_qty>0</stock_threshold_qty>
 
308
  </options>
309
  <item_options>
310
  <manage_stock>1</manage_stock>
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogInventory
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
78
  </cataloginventory>
79
  </blocks>
80
  <events>
81
+ <catalog_block_product_status_display>
82
+ <observers>
83
+ <inventory>
84
+ <class>cataloginventory/observer</class>
85
+ <method>displayProductStatusInfo</method>
86
+ </inventory>
87
+ </observers>
88
+ </catalog_block_product_status_display>
89
  <catalog_product_load_after>
90
  <observers>
91
  <inventory>
313
  <can_back_in_stock>1</can_back_in_stock>
314
  <show_out_of_stock>0</show_out_of_stock>
315
  <stock_threshold_qty>0</stock_threshold_qty>
316
+ <display_product_stock_status>1</display_product_stock_status>
317
  </options>
318
  <item_options>
319
  <manage_stock>1</manage_stock>
app/code/core/Mage/CatalogInventory/etc/system.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogInventory
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
@@ -62,8 +62,9 @@
62
  <show_in_website>1</show_in_website>
63
  <show_in_store>1</show_in_store>
64
  </can_back_in_stock>
65
- <show_out_of_stock translate="label">
66
  <label>Display Out of Stock Products</label>
 
67
  <frontend_type>select</frontend_type>
68
  <source_model>adminhtml/system_config_source_yesno</source_model>
69
  <sort_order>3</sort_order>
@@ -80,10 +81,19 @@
80
  <show_in_website>1</show_in_website>
81
  <show_in_store>0</show_in_store>
82
  </stock_threshold_qty>
 
 
 
 
 
 
 
 
 
83
  </fields>
84
  </options>
85
  <item_options translate="label comment">
86
- <comment>&lt;strong&gt;Note&lt;/strong&gt; that these settings are applicable to cart line items, not the whole cart.</comment>
87
  <label>Product Stock Options</label>
88
  <frontend_type>text</frontend_type>
89
  <sort_order>10</sort_order>
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogInventory
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
62
  <show_in_website>1</show_in_website>
63
  <show_in_store>1</show_in_store>
64
  </can_back_in_stock>
65
+ <show_out_of_stock translate="label comment">
66
  <label>Display Out of Stock Products</label>
67
+ <comment>Products will still be shown by direct product URLs.</comment>
68
  <frontend_type>select</frontend_type>
69
  <source_model>adminhtml/system_config_source_yesno</source_model>
70
  <sort_order>3</sort_order>
81
  <show_in_website>1</show_in_website>
82
  <show_in_store>0</show_in_store>
83
  </stock_threshold_qty>
84
+ <display_product_stock_status translate="label">
85
+ <label>Display products availability in stock in the frontend</label>
86
+ <frontend_type>select</frontend_type>
87
+ <source_model>adminhtml/system_config_source_yesno</source_model>
88
+ <sort_order>50</sort_order>
89
+ <show_in_default>1</show_in_default>
90
+ <show_in_website>1</show_in_website>
91
+ <show_in_store>1</show_in_store>
92
+ </display_product_stock_status>
93
  </fields>
94
  </options>
95
  <item_options translate="label comment">
96
+ <comment><![CDATA[<strong>Note</strong> that these settings are applicable to cart line items, not the whole cart.]]></comment>
97
  <label>Product Stock Options</label>
98
  <frontend_type>text</frontend_type>
99
  <sort_order>10</sort_order>
app/code/core/Mage/CatalogInventory/etc/wsdl.xml CHANGED
@@ -44,6 +44,13 @@
44
  <element name="stock_data" type="typens:catalogInventoryStockItemUpdateEntity" minOccurs="0" />
45
  </all>
46
  </complexType>
 
 
 
 
 
 
 
47
  </schema>
48
  </types>
49
  <message name="catalogInventoryStockItemListRequest">
@@ -61,6 +68,14 @@
61
  <message name="catalogInventoryStockItemUpdateResponse">
62
  <part name="result" type="xsd:int" />
63
  </message>
 
 
 
 
 
 
 
 
64
  <portType name="{{var wsdl.handler}}PortType">
65
  <operation name="catalogInventoryStockItemList">
66
  <documentation>Retrieve stock data by product ids</documentation>
@@ -72,6 +87,11 @@
72
  <input message="typens:catalogInventoryStockItemUpdateRequest" />
73
  <output message="typens:catalogInventoryStockItemUpdateResponse" />
74
  </operation>
 
 
 
 
 
75
  </portType>
76
  <binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
77
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
@@ -93,6 +113,17 @@
93
  <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
94
  </output>
95
  </operation>
 
 
 
 
 
 
 
 
 
 
 
96
  </binding>
97
  <service name="{{var wsdl.name}}Service">
98
  <port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
44
  <element name="stock_data" type="typens:catalogInventoryStockItemUpdateEntity" minOccurs="0" />
45
  </all>
46
  </complexType>
47
+ <complexType name="catalogInventoryStockItemUpdateEntityArray">
48
+ <complexContent>
49
+ <restriction base="soapenc:Array">
50
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:catalogInventoryStockItemUpdateEntity[]"/>
51
+ </restriction>
52
+ </complexContent>
53
+ </complexType>
54
  </schema>
55
  </types>
56
  <message name="catalogInventoryStockItemListRequest">
68
  <message name="catalogInventoryStockItemUpdateResponse">
69
  <part name="result" type="xsd:int" />
70
  </message>
71
+ <message name="catalogInventoryStockItemMultiUpdateRequest">
72
+ <part name="sessionId" type="xsd:string"/>
73
+ <part name="productIds" type="typens:ArrayOfString"/>
74
+ <part name="productData" type="typens:catalogInventoryStockItemUpdateEntityArray"/>
75
+ </message>
76
+ <message name="catalogInventoryStockItemMultiUpdateResponse">
77
+ <part name="result" type="xsd:boolean"/>
78
+ </message>
79
  <portType name="{{var wsdl.handler}}PortType">
80
  <operation name="catalogInventoryStockItemList">
81
  <documentation>Retrieve stock data by product ids</documentation>
87
  <input message="typens:catalogInventoryStockItemUpdateRequest" />
88
  <output message="typens:catalogInventoryStockItemUpdateResponse" />
89
  </operation>
90
+ <operation name="catalogInventoryStockItemMultiUpdate">
91
+ <documentation>Multi stock item update</documentation>
92
+ <input message="typens:catalogInventoryStockItemMultiUpdateRequest"/>
93
+ <output message="typens:catalogInventoryStockItemMultiUpdateResponse"/>
94
+ </operation>
95
  </portType>
96
  <binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
97
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
113
  <soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
114
  </output>
115
  </operation>
116
+ <operation name="catalogInventoryStockItemMultiUpdate">
117
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
118
+ <input>
119
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
120
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
121
+ </input>
122
+ <output>
123
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
124
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
125
+ </output>
126
+ </operation>
127
  </binding>
128
  <service name="{{var wsdl.name}}Service">
129
  <port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
app/code/core/Mage/CatalogInventory/etc/wsi.xml CHANGED
@@ -45,6 +45,11 @@
45
  <xsd:element name="stock_data" type="typens:catalogInventoryStockItemUpdateEntity" minOccurs="0" />
46
  </xsd:sequence>
47
  </xsd:complexType>
 
 
 
 
 
48
 
49
 
50
  <xsd:element name="catalogInventoryStockItemListRequestParam">
@@ -78,6 +83,22 @@
78
  </xsd:sequence>
79
  </xsd:complexType>
80
  </xsd:element>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  </xsd:schema>
82
  </wsdl:types>
83
  <wsdl:message name="catalogInventoryStockItemListRequest">
@@ -92,6 +113,12 @@
92
  <wsdl:message name="catalogInventoryStockItemUpdateResponse">
93
  <wsdl:part name="parameters" element="typens:catalogInventoryStockItemUpdateResponseParam" />
94
  </wsdl:message>
 
 
 
 
 
 
95
  <wsdl:portType name="{{var wsdl.handler}}PortType">
96
  <wsdl:operation name="catalogInventoryStockItemList">
97
  <wsdl:documentation>Retrieve stock data by product ids</wsdl:documentation>
@@ -103,6 +130,11 @@
103
  <wsdl:input message="typens:catalogInventoryStockItemUpdateRequest" />
104
  <wsdl:output message="typens:catalogInventoryStockItemUpdateResponse" />
105
  </wsdl:operation>
 
 
 
 
 
106
  </wsdl:portType>
107
  <wsdl:binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
108
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
@@ -124,6 +156,15 @@
124
  <soap:body use="literal" />
125
  </wsdl:output>
126
  </wsdl:operation>
 
 
 
 
 
 
 
 
 
127
  </wsdl:binding>
128
  <wsdl:service name="{{var wsdl.name}}Service">
129
  <wsdl:port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
45
  <xsd:element name="stock_data" type="typens:catalogInventoryStockItemUpdateEntity" minOccurs="0" />
46
  </xsd:sequence>
47
  </xsd:complexType>
48
+ <xsd:complexType name="catalogInventoryStockItemUpdateEntityArray">
49
+ <xsd:sequence>
50
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:catalogInventoryStockItemUpdateEntity" />
51
+ </xsd:sequence>
52
+ </xsd:complexType>
53
 
54
 
55
  <xsd:element name="catalogInventoryStockItemListRequestParam">
83
  </xsd:sequence>
84
  </xsd:complexType>
85
  </xsd:element>
86
+ <xsd:element name="catalogInventoryStockItemMultiUpdateRequestParam">
87
+ <xsd:complexType>
88
+ <xsd:sequence>
89
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
90
+ <xsd:element minOccurs="1" maxOccurs="1" name="productIds" type="typens:ArrayOfString" />
91
+ <xsd:element minOccurs="1" maxOccurs="1" name="productData" type="typens:catalogInventoryStockItemUpdateEntityArray" />
92
+ </xsd:sequence>
93
+ </xsd:complexType>
94
+ </xsd:element>
95
+ <xsd:element name="catalogInventoryStockItemMultiUpdateResponseParam">
96
+ <xsd:complexType>
97
+ <xsd:sequence>
98
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
99
+ </xsd:sequence>
100
+ </xsd:complexType>
101
+ </xsd:element>
102
  </xsd:schema>
103
  </wsdl:types>
104
  <wsdl:message name="catalogInventoryStockItemListRequest">
113
  <wsdl:message name="catalogInventoryStockItemUpdateResponse">
114
  <wsdl:part name="parameters" element="typens:catalogInventoryStockItemUpdateResponseParam" />
115
  </wsdl:message>
116
+ <wsdl:message name="catalogInventoryStockItemMultiUpdateRequest">
117
+ <wsdl:part name="parameters" element="typens:catalogInventoryStockItemMultiUpdateRequestParam" />
118
+ </wsdl:message>
119
+ <wsdl:message name="catalogInventoryStockItemMultiUpdateResponse">
120
+ <wsdl:part name="parameters" element="typens:catalogInventoryStockItemMultiUpdateResponseParam" />
121
+ </wsdl:message>
122
  <wsdl:portType name="{{var wsdl.handler}}PortType">
123
  <wsdl:operation name="catalogInventoryStockItemList">
124
  <wsdl:documentation>Retrieve stock data by product ids</wsdl:documentation>
130
  <wsdl:input message="typens:catalogInventoryStockItemUpdateRequest" />
131
  <wsdl:output message="typens:catalogInventoryStockItemUpdateResponse" />
132
  </wsdl:operation>
133
+ <wsdl:operation name="catalogInventoryStockItemMultiUpdate">
134
+ <wsdl:documentation>Multi update product stock data</wsdl:documentation>
135
+ <wsdl:input message="typens:catalogInventoryStockItemMultiUpdateRequest" />
136
+ <wsdl:output message="typens:catalogInventoryStockItemMultiUpdateResponse" />
137
+ </wsdl:operation>
138
  </wsdl:portType>
139
  <wsdl:binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
140
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
156
  <soap:body use="literal" />
157
  </wsdl:output>
158
  </wsdl:operation>
159
+ <wsdl:operation name="catalogInventoryStockItemMultiUpdate">
160
+ <soap:operation soapAction="" />
161
+ <wsdl:input>
162
+ <soap:body use="literal" />
163
+ </wsdl:input>
164
+ <wsdl:output>
165
+ <soap:body use="literal" />
166
+ </wsdl:output>
167
+ </wsdl:operation>
168
  </wsdl:binding>
169
  <wsdl:service name="{{var wsdl.name}}Service">
170
  <wsdl:port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/install-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-install-0.7.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.0-0.7.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.1-0.7.2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.2-0.7.3.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.3-0.7.4.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.4-0.7.5.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.5-0.7.6.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.6-0.7.7.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-0.7.7-0.7.8.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/mysql4-upgrade-1.6.0.0-1.6.0.0.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogInventory/sql/cataloginventory_setup/upgrade-1.6.0.0.1-1.6.0.0.2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogInventory
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Helper/Data.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh.php ADDED
@@ -0,0 +1,648 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Catalog rule indexer
29
+ *
30
+ * @category Mage
31
+ * @package Mage_CatalogRule
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_CatalogRule_Model_Action_Index_Refresh
35
+ {
36
+ /**
37
+ * Connection instance
38
+ *
39
+ * @var Varien_Db_Adapter_Interface
40
+ */
41
+ protected $_connection;
42
+
43
+ /**
44
+ * Core factory instance
45
+ *
46
+ * @var Mage_Core_Model_Factory
47
+ */
48
+ protected $_factory;
49
+
50
+ /**
51
+ * Resource instance
52
+ *
53
+ * @var Mage_Core_Model_Resource_Db_Abstract
54
+ */
55
+ protected $_resource;
56
+
57
+ /**
58
+ * Application instance
59
+ *
60
+ * @var Mage_Core_Model_App
61
+ */
62
+ protected $_app;
63
+
64
+ /**
65
+ * Constructor with parameters
66
+ * Array of arguments with keys
67
+ * - 'connection' Varien_Db_Adapter_Interface
68
+ * - 'factory' Mage_Core_Model_Factory
69
+ * - 'resource' Mage_Core_Model_Resource_Db_Abstract
70
+ * - 'app' Mage_Core_Model_App
71
+ *
72
+ * @param array $args
73
+ */
74
+ public function __construct(array $args)
75
+ {
76
+ $this->_setConnection($args['connection']);
77
+ $this->_setFactory($args['factory']);
78
+ $this->_setResource($args['resource']);
79
+ $this->_app = !empty($args['app']) ? $args['app'] : Mage::app();
80
+ }
81
+
82
+ /**
83
+ * Set connection
84
+ *
85
+ * @param Varien_Db_Adapter_Interface $connection
86
+ */
87
+ protected function _setConnection(Varien_Db_Adapter_Interface $connection)
88
+ {
89
+ $this->_connection = $connection;
90
+ }
91
+
92
+ /**
93
+ * Set factory
94
+ *
95
+ * @param Mage_Core_Model_Factory $factory
96
+ */
97
+ protected function _setFactory(Mage_Core_Model_Factory $factory)
98
+ {
99
+ $this->_factory = $factory;
100
+ }
101
+
102
+ /**
103
+ * Set resource
104
+ *
105
+ * @param Mage_Core_Model_Resource_Db_Abstract $resource
106
+ */
107
+ protected function _setResource(Mage_Core_Model_Resource_Db_Abstract $resource)
108
+ {
109
+ $this->_resource = $resource;
110
+ }
111
+
112
+ /**
113
+ * Run reindex
114
+ */
115
+ public function execute()
116
+ {
117
+ $this->_app->dispatchEvent('catalogrule_before_apply', array('resource' => $this->_resource));
118
+
119
+ /** @var $coreDate Mage_Core_Model_Date */
120
+ $coreDate = $this->_factory->getModel('core/date');
121
+ $timestamp = $coreDate->gmtTimestamp('Today');
122
+
123
+ foreach ($this->_app->getWebsites(false) as $website) {
124
+ /** @var $website Mage_Core_Model_Website */
125
+ if ($website->getDefaultStore()) {
126
+ $this->_reindex($website, $timestamp);
127
+ }
128
+ }
129
+
130
+ $this->_prepareGroupWebsite($timestamp);
131
+ $this->_prepareAffectedProduct();
132
+ }
133
+
134
+ /**
135
+ * Return temporary table name
136
+ *
137
+ * @return string
138
+ */
139
+ protected function _getTemporaryTable()
140
+ {
141
+ return $this->_resource->getTable('catalogrule/rule_product_price_tmp');
142
+ }
143
+
144
+ /**
145
+ * Create temporary table
146
+ */
147
+ protected function _createTemporaryTable()
148
+ {
149
+ $this->_connection->dropTemporaryTable($this->_getTemporaryTable());
150
+ $table = $this->_connection->newTable($this->_getTemporaryTable())
151
+ ->addColumn(
152
+ 'grouped_id',
153
+ Varien_Db_Ddl_Table::TYPE_VARCHAR,
154
+ 80,
155
+ array(),
156
+ 'Grouped ID'
157
+ )
158
+ ->addColumn(
159
+ 'product_id',
160
+ Varien_Db_Ddl_Table::TYPE_INTEGER,
161
+ null,
162
+ array(
163
+ 'unsigned' => true
164
+ ),
165
+ 'Product ID'
166
+ )
167
+ ->addColumn(
168
+ 'customer_group_id',
169
+ Varien_Db_Ddl_Table::TYPE_SMALLINT,
170
+ 5,
171
+ array(
172
+ 'unsigned' => true
173
+ ),
174
+ 'Customer Group ID'
175
+ )
176
+ ->addColumn(
177
+ 'from_date',
178
+ Varien_Db_Ddl_Table::TYPE_DATE,
179
+ null,
180
+ array(),
181
+ 'From Date'
182
+ )
183
+ ->addColumn(
184
+ 'to_date',
185
+ Varien_Db_Ddl_Table::TYPE_DATE,
186
+ null,
187
+ array(),
188
+ 'To Date'
189
+ )
190
+ ->addColumn(
191
+ 'action_amount',
192
+ Varien_Db_Ddl_Table::TYPE_DECIMAL,
193
+ '12,4',
194
+ array(),
195
+ 'Action Amount'
196
+ )
197
+ ->addColumn(
198
+ 'action_operator',
199
+ Varien_Db_Ddl_Table::TYPE_VARCHAR,
200
+ 10,
201
+ array(),
202
+ 'Action Operator'
203
+ )
204
+ ->addColumn(
205
+ 'action_stop',
206
+ Varien_Db_Ddl_Table::TYPE_SMALLINT,
207
+ 6,
208
+ array(),
209
+ 'Action Stop'
210
+ )
211
+ ->addColumn(
212
+ 'sort_order',
213
+ Varien_Db_Ddl_Table::TYPE_INTEGER,
214
+ 10,
215
+ array(
216
+ 'unsigned' => true
217
+ ),
218
+ 'Sort Order'
219
+ )
220
+ ->addColumn(
221
+ 'price',
222
+ Varien_Db_Ddl_Table::TYPE_DECIMAL,
223
+ '12,4',
224
+ array(),
225
+ 'Product Price'
226
+ )
227
+ ->addColumn(
228
+ 'rule_product_id',
229
+ Varien_Db_Ddl_Table::TYPE_INTEGER,
230
+ null,
231
+ array(
232
+ 'unsigned' => true
233
+ ),
234
+ 'Rule Product ID'
235
+ )
236
+ ->addColumn(
237
+ 'from_time',
238
+ Varien_Db_Ddl_Table::TYPE_INTEGER,
239
+ null,
240
+ array(
241
+ 'unsigned' => true,
242
+ 'nullable' => true,
243
+ 'default' => 0,
244
+ ),
245
+ 'From Time'
246
+ )
247
+ ->addColumn(
248
+ 'to_time',
249
+ Varien_Db_Ddl_Table::TYPE_INTEGER,
250
+ null,
251
+ array(
252
+ 'unsigned' => true,
253
+ 'nullable' => true,
254
+ 'default' => 0,
255
+ ),
256
+ 'To Time'
257
+ )
258
+ ->addIndex(
259
+ $this->_connection->getIndexName($this->_getTemporaryTable(), 'grouped_id'),
260
+ array('grouped_id')
261
+ )
262
+ ->setComment('CatalogRule Price Temporary Table');
263
+ $this->_connection->createTemporaryTable($table);
264
+ }
265
+
266
+ /**
267
+ * Prepare temporary data
268
+ *
269
+ * @param Mage_Core_Model_Website $website
270
+ * @return Varien_Db_Select
271
+ */
272
+ protected function _prepareTemporarySelect(Mage_Core_Model_Website $website)
273
+ {
274
+ /** @var $catalogFlatHelper Mage_Catalog_Helper_Product_Flat */
275
+ $catalogFlatHelper = $this->_factory->getHelper('catalog/product_flat');
276
+
277
+ /** @var $eavConfig Mage_Eav_Model_Config */
278
+ $eavConfig = $this->_factory->getSingleton('eav/config');
279
+ $priceAttribute = $eavConfig->getAttribute(Mage_Catalog_Model_Product::ENTITY, 'price');
280
+
281
+ $select = $this->_connection->select()
282
+ ->from(
283
+ array('rp' => $this->_resource->getTable('catalogrule/rule_product')),
284
+ array()
285
+ )
286
+ ->joinInner(
287
+ array('r' => $this->_resource->getTable('catalogrule/rule')),
288
+ 'r.rule_id = rp.rule_id',
289
+ array()
290
+ )
291
+ ->where('rp.website_id = ?', $website->getId())
292
+ ->order(
293
+ array('rp.product_id', 'rp.customer_group_id', 'rp.sort_order', 'rp.rule_product_id')
294
+ )
295
+ ->joinLeft(
296
+ array(
297
+ 'pg' => $this->_resource->getTable('catalog/product_attribute_group_price')
298
+ ),
299
+ 'pg.entity_id = rp.product_id AND pg.customer_group_id = rp.customer_group_id'
300
+ . ' AND pg.website_id = rp.website_id',
301
+ array()
302
+ )
303
+ ->joinLeft(
304
+ array(
305
+ 'pgd' => $this->_resource->getTable('catalog/product_attribute_group_price')
306
+ ),
307
+ 'pgd.entity_id = rp.product_id AND pgd.customer_group_id = rp.customer_group_id'
308
+ . ' AND pgd.website_id = 0',
309
+ array()
310
+ );
311
+
312
+ $storeId = $website->getDefaultStore()->getId();
313
+
314
+ if ($catalogFlatHelper->isEnabled() && $storeId && $catalogFlatHelper->isBuilt($storeId)) {
315
+ $select->joinInner(
316
+ array('p' => $this->_resource->getTable('catalog/product_flat') . '_' . $storeId),
317
+ 'p.entity_id = rp.product_id',
318
+ array()
319
+ );
320
+ $priceColumn = $this->_connection->getIfNullSql(
321
+ $this->_connection->getIfNullSql(
322
+ 'pg.value',
323
+ 'pgd.value'
324
+ ),
325
+ 'p.price'
326
+ );
327
+ } else {
328
+ $select->joinInner(
329
+ array(
330
+ 'pd' => $this->_resource->getTable(array('catalog/product', $priceAttribute->getBackendType()))
331
+ ),
332
+ 'pd.entity_id = rp.product_id AND pd.store_id = 0 AND pd.attribute_id = '
333
+ . $priceAttribute->getId(),
334
+ array()
335
+ )
336
+ ->joinLeft(
337
+ array(
338
+ 'p' => $this->_resource->getTable(array('catalog/product', $priceAttribute->getBackendType()))
339
+ ),
340
+ 'p.entity_id = rp.product_id AND p.store_id = ' . $storeId
341
+ . ' AND p.attribute_id = pd.attribute_id',
342
+ array()
343
+ );
344
+ $priceColumn = $this->_connection->getIfNullSql(
345
+ $this->_connection->getIfNullSql(
346
+ 'pg.value',
347
+ 'pgd.value'
348
+ ),
349
+ $this->_connection->getIfNullSql(
350
+ 'p.value',
351
+ 'pd.value'
352
+ )
353
+ );
354
+ }
355
+
356
+ $select->columns(
357
+ array(
358
+ 'grouped_id' => $this->_connection->getConcatSql(
359
+ array('rp.product_id', 'rp.customer_group_id'),
360
+ '-'
361
+ ),
362
+ 'product_id' => 'rp.product_id',
363
+ 'customer_group_id' => 'rp.customer_group_id',
364
+ 'from_date' => 'r.from_date',
365
+ 'to_date' => 'r.to_date',
366
+ 'action_amount' => 'rp.action_amount',
367
+ 'action_operator' => 'rp.action_operator',
368
+ 'action_stop' => 'rp.action_stop',
369
+ 'sort_order' => 'rp.sort_order',
370
+ 'price' => $priceColumn,
371
+ 'rule_product_id' => 'rp.rule_product_id',
372
+ 'from_time' => 'rp.from_time',
373
+ 'to_time' => 'rp.to_time'
374
+ )
375
+ );
376
+
377
+ return $select;
378
+ }
379
+
380
+ /**
381
+ * Prepare price column
382
+ *
383
+ * @return Zend_Db_Expr
384
+ */
385
+ protected function _calculatePrice()
386
+ {
387
+ $toPercent = $this->_connection->quote('to_percent');
388
+ $byPercent = $this->_connection->quote('by_percent');
389
+ $toFixed = $this->_connection->quote('to_fixed');
390
+ $byFixed = $this->_connection->quote('by_fixed');
391
+ $nA = $this->_connection->quote('N/A');
392
+
393
+ return $this->_connection->getCaseSql(
394
+ '',
395
+ array(
396
+ $this->_connection->getIfNullSql(
397
+ new Zend_Db_Expr('@group_id'), $nA
398
+ ) . ' != cppt.grouped_id' =>
399
+ '@price := ' . $this->_connection->getCaseSql(
400
+ $this->_connection->quoteIdentifier('cppt.action_operator'),
401
+ array(
402
+ $toPercent => new Zend_Db_Expr('cppt.price * cppt.action_amount/100'),
403
+ $byPercent => new Zend_Db_Expr('cppt.price * (1 - cppt.action_amount/100)'),
404
+ $toFixed => $this->_connection->getCheckSql(
405
+ new Zend_Db_Expr('cppt.action_amount < cppt.price'),
406
+ new Zend_Db_Expr('cppt.action_amount'),
407
+ new Zend_Db_Expr('cppt.price')
408
+ ),
409
+ $byFixed => $this->_connection->getCheckSql(
410
+ new Zend_Db_Expr('0 > cppt.price - cppt.action_amount'),
411
+ new Zend_Db_Expr('0'),
412
+ new Zend_Db_Expr('cppt.price - cppt.action_amount')
413
+ ),
414
+ )
415
+ ),
416
+ $this->_connection->getIfNullSql(
417
+ new Zend_Db_Expr('@group_id'), $nA
418
+ ) . ' = cppt.grouped_id AND '
419
+ . $this->_connection->getIfNullSql(
420
+ new Zend_Db_Expr('@action_stop'),
421
+ new Zend_Db_Expr(0)
422
+ ) . ' = 0' => '@price := ' . $this->_connection->getCaseSql(
423
+ $this->_connection->quoteIdentifier('cppt.action_operator'),
424
+ array(
425
+ $toPercent => new Zend_Db_Expr('@price * cppt.action_amount/100'),
426
+ $byPercent => new Zend_Db_Expr('@price * (1 - cppt.action_amount/100)'),
427
+ $toFixed => $this->_connection->getCheckSql(
428
+ new Zend_Db_Expr('cppt.action_amount < @price'),
429
+ new Zend_Db_Expr('cppt.action_amount'),
430
+ new Zend_Db_Expr('@price')
431
+ ),
432
+ $byFixed => $this->_connection->getCheckSql(
433
+ new Zend_Db_Expr('0 > @price - cppt.action_amount'),
434
+ new Zend_Db_Expr('0'),
435
+ new Zend_Db_Expr('@price - cppt.action_amount')
436
+ ),
437
+ )
438
+ )
439
+ ),
440
+ '@price := @price'
441
+ );
442
+ }
443
+
444
+ /**
445
+ * Prepare index select
446
+ *
447
+ * @param Mage_Core_Model_Website $website
448
+ * @param $time
449
+ * @return Varien_Db_Select
450
+ */
451
+ protected function _prepareIndexSelect(Mage_Core_Model_Website $website, $time)
452
+ {
453
+ $nA = $this->_connection->quote('N/A');
454
+ $this->_connection->query('SET @price := NULL');
455
+ $this->_connection->query('SET @group_id := NULL');
456
+ $this->_connection->query('SET @action_stop := NULL');
457
+
458
+ $indexSelect = $this->_connection->select()
459
+ ->from(array('cppt' => $this->_getTemporaryTable()), array())
460
+ ->order(array('cppt.grouped_id', 'cppt.sort_order', 'cppt.rule_product_id'))
461
+ ->columns(
462
+ array(
463
+ 'customer_group_id' => 'cppt.customer_group_id',
464
+ 'product_id' => 'cppt.product_id',
465
+ 'rule_price' => $this->_calculatePrice(),
466
+ 'latest_start_date' => 'cppt.from_date',
467
+ 'earliest_end_date' => 'cppt.to_date',
468
+ new Zend_Db_Expr(
469
+ $this->_connection->getCaseSql(
470
+ '',
471
+ array(
472
+ $this->_connection->getIfNullSql(
473
+ new Zend_Db_Expr('@group_id'),
474
+ $nA
475
+ ) . ' != cppt.grouped_id' => new Zend_Db_Expr('@action_stop := cppt.action_stop'),
476
+ $this->_connection->getIfNullSql(
477
+ new Zend_Db_Expr('@group_id'),
478
+ $nA
479
+ ) . ' = cppt.grouped_id' => '@action_stop := '
480
+ . $this->_connection->getIfNullSql(
481
+ new Zend_Db_Expr('@action_stop'),
482
+ new Zend_Db_Expr(0)
483
+ ) . ' + cppt.action_stop',
484
+ )
485
+ )
486
+ ),
487
+ new Zend_Db_Expr('@group_id := cppt.grouped_id'),
488
+ 'from_time' => 'cppt.from_time',
489
+ 'to_time' => 'cppt.to_time'
490
+ )
491
+ );
492
+
493
+ $select = $this->_connection->select()
494
+ ->from($indexSelect, array())
495
+ ->joinInner(
496
+ array(
497
+ 'dates' => $this->_connection->select()->union(
498
+ array(
499
+ new Zend_Db_Expr(
500
+ 'SELECT ' . $this->_connection->getDateAddSql(
501
+ $this->_connection->fromUnixtime($time),
502
+ -1,
503
+ Varien_Db_Adapter_Interface::INTERVAL_DAY
504
+ ) . ' AS rule_date'
505
+ ),
506
+ new Zend_Db_Expr('SELECT ' . $this->_connection->fromUnixtime($time) . ' AS rule_date'),
507
+ new Zend_Db_Expr(
508
+ 'SELECT ' . $this->_connection->getDateAddSql(
509
+ $this->_connection->fromUnixtime($time),
510
+ 1,
511
+ Varien_Db_Adapter_Interface::INTERVAL_DAY
512
+ ) . ' AS rule_date'
513
+ ),
514
+ )
515
+ )
516
+ ),
517
+ '1=1',
518
+ array()
519
+ )
520
+ ->columns(
521
+ array(
522
+ 'rule_product_price_id' => new Zend_Db_Expr('NULL'),
523
+ 'rule_date' => 'dates.rule_date',
524
+ 'customer_group_id' => 'customer_group_id',
525
+ 'product_id' => 'product_id',
526
+ 'rule_price' => 'MIN(rule_price)',
527
+ 'website_id' => new Zend_Db_Expr($website->getId()),
528
+ 'latest_start_date' => 'latest_start_date',
529
+ 'earliest_end_date' => 'earliest_end_date',
530
+ )
531
+ )
532
+ ->where(new Zend_Db_Expr($this->_connection->getUnixTimestamp('dates.rule_date') . " >= from_time"))
533
+ ->where(
534
+ $this->_connection->getCheckSql(
535
+ new Zend_Db_Expr('to_time = 0'),
536
+ new Zend_Db_Expr(1),
537
+ new Zend_Db_Expr($this->_connection->getUnixTimestamp('dates.rule_date') . " <= to_time")
538
+ )
539
+ )
540
+ ->group(array('customer_group_id', 'product_id', 'dates.rule_date'));
541
+
542
+ return $select;
543
+ }
544
+
545
+ /**
546
+ * Remove old index data
547
+ *
548
+ * @param Mage_Core_Model_Website $website
549
+ */
550
+ protected function _removeOldIndexData(Mage_Core_Model_Website $website)
551
+ {
552
+ $this->_connection->delete(
553
+ $this->_resource->getTable('catalogrule/rule_product_price'),
554
+ array('website_id = ?' => $website->getId())
555
+ );
556
+ }
557
+
558
+ /**
559
+ * Fill Index Data
560
+ *
561
+ * @param Mage_Core_Model_Website $website
562
+ * @param int $time
563
+ */
564
+ protected function _fillIndexData(Mage_Core_Model_Website $website, $time)
565
+ {
566
+ $this->_connection->query(
567
+ $this->_connection->insertFromSelect(
568
+ $this->_prepareIndexSelect($website, $time),
569
+ $this->_resource->getTable('catalogrule/rule_product_price')
570
+ )
571
+ );
572
+ }
573
+
574
+ /**
575
+ * Reindex catalog prices by website for timestamp
576
+ *
577
+ * @param Mage_Core_Model_Website $website
578
+ * @param int $timestamp
579
+ */
580
+ protected function _reindex(Mage_Core_Model_Website $website, $timestamp)
581
+ {
582
+ $this->_createTemporaryTable();
583
+ $this->_connection->query(
584
+ $this->_connection->insertFromSelect(
585
+ $this->_prepareTemporarySelect($website),
586
+ $this->_getTemporaryTable()
587
+ )
588
+ );
589
+ $this->_removeOldIndexData($website);
590
+ $this->_fillIndexData($website, $timestamp);
591
+ }
592
+
593
+ /**
594
+ * Prepare data for group website relation
595
+ */
596
+ protected function _prepareGroupWebsite($timestamp)
597
+ {
598
+ $this->_connection->delete($this->_resource->getTable('catalogrule/rule_group_website'), array());
599
+ $select = $this->_connection->select()
600
+ ->distinct(true)
601
+ ->from(
602
+ $this->_resource->getTable('catalogrule/rule_product'),
603
+ array('rule_id', 'customer_group_id', 'website_id')
604
+ )
605
+ ->where(new Zend_Db_Expr("{$timestamp} >= from_time"))
606
+ ->where(
607
+ $this->_connection->getCheckSql(
608
+ new Zend_Db_Expr('to_time = 0'),
609
+ new Zend_Db_Expr(1),
610
+ new Zend_Db_Expr("{$timestamp} <= to_time")
611
+ )
612
+ );
613
+ $query = $select->insertFromSelect($this->_resource->getTable('catalogrule/rule_group_website'));
614
+ $this->_connection->query($query);
615
+ }
616
+
617
+ /**
618
+ * Return data for affected product
619
+ *
620
+ * @return null
621
+ */
622
+ protected function _getProduct()
623
+ {
624
+ return null;
625
+ }
626
+
627
+ /**
628
+ * Prepare affected product
629
+ */
630
+ protected function _prepareAffectedProduct()
631
+ {
632
+ /** @var $modelCondition Mage_Catalog_Model_Product_Condition */
633
+ $modelCondition = $this->_factory->getModel('catalog/product_condition');
634
+
635
+ $productCondition = $modelCondition->setTable($this->_resource->getTable('catalogrule/affected_product'))
636
+ ->setPkFieldName('product_id');
637
+
638
+ $this->_app->dispatchEvent(
639
+ 'catalogrule_after_apply',
640
+ array(
641
+ 'product' => $this->_getProduct(),
642
+ 'product_condition' => $productCondition
643
+ )
644
+ );
645
+
646
+ $this->_connection->delete($this->_resource->getTable('catalogrule/affected_product'));
647
+ }
648
+ }
app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh/Row.php ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
+ */
26
+
27
+ /**
28
+ * Catalog rule indexer for row
29
+ *
30
+ * @category Mage
31
+ * @package Mage_CatalogRule
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Mage_CatalogRule_Model_Action_Index_Refresh_Row extends Mage_CatalogRule_Model_Action_Index_Refresh
35
+ {
36
+ /**
37
+ * Product Id
38
+ *
39
+ * @var int
40
+ */
41
+ protected $_productId;
42
+
43
+ /**
44
+ * Constructor with parameters
45
+ * Array of arguments with keys
46
+ * - 'connection' Varien_Db_Adapter_Interface
47
+ * - 'factory' Mage_Core_Model_Factory
48
+ * - 'resource' Mage_Core_Model_Resource_Db_Abstract
49
+ * - 'app' Mage_Core_Model_App
50
+ * - 'value' int|Mage_Catalog_Model_Product
51
+ *
52
+ * @param array $args
53
+ */
54
+ public function __construct(array $args)
55
+ {
56
+ parent::__construct($args);
57
+ $this->_productId = $args['value'] instanceof Mage_Catalog_Model_Product
58
+ ? $args['value']->getId()
59
+ : $args['value'];
60
+ }
61
+
62
+ /**
63
+ * Prepare temporary data
64
+ *
65
+ * @param Mage_Core_Model_Website $website
66
+ * @return Varien_Db_Select
67
+ */
68
+ protected function _prepareTemporarySelect(Mage_Core_Model_Website $website)
69
+ {
70
+ $select = parent::_prepareTemporarySelect($website);
71
+ return $select->where('rp.product_id IN (?)', $this->_productId);
72
+ }
73
+
74
+ /**
75
+ * Remove old index data
76
+ *
77
+ * @param Mage_Core_Model_Website $website
78
+ */
79
+ protected function _removeOldIndexData(Mage_Core_Model_Website $website)
80
+ {
81
+ $this->_connection->query(
82
+ $this->_connection->deleteFromSelect(
83
+ $this->_connection->select()
84
+ ->from($this->_resource->getTable('catalogrule/rule_product_price'))
85
+ ->where('product_id IN (?)', $this->_productId)
86
+ ->where('website_id = ?', $website->getId()),
87
+ $this->_resource->getTable('catalogrule/rule_product_price')
88
+ )
89
+ );
90
+ }
91
+
92
+ /**
93
+ * Return data for affected product
94
+ *
95
+ * @return int
96
+ */
97
+ protected function _getProduct()
98
+ {
99
+ return $this->_productId;
100
+ }
101
+ }
app/code/core/Mage/CatalogRule/Model/Flag.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Model/Mysql4/Rule.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Model/Mysql4/Rule/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Model/Mysql4/Rule/Product/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Model/Mysql4/Rule/Product/Price/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Model/Observer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
@@ -50,22 +50,14 @@ class Mage_CatalogRule_Model_Observer
50
  return;
51
  }
52
 
53
- $productWebsiteIds = $product->getWebsiteIds();
54
-
55
- $rules = Mage::getModel('catalogrule/rule')->getCollection()
56
- ->addFieldToFilter('is_active', 1);
57
-
58
- foreach ($rules as $rule) {
59
- $websiteIds = array_intersect($productWebsiteIds, $rule->getWebsiteIds());
60
- $rule->applyToProduct($product, $websiteIds);
61
- }
62
 
63
  return $this;
64
  }
65
 
66
  /**
67
  * Apply all price rules for current date.
68
- * Handle cataolg_product_import_after event
69
  *
70
  * @param Varien_Event_Observer $observer
71
  *
@@ -73,8 +65,9 @@ class Mage_CatalogRule_Model_Observer
73
  */
74
  public function applyAllRules($observer)
75
  {
 
76
  $resource = Mage::getResourceSingleton('catalogrule/rule');
77
- $resource->applyAllRulesForDateRange($resource->formatDate(mktime(0,0,0)));
78
  Mage::getModel('catalogrule/flag')->loadSelf()
79
  ->setState(0)
80
  ->save();
@@ -206,7 +199,9 @@ class Mage_CatalogRule_Model_Observer
206
  */
207
  public function dailyCatalogUpdate($observer)
208
  {
209
- Mage::getResourceSingleton('catalogrule/rule')->applyAllRulesForDateRange();
 
 
210
 
211
  return $this;
212
  }
@@ -399,4 +394,17 @@ class Mage_CatalogRule_Model_Observer
399
  Mage::getResourceSingleton('catalogrule/rule')->updateRuleProductData($rule);
400
  }
401
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
402
  }
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
50
  return;
51
  }
52
 
53
+ Mage::getModel('catalogrule/rule')->applyAllRulesToProduct($product);
 
 
 
 
 
 
 
 
54
 
55
  return $this;
56
  }
57
 
58
  /**
59
  * Apply all price rules for current date.
60
+ * Handle catalog_product_import_after event
61
  *
62
  * @param Varien_Event_Observer $observer
63
  *
65
  */
66
  public function applyAllRules($observer)
67
  {
68
+ /** @var $resource Mage_CatalogRule_Model_Resource_Rule */
69
  $resource = Mage::getResourceSingleton('catalogrule/rule');
70
+ $resource->applyAllRules();
71
  Mage::getModel('catalogrule/flag')->loadSelf()
72
  ->setState(0)
73
  ->save();
199
  */
200
  public function dailyCatalogUpdate($observer)
201
  {
202
+ /** @var $resource Mage_CatalogRule_Model_Resource_Rule */
203
+ $resource = Mage::getResourceSingleton('catalogrule/rule');
204
+ $resource->applyAllRules();
205
 
206
  return $this;
207
  }
394
  Mage::getResourceSingleton('catalogrule/rule')->updateRuleProductData($rule);
395
  }
396
  }
397
+
398
+ /**
399
+ * Runs Catalog Product Price Reindex
400
+ *
401
+ * @param Varien_Event_Observer $observer
402
+ */
403
+ public function runCatalogProductPriceReindex(Varien_Event_Observer $observer)
404
+ {
405
+ $indexProcess = Mage::getSingleton('index/indexer')->getProcessByCode('catalog_product_price');
406
+ if ($indexProcess) {
407
+ $indexProcess->reindexAll();
408
+ }
409
+ }
410
  }
app/code/core/Mage/CatalogRule/Model/Resource/Rule.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
@@ -39,6 +39,11 @@ class Mage_CatalogRule_Model_Resource_Rule extends Mage_Rule_Model_Resource_Abst
39
  */
40
  const SECONDS_IN_DAY = 86400;
41
 
 
 
 
 
 
42
  /**
43
  * Store associated with rule entities information map
44
  *
@@ -57,6 +62,35 @@ class Mage_CatalogRule_Model_Resource_Rule extends Mage_Rule_Model_Resource_Abst
57
  )
58
  );
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  /**
61
  * Initialize main table and table id field
62
  */
@@ -111,75 +145,159 @@ class Mage_CatalogRule_Model_Resource_Rule extends Mage_Rule_Model_Resource_Abst
111
  }
112
 
113
  /**
114
- * Update products which are matched for rule
115
  *
116
- * @param Mage_CatalogRule_Model_Rule $rule
117
- *
118
- * @return Mage_CatalogRule_Model_Resource_Rule
119
  */
120
- public function updateRuleProductData(Mage_CatalogRule_Model_Rule $rule)
121
  {
122
- $ruleId = $rule->getId();
123
- $write = $this->_getWriteAdapter();
124
- $write->beginTransaction();
125
- if ($rule->getProductsFilter()) {
126
- $write->delete(
127
- $this->getTable('catalogrule/rule_product'),
128
- array(
129
- 'rule_id=?' => $ruleId,
130
- 'product_id IN (?)' => $rule->getProductsFilter()
131
- )
132
- );
133
- } else {
134
- $write->delete($this->getTable('catalogrule/rule_product'), $write->quoteInto('rule_id=?', $ruleId));
135
- }
136
 
137
- if (!$rule->getIsActive()) {
138
- $write->commit();
139
- return $this;
140
- }
141
 
142
- $websiteIds = $rule->getWebsiteIds();
143
- if (!is_array($websiteIds)) {
144
- $websiteIds = explode(',', $websiteIds);
145
  }
146
- if (empty($websiteIds)) {
147
- return $this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
148
  }
 
149
 
150
- Varien_Profiler::start('__MATCH_PRODUCTS__');
151
- $productIds = $rule->getMatchingProductIds();
152
- Varien_Profiler::stop('__MATCH_PRODUCTS__');
 
 
 
 
 
 
 
 
153
 
154
  $customerGroupIds = $rule->getCustomerGroupIds();
155
- $fromTime = strtotime($rule->getFromDate());
156
- $toTime = strtotime($rule->getToDate());
157
  $toTime = $toTime ? ($toTime + self::SECONDS_IN_DAY - 1) : 0;
158
- $sortOrder = (int)$rule->getSortOrder();
159
  $actionOperator = $rule->getSimpleAction();
160
- $actionAmount = $rule->getDiscountAmount();
161
  $subActionOperator = $rule->getSubIsEnable() ? $rule->getSubSimpleAction() : '';
162
- $subActionAmount = $rule->getSubDiscountAmount();
163
- $actionStop = $rule->getStopRulesProcessing();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
 
165
- $rows = array();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
 
167
- try {
168
- foreach ($productIds as $productId) {
169
  foreach ($websiteIds as $websiteId) {
170
  foreach ($customerGroupIds as $customerGroupId) {
 
 
 
171
  $rows[] = array(
172
- 'rule_id' => $ruleId,
173
- 'from_time' => $fromTime,
174
- 'to_time' => $toTime,
175
- 'website_id' => $websiteId,
176
- 'customer_group_id' => $customerGroupId,
177
- 'product_id' => $productId,
178
- 'action_operator' => $actionOperator,
179
- 'action_amount' => $actionAmount,
180
- 'action_stop' => $actionStop,
181
- 'sort_order' => $sortOrder,
182
- 'sub_simple_action' => $subActionOperator,
183
  'sub_discount_amount' => $subActionAmount,
184
  );
185
 
@@ -190,17 +308,53 @@ class Mage_CatalogRule_Model_Resource_Rule extends Mage_Rule_Model_Resource_Abst
190
  }
191
  }
192
  }
 
193
  if (!empty($rows)) {
194
- $write->insertMultiple($this->getTable('catalogrule/rule_product'), $rows);
195
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
 
 
 
 
 
 
 
 
 
 
 
197
  $write->commit();
198
  } catch (Exception $e) {
199
  $write->rollback();
200
  throw $e;
201
  }
202
 
203
-
204
  return $this;
205
  }
206
 
@@ -376,6 +530,22 @@ class Mage_CatalogRule_Model_Resource_Rule extends Mage_Rule_Model_Resource_Abst
376
  return $read->query($select);
377
  }
378
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
379
  /**
380
  * Generate catalog price rules prices for specified date range
381
  * If from date is not defined - will be used previous day by UTC
@@ -385,158 +555,41 @@ class Mage_CatalogRule_Model_Resource_Rule extends Mage_Rule_Model_Resource_Abst
385
  * @param int|string|null $toDate
386
  * @param int $productId
387
  *
 
 
388
  * @return Mage_CatalogRule_Model_Resource_Rule
389
  */
390
  public function applyAllRulesForDateRange($fromDate = null, $toDate = null, $productId = null)
391
  {
392
- $write = $this->_getWriteAdapter();
393
- $write->beginTransaction();
394
-
395
- Mage::dispatchEvent('catalogrule_before_apply', array('resource' => $this));
396
-
397
- $clearOldData = false;
398
- if ($fromDate === null) {
399
- $fromDate = mktime(0,0,0,date('m'),date('d')-1);
400
- /**
401
- * If fromDate not specified we can delete all data oldest than 1 day
402
- * We have run it for clear table in case when cron was not installed
403
- * and old data exist in table
404
- */
405
- $clearOldData = true;
406
- }
407
- if (is_string($fromDate)) {
408
- $fromDate = strtotime($fromDate);
409
- }
410
- if ($toDate === null) {
411
- $toDate = mktime(0,0,0,date('m'),date('d')+1);
412
- }
413
- if (is_string($toDate)) {
414
- $toDate = strtotime($toDate);
415
- }
416
-
417
- $product = null;
418
- if ($productId instanceof Mage_Catalog_Model_Product) {
419
- $product = $productId;
420
- $productId = $productId->getId();
421
- }
422
-
423
- $this->removeCatalogPricesForDateRange($fromDate, $toDate, $productId);
424
- if ($clearOldData) {
425
- $this->deleteOldData($fromDate, $productId);
426
- }
427
-
428
- $dayPrices = array();
429
-
430
- try {
431
- /**
432
- * Update products rules prices per each website separately
433
- * because of max join limit in mysql
434
- */
435
- foreach (Mage::app()->getWebsites(false) as $website) {
436
- $productsStmt = $this->_getRuleProductsStmt(
437
- $fromDate,
438
- $toDate,
439
- $productId,
440
- $website->getId()
441
- );
442
-
443
- $dayPrices = array();
444
- $stopFlags = array();
445
- $prevKey = null;
446
-
447
- while ($ruleData = $productsStmt->fetch()) {
448
- $ruleProductId = $ruleData['product_id'];
449
- $productKey = $ruleProductId . '_'
450
- . $ruleData['website_id'] . '_'
451
- . $ruleData['customer_group_id'];
452
-
453
- if ($prevKey && ($prevKey != $productKey)) {
454
- $stopFlags = array();
455
- }
456
-
457
- /**
458
- * Build prices for each day
459
- */
460
- for ($time=$fromDate; $time<=$toDate; $time+=self::SECONDS_IN_DAY) {
461
- if (($ruleData['from_time']==0 || $time >= $ruleData['from_time'])
462
- && ($ruleData['to_time']==0 || $time <=$ruleData['to_time'])
463
- ) {
464
- $priceKey = $time . '_' . $productKey;
465
-
466
- if (isset($stopFlags[$priceKey])) {
467
- continue;
468
- }
469
-
470
- if (!isset($dayPrices[$priceKey])) {
471
- $dayPrices[$priceKey] = array(
472
- 'rule_date' => $time,
473
- 'website_id' => $ruleData['website_id'],
474
- 'customer_group_id' => $ruleData['customer_group_id'],
475
- 'product_id' => $ruleProductId,
476
- 'rule_price' => $this->_calcRuleProductPrice($ruleData),
477
- 'latest_start_date' => $ruleData['from_time'],
478
- 'earliest_end_date' => $ruleData['to_time'],
479
- );
480
- } else {
481
- $dayPrices[$priceKey]['rule_price'] = $this->_calcRuleProductPrice(
482
- $ruleData,
483
- $dayPrices[$priceKey]
484
- );
485
- $dayPrices[$priceKey]['latest_start_date'] = max(
486
- $dayPrices[$priceKey]['latest_start_date'],
487
- $ruleData['from_time']
488
- );
489
- $dayPrices[$priceKey]['earliest_end_date'] = min(
490
- $dayPrices[$priceKey]['earliest_end_date'],
491
- $ruleData['to_time']
492
- );
493
- }
494
-
495
- if ($ruleData['action_stop']) {
496
- $stopFlags[$priceKey] = true;
497
- }
498
- }
499
- }
500
-
501
- $prevKey = $productKey;
502
- if (count($dayPrices)>1000) {
503
- $this->_saveRuleProductPrices($dayPrices);
504
- $dayPrices = array();
505
- }
506
- }
507
- $this->_saveRuleProductPrices($dayPrices);
508
- }
509
- $this->_saveRuleProductPrices($dayPrices);
510
-
511
- $write->delete($this->getTable('catalogrule/rule_group_website'), array());
512
-
513
- $timestamp = Mage::getModel('core/date')->gmtTimestamp();
514
-
515
- $select = $write->select()
516
- ->distinct(true)
517
- ->from(
518
- $this->getTable('catalogrule/rule_product'),
519
- array('rule_id', 'customer_group_id', 'website_id')
520
- )->where("{$timestamp} >= from_time AND (({$timestamp} <= to_time AND to_time > 0) OR to_time = 0)");
521
- $query = $select->insertFromSelect($this->getTable('catalogrule/rule_group_website'));
522
- $write->query($query);
523
 
524
- $write->commit();
525
- } catch (Exception $e) {
526
- $write->rollback();
527
- throw $e;
 
 
 
 
 
 
 
 
528
  }
529
 
530
- $productCondition = Mage::getModel('catalog/product_condition')
531
- ->setTable($this->getTable('catalogrule/affected_product'))
532
- ->setPkFieldName('product_id');
533
- Mage::dispatchEvent('catalogrule_after_apply', array(
534
- 'product' => $product,
535
- 'product_condition' => $productCondition
536
- ));
537
- $write->delete($this->getTable('catalogrule/affected_product'));
538
-
539
- return $this;
 
 
540
  }
541
 
542
  /**
@@ -703,6 +756,7 @@ class Mage_CatalogRule_Model_Resource_Rule extends Mage_Rule_Model_Resource_Abst
703
  * @param Mage_Catalog_Model_Product $product
704
  * @param array $websiteIds
705
  *
 
706
  * @return Mage_CatalogRule_Model_Resource_Rule
707
  */
708
  public function applyToProduct($rule, $product, $websiteIds)
@@ -717,66 +771,24 @@ class Mage_CatalogRule_Model_Resource_Rule extends Mage_Rule_Model_Resource_Abst
717
  $write = $this->_getWriteAdapter();
718
  $write->beginTransaction();
719
 
720
- $write->delete($this->getTable('catalogrule/rule_product'), array(
721
- $write->quoteInto('rule_id=?', $ruleId),
722
- $write->quoteInto('product_id=?', $productId),
723
- ));
724
 
725
- if (!$rule->getConditions()->validate($product)) {
726
  $write->delete($this->getTable('catalogrule/rule_product_price'), array(
727
- $write->quoteInto('product_id=?', $productId),
728
  ));
729
  $write->commit();
730
  return $this;
731
  }
732
 
733
- $customerGroupIds = $rule->getCustomerGroupIds();
734
- $fromTime = strtotime($rule->getFromDate());
735
- $toTime = strtotime($rule->getToDate());
736
- $toTime = $toTime ? $toTime + self::SECONDS_IN_DAY - 1 : 0;
737
- $sortOrder = (int)$rule->getSortOrder();
738
- $actionOperator = $rule->getSimpleAction();
739
- $actionAmount = $rule->getDiscountAmount();
740
- $actionStop = $rule->getStopRulesProcessing();
741
- $subActionOperator = $rule->getSubIsEnable() ? $rule->getSubSimpleAction() : '';
742
- $subActionAmount = $rule->getSubDiscountAmount();
743
-
744
- $rows = array();
745
  try {
746
- foreach ($websiteIds as $websiteId) {
747
- foreach ($customerGroupIds as $customerGroupId) {
748
- $rows[] = array(
749
- 'rule_id' => $ruleId,
750
- 'from_time' => $fromTime,
751
- 'to_time' => $toTime,
752
- 'website_id' => $websiteId,
753
- 'customer_group_id' => $customerGroupId,
754
- 'product_id' => $productId,
755
- 'action_operator' => $actionOperator,
756
- 'action_amount' => $actionAmount,
757
- 'action_stop' => $actionStop,
758
- 'sort_order' => $sortOrder,
759
- 'sub_simple_action' => $subActionOperator,
760
- 'sub_discount_amount' => $subActionAmount,
761
- );
762
-
763
- if (count($rows) == 1000) {
764
- $write->insertMultiple($this->getTable('catalogrule/rule_product'), $rows);
765
- $rows = array();
766
- }
767
- }
768
- }
769
-
770
- if (!empty($rows)) {
771
- $write->insertMultiple($this->getTable('catalogrule/rule_product'), $rows);
772
- }
773
  } catch (Exception $e) {
774
  $write->rollback();
775
  throw $e;
776
  }
777
 
778
- $this->applyAllRulesForDateRange(null, null, $product);
779
-
780
  $write->commit();
781
 
782
  return $this;
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
39
  */
40
  const SECONDS_IN_DAY = 86400;
41
 
42
+ /**
43
+ * Number of products in range for insert
44
+ */
45
+ const RANGE_PRODUCT_STEP = 1000000;
46
+
47
  /**
48
  * Store associated with rule entities information map
49
  *
62
  )
63
  );
64
 
65
+ /**
66
+ * Factory instance
67
+ *
68
+ * @var Mage_Core_Model_Factory
69
+ */
70
+ protected $_factory;
71
+
72
+ /**
73
+ * App instance
74
+ *
75
+ * @var Mage_Core_Model_App
76
+ */
77
+ protected $_app;
78
+
79
+ /**
80
+ * Constructor with parameters
81
+ * Array of arguments with keys
82
+ * - 'factory' Mage_Core_Model_Factory
83
+ *
84
+ * @param array $args
85
+ */
86
+ public function __construct(array $args = array())
87
+ {
88
+ $this->_factory = !empty($args['factory']) ? $args['factory'] : Mage::getSingleton('core/factory');
89
+ $this->_app = !empty($args['app']) ? $args['app'] : Mage::app();
90
+
91
+ parent::__construct();
92
+ }
93
+
94
  /**
95
  * Initialize main table and table id field
96
  */
145
  }
146
 
147
  /**
148
+ * Deletes records in catalogrule/product_data by rule ID and product IDs
149
  *
150
+ * @param int $ruleId
151
+ * @param array $productIds
 
152
  */
153
+ public function cleanProductData($ruleId, array $productIds = array())
154
  {
155
+ /** @var $write Varien_Db_Adapter_Interface */
156
+ $write = $this->_getWriteAdapter();
 
 
 
 
 
 
 
 
 
 
 
 
157
 
158
+ $conditions = array('rule_id = ?' => $ruleId);
 
 
 
159
 
160
+ if (count($productIds) > 0) {
161
+ $conditions['product_id IN (?)'] = $productIds;
 
162
  }
163
+
164
+ $write->delete($this->getTable('catalogrule/rule_product'), $conditions);
165
+ }
166
+
167
+ /**
168
+ * Return whether the product fits the rule
169
+ *
170
+ * @param Mage_CatalogRule_Model_Rule $rule
171
+ * @param Varien_Object $product
172
+ * @param array $websiteIds
173
+ * @return bool
174
+ */
175
+ public function validateProduct(Mage_CatalogRule_Model_Rule $rule, Varien_Object $product, $websiteIds = array())
176
+ {
177
+ /** @var $helper Mage_Catalog_Helper_Product_Flat */
178
+ $helper = $this->_factory->getHelper('catalog/product_flat');
179
+ if ($helper->isEnabled() && $helper->isBuiltAllStores()) {
180
+ /** @var $store Mage_Core_Model_Store */
181
+ foreach ($this->_app->getStores(false) as $store) {
182
+ if (count($websiteIds) == 0 || in_array($store->getWebsiteId(), $websiteIds)) {
183
+ /** @var $selectByStore Varien_Db_Select */
184
+ $selectByStore = $rule->getProductFlatSelect($store->getId());
185
+ $selectByStore->where('p.entity_id = ?', $product->getId());
186
+ $selectByStore->limit(1);
187
+ if ($this->_getReadAdapter()->fetchOne($selectByStore)) {
188
+ return true;
189
+ }
190
+ }
191
+ }
192
+ return false;
193
+ } else {
194
+ return $rule->getConditions()->validate($product);
195
  }
196
+ }
197
 
198
+ /**
199
+ * Inserts rule data into catalogrule/rule_product table
200
+ *
201
+ * @param Mage_CatalogRule_Model_Rule $rule
202
+ * @param array $websiteIds
203
+ * @param array $productIds
204
+ */
205
+ public function insertRuleData(Mage_CatalogRule_Model_Rule $rule, array $websiteIds, array $productIds = array())
206
+ {
207
+ /** @var $write Varien_Db_Adapter_Interface */
208
+ $write = $this->_getWriteAdapter();
209
 
210
  $customerGroupIds = $rule->getCustomerGroupIds();
211
+ $fromTime = (int) strtotime($rule->getFromDate());
212
+ $toTime = (int) strtotime($rule->getToDate());
213
  $toTime = $toTime ? ($toTime + self::SECONDS_IN_DAY - 1) : 0;
214
+ $sortOrder = (int) $rule->getSortOrder();
215
  $actionOperator = $rule->getSimpleAction();
216
+ $actionAmount = (float) $rule->getDiscountAmount();
217
  $subActionOperator = $rule->getSubIsEnable() ? $rule->getSubSimpleAction() : '';
218
+ $subActionAmount = (float) $rule->getSubDiscountAmount();
219
+ $actionStop = (int) $rule->getStopRulesProcessing();
220
+ /** @var $helper Mage_Catalog_Helper_Product_Flat */
221
+ $helper = $this->_factory->getHelper('catalog/product_flat');
222
+
223
+ if ($helper->isEnabled() && $helper->isBuiltAllStores()) {
224
+ /** @var $store Mage_Core_Model_Store */
225
+ foreach ($this->_app->getStores(false) as $store) {
226
+ if (in_array($store->getWebsiteId(), $websiteIds)) {
227
+ /** @var $selectByStore Varien_Db_Select */
228
+ $selectByStore = $rule->getProductFlatSelect($store->getId())
229
+ ->joinLeft(array('cg' => $this->getTable('customer/customer_group')),
230
+ $write->quoteInto('cg.customer_group_id IN (?)', $customerGroupIds),
231
+ array('cg.customer_group_id'))
232
+ ->reset(Varien_Db_Select::COLUMNS)
233
+ ->columns(array(
234
+ new Zend_Db_Expr($store->getWebsiteId()),
235
+ 'cg.customer_group_id',
236
+ 'p.entity_id',
237
+ new Zend_Db_Expr($rule->getId()),
238
+ new Zend_Db_Expr($fromTime),
239
+ new Zend_Db_Expr($toTime),
240
+ new Zend_Db_Expr("'" . $actionOperator . "'"),
241
+ new Zend_Db_Expr($actionAmount),
242
+ new Zend_Db_Expr($actionStop),
243
+ new Zend_Db_Expr($sortOrder),
244
+ new Zend_Db_Expr("'" . $subActionOperator . "'"),
245
+ new Zend_Db_Expr($subActionAmount),
246
+ ));
247
+
248
+ if (count($productIds) > 0) {
249
+ $selectByStore->where('p.entity_id IN (?)', $productIds);
250
+ }
251
 
252
+ $selects = $write->selectsByRange('entity_id', $selectByStore, self::RANGE_PRODUCT_STEP);
253
+ foreach ($selects as $select) {
254
+ $write->query(
255
+ $write->insertFromSelect(
256
+ $select, $this->getTable('catalogrule/rule_product'), array(
257
+ 'website_id',
258
+ 'customer_group_id',
259
+ 'product_id',
260
+ 'rule_id',
261
+ 'from_time',
262
+ 'to_time',
263
+ 'action_operator',
264
+ 'action_amount',
265
+ 'action_stop',
266
+ 'sort_order',
267
+ 'sub_simple_action',
268
+ 'sub_discount_amount',
269
+ ), Varien_Db_Adapter_Interface::INSERT_IGNORE
270
+ )
271
+ );
272
+ }
273
+ }
274
+ }
275
+ } else {
276
+ if (count($productIds) == 0) {
277
+ Varien_Profiler::start('__MATCH_PRODUCTS__');
278
+ $productIds = $rule->getMatchingProductIds();
279
+ Varien_Profiler::stop('__MATCH_PRODUCTS__');
280
+ }
281
 
282
+ $rows = array();
283
+ foreach ($productIds as $productId => $validationByWebsite) {
284
  foreach ($websiteIds as $websiteId) {
285
  foreach ($customerGroupIds as $customerGroupId) {
286
+ if (empty($validationByWebsite[$websiteId])) {
287
+ continue;
288
+ }
289
  $rows[] = array(
290
+ 'rule_id' => $rule->getId(),
291
+ 'from_time' => $fromTime,
292
+ 'to_time' => $toTime,
293
+ 'website_id' => $websiteId,
294
+ 'customer_group_id' => $customerGroupId,
295
+ 'product_id' => $productId,
296
+ 'action_operator' => $actionOperator,
297
+ 'action_amount' => $actionAmount,
298
+ 'action_stop' => $actionStop,
299
+ 'sort_order' => $sortOrder,
300
+ 'sub_simple_action' => $subActionOperator,
301
  'sub_discount_amount' => $subActionAmount,
302
  );
303
 
308
  }
309
  }
310
  }
311
+
312
  if (!empty($rows)) {
313
+ $write->insertMultiple($this->getTable('catalogrule/rule_product'), $rows);
314
  }
315
+ }
316
+ }
317
+
318
+ /**
319
+ * Update products which are matched for rule
320
+ *
321
+ * @param Mage_CatalogRule_Model_Rule $rule
322
+ *
323
+ * @throws Exception
324
+ * @return Mage_CatalogRule_Model_Resource_Rule
325
+ */
326
+ public function updateRuleProductData(Mage_CatalogRule_Model_Rule $rule)
327
+ {
328
+ $ruleId = $rule->getId();
329
+ $write = $this->_getWriteAdapter();
330
+ $write->beginTransaction();
331
+ if ($rule->getProductsFilter()) {
332
+ $this->cleanProductData($ruleId, $rule->getProductsFilter());
333
+ } else {
334
+ $this->cleanProductData($ruleId);
335
+ }
336
+
337
+ if (!$rule->getIsActive()) {
338
+ $write->commit();
339
+ return $this;
340
+ }
341
 
342
+ $websiteIds = $rule->getWebsiteIds();
343
+ if (!is_array($websiteIds)) {
344
+ $websiteIds = explode(',', $websiteIds);
345
+ }
346
+ if (empty($websiteIds)) {
347
+ return $this;
348
+ }
349
+
350
+ try {
351
+ $this->insertRuleData($rule, $websiteIds);
352
  $write->commit();
353
  } catch (Exception $e) {
354
  $write->rollback();
355
  throw $e;
356
  }
357
 
 
358
  return $this;
359
  }
360
 
530
  return $read->query($select);
531
  }
532
 
533
+ /**
534
+ * Generate catalog price rules prices for specified date range
535
+ * If from date is not defined - will be used previous day by UTC
536
+ * If to date is not defined - will be used next day by UTC
537
+ *
538
+ * @param int|Mage_Catalog_Model_Product $product
539
+ *
540
+ * @throws Exception
541
+ * @return Mage_CatalogRule_Model_Resource_Rule
542
+ */
543
+ public function applyAllRules($product = null)
544
+ {
545
+ $this->_reindexCatalogRule($product);
546
+ return $this;
547
+ }
548
+
549
  /**
550
  * Generate catalog price rules prices for specified date range
551
  * If from date is not defined - will be used previous day by UTC
555
  * @param int|string|null $toDate
556
  * @param int $productId
557
  *
558
+ * @deprecated after 1.7.0.2 use method applyAllRules
559
+ *
560
  * @return Mage_CatalogRule_Model_Resource_Rule
561
  */
562
  public function applyAllRulesForDateRange($fromDate = null, $toDate = null, $productId = null)
563
  {
564
+ return $this->applyAllRules($productId);
565
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
566
 
567
+ /**
568
+ * Run reindex
569
+ *
570
+ * @param int|Mage_Catalog_Model_Product $product
571
+ */
572
+ protected function _reindexCatalogRule($product = null)
573
+ {
574
+ $indexerCode = 'catalogrule/action_index_refresh';
575
+ $value = null;
576
+ if ($product) {
577
+ $value = $product instanceof Mage_Catalog_Model_Product ? $product->getId() : $product;
578
+ $indexerCode = 'catalogrule/action_index_refresh_row';
579
  }
580
 
581
+ /** @var $indexer Mage_CatalogRule_Model_Action_Index_Refresh */
582
+ $indexer = Mage::getModel(
583
+ $indexerCode,
584
+ array(
585
+ 'connection' => $this->_getWriteAdapter(),
586
+ 'factory' => Mage::getModel('core/factory'),
587
+ 'resource' => $this,
588
+ 'app' => Mage::app(),
589
+ 'value' => $value
590
+ )
591
+ );
592
+ $indexer->execute();
593
  }
594
 
595
  /**
756
  * @param Mage_Catalog_Model_Product $product
757
  * @param array $websiteIds
758
  *
759
+ * @throws Exception
760
  * @return Mage_CatalogRule_Model_Resource_Rule
761
  */
762
  public function applyToProduct($rule, $product, $websiteIds)
771
  $write = $this->_getWriteAdapter();
772
  $write->beginTransaction();
773
 
774
+ $this->cleanProductData($ruleId, array($productId));
 
 
 
775
 
776
+ if (!$this->validateProduct($rule, $product, $websiteIds)) {
777
  $write->delete($this->getTable('catalogrule/rule_product_price'), array(
778
+ $write->quoteInto('product_id = ?', $productId),
779
  ));
780
  $write->commit();
781
  return $this;
782
  }
783
 
 
 
 
 
 
 
 
 
 
 
 
 
784
  try {
785
+ $this->insertRuleData($rule, $websiteIds, array(
786
+ $productId => array_combine(array_values($websiteIds), array_values($websiteIds))));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
787
  } catch (Exception $e) {
788
  $write->rollback();
789
  throw $e;
790
  }
791
 
 
 
792
  $write->commit();
793
 
794
  return $this;
app/code/core/Mage/CatalogRule/Model/Resource/Rule/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Model/Resource/Rule/Product/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Model/Resource/Rule/Product/Price/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Model/Rule.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
@@ -111,6 +111,45 @@ class Mage_CatalogRule_Model_Rule extends Mage_Rule_Model_Abstract
111
  */
112
  protected static $_priceRulesData = array();
113
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  /**
115
  * Init resource model and id field
116
  */
@@ -223,9 +262,28 @@ class Mage_CatalogRule_Model_Rule extends Mage_Rule_Model_Abstract
223
  $product = clone $args['product'];
224
  $product->setData($args['row']);
225
 
226
- if ($this->getConditions()->validate($product)) {
227
- $this->_productIds[] = $product->getId();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  }
 
229
  }
230
 
231
  /**
@@ -239,12 +297,14 @@ class Mage_CatalogRule_Model_Rule extends Mage_Rule_Model_Abstract
239
  public function applyToProduct($product, $websiteIds = null)
240
  {
241
  if (is_numeric($product)) {
242
- $product = Mage::getModel('catalog/product')->load($product);
243
  }
244
  if (is_null($websiteIds)) {
245
  $websiteIds = $this->getWebsiteIds();
246
  }
247
  $this->getResource()->applyToProduct($this, $product, $websiteIds);
 
 
248
  }
249
 
250
  /**
@@ -255,7 +315,7 @@ class Mage_CatalogRule_Model_Rule extends Mage_Rule_Model_Abstract
255
  public function applyAll()
256
  {
257
  $this->getResourceCollection()->walk(array($this->_getResource(), 'updateRuleProductData'));
258
- $this->_getResource()->applyAllRulesForDateRange();
259
  $this->_invalidateCache();
260
  $indexProcess = Mage::getSingleton('index/indexer')->getProcessByCode('catalog_product_price');
261
  if ($indexProcess) {
@@ -271,22 +331,31 @@ class Mage_CatalogRule_Model_Rule extends Mage_Rule_Model_Abstract
271
  */
272
  public function applyAllRulesToProduct($product)
273
  {
274
- $this->_getResource()->applyAllRulesForDateRange(NULL, NULL, $product);
275
- $this->_invalidateCache();
276
-
277
- if ($product instanceof Mage_Catalog_Model_Product) {
278
- $productId = $product->getId();
279
- } else {
280
- $productId = $product;
281
  }
282
 
283
- if ($productId) {
284
- Mage::getSingleton('index/indexer')->processEntityAction(
285
- new Varien_Object(array('id' => $productId)),
286
- Mage_Catalog_Model_Product::ENTITY,
287
- Mage_Catalog_Model_Product_Indexer_Price::EVENT_TYPE_REINDEX_PRICE
288
- );
 
 
289
  }
 
 
 
 
 
 
 
 
 
 
 
290
  }
291
 
292
  /**
@@ -375,17 +444,14 @@ class Mage_CatalogRule_Model_Rule extends Mage_Rule_Model_Abstract
375
  */
376
  protected function _invalidateCache()
377
  {
378
- $types = Mage::getConfig()->getNode(self::XML_NODE_RELATED_CACHE);
379
  if ($types) {
380
  $types = $types->asArray();
381
- Mage::app()->getCacheInstance()->invalidateType(array_keys($types));
382
  }
383
  return $this;
384
  }
385
 
386
-
387
-
388
-
389
  /**
390
  * @deprecated after 1.11.2.0
391
  *
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
111
  */
112
  protected static $_priceRulesData = array();
113
 
114
+ /**
115
+ * Factory instance
116
+ *
117
+ * @var Mage_Core_Model_Factory
118
+ */
119
+ protected $_factory = null;
120
+
121
+ /**
122
+ * Configuration object
123
+ *
124
+ * @var Mage_Core_Model_Config
125
+ */
126
+ protected $_config = null;
127
+
128
+ /**
129
+ * Configuration object
130
+ *
131
+ * @var Mage_Core_Model_App
132
+ */
133
+ protected $_app = null;
134
+
135
+ /**
136
+ * Constructor with parameters
137
+ * Array of arguments with keys
138
+ * - 'factory' Mage_Core_Model_Factory
139
+ * - 'config' Mage_Core_Model_Config
140
+ * - 'app' Mage_Core_Model_App
141
+ *
142
+ * @param array $args
143
+ */
144
+ public function __construct(array $args = array())
145
+ {
146
+ $this->_factory = !empty($args['factory']) ? $args['factory'] : Mage::getSingleton('core/factory');
147
+ $this->_config = !empty($args['config']) ? $args['config'] : Mage::getConfig();
148
+ $this->_app = !empty($args['app']) ? $args['app'] : Mage::app();
149
+
150
+ parent::__construct();
151
+ }
152
+
153
  /**
154
  * Init resource model and id field
155
  */
262
  $product = clone $args['product'];
263
  $product->setData($args['row']);
264
 
265
+ $results = array();
266
+ foreach ($this->_getWebsitesMap() as $websiteId => $defaultStoreId) {
267
+ $product->setStoreId($defaultStoreId);
268
+ $results[$websiteId] = (int)$this->getConditions()->validate($product);
269
+ }
270
+ $this->_productIds[$product->getId()] = $results;
271
+ }
272
+
273
+ /**
274
+ * Prepare website to default assigned store map
275
+ *
276
+ * @return array
277
+ */
278
+ protected function _getWebsitesMap()
279
+ {
280
+ $map = array();
281
+ foreach ($this->_app->getWebsites(true) as $website) {
282
+ if ($website->getDefaultStore()) {
283
+ $map[$website->getId()] = $website->getDefaultStore()->getId();
284
+ }
285
  }
286
+ return $map;
287
  }
288
 
289
  /**
297
  public function applyToProduct($product, $websiteIds = null)
298
  {
299
  if (is_numeric($product)) {
300
+ $product = $this->_factory->getModel('catalog/product')->load($product);
301
  }
302
  if (is_null($websiteIds)) {
303
  $websiteIds = $this->getWebsiteIds();
304
  }
305
  $this->getResource()->applyToProduct($this, $product, $websiteIds);
306
+ $this->getResource()->applyAllRules($product);
307
+ $this->_invalidateCache();
308
  }
309
 
310
  /**
315
  public function applyAll()
316
  {
317
  $this->getResourceCollection()->walk(array($this->_getResource(), 'updateRuleProductData'));
318
+ $this->_getResource()->applyAllRules();
319
  $this->_invalidateCache();
320
  $indexProcess = Mage::getSingleton('index/indexer')->getProcessByCode('catalog_product_price');
321
  if ($indexProcess) {
331
  */
332
  public function applyAllRulesToProduct($product)
333
  {
334
+ if (is_numeric($product)) {
335
+ /** @var $product Mage_Catalog_Model_Product */
336
+ $product = Mage::getModel('catalog/product')->load($product);
 
 
 
 
337
  }
338
 
339
+ $productWebsiteIds = $product->getWebsiteIds();
340
+
341
+ /** @var $rules Mage_CatalogRule_Model_Resource_Rule_Collection */
342
+ $rules = Mage::getModel('catalogrule/rule')->getCollection()
343
+ ->addFieldToFilter('is_active', 1);
344
+ foreach ($rules as $rule) {
345
+ $websiteIds = array_intersect($productWebsiteIds, $rule->getWebsiteIds());
346
+ $this->getResource()->applyToProduct($rule, $product, $websiteIds);
347
  }
348
+
349
+ $this->getResource()->applyAllRules($product);
350
+ $this->_invalidateCache();
351
+
352
+ Mage::getSingleton('index/indexer')->processEntityAction(
353
+ new Varien_Object(array('id' => $product->getId())),
354
+ Mage_Catalog_Model_Product::ENTITY,
355
+ Mage_Catalog_Model_Product_Indexer_Price::EVENT_TYPE_REINDEX_PRICE
356
+ );
357
+
358
+ return $this;
359
  }
360
 
361
  /**
444
  */
445
  protected function _invalidateCache()
446
  {
447
+ $types = $this->_config->getNode(self::XML_NODE_RELATED_CACHE);
448
  if ($types) {
449
  $types = $types->asArray();
450
+ $this->_app->getCacheInstance()->invalidateType(array_keys($types));
451
  }
452
  return $this;
453
  }
454
 
 
 
 
455
  /**
456
  * @deprecated after 1.11.2.0
457
  *
app/code/core/Mage/CatalogRule/Model/Rule/Action/Collection.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Model/Rule/Action/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Model/Rule/Condition/Combine.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/Model/Rule/Condition/Product.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
@@ -30,5 +30,107 @@
30
  */
31
  class Mage_CatalogRule_Model_Rule_Condition_Product extends Mage_Rule_Model_Condition_Product_Abstract
32
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  }
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
30
  */
31
  class Mage_CatalogRule_Model_Rule_Condition_Product extends Mage_Rule_Model_Condition_Product_Abstract
32
  {
33
+ /**
34
+ * Validate product attribute value for condition
35
+ *
36
+ * @param Varien_Object $object
37
+ * @return bool
38
+ */
39
+ public function validate(Varien_Object $object)
40
+ {
41
+ $attrCode = $this->getAttribute();
42
+ if ('category_ids' == $attrCode) {
43
+ return $this->validateAttribute($object->getAvailableInCategories());
44
+ }
45
+ if ('attribute_set_id' == $attrCode) {
46
+ return $this->validateAttribute($object->getData($attrCode));
47
+ }
48
 
49
+ $oldAttrValue = $object->hasData($attrCode) ? $object->getData($attrCode) : null;
50
+ $object->setData($attrCode, $this->_getAttributeValue($object));
51
+ $result = $this->_validateProduct($object);
52
+ $this->_restoreOldAttrValue($object, $oldAttrValue);
53
+
54
+ return (bool)$result;
55
+ }
56
+
57
+ /**
58
+ * Validate product
59
+ *
60
+ * @param Varien_Object $object
61
+ * @return bool
62
+ */
63
+ protected function _validateProduct($object)
64
+ {
65
+ return Mage_Rule_Model_Condition_Abstract::validate($object);
66
+ }
67
+
68
+ /**
69
+ * Restore old attribute value
70
+ *
71
+ * @param Varien_Object $object
72
+ * @param mixed $oldAttrValue
73
+ */
74
+ protected function _restoreOldAttrValue($object, $oldAttrValue)
75
+ {
76
+ $attrCode = $this->getAttribute();
77
+ if (is_null($oldAttrValue)) {
78
+ $object->unsetData($attrCode);
79
+ } else {
80
+ $object->setData($attrCode, $oldAttrValue);
81
+ }
82
+ }
83
+
84
+ /**
85
+ * Get attribute value
86
+ *
87
+ * @param Varien_Object $object
88
+ * @return mixed
89
+ */
90
+ protected function _getAttributeValue($object)
91
+ {
92
+ $storeId = $object->getStoreId();
93
+ $defaultStoreId = Mage_Core_Model_App::ADMIN_STORE_ID;
94
+ $productValues = isset($this->_entityAttributeValues[$object->getId()])
95
+ ? $this->_entityAttributeValues[$object->getId()] : array();
96
+ $defaultValue = isset($productValues[$defaultStoreId]) ? $productValues[$defaultStoreId] : null;
97
+ $value = isset($productValues[$storeId]) ? $productValues[$storeId] : $defaultValue;
98
+
99
+ $value = $this->_prepareDatetimeValue($value, $object);
100
+ $value = $this->_prepareMultiselectValue($value, $object);
101
+
102
+ return $value;
103
+ }
104
+
105
+ /**
106
+ * Prepare datetime attribute value
107
+ *
108
+ * @param mixed $value
109
+ * @param Varien_Object $object
110
+ * @return mixed
111
+ */
112
+ protected function _prepareDatetimeValue($value, $object)
113
+ {
114
+ $attribute = $object->getResource()->getAttribute($this->getAttribute());
115
+ if ($attribute && $attribute->getBackendType() == 'datetime') {
116
+ $value = strtotime($value);
117
+ }
118
+ return $value;
119
+ }
120
+
121
+ /**
122
+ * Prepare multiselect attribute value
123
+ *
124
+ * @param mixed $value
125
+ * @param Varien_Object $object
126
+ * @return mixed
127
+ */
128
+ protected function _prepareMultiselectValue($value, $object)
129
+ {
130
+ $attribute = $object->getResource()->getAttribute($this->getAttribute());
131
+ if ($attribute && $attribute->getFrontendInput() == 'multiselect') {
132
+ $value = strlen($value) ? explode(',', $value) : array();
133
+ }
134
+ return $value;
135
+ }
136
  }
app/code/core/Mage/CatalogRule/Model/Rule/Product/Price.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/etc/adminhtml.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogRule
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogRule
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
app/code/core/Mage/CatalogRule/etc/config.xml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogRule
24
- * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
@@ -52,6 +52,9 @@
52
  <rule_product>
53
  <table>catalogrule_product</table>
54
  </rule_product>
 
 
 
55
  <rule_product_price>
56
  <table>catalogrule_product_price</table>
57
  </rule_product_price>
@@ -149,14 +152,14 @@
149
  </catalogrule>
150
  </observers>
151
  </catalog_product_get_final_price>
152
- <catalog_product_save_after>
153
  <observers>
154
  <catalogrule>
155
  <class>catalogrule/observer</class>
156
  <method>applyAllRulesOnProduct</method>
157
  </catalogrule>
158
  </observers>
159
- </catalog_product_save_after>
160
 
161
  <catalog_product_import_finish_before>
162
  <observers>
21
  *
22
  * @category Mage
23
  * @package Mage_CatalogRule
24
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
25
  * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
  */
27
  -->
52
  <rule_product>
53
  <table>catalogrule_product</table>
54
  </rule_product>
55
+ <rule_product_price_tmp>
56
+ <table>catalogrule_product_price_tmp</table>
57
+ </rule_product_price_tmp>
58
  <rule_product_price>
59
  <table>catalogrule_product_price</table>
60
  </rule_product_price>
152
  </catalogrule>
153
  </observers>
154
  </catalog_product_get_final_price>
155
+ <catalog_product_save_commit_after>
156
  <observers>
157
  <catalogrule>
158
  <class>catalogrule/observer</class>
159
  <method>applyAllRulesOnProduct</method>
160
  </catalogrule>
161
  </observers>
162
+ </catalog_product_save_commit_after>
163
 
164
  <catalog_product_import_finish_before>
165
  <observers>
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/install-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-install-0.7.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.0-0.7.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.1-0.7.2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.2-0.7.3.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.3-0.7.4.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.4-0.7.5.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.5-0.7.6.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.6-0.7.7.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.7-0.7.8.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.8-0.7.9.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-0.7.9-0.7.10.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/upgrade-1.6.0.0-1.6.0.1.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/upgrade-1.6.0.1-1.6.0.2.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogRule/sql/catalogrule_setup/upgrade-1.6.0.2-1.6.0.3.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogRule
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogSearch/Block/Advanced/Form.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
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
 
@@ -62,7 +62,7 @@ class Mage_CatalogSearch_Block_Advanced_Form extends Mage_Core_Block_Template
62
  /**
63
  * Retrieve attribute label
64
  *
65
- * @param $attribute
66
  * @return string
67
  */
68
  public function getAttributeLabel($attribute)
@@ -73,8 +73,8 @@ class Mage_CatalogSearch_Block_Advanced_Form extends Mage_Core_Block_Template
73
  /**
74
  * Retrieve attribute input validation class
75
  *
76
- * @param $attribute
77
- * @return string
78
  */
79
  public function getAttributeValidationClass($attribute)
80
  {
@@ -84,18 +84,17 @@ class Mage_CatalogSearch_Block_Advanced_Form extends Mage_Core_Block_Template
84
  /**
85
  * Retrieve search string for given field from request
86
  *
87
- * @param string $attribute
88
- * @param string $part
89
  * @return mixed|string
90
  */
91
- public function getAttributeValue($attribute, $part=null)
92
  {
93
  $value = $this->getRequest()->getQuery($attribute->getAttributeCode());
94
  if ($part && $value) {
95
  if (isset($value[$part])) {
96
  $value = $value[$part];
97
- }
98
- else {
99
  $value = '';
100
  }
101
  }
@@ -145,7 +144,7 @@ class Mage_CatalogSearch_Block_Advanced_Form extends Mage_Core_Block_Template
145
  /**
146
  * Retrieve currency code for attribute
147
  *
148
- * @param $attribute
149
  * @return string
150
  */
151
  public function getCurrency($attribute)
@@ -160,7 +159,7 @@ class Mage_CatalogSearch_Block_Advanced_Form extends Mage_Core_Block_Template
160
  /**
161
  * Retrieve attribute input type
162
  *
163
- * @param $attribute
164
  * @return string
165
  */
166
  public function getAttributeInputType($attribute)
@@ -193,7 +192,7 @@ class Mage_CatalogSearch_Block_Advanced_Form extends Mage_Core_Block_Template
193
  /**
194
  * Build attribute select element html string
195
  *
196
- * @param $attribute
197
  * @return string
198
  */
199
  public function getAttributeSelectElement($attribute)
@@ -223,6 +222,12 @@ class Mage_CatalogSearch_Block_Advanced_Form extends Mage_Core_Block_Template
223
  ->getHtml();
224
  }
225
 
 
 
 
 
 
 
226
  public function getAttributeYesNoElement($attribute)
227
  {
228
  $options = array(
@@ -273,7 +278,7 @@ class Mage_CatalogSearch_Block_Advanced_Form extends Mage_Core_Block_Template
273
  }
274
 
275
  /**
276
- * Retrieve search form action string
277
  *
278
  * @return string
279
  */
@@ -285,7 +290,7 @@ class Mage_CatalogSearch_Block_Advanced_Form extends Mage_Core_Block_Template
285
  /**
286
  * Build date element html string for attribute
287
  *
288
- * @param $attribute
289
  * @param string $part
290
  * @return string
291
  */
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
62
  /**
63
  * Retrieve attribute label
64
  *
65
+ * @param Mage_Eav_Model_Entity_Attribute_Abstract $attribute
66
  * @return string
67
  */
68
  public function getAttributeLabel($attribute)
73
  /**
74
  * Retrieve attribute input validation class
75
  *
76
+ * @param Mage_Eav_Model_Entity_Attribute_Abstract $attribute
77
+ * @return string
78
  */
79
  public function getAttributeValidationClass($attribute)
80
  {
84
  /**
85
  * Retrieve search string for given field from request
86
  *
87
+ * @param Mage_Eav_Model_Entity_Attribute_Abstract $attribute
88
+ * @param string|null $part
89
  * @return mixed|string
90
  */
91
+ public function getAttributeValue($attribute, $part = null)
92
  {
93
  $value = $this->getRequest()->getQuery($attribute->getAttributeCode());
94
  if ($part && $value) {
95
  if (isset($value[$part])) {
96
  $value = $value[$part];
97
+ } else {
 
98
  $value = '';
99
  }
100
  }
144
  /**
145
  * Retrieve currency code for attribute
146
  *
147
+ * @param Mage_Eav_Model_Entity_Attribute_Abstract $attribute
148
  * @return string
149
  */
150
  public function getCurrency($attribute)
159
  /**
160
  * Retrieve attribute input type
161
  *
162
+ * @param Mage_Eav_Model_Entity_Attribute_Abstract $attribute
163
  * @return string
164
  */
165
  public function getAttributeInputType($attribute)
192
  /**
193
  * Build attribute select element html string
194
  *
195
+ * @param Mage_Eav_Model_Entity_Attribute_Abstract $attribute
196
  * @return string
197
  */
198
  public function getAttributeSelectElement($attribute)
222
  ->getHtml();
223
  }
224
 
225
+ /**
226
+ * Retrieve yes/no element html for provided attribute
227
+ *
228
+ * @param Mage_Eav_Model_Entity_Attribute_Abstract $attribute
229
+ * @return string
230
+ */
231
  public function getAttributeYesNoElement($attribute)
232
  {
233
  $options = array(
278
  }
279
 
280
  /**
281
+ * Retrieve search form action url
282
  *
283
  * @return string
284
  */
290
  /**
291
  * Build date element html string for attribute
292
  *
293
+ * @param Mage_Eav_Model_Entity_Attribute_Abstract $attribute
294
  * @param string $part
295
  * @return string
296
  */
app/code/core/Mage/CatalogSearch/Block/Advanced/Result.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogSearch/Block/Autocomplete.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
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
 
@@ -56,8 +56,8 @@ class Mage_CatalogSearch_Block_Autocomplete extends Mage_Core_Block_Abstract
56
  $item['row_class'] .= ' last';
57
  }
58
 
59
- $html .= '<li title="'.$this->htmlEscape($item['title']).'" class="'.$item['row_class'].'">'
60
- . '<span class="amount">'.$item['num_of_results'].'</span>'.$this->htmlEscape($item['title']).'</li>';
61
  }
62
 
63
  $html.= '</ul>';
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
56
  $item['row_class'] .= ' last';
57
  }
58
 
59
+ $html .= '<li title="'.$this->escapeHtml($item['title']).'" class="'.$item['row_class'].'">'
60
+ . '<span class="amount">'.$item['num_of_results'].'</span>'.$this->escapeHtml($item['title']).'</li>';
61
  }
62
 
63
  $html.= '</ul>';
app/code/core/Mage/CatalogSearch/Block/Layer.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
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
 
@@ -86,7 +86,7 @@ class Mage_CatalogSearch_Block_Layer extends Mage_Catalog_Block_Layer_View
86
  ->getConfig(Mage_CatalogSearch_Model_Layer::XML_PATH_DISPLAY_LAYER_COUNT);
87
 
88
  if (!$availableResCount
89
- || ($availableResCount>=$this->getLayer()->getProductCollection()->getSize())) {
90
  return parent::canShowBlock();
91
  }
92
  return false;
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
86
  ->getConfig(Mage_CatalogSearch_Model_Layer::XML_PATH_DISPLAY_LAYER_COUNT);
87
 
88
  if (!$availableResCount
89
+ || ($availableResCount > $this->getLayer()->getProductCollection()->getSize())) {
90
  return parent::canShowBlock();
91
  }
92
  return false;
app/code/core/Mage/CatalogSearch/Block/Layer/Filter/Attribute.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogSearch/Block/Result.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogSearch/Block/Term.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
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
 
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25
  */
26
 
app/code/core/Mage/CatalogSearch/Helper/Data.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
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
20
  *
21
  * @category Mage
22
  * @package Mage_CatalogSearch
23
+ * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
24
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL