Version Notes
1.7.0.0
Download this release
Release Info
Developer | Magento Core Team |
Extension | Mage_Core_Modules |
Version | 1.7.0.0 |
Comparing to | |
See all releases |
Code changes from version 1.6.2.0 to 1.7.0.0
- RELEASE_NOTES.txt +2037 -0
- api.php +88 -0
- app/Mage.php +91 -14
- app/code/core/Mage/Admin/Helper/Data.php +1 -1
- app/code/core/Mage/Admin/Model/Acl.php +1 -1
- app/code/core/Mage/Admin/Model/Acl/Assert/Ip.php +1 -1
- app/code/core/Mage/Admin/Model/Acl/Assert/Time.php +1 -1
- app/code/core/Mage/Admin/Model/Acl/Resource.php +1 -1
- app/code/core/Mage/Admin/Model/Acl/Role.php +1 -1
- app/code/core/Mage/Admin/Model/Acl/Role/Generic.php +1 -1
- app/code/core/Mage/Admin/Model/Acl/Role/Group.php +1 -1
- app/code/core/Mage/Admin/Model/Acl/Role/Registry.php +1 -1
- app/code/core/Mage/Admin/Model/Acl/Role/User.php +1 -1
- app/code/core/Mage/Admin/Model/Config.php +4 -1
- app/code/core/Mage/Admin/Model/Mysql4/Acl.php +1 -1
- app/code/core/Mage/Admin/Model/Mysql4/Acl/Role.php +1 -1
- app/code/core/Mage/Admin/Model/Mysql4/Acl/Role/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Mysql4/Permissions/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Mysql4/Role.php +1 -1
- app/code/core/Mage/Admin/Model/Mysql4/Role/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Mysql4/Roles.php +1 -1
- app/code/core/Mage/Admin/Model/Mysql4/Roles/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Mysql4/Roles/User/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Mysql4/Rules.php +1 -1
- app/code/core/Mage/Admin/Model/Mysql4/Rules/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Mysql4/User.php +1 -1
- app/code/core/Mage/Admin/Model/Mysql4/User/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Observer.php +5 -3
- app/code/core/Mage/Admin/Model/Resource/Acl.php +1 -1
- app/code/core/Mage/Admin/Model/Resource/Acl/Role.php +1 -1
- app/code/core/Mage/Admin/Model/Resource/Acl/Role/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Resource/Permissions/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Resource/Role.php +1 -1
- app/code/core/Mage/Admin/Model/Resource/Role/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Resource/Roles.php +1 -1
- app/code/core/Mage/Admin/Model/Resource/Roles/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Resource/Roles/User/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Resource/Rules.php +1 -1
- app/code/core/Mage/Admin/Model/Resource/Rules/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Resource/User.php +1 -1
- app/code/core/Mage/Admin/Model/Resource/User/Collection.php +1 -1
- app/code/core/Mage/Admin/Model/Role.php +1 -1
- app/code/core/Mage/Admin/Model/Roles.php +52 -10
- app/code/core/Mage/Admin/Model/Rules.php +1 -1
- app/code/core/Mage/Admin/Model/Session.php +9 -9
- app/code/core/Mage/Admin/Model/User.php +8 -4
- app/code/core/Mage/Admin/data/admin_setup/data-install-1.6.0.0.php +1 -1
- app/code/core/Mage/Admin/etc/config.xml +1 -1
- app/code/core/Mage/Admin/sql/admin_setup/install-1.6.0.0.php +7 -7
- app/code/core/Mage/Admin/sql/admin_setup/mysql4-install-0.7.0.php +1 -1
- app/code/core/Mage/Admin/sql/admin_setup/mysql4-upgrade-0.7.0-0.7.1.php +1 -1
- app/code/core/Mage/Admin/sql/admin_setup/mysql4-upgrade-0.7.1-0.7.2.php +1 -1
- app/code/core/Mage/Admin/sql/admin_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -1
- app/code/core/Mage/Admin/sql/admin_setup/{mysql4-upgrade-1.6.0.0-1.6.1.0.php → upgrade-1.6.0.0-1.6.1.0.php} +1 -1
- app/code/core/Mage/AdminNotification/Helper/Data.php +3 -1
- app/code/core/Mage/AdminNotification/Model/Feed.php +1 -1
- app/code/core/Mage/AdminNotification/Model/Inbox.php +91 -1
- app/code/core/Mage/AdminNotification/Model/Mysql4/Inbox.php +1 -1
- app/code/core/Mage/AdminNotification/Model/Mysql4/Inbox/Collection.php +1 -1
- app/code/core/Mage/AdminNotification/Model/Observer.php +1 -1
- app/code/core/Mage/AdminNotification/Model/Resource/Inbox.php +8 -2
- app/code/core/Mage/AdminNotification/Model/Resource/Inbox/Collection.php +1 -1
- app/code/core/Mage/AdminNotification/Model/Survey.php +3 -1
- app/code/core/Mage/AdminNotification/etc/adminhtml.xml +1 -1
- app/code/core/Mage/AdminNotification/etc/config.xml +1 -1
- app/code/core/Mage/AdminNotification/etc/system.xml +1 -1
- app/code/core/Mage/AdminNotification/sql/adminnotification_setup/install-1.6.0.0.php +1 -1
- app/code/core/Mage/AdminNotification/sql/adminnotification_setup/mysql4-install-1.0.0.php +1 -1
- app/code/core/Mage/AdminNotification/sql/adminnotification_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -1
- app/code/core/Mage/Api/Controller/Action.php +1 -1
- app/code/core/Mage/Api/Exception.php +1 -1
- app/code/core/Mage/Api/Helper/Data.php +16 -2
- app/code/core/Mage/Api/Model/Acl.php +1 -1
- app/code/core/Mage/Api/Model/Acl/Assert/Ip.php +1 -1
- app/code/core/Mage/Api/Model/Acl/Assert/Time.php +1 -1
- app/code/core/Mage/Api/Model/Acl/Resource.php +1 -1
- app/code/core/Mage/Api/Model/Acl/Role.php +1 -1
- app/code/core/Mage/Api/Model/Acl/Role/Generic.php +1 -1
- app/code/core/Mage/Api/Model/Acl/Role/Group.php +1 -1
- app/code/core/Mage/Api/Model/Acl/Role/Registry.php +1 -1
- app/code/core/Mage/Api/Model/Acl/Role/User.php +1 -1
- app/code/core/Mage/Api/Model/Config.php +19 -1
- app/code/core/Mage/Api/Model/Mysql4/Acl.php +1 -1
- app/code/core/Mage/Api/Model/Mysql4/Acl/Role.php +1 -1
- app/code/core/Mage/Api/Model/Mysql4/Acl/Role/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Mysql4/Permissions/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Mysql4/Role.php +1 -1
- app/code/core/Mage/Api/Model/Mysql4/Role/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Mysql4/Roles.php +1 -1
- app/code/core/Mage/Api/Model/Mysql4/Roles/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Mysql4/Roles/User/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Mysql4/Rules.php +1 -1
- app/code/core/Mage/Api/Model/Mysql4/Rules/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Mysql4/User.php +1 -1
- app/code/core/Mage/Api/Model/Mysql4/User/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Resource/Abstract.php +1 -1
- app/code/core/Mage/Api/Model/Resource/Acl.php +1 -1
- app/code/core/Mage/Api/Model/Resource/Acl/Role.php +1 -1
- app/code/core/Mage/Api/Model/Resource/Acl/Role/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Resource/Permissions/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Resource/Role.php +1 -1
- app/code/core/Mage/Api/Model/Resource/Role/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Resource/Roles.php +1 -1
- app/code/core/Mage/Api/Model/Resource/Roles/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Resource/Roles/User/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Resource/Rules.php +1 -1
- app/code/core/Mage/Api/Model/Resource/Rules/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Resource/User.php +1 -1
- app/code/core/Mage/Api/Model/Resource/User/Collection.php +1 -1
- app/code/core/Mage/Api/Model/Role.php +5 -2
- app/code/core/Mage/Api/Model/Roles.php +47 -4
- app/code/core/Mage/Api/Model/Rules.php +1 -1
- app/code/core/Mage/Api/Model/Server.php +68 -14
- app/code/core/Mage/Api/Model/Server/Adapter/Interface.php +1 -1
- app/code/core/Mage/Api/Model/Server/Adapter/Soap.php +38 -21
- app/code/core/Mage/Api/Model/Server/Adapter/Xmlrpc.php +14 -6
- app/code/core/Mage/Api/Model/Server/Handler.php +1 -1
- app/code/core/Mage/Api/Model/Server/Handler/Abstract.php +9 -5
- app/code/core/Mage/Api/Model/Server/V2/Adapter/Soap.php +1 -1
- app/code/core/Mage/Api/Model/Server/V2/Handler.php +1 -1
- app/code/core/Mage/Api/Model/Server/Wsi/Adapter/Soap.php +11 -15
- app/code/core/Mage/Api/Model/Server/Wsi/Handler.php +5 -8
- app/code/core/Mage/Api/Model/Session.php +4 -8
- app/code/core/Mage/Api/Model/User.php +8 -1
- app/code/core/Mage/Api/Model/Wsdl/Config.php +1 -1
- app/code/core/Mage/Api/Model/Wsdl/Config/Base.php +30 -10
- app/code/core/Mage/Api/Model/Wsdl/Config/Element.php +1 -1
- app/code/core/Mage/Api/controllers/IndexController.php +1 -1
- app/code/core/Mage/Api/controllers/SoapController.php +1 -1
- app/code/core/Mage/Api/controllers/V2/SoapController.php +1 -1
- app/code/core/Mage/Api/controllers/XmlrpcController.php +1 -1
- app/code/core/Mage/Api/etc/adminhtml.xml +7 -5
- app/code/core/Mage/Api/etc/api.xml +150 -1
- app/code/core/Mage/Api/etc/config.xml +2 -1
- app/code/core/Mage/Api/etc/system.xml +11 -1
- app/code/core/Mage/Api/etc/wsdl2.xml +20 -1
- app/code/core/Mage/Api/etc/wsi.xml +1 -1
- app/code/core/Mage/Api/sql/api_setup/install-1.6.0.0.php +1 -1
- app/code/core/Mage/Api/sql/api_setup/mysql4-install-0.7.0.php +1 -1
- app/code/core/Mage/Api/sql/api_setup/mysql4-upgrade-0.7.0-0.7.1.php +1 -1
- app/code/core/Mage/Api/sql/api_setup/mysql4-upgrade-0.8.0-0.8.1.php +1 -1
- app/code/core/Mage/Api/sql/api_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -1
- app/code/core/Mage/Api2/Block/Adminhtml/Attribute.php +48 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Buttons.php +112 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Edit.php +61 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Edit/Form.php +58 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Grid.php +107 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Tab/Resource.php +141 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Tabs.php +47 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Permissions/User/Edit/Tab/Roles.php +203 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Roles.php +56 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Roles/Buttons.php +146 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Roles/Grid.php +149 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tab/Info.php +131 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tab/Resources.php +153 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tab/Users.php +239 -0
- app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tabs.php +65 -0
- app/code/core/Mage/Api2/Exception.php +50 -0
- app/code/core/Mage/Api2/Helper/Data.php +198 -0
- app/code/core/Mage/Api2/Model/Acl.php +187 -0
- app/code/core/Mage/Api2/Model/Acl/Filter.php +193 -0
- app/code/core/Mage/Api2/Model/Acl/Filter/Attribute.php +77 -0
- app/code/core/Mage/Api2/Model/Acl/Filter/Attribute/Operation.php +67 -0
- app/code/core/Mage/Api2/Model/Acl/Filter/Attribute/ResourcePermission.php +181 -0
- app/code/core/Mage/Api2/Model/Acl/Global.php +65 -0
- app/code/core/Mage/Api2/Model/Acl/Global/Role.php +185 -0
- app/code/core/Mage/Api2/Model/Acl/Global/Rule.php +65 -0
- app/code/core/Mage/Api2/Model/Acl/Global/Rule/Permission.php +74 -0
- app/code/core/Mage/Api2/Model/Acl/Global/Rule/Privilege.php +77 -0
- app/code/core/Mage/Api2/Model/Acl/Global/Rule/ResourcePermission.php +122 -0
- app/code/core/Mage/Api2/Model/Acl/Global/Rule/Tree.php +546 -0
- app/code/core/Mage/Api2/Model/Acl/PermissionInterface.php +52 -0
- app/code/core/Mage/Api2/Model/Auth.php +80 -0
- app/code/core/Mage/Api2/Model/Auth/Adapter.php +93 -0
- app/code/core/Mage/Api2/Model/Auth/Adapter/Abstract.php +53 -0
- app/code/core/Mage/Api2/Model/Auth/Adapter/Oauth.php +78 -0
- app/code/core/Mage/Api2/Model/Auth/User.php +61 -0
- app/code/core/Mage/Api2/Model/Auth/User/Abstract.php +96 -0
- app/code/core/Mage/Api2/Model/Auth/User/Admin.php +106 -0
- app/code/core/Mage/Api2/Model/Auth/User/Customer.php +80 -0
- app/code/core/Mage/Api2/Model/Auth/User/Guest.php +80 -0
- app/code/core/Mage/Api2/Model/Config.php +449 -0
- app/code/core/Mage/Api2/Model/Dispatcher.php +162 -0
- app/code/core/Mage/Api2/Model/Multicall.php +278 -0
- app/code/core/Mage/Api2/Model/Observer.php +86 -0
- app/code/core/Mage/Api2/Model/Renderer.php +83 -0
- app/code/core/Mage/Api2/Model/Renderer/Interface.php +50 -0
- app/code/core/Mage/Api2/Model/Renderer/Json.php +61 -0
- app/code/core/Mage/Api2/Model/Renderer/Query.php +62 -0
- app/code/core/Mage/Api2/Model/Renderer/Xml.php +162 -0
- app/code/core/Mage/Api2/Model/Renderer/Xml/Writer.php +80 -0
- app/code/core/Mage/Api2/Model/Request.php +325 -0
- app/code/core/Mage/Api2/Model/Request/Internal.php +105 -0
- app/code/core/Mage/Api2/Model/Request/Interpreter.php +76 -0
- app/code/core/Mage/Api2/Model/Request/Interpreter/Interface.php +43 -0
- app/code/core/Mage/Api2/Model/Request/Interpreter/Json.php +57 -0
- app/code/core/Mage/Api2/Model/Request/Interpreter/Query.php +77 -0
- app/code/core/Mage/Api2/Model/Request/Interpreter/Xml.php +150 -0
- app/code/core/Mage/Api2/Model/Resource.php +1082 -0
- app/code/core/Mage/Api2/Model/Resource/Acl/Filter/Attribute.php +87 -0
- app/code/core/Mage/Api2/Model/Resource/Acl/Filter/Attribute/Collection.php +57 -0
- app/code/core/Mage/Api2/Model/Resource/Acl/Global/Role.php +121 -0
- app/code/core/Mage/Api2/Model/Resource/Acl/Global/Role/Collection.php +63 -0
- app/code/core/Mage/Api2/Model/Resource/Acl/Global/Rule.php +45 -0
- app/code/core/Mage/Api2/Model/Resource/Acl/Global/Rule/Collection.php +57 -0
- app/code/core/Mage/Api2/Model/Resource/Setup.php +36 -0
- app/code/core/Mage/Api2/Model/Resource/Validator.php +102 -0
- app/code/core/Mage/Api2/Model/Resource/Validator/Eav.php +249 -0
- app/code/core/Mage/Api2/Model/Resource/Validator/Fields.php +186 -0
- app/code/core/Mage/Api2/Model/Response.php +114 -0
- app/code/core/Mage/Api2/Model/Route/Abstract.php +99 -0
- app/code/core/Mage/Api2/Model/Route/ApiType.php +57 -0
- app/code/core/Mage/Api2/Model/Route/Interface.php +45 -0
- app/code/core/Mage/Api2/Model/Route/Rest.php +36 -0
- app/code/core/Mage/Api2/Model/Router.php +122 -0
- app/code/core/Mage/Api2/Model/Server.php +315 -0
- app/code/core/Mage/Api2/controllers/Adminhtml/Api2/AttributeController.php +148 -0
- app/code/core/Mage/Api2/controllers/Adminhtml/Api2/RoleController.php +340 -0
- app/code/core/Mage/Api2/etc/adminhtml.xml +93 -0
- app/code/core/Mage/Api2/etc/config.xml +212 -0
- app/code/core/Mage/Api2/sql/api2_setup/install-1.0.0.0.php +183 -0
- app/code/core/Mage/Authorizenet/Block/Directpost/Form.php +1 -1
- app/code/core/Mage/Authorizenet/Block/Directpost/Iframe.php +1 -1
- app/code/core/Mage/Authorizenet/Helper/Data.php +1 -1
- app/code/core/Mage/Authorizenet/Model/Directpost.php +1 -1
- app/code/core/Mage/Authorizenet/Model/Directpost/Observer.php +1 -1
- app/code/core/Mage/Authorizenet/Model/Directpost/Request.php +1 -1
- app/code/core/Mage/Authorizenet/Model/Directpost/Response.php +1 -1
- app/code/core/Mage/Authorizenet/Model/Directpost/Session.php +1 -1
- app/code/core/Mage/Authorizenet/controllers/Adminhtml/Authorizenet/Directpost/PaymentController.php +1 -1
- app/code/core/Mage/Authorizenet/controllers/Directpost/PaymentController.php +1 -1
- app/code/core/Mage/Authorizenet/etc/config.xml +1 -1
- app/code/core/Mage/Authorizenet/etc/system.xml +3 -1
- app/code/core/Mage/Backup/Exception.php +1 -1
- app/code/core/Mage/Backup/Helper/Data.php +291 -1
- app/code/core/Mage/Backup/Model/Backup.php +72 -24
- app/code/core/Mage/Backup/Model/Config/Backend/Cron.php +89 -0
- app/code/core/Mage/Backup/Model/Config/Source/Type.php +52 -0
- app/code/core/Mage/Backup/Model/Db.php +33 -5
- app/code/core/Mage/Backup/Model/Fs/Collection.php +10 -2
- app/code/core/Mage/Backup/Model/Mysql4/Db.php +1 -1
- app/code/core/Mage/Backup/Model/Observer.php +95 -0
- app/code/core/Mage/Backup/Model/Resource/Db.php +31 -18
- app/code/core/Mage/Backup/Model/Resource/Helper/Mysql4.php +43 -10
- app/code/core/Mage/Backup/etc/adminhtml.xml +6 -1
- app/code/core/Mage/Backup/etc/config.xml +10 -1
- app/code/core/Mage/Backup/etc/system.xml +95 -0
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Bundle.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Checkbox.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Multi.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Radio.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Composite/Fieldset/Options/Type/Select.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes.php +18 -5
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Special.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option.php +26 -2
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Selection.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tabs.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Sales/Order/Items/Renderer.php +1 -1
- app/code/core/Mage/Bundle/Block/Adminhtml/Sales/Order/View/Items/Renderer.php +1 -1
- app/code/core/Mage/Bundle/Block/Catalog/Product/List/Partof.php +1 -1
- app/code/core/Mage/Bundle/Block/Catalog/Product/Price.php +1 -1
- app/code/core/Mage/Bundle/Block/Catalog/Product/View.php +1 -1
- app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle.php +6 -3
- app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option.php +8 -3
- app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option/Checkbox.php +1 -1
- app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option/Multi.php +1 -1
- app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option/Radio.php +1 -1
- app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle/Option/Select.php +1 -1
- app/code/core/Mage/Bundle/Block/Checkout/Cart/Item/Renderer.php +1 -1
- app/code/core/Mage/Bundle/Block/Sales/Order/Items/Renderer.php +1 -1
- app/code/core/Mage/Bundle/Helper/Catalog/Product/Configuration.php +14 -7
- app/code/core/Mage/Bundle/Helper/Data.php +1 -1
- app/code/core/Mage/Bundle/Model/CatalogIndex/Data/Bundle.php +1 -1
- app/code/core/Mage/Bundle/Model/Mysql4/Bundle.php +1 -1
- app/code/core/Mage/Bundle/Model/Mysql4/Indexer/Price.php +1 -1
- app/code/core/Mage/Bundle/Model/Mysql4/Indexer/Stock.php +1 -1
- app/code/core/Mage/Bundle/Model/Mysql4/Option.php +1 -1
- app/code/core/Mage/Bundle/Model/Mysql4/Option/Collection.php +1 -1
- app/code/core/Mage/Bundle/Model/Mysql4/Price/Index.php +1 -1
- app/code/core/Mage/Bundle/Model/Mysql4/Selection.php +1 -1
- app/code/core/Mage/Bundle/Model/Mysql4/Selection/Collection.php +1 -1
- app/code/core/Mage/Bundle/Model/Observer.php +14 -1
- app/code/core/Mage/Bundle/Model/Option.php +1 -1
- app/code/core/Mage/Bundle/Model/Price/Index.php +1 -1
- app/code/core/Mage/Bundle/Model/Product/Attribute/Source/Price/View.php +1 -1
- app/code/core/Mage/Bundle/Model/Product/Price.php +140 -82
- app/code/core/Mage/Bundle/Model/Product/Type.php +9 -8
- app/code/core/Mage/Bundle/Model/Resource/Bundle.php +1 -1
- app/code/core/Mage/Bundle/Model/Resource/Indexer/Price.php +155 -22
- app/code/core/Mage/Bundle/Model/Resource/Indexer/Stock.php +1 -1
- app/code/core/Mage/Bundle/Model/Resource/Option.php +1 -1
- app/code/core/Mage/Bundle/Model/Resource/Option/Collection.php +1 -1
- app/code/core/Mage/Bundle/Model/Resource/Price/Index.php +1 -1
- app/code/core/Mage/Bundle/Model/Resource/Selection.php +1 -1
- app/code/core/Mage/Bundle/Model/Resource/Selection/Collection.php +1 -1
- app/code/core/Mage/Bundle/Model/Sales/Order/Pdf/Items/Abstract.php +7 -4
- app/code/core/Mage/Bundle/Model/Sales/Order/Pdf/Items/Creditmemo.php +17 -14
- app/code/core/Mage/Bundle/Model/Sales/Order/Pdf/Items/Invoice.php +12 -11
- app/code/core/Mage/Bundle/Model/Sales/Order/Pdf/Items/Shipment.php +12 -9
- app/code/core/Mage/Bundle/Model/Selection.php +1 -1
- app/code/core/Mage/Bundle/Model/Source/Option/Selection/Price/Type.php +1 -1
- app/code/core/Mage/Bundle/Model/Source/Option/Type.php +1 -1
- app/code/core/Mage/Bundle/controllers/Adminhtml/Bundle/Product/EditController.php +1 -1
- app/code/core/Mage/Bundle/controllers/Adminhtml/Bundle/SelectionController.php +1 -1
- app/code/core/Mage/Bundle/controllers/Product/EditController.php +1 -1
- app/code/core/Mage/Bundle/controllers/SelectionController.php +1 -1
- app/code/core/Mage/Bundle/data/bundle_setup/data-install-1.6.0.0.php +1 -1
- app/code/core/Mage/Bundle/etc/config.xml +10 -2
- app/code/core/Mage/Bundle/sql/bundle_setup/install-1.6.0.0.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-data-upgrade-0.1.13-0.1.14.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-install-0.1.0.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.0-0.1.1.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.1-0.1.2.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.10-0.1.11.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.11-0.1.12.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.12-0.1.13.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.2-0.1.3.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.3-0.1.4.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.4-0.1.5.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.5-0.1.6.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.6-0.1.7.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.7-0.1.8.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.8-0.1.9.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-0.1.9-0.1.10.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-1.5.9.9-1.6.0.0.php +1 -1
- app/code/core/Mage/Bundle/sql/bundle_setup/mysql4-upgrade-1.6.0.0-1.6.0.0.1.php +44 -0
- app/code/core/Mage/Bundle/sql/bundle_setup/upgrade-1.6.0.0-1.6.0.0.1.php +84 -0
- app/code/core/Mage/Captcha/Block/Captcha.php +48 -0
- app/code/core/Mage/Captcha/Block/Captcha/Zend.php +89 -0
- app/code/core/Mage/Captcha/Helper/Data.php +138 -0
- app/code/core/Mage/Captcha/Model/Config/Font.php +49 -0
- app/code/core/Mage/Captcha/Model/Config/Form/Abstract.php +61 -0
- app/code/core/Mage/Captcha/Model/Config/Form/Backend.php +40 -0
- app/code/core/Mage/Captcha/Model/Config/Form/Frontend.php +40 -0
- app/code/core/Mage/Captcha/Model/Config/Mode.php +54 -0
- app/code/core/Mage/Captcha/Model/Interface.php +60 -0
- app/code/core/Mage/Captcha/Model/Observer.php +292 -0
- app/code/core/Mage/Captcha/Model/Resource/Log.php +158 -0
- app/code/core/Mage/Captcha/Model/Zend.php +504 -0
- app/code/core/Mage/Captcha/controllers/Adminhtml/RefreshController.php +50 -0
- app/code/core/Mage/Captcha/controllers/RefreshController.php +50 -0
- app/code/core/Mage/Captcha/etc/config.xml +271 -0
- app/code/core/Mage/Captcha/etc/system.xml +250 -0
- app/code/core/Mage/Captcha/sql/captcha_setup/install-1.7.0.0.0.php +51 -0
- app/code/core/Mage/Catalog/Block/Breadcrumbs.php +1 -1
- app/code/core/Mage/Catalog/Block/Category/View.php +1 -1
- app/code/core/Mage/Catalog/Block/Category/Widget/Link.php +1 -1
- app/code/core/Mage/Catalog/Block/Layer/Filter/Abstract.php +19 -1
- app/code/core/Mage/Catalog/Block/Layer/Filter/Attribute.php +1 -1
- app/code/core/Mage/Catalog/Block/Layer/Filter/Category.php +1 -1
- app/code/core/Mage/Catalog/Block/Layer/Filter/Decimal.php +1 -1
- app/code/core/Mage/Catalog/Block/Layer/Filter/Price.php +1 -1
- app/code/core/Mage/Catalog/Block/Layer/State.php +1 -1
- app/code/core/Mage/Catalog/Block/Layer/View.php +11 -1
- app/code/core/Mage/Catalog/Block/Navigation.php +1 -1
- app/code/core/Mage/Catalog/Block/Product.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/Abstract.php +18 -9
- app/code/core/Mage/Catalog/Block/Product/Compare/Abstract.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/Compare/List.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/Compare/Sidebar.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/Gallery.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/List.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/List/Crosssell.php +2 -2
- app/code/core/Mage/Catalog/Block/Product/List/Promotion.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/List/Random.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/List/Related.php +2 -2
- app/code/core/Mage/Catalog/Block/Product/List/Toolbar.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/List/Upsell.php +2 -2
- app/code/core/Mage/Catalog/Block/Product/New.php +11 -4
- app/code/core/Mage/Catalog/Block/Product/Price.php +17 -7
- app/code/core/Mage/Catalog/Block/Product/Price/Template.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/Send.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View.php +28 -16
- app/code/core/Mage/Catalog/Block/Product/View/Abstract.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View/Additional.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View/Attributes.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View/Description.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View/Media.php +24 -6
- app/code/core/Mage/Catalog/Block/Product/View/Options.php +27 -3
- app/code/core/Mage/Catalog/Block/Product/View/Options/Abstract.php +3 -3
- app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Date.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Default.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View/Options/Type/File.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Select.php +22 -13
- app/code/core/Mage/Catalog/Block/Product/View/Options/Type/Text.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View/Price.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View/Tabs.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View/Type/Configurable.php +72 -42
- app/code/core/Mage/Catalog/Block/Product/View/Type/Grouped.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View/Type/Simple.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/View/Type/Virtual.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/Widget/Link.php +1 -1
- app/code/core/Mage/Catalog/Block/Product/Widget/New.php +1 -1
- app/code/core/Mage/Catalog/Block/Seo/Sitemap/Abstract.php +1 -1
- app/code/core/Mage/Catalog/Block/Seo/Sitemap/Category.php +1 -1
- app/code/core/Mage/Catalog/Block/Seo/Sitemap/Product.php +1 -1
- app/code/core/Mage/Catalog/Block/Seo/Sitemap/Tree/Category.php +1 -1
- app/code/core/Mage/Catalog/Block/Seo/Sitemap/Tree/Pager.php +1 -1
- app/code/core/Mage/Catalog/Block/Widget/Link.php +1 -1
- app/code/core/Mage/Catalog/Exception.php +1 -1
- app/code/core/Mage/Catalog/Helper/Category.php +1 -1
- app/code/core/Mage/Catalog/Helper/Category/Flat.php +1 -1
- app/code/core/Mage/Catalog/Helper/Data.php +12 -1
- app/code/core/Mage/Catalog/Helper/Image.php +171 -30
- app/code/core/Mage/Catalog/Helper/Map.php +1 -1
- app/code/core/Mage/Catalog/Helper/Output.php +1 -1
- app/code/core/Mage/Catalog/Helper/Product.php +47 -20
- app/code/core/Mage/Catalog/Helper/Product/Compare.php +1 -1
- app/code/core/Mage/Catalog/Helper/Product/Configuration.php +1 -1
- app/code/core/Mage/Catalog/Helper/Product/Configuration/Interface.php +1 -1
- app/code/core/Mage/Catalog/Helper/Product/Flat.php +1 -1
- app/code/core/Mage/Catalog/Helper/Product/Options.php +1 -1
- app/code/core/Mage/Catalog/Helper/Product/Url.php +1 -1
- app/code/core/Mage/Catalog/Helper/Product/View.php +1 -1
- app/code/core/Mage/Catalog/Model/Abstract.php +1 -1
- app/code/core/Mage/Catalog/Model/Api/Resource.php +1 -1
- app/code/core/Mage/Catalog/Model/Api2/Product.php +94 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Category.php +36 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Category/Rest.php +105 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Category/Rest/Admin/V1.php +146 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Category/Rest/Customer/V1.php +36 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Category/Rest/Guest/V1.php +36 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Image.php +36 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest.php +222 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Admin/V1.php +237 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Customer/V1.php +36 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Image/Rest/Guest/V1.php +36 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Image/Validator/Image.php +53 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Rest.php +402 -0
- app/code/core/Mage/Catalog/Model/Api2/Product/Rest/Admin/V1.php +150 -0
RELEASE_NOTES.txt
CHANGED
@@ -1,3 +1,1414 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
==== 1.6.2.0 ====
|
2 |
|
3 |
=== Improvements ===
|
@@ -30,6 +1441,632 @@ Fixed Exception while products mass update attributes in backend
|
|
30 |
|
31 |
|
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
==== 1.6.1.0 ====
|
34 |
|
35 |
=== Major Highlights ===
|
1 |
+
==== 1.7.0.0 ====
|
2 |
+
|
3 |
+
=== Major Highlights ===
|
4 |
+
Optimized Layered Navigation for pricing
|
5 |
+
Added CAPTCHA support for admin and customer users
|
6 |
+
Added different base price per customer group
|
7 |
+
Added auto generation of coupon codes
|
8 |
+
Improved the basic Backup and Rollback functionality
|
9 |
+
Added EU VAT ID validation service integration
|
10 |
+
Implemented DHL for Europe
|
11 |
+
Added REST API
|
12 |
+
Mobile theme was redesigned
|
13 |
+
Implemented the frontend Cookie Restriction functionality (EU cookie law compliance)
|
14 |
+
Added the Cash On Delivery and Bank Transfer payment methods
|
15 |
+
|
16 |
+
=== Improvements ===
|
17 |
+
XmlConnect package release v22.1
|
18 |
+
Upgraded TinyMCE to v3.4.7
|
19 |
+
Added the ability to translate action array parameter nodes in the layout.xml
|
20 |
+
Added the support for using custom currency symbols
|
21 |
+
Added the functionality for cleaning old cache files by cron tasks
|
22 |
+
Refactored rules-based modules
|
23 |
+
Improved customer address handling for PayPal Express checkout
|
24 |
+
Added the ability to customize a store logo in emails from an admin
|
25 |
+
Refactored the escaping functionality used for translations
|
26 |
+
Added the ability to turn off/on IP tracking (e.g. 'Placed from IP', displayed on the order-related pages in the backend)
|
27 |
+
Provided the logic for disabling ACL resources in configuration files
|
28 |
+
Added additional placeholders for extension developers
|
29 |
+
|
30 |
+
=== Changes ===
|
31 |
+
Added support for "memcached" PHP extension
|
32 |
+
The js/scriptaculous/dragdrop.js library is upgraded to version 1.9.0
|
33 |
+
Files in .jpg format are allowed to be used for a favicon
|
34 |
+
Added the ability to extend the list of attributes in the SELECT query for categories loaded via Mage_Catalog_Model_Resource_Category_Flat::_loadNodes()
|
35 |
+
Added changes to lib/Varien/Http/Adapter/Curl.php to provide interface for setting different cURL options
|
36 |
+
Displaying State or Province can be optional for any country
|
37 |
+
Added the ability to get Magento type from Mage.php
|
38 |
+
|
39 |
+
=== Fixes ===
|
40 |
+
Fixed: Impossible to reset Customer Password via link in Forgot Password email template
|
41 |
+
Fixed: Reference to non-existing class Mage_Catalog_Block_Seo_Searchterm
|
42 |
+
Fixed: System can't find page by the URL when Payflow Link PayPal payment method used
|
43 |
+
Fixed: Grammar issues reported by community
|
44 |
+
Fixed: Layout is broken for PDF documents, values are overlapped
|
45 |
+
Fixed: Admin Notifications in backend should not appear again after it been removed or marked as read
|
46 |
+
Fixed: Reference and contents information is absent in the shipping label for DHL
|
47 |
+
Fixed: Include commented rewrite rules to .htaccess
|
48 |
+
Fixed: Shopping Cart is cleared after pressing "Enter"
|
49 |
+
Fixed: Group Name of "Not Logged IN" Customer Groups is removed automatically after saving
|
50 |
+
Fixed: Not possible to assign one picture to two products (Media Storage = Database)
|
51 |
+
Fixed: Exception in shop when accessed by Googlebot
|
52 |
+
Fixed: SLI for DHL used credentials only from the default configuration scope
|
53 |
+
Fixed: Old copyright data and system version exist in page footer
|
54 |
+
Fixed: CMS widgets: Required validation for drop-down "Type" and "Design Package/Theme"
|
55 |
+
Fixed: On "New Widget Instance" page, drop-down "Type" doesn't have required validation
|
56 |
+
Fixed: Auto-redirect to Base URL = Yes with correct behavior may cause problems when secure URL is hardcoded
|
57 |
+
Fixed: Enable Qty Increments on global config has higher priority than product config
|
58 |
+
Fixed: Short open tag in app/design/adminhtml/default/default/template/currencysymbol/grid.phtml
|
59 |
+
Fixed: UPS, FedEx and DHL methods should work if zip code from/to isn't required
|
60 |
+
Fixed: No ability to cancel Partial Authorization checkout with Authorize.net in the frontend
|
61 |
+
Fixed: Incorrect displaying of the "New User" page
|
62 |
+
Fixed: Multiple warnings in system.log after running compilation process
|
63 |
+
Fixed: Session is lost while redirecting from secure to unsecure URL
|
64 |
+
Fixed: Redirect to base URL should consider full request URI string
|
65 |
+
Fixed: Product name with <> processed incorrect during creation order in backend
|
66 |
+
Fixed: FedEx SmartPost method doesn't appears in rate request
|
67 |
+
Fixed: 3 and 4 digits CVV should be accepted for JCB cards
|
68 |
+
Fixed: Google Checkout tax isn't applied to Bundle product
|
69 |
+
Fixed: FPT is not considered by Google Checkout
|
70 |
+
Fixed: An error occurred during second Customer authorization fail
|
71 |
+
Fixed: Property declaration typo in Mage_Bundle_Adminhtml_Catalog_Product_Edit_Tab_Bundle_Option
|
72 |
+
Fixed: Product is not shown in the Catalog when it is Out of Stock and Display Out of Stock Products = Yes
|
73 |
+
Fixed: Impossible download downloadable product (problem with secure link)
|
74 |
+
Fixed: Wrong letter case in class names may cause malfunction when Compiler is enabled
|
75 |
+
Fixed: Incorrect invoice amount in order with FPT
|
76 |
+
Fixed: Attributes not connected to any product of selected category display in layered navigation
|
77 |
+
Fixed: No feedback on creating attribute set in IE9 and IE8
|
78 |
+
Fixed: Unexpected breaking import process leads to creation phantom data into database
|
79 |
+
Fixed: Two of the same FedEx option show instead of one
|
80 |
+
Fixed: Notification for Google contains link that cover large area and blocked user work
|
81 |
+
Fixed: Possible to create user role with empty name if it starts with "less than" sign
|
82 |
+
Fixed: Impossible to use Clear Shopping Cart button in IE7
|
83 |
+
Fixed: Impossible create product with one FPT price for all State/Province
|
84 |
+
Fixed: 'Interval Division Limit' affects to global displaying of Layered Navigation
|
85 |
+
Fixed: Shipping method must be recalculated on Order Review page if Transfer Shipping Options is enabled
|
86 |
+
Fixed: Issue with different secure/unsecure URL cause session data lost
|
87 |
+
Fixed: Can't save option Country in Store Information Tab
|
88 |
+
Fixed: Rule date information has been missed after using Product Rule or Shopping Cart Price Rule
|
89 |
+
Fixed: Billing/Shipping address algorithm for PayPal Express checkout works incorrect
|
90 |
+
Fixed: Error during quick search
|
91 |
+
Fixed: Block "Description" on Catalog Price Rule page has incorrect size
|
92 |
+
Fixed: Search doesn't work if Maximum Query Length field is empty
|
93 |
+
Fixed: The Tags Product RSS doesn't update information after changing tag
|
94 |
+
Fixed: Customer Attributes and Customer Address Attributes validation
|
95 |
+
Fixed: Issue with final price calculation for Configurable product with sub products
|
96 |
+
Fixed: Blank page after customer registration with enabled compilation
|
97 |
+
Fixed: "Place Order" button must be enabled if all required fields passed the validation on PayPal Express Checkout
|
98 |
+
Fixed: Products quantity displays incorrect in price ranges after import (rounding problem)
|
99 |
+
Fixed: Layout issue in shopping cart on frontend (IE8)
|
100 |
+
Fixed: Impossible to assign user to the role if he is assigned to another role
|
101 |
+
Fixed: 'Total records found' on Reports -> Tags -> Popular page shows wrong quantity of records
|
102 |
+
Fixed: Unable to refresh lifetime statistics
|
103 |
+
Fixed: After changing Price Navigation Step calculation from Automatic(eq price range) to Automatic(eq prod count) the category is loaded very slowly
|
104 |
+
Fixed: No ability to create Shipping Label (in case with USPS First-Class Mail International Parcel method)
|
105 |
+
Fixed: It is impossible to create Shipping Label for FedEx
|
106 |
+
Fixed: Redirect Customer to Account Dashboard after Logging is in enabled and doesn't work for Wishlist
|
107 |
+
Fixed: No ability to edit values using mass actions for product in IE8, IE9
|
108 |
+
Fixed: Wrong message during checkout process in Inline Translate mode
|
109 |
+
Fixed: Default country is selected in Shipping Address during Admin order creation
|
110 |
+
Fixed: The Static block widget doesn't displayed on the Product View Extra hint for bundle product
|
111 |
+
Fixed: Bunch of W3C validation errors on frontend while using inline translate
|
112 |
+
Fixed: Product's association to root category is lost after export/import
|
113 |
+
Fixed: WYSIWYG Editor: Page is scrolled to the top after inserting variables
|
114 |
+
Fixed: Incorrect Backup/Rollback message
|
115 |
+
Fixed: FedEx Free shipping doesn't work correctly
|
116 |
+
Fixed: Configurable product displaying double price when choosing option
|
117 |
+
Fixed: Impossible to configure Admin User Emails for store view scope
|
118 |
+
Fixed: Long payment method data is printed improperly in PDF invoice
|
119 |
+
Fixed: Impossibility of changing the Rating Value title for store view in existing Rating Value with filled the Rating Value title for store view
|
120 |
+
Fixed: Trademark symbol not showing up
|
121 |
+
Fixed: Add "Delivery Option" for FedEx Configurations
|
122 |
+
Fixed: Saving product takes long time
|
123 |
+
Fixed: Notice message disappear after clearing cache
|
124 |
+
Fixed: Products qty displays incorrect in price ranges after import (rounding problem)
|
125 |
+
Fixed: Images in CSS fail when merging CSS files
|
126 |
+
Fixed: Mass action update of any attributes resets multi-select attributes to NULL
|
127 |
+
Fixed: Move CSS from Prototype Windows plug-in to the backend skin
|
128 |
+
Fixed: DB adapter should check transaction level in case of DDL query
|
129 |
+
Fixed: When Payment method additional info contains double quote it is displayed as '"' in invoice PDF
|
130 |
+
Fixed: Incorrect Unit Price(Excl. Tax) in the Shopping Cart Grid after changing currency
|
131 |
+
Fixed: Incorrect total quantity of records and pagination doesn't work on Reports->Reviews->Products Reviews page
|
132 |
+
Fixed: Incorrect title of All Reviews for product page
|
133 |
+
Fixed: Invalid message in shopping cart when trying to add products amount more than allowed
|
134 |
+
Fixed: Layered Navigation: Icon "Previous" should be appear only on sub-intervals level
|
135 |
+
Fixed: Processing error occurred when big numeric value is entered to an browser URL
|
136 |
+
Fixed: Issue with credit memo for multiple bundled products (order status is Processing)
|
137 |
+
Fixed: Customer group has to be emulated even if customer is sticky assigned to the group
|
138 |
+
Fixed: "Customs Value" isn't represented in store base currency
|
139 |
+
Fixed: Layered Navigation: After clicking on interval $0.00, should be filtered and displayed products with price 0.00
|
140 |
+
Fixed: Absence of redirecting to the grid page after saving Role/User
|
141 |
+
Fixed: Incorrect logic of assignment of unique ID in Varien_Data_Collection
|
142 |
+
Fixed: Problems with sorting actions
|
143 |
+
Fixed: When product is set to be not available for selling checkout is still possible depending on its position in cart
|
144 |
+
Fixed: Impossibility of creating new order with "Reorder" button when Out of stock or disabled products had been ordered
|
145 |
+
Fixed: "Online Minute Interval" customer configuration option should have global scope
|
146 |
+
Fixed: Unable to translate Active/Inactive in promotions grid
|
147 |
+
Fixed: Response headers contains 500 error during frontend pages browsing
|
148 |
+
Fixed: Add additional button to PayPal Redirect Page
|
149 |
+
Fixed: Category Permissions: if "Display Product Price" is set to "No" the page toolbar is absent
|
150 |
+
Fixed: Layered navigation options have wrong order in backend
|
151 |
+
Fixed: The "Remember Me" check box with the "What's this?" link should be located below the "Forgot Your Password?" link
|
152 |
+
Fixed: Warning message is absent, when "Recovery Link Expiration Period" is specified within the correct range
|
153 |
+
Fixed: PayPal HSS (Website Payment Pro Hosted Solutions) France doesn't work
|
154 |
+
Fixed: Remove email from Billing address section of the PayPal Express Order Review page
|
155 |
+
Fixed: It is available enter negative digits in the "Layered Navigation Price Step" (on Category page)
|
156 |
+
Fixed: First/Last Name algorithm for PayPal Express checkout
|
157 |
+
Fixed: Asterisk isn't imported in Zip/Post Code field
|
158 |
+
Fixed: Some strings are not translated in widgets
|
159 |
+
Fixed: Session isn't stored between secure and unsecure URLs when they are located in different paths of the same domain (no SID in request)
|
160 |
+
Fixed: "USPS First Class International Parcel" will not show up as an option for customers during checkout
|
161 |
+
Fixed: UPS, FedEx and DHL methods should work if zip code from / to isn't required
|
162 |
+
Fixed: Issue when trying to create an order from the backend without selecting the state/province
|
163 |
+
Fixed: HTTP error when uploading images from a MacOS with shockwave flash 11.1.102.55
|
164 |
+
Fixed: UPS Configuration "All Methods" should be selected by default
|
165 |
+
Fixed: Cannot create a product review through backend
|
166 |
+
Fixed: Typos in Role Permission tree
|
167 |
+
Fixed: WYSIWYG button layout issue on product page
|
168 |
+
Fixed: Require Customer's Billing Address is missing option "For Virtual Quotes Only"
|
169 |
+
Fixed: Errors appears on Design Configuration page if transactional email's logo image and/or favicon files were deleted
|
170 |
+
Fixed: State/Province value is reset after page reload on some forms
|
171 |
+
Fixed: Cannot access backend after switching on and switching off "Use Custom Admin URL"
|
172 |
+
Fixed: "Unsubscribe Selected" and "Delete Selected Problems" buttons don't work
|
173 |
+
Fixed: After selecting shipping from dropdown system doesn't update order data automatically on PayPal Express Order Review page
|
174 |
+
Fixed: Buttons on the backend order page don't have titles
|
175 |
+
Fixed: ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION error in Chrome browser
|
176 |
+
Fixed: Changes related with Apply and Discount Amount options for sub item, applied after clicking "Save Rule" button
|
177 |
+
Fixed: Invalid Timezone error for Asia/Calcutta when changing default country to India
|
178 |
+
Fixed: Sorting by position doesn't work for up-sells and related products
|
179 |
+
Fixed: Absent validation for "Only X left Threshold" field
|
180 |
+
Fixed: Shipping method calculation based on default shipping address instead of 'Same as billing' setting in backend
|
181 |
+
Fixed: There is no validation of the field "Handling Fee" that allows number less than zero in UPS shipping method
|
182 |
+
Fixed: Product name with "<>" processed incorrect during creation order in backend
|
183 |
+
Fixed: Billing Address Line is always blank if "REQUIREBILLING = 1" for PayPal Express
|
184 |
+
Fixed: Configuration->Inventory->Qty Increment isn't validated properly
|
185 |
+
Fixed: Absent message about not enough quantity for bundle and configurable products
|
186 |
+
Fixed: Wrong behavior of split buttons in IE8
|
187 |
+
Fixed: Warning message appears after unselecting user in the Role Users grid
|
188 |
+
Fixed: Incorrect total weight calculation in external shipping methods for products with decimal Qty Increments
|
189 |
+
Fixed: Tax calculation is incorrect if configurable product mixed up with other composite products in the shopping cart for Store Tax != Customer Tax
|
190 |
+
Fixed: Products qty displays wrong in layered navigation after changing currency
|
191 |
+
Fixed: Billing address fields are editable if "Same as shipping" selected on the PayPal Express order review page
|
192 |
+
Fixed: Incorrect location of "Clear All" link
|
193 |
+
Fixed: Incorrect price for bundle fixed product with custom option % and catalog price rule applied
|
194 |
+
Fixed: Import/Export: Append Complex Data works incorrect for customer's address and product's customs data
|
195 |
+
Fixed: Discount changes subtotal when FPT is active
|
196 |
+
Fixed: There is no ability to specify backup's name
|
197 |
+
Fixed: Multi selections fields for website scope settings are greyed out
|
198 |
+
Fixed: Persistent Shopping Cart: After deleting customers via backend, on frontend customer should be logout completely
|
199 |
+
Fixed: Incorrect logic during dividing products into multiple boxes for shipping
|
200 |
+
Fixed: Polls are not working properly in case with different domains for http and https
|
201 |
+
Fixed: "Block Reference" drop-down contains wrong list of options for frontend Apps types with Products
|
202 |
+
Fixed: "Wrong store specified" appears on order creation page
|
203 |
+
Fixed: Customer can't continue Checkout process after selecting Billing Address
|
204 |
+
Fixed: Refresh Statistics gone from Reports Role
|
205 |
+
Fixed: USPS shipping label is printed with "SAMPLE - DO NOT MAIL" sign
|
206 |
+
Fixed: Shipping methods are not refreshed after Update Order Data is pressed on PayPal Express Order Review page
|
207 |
+
Fixed: Product still invisible in frontend after required re-index
|
208 |
+
Fixed: JS error on configurable products
|
209 |
+
Fixed: Configurable product missing name in error message when exceeding quantity during order
|
210 |
+
Fixed: Added Display Product Count on the Layout Navigation
|
211 |
+
Fixed: "FedEx Priority Overnight" shipping method isn't calculated correctly
|
212 |
+
Fixed: Incorrect product price for Bundle products with fixed prices in the shopping cart
|
213 |
+
Fixed: "Ship Bundle Items" for bundle product works incorrect
|
214 |
+
Fixed: Impossible to expand settings accordions on the "Design Settings Editor" tab of Theme Customization page under IE7
|
215 |
+
Fixed: Impossibility to configure Bundle product with Disabled status and create new order with it in the backend
|
216 |
+
Fixed: Customer email isn't saved in Account Information field
|
217 |
+
Fixed: Unable to sort products by price
|
218 |
+
Fixed: Errors during creating/extracting "tar" archive with symbolic links
|
219 |
+
Fixed: Wrong message text in "Manage Coupon" tab on Shopping Cart Price Rule page
|
220 |
+
Fixed: 404 page not found error occurs when "Default Store" value is changed for Main Website
|
221 |
+
Fixed: Unable to import products if Catalog price rule enabled
|
222 |
+
Fixed: Partial Re-index isn't done for product saved in backend
|
223 |
+
Fixed: Catalog Price Rule: "Save and Apply" action leads to apply ALL rules, but it have to apply only specified rule
|
224 |
+
Fixed: Tax isn't recalculated on PayPal Express
|
225 |
+
Fixed: Backup Name field should allow entering only a limited number of characters
|
226 |
+
Fixed: In the "Subtotal" row of "Coupons Usage Report" displayed amounts for all Shopping Cart Price Rule in the system
|
227 |
+
Fixed: Shipping address isn't passed to Magento from PayPal
|
228 |
+
Fixed: Store view isn't changed when customer subscribes for newsletters
|
229 |
+
Fixed: Shopping Cart Price Rules are not marked after creating Coupons Usage Report
|
230 |
+
Fixed: Change buttons structure in prototype/windows.js to match general adminhtml buttons structure
|
231 |
+
Fixed: Wrong error message on Create New Order page in backend
|
232 |
+
Fixed: Impossible to configure order of displaying rating values in the frontend
|
233 |
+
Fixed: Incoming Message in Admin Part has the superfluous symbol '\'
|
234 |
+
Fixed: Numerous issues with promotions on complex products
|
235 |
+
Fixed: Recipient Postal-State Mismatch error seen on Shipping Label with FedEx
|
236 |
+
Fixed: Text messages "This is a required fields." are displayed in the hidden FTP section
|
237 |
+
Fixed: Incorrect popup on Manage Coupon Codes tab in Shopping Cart Price Rule
|
238 |
+
Fixed: Layered navigation work incorrect if attribute values defined on Store View level
|
239 |
+
Fixed: Checking import file returns blank page
|
240 |
+
Fixed: Change the VAT Number format before sending to VAT ID Validation service
|
241 |
+
Fixed: Simple products with configured customs options displayed in wishlist incorrectly
|
242 |
+
Fixed: Incorrect text message for product for which there is no enough quantity in stock
|
243 |
+
Fixed: Setting float Qty Increments is possible, but doesn't work
|
244 |
+
Fixed: SQL error during checkout when customers register at checkout and orders a nominal item
|
245 |
+
Fixed: Iframe for gateway isn't reloaded on the Payment information tab
|
246 |
+
Fixed: Incorrect behavior after placing order from backend in FF9
|
247 |
+
Fixed: Catalog price rule skips conditions specified and applies to all products in the catalog
|
248 |
+
Fixed: Price rule is applying to individual items in bundle when price is set to Dynamic
|
249 |
+
Fixed: Impossible to save payment method configurations on the Default Config scope
|
250 |
+
Fixed: "There has been an error processing your request" message is display if not CSV file was selected to import
|
251 |
+
Fixed: Wrong reindex product attributes after bundle product save
|
252 |
+
Fixed: Add Products button absent during creating order from backend
|
253 |
+
Fixed: "All methods" should be selected by default in configuration section "Allowed Methods" for UPS
|
254 |
+
Fixed: Redirect to base URL issue
|
255 |
+
Fixed: Added Backup sorting by name possibility
|
256 |
+
Fixed: Fix grammar mistakes
|
257 |
+
Fixed: Notifications are not shown if URL Rewrite used
|
258 |
+
Fixed: "Stop Further Rules Processing" option doesn't work
|
259 |
+
Fixed: Admin cannot un-assign product from the tag if already approved tag was added to the product by customer
|
260 |
+
Fixed: Inaccuracy calculation could be 10% for FedEx International Ground shipping
|
261 |
+
Fixed: Incorrect price calculation of configurable product with custom options (resolved conflicts)
|
262 |
+
Fixed: Wrong currency displayed in Recently Viewed Product App
|
263 |
+
Fixed: Tabs are grayed on admin dashboard
|
264 |
+
Fixed: JS validation for product weight attribute doesn't work
|
265 |
+
Fixed: Group Price attribute is present as text field using the mass update action
|
266 |
+
Fixed: Shopping Cart Price Rule isn't applied to Not Logged In Customers
|
267 |
+
Fixed: "Sign up for our newsletter" text appearing twice
|
268 |
+
Fixed: Newsletter problem report grid on backend throws Exception
|
269 |
+
Fixed: Special price doesn't work for Bundles with Dynamic price
|
270 |
+
Fixed: My Orders block disappears in My Account pages when Reorder functionality is disabled
|
271 |
+
Fixed: Search doesn't work in Backups grid
|
272 |
+
Fixed: Re-index "Catalog URL Rewrites" works extremely slowly
|
273 |
+
Fixed: Checkbox state is preserved for "Put store on the maintenance mode while rollback processing"
|
274 |
+
Fixed: UPS Configuration All Methods Should Be Selected by Default
|
275 |
+
Fixed: Rollback fails if database backup was performed after product import
|
276 |
+
Fixed: Incorrect behavior with 10-digit Zip code, after creating new Tax Rate
|
277 |
+
Fixed: Configurable attributes that used for create configurable product should not be applied to that product
|
278 |
+
Fixed: Default group has to be used if customer selects address without VAT number
|
279 |
+
Fixed: No ability to create Shopping Cart Price Rule
|
280 |
+
Fixed: Layout issue appears in IE9 on the export grids
|
281 |
+
Fixed: Issue when trying to view the order using a specific admin user
|
282 |
+
Fixed: System messages are not displayed at CMS pages and appears only when another message will be invoked
|
283 |
+
Fixed: On the frontend Search doesn't work properly if search value is 0 (null)
|
284 |
+
Fixed: The size of the columns in Backup grid is changed if no records were found
|
285 |
+
Fixed: Maintenance flag isn't deleted if rollback fails with not enough permissions error
|
286 |
+
Fixed: Customer's group isn't changed if his billing address modified within backend
|
287 |
+
Added Add a message and the link in the mini shopping cart, when the cart is empty
|
288 |
+
Fixed: On Edit Shipping Address page button "Validate VAT Number" should be hidden
|
289 |
+
Fixed: Fatal error when try to ship order with Flat Rate shipping method
|
290 |
+
- fixed potentially problematic chaining involved getShippingCarrier method
|
291 |
+
Fixed: No ability to open PDF file with Label
|
292 |
+
Fixed: Incorrect final price for configurable products if several custom options used
|
293 |
+
Fixed: "Length", "Width" and "Height" fields on "Create Packages" pop up are active, when "Documents" type is selected in IE7 and IE9
|
294 |
+
Fixed: HTTP 500 error on frontend for bundle fixed with percent options enabled for sub-products
|
295 |
+
Fixed: Shipment created on Magento side doesn't send to Google side for Merchant Calculated shipping
|
296 |
+
- added check for process only Google Checkout internal methods
|
297 |
+
Fixed: PDF files for invoices and credit memos are not displaying Including Tax Price
|
298 |
+
Fixed: Default value that was specified in system settings doesn't presented in Code Format drop-down on Manage Coupon Codes tab
|
299 |
+
Fixed: Qty wipes out to 0 when no qty column is included on import
|
300 |
+
Fixed: Broken controls makeup is observed after resizing window when customer's page is opened on the backend
|
301 |
+
Fixed: Values don't fit to "Date Fields Order" drop-downs in "Date & Time Custom Options" on the Catalog page
|
302 |
+
Fixed: Processing error appears for products with "Qty Uses Decimals" = No and enabled DHL International
|
303 |
+
Fixed: Apply Tax to FPT setting doesn't seem to work for products with Fixed Product Taxes
|
304 |
+
Fixed: Apply Coupon Code textbox doesn't fit in the Apply Coupon Code channel on the backend after reducing the browser window
|
305 |
+
Fixed: Tax and Shipping amounts aren't showing on the merchant reports for Websites Payments Pro PayFlow Edition
|
306 |
+
Fixed: Incorrect error popup on Manage Coupon Codes tab in Shopping Cart Price Rule
|
307 |
+
Fixed: No ability to create Shipping Label with New DHL shipping methods
|
308 |
+
Fixed: Indexing update on save takes too long for large catalog_product_entity_int tables
|
309 |
+
Fixed: VAT ID group validation takes Default configuration on order creation from backend
|
310 |
+
Fixed: Pagination isn't shown on My Product Reviews page when items count exceeds the "Show per page" setting
|
311 |
+
Fixed: Inline translation missing for customer account information labels
|
312 |
+
Fixed: Corrupted text if drag attribute on Manage Attribute Sets page (IE8)
|
313 |
+
Fixed: Wrong calculation price of Bundle product with Fixed price, when special price is configured
|
314 |
+
Fixed: Error Message isn't displayed during unsuccessful Shipping Label creation
|
315 |
+
Fixed: Unverified redirect is possible in Checkout controller
|
316 |
+
Fixed: Customer group in not validated again on checkout if Tax Calculation Based on = Shipping Address
|
317 |
+
Fixed: "Clear All" link doesn't work
|
318 |
+
Fixed: Wrong message appears when products quantity is updated in the Shopping Cart with enabled Qty Increments setting
|
319 |
+
Fixed: Created On field on Manage Coupon Codes grid shows incorrect date/time
|
320 |
+
Fixed: Incorrect price calculation of configurable product with custom options
|
321 |
+
Fixed: Manage Products > Custom options: Should be possible to enter negative price for custom option of 'Date' type
|
322 |
+
Fixed: HTTP 500 Internal Server Error on Admin Forgot Password page
|
323 |
+
Fixed: CSV/Excel XML export doesn't work on Sales->Invoices if filter by Selected=Yes is used
|
324 |
+
Fixed: "Same As Billing Address" check-box doesn't work
|
325 |
+
Fixed: Impossible to enter zero in the base price field for customer groups
|
326 |
+
Fixed: Group Price attribute position on the Prices tab is incorrect
|
327 |
+
Fixed: Add new column to the grid with number of used coupons
|
328 |
+
Fixed: Custom options are not stored when downloadable product is duplicated
|
329 |
+
Fixed: Broken logic for "Zero Subtotal Checkout" order statuses
|
330 |
+
Fixed: Coupon codes generation fails when trying to generate large amount of codes
|
331 |
+
Fixed: PayFlow Link: Using "Pay with PayPal" and selected shipping method that is greater than 0 doesn't process order
|
332 |
+
Fixed: User have to stay on Add New Rule page if error appears on save shopping cart price rule
|
333 |
+
Fixed: "Automatically Invoice All Items" should be inactive, when were selected "New Order Status: Pending" in "Zero Subtotal Checkout" settings
|
334 |
+
Fixed: When enormous request in search fields on the front end 414 error appears
|
335 |
+
Fixed: JS error on edit Shopping Cart Price Rule Page
|
336 |
+
Fixed: Clear Shopping Cart button add selected item to Items Ordered if check box "Add to Order" is selected
|
337 |
+
Fixed: "Clear Shopping Cart" button must be located to the left to "Update Shopping Cart" button
|
338 |
+
Fixed: Export of Group Price data doesn't work
|
339 |
+
Fixed: Incorrect translation messages definitions
|
340 |
+
Fixed: Error message isn't displayed if currency exchange rate not found (in case with DHL Int)
|
341 |
+
Fixed: User role with partial access can't edit attributes of configurable products
|
342 |
+
Fixed: Letter "n" missed in the word "handling"
|
343 |
+
Fixed: Buttons don't react for pressing on the "Widget Options" section in Insert Widget window
|
344 |
+
Fixed: Regular price displays incorrect
|
345 |
+
Fixed: {{base_url}} in (un)secure_url doesn't work since 1.6.1
|
346 |
+
Fixed: Product selection field gets cleared out with recently added products from latest page
|
347 |
+
Fixed: "Change" button while checkout doesn't work
|
348 |
+
Fixed: MySQL BIGINT field type is wrongly casted to integer
|
349 |
+
Fixed: Magento Connect Manager proceed with installation of extension if error appears on database backup
|
350 |
+
Fixed: "Set product as New from/to Date" works excluding selected dates
|
351 |
+
Fixed: Function fireEvent from lib/varien/js.js does not work in IE9
|
352 |
+
Fixed: Searching with first and last name has no results
|
353 |
+
Fixed: CMS Pages: Error in IE7 when select CMS page
|
354 |
+
Fixed: White screen appears instead of 404 Error Page when going to review a product which doesn't exist
|
355 |
+
Fixed: "Maximum Package Weight" option works incorrect in case with decimal Qty in shopping Cart
|
356 |
+
Fixed: Unable to create tables for new EAV entity via SQL upgrade script
|
357 |
+
Fixed: Customer group isn't revalidated on checkout if Enable Automatic Assignment to Customer Group = Yes
|
358 |
+
Fixed: Mistake in PayPal Payments Advanced field set title
|
359 |
+
Fixed: Zero Subtotal Checkout payment method is used, when it is disabled in settings
|
360 |
+
Fixed: Some info lost from address when customer sets this address as default for shipping
|
361 |
+
Fixed: Incorrect calculation logic during distribution products between several pieces (in case with DHL)
|
362 |
+
Fixed: No ability to get shipping rates from US to another country (in case with DHL)
|
363 |
+
Fixed: Incorrect calculation of pieces weight (in case with Bundle Product)
|
364 |
+
Fixed: Product Flat Data index causes replication lag on MySQL master/slave model
|
365 |
+
Fixed: Exception is shown, when admin user provides filtration of Newsletter problem reports by Subscriber
|
366 |
+
Fixed: Typo in JavaScript error message
|
367 |
+
Fixed: Unable to do mass action update for products
|
368 |
+
Fixed: Error Message isn't displayed if currency exchange rate not found (in case with DHL)
|
369 |
+
Fixed: Weight field is absent during Quick simple product creation
|
370 |
+
Fixed: correct helper resolving
|
371 |
+
Fixed: Shipping methods are shown twice in DHLs shipping quote
|
372 |
+
Fixed: Unable to translate shipping and billing forms on the order creation page
|
373 |
+
Fixed: Drop-down attribute with layered navigation filter doesn't work with value is set to 0
|
374 |
+
Fixed: Free Shipping options don't work (in case with DHL)
|
375 |
+
Fixed: Handling Fee doesn't applied Per Package
|
376 |
+
Fixed: Free Shipping options works incorrect
|
377 |
+
Fixed: WYSIWYG Editor: It's impossible insert Widget to CMS page content
|
378 |
+
Fixed: Customer's group is not changed if his billing address modified within backend
|
379 |
+
Fixed: Wrong behavior and exception while using invalid image
|
380 |
+
Fixed: Uninformative error message during saving two nodes with the same parameter URL Key
|
381 |
+
Fixed: Unable to change order addresses in the admin panel
|
382 |
+
Fixed: PayPal Express always uses default billing address from customer account
|
383 |
+
Fixed: Unable to place order if customer selects Register on checkout
|
384 |
+
Fixed: Performance Issue: Most Viewed product reports on large amount of items
|
385 |
+
Fixed: In "Customer Addresses" block before and after of State name is located symbols ","
|
386 |
+
Fixed: Lightbox 2.5 with IE7 returns JS error on the page
|
387 |
+
Fixed: Unable to change customer status (confirmed/not confirmed) when customer logged in
|
388 |
+
Fixed: Incorrect notification for empty field during creation catalog price rules
|
389 |
+
Fixed: Unable to save product with non-checked multiple select attribute
|
390 |
+
Fixed: Package Size setting for DHL
|
391 |
+
Fixed: No Input Validation for Catalog Fields
|
392 |
+
Fixed: Row Total Calculation in Refund
|
393 |
+
Fixed: "Maximum number of price intervals" should be written with capital letters
|
394 |
+
Fixed: Divide Order Weight options for DHL
|
395 |
+
Fixed: Impossible to create new customer in the backend
|
396 |
+
Fixed: Catalog data-upgrade-1.6.0.0.4-1.6.0.0.5.php is extremely slow
|
397 |
+
Fixed: Mage_Catalog_Helper_Product::getProduct() doesn't load product by its SKU
|
398 |
+
Fixed: Preview Template doesn't work correctly
|
399 |
+
Fixed: Some options of Bundle Product disappeared from the Invoice PDF
|
400 |
+
Fixed: "Allow Countries" affects on "Country of Manufacture" attribute
|
401 |
+
Fixed: Some phrases are not translated
|
402 |
+
Fixed: Incorrect Ordered Qty in Order (in case with decimal qty)
|
403 |
+
Fixed: Trademark character isn't being displayed properly in the PDF invoice
|
404 |
+
Fixed: Can't search transactions by order_id in manager.paypal.com
|
405 |
+
Fixed: Inline Translation: Grid headers are displayed incorrect on the Tag Edit page
|
406 |
+
Fixed: "Create Extension Package" page becomes broken after compilation
|
407 |
+
Fixed: Price including tax isn't displayed for some kinds of bundle products
|
408 |
+
Fixed: Layered navigation for prices displays incorrect price ranges in manual mode
|
409 |
+
Fixed: Pager works wrong with float page number
|
410 |
+
Fixed: Incorrect foreign key for EAV entity tables
|
411 |
+
Fixed: Misprint in downloader/lib/Mage/Connect/Command/Install.php
|
412 |
+
Fixed: URL Rewrites must be case-sensitive
|
413 |
+
Fixed: Unable to install package via uploader if author name contains dash
|
414 |
+
Fixed: Invoice subtotals for cases with partial invoice and discount
|
415 |
+
Fixed: Catalog URL Rewrites works incorrectly on creating categories
|
416 |
+
Fixed: New Oder Status setting, specified for payment method works incorrectly when only virtual products are present in Order
|
417 |
+
Fixed: Rounding issue in catalog and product view if price includes tax
|
418 |
+
Fixed: Wrong status of catalog event is displayed by editing catalog event
|
419 |
+
Fixed: Role Resources are not saved
|
420 |
+
Fixed: "Qty for Item's Status to Become Out of Stock" option works incorrect
|
421 |
+
Fixed: XML parser works incorrect
|
422 |
+
Fixed: Mage_Reports_Model_Mysql4_Product_Index_Abstract must be declared abstract
|
423 |
+
Fixed: "Date & Time" and "Time" custom options becomes required when editing product
|
424 |
+
Fixed: Unable to cancel an order for an expired Authorize.net authorization
|
425 |
+
Fixed: Custom options are not stored when downloadable product is duplicated
|
426 |
+
Fixed: "Cannot initialize the indexer process" error during Mass "Reindex Data" Action
|
427 |
+
Fixed: Search by new attribute fails, attribute is not shown in layered navigation
|
428 |
+
Fixed: Exception when "Price Navigation Step Calculation" set to "Manual" mode and FPT enabled
|
429 |
+
Fixed: WPPHS: Cancel URL doesn't work as should be
|
430 |
+
Fixed: Error about insufficient permissions is not appears on database backup creation
|
431 |
+
Fixed: After rollback admin doesn't redirected to the Log in to Admin Panel page
|
432 |
+
Fixed: Database Backup must not include indexer table data
|
433 |
+
Fixed: Scheduled Backup creation/failure isn't logged
|
434 |
+
Fixed: Deleting backup while it is used by another process
|
435 |
+
Fixed: Opening *.tar files causes an error "There are no trailing zero-filled records"
|
436 |
+
Fixed: Unable to search by "Time" and "No" in Backups table
|
437 |
+
Fixed: Backups are deleted without confirmation
|
438 |
+
Fixed: Reports must be excluded from database snapshot backup
|
439 |
+
Fixed: There are no products in filtering results, if step calculation in automatic mode
|
440 |
+
Fixed: No validation for "Default Price Navigation Step"
|
441 |
+
Fixed: "Back" button doesn't work on the Create New Order page
|
442 |
+
Fixed: Incorrect logic of Token expiration in Two Step Password Reset flow
|
443 |
+
Fixed: Tag <br/> is present in tool-tip for field "Number of results (For the last time placed)" on the Edit Search page
|
444 |
+
Fixed: Unnecessary hard code in Magento Extension
|
445 |
+
Fixed: Wrong logic in Mage_Core_Model_Resource_Db_Collection_Abstract::join()
|
446 |
+
Fixed: Description and Short Description are displayed incorrectly for products added with WYSIWYG
|
447 |
+
Fixed: Adding product to the cart from the product review page leads to 404 page
|
448 |
+
Fixed: Special symbols in Sort Order field
|
449 |
+
Fixed: Text is wrong displayed with enabled Inline translation for Admin on backend
|
450 |
+
Fixed: Inline Translation: Unable to translate some customer information
|
451 |
+
Fixed: Useless colon on frontend login page
|
452 |
+
Fixed: Unable to continue checkout for product with zero price and non-zero shipping price
|
453 |
+
Fixed: Import news_from_date field is configured poorly. It is not accepting the data from file
|
454 |
+
Fixed: When updating product data through import, attributes that have a value cannot be assigned a new value that is empty
|
455 |
+
Fixed: Unable to replace non-complex data for products with empty values during import
|
456 |
+
Fixed: "Wrong order ID" exception in PayPal Express module under heavy load
|
457 |
+
Fixed: Tax is applying on the order when creating it in the admin panel for a Customer Group with no taxes
|
458 |
+
Fixed: Issue with retrieving order statuses for array of states
|
459 |
+
Fixed: Wrong calculation product price with custom option type = Field and Fixed price
|
460 |
+
Fixed: Back ordered downloadable product is not available even when it is set to be be accessible when order status is Pending
|
461 |
+
Fixed: Missing column "position" at table catalog_category_anc_products_index_tmp
|
462 |
+
Fixed: Incorrect behavior of "Save in address book" option during admin Order creation for a new customer
|
463 |
+
- refactored Mage_Adminhtml_Model_Sales_Order_Create::_prepareCustomer()
|
464 |
+
Fixed: Terms and Conditions is named differently on different pages
|
465 |
+
Fixed: "Apply" and "Discount Amount" fields appear twice in the Catalog Price Rule
|
466 |
+
Fixed: Poll shows incorrect percentage
|
467 |
+
Fixed: Added validation ability for admin configuration forms
|
468 |
+
Fixed: UPS XML misprint
|
469 |
+
Fixed: Misprint in uploading files form
|
470 |
+
Fixed: Unnecessary check boxes for gift options
|
471 |
+
Fixed: Wrong resource section declaration in Mage_Tag module
|
472 |
+
Fixed: "Customers Submitted this Tag" section doesn't update when customer has deleted tag from his account
|
473 |
+
Fixed: Correct product in category position
|
474 |
+
Fixed: Unable to create folder in Media Storage
|
475 |
+
Fixed: Translation with single quotes breaks JavaScript
|
476 |
+
Fixed: Out of memory error with hundreds of thousands of coupons attached to a single sales rule
|
477 |
+
Fixed: Unable to translate buttons and tabs on the "Manage Category" page
|
478 |
+
Fixed: Product Categories Tree doesn't expand in Manage Products page
|
479 |
+
Fixed: Incorrect products qty returns to stock after refund for configurable product
|
480 |
+
Fixed: Swf Uploader problems with cross domain Flash Player Policy
|
481 |
+
Fixed: Unable to translate "Layout Updates" block on create/edit widget page
|
482 |
+
Fixed: IE7: "Remember Me" checkbox visible on billing information step
|
483 |
+
Fixed: CMS WYSIWYG Editor - widget is inserted as new while editing in IE8
|
484 |
+
Fixed: Currency code doesn't correspond to the amount in reports
|
485 |
+
Fixed: Mage_Adminhtml_Block_Sales_Order_View_Tab_History::getFullHistory() doesn't use unique keys for each message
|
486 |
+
Fixed: Scope labels are shown without translate wrapper
|
487 |
+
Fixed: Wrong parameters handling in Core Helper formatDate()
|
488 |
+
Fixed: Apostrophe in store name breaks Google Analytics tracking
|
489 |
+
Fixed: Customer attribute prefix is not shown on frontend
|
490 |
+
Fixed: Incorrect rounding for product with custom options (percent price)
|
491 |
+
Fixed: Invoicing only part of products results in wrong totals calculation
|
492 |
+
Fixed: Incorrect Row Total Calculation in Refund
|
493 |
+
- fixed rounding issues for partial Invoice and Refund
|
494 |
+
- refactored delta rounding
|
495 |
+
Fixed: Filter by "Allow Countries" not working for Customer Address Form in the backend
|
496 |
+
- checking added for set country to be in available list
|
497 |
+
Fixed: There are sql-installs with empty string used as defaults for table columns, while column is not null able
|
498 |
+
Fixed: Unable to translate "Note" in "Product Stock Options"
|
499 |
+
Fixed: Various warning are displayed after creating shipment for 0 items
|
500 |
+
Fixed: Invalid content in Content-header in the top of page during scrolling during order creation
|
501 |
+
Fixed: "Online invoice" button present in backend when using Zero Subtotal Checkout
|
502 |
+
Fixed: String cast type in in_array function
|
503 |
+
Fixed: Newsletter template content should not disappear when "Show" / "Hide Editor" button was clicked
|
504 |
+
Fixed: Import feature doesn't validate whether super_products_sku is existing or not
|
505 |
+
Fixed: Cannot place order with downloadable product and discount code using Paypal Express payment method
|
506 |
+
Fixed: Product still out of stock after Stock Status reindex
|
507 |
+
Fixed: Save catalog price rule gives trace if full reindex has already started
|
508 |
+
Fixed: Reindex requires notification is not shown for Stock Status when stock is updated for several products using Mass Action
|
509 |
+
Fixed: Incorrect FedEx's shipping rates (in case with non-US country origin)
|
510 |
+
Fixed: After partial reindex MSRP value is not applied (not viewed) in catalog during mass update action
|
511 |
+
Fixed: Wrong stock reindex on catalog if partial reindex done after full reindex started
|
512 |
+
Fixed: In error message string "already exists." written twice, when trying to save Product Tax Class with the same name
|
513 |
+
Fixed: Slow checkout with non-flushed cache
|
514 |
+
Fixed: Bundle product total is incorrect in Customization block
|
515 |
+
Fixed: Special price isn't considered for bundle dynamic products in "Your Customization" block
|
516 |
+
Fixed: Situation when any amount of duplicate reindex process can be running at one time
|
517 |
+
Fixed: Error with Advanced Search (in case with Date Attribute)
|
518 |
+
Fixed: Product Flat Data index isn't marked as "Reindex Required" after importing products when Flat Catalog is enabled
|
519 |
+
Fixed: User can't change root category for the store
|
520 |
+
Fixed: JS error causes the overwrite of Title field in PayPal Advanced configuration
|
521 |
+
Fixed: Mass action doesn't partially reindex catalog for product name/description
|
522 |
+
Fixed: Remove hint about $1 auth amount from informational message text (PayflowLink configuration)
|
523 |
+
Fixed: Mass action doesn't partially reindex catalog for product prices
|
524 |
+
Fixed: PayPal Payments Advanced works with $0 Auth instead of Full Auth
|
525 |
+
Fixed: Impossible to place Order using "Pay with PayPal" button from PayPal Payments Advanced iframe
|
526 |
+
Fixed: Mass action doesn't partially reindex catalog search for product if searchable attribute was updated
|
527 |
+
Fixed: "Please wait" AJAX screen doesn't appear in the middle of the page
|
528 |
+
Fixed: Checkout link on frontend is always referenced as http
|
529 |
+
Fixed: GET request is incorrectly formed during category creation
|
530 |
+
- adjusted assertion to determine last viewed store
|
531 |
+
Fixed: Display of Tier Pricing with Configurable Products
|
532 |
+
- added functionality to dynamically update tier prices accordingly to chosen product configuration
|
533 |
+
Fixed: Google Analytics e-commerce tracking not working
|
534 |
+
Fixed: URL key isn't used when product is saved
|
535 |
+
Fixed: Added validation class to 'Qty increments'
|
536 |
+
Fixed: Entered from admin customer date 1970 (or less) is saved as 2070 (or less)
|
537 |
+
Fixed: cUrl resource must be closed after checking it for errors, not before
|
538 |
+
Fixed: Exception while products mass update attributes in backend
|
539 |
+
Fixed: No ability to reindex Catalog URL Rewrites, error is shown
|
540 |
+
Fixed: Package with Core dependency
|
541 |
+
Fixed: Stock Availability isn't updated if 1: Run Price Reindex 2: Update Stock Availability on product with mass action/single product
|
542 |
+
Fixed: Blank page instead shopping cart page when compilation and PSC are enabled
|
543 |
+
Fixed: Unable to save redirect URL with special characters in search terms
|
544 |
+
Fixed: Attribute Set field should have client-side validation and appropriate information message
|
545 |
+
Fixed: "Localhost" isn't a valid domain name for installation
|
546 |
+
Fixed: Iframe for PayPal Payments Advanced is not loaded
|
547 |
+
Fixed: Retain the selected tab on editing CMS page
|
548 |
+
Fixed: Payflow Link Express Checkout (pay with PayPal button) payment
|
549 |
+
Fixed: Wrong number of reindex options is displayed
|
550 |
+
Fixed: Wrong phpDocs for Varien_Db_Select
|
551 |
+
Fixed: JavaScript calendar date range
|
552 |
+
- fixed JS calendar behavior to use 4-digits year format
|
553 |
+
Fixed: Performance issue connected with sales rules on adding product to cart
|
554 |
+
Fixed: DHL same error message appears several times
|
555 |
+
Fixed: Item Status says "Mixed" when an order has been completed, should say "Shipped"
|
556 |
+
Fixed: Product option title is absent in backend order page
|
557 |
+
Fixed: Incorrect items number during multi shipping checkout
|
558 |
+
Fixed: User name displays differently in the unsuccessful message and in the text field label (log in form)
|
559 |
+
Fixed: If one or more indexers have Update Required = Yes and all Status = READY for all indexers than there is no notification for user to do reindex action
|
560 |
+
Fixed: No space between Address line 1 and line 2 in Shipping Label (in case with FedEx)
|
561 |
+
Fixed: JS works depends on the position attributes of the product
|
562 |
+
Fixed: Char set encoding is out-of-date in Settlement reports
|
563 |
+
Fixed: Settlement reports can't be downloaded if in merchant's account 'Settlement file' is set to 6.0 version
|
564 |
+
Fixed: Unable to login when secure and unsecure URLs are different
|
565 |
+
Fixed: Customer session lost when using different domain/subdomain names for secure and unsecure URLs
|
566 |
+
Fixed: "Most Viewed" reports ignore Store View switcher
|
567 |
+
Fixed: Long FPT name (and product name) doesn't fit into "My cart" block
|
568 |
+
Fixed: Paypal IPN post back failure
|
569 |
+
Fixed: Customer was unable to receive newsletters when it was created via backend
|
570 |
+
Fixed: Wrong Comments History in notification of order creation/cancellation
|
571 |
+
Fixed: Non escaped string causes javascript error
|
572 |
+
Fixed: Unable to view pictures during product editing
|
573 |
+
Fixed: Ampersand is saved incorrect in attribute label
|
574 |
+
Fixed: IE8: JS error appears after pressing 'Add new rule' in catalog price rules menu
|
575 |
+
Fixed: Exception after sorting newsletter queue
|
576 |
+
Fixed: Customer is not able to log in from URL without "www" in some cases
|
577 |
+
Fixed: SQL error on category view with enabled and configured FPT
|
578 |
+
Fixed: Automatic reindexing based on matched events doesn't change "Status" and "Last Run" columns at process list grid
|
579 |
+
Fixed: Performance issue with Magento Compiler + APC results in too many I/O calls
|
580 |
+
Fixed: Website Administrator is able to change default values
|
581 |
+
Fixed: Some of wishlist blocks and templates still treat the collection of wishlist items as collection of products
|
582 |
+
Fixed: Unnecessary comments in "Share Wishlist" email
|
583 |
+
|
584 |
+
|
585 |
+
|
586 |
+
==== 1.7.0.0-rc1 ====
|
587 |
+
|
588 |
+
=== Major Highlights ===
|
589 |
+
New Layered Navigation price bucket algorithm
|
590 |
+
Added captcha functionality
|
591 |
+
Implemented different base prices for customer groups
|
592 |
+
Added auto generation of coupon codes
|
593 |
+
Backup and Rollback functionality
|
594 |
+
VAT ID Validation added
|
595 |
+
Implemented DHL for Europe
|
596 |
+
Added REST API
|
597 |
+
|
598 |
+
=== Improvements ===
|
599 |
+
XmlConnect package release v22.1
|
600 |
+
Upgraded TinyMCE to v3.4.7
|
601 |
+
Mobile theme was redesigned
|
602 |
+
Added ability to translate action array parameter nodes via layout.xml
|
603 |
+
Added support for using custom currency symbols
|
604 |
+
Added functionality to cleaning old cache files by cron task
|
605 |
+
Refactored rules-based modules
|
606 |
+
Improved customer address handling using PayPal Express checkout
|
607 |
+
Refactored escaping functionality used with translations
|
608 |
+
Added ability to customize logo in emails from the admin
|
609 |
+
Implemented front-end cookies restriction functionality
|
610 |
+
Added ability to turn off/on IP Tracking (e.g. 'Placed from IP') on the Sales pages in back-end (Order, Invoice, Shipment, Credit memo)
|
611 |
+
Provided logic to disable ACL resources through configuration files
|
612 |
+
Added additional placeholders for extensions developers
|
613 |
+
|
614 |
+
=== Changes ===
|
615 |
+
Added "Cash On Delivery" and "Bank Transfer" payment methods
|
616 |
+
Support for "memcached" PHP extension was added
|
617 |
+
Library js/scriptaculous/dragdrop.js is upgraded to version 1.9.0
|
618 |
+
Image file of "jpg" type are allowed for favicon
|
619 |
+
Added ability to extend list of attributes to select for categories loaded via Mage_Catalog_Model_Resource_Category_Flat::_loadNodes()
|
620 |
+
Added changes to lib/Varien/Http/Adapter/Curl.php to provide interface for setting different cURL options
|
621 |
+
Displaying State or Province can be optional for any country
|
622 |
+
Added ability to get Magento type from Mage.php
|
623 |
+
|
624 |
+
=== Fixes ===
|
625 |
+
Fixed Multiple warnings in system.log after running compilation process
|
626 |
+
Fixed Session is lost while redirecting from secure to unsecure URL
|
627 |
+
Fixed Redirect to base URL should consider full request URI string
|
628 |
+
Fixed Product name with <> processed incorrect during creation order in backend
|
629 |
+
Fixed FedEx SmartPost method doesn't appears in rate request
|
630 |
+
Fixed 3 and 4 digits CVV should be accepted for JCB cards
|
631 |
+
Fixed Google Checkout tax isn't applied to Bundle product
|
632 |
+
Fixed FPT is not considered by Google Checkout
|
633 |
+
Fixed An error occurred during second Customer authorization fail
|
634 |
+
Fixed Property declaration typo in Mage_Bundle_Adminhtml_Catalog_Product_Edit_Tab_Bundle_Option
|
635 |
+
Fixed Product is not shown in the Catalog when it is Out of Stock and Display Out of Stock Products = Yes
|
636 |
+
Fixed Impossible download downloadable product (problem with secure link)
|
637 |
+
Fixed Wrong letter case in class names may cause malfunction when Compiler is enabled
|
638 |
+
Fixed Incorrect invoice amount in order with FPT
|
639 |
+
Fixed Attributes not connected to any product of selected category display in layered navigation
|
640 |
+
Fixed No feedback on creating attribute set in IE9 and IE8
|
641 |
+
Fixed Unexpected breaking import process leads to creation phantom data into database
|
642 |
+
Fixed Two of the same FedEx option show instead of one
|
643 |
+
Fixed Notification for Google contains link that cover large area and blocked user work
|
644 |
+
Fixed Possible to create user role with empty name if it starts with "less than" sign
|
645 |
+
Fixed Impossible to use Clear Shopping Cart button in IE7
|
646 |
+
Fixed Impossible create product with one FPT price for all State/Province
|
647 |
+
Fixed 'Interval Division Limit' affects to global displaying of Layered Navigation
|
648 |
+
Fixed Shipping method must be recalculated on Order Review page if Transfer Shipping Options is enabled
|
649 |
+
Fixed Issue with different secure/unsecure URL cause session data lost
|
650 |
+
Fixed Can't save option Country in Store Information Tab
|
651 |
+
Fixed Rule date information has been missed after using Product Rule or Shopping Cart Price Rule
|
652 |
+
Fixed Billing/Shipping address algorithm for PayPal Express checkout works incorrect
|
653 |
+
Fixed Error during quick search
|
654 |
+
Fixed Block "Description" on Catalog Price Rule page has incorrect size
|
655 |
+
Fixed Search doesn't work if Maximum Query Length field is empty
|
656 |
+
Fixed The Tags Product RSS doesn't update information after changing tag
|
657 |
+
Fixed Customer Attributes and Customer Address Attributes validation
|
658 |
+
Fixed Issue with final price calculation for Configurable product with sub products
|
659 |
+
Fixed Blank page after customer registration with enabled compilation
|
660 |
+
Fixed "Place Order" button must be enabled if all required fields passed the validation on PayPal Express Checkout
|
661 |
+
Fixed Products quantity displays incorrect in price ranges after import (rounding problem)
|
662 |
+
Fixed Layout issue in shopping cart on Frontend (IE8)
|
663 |
+
Fixed Impossible to assign user to the role if he is assigned to another role
|
664 |
+
Fixed 'Total records found' on Reports -> Tags -> Popular page shows wrong quantity of records
|
665 |
+
Fixed Unable to refresh lifetime statistics
|
666 |
+
Fixed After changing Price Navigation Step calculation from Automatic in Continuos the category is loaded very slowly
|
667 |
+
Fixed No ability to create Shipping Label (in case with USPS First-Class Mail International Parcel method)
|
668 |
+
Fixed It is impossible to create Shipping Label for FedEx
|
669 |
+
Fixed Redirect Customer to Account Dashboard after Logging is in enabled and doesn't work for Wishlist
|
670 |
+
Fixed No ability to edit values using mass actions for product in IE8, IE9
|
671 |
+
Fixed Wrong message during checkout process in Inline Translate mode
|
672 |
+
Fixed Default country is selected in Shipping Address during Admin order creation
|
673 |
+
Fixed The Static block widget doesn't displayed on the Product View Extra hint for bundle product
|
674 |
+
Fixed Bunch of W3C validation errors on frontend while using inline translate
|
675 |
+
Fixed Product's association to root category is lost after export/import
|
676 |
+
Fixed WYSIWYG Editor: Page is scrolled to the top after inserting variables
|
677 |
+
Fixed Incorrect Backup/Rollback message
|
678 |
+
Fixed FedEx Free shipping doesn't work correctly
|
679 |
+
Fixed Configurable product displaying double price when choosing option
|
680 |
+
Fixed Impossible to configure Admin User Emails for store view scope
|
681 |
+
Fixed Long payment method data is printed improperly in PDF invoice
|
682 |
+
Fixed Impossibility of changing the Rating Value title for store view in existing Rating Value with filled the Rating Value title for store view
|
683 |
+
Fixed Trademark symbol not showing up
|
684 |
+
Fixed Add "Delivery Option" for FedEx Configurations
|
685 |
+
Fixed Saving product takes long time
|
686 |
+
Fixed Notice message disappear after clearing cache
|
687 |
+
Fixed Products qty displays incorrect in price ranges after import (rounding problem)
|
688 |
+
Fixed Images in CSS fail when merging CSS files
|
689 |
+
Fixed Mass action update of any attributes resets multiselect attributes to NULL
|
690 |
+
Fixed Move CSS from Prototype Windows plug-in to the backend skin
|
691 |
+
Fixed DB adapter should check transaction level in case of DDL query
|
692 |
+
Fixed When Payment method additional info contains double quote it is displayed as '"' in invoice PDF
|
693 |
+
Fixed Incorrect Unit Price(Excl. Tax) in the Shopping Cart Grid after changing currency
|
694 |
+
Fixed Incorrect total quantity of records and pagination doesn't work on Reports->Reviews->Products Reviews page
|
695 |
+
Fixed Incorrect title of All Reviews for product page
|
696 |
+
Fixed Invalid message in shopping cart when trying to add products amount more than allowed
|
697 |
+
Fixed Layered Navigation: Icon "Previous" should be appear only on sub-intervals level
|
698 |
+
Fixed Processing error occurred when big numeric value is entered to an browser URL
|
699 |
+
Fixed Issue with credit memo for multiple bundled products (order status is Processing)
|
700 |
+
Fixed Customer group has to be emulated even if customer is sticky assigned to the group
|
701 |
+
Fixed "Customs Value" isn't represented in store base currency
|
702 |
+
Fixed Layered Navigation: After clicking on interval $0.00, should be filtered and displayed products with price 0.00
|
703 |
+
Fixed Absence of redirecting to the grid page after saving Role/User
|
704 |
+
Fixed Incorrect logic of assignment of unique ID in Varien_Data_Collection
|
705 |
+
Fixed Problems with sorting actions
|
706 |
+
Fixed When product is unsaleable checkout is still possible depending on its position in cart
|
707 |
+
Fixed Impossibility of creating new order with "Reorder" button when Out of stock or disabled products had been ordered
|
708 |
+
Fixed "Online Minute Interval" customer configuration option should have global scope
|
709 |
+
Fixed Unable to translate Active/Inactive in promotions grid
|
710 |
+
Fixed Response headers contains 500 error during front-end pages browsing
|
711 |
+
Fixed Add additional button to PayPal Redirect Page
|
712 |
+
Fixed Category Permissions: if "Display Product Price" is set to "No" the page toolbar is absent
|
713 |
+
Fixed Layered navigation options have wrong order in back-end
|
714 |
+
Fixed The "Remember Me" check box with the "What's this?" link should be located below the "Forgot Your Password?" link
|
715 |
+
Fixed Warning message is absent, when "Recovery Link Expiration Period" is specified within the correct range
|
716 |
+
Fixed PayPal HSS (Website Payment Pro Hosted Solutions) France doesn't work
|
717 |
+
Fixed Remove email from Billing address section of the PayPal Express Order Review page
|
718 |
+
Fixed It is available enter negative digits in the "Layered Navigation Price Step" (on Category page)
|
719 |
+
Fixed First/Last Name algorithm for PayPal Express checkout
|
720 |
+
Fixed Asterisk isn't imported in Zip/Post Code field
|
721 |
+
Fixed Some strings are not translated in widgets
|
722 |
+
Fixed Session isn't stored between secure and usecure URLs when they are located in different paths of the same domain (no SID in request)
|
723 |
+
Fixed "USPS First Class International Parcel" will not show up as an option for customers during checkout
|
724 |
+
Fixed UPS, FedEx and DHL methods should work if zip code from / to isn't required
|
725 |
+
Fixed Issue when trying to create an order from the back-end without selecting the state/province
|
726 |
+
Fixed HTTP error when uploading images from a MacOS with shockwave flash 11.1.102.55
|
727 |
+
Fixed UPS Configuration "All Methods" should be selected by default
|
728 |
+
Fixed Cannot create a product review through back-end
|
729 |
+
Fixed Typos in Role Permission tree
|
730 |
+
Fixed WYSIWYG button layout issue on product page
|
731 |
+
Fixed Require Customer's Billing Address is missing option "For Virtual Quotes Only"
|
732 |
+
Fixed Errors appears on Design Configuration page if transactional email's logo image and/or favicon files were deleted
|
733 |
+
Fixed State/Province value is reset after page reload on some forms
|
734 |
+
Fixed Cannot access back-end after switching on and switching off "Use Custom Admin URL"
|
735 |
+
Fixed "Unsubscribe Selected" and "Delete Selected Problems" buttons don't work
|
736 |
+
Fixed After selecting shipping from dropdown system doesn't update order data automatically on PayPal Express Order Review page
|
737 |
+
Fixed Buttons on the back-end order page don't have titles
|
738 |
+
Fixed ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION error in Chrome browser
|
739 |
+
Fixed Changes related with Apply and Discount Amount options for sub item, applied after clicking "Save Rule" button
|
740 |
+
Fixed Invalid Timezone error for Asia/Calcutta when changing default country to India
|
741 |
+
Fixed Sorting by position doesn't work for up-sells and related products
|
742 |
+
Fixed Absent validation for "Only X left Threshold" field
|
743 |
+
Fixed Shipping method calculation based on default shipping address instead of 'Same as billing' setting in back-end
|
744 |
+
Fixed There is no validation of the field "Handling Fee" that allows number less than zero in UPS shipping method
|
745 |
+
Fixed Product name with "<>" processed incorrect during creation order in back-end
|
746 |
+
Fixed Billing Address Line is always blank if "REQUIREBILLING = 1" for PayPal Express
|
747 |
+
Fixed SQL query for getting record count of archived orders takes too long time
|
748 |
+
Fixed Configuration->Inventory->Qty Increment isn't validated properly
|
749 |
+
Fixed Absent message about not enough quantity for bundle and configurable products
|
750 |
+
Fixed Wrong behaviour of split buttons in IE8
|
751 |
+
Fixed Warning message appears after unselecting user in the Role Users grid
|
752 |
+
Fixed Incorrect total weight calculation in external shipping methods for products with decimal Qty Increments
|
753 |
+
Fixed Tax calculation is incorrect if configurable product mixed up with other composite products in the shopping cart for Store Tax != Customer Tax
|
754 |
+
Fixed Products qty displays wrong in layered navigation after changing currency
|
755 |
+
Fixed Billing address fields are editable if "Same as shipping" selected on the PayPal Express order review page
|
756 |
+
Fixed Incorrect location of "Clear All" link
|
757 |
+
Fixed Incorrect price for bundle fixed product with custom option % and catalog price rule applied
|
758 |
+
Fixed Import/Export: Append Complex Data works incorrect for customer's address and product's customs data
|
759 |
+
Fixed Discount changes subtotal when FPT is active
|
760 |
+
Fixed There is no ability to specify backup's name
|
761 |
+
Fixed Multi selections fields for website scope settings are greyed out
|
762 |
+
Fixed "Credit Memos" is written incorrectly in Role Permission tree and on the Sales -> Archive -> Credit Memos page
|
763 |
+
Fixed Persistent Shopping Cart: After deleting customers via Back-end, on front-end customer should be logout completely
|
764 |
+
Fixed Incorrect logic during dividing products into multiple boxes for shipping
|
765 |
+
Fixed Polls are not working properly in case with different domains for http and https
|
766 |
+
Fixed "Block Reference" drop-down contains wrong list of options for front-end Apps types with Products
|
767 |
+
Fixed "Wrong store specified" appears on order creation page
|
768 |
+
Fixed Customer can't continue Checkout process after selecting Billing Address
|
769 |
+
Fixed Refresh Statistics gone from Reports Role
|
770 |
+
Fixed USPS shipping label is printed with "SAMPLE - DO NOT MAIL" sign
|
771 |
+
Fixed Shipping methods are not refreshed after Update Order Data is pressed on PayPal Express Order Review page
|
772 |
+
Fixed Product still invisible in front-end after required reindex
|
773 |
+
Fixed JS error on configurable products
|
774 |
+
Fixed Configurable product missing name in error message when exceeding quantity during order
|
775 |
+
Fixed Added Display Product Count on the Layout Navigation
|
776 |
+
Fixed "FedEx Priority Overnight" shipping method isn't calculated correctly
|
777 |
+
Fixed Incorrect product price for Bundle products with fixed prices in the shopping cart
|
778 |
+
Fixed "Ship Bundle Items" for bundle product works incorrect
|
779 |
+
Fixed Impossible to expand settings accordions on the "Design Settings Editor" tab of Theme Customization page under IE7
|
780 |
+
Fixed Impossibility to configure Bundle product with Disabled status and create new order with it in the back-end
|
781 |
+
Fixed Customer email isn't saved in Account Information field
|
782 |
+
Fixed Unable to sort products by price
|
783 |
+
Fixed Errors during creating/extracting "tar" archive with symbolic links
|
784 |
+
Fixed Wrong message text in "Manage Coupon" tab on Shopping Cart Price Rule page
|
785 |
+
Fixed 404 page not found error occurs when "Default Store" value is changed for Main Website
|
786 |
+
Fixed Unable to import products if Catalog price rule enabled
|
787 |
+
Fixed Partial Reindex isn't done for product saved in back-end
|
788 |
+
Fixed Catalog Price Rule: "Save and Apply" action leads to apply ALL rules, but it have to apply only specified rule
|
789 |
+
Fixed Tax isn't recalculated on PayPal Express
|
790 |
+
Fixed Backup Name field should allow to enter only a limited number of characters
|
791 |
+
Fixed In the "Subtotal" row of "Coupons Usage Report" displayed amounts for all Shopping Cart Price Rule in the system
|
792 |
+
Fixed Shipping address isn't passed to Magento from PayPal
|
793 |
+
Fixed Store view isn't changed when customer subscribes for newsletters
|
794 |
+
Fixed Shopping Cart Price Rules are not marked after creating Coupons Usage Report
|
795 |
+
Fixed Change buttons structure in prototype/windows.js to match general adminhtml buttons structure
|
796 |
+
Fixed Wrong error message on Create New Order page in back-end
|
797 |
+
Fixed Impossible to configure order of displaying rating values in the front-end
|
798 |
+
Fixed Incoming Message in Admin Part has the superfluous symbol '\'
|
799 |
+
Fixed Numerous issues with promotions on complex products
|
800 |
+
Fixed Recipient Postal-State Mismatch error seen on Shipping Label with FedEx
|
801 |
+
Fixed Text messages "This is a required fields." are displayed in the hidden FTP section
|
802 |
+
Fixed Incorrect popup on Manage Coupon Codes tab in Shopping Cart Price Rule
|
803 |
+
Fixed Layered navigation work incorrect if attribute values defined on Store View level
|
804 |
+
Fixed Checking import file returns blank page
|
805 |
+
Fixed Change the VAT Number format before sending to VAT ID Validation service
|
806 |
+
Fixed Simple products with configured customs options displayed in wishlist incorrectly
|
807 |
+
Fixed Incorrect text message for product for which there is no enough quantity in stock
|
808 |
+
Fixed Setting float Qty Increments is possible, but doesn't work
|
809 |
+
Fixed SQL error during checkout when customers register at checkout and orders a nominal item
|
810 |
+
Fixed Iframe for gateway isn't reloaded on the Payment information tab
|
811 |
+
Fixed Incorrect behavior after placing order from back-end in FF9
|
812 |
+
Fixed Catalog price rule skips conditions specified and applies to all products in the catalog
|
813 |
+
Fixed Price rule is applying to individual items in bundle when price is set to Dynamic
|
814 |
+
Fixed Impossible to save payment method configurations on the Default Config scope
|
815 |
+
Fixed "There has been an error processing your request" message is display if not CSV file was selected to import
|
816 |
+
Fixed Wrong reindex product attributes after bundle product save
|
817 |
+
Fixed Add Products button absent during creating order from back-end
|
818 |
+
Fixed "All methods" should be selected by default in configuration section "Allowed Methods" for UPS
|
819 |
+
Fixed Redirect to base URL issue
|
820 |
+
Fixed Added Backup sorting by name possibility
|
821 |
+
Fixed Fix grammar mistakes
|
822 |
+
Fixed Notifications are not shown if URL Rewrite used
|
823 |
+
Fixed "Stop Further Rules Processing" option doesn't work
|
824 |
+
Fixed Admin can not unassign product from the tag if already approved tag was added to the product by customer
|
825 |
+
Fixed Inaccuracy calculation could be 10% for FedEx International Ground shipping
|
826 |
+
Fixed Incorrect price calculation of configurable product with custom options (resolved conflicts)
|
827 |
+
Fixed Wrong currency displayed in Recently Viewed Product App
|
828 |
+
Fixed Tabs are grayed on admin dashboard
|
829 |
+
Fixed JS validation for product weight attribute doesn't work
|
830 |
+
Fixed Group Price attribute is present as text field using the mass update action
|
831 |
+
Fixed Shopping Cart Price Rule isn't applied to Not Logged In Customers
|
832 |
+
Fixed "Sign up for our newsletter" text appearing twice
|
833 |
+
Fixed Newsletter problem report grid on back-end throws Exception
|
834 |
+
Fixed Special price doesn't work for Bundles with Dynamic price
|
835 |
+
Fixed My Orders block disappears in My Account pages when Reorder functionality is disabled
|
836 |
+
Fixed Search doesn't work in Backups grid
|
837 |
+
Fixed Reindex "Catalog URL Rewrites" works extremely slowly
|
838 |
+
Fixed Checkbox state is preserved for "Put store on the maintenance mode while rollback processing"
|
839 |
+
Fixed UPS Configuration All Methods Should Be Selected by Default
|
840 |
+
Fixed Rollback fails if database backup was performed after product import
|
841 |
+
Fixed Incorrect behavior with 10-digit Zip code, after creating new Tax Rate
|
842 |
+
Fixed Configurable attributes that used for create configurable product should not be applied to that product
|
843 |
+
Fixed Default group has to be used if customer selects address without VAT number
|
844 |
+
Fixed No ability to create Shopping Cart Price Rule
|
845 |
+
Fixed Layout issue appears in IE9 on the export grids
|
846 |
+
Fixed Issue when trying to view the order using a specific admin user
|
847 |
+
Fixed System messages are not displayed at CMS pages and appears only when another message will be invoked
|
848 |
+
Fixed On the front-end Search doesn't work properly if search value is 0 (null)
|
849 |
+
Fixed The size of the columns in Backup grid is changed if no records were found
|
850 |
+
Fixed Maintenance flag isn't deleted if rollback fails with not enough permissions error
|
851 |
+
Fixed Customer's group isn't changed if his billing address modified within back-end
|
852 |
+
Added Add a message and the link in the mini shopping cart, when the cart is empty
|
853 |
+
Fixed On Edit Shipping Address page button "Validate VAT Number" should be hidden
|
854 |
+
Fixed Fatal error when try to ship order with Flat Rate shipping method
|
855 |
+
- fixed potentially problematic chaining involved getShippingCarrier method
|
856 |
+
Fixed No ability to open PDF file with Label
|
857 |
+
Fixed Incorrect final price for configurable products if several custom options used
|
858 |
+
Fixed "Length", "Width" and "Height" fields on "Create Packages" pop up are active, when "Documents" type is selected in IE7 and IE9
|
859 |
+
Fixed HTTP 500 error on front-end for bundle fixed with percent options enabled for sub-products
|
860 |
+
Fixed Shipment created on Magento side doesn't send to Google side for Merchant Calculated shipping
|
861 |
+
- added check for process only Google Checkout internal methods
|
862 |
+
Fixed PDF files for invoices and credit memos are not displaying Including Tax Price
|
863 |
+
Fixed Default value that was specified in system settings doesn't presented in Code Format drop-down on Manage Coupon Codes tab
|
864 |
+
Fixed Qty wipes out to 0 when no qty column is included on import
|
865 |
+
Fixed Broken controls makeup is observed after resizing window when customer's page is opened on the back-end
|
866 |
+
Fixed Values don't fit to "Date Fields Order" drop-downs in "Date & Time Custom Options" on the Catalog page
|
867 |
+
Fixed Processing error appears for products with "Qty Uses Decimals" = No and enabled DHL International
|
868 |
+
Fixed Apply Tax to FPT setting doesn't seem to work for products with Fixed Product Taxes
|
869 |
+
Fixed Apply Coupon Code textbox doesn't fit in the Apply Coupon Code channel on the back-end after reducing the browser window
|
870 |
+
Fixed Tax and Shipping amounts aren't showing on the merchant reports for Websites Payments Pro PayFlow Edition
|
871 |
+
Fixed Incorrect error popup on Manage Coupon Codes tab in Shopping Cart Price Rule
|
872 |
+
Fixed No ability to create Shipping Label with New DHL shipping methods
|
873 |
+
Fixed Indexing update on save takes too long for large catalog_product_entity_int tables
|
874 |
+
Fixed VAT ID group validation takes Default configuration on order creation from back-end
|
875 |
+
Fixed Pagination isn't shown on My Product Reviews page when items count exceeds the "Show per page" setting
|
876 |
+
Fixed Inline translation missing for customer account information labels
|
877 |
+
Fixed Corrupted text if drag attribute on Manage Attribute Sets page (IE8)
|
878 |
+
Fixed Wrong calculation price of Bundle product with Fixed price, when special price is configured
|
879 |
+
Fixed Error Message isn't displayed during unsuccessful Shipping Label creation
|
880 |
+
Fixed Unverified redirect is possible in Checkout controller
|
881 |
+
Fixed Customer group in not validated again on checkout if Tax Calculation Based on = Shipping Address
|
882 |
+
Fixed "Clear All" link doesn't work
|
883 |
+
Fixed Wrong message appears when products quantity is updated in the Shopping Cart with enabled Qty Increments setting
|
884 |
+
Fixed Created On field on Manage Coupon Codes grid shows incorrect date/time
|
885 |
+
Fixed Incorrect price calculation of configurable product with custom options
|
886 |
+
Fixed Manage Products > Custom options: Should be possible to enter negative price for custom option of 'Date' type
|
887 |
+
Fixed HTTP 500 Internal Server Error on Admin Forgot Password page
|
888 |
+
Fixed CSV/Excel XML export doesn't work on Sales->Invoices if filter by Selected=Yes is used
|
889 |
+
Fixed "Same As Billing Address" check-box doesn't work
|
890 |
+
Fixed Impossible to enter zero in the base price field for customer groups
|
891 |
+
Fixed Group Price attribute position on the Prices tab is incorrect
|
892 |
+
Fixed Add new column to the grid with number of used coupons
|
893 |
+
Fixed Custom options are not stored when downloadable product is duplicated
|
894 |
+
Fixed Broken logic for "Zero Subtotal Checkout" order statuses
|
895 |
+
Fixed Coupon codes generation fails when trying to generate large amount of codes
|
896 |
+
Fixed PayFlow Link: Using "Pay with PayPal" and selected shipping method that is greater than 0 doesn't process order
|
897 |
+
Fixed User have to stay on Add New Rule page if error appears on save shopping cart price rule
|
898 |
+
Fixed "Automatically Invoice All Items" should be inactive, when were selected "New Order Status: Pending" in "Zero Subtotal Checkout" settings
|
899 |
+
Fixed When enormous request in search fields on the front end 414 error appears
|
900 |
+
Fixed JS error on edit Shopping Cart Price Rule Page
|
901 |
+
Fixed Clear Shopping Cart button add selected item to Items Ordered if check box "Add to Order" is selected
|
902 |
+
Fixed "Clear Shopping Cart" button must be located to the left to "Update Shopping Cart" button
|
903 |
+
Fixed Export of Group Price data doesn't work
|
904 |
+
Fixed Incorrect translation messages definitions
|
905 |
+
Fixed Error message isn't displayed if currency exchange rate not found (in case with DHL Int)
|
906 |
+
Fixed User role with partial access can't edit attributes of configurable products
|
907 |
+
Fixed Letter "n" missed in the word "handling"
|
908 |
+
Fixed Buttons don't react for pressing on the "Widget Options" section in Insert Widget window
|
909 |
+
Fixed Regular price displays incorrect
|
910 |
+
Fixed {{base_url}} in (un)secure_url doesn't work since 1.6.1
|
911 |
+
Fixed Product selection field gets cleared out with recently added products from latest page
|
912 |
+
Fixed "Change" button while checkout doesn't work
|
913 |
+
Fixed MySQL BIGINT field type is wrongly casted to integer
|
914 |
+
Fixed Magento Connect Manager proceed with installation of extension if error appears on database backup
|
915 |
+
Fixed "Set product as New from/to Date" works excluding selected dates
|
916 |
+
Fixed Function fireEvent from lib/varien/js.js does not work in IE9
|
917 |
+
Fixed Searching with first and last name has no results
|
918 |
+
Fixed CMS Pages: Error in IE7 when select CMS page
|
919 |
+
Fixed White screen appears instead of 404 Error Page when going to review a product which doesn't exist
|
920 |
+
Fixed "Maximum Package Weight" option works incorrect in case with decimal Qty in shopping Cart
|
921 |
+
Fixed Unable to create tables for new EAV entity via SQL upgrade script
|
922 |
+
Fixed Customer group isn't revalidated on checkout if Enable Automatic Assignment to Customer Group = Yes
|
923 |
+
Fixed Mistake in PayPal Payments Advanced fieldset title
|
924 |
+
Fixed Zero Subtotal Checkout payment method is used, when it is disabled in settings
|
925 |
+
Fixed Some info lost from address when customer sets this address as default for shipping
|
926 |
+
Fixed Incorrect calculation logic during distribution products between several pieces (in case with DHL)
|
927 |
+
Fixed No ability to get shipping rates from US to another country (in case with DHL)
|
928 |
+
Fixed Incorrect calculation of pieces weight (in case with Bundle Product)
|
929 |
+
Fixed Product Flat Data index causes replication lag on MySQL master/slave model
|
930 |
+
Fixed Exception is shown, when admin user provides filtration of Newsletter problem reports by Subscriber
|
931 |
+
Fixed Typo in JavaScript error message
|
932 |
+
Fixed Unable to do mass action update for products
|
933 |
+
Fixed Error Message isn't displayed if currency exchange rate not found (in case with DHL)
|
934 |
+
Fixed Weight field is absent during Quick simple product creation
|
935 |
+
Fixed correct helper resolving
|
936 |
+
Fixed Shipping methods are shown twice in DHLs shipping quote
|
937 |
+
Fixed Unable to translate shipping and billing forms on the order creation page
|
938 |
+
Fixed Drop-down attribute with layered navigation filter doesn't work with value is set to 0
|
939 |
+
Fixed Free Shipping options doesn't work (in case with DHL)
|
940 |
+
Fixed Handling Fee doesn't applied Per Package
|
941 |
+
Fixed Free Shipping options works incorrect
|
942 |
+
Fixed WYSIWYG Editor: It's impossible insert Widget to CMS page content
|
943 |
+
Fixed Customer's group is not changed if his billing address modified within backend
|
944 |
+
Fixed Wrong behaviour and exception while using invalid image
|
945 |
+
Fixed Uninformative error message during saving two nodes with the same parameter URL Key
|
946 |
+
Fixed Unable to change order addresses in the admin panel
|
947 |
+
Fixed PayPal Express always uses default billing address from customer account
|
948 |
+
Fixed Unable to place order if customer selects Register on checkout
|
949 |
+
Fixed Performance Issue: Most Viewed product reports on large amount of items
|
950 |
+
Fixed In "Customer Addresses" block before and after of State name is located symbols ","
|
951 |
+
Fixed Lightbox 2.5 with IE7 returns JS error on the page
|
952 |
+
Fixed Unable to change customer status (confirmed/not confirmed) when customer logged in
|
953 |
+
Fixed Incorrect notification for empty field during creation catalog price rules
|
954 |
+
Fixed Unable to save product with non-checked multiple select attribute
|
955 |
+
Fixed Package Size setting for DHL
|
956 |
+
Fixed No Input Validation for Catalog Fields
|
957 |
+
Fixed Row Total Calculation in Refund
|
958 |
+
Fixed "Maximum number of price intervals" should be written with capital letters
|
959 |
+
Fixed Divide Order Weight options for DHL
|
960 |
+
Fixed Impossible to create new customer in the backend
|
961 |
+
Fixed Catalog data-upgrade-1.6.0.0.4-1.6.0.0.5.php is exteremly slow
|
962 |
+
Fixed Free Shipping options doesn't work (in case with DHL International)
|
963 |
+
Fixed Mage_Catalog_Helper_Product::getProduct() doesn't load product by its SKU
|
964 |
+
Fixed Preview Template doesn't work correctly
|
965 |
+
Fixed Some options of Bundle Product disappeared from the Invoice PDF
|
966 |
+
Fixed "Allow Countries" affects on "Country of Manufacture" attribute
|
967 |
+
Fixed Some phrases are not translated
|
968 |
+
Fixed Incorrect Ordered Qty in Order (in case with decimal qty)
|
969 |
+
Fixed Trademark character isn't being displayed properly in the PDF invoice
|
970 |
+
Fixed Can't search transactions by order_id in manager.paypal.com
|
971 |
+
Fixed Inline Translation: Grid headers are displayed incorrect on the Tag Edit page
|
972 |
+
Fixed "Create Extension Package" page becomes broken after compilation
|
973 |
+
Fixed Price including tax isn't displayed for some kinds of bundle products
|
974 |
+
Fixed Layered navigation for prices displays incorrect price ranges in manual mode
|
975 |
+
Fixed Pager works wrong with float page number
|
976 |
+
Fixed Incorrect foreign key for EAV entity tables
|
977 |
+
Fixed Misprint in downloader/lib/Mage/Connect/Command/Install.php
|
978 |
+
Fixed URL Rewrites must be case-sensitive
|
979 |
+
Fixed Unable to install package via uploader if author name contains dash
|
980 |
+
Fixed Fixed invoice subtotals for cases with partial invoice and discount
|
981 |
+
Fixed Catalog URL Rewrites works incorrectly on creating categories
|
982 |
+
Fixed New Oder Status setting, specified for payment method works incorrectly when only virtual products are present in Order
|
983 |
+
Fixed Rounding issue in catalog and product view if price includes tax
|
984 |
+
Fixed Wrong status of catalog event is displayed by editing catalog event
|
985 |
+
Fixed Role Resources are not saved
|
986 |
+
Fixed "Qty for Item's Status to Become Out of Stock" option works incorrect
|
987 |
+
Fixed XML parser works incorrect
|
988 |
+
Fixed Mage_Reports_Model_Mysql4_Product_Index_Abstract must be declared abstract
|
989 |
+
Fixed "Date & Time" and "Time" custom options becomes required when editing product
|
990 |
+
Fixed Unable to cancel an order for an expired Authorize.net auth
|
991 |
+
Fixed Custom options are not stored when downloadable product is duplicated
|
992 |
+
Fixed "Cannot initialize the indexer process" error during Mass "Reindex Data" Action
|
993 |
+
Fixed Search by new attribute fails, attribute is not shown in layered navigation
|
994 |
+
Fixed Exception when "Price Navigation Step Calculation" set to "Manual" mode and FPT enabled
|
995 |
+
Fixed WPPHS: Cancel URL doesn't work as should be
|
996 |
+
Fixed Error about insufficient permissions is not appears on database backup creation
|
997 |
+
Fixed After rollback admin doesn't redirected to the Log in to Admin Panel page
|
998 |
+
Fixed Database Backup must not include indexer table data
|
999 |
+
Fixed Scheduled Backup creation/failure isn't logged
|
1000 |
+
Fixed Deleting backup while it is used by another process
|
1001 |
+
Fixed Opening *.tar files causes an error "There are no trailing zero-filled records"
|
1002 |
+
Fixed Unable to search by "Time" and "No" in Backups table
|
1003 |
+
Fixed Backups are deleted without confirmation
|
1004 |
+
Fixed Reports must be excluded from database snapshot backup
|
1005 |
+
Fixed There are no products in filtering results, if step calculation in automatic mode
|
1006 |
+
Fixed No validation for "Default Price Navigation Step"
|
1007 |
+
Fixed "Back" button doesn't work on the Create New Order page
|
1008 |
+
Fixed Incorrect logic of Token expiration in Two Step Password Reset flow
|
1009 |
+
Fixed Tag <br/> is present in tool-tip for field "Number of results (For the last time placed)" on the Edit Search page
|
1010 |
+
Fixed Unnecessary hard code in Magento Extension
|
1011 |
+
Fixed Wrong logic in Mage_Core_Model_Resource_Db_Collection_Abstract::join()
|
1012 |
+
Fixed Description and Short Description are displayed incorrectly for products added with WYSIWYG
|
1013 |
+
Fixed Adding product to the cart from the product review page leads to 404 page
|
1014 |
+
Fixed Special symbols in Sort Order field
|
1015 |
+
Fixed Text is wrong displayed with enabled Inline translation for Admin on back-end
|
1016 |
+
Fixed Inline Translation: Unable to translate some customer information
|
1017 |
+
Fixed Useless colon on front-end login page
|
1018 |
+
Fixed Unable to continue checkout for product with zero price and non-zero shipping price
|
1019 |
+
Fixed Import news_from_date field is configured poorly. It is not accepting the data from file
|
1020 |
+
Fixed When updating product data through import, attributes that have a value cannot be assigned a new value that is empty
|
1021 |
+
Fixed Unable to replace non-complex data for products with empty values during import
|
1022 |
+
Fixed "Wrong order ID" exception in PayPal Express module under heavy load
|
1023 |
+
Fixed Tax is applying on the order when creating it in the admin panel for a Customer Group with no taxes
|
1024 |
+
Fixed Issue with retrieving order statuses for array of states
|
1025 |
+
Fixed Wrong calculation product price with custom option type = Field and Fixed price
|
1026 |
+
Fixed Back ordered downloadable product is not available even when it is set to be be accessible when order status is Pending
|
1027 |
+
Fixed Missing column "position" at table catalog_category_anc_products_index_tmp
|
1028 |
+
Fixed Incorrect behavior of "Save in address book" option during admin Order creation for a new customer
|
1029 |
+
- refactored Mage_Adminhtml_Model_Sales_Order_Create::_prepareCustomer()
|
1030 |
+
Fixed Terms and Conditions is named differently on different pages
|
1031 |
+
Fixed "Apply" and "Discount Amount" fields appear twice in the Catalog Price Rule
|
1032 |
+
Fixed Poll shows incorrect percentage
|
1033 |
+
Fixed Added validation ability for admin configuration forms
|
1034 |
+
Fixed UPS XML misprint
|
1035 |
+
Fixed Misprint in uploading files form
|
1036 |
+
Fixed Unnecessary check boxes for gift options
|
1037 |
+
Fixed Wrong resource section declaration in Mage_Tag module
|
1038 |
+
Fixed "Customers Submitted this Tag" section doesn't update when customer has deleted tag from his account
|
1039 |
+
Fixed Correct product in category position
|
1040 |
+
Fixed Unable to create folder in Media Storage
|
1041 |
+
Fixed Translation with single quotes breaks JavaScript
|
1042 |
+
Fixed Out of memory error with hundreds of thousands of coupons attached to a single sales rule
|
1043 |
+
Fixed Unable to translate buttons and tabs on the "Manage Category" page
|
1044 |
+
Fixed Product Categories Tree doesn't expand in Manage Products page
|
1045 |
+
Fixed Incorrect products qty returns to stock after refund for configurable product
|
1046 |
+
Fixed Swf Uploader problems with cross domain Flash Player Policy
|
1047 |
+
Fixed Unable to translate "Layout Updates" block on create/edit widget page
|
1048 |
+
Fixed IE7: "Remember Me" checkbox visible on billing information step
|
1049 |
+
Fixed CMS WYSIWYG Editor - widget is inserted as new while editing in IE8
|
1050 |
+
Fixed Currency code doesn't correspond to the amount in reports
|
1051 |
+
Fixed Mage_Adminhtml_Block_Sales_Order_View_Tab_History::getFullHistory() doesn't use unique keys for each message
|
1052 |
+
Fixed Scope labels are shown without translate wrapper
|
1053 |
+
Fixed Wrong parameters handling in Core Helper formatDate()
|
1054 |
+
Fixed Apostrophe in store name breaks Google Analytics tracking
|
1055 |
+
Fixed Customer attribute prefix is not shown on frontend
|
1056 |
+
Fixed Incorrect rounding for product with custom options (percent price)
|
1057 |
+
Fixed Invoicing only part of products results in wrong totals calculation
|
1058 |
+
Fixed Incorrect Row Total Calculation in Refund
|
1059 |
+
- fixed rounding issues for partial Invoice and Refund
|
1060 |
+
- refactored delta rounding
|
1061 |
+
Fixed Filter by "Allow Countries" not working for Customer Address Form in the Backend
|
1062 |
+
- checking added for set country to be in available list
|
1063 |
+
Fixed There are sql-installs with empty string used as defaults for table columns, while column is not null able
|
1064 |
+
Fixed Unable to translate "Note" in "Product Stock Options"
|
1065 |
+
Fixed Various warning are displayed after creating shipment for 0 items
|
1066 |
+
Fixed Invalid content in Content-header in the top of page during scrolling during order creation
|
1067 |
+
Fixed "Online invoice" button present in backend when using Zero Subtotal Checkout
|
1068 |
+
Fixed String cast type in in_array function
|
1069 |
+
Fixed Newsletter template content should not disappear when "Show" / "Hide Editor" button was clicked
|
1070 |
+
Fixed Import feature doesn't validate whether super_products_sku is existing or not
|
1071 |
+
Fixed Cannot place order with downloadable product and discount code using Paypal Express payment method
|
1072 |
+
Fixed Product still out of stock after Stock Status reindex
|
1073 |
+
Fixed Save catalog price rule gives trace if full reindex has already started
|
1074 |
+
Fixed Reindex requires notification is not shown for Stock Status when stock is updated for several products using Mass Action
|
1075 |
+
Fixed Incorrect FedEx's shipping rates (in case with non-US country origin)
|
1076 |
+
Fixed After partial reindex MSRP value is not applied (not viewed) in catalog during mass update action
|
1077 |
+
Fixed Wrong stock reindex on catalog if partial reindex done after full reindex started
|
1078 |
+
Fixed In error message string "already exists." written twice, when trying to save Product Tax Class with the same name
|
1079 |
+
Fixed Slow checkout with non-flushed cache
|
1080 |
+
Fixed Bundle product total is incorrect in Customization block
|
1081 |
+
Fixed Special price isn't considered for bundle dynamic products in "Your Customization" block
|
1082 |
+
Fixed Situation when any amount of duplicate reindex process can be running at one time
|
1083 |
+
Fixed Error with Advanced Search (in case with Date Attribute)
|
1084 |
+
Fixed Product Flat Data index isn't marked as "Reindex Required" after importing products when Flat Catalog is enabled
|
1085 |
+
Fixed User can't change root category for the store
|
1086 |
+
Fixed JS error causes the overwrite of Title field in PayPal Advanced configuration
|
1087 |
+
Fixed Mass action doesn't partially reindex catalog for product name/description
|
1088 |
+
Fixed Remove hint about $1 auth amount from informational message text (PayflowLink configuration)
|
1089 |
+
Fixed Mass action doesn't partially reindex catalog for product prices
|
1090 |
+
Fixed PayPal Payments Advanced works with $0 Auth instead of Full Auth
|
1091 |
+
Fixed Impossible to place Order using "Pay with PayPal" button from PayPal Payments Advanced iframe
|
1092 |
+
Fixed Mass action doesn't partially reindex catalog search for product if searchable attribute was updated
|
1093 |
+
Fixed "Please wait" AJAX screen doesn't appear in the middle of the page
|
1094 |
+
Fixed Checkout link on frontend is always referenced as http
|
1095 |
+
Fixed GET request is incorrectly formed during category creation
|
1096 |
+
- adjusted assertion to determine last viewed store
|
1097 |
+
Fixed Display of Tier Pricing with Configurable Products
|
1098 |
+
- added functionality to dynamically update tier prices accordingly to chosen product configuration
|
1099 |
+
Fixed Google Analytics e-commerce tracking not working
|
1100 |
+
Fixed URL key isn't used while product save
|
1101 |
+
Fixed Added validation class to 'Qty increments'
|
1102 |
+
Fixed Entered from admin customer date 1970 (or less) is saved as 2070 (or less)
|
1103 |
+
Fixed cUrl resource must be closed after checking it for errors, not before
|
1104 |
+
Fixed Exception while products mass update attributes in backend
|
1105 |
+
Fixed No ability to reindex Catalog URL Rewrites, error is shown
|
1106 |
+
Fixed Package with Core dependency
|
1107 |
+
Fixed Stock Availability isn't updated if 1: Run Price Reindex 2: Update Stock Availability on product with mass action/single product
|
1108 |
+
Fixed Blank page instead shopping cart page when compilation and PSC are enabled
|
1109 |
+
Fixed Unable to save redirect URL with special characters in search terms
|
1110 |
+
Fixed Attribute Set field should have client-side validation and appropriate information message
|
1111 |
+
Fixed "Localhost" isn't a valid domain name for installation
|
1112 |
+
Fixed Iframe for PayPal Payments Advanced is not loaded
|
1113 |
+
Fixed Retain the selected tab on editing CMS page
|
1114 |
+
Fixed Payflow Link Express Checkout (pay with PayPal button) payment
|
1115 |
+
Fixed Wrong number of reindex options is displayed
|
1116 |
+
Fixed Wrong phpDocs for Varien_Db_Select
|
1117 |
+
Fixed JavaScript calendar date range
|
1118 |
+
- fixed JS calendar behavior to use 4-digits year format
|
1119 |
+
Fixed Performance issue connected with sales rules on adding product to cart
|
1120 |
+
Fixed DHL same error message appears several times
|
1121 |
+
Fixed Item Status says "Mixed" when an order has been completed, should say "Shipped"
|
1122 |
+
Fixed Product option title is absent in backend order page
|
1123 |
+
Fixed Incorrect items number during multi shipping checkout
|
1124 |
+
Fixed User name displays differently in the unsuccessful message and in the text field label (log in form)
|
1125 |
+
Fixed If one or more indexers have Update Required = Yes and all Status = READY for all indexers than there is no notification for user to do reindex action
|
1126 |
+
Fixed No space between Address line 1 and line 2 in Shipping Label (in case with FedEx)
|
1127 |
+
Fixed JS works depends on the position attributes of the product
|
1128 |
+
Fixed Char set encoding is out-of-date in Settlement reports
|
1129 |
+
Fixed Settlement reports can't be downloaded if in merchant's account 'Settlement file' is set to 6.0 version
|
1130 |
+
Fixed Unable to login when secure and unsecure URLs are different
|
1131 |
+
Fixed Customer session lost when using different domain/subdomain names for secure and unsecure URLs
|
1132 |
+
Fixed "Most Viewed" reports ignore Store View switcher
|
1133 |
+
Fixed Long FPT name (and product name) doesn't fit into "My cart" block
|
1134 |
+
Fixed Paypal IPN post back failure
|
1135 |
+
Fixed Customer was unable to receive newsletters when it was created via backend
|
1136 |
+
Fixed Wrong Comments History in notification of order creation/cancellation
|
1137 |
+
Fixed Non escaped string causes javascript error
|
1138 |
+
Fixed Unable to view pictures during product editing
|
1139 |
+
Fixed Ampersand is saved incorrect in attribute label
|
1140 |
+
Fixed IE8: JS error appears after pressing 'Add new rule' in catalog price rules menu
|
1141 |
+
Fixed Exception after sorting newsletter queue
|
1142 |
+
Fixed Customer is not able to log in from URL without "www" in some cases
|
1143 |
+
Fixed SQL error on category view with enabled and configured FPT
|
1144 |
+
Fixed Automatic reindexing based on matched events doesn't change "Status" and "Last Run" columns at process list grid
|
1145 |
+
Fixed Performance issue with Magento Compiler + APC results in too many I/O calls
|
1146 |
+
Fixed Website Administrator is able to change default values
|
1147 |
+
Fixed Some of wishlist blocks and templates still treat the collection of wishlist items as collection of products
|
1148 |
+
Fixed Unnecessary comments in "Share Wishlist" email
|
1149 |
+
|
1150 |
+
|
1151 |
+
|
1152 |
+
==== 1.7.0.0-beta1 ====
|
1153 |
+
|
1154 |
+
=== Improvements ===
|
1155 |
+
Added ability to translate action array parameter nodes via layout.xml
|
1156 |
+
Added support for using custom currency symbols
|
1157 |
+
Added functionality to cleaning old cache files by cron task
|
1158 |
+
Refactored rules-based modules
|
1159 |
+
Improved customer address handling using PayPal Express checkout
|
1160 |
+
Refactored escaping functionality used with translations
|
1161 |
+
Added ability to customize logo in emails from the admin
|
1162 |
+
Implemented front-end cookies restriction functionality
|
1163 |
+
Added ability to turn off/on IP Tracking (e.g. 'Placed from IP') on the Sales pages in back-end (Order, Invoice, Shipment, Credit memo)
|
1164 |
+
Provided logic to disable ACL resources through configuration files
|
1165 |
+
|
1166 |
+
|
1167 |
+
=== Changes ===
|
1168 |
+
Support for "memcached" PHP extension was added
|
1169 |
+
Library js/scriptaculous/dragdrop.js is upgraded to version 1.9.0
|
1170 |
+
Image file of "jpg" type are allowed for favicon
|
1171 |
+
Added ability to extend list of attributes to select for categories loaded via Mage_Catalog_Model_Resource_Category_Flat::_loadNodes()
|
1172 |
+
Added changes to lib/Varien/Http/Adapter/Curl.php to provide interface for setting different cURL options
|
1173 |
+
Displaying State or Province can be optional for any country
|
1174 |
+
Added ability to get Magento type from Mage.php
|
1175 |
+
|
1176 |
+
|
1177 |
+
=== Fixes ===
|
1178 |
+
Fixed Impossibility of changing the Rating Value title for store view in existing Rating Value with filled the Rating Value title for store view
|
1179 |
+
Fixed Trademark symbol not showing up
|
1180 |
+
Fixed Add "Delivery Option" for FedEx Configurations
|
1181 |
+
Fixed Saving product takes long time
|
1182 |
+
Fixed Notice message disappear after clearing cache
|
1183 |
+
Fixed Products qty displays incorrect in price ranges after import (rounding problem)
|
1184 |
+
Fixed User role with partial access can't edit attributes of configurable products
|
1185 |
+
Fixed Images in CSS fail when merging CSS files
|
1186 |
+
Fixed Mass action update of any attributes resets multiselect attributes to NULL
|
1187 |
+
Fixed Move CSS from Prototype Windows plugin to the backend skin
|
1188 |
+
Fixed DB adapter should check transaction level in case of DDL query
|
1189 |
+
Fixed When Payment method additional info contains double quote it is displayed as '"' in invoice PDF
|
1190 |
+
Fixed Incorrect Unit Price(Excl. Tax) in the Shopping Cart Grid after changing currency
|
1191 |
+
Fixed Incorrect total quantity of records and pagination doesn't work on Reports->Reviews->Products Reviews page
|
1192 |
+
Fixed Incorrect title of All Reviews for product page
|
1193 |
+
Fixed Invalid message in shopping cart when trying to add products amount more than allowed
|
1194 |
+
Fixed Layered Navigation: Icon "Previous" should be appear only on sub-intervals level
|
1195 |
+
Fixed Group Price attribute position on the Prices tab is incorrect
|
1196 |
+
Fixed Processing error occurred when big numeric value is entered to an browser URL
|
1197 |
+
Fixed Issue with credit memo for multiple bundled products (order status is Processing)
|
1198 |
+
Fixed Customer group has to be emulated even if customer is sticky assigned to the group
|
1199 |
+
Fixed "Customs Value" isn't represented in store base currency
|
1200 |
+
Fixed Layered Navigation: After clicking on interval $0.00, should be filtered and displayed products with price 0.00
|
1201 |
+
Fixed Absence of redirecting to the grid page after saving Role/User
|
1202 |
+
Fixed Incorrect logic of assignment of unique ID in Varien_Data_Collection
|
1203 |
+
Fixed Problems with sorting actions
|
1204 |
+
Fixed When product is unsaleable checkout is still possible depending on its position in cart
|
1205 |
+
Fixed Impossibility of creating new order with "Reorder" button when Out of stock or disabled products had been ordered
|
1206 |
+
Fixed "Online Minute Interval" customer configuration option should have global scope
|
1207 |
+
Fixed Unable to translate Active/Inactive in promotions grid
|
1208 |
+
Fixed Session is lost while redirecting from secure to unsecure URL
|
1209 |
+
Fixed Response headers contains 500 error during front-end pages browsing
|
1210 |
+
Fixed Add additional button to PayPal Redirect Page
|
1211 |
+
Fixed Category Permissions: if "Display Product Price" is set to "No" the page toolbar is absent
|
1212 |
+
Fixed Layered navigation options have wrong order in back-end
|
1213 |
+
Fixed The "Remember Me" check box with the "What's this?" link should be located below the "Forgot Your Password?" link
|
1214 |
+
Fixed Warning message is absent, when "Recovery Link Expiration Period" is specified within the correct range
|
1215 |
+
Fixed After changing Price Navigation Step calculation from Automatic in Continuos the category is loaded very slowly
|
1216 |
+
Fixed PayPal HSS (Website Payment Pro Hosted Solutions) France doesn't work
|
1217 |
+
Fixed Remove email from Billing address section of the PayPal Express Order Review page
|
1218 |
+
Fixed It is available enter negative digits in the "Layered Navigation Price Step" (on Category page)
|
1219 |
+
Fixed First/Last Name algorithm for PayPal Express checkout
|
1220 |
+
Fixed Asterisk isn't imported in Zip/Post Code field
|
1221 |
+
Fixed Some strings are not translated in widgets
|
1222 |
+
Fixed Session isn't stored between secure and usecure URLs when they are located in different paths of the same domain (no SID in request)
|
1223 |
+
Fixed "USPS First Class International Parcel" will not show up as an option for customers during checkout
|
1224 |
+
Fixed UPS, FedEx and DHL methods should work if zip code from / to isn't required
|
1225 |
+
Fixed Issue when trying to create an order from the back-end without selecting the state/province
|
1226 |
+
Fixed HTTP error when uploading images from a MacOS with shockwave flash 11.1.102.55
|
1227 |
+
Fixed UPS Configuration "All Methods" should be selected by default
|
1228 |
+
Fixed Cannot create a product review through back-end
|
1229 |
+
Fixed Typos in Role Permission tree
|
1230 |
+
Fixed WYSIWYG button layout issue on product page
|
1231 |
+
Fixed Require Customer's Billing Address is missing option "For Virtual Quotes Only"
|
1232 |
+
Fixed Errors appears on Design Configuration page if transactional email's logo image and/or favicon files were deleted
|
1233 |
+
Fixed State/Province value is reset after page reload on some forms
|
1234 |
+
Fixed Cannot access back-end after switching on and switching off "Use Custom Admin URL"
|
1235 |
+
Fixed "Unsubscribe Selected" and "Delete Selected Problems" buttons don't work
|
1236 |
+
Fixed After selecting shipping from dropdown system doesn't update order data automatically on PayPal Express Order Review page
|
1237 |
+
Fixed Buttons on the back-end order page don't have titles
|
1238 |
+
Fixed ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION error in Chrome browser
|
1239 |
+
Fixed Changes related with Apply and Discount Amount options for sub item, applied after clicking "Save Rule" button
|
1240 |
+
Fixed Invalid Timezone error for Asia/Calcutta when changing default country to India
|
1241 |
+
Fixed Sorting by position doesn't work for up-sells and related products
|
1242 |
+
Fixed Absent validation for "Only X left Threshold" field
|
1243 |
+
Fixed Shipping method calculation based on default shipping address instead of 'Same as billing' setting in back-end
|
1244 |
+
Fixed There is no validation of the field "Handling Fee" that allows number less than zero in UPS shipping method
|
1245 |
+
Fixed Product name with "<>" processed incorrect during creation order in back-end
|
1246 |
+
Fixed Billing Address Line is always blank if "REQUIREBILLING = 1" for PayPal Express
|
1247 |
+
Fixed SQL query for getting record count of archived orders takes too long time
|
1248 |
+
Fixed Configuration->Inventory->Qty Increment isn't validated properly
|
1249 |
+
Fixed Absent message about not enough quantity for bundle and configurable products
|
1250 |
+
Fixed Wrong behaviour of split buttons in IE8
|
1251 |
+
Fixed Warning message appears after unselecting user in the Role Users grid
|
1252 |
+
Fixed Incorrect total weight calculation in external shipping methods for products with decimal Qty Increments
|
1253 |
+
Fixed Tax calculation is incorrect if configurable product mixed up with other composite products in the shopping cart for Store Tax != Customer Tax
|
1254 |
+
Fixed No validation for "Default Price Navigation Step"
|
1255 |
+
Fixed Products qty displays wrong in layered navigation after changing currency
|
1256 |
+
Fixed Billing address fields are editable if "Same as shipping" selected on the PayPal Express order review page
|
1257 |
+
Fixed Incorrect location of "Clear All" link
|
1258 |
+
Fixed Incorrect price for bundle fixed product with custom option % and catalog price rule applied
|
1259 |
+
Fixed Import/Export: Append Complex Data works incorrect for customer's address and product's customs data
|
1260 |
+
Fixed Discount changes subtotal when FPT is active
|
1261 |
+
Fixed There is no ability to specify backup's name
|
1262 |
+
Fixed Multi selections fields for website scope settings are greyed out
|
1263 |
+
Fixed "Credit Memos" is written incorrectly in Role Permission tree and on the Sales -> Archive -> Credit Memos page
|
1264 |
+
Fixed Persistent Shopping Cart: After deleting customers via Back-end, on front-end customer should be logout completely
|
1265 |
+
Fixed Incorrect logic during dividing products into multiple boxes for shipping
|
1266 |
+
Fixed Polls are not working properly in case with different domains for http and https
|
1267 |
+
Fixed "Block Reference" drop-down contains wrong list of options for front-end Apps types with Products
|
1268 |
+
Fixed "Wrong store specified" appears on order creation page
|
1269 |
+
Fixed Customer can't continue Checkout process after selecting Billing Address
|
1270 |
+
Fixed Refresh Statistics gone from Reports Role
|
1271 |
+
Fixed USPS shipping label is printed with "SAMPLE - DO NOT MAIL" sign
|
1272 |
+
Fixed Shipping methods are not refreshed after Update Order Data is pressed on PayPal Express Order Review page
|
1273 |
+
Fixed Product still invisible in front-end after required reindex
|
1274 |
+
Fixed JS error on configurable products
|
1275 |
+
Fixed Configurable product missing name in error message when exceeding quantity during order
|
1276 |
+
Fixed Added Display Product Count on the Layout Navigation
|
1277 |
+
Fixed "FedEx Priority Overnight" shipping method isn't calculated correctly
|
1278 |
+
Fixed Incorrect product price for Bundle products with fixed prices in the shopping cart
|
1279 |
+
Fixed "Ship Bundle Items" for bundle product works incorrect
|
1280 |
+
Fixed Impossible to expand settings accordions on the "Design Settings Editor" tab of Theme Customization page under IE7
|
1281 |
+
Fixed Impossibility to configure Bundle product with Disabled status and create new order with it in the back-end
|
1282 |
+
Fixed Customer email isn't saved in Account Information field
|
1283 |
+
Fixed Unable to sort products by price
|
1284 |
+
Fixed Errors during creating/extracting "tar" archive with symbolic links
|
1285 |
+
Fixed Wrong message text in "Manage Coupon" tab on Shopping Cart Price Rule page
|
1286 |
+
Fixed 404 page not found error occurs when "Default Store" value is changed for Main Website
|
1287 |
+
Fixed Unable to import products if Catalog price rule enabled
|
1288 |
+
Fixed Partial Reindex isn't done for product saved in back-end
|
1289 |
+
Fixed Catalog Price Rule: "Save and Apply" action leads to apply ALL rules, but it have to apply only specified rule
|
1290 |
+
Fixed Tax isn't recalculated on PayPal Express
|
1291 |
+
Fixed CMS Pages: Error in IE7 when select CMS page
|
1292 |
+
Fixed Backup Name field should allow to enter only a limited number of characters
|
1293 |
+
Fixed In the "Subtotal" row of "Coupons Usage Report" displayed amounts for all Shopping Cart Price Rule in the system
|
1294 |
+
Fixed Shipping address isn't passed to Magento from PayPal
|
1295 |
+
Fixed Store view isn't changed when customer subscribes for newsletters
|
1296 |
+
Fixed Shopping Cart Price Rules are not marked after creating Coupons Usage Report
|
1297 |
+
Fixed Change buttons structure in prototype/windows.js to match general adminhtml buttons structure
|
1298 |
+
Fixed Wrong error message on Create New Order page in back-end
|
1299 |
+
Fixed Impossible to configure order of displaying rating values in the front-end
|
1300 |
+
Fixed Incoming Message in Admin Part has the superfluous symbol '\'
|
1301 |
+
Fixed Numerous issues with promotions on complex products
|
1302 |
+
Fixed Recipient Postal-State Mismatch error seen on Shipping Label with FedEx
|
1303 |
+
Fixed Text messages "This is a required fields." are displayed in the hidden FTP section
|
1304 |
+
Fixed Incorrect popup on Manage Coupon Codes tab in Shopping Cart Price Rule
|
1305 |
+
Fixed Layered navigation work incorrect if attribute values defined on Store View level
|
1306 |
+
Fixed Checking import file returns blank page
|
1307 |
+
Fixed Change the VAT Number format before sending to VAT ID Validation service
|
1308 |
+
Fixed Simple products with configured customs options displayed in wishlist incorrectly
|
1309 |
+
Fixed Incorrect text message for product for which there is no enough quantity in stock
|
1310 |
+
Fixed Setting float Qty Increments is possible, but doesn't work
|
1311 |
+
Fixed SQL error during checkout when customers register at checkout and orders a nominal item
|
1312 |
+
Fixed Iframe for gateway isn't reloaded on the Payment information tab
|
1313 |
+
Fixed Incorrect behavior after placing order from back-end in FF9
|
1314 |
+
Fixed Catalog price rule skips conditions specified and applies to all products in the catalog
|
1315 |
+
Fixed Price rule is applying to individual items in bundle when price is set to Dynamic
|
1316 |
+
Fixed Impossible to save payment method configurations on the Default Config scope
|
1317 |
+
Fixed "There has been an error processing your request" message is display if not CSV file was selected to import
|
1318 |
+
Fixed "Maximum Package Weight" option works incorrect in case with decimal Qty in shopping Cart
|
1319 |
+
Fixed Wrong reindex product attributes after bundle product save
|
1320 |
+
Fixed Add Products button absent during creating order from back-end
|
1321 |
+
Fixed "All methods" should be selected by default in configuration section "Allowed Methods" for UPS
|
1322 |
+
Fixed Redirect to base URL issue
|
1323 |
+
Fixed Added Backup sorting by name possibility
|
1324 |
+
Fixed Entered from admin customer date 1970 (or less) is saved as 2070 (or less)
|
1325 |
+
Fixed Fix grammar mistakes
|
1326 |
+
Fixed Notifications are not shown if URL Rewrite used
|
1327 |
+
Fixed "Stop Further Rules Processing" option doesn't work
|
1328 |
+
Fixed Admin can not unassign product from the tag if already approved tag was added to the product by customer
|
1329 |
+
Fixed Inaccuracy calculation could be 10% for FedEx International Ground shipping
|
1330 |
+
Fixed Incorrect price calculation of configurable product with custom options (resolved conflicts)
|
1331 |
+
Fixed Wrong currency displayed in Recently Viewed Product App
|
1332 |
+
Fixed Tabs are grayed on admin dashboard
|
1333 |
+
Fixed JS validation for product weight attribute doesn't work
|
1334 |
+
Fixed Group Price attribute is present as text field using the mass update action
|
1335 |
+
Fixed Shopping Cart Price Rule isn't applied to Not Logged In Customers
|
1336 |
+
Fixed "Sign up for our newsletter" text appearing twice
|
1337 |
+
Fixed Newsletter problem report grid on back-end throws Exception
|
1338 |
+
Fixed Special price doesn't work for Bundles with Dynamic price
|
1339 |
+
Fixed My Orders block disappears in My Account pages when Reorder functionality is disabled
|
1340 |
+
Fixed Search doesn't work in Backups grid
|
1341 |
+
Fixed Reindex "Catalog URL Rewrites" works extremely slowly
|
1342 |
+
Fixed Checkbox state is preserved for "Put store on the maintenance mode while rollback processing"
|
1343 |
+
Fixed UPS Configuration All Methods Should Be Selected by Default
|
1344 |
+
Fixed Rollback fails if database backup was performed after product import
|
1345 |
+
Fixed Incorrect behavior with 10-digit Zip code, after creating new Tax Rate
|
1346 |
+
Fixed Configurable attributes that used for create configurable product should not be applied to that product
|
1347 |
+
Fixed Default group has to be used if customer selects address without VAT number
|
1348 |
+
Fixed No ability to create Shopping Cart Price Rule
|
1349 |
+
Fixed Layout issue appears in IE9 on the export grids
|
1350 |
+
Fixed Issue when trying to view the order using a specific admin user
|
1351 |
+
Fixed System messages are not displayed at CMS pages and appears only when another message will be invoked
|
1352 |
+
Fixed On the front-end Search doesn't work properly if search value is 0 (null)
|
1353 |
+
Fixed The size of the columns in Backup grid is changed if no records were found
|
1354 |
+
Fixed Maintenance flag isn't deleted if rollback fails with not enough permissions error
|
1355 |
+
Fixed Customer's group isn't changed if his billing address modified within back-end
|
1356 |
+
Added Add a message and the link in the mini shopping cart, when the cart is empty
|
1357 |
+
Fixed On Edit Shipping Address page button "Validate VAT Number" should be hidden
|
1358 |
+
Fixed Fatal error when try to ship order with Flat Rate shipping method
|
1359 |
+
- fixed potentially problematic chaining involved getShippingCarrier method
|
1360 |
+
Fixed No ability to open PDF file with Label
|
1361 |
+
Fixed Incorrect final price for configurable products if several custom options used
|
1362 |
+
Fixed "Length", "Width" and "Height" fields on "Create Packages" pop up are active, when "Documents" type is selected in IE7 and IE9
|
1363 |
+
Fixed HTTP 500 error on front-end for bundle fixed with percent options enabled for sub-products
|
1364 |
+
Fixed Shipment created on Magento side doesn't send to Google side for Merchant Calculated shipping
|
1365 |
+
- added check for process only Google Checkout internal methods
|
1366 |
+
Fixed PDF files for invoices and credit memos are not displaying Including Tax Price
|
1367 |
+
Fixed Default value that was specified in system settings doesn't presented in Code Format drop-down on Manage Coupon Codes tab
|
1368 |
+
Fixed Unable to place order if customer selects Register on checkout
|
1369 |
+
Fixed Qty wipes out to 0 when no qty column is included on import
|
1370 |
+
Fixed Broken controls makeup is observed after resizing window when customer's page is opened on the back-end
|
1371 |
+
Fixed Values don't fit to "Date Fields Order" drop-downs in "Date & Time Custom Options" on the Catalog page
|
1372 |
+
Fixed Processing error appears for products with "Qty Uses Decimals" = No and enabled DHL International
|
1373 |
+
Fixed Apply Tax to FPT setting doesn't seem to work for products with Fixed Product Taxes
|
1374 |
+
Fixed Apply Coupon Code textbox doesn't fit in the Apply Coupon Code channel on the back-end after reducing the browser window
|
1375 |
+
Fixed Tax and Shipping amounts aren't showing on the merchant reports for Websites Payments Pro PayFlow Edition
|
1376 |
+
Fixed Incorrect error popup on Manage Coupon Codes tab in Shopping Cart Price Rule
|
1377 |
+
Fixed No ability to create Shipping Label with New DHL shipping methods
|
1378 |
+
Fixed Indexing update on save takes too long for large catalog_product_entity_int tables
|
1379 |
+
Fixed VAT ID group validation takes Default configuration on order creation from back-end
|
1380 |
+
Fixed Pagination isn't shown on My Product Reviews page when items count exceeds the "Show per page" setting
|
1381 |
+
Fixed Inline translation missing for customer account information labels
|
1382 |
+
Fixed Corrupted text if drag attribute on Manage Attribute Sets page (IE8)
|
1383 |
+
Fixed Wrong calculation price of Bundle product with Fixed price, when special price is configured
|
1384 |
+
Fixed Error Message isn't displayed during unsuccessful Shipping Label creation
|
1385 |
+
Fixed Unverified redirect is possible in Checkout controller
|
1386 |
+
Fixed Customer group in not validated again on checkout if Tax Calculation Based on = Shipping Address
|
1387 |
+
Fixed "Clear All" link doesn't work
|
1388 |
+
Fixed Wrong message appears when products quantity is updated in the Shopping Cart with enabled Qty Increments setting
|
1389 |
+
Fixed Created On field on Manage Coupon Codes grid shows incorrect date/time
|
1390 |
+
Fixed Incorrect price calculation of configurable product with custom options
|
1391 |
+
Fixed Manage Products > Custom options: Should be possible to enter negative price for custom option of 'Date' type
|
1392 |
+
Fixed HTTP 500 Internal Server Error on Admin Forgot Password page
|
1393 |
+
Fixed CSV/Excel XML export doesn't work on Sales->Invoices if filter by Selected=Yes is used
|
1394 |
+
Fixed "Same As Billing Address" check-box doesn't work
|
1395 |
+
Fixed Impossible to enter zero in the base price field for customer groups
|
1396 |
+
Fixed Group Price attribute position on the Prices tab is incorrect
|
1397 |
+
Fixed Add new column to the grid with number of used coupons
|
1398 |
+
Fixed Custom options are not stored when downloadable product is duplicated
|
1399 |
+
Fixed Broken logic for "Zero Subtotal Checkout" order statuses
|
1400 |
+
Fixed Coupon codes generation fails when trying to generate large amount of codes
|
1401 |
+
Fixed PayFlow Link: Using "Pay with PayPal" and selected shipping method that is greater than 0 doesn't process order
|
1402 |
+
Fixed "Clear Shopping Cart" button add selected item to Items Ordered if check box "Add to Order" is selected
|
1403 |
+
Fixed User have to stay on Add New Rule page if error appears on save shopping cart price rule
|
1404 |
+
Fixed "Automatically Invoice All Items" should be inactive, when were selected "New Order Status: Pending" in "Zero Subtotal Checkout" settings
|
1405 |
+
Fixed When enormous request in search fields on the front end 414 error appears
|
1406 |
+
Fixed JS error on edit Shopping Cart Price Rule Page
|
1407 |
+
Fixed "Clear Shopping Cart" button must be located to the left to "Update Shopping Cart" button
|
1408 |
+
Fixed Export of Group Price data doesn't work
|
1409 |
+
|
1410 |
+
|
1411 |
+
|
1412 |
==== 1.6.2.0 ====
|
1413 |
|
1414 |
=== Improvements ===
|
1441 |
|
1442 |
|
1443 |
|
1444 |
+
==== 1.7.0.0-alpha1 ====
|
1445 |
+
|
1446 |
+
=== Major Highlights ===
|
1447 |
+
New Layered Navigation price bucket algorithm
|
1448 |
+
Added captcha functionality
|
1449 |
+
Implemented different base prices for customer groups
|
1450 |
+
Added auto generation of coupon codes
|
1451 |
+
Backup and Rollback functionality
|
1452 |
+
VAT ID Validation added
|
1453 |
+
Implemented DHL for Europe
|
1454 |
+
|
1455 |
+
=== Improvements ===
|
1456 |
+
XmlConnect package release v22.1
|
1457 |
+
Upgraded TinyMCE to v3.4.7
|
1458 |
+
Indexers refactoring
|
1459 |
+
Theme for iPhone was redesigned
|
1460 |
+
|
1461 |
+
=== Changes ===
|
1462 |
+
Implemented localized PayPal settings for Japan
|
1463 |
+
Added PayPal Advanced payment method
|
1464 |
+
|
1465 |
+
=== Fixes ===
|
1466 |
+
Fixed Incorrect translation messages definitions
|
1467 |
+
Fixed Error message isn't displayed if currency exchange rate not found (in case with DHL Int)
|
1468 |
+
Fixed Handling Fee doesn't applied Per Package
|
1469 |
+
Fixed User role with partial access can't edit attributes of configurable products
|
1470 |
+
Fixed Letter "n" missed in the word "handling"
|
1471 |
+
Fixed Buttons don't react for pressing on the "Widget Options" section in Insert Widget window
|
1472 |
+
Fixed Regular price displays incorrect
|
1473 |
+
Fixed {{base_url}} in (un)secure_url doesn't work since 1.6.1
|
1474 |
+
Fixed Product selection field gets cleared out with recently added products from latest page
|
1475 |
+
Fixed "Change" button while checkout doesn't work
|
1476 |
+
Fixed MySQL BIGINT field type is wrongly casted to integer
|
1477 |
+
Fixed Magento Connect Manager proceed with installation of extension if error appears on database backup
|
1478 |
+
Fixed "Set product as New from/to Date" works excluding selected dates
|
1479 |
+
Fixed Function fireEvent from lib/varien/js.js does not work in IE9
|
1480 |
+
Fixed Searching with first and last name has no results
|
1481 |
+
Fixed CMS Pages: Error in IE7 when select CMS page
|
1482 |
+
Fixed White screen appears instead of 404 Error Page when going to review a product which doesn't exist
|
1483 |
+
Fixed "Maximum Package Weight" option works incorrect in case with decimal Qty in shopping Cart
|
1484 |
+
Fixed Unable to create tables for new EAV entity via SQL upgrade script
|
1485 |
+
Fixed Customer group isn't revalidated on checkout if Enable Automatic Assignment to Customer Group = Yes
|
1486 |
+
Fixed Mistake in PayPal Payments Advanced fieldset title
|
1487 |
+
Fixed Zero Subtotal Checkout payment method is used, when it is disabled in settings
|
1488 |
+
Fixed Some info lost from address when customer sets this address as default for shipping
|
1489 |
+
Fixed Incorrect calculation logic during distribution products between several pieces (in case with DHL)
|
1490 |
+
Fixed No ability to get shipping rates from US to another country (in case with DHL)
|
1491 |
+
Fixed Incorrect calculation of pieces weight (in case with Bundle Product)
|
1492 |
+
Fixed Product Flat Data index causes replication lag on MySQL master/slave model
|
1493 |
+
Fixed Exception is shown, when admin user provides filtration of Newsletter problem reports by Subscriber
|
1494 |
+
Fixed Typo in JavaScript error message
|
1495 |
+
Fixed Unable to do mass action update for products
|
1496 |
+
Fixed Error Message isn't displayed if currency exchange rate not found (in case with DHL)
|
1497 |
+
Fixed Weight field is absent during Quick simple product creation
|
1498 |
+
Fixed Fixed correct helper resolving
|
1499 |
+
Fixed Shipping methods are shown twice in DHLs shipping quote
|
1500 |
+
Fixed Unable to translate shipping and billing forms on the order creation page
|
1501 |
+
Fixed Drop-down attribute with layered navigation filter doesn't work with value is set to 0
|
1502 |
+
Fixed Free Shipping options doesn't work (in case with DHL)
|
1503 |
+
Fixed Handling Fee doesn't applied Per Package
|
1504 |
+
Fixed Free Shipping options works incorrect
|
1505 |
+
Fixed WYSIWYG Editor: It's impossible insert Widget to CMS page content
|
1506 |
+
Fixed Customer's group is not changed if his billing address modified within backend
|
1507 |
+
Fixed Wrong behaviour and exception while using invalid image
|
1508 |
+
Fixed Layered navigation for prices displays incorrect price ranges in manual mode
|
1509 |
+
Fixed Uninformative error message during saving two nodes with the same parameter URL Key
|
1510 |
+
Fixed Unable to change order addresses in the admin panel
|
1511 |
+
Fixed PayPal Express always uses default billing address from customer account
|
1512 |
+
Fixed Unable to place order if customer selects Register on checkout
|
1513 |
+
Fixed Performance Issue: Most Viewed product reports on large amount of items
|
1514 |
+
Fixed In "Customer Addresses" block before and after of State name is located symbols ","
|
1515 |
+
Fixed Lightbox 2.5 with IE7 returns JS error on the page
|
1516 |
+
Fixed Unable to change customer status (confirmed/not confirmed) when customer logged in
|
1517 |
+
Fixed Incorrect notification for empty field during creation catalog price rules
|
1518 |
+
Fixed Unable to save product with non-checked multiple select attribute
|
1519 |
+
Fixed "Ship Bundle Items" for bundle product works incorrect
|
1520 |
+
Fixed Package Size setting for DHL
|
1521 |
+
Fixed No Input Validation for Catalog Fields
|
1522 |
+
Fixed Row Total Calculation in Refund
|
1523 |
+
Fixed "Maximum number of price intervals" should be written with capital letters
|
1524 |
+
Fixed Divide Order Weight options for DHL
|
1525 |
+
Fixed Incorrect Row Total Calculation in Refund
|
1526 |
+
Fixed Impossible to create new customer in the backend
|
1527 |
+
Fixed Catalog data-upgrade-1.6.0.0.4-1.6.0.0.5.php is exteremly slow
|
1528 |
+
Fixed Free Shipping options doesn't work (in case with DHL International)
|
1529 |
+
Fixed Mage_Catalog_Helper_Product::getProduct() doesn't load product by its SKU
|
1530 |
+
Fixed Preview Template doesn't work correctly
|
1531 |
+
Fixed Some options of Bundle Product disappeared from the Invoice PDF
|
1532 |
+
Fixed "Allow Countries" affects on "Country of Manufacture" attribute
|
1533 |
+
Fixed Some phrases are not translated
|
1534 |
+
Fixed Incorrect Ordered Qty in Order (in case with decimal qty)
|
1535 |
+
Fixed Trademark character isn't being displayed properly in the PDF invoice
|
1536 |
+
Fixed Can't search transactions by order_id in manager.paypal.com
|
1537 |
+
Fixed Inline Translation: Grid headers are displayed incorrect on the Tag Edit page
|
1538 |
+
Fixed "Create Extension Package" page becomes broken after compilation
|
1539 |
+
Fixed Price including tax isn't displayed for some kinds of bundle products
|
1540 |
+
Fixed Layered navigation for prices displays incorrect price ranges in manual mode
|
1541 |
+
Fixed Pager works wrong with float page number
|
1542 |
+
Fixed Incorrect foreign key for EAV entity tables
|
1543 |
+
Fixed Misprint in downloader/lib/Mage/Connect/Command/Install.php
|
1544 |
+
Fixed URL Rewrites must be case-sensitive
|
1545 |
+
Fixed Unable to install package via uploader if author name contains dash
|
1546 |
+
Fixed Fixed invoice subtotals for cases with partial invoice and discount
|
1547 |
+
Fixed Catalog URL Rewrites works incorrectly on creating categories
|
1548 |
+
Fixed New Oder Status setting, specified for payment method works incorrectly when only virtual products are present in Order
|
1549 |
+
Fixed Rounding issue in catalog and product view if price includes tax
|
1550 |
+
Fixed Wrong status of catalog event is displayed by editing catalog event
|
1551 |
+
Fixed Role Resources are not saved
|
1552 |
+
Fixed "Qty for Item's Status to Become Out of Stock" option works incorrect
|
1553 |
+
Fixed XML parser works incorrect
|
1554 |
+
Fixed Mage_Reports_Model_Mysql4_Product_Index_Abstract must be declared abstract
|
1555 |
+
Fixed "Date & Time" and "Time" custom options becomes required when editing product
|
1556 |
+
Fixed Unable to cancel an order for an expired Authorize.net auth
|
1557 |
+
Fixed Custom options are not stored when downloadable product is duplicated
|
1558 |
+
Fixed "Cannot initialize the indexer process" error during Mass "Reindex Data" Action
|
1559 |
+
Fixed Search by new attribute fails, attribute is not shown in layered navigation
|
1560 |
+
Fixed Exception when "Price Navigation Step Calculation" set to "Manual" mode and FPT enabled
|
1561 |
+
Fixed WPPHS: Cancel URL doesn't work as should be
|
1562 |
+
Fixed Error about insufficient permissions is not appears on database backup creation
|
1563 |
+
Fixed After rollback admin doesn't redirected to the Log in to Admin Panel page
|
1564 |
+
Fixed Database Backup must not include indexer table data
|
1565 |
+
Fixed Scheduled Backup creation/failure isn't logged
|
1566 |
+
Fixed Deleting backup while it is used by another process
|
1567 |
+
Fixed Opening *.tar files causes an error "There are no trailing zero-filled records"
|
1568 |
+
Fixed Unable to search by "Time" and "No" in Backups table
|
1569 |
+
Fixed Backups are deleted without confirmation
|
1570 |
+
Fixed Reports must be excluded from database snapshot backup
|
1571 |
+
Fixed There are no products in filtering results, if step calculation in automatic mode
|
1572 |
+
Fixed No validation for "Default Price Navigation Step"
|
1573 |
+
Fixed "Back" button doesn't work on the Create New Order page
|
1574 |
+
Fixed Incorrect logic of Token expiration in Two Step Password Reset flow
|
1575 |
+
Fixed Tag <br/> is present in tool-tip for field "Number of results (For the last time placed)" on the Edit Search page
|
1576 |
+
Fixed Unnecessary hard code in Magento Extension
|
1577 |
+
Fixed Wrong logic in Mage_Core_Model_Resource_Db_Collection_Abstract::join()
|
1578 |
+
Fixed Description and Short Description are displayed incorrectly for products added with WYSIWYG
|
1579 |
+
Fixed Adding product to the cart from the product review page leads to 404 page
|
1580 |
+
Fixed Special symbols in Sort Order field
|
1581 |
+
Fixed Text is wrong displayed with enabled Inline translation for Admin on back-end
|
1582 |
+
Fixed Inline Translation: Unable to translate some customer information
|
1583 |
+
Fixed Useless colon on front-end login page
|
1584 |
+
Fixed Unable to continue checkout for product with zero price and non-zero shipping price
|
1585 |
+
Fixed Import news_from_date field is configured poorly. It is not accepting the data from file
|
1586 |
+
Fixed When updating product data through import, attributes that have a value cannot be assigned a new value that is empty
|
1587 |
+
Fixed Unable to replace non-complex data for products with empty values during import
|
1588 |
+
Fixed "Wrong order ID" exception in PayPal Express module under heavy load
|
1589 |
+
Fixed Tax is applying on the order when creating it in the admin panel for a Customer Group with no taxes
|
1590 |
+
Fixed Issue with retrieving order statuses for array of states
|
1591 |
+
Fixed Wrong calculation product price with custom option type = Field and Fixed price
|
1592 |
+
Fixed Back ordered downloadable product is not available even when it is set to be be accessible when order status is Pending
|
1593 |
+
Fixed Missing column "position" at table catalog_category_anc_products_index_tmp
|
1594 |
+
Fixed Incorrect behavior of "Save in address book" option during admin Order creation for a new customer
|
1595 |
+
- refactored Mage_Adminhtml_Model_Sales_Order_Create::_prepareCustomer()
|
1596 |
+
Fixed Terms and Conditions is named differently on different pages
|
1597 |
+
Fixed "Apply" and "Discount Amount" fields appear twice in the Catalog Price Rule
|
1598 |
+
Fixed Poll shows incorrect percentage
|
1599 |
+
Fixed Added validation ability for admin configuration forms
|
1600 |
+
Fixed UPS XML misprint
|
1601 |
+
Fixed Misprint in uploading files form
|
1602 |
+
Fixed Unnecessary check boxes for gift options
|
1603 |
+
Fixed Wrong resource section declaration in Mage_Tag module
|
1604 |
+
Fixed "Customers Submitted this Tag" section doesn't update when customer has deleted tag from his account
|
1605 |
+
Fixed Correct product in category position
|
1606 |
+
Fixed Unable to create folder in Media Storage
|
1607 |
+
Fixed Translation with single quotes breaks JavaScript
|
1608 |
+
Fixed Out of memory error with hundreds of thousands of coupons attached to a single sales rule
|
1609 |
+
Fixed Unable to translate buttons and tabs on the "Manage Category" page
|
1610 |
+
Fixed Product Categories Tree doesn't expand in Manage Products page
|
1611 |
+
Fixed Incorrect products qty returns to stock after refund for configurable product
|
1612 |
+
Fixed Swf Uploader problems with cross domain Flash Player Policy
|
1613 |
+
Fixed Unable to translate "Layout Updates" block on create/edit widget page
|
1614 |
+
Fixed IE7: "Remember Me" checkbox visible on billing information step
|
1615 |
+
Fixed CMS WYSIWYG Editor - widget is inserted as new while editing in IE8
|
1616 |
+
Fixed Currency code doesn't correspond to the amount in reports
|
1617 |
+
Fixed Mage_Adminhtml_Block_Sales_Order_View_Tab_History::getFullHistory() doesn't use unique keys for each message
|
1618 |
+
Fixed Scope labels are shown without translate wrapper
|
1619 |
+
Fixed Wrong parameters handling in Core Helper formatDate()
|
1620 |
+
Fixed Apostrophe in store name breaks Google Analytics tracking
|
1621 |
+
Fixed Customer attribute prefix is not shown on frontend
|
1622 |
+
Fixed Incorrect rounding for product with custom options (percent price)
|
1623 |
+
Fixed Invoicing only part of products results in wrong totals calculation
|
1624 |
+
Fixed Incorrect Row Total Calculation in Refund
|
1625 |
+
- fixed rounding issues for partial Invoice and Refund
|
1626 |
+
- refactored delta rounding
|
1627 |
+
Fixed Filter by "Allow Countries" not working for Customer Address Form in the Backend
|
1628 |
+
- checking added for set country to be in available list
|
1629 |
+
Fixed There are sql-installs with empty string used as defaults for table columns, while column is not null able
|
1630 |
+
Fixed Unable to translate "Note" in "Product Stock Options"
|
1631 |
+
Fixed Various warning are displayed after creating shipment for 0 items
|
1632 |
+
Fixed Invalid content in Content-header in the top of page during scrolling during order creation
|
1633 |
+
Fixed "Online invoice" button present in backend when using Zero Subtotal Checkout
|
1634 |
+
Fixed String cast type in in_array function
|
1635 |
+
Fixed Newsletter template content should not disappear when "Show" / "Hide Editor" button was clicked
|
1636 |
+
Fixed Import feature doesn't validate whether super_products_sku is existing or not
|
1637 |
+
Fixed Cannot place order with downloadable product and discount code using Paypal Express payment method
|
1638 |
+
Fixed Product still out of stock after Stock Status reindex
|
1639 |
+
Fixed No ability to reindex Catalog URL Rewrites, error is shown
|
1640 |
+
Fixed Automatic reindexing based on matched events doesn't change "Status" and "Last Run" columns at process list grid
|
1641 |
+
Fixed Save catalog price rule gives trace if full reindex has already started
|
1642 |
+
Fixed Reindex requires notification is not shown for Stock Status when stock is updated for several products using Mass Action
|
1643 |
+
Fixed Incorrect FedEx's shipping rates (in case with non-US country origin)
|
1644 |
+
Fixed After partial reindex MSRP value is not applied (not viewed) in catalog during mass update action
|
1645 |
+
Fixed Wrong stock reindex on catalog if partial reindex done after full reindex started
|
1646 |
+
Fixed In error message string "already exists." written twice, when trying to save Product Tax Class with the same name
|
1647 |
+
Fixed Slow checkout with non-flushed cache
|
1648 |
+
Fixed Bundle product total is incorrect in Customization block
|
1649 |
+
Fixed Special price isn't considered for bundle dynamic products in "Your Customization" block
|
1650 |
+
Fixed Situation when any amount of duplicate reindex process can be running at one time
|
1651 |
+
Fixed Error with Advanced Search (in case with Date Attribute)
|
1652 |
+
Fixed Product Flat Data index isn't marked as "Reindex Required" after importing products when Flat Catalog is enabled
|
1653 |
+
Fixed User can't change root category for the store
|
1654 |
+
Fixed JS error causes the overwrite of Title field in PayPal Advanced configuration
|
1655 |
+
Fixed Mass action doesn't partially reindex catalog for product name/description
|
1656 |
+
Fixed Remove hint about $1 auth amount from informational message text (PayflowLink configuration)
|
1657 |
+
Fixed Mass action doesn't partially reindex catalog for product prices
|
1658 |
+
Fixed PayPal Payments Advanced works with $0 Auth instead of Full Auth
|
1659 |
+
Fixed Impossible to place Order using "Pay with PayPal" button from PayPal Payments Advanced iframe
|
1660 |
+
Fixed Mass action doesn't partially reindex catalog search for product if searchable attribute was updated
|
1661 |
+
Fixed "Please wait" AJAX screen doesn't appear in the middle of the page
|
1662 |
+
Fixed Checkout link on frontend is always referenced as http
|
1663 |
+
Fixed GET request is incorrectly formed during category creation
|
1664 |
+
- adjusted assertion to determine last viewed store
|
1665 |
+
Fixed Display of Tier Pricing with Configurable Products
|
1666 |
+
- added functionality to dynamically update tier prices accordingly to chosen product configuration
|
1667 |
+
Fixed Google Analytics e-commerce tracking not working
|
1668 |
+
Fixed URL key isn't used while product save
|
1669 |
+
Fixed Added validation class to 'Qty increments'
|
1670 |
+
Fixed Entered from admin customer date 1970 (or less) is saved as 2070 (or less)
|
1671 |
+
Fixed cUrl resource must be closed after checking it for errors, not before
|
1672 |
+
Fixed Exception while products mass update attributes in backend
|
1673 |
+
Fixed No ability to reindex Catalog URL Rewrites, error is shown
|
1674 |
+
Fixed Package with Core dependency
|
1675 |
+
Fixed Stock Availability isn't updated if 1: Run Price Reindex 2: Update Stock Availability on product with mass action/single product
|
1676 |
+
Fixed Blank page instead shopping cart page when compilation and PSC are enabled
|
1677 |
+
Fixed Unable to save redirect URL with special characters in search terms
|
1678 |
+
Fixed Attribute Set field should have client-side validation and appropriate information message
|
1679 |
+
Fixed "Localhost" isn't a valid domain name for installation
|
1680 |
+
Fixed Iframe for PayPal Payments Advanced is not loaded
|
1681 |
+
Fixed Retain the selected tab on editing CMS page
|
1682 |
+
Fixed Payflow Link Express Checkout (pay with PayPal button) payment
|
1683 |
+
Fixed Wrong number of reindex options is displayed
|
1684 |
+
Fixed Wrong phpDocs for Varien_Db_Select
|
1685 |
+
Fixed JavaScript calendar date range
|
1686 |
+
- fixed JS calendar behavior to use 4-digits year format
|
1687 |
+
Fixed Performance issue connected with sales rules on adding product to cart
|
1688 |
+
Fixed DHL same error message appears several times
|
1689 |
+
Fixed Item Status says "Mixed" when an order has been completed, should say "Shipped"
|
1690 |
+
Fixed Product option title is absent in backend order page
|
1691 |
+
Fixed Incorrect items number during multi shipping checkout
|
1692 |
+
Fixed User name displays differently in the unsuccessful message and in the text field label (log in form)
|
1693 |
+
Fixed If one or more indexers have Update Required = Yes and all Status = READY for all indexers than there is no notification for user to do reindex action
|
1694 |
+
Fixed No space between Address line 1 and line 2 in Shipping Label (in case with FedEx)
|
1695 |
+
Fixed JS works depends on the position attributes of the product
|
1696 |
+
Fixed Char set encoding is out-of-date in Settlement reports
|
1697 |
+
Fixed Settlement reports can't be downloaded if in merchant's account 'Settlement file' is set to 6.0 version
|
1698 |
+
Fixed Unable to login when secure and unsecure urls are different
|
1699 |
+
Fixed Customer session lost when using different domain/subdomain names for secure and unsecure urls
|
1700 |
+
Fixed "Most Viewed" reports ignore Store View switcher
|
1701 |
+
Fixed Long FPT name (and product name) doesn't fit into "My cart" block
|
1702 |
+
Fixed Paypal IPN post back failure
|
1703 |
+
Fixed Customer was unable to receive newsletters when it was created via backend
|
1704 |
+
Fixed Wrong Comments History in notification of order creation/cancellation
|
1705 |
+
Fixed Non escaped string causes javascript error
|
1706 |
+
Fixed Unable to view pictures during product editing
|
1707 |
+
Fixed Ampersand is saved incorrect in attribute label
|
1708 |
+
Fixed IE8: JS error appears after pressing 'Add new rule' in catalog price rules menu
|
1709 |
+
Fixed Exception after sorting newsletter queue
|
1710 |
+
Fixed Customer is not able to log in from URL without "www" in some cases
|
1711 |
+
Fixed SQL error on category view with enabled and configured FPT
|
1712 |
+
Fixed Automatic reindexing based on matched events doesn't change "Status" and "Last Run" columns at process list grid
|
1713 |
+
Fixed Performance issue with Magento Compiler + APC results in too many I/O calls
|
1714 |
+
Fixed Website Administrator is able to change default values
|
1715 |
+
Fixed Some of wishlist blocks and templates still treat the collection of wishlist items as collection of products
|
1716 |
+
Fixed Unnecessary comments in "Share Wishlist" email
|
1717 |
+
|
1718 |
+
|
1719 |
+
|
1720 |
+
==== 1.6.x-devel-139014 ====
|
1721 |
+
|
1722 |
+
=== Major Highlights ===
|
1723 |
+
Implemented different base prices for customer groups
|
1724 |
+
Added auto generation of coupon codes
|
1725 |
+
|
1726 |
+
=== Fixes ===
|
1727 |
+
Fixed Incorrect translation messages definitions
|
1728 |
+
Fixed Error message isn't displayed if currency exchange rate not found (in case with DHL Int)
|
1729 |
+
Fixed Handling Fee doesn't applied Per Package
|
1730 |
+
Fixed User role with partial access can't edit attributes of configurable products
|
1731 |
+
Fixed Letter "n" missed in the word "handling"
|
1732 |
+
Fixed Buttons don't react for pressing on the "Widget Options" section in Insert Widget window
|
1733 |
+
Fixed Regular price displays incorrect
|
1734 |
+
Fixed {{base_url}} in (un)secure_url doesn't work since 1.6.1
|
1735 |
+
Fixed Product selection field gets cleared out with recently added products from latest page
|
1736 |
+
Fixed "Change" button while checkout doesn't work
|
1737 |
+
Fixed MySQL BIGINT field type is wrongly casted to integer
|
1738 |
+
Fixed Magento Connect Manager proceed with installation of extension if error appears on database backup
|
1739 |
+
Fixed "Set product as New from/to Date" works excluding selected dates
|
1740 |
+
Fixed Function fireEvent from lib/varien/js.js does not work in IE9
|
1741 |
+
Fixed Searching with first and last name has no results
|
1742 |
+
Fixed CMS Pages: Error in IE7 when select CMS page
|
1743 |
+
Fixed White screen appears instead of 404 Error Page when going to review a product which doesn't exist
|
1744 |
+
Fixed "Maximum Package Weight" option works incorrect in case with decimal Qty in shopping Cart
|
1745 |
+
|
1746 |
+
|
1747 |
+
|
1748 |
+
==== 1.6.x-devel-138051 ====
|
1749 |
+
Fixed Unable to create tables for new EAV entity via SQL upgrade script
|
1750 |
+
Fixed Customer group isn't revalidated on checkout if Enable Automatic Assignment to Customer Group = Yes
|
1751 |
+
Fixed VAT ID validation must not run if added address is outside EU
|
1752 |
+
Fixed Mistake in PayPal Payments Advanced fieldset title
|
1753 |
+
Fixed Zero Subtotal Checkout payment method is used, when it is disabled in settings
|
1754 |
+
Fixed Some info lost from address when customer sets this address as default for shipping
|
1755 |
+
Fixed Incorrect calculation logic during distribution products between several pieces (in case with DHL)
|
1756 |
+
Fixed No ability to get shipping rates from US to another country (in case with DHL)
|
1757 |
+
Fixed Incorrect calculation of pieces weight (in case with Bundle Product)
|
1758 |
+
Fixed Divide Order Weight options for new DHL
|
1759 |
+
Fixed Product Flat Data index causes replication lag on MySQL master/slave model
|
1760 |
+
Fixed Exception is shown, when admin user provides filtration of Newsletter problem reports by Subscriber
|
1761 |
+
Fixed Gap in the section background appears on the Login page when CAPTCHA is enabled
|
1762 |
+
Fixed Typo in JavaScript error message
|
1763 |
+
Fixed Unable to do mass action update for products
|
1764 |
+
Fixed Error Message isn't displayed if currency exchange rate not found (in case with DHL)
|
1765 |
+
Fixed Weight field is absent during Quick simple product creation
|
1766 |
+
Fixed Fixed correct helper resolving
|
1767 |
+
Fixed Shipping methods are shown twice in DHLs shipping quote
|
1768 |
+
Fixed Unable to translate shipping and billing forms on the order creation page
|
1769 |
+
Fixed Drop-down attribute with layered navigation filter doesn't work with value is set to 0
|
1770 |
+
Fixed Free Shipping options doesn't work (in case with DHL)
|
1771 |
+
Fixed Handling Fee doesn't applied Per Package
|
1772 |
+
|
1773 |
+
|
1774 |
+
|
1775 |
+
==== 1.6.x-devel-136760 ====
|
1776 |
+
Fixed Free Shipping options works incorrect
|
1777 |
+
Fixed Wrong massage appears if VAT ID is invalid
|
1778 |
+
Fixed WYSIWYG Editor: It's impossible insert Widget to CMS page content
|
1779 |
+
Fixed After removing VAT Number, customer continues to be assigned to "Valid VAT ID Domestic" group
|
1780 |
+
Fixed Customer's group is not changed if his billing address modified within backend
|
1781 |
+
Fixed Wrong behaviour and exception while using invalid image
|
1782 |
+
Fixed Layered navigation for prices displays incorrect price ranges in manual mode
|
1783 |
+
Fixed Uninformative error message during saving two nodes with the same parameter URL Key
|
1784 |
+
Fixed Unable to change order addresses in the admin panel
|
1785 |
+
Fixed PayPal Express always uses default billing address from customer account
|
1786 |
+
Fixed Unable to place order if customer selects Register on checkout
|
1787 |
+
Fixed Performance Issue: Most Viewed product reports on large amount of items
|
1788 |
+
Fixed In "Customer Addresses" block before and after of State name is located symbols ","
|
1789 |
+
Fixed Lightbox 2.5 with IE7 returns JS error on the page
|
1790 |
+
Fixed Unable to change customer status (confirmed/not confirmed) when customer logged in
|
1791 |
+
Fixed Incorrect notification for empty field during creation catalog price rules
|
1792 |
+
Fixed Unable to save product with non-checked multiple select attribute
|
1793 |
+
Fixed "Ship Bundle Items" for bundle product works incorrect
|
1794 |
+
Fixed Package Size setting for DHL
|
1795 |
+
Fixed No Input Validation for Catalog Fields
|
1796 |
+
Fixed Row Total Calculation in Refund
|
1797 |
+
Fixed "Maximum number of price intervals" should be written with capital letters
|
1798 |
+
Fixed Divide Order Weight options for DHL
|
1799 |
+
|
1800 |
+
|
1801 |
+
|
1802 |
+
==== 1.6.x-devel-135464 ====
|
1803 |
+
Fixed Incorrect Row Total Calculation in Refund
|
1804 |
+
Fixed Impossible to create new customer in the backend
|
1805 |
+
Fixed Catalog data-upgrade-1.6.0.0.4-1.6.0.0.5.php is exteremly slow
|
1806 |
+
Fixed Free Shipping options doesn't work (in case with DHL International)
|
1807 |
+
Fixed Mage_Catalog_Helper_Product::getProduct() doesn't load product by its SKU
|
1808 |
+
Fixed Preview Template doesn't work correctly
|
1809 |
+
Fixed Some options of Bundle Product disappeared from the Invoice PDF
|
1810 |
+
Fixed "Allow Countries" affects on "Country of Manufacture" attribute
|
1811 |
+
Fixed Some phrases are not translated
|
1812 |
+
Fixed Incorrect Ordered Qty in Order (in case with decimal qty)
|
1813 |
+
Fixed Trademark character isn't being displayed properly in the PDF invoice
|
1814 |
+
Fixed Can't search transactions by order_id in manager.paypal.com
|
1815 |
+
Fixed Inline Translation: Grid headers are displayed incorrect on the Tag Edit page
|
1816 |
+
Fixed Scheduled Backup creation/failure isn't logged
|
1817 |
+
Fixed "Create Extension Package" page becomes broken after compilation
|
1818 |
+
Fixed Price including tax isn't displayed for some kinds of bundle products
|
1819 |
+
Fixed Layered navigation for prices displays incorrect price ranges in manual mode
|
1820 |
+
Fixed Pager works wrong with float page number
|
1821 |
+
Fixed VAT Number for country that isn't selected in "European Union Countries" validated
|
1822 |
+
Fixed Incorrect foreign key for EAV entity tables
|
1823 |
+
Fixed VAT ID: Warning message about not-valid VAT Number displayed in green frame
|
1824 |
+
Fixed Misprint in downloader/lib/Mage/Connect/Command/Install.php
|
1825 |
+
Fixed URL Rewrites must be case-sensitive
|
1826 |
+
Fixed Incorrect notification when customer's billing address updated with VAT ID within frontend
|
1827 |
+
Fixed Unable to install package via uploader if author name contains dash
|
1828 |
+
Fixed Fixed invoice subtotals for cases with partial invoice and discount
|
1829 |
+
Fixed Incorrect work of "Disable Automatic Group Changes Based on VAT ID Default Value" option
|
1830 |
+
Fixed Catalog URL Rewrites works incorrectly on creating categories
|
1831 |
+
|
1832 |
+
|
1833 |
+
|
1834 |
+
==== 1.6.x-devel-134386 ====
|
1835 |
+
|
1836 |
+
=== Major Highlights ===
|
1837 |
+
Added VAT ID Validation
|
1838 |
+
Implemented DHL for Europe
|
1839 |
+
|
1840 |
+
=== Improvements ===
|
1841 |
+
Theme for iPhone was redesigned
|
1842 |
+
|
1843 |
+
=== Fixes ===
|
1844 |
+
Fixed New Oder Status setting, specified for payment method works incorrectly when only virtual products are present in Order
|
1845 |
+
Fixed Rounding issue in catalog and product view if price includes tax
|
1846 |
+
Fixed Wrong status of catalog event is displayed by editing catalog event
|
1847 |
+
Fixed Role Resources are not saved
|
1848 |
+
Fixed "Qty for Item's Status to Become Out of Stock" option works incorrect
|
1849 |
+
Fixed XML parser works incorrect
|
1850 |
+
Fixed Mage_Reports_Model_Mysql4_Product_Index_Abstract must be declared abstract
|
1851 |
+
Fixed "Date & Time" and "Time" custom options becomes required when editing product
|
1852 |
+
Fixed Unable to cancel an order for an expired Authorize.net auth
|
1853 |
+
Fixed Custom options are not stored when downloadable product is duplicated
|
1854 |
+
Fixed "Cannot initialize the indexer process" error during Mass "Reindex Data" Action
|
1855 |
+
Fixed Search by new attribute fails, attribute is not shown in layered navigation
|
1856 |
+
Fixed Exception when "Price Navigation Step Calculation" set to "Manual" mode and FPT enabled
|
1857 |
+
Fixed WPPHS: Cancel URL doesn't work as should be
|
1858 |
+
Fixed Error about insufficient permissions is not appears on database backup creation
|
1859 |
+
Fixed After rollback admin doesn't redirected to the Log in to Admin Panel page
|
1860 |
+
Fixed Database Backup must not include indexer table data
|
1861 |
+
Fixed Scheduled Backup creation/failure isn't logged
|
1862 |
+
Fixed Deleting backup while it is used by another process
|
1863 |
+
Fixed Opening *.tar files causes an error "There are no trailing zero-filled records"
|
1864 |
+
Fixed Unable to search by "Time" and "No" in Backups table
|
1865 |
+
Fixed Backups are deleted without confirmation
|
1866 |
+
Fixed Reports must be excluded from database snapshot backup
|
1867 |
+
Fixed There are no products in filtering results, if step calculation in automatic mode
|
1868 |
+
Fixed No validation for "Default Price Navigation Step"
|
1869 |
+
Fixed "Back" button doesn't work on the Create New Order page
|
1870 |
+
Fixed Incorrect logic of Token expiration in Two Step Password Reset flow
|
1871 |
+
Fixed Tag <br/> is present in tool-tip for field "Number of results (For the last time placed)" on the Edit Search page
|
1872 |
+
Fixed Impossible to use CAPTCHA that longer than 12 symbols
|
1873 |
+
Fixed CAPTCHA with space symbol in it works incorrectly
|
1874 |
+
Fixed System backup doesn't complete
|
1875 |
+
Fixed Unnecessary hard code in Magento Extension
|
1876 |
+
Fixed It's impossible specify form where CAPTCHA could be used
|
1877 |
+
Fixed Wrong logic in Mage_Core_Model_Resource_Db_Collection_Abstract::join()
|
1878 |
+
Fixed Description and Short Description are displayed incorrectly for products added with WYSIWYG
|
1879 |
+
Fixed Adding product to the cart from the product review page leads to 404 page
|
1880 |
+
Fixed Special symbols in Sort Order field
|
1881 |
+
Fixed Text is wrong displayed with enabled Inline translation for Admin on back-end
|
1882 |
+
Fixed Inline Translation: Unable to translate some customer information
|
1883 |
+
Fixed Useless colon on front-end login page
|
1884 |
+
Fixed Unable to continue checkout for product with zero price and non-zero shipping price
|
1885 |
+
Fixed Import news_from_date field is configured poorly. It is not accepting the data from file
|
1886 |
+
Fixed When updating product data through import, attributes that have a value cannot be assigned a new value that is empty
|
1887 |
+
Fixed Unable to replace non-complex data for products with empty values during import
|
1888 |
+
Fixed Customer can't understand is CAPTCHA case sensitive or not
|
1889 |
+
Fixed Incorrect CAPTCHA's default configuration values
|
1890 |
+
Fixed "Wrong order ID" exception in PayPal Express module under heavy load
|
1891 |
+
Fixed Tax is applying on the order when creating it in the admin panel for a Customer Group with no taxes
|
1892 |
+
Fixed Issue with retrieving order statuses for array of states
|
1893 |
+
Fixed Wrong calculation product price with custom option type = Field and Fixed price
|
1894 |
+
Fixed Back ordered downloadable product is not available even when it is set to be be accessible when order status is Pending
|
1895 |
+
|
1896 |
+
|
1897 |
+
|
1898 |
+
==== 1.6.x-devel-133001 ====
|
1899 |
+
|
1900 |
+
=== Major Highlights ===
|
1901 |
+
Implemented Backup and Rollback functionality
|
1902 |
+
|
1903 |
+
=== Fixes ===
|
1904 |
+
Fixed Full Product Price reindex started instead of partial if prices updated with mass action
|
1905 |
+
Fixed Missing column "position" at table catalog_category_anc_products_index_tmp
|
1906 |
+
Fixed Incorrect behavior of "Save in address book" option during admin Order creation for a new customer
|
1907 |
+
- refactored Mage_Adminhtml_Model_Sales_Order_Create::_prepareCustomer()
|
1908 |
+
Fixed Terms and Conditions is named differently on different pages
|
1909 |
+
Fixed "Apply" and "Discount Amount" fields appear twice in the Catalog Price Rule
|
1910 |
+
Fixed Poll shows incorrect percentage
|
1911 |
+
Fixed Added validation ability for admin configuration forms
|
1912 |
+
Fixed UPS XML misprint
|
1913 |
+
Fixed Misprint in uploading files form
|
1914 |
+
Fixed Unnecessary check boxes for gift options
|
1915 |
+
Fixed Wrong resource section declaration in Mage_Tag module
|
1916 |
+
Fixed "Customers Submitted this Tag" section doesn't update when customer has deleted tag from his account
|
1917 |
+
Fixed Correct product in category position
|
1918 |
+
Fixed Unable to create folder in Media Storage
|
1919 |
+
Fixed Translation with single quotes breaks JavaScript
|
1920 |
+
Fixed Out of memory error with hundreds of thousands of coupons attached to a single sales rule
|
1921 |
+
Fixed Unable to translate buttons and tabs on the "Manage Category" page
|
1922 |
+
Fixed Product Categories Tree doesn't expand in Manage Products page
|
1923 |
+
Fixed Incorrect products qty returns to stock after refund for configurable product
|
1924 |
+
Fixed Swf Uploader problems with cross domain Flash Player Policy
|
1925 |
+
Fixed Unable to translate "Layout Updates" block on create/edit widget page
|
1926 |
+
Fixed IE7: "Remember Me" checkbox visible on billing information step
|
1927 |
+
Fixed CMS WYSIWYG Editor - widget is inserted as new while editing in IE8
|
1928 |
+
Fixed Currency code doesn't correspond to the amount in reports
|
1929 |
+
Fixed Mage_Adminhtml_Block_Sales_Order_View_Tab_History::getFullHistory() doesn't use unique keys for each message
|
1930 |
+
Fixed Scope labels are shown without translate wrapper
|
1931 |
+
Fixed Wrong parameters handling in Core Helper formatDate()
|
1932 |
+
Fixed Apostrophe in store name breaks Google Analytics tracking
|
1933 |
+
Fixed Customer attribute prefix is not shown on frontend
|
1934 |
+
Fixed Incorrect rounding for product with custom options (percent price)
|
1935 |
+
Fixed Invoicing only part of products results in wrong totals calculation
|
1936 |
+
Fixed Incorrect Row Total Calculation in Refund
|
1937 |
+
- fixed rounding issues for partial Invoice and Refund
|
1938 |
+
- refactored delta rounding
|
1939 |
+
Fixed Filter by "Allow Countries" not working for Customer Address Form in the Backend
|
1940 |
+
- checking added for set country to be in available list
|
1941 |
+
Fixed There are sql-installs with empty string used as defaults for table columns, while column is not null able
|
1942 |
+
Fixed Unable to translate "Note" in "Product Stock Options"
|
1943 |
+
Fixed Various warning are displayed after creating shipment for 0 items
|
1944 |
+
Fixed Invalid content in Content-header in the top of page during scrolling during order creation
|
1945 |
+
Fixed "Online invoice" button present in backend when using Zero Subtotal Checkout
|
1946 |
+
Fixed String cast type in in_array function
|
1947 |
+
Fixed Newsletter template content should not disappear when "Show" / "Hide Editor" button was clicked
|
1948 |
+
Fixed Import feature doesn't validate whether super_products_sku is existing or not
|
1949 |
+
|
1950 |
+
|
1951 |
+
|
1952 |
+
==== 1.6.x-devel-131783 ====
|
1953 |
+
|
1954 |
+
=== Major Highlights ===
|
1955 |
+
Implemented new Layered Navigation price bucket algorithm
|
1956 |
+
Added captcha functionality
|
1957 |
+
|
1958 |
+
=== Improvements ===
|
1959 |
+
XmlConnect package release v22.1
|
1960 |
+
Upgraded TinyMCE to v3.4.7
|
1961 |
+
|
1962 |
+
=== Fixes ===
|
1963 |
+
Fixed Cannot place order with downloadable product and discount code using Paypal Express payment method
|
1964 |
+
Fixed Product still out of stock after Stock Status reindex
|
1965 |
+
Fixed No ability to reindex Catalog URL Rewrites, error is shown
|
1966 |
+
Fixed Automatic reindexing based on matched events doesn't change "Status" and "Last Run" columns at process list grid
|
1967 |
+
Fixed Save catalog price rule gives trace if full reindex has already started
|
1968 |
+
Fixed Reindex requires notification is not shown for Stock Status when stock is updated for several products using Mass Action
|
1969 |
+
Fixed Incorrect FedEx's shipping rates (in case with non-US country origin)
|
1970 |
+
Fixed After partial reindex MSRP value is not applied (not viewed) in catalog during mass update action
|
1971 |
+
Fixed Wrong stock reindex on catalog if partial reindex done after full reindex started
|
1972 |
+
Fixed In error message string "already exists." written twice, when trying to save Product Tax Class with the same name
|
1973 |
+
Fixed Wrong stock reindex on catalog if partial reindex done after full reindex started
|
1974 |
+
Fixed Slow checkout with non-flushed cache
|
1975 |
+
|
1976 |
+
|
1977 |
+
|
1978 |
+
==== 1.6.x-devel-130478 ====
|
1979 |
+
Fixed Bundle product total is incorrect in Customization block
|
1980 |
+
Fixed Special price isn't considered for bundle dynamic products in "Your Customization" block
|
1981 |
+
Fixed Situation when any amount of duplicate reindex process can be running at one time
|
1982 |
+
Fixed Error with Advanced Search (in case with Date Attribute)
|
1983 |
+
Fixed Product Flat Data index isn't marked as "Reindex Required" after importing products when Flat Catalog is enabled
|
1984 |
+
Fixed User can't change root category for the store
|
1985 |
+
Fixed JS error causes the overwrite of Title field in PayPal Advanced configuration
|
1986 |
+
Fixed Mass action doesn't partially reindex catalog for product name/description
|
1987 |
+
Fixed Remove hint about $1 auth amount from informational message text (PayflowLink configuration)
|
1988 |
+
Fixed Mass action doesn't partially reindex catalog for product prices
|
1989 |
+
Fixed PayPal Payments Advanced works with $0 Auth instead of Full Auth
|
1990 |
+
Fixed Impossible to place Order using "Pay with PayPal" button from PayPal Payments Advanced iframe
|
1991 |
+
Fixed Mass action doesn't partially reindex catalog search for product if searchable attribute was updated
|
1992 |
+
Fixed "Please wait" AJAX screen doesn't appear in the middle of the page
|
1993 |
+
Fixed Checkout link on frontend is always referenced as http
|
1994 |
+
Fixed GET request is incorrectly formed during category creation
|
1995 |
+
- adjusted assertion to determine last viewed store
|
1996 |
+
Fixed Display of Tier Pricing with Configurable Products
|
1997 |
+
- added functionality to dynamically update tier prices accordingly to chosen product configuration
|
1998 |
+
Fixed Google Analytics e-commerce tracking not working
|
1999 |
+
Fixed URL key isn't used while product save
|
2000 |
+
Fixed Added validation class to 'Qty increments'
|
2001 |
+
Fixed Entered from admin customer date 1970 (or less) is saved as 2070 (or less)
|
2002 |
+
Fixed cUrl resource must be closed after checking it for errors, not before
|
2003 |
+
Fixed Exception while products mass update attributes in backend
|
2004 |
+
Fixed Impossible to place Order using Pay with PayPal button from PayflowLink iframe, when Payment Action is Sale
|
2005 |
+
Fixed No ability to reindex Catalog URL Rewrites, error is shown
|
2006 |
+
Fixed Package with Core dependency
|
2007 |
+
|
2008 |
+
|
2009 |
+
|
2010 |
+
==== 1.6.x-devel-129596 ====
|
2011 |
+
Fixed Stock Availability isn't updated if 1: Run Price Reindex 2: Update Stock Availability on product with mass action/single product
|
2012 |
+
Fixed PayPal Payments Advanced update descriptions
|
2013 |
+
Fixed Blank page instead shopping cart page when compilation and PSC are enabled
|
2014 |
+
Fixed Unable to save redirect URL with special characters in search terms
|
2015 |
+
Fixed Attribute Set field should have client-side validation and appropriate information message
|
2016 |
+
Fixed "Localhost" isn't a valid domain name for installation
|
2017 |
+
Fixed Iframe for PayPal Payments Advanced is not loaded
|
2018 |
+
Fixed Retain the selected tab on editing CMS page
|
2019 |
+
Fixed Payflow Link Express Checkout (pay with PayPal button) payment
|
2020 |
+
Fixed Wrong number of reindex options is displayed
|
2021 |
+
Fixed Wrong phpDocs for Varien_Db_Select
|
2022 |
+
Fixed JavaScript calendar date range
|
2023 |
+
- fixed JS calendar behavior to use 4-digits year format
|
2024 |
+
Fixed Performance issue connected with sales rules on adding product to cart
|
2025 |
+
Fixed DHL same error message appears several times
|
2026 |
+
Fixed Item Status says "Mixed" when an order has been completed, should say "Shipped"
|
2027 |
+
Fixed Product option title is absent in backend order page
|
2028 |
+
Fixed Incorrect items number during multi shipping checkout
|
2029 |
+
Fixed User name displays differently in the unsuccessful message and in the text field label (log in form)
|
2030 |
+
Fixed If one or more indexers have Update Required = Yes and all Status = READY for all indexers than there is no notification for user to do reindex action
|
2031 |
+
Fixed No space between Address line 1 and line 2 in Shipping Label (in case with FedEx)
|
2032 |
+
|
2033 |
+
|
2034 |
+
|
2035 |
+
==== 1.6.x-devel-128838 ====
|
2036 |
+
|
2037 |
+
=== Improvements ===
|
2038 |
+
Indexers refactoring
|
2039 |
+
|
2040 |
+
=== Changes ===
|
2041 |
+
Implemented localized PayPal settings for Japan
|
2042 |
+
Added PayPal Payments Advanced
|
2043 |
+
|
2044 |
+
=== Fixes ===
|
2045 |
+
Fixed JS works depends on the position attributes of the product
|
2046 |
+
Fixed Char set encoding is out-of-date in Settlement reports
|
2047 |
+
Fixed Settlement reports can't be downloaded if in merchant's account 'Settlement file' is set to 6.0 version
|
2048 |
+
Fixed Unable to login when secure and unsecure urls are different
|
2049 |
+
Fixed Customer session lost when using different domain/subdomain names for secure and unsecure urls
|
2050 |
+
Fixed "Most Viewed" reports ignore Store View switcher
|
2051 |
+
Fixed Long FPT name (and product name) doesn't fit into "My cart" block
|
2052 |
+
Fixed Paypal IPN post back failure
|
2053 |
+
Fixed Customer was unable to receive newsletters when it was created via backend
|
2054 |
+
Fixed Wrong Comments History in notification of order creation/cancellation
|
2055 |
+
Fixed Non escaped string causes javascript error
|
2056 |
+
Fixed Unable to view pictures during product editing
|
2057 |
+
Fixed Ampersand is saved incorrect in attribute label
|
2058 |
+
Fixed IE8: JS error appears after pressing 'Add new rule' in catalog price rules menu
|
2059 |
+
Fixed Exception after sorting newsletter queue
|
2060 |
+
Fixed Customer is not able to log in from URL without "www" in some cases
|
2061 |
+
Fixed SQL error on category view with enabled and configured FPT
|
2062 |
+
Fixed Automatic reindexing based on matched events doesn't change "Status" and "Last Run" columns at process list grid
|
2063 |
+
Fixed Performance issue with Magento Compiler + APC results in too many I/O calls
|
2064 |
+
Fixed Website Administrator is able to change default values
|
2065 |
+
Fixed Some of wishlist blocks and templates still treat the collection of wishlist items as collection of products
|
2066 |
+
Fixed Unnecessary comments in "Share Wishlist" email
|
2067 |
+
|
2068 |
+
|
2069 |
+
|
2070 |
==== 1.6.1.0 ====
|
2071 |
|
2072 |
=== Major Highlights ===
|
api.php
ADDED
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_Api2
|
23 |
+
* @copyright Copyright (c) 2011 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 |
+
if (version_compare(phpversion(), '5.2.0', '<')) {
|
28 |
+
echo 'It looks like you have an invalid PHP version. Magento supports PHP 5.2.0 or newer';
|
29 |
+
exit;
|
30 |
+
}
|
31 |
+
error_reporting(E_ALL | E_STRICT);
|
32 |
+
|
33 |
+
$mageFilename = getcwd() . '/app/Mage.php';
|
34 |
+
|
35 |
+
if (!file_exists($mageFilename)) {
|
36 |
+
echo 'Mage file not found';
|
37 |
+
exit;
|
38 |
+
}
|
39 |
+
require $mageFilename;
|
40 |
+
|
41 |
+
if (!Mage::isInstalled()) {
|
42 |
+
echo 'Application is not installed yet, please complete install wizard first.';
|
43 |
+
exit;
|
44 |
+
}
|
45 |
+
|
46 |
+
if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
|
47 |
+
Mage::setIsDeveloperMode(true);
|
48 |
+
}
|
49 |
+
|
50 |
+
#ini_set('display_errors', 1);
|
51 |
+
|
52 |
+
// emulate index.php entry point for correct URLs generation in API
|
53 |
+
Mage::register('custom_entry_point', true);
|
54 |
+
Mage::$headersSentThrowsException = false;
|
55 |
+
Mage::init('admin');
|
56 |
+
Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_GLOBAL, Mage_Core_Model_App_Area::PART_EVENTS);
|
57 |
+
Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_ADMINHTML, Mage_Core_Model_App_Area::PART_EVENTS);
|
58 |
+
|
59 |
+
// query parameter "type" is set by .htaccess rewrite rule
|
60 |
+
$apiAlias = Mage::app()->getRequest()->getParam('type');
|
61 |
+
|
62 |
+
// check request could be processed by API2
|
63 |
+
if (in_array($apiAlias, Mage_Api2_Model_Server::getApiTypes())) {
|
64 |
+
/** @var $server Mage_Api2_Model_Server */
|
65 |
+
$server = Mage::getSingleton('api2/server');
|
66 |
+
|
67 |
+
$server->run();
|
68 |
+
} else {
|
69 |
+
/* @var $server Mage_Api_Model_Server */
|
70 |
+
$server = Mage::getSingleton('api/server');
|
71 |
+
$adapterCode = $server->getAdapterCodeByAlias($apiAlias);
|
72 |
+
|
73 |
+
// if no adapters found in aliases - find it by default, by code
|
74 |
+
if (null === $adapterCode) {
|
75 |
+
$adapterCode = $apiAlias;
|
76 |
+
}
|
77 |
+
try {
|
78 |
+
$server->initialize($adapterCode);
|
79 |
+
$server->run();
|
80 |
+
|
81 |
+
Mage::app()->getResponse()->sendResponse();
|
82 |
+
} catch (Exception $e) {
|
83 |
+
Mage::logException($e);
|
84 |
+
|
85 |
+
echo $e->getMessage();
|
86 |
+
exit;
|
87 |
+
}
|
88 |
+
}
|
app/Mage.php
CHANGED
@@ -33,8 +33,8 @@ Mage::register('original_include_path', get_include_path());
|
|
33 |
if (defined('COMPILER_INCLUDE_PATH')) {
|
34 |
$appPath = COMPILER_INCLUDE_PATH;
|
35 |
set_include_path($appPath . PS . Mage::registry('original_include_path'));
|
36 |
-
include_once "Mage_Core_functions.php";
|
37 |
-
include_once "Varien_Autoload.php";
|
38 |
} else {
|
39 |
/**
|
40 |
* Set include path
|
@@ -129,6 +129,22 @@ final class Mage
|
|
129 |
*/
|
130 |
static private $_isInstalled;
|
131 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
/**
|
133 |
* Gets the current Magento version string
|
134 |
* @link http://www.magentocommerce.com/blog/new-community-edition-release-process/
|
@@ -138,7 +154,8 @@ final class Mage
|
|
138 |
public static function getVersion()
|
139 |
{
|
140 |
$i = self::getVersionInfo();
|
141 |
-
return trim("{$i['major']}.{$i['minor']}.{$i['revision']}" . ($i['patch'] != '' ? ".{$i['patch']}" : "")
|
|
|
142 |
}
|
143 |
|
144 |
/**
|
@@ -151,14 +168,25 @@ final class Mage
|
|
151 |
{
|
152 |
return array(
|
153 |
'major' => '1',
|
154 |
-
'minor' => '
|
155 |
-
'revision' => '
|
156 |
'patch' => '0',
|
157 |
'stability' => '',
|
158 |
'number' => '',
|
159 |
);
|
160 |
}
|
161 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
/**
|
163 |
* Set all my static data to defaults
|
164 |
*
|
@@ -166,12 +194,14 @@ final class Mage
|
|
166 |
public static function reset()
|
167 |
{
|
168 |
self::$_registry = array();
|
|
|
169 |
self::$_app = null;
|
170 |
self::$_config = null;
|
171 |
self::$_events = null;
|
172 |
self::$_objects = null;
|
173 |
self::$_isDownloader = false;
|
174 |
self::$_isDeveloperMode = false;
|
|
|
175 |
// do not reset $headersSentThrowsException
|
176 |
}
|
177 |
|
@@ -343,6 +373,7 @@ final class Mage
|
|
343 |
* Get base URL path by type
|
344 |
*
|
345 |
* @param string $type
|
|
|
346 |
* @return string
|
347 |
*/
|
348 |
public static function getBaseUrl($type = Mage_Core_Model_Store::URL_TYPE_LINK, $secure = null)
|
@@ -404,17 +435,16 @@ final class Mage
|
|
404 |
* Dispatch event
|
405 |
*
|
406 |
* Calls all observer callbacks registered for this event
|
407 |
-
* and
|
408 |
*
|
409 |
* @param string $name
|
410 |
-
* @param array $
|
411 |
* @return Mage_Core_Model_App
|
412 |
*/
|
413 |
public static function dispatchEvent($name, array $data = array())
|
414 |
{
|
415 |
Varien_Profiler::start('DISPATCH EVENT:'.$name);
|
416 |
$result = self::app()->dispatchEvent($name, $data);
|
417 |
-
#$result = self::registry('events')->dispatch($name, $data);
|
418 |
Varien_Profiler::stop('DISPATCH EVENT:'.$name);
|
419 |
return $result;
|
420 |
}
|
@@ -424,8 +454,8 @@ final class Mage
|
|
424 |
*
|
425 |
* @link Mage_Core_Model_Config::getModelInstance
|
426 |
* @param string $modelClass
|
427 |
-
* @param array $arguments
|
428 |
-
* @return Mage_Core_Model_Abstract
|
429 |
*/
|
430 |
public static function getModel($modelClass = '', $arguments = array())
|
431 |
{
|
@@ -519,7 +549,7 @@ final class Mage
|
|
519 |
}
|
520 |
|
521 |
/**
|
522 |
-
*
|
523 |
*
|
524 |
* @param string $moduleName
|
525 |
* @return Mage_Core_Model_Resource_Helper_Abstract
|
@@ -554,6 +584,7 @@ final class Mage
|
|
554 |
*
|
555 |
* @param string $message
|
556 |
* @param string $messageStorage
|
|
|
557 |
*/
|
558 |
public static function throwException($message, $messageStorage = null)
|
559 |
{
|
@@ -577,7 +608,8 @@ final class Mage
|
|
577 |
self::$_app = new Mage_Core_Model_App();
|
578 |
self::setRoot();
|
579 |
self::$_events = new Varien_Event_Collection();
|
580 |
-
self
|
|
|
581 |
|
582 |
Varien_Profiler::start('self::app::init');
|
583 |
self::$_app->init($code, $type, $options);
|
@@ -599,7 +631,8 @@ final class Mage
|
|
599 |
try {
|
600 |
self::setRoot();
|
601 |
self::$_app = new Mage_Core_Model_App();
|
602 |
-
self
|
|
|
603 |
|
604 |
if (!empty($modules)) {
|
605 |
self::$_app->initSpecified($code, $type, $options, $modules);
|
@@ -630,9 +663,19 @@ final class Mage
|
|
630 |
try {
|
631 |
Varien_Profiler::start('mage');
|
632 |
self::setRoot();
|
|
|
|
|
|
|
633 |
self::$_app = new Mage_Core_Model_App();
|
|
|
|
|
|
|
|
|
|
|
|
|
634 |
self::$_events = new Varien_Event_Collection();
|
635 |
-
self
|
|
|
636 |
self::$_app->run(array(
|
637 |
'scope_code' => $code,
|
638 |
'scope_type' => $type,
|
@@ -663,6 +706,40 @@ final class Mage
|
|
663 |
}
|
664 |
}
|
665 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
666 |
/**
|
667 |
* Retrieve application installation flag
|
668 |
*
|
33 |
if (defined('COMPILER_INCLUDE_PATH')) {
|
34 |
$appPath = COMPILER_INCLUDE_PATH;
|
35 |
set_include_path($appPath . PS . Mage::registry('original_include_path'));
|
36 |
+
include_once COMPILER_INCLUDE_PATH . DS . "Mage_Core_functions.php";
|
37 |
+
include_once COMPILER_INCLUDE_PATH . DS . "Varien_Autoload.php";
|
38 |
} else {
|
39 |
/**
|
40 |
* Set include path
|
129 |
*/
|
130 |
static private $_isInstalled;
|
131 |
|
132 |
+
/**
|
133 |
+
* Magento edition constants
|
134 |
+
*/
|
135 |
+
const EDITION_COMMUNITY = 'Community';
|
136 |
+
const EDITION_ENTERPRISE = 'Enterprise';
|
137 |
+
const EDITION_PROFESSIONAL = 'Professional';
|
138 |
+
const EDITION_GO = 'Go';
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Current Magento edition.
|
142 |
+
*
|
143 |
+
* @var string
|
144 |
+
* @static
|
145 |
+
*/
|
146 |
+
static private $_currentEdition = self::EDITION_COMMUNITY;
|
147 |
+
|
148 |
/**
|
149 |
* Gets the current Magento version string
|
150 |
* @link http://www.magentocommerce.com/blog/new-community-edition-release-process/
|
154 |
public static function getVersion()
|
155 |
{
|
156 |
$i = self::getVersionInfo();
|
157 |
+
return trim("{$i['major']}.{$i['minor']}.{$i['revision']}" . ($i['patch'] != '' ? ".{$i['patch']}" : "")
|
158 |
+
. "-{$i['stability']}{$i['number']}", '.-');
|
159 |
}
|
160 |
|
161 |
/**
|
168 |
{
|
169 |
return array(
|
170 |
'major' => '1',
|
171 |
+
'minor' => '7',
|
172 |
+
'revision' => '0',
|
173 |
'patch' => '0',
|
174 |
'stability' => '',
|
175 |
'number' => '',
|
176 |
);
|
177 |
}
|
178 |
|
179 |
+
/**
|
180 |
+
* Get current Magento edition
|
181 |
+
*
|
182 |
+
* @static
|
183 |
+
* @return string
|
184 |
+
*/
|
185 |
+
public static function getEdition()
|
186 |
+
{
|
187 |
+
return self::$_currentEdition;
|
188 |
+
}
|
189 |
+
|
190 |
/**
|
191 |
* Set all my static data to defaults
|
192 |
*
|
194 |
public static function reset()
|
195 |
{
|
196 |
self::$_registry = array();
|
197 |
+
self::$_appRoot = null;
|
198 |
self::$_app = null;
|
199 |
self::$_config = null;
|
200 |
self::$_events = null;
|
201 |
self::$_objects = null;
|
202 |
self::$_isDownloader = false;
|
203 |
self::$_isDeveloperMode = false;
|
204 |
+
self::$_isInstalled = null;
|
205 |
// do not reset $headersSentThrowsException
|
206 |
}
|
207 |
|
373 |
* Get base URL path by type
|
374 |
*
|
375 |
* @param string $type
|
376 |
+
* @param null|bool $secure
|
377 |
* @return string
|
378 |
*/
|
379 |
public static function getBaseUrl($type = Mage_Core_Model_Store::URL_TYPE_LINK, $secure = null)
|
435 |
* Dispatch event
|
436 |
*
|
437 |
* Calls all observer callbacks registered for this event
|
438 |
+
* and multiple observers matching event name pattern
|
439 |
*
|
440 |
* @param string $name
|
441 |
+
* @param array $data
|
442 |
* @return Mage_Core_Model_App
|
443 |
*/
|
444 |
public static function dispatchEvent($name, array $data = array())
|
445 |
{
|
446 |
Varien_Profiler::start('DISPATCH EVENT:'.$name);
|
447 |
$result = self::app()->dispatchEvent($name, $data);
|
|
|
448 |
Varien_Profiler::stop('DISPATCH EVENT:'.$name);
|
449 |
return $result;
|
450 |
}
|
454 |
*
|
455 |
* @link Mage_Core_Model_Config::getModelInstance
|
456 |
* @param string $modelClass
|
457 |
+
* @param array|object $arguments
|
458 |
+
* @return Mage_Core_Model_Abstract|false
|
459 |
*/
|
460 |
public static function getModel($modelClass = '', $arguments = array())
|
461 |
{
|
549 |
}
|
550 |
|
551 |
/**
|
552 |
+
* Retrieve resource helper object
|
553 |
*
|
554 |
* @param string $moduleName
|
555 |
* @return Mage_Core_Model_Resource_Helper_Abstract
|
584 |
*
|
585 |
* @param string $message
|
586 |
* @param string $messageStorage
|
587 |
+
* @throws Mage_Core_Exception
|
588 |
*/
|
589 |
public static function throwException($message, $messageStorage = null)
|
590 |
{
|
608 |
self::$_app = new Mage_Core_Model_App();
|
609 |
self::setRoot();
|
610 |
self::$_events = new Varien_Event_Collection();
|
611 |
+
self::_setIsInstalled($options);
|
612 |
+
self::_setConfigModel($options);
|
613 |
|
614 |
Varien_Profiler::start('self::app::init');
|
615 |
self::$_app->init($code, $type, $options);
|
631 |
try {
|
632 |
self::setRoot();
|
633 |
self::$_app = new Mage_Core_Model_App();
|
634 |
+
self::_setIsInstalled($options);
|
635 |
+
self::_setConfigModel($options);
|
636 |
|
637 |
if (!empty($modules)) {
|
638 |
self::$_app->initSpecified($code, $type, $options, $modules);
|
663 |
try {
|
664 |
Varien_Profiler::start('mage');
|
665 |
self::setRoot();
|
666 |
+
if (isset($options['edition'])) {
|
667 |
+
self::$_currentEdition = $options['edition'];
|
668 |
+
}
|
669 |
self::$_app = new Mage_Core_Model_App();
|
670 |
+
if (isset($options['request'])) {
|
671 |
+
self::$_app->setRequest($options['request']);
|
672 |
+
}
|
673 |
+
if (isset($options['response'])) {
|
674 |
+
self::$_app->setResponse($options['response']);
|
675 |
+
}
|
676 |
self::$_events = new Varien_Event_Collection();
|
677 |
+
self::_setIsInstalled($options);
|
678 |
+
self::_setConfigModel($options);
|
679 |
self::$_app->run(array(
|
680 |
'scope_code' => $code,
|
681 |
'scope_type' => $type,
|
706 |
}
|
707 |
}
|
708 |
|
709 |
+
/**
|
710 |
+
* Set application isInstalled flag based on given options
|
711 |
+
*
|
712 |
+
* @param array $options
|
713 |
+
*/
|
714 |
+
protected static function _setIsInstalled($options = array())
|
715 |
+
{
|
716 |
+
if (isset($options['is_installed']) && $options['is_installed']) {
|
717 |
+
self::$_isInstalled = true;
|
718 |
+
}
|
719 |
+
}
|
720 |
+
|
721 |
+
/**
|
722 |
+
* Set application Config model
|
723 |
+
*
|
724 |
+
* @param array $options
|
725 |
+
*/
|
726 |
+
protected static function _setConfigModel($options = array())
|
727 |
+
{
|
728 |
+
if (isset($options['config_model']) && class_exists($options['config_model'])) {
|
729 |
+
$alternativeConfigModelName = $options['config_model'];
|
730 |
+
unset($options['config_model']);
|
731 |
+
$alternativeConfigModel = new $alternativeConfigModelName($options);
|
732 |
+
} else {
|
733 |
+
$alternativeConfigModel = null;
|
734 |
+
}
|
735 |
+
|
736 |
+
if (!is_null($alternativeConfigModel) && ($alternativeConfigModel instanceof Mage_Core_Model_Config)) {
|
737 |
+
self::$_config = $alternativeConfigModel;
|
738 |
+
} else {
|
739 |
+
self::$_config = new Mage_Core_Model_Config($options);
|
740 |
+
}
|
741 |
+
}
|
742 |
+
|
743 |
/**
|
744 |
* Retrieve application installation flag
|
745 |
*
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -114,6 +114,9 @@ class Mage_Admin_Model_Config extends Varien_Simplexml_Config
|
|
114 |
}
|
115 |
|
116 |
foreach ($children as $res) {
|
|
|
|
|
|
|
117 |
$this->loadAclResources($acl, $res, $resourceName);
|
118 |
}
|
119 |
return $this;
|
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 |
|
114 |
}
|
115 |
|
116 |
foreach ($children as $res) {
|
117 |
+
if (1 == $res->disabled) {
|
118 |
+
continue;
|
119 |
+
}
|
120 |
$this->loadAclResources($acl, $res, $resourceName);
|
121 |
}
|
122 |
return $this;
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -33,6 +33,7 @@
|
|
33 |
*/
|
34 |
class Mage_Admin_Model_Observer
|
35 |
{
|
|
|
36 |
/**
|
37 |
* Handler for controller_action_predispatch event
|
38 |
*
|
@@ -51,7 +52,8 @@ class Mage_Admin_Model_Observer
|
|
51 |
'forgotpassword',
|
52 |
'resetpassword',
|
53 |
'resetpasswordpost',
|
54 |
-
'logout'
|
|
|
55 |
);
|
56 |
if (in_array($requestedActionName, $openActions)) {
|
57 |
$request->setDispatched(true);
|
@@ -64,7 +66,7 @@ class Mage_Admin_Model_Observer
|
|
64 |
$postLogin = $request->getPost('login');
|
65 |
$username = isset($postLogin['username']) ? $postLogin['username'] : '';
|
66 |
$password = isset($postLogin['password']) ? $postLogin['password'] : '';
|
67 |
-
$
|
68 |
$request->setPost('login', null);
|
69 |
}
|
70 |
if (!$request->getParam('forwarded')) {
|
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 |
|
33 |
*/
|
34 |
class Mage_Admin_Model_Observer
|
35 |
{
|
36 |
+
const FLAG_NO_LOGIN = 'no-login';
|
37 |
/**
|
38 |
* Handler for controller_action_predispatch event
|
39 |
*
|
52 |
'forgotpassword',
|
53 |
'resetpassword',
|
54 |
'resetpasswordpost',
|
55 |
+
'logout',
|
56 |
+
'refresh' // captcha refresh
|
57 |
);
|
58 |
if (in_array($requestedActionName, $openActions)) {
|
59 |
$request->setDispatched(true);
|
66 |
$postLogin = $request->getPost('login');
|
67 |
$username = isset($postLogin['username']) ? $postLogin['username'] : '';
|
68 |
$password = isset($postLogin['password']) ? $postLogin['password'] : '';
|
69 |
+
$session->login($username, $password, $request);
|
70 |
$request->setPost('login', null);
|
71 |
}
|
72 |
if (!$request->getParam('forwarded')) {
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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,7 +20,7 @@
|
|
20 |
*
|
21 |
* @category Mage
|
22 |
* @package Mage_Admin
|
23 |
-
* @copyright Copyright (c)
|
24 |
* @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) 2012 Magento Inc. (http://www.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/Collection.php
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
*
|
21 |
* @category Mage
|
22 |
* @package Mage_Admin
|
23 |
-
* @copyright Copyright (c)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -53,42 +53,86 @@ class Mage_Admin_Model_Roles extends Mage_Core_Model_Abstract
|
|
53 |
*/
|
54 |
protected $_eventPrefix = 'admin_roles';
|
55 |
|
|
|
|
|
|
|
56 |
protected function _construct()
|
57 |
{
|
58 |
$this->_init('admin/roles');
|
59 |
}
|
60 |
|
|
|
|
|
|
|
|
|
|
|
61 |
public function update()
|
62 |
{
|
63 |
$this->getResource()->update($this);
|
64 |
return $this;
|
65 |
}
|
66 |
|
|
|
|
|
|
|
|
|
|
|
67 |
public function getUsersCollection()
|
68 |
{
|
69 |
return Mage::getResourceModel('admin/roles_user_collection');
|
70 |
}
|
71 |
|
|
|
|
|
|
|
|
|
|
|
72 |
public function getResourcesTree()
|
73 |
{
|
74 |
return $this->_buildResourcesArray(null, null, null, null, true);
|
75 |
}
|
76 |
|
|
|
|
|
|
|
|
|
|
|
77 |
public function getResourcesList()
|
78 |
{
|
79 |
return $this->_buildResourcesArray();
|
80 |
}
|
81 |
|
|
|
|
|
|
|
|
|
|
|
82 |
public function getResourcesList2D()
|
83 |
{
|
84 |
return $this->_buildResourcesArray(null, null, null, true);
|
85 |
}
|
86 |
|
|
|
|
|
|
|
|
|
|
|
87 |
public function getRoleUsers()
|
88 |
{
|
89 |
return $this->getResource()->getRoleUsers($this);
|
90 |
}
|
91 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
protected function _buildResourcesArray(Varien_Simplexml_Element $resource = null,
|
93 |
$parentName = null, $level = 0, $represent2Darray = null, $rawNodes = false, $module = 'adminhtml')
|
94 |
{
|
@@ -99,7 +143,7 @@ class Mage_Admin_Model_Roles extends Mage_Core_Model_Abstract
|
|
99 |
$level = -1;
|
100 |
} else {
|
101 |
$resourceName = $parentName;
|
102 |
-
if ($resource->getName()
|
103 |
$resourceName = (is_null($parentName) ? '' : $parentName . '/') . $resource->getName();
|
104 |
|
105 |
//assigning module for its' children nodes
|
@@ -121,22 +165,20 @@ class Mage_Admin_Model_Roles extends Mage_Core_Model_Abstract
|
|
121 |
}
|
122 |
}
|
123 |
|
|
|
124 |
$children = $resource->children();
|
125 |
-
|
126 |
-
if ($
|
127 |
-
|
128 |
-
|
129 |
-
return $result;
|
130 |
}
|
131 |
-
}
|
132 |
-
foreach ($children as $child) {
|
133 |
$this->_buildResourcesArray($child, $resourceName, $level + 1, $represent2Darray, $rawNodes, $module);
|
134 |
}
|
|
|
135 |
if ($rawNodes) {
|
136 |
return $resource;
|
137 |
} else {
|
138 |
return $result;
|
139 |
}
|
140 |
}
|
141 |
-
|
142 |
}
|
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 |
|
53 |
*/
|
54 |
protected $_eventPrefix = 'admin_roles';
|
55 |
|
56 |
+
/**
|
57 |
+
* Constructor
|
58 |
+
*/
|
59 |
protected function _construct()
|
60 |
{
|
61 |
$this->_init('admin/roles');
|
62 |
}
|
63 |
|
64 |
+
/**
|
65 |
+
* Update object into database
|
66 |
+
*
|
67 |
+
* @return Mage_Admin_Model_Roles
|
68 |
+
*/
|
69 |
public function update()
|
70 |
{
|
71 |
$this->getResource()->update($this);
|
72 |
return $this;
|
73 |
}
|
74 |
|
75 |
+
/**
|
76 |
+
* Retrieve users collection
|
77 |
+
*
|
78 |
+
* @return Mage_Admin_Model_Resource_Roles_User_Collection
|
79 |
+
*/
|
80 |
public function getUsersCollection()
|
81 |
{
|
82 |
return Mage::getResourceModel('admin/roles_user_collection');
|
83 |
}
|
84 |
|
85 |
+
/**
|
86 |
+
* Return tree of acl resources
|
87 |
+
*
|
88 |
+
* @return array|null|Varien_Simplexml_Element
|
89 |
+
*/
|
90 |
public function getResourcesTree()
|
91 |
{
|
92 |
return $this->_buildResourcesArray(null, null, null, null, true);
|
93 |
}
|
94 |
|
95 |
+
/**
|
96 |
+
* Return list of acl resources
|
97 |
+
*
|
98 |
+
* @return array|null|Varien_Simplexml_Element
|
99 |
+
*/
|
100 |
public function getResourcesList()
|
101 |
{
|
102 |
return $this->_buildResourcesArray();
|
103 |
}
|
104 |
|
105 |
+
/**
|
106 |
+
* Return list of acl resources in 2D format
|
107 |
+
*
|
108 |
+
* @return array|null|Varien_Simplexml_Element
|
109 |
+
*/
|
110 |
public function getResourcesList2D()
|
111 |
{
|
112 |
return $this->_buildResourcesArray(null, null, null, true);
|
113 |
}
|
114 |
|
115 |
+
/**
|
116 |
+
* Return users for role
|
117 |
+
*
|
118 |
+
* @return array|false
|
119 |
+
*/
|
120 |
public function getRoleUsers()
|
121 |
{
|
122 |
return $this->getResource()->getRoleUsers($this);
|
123 |
}
|
124 |
|
125 |
+
/**
|
126 |
+
* Build resources array process
|
127 |
+
*
|
128 |
+
* @param null|Varien_Simplexml_Element $resource
|
129 |
+
* @param null $parentName
|
130 |
+
* @param int $level
|
131 |
+
* @param null $represent2Darray
|
132 |
+
* @param bool $rawNodes
|
133 |
+
* @param string $module
|
134 |
+
* @return array|null|Varien_Simplexml_Element
|
135 |
+
*/
|
136 |
protected function _buildResourcesArray(Varien_Simplexml_Element $resource = null,
|
137 |
$parentName = null, $level = 0, $represent2Darray = null, $rawNodes = false, $module = 'adminhtml')
|
138 |
{
|
143 |
$level = -1;
|
144 |
} else {
|
145 |
$resourceName = $parentName;
|
146 |
+
if (!in_array($resource->getName(), array('title', 'sort_order', 'children', 'disabled'))) {
|
147 |
$resourceName = (is_null($parentName) ? '' : $parentName . '/') . $resource->getName();
|
148 |
|
149 |
//assigning module for its' children nodes
|
165 |
}
|
166 |
}
|
167 |
|
168 |
+
//check children and run recursion if they exists
|
169 |
$children = $resource->children();
|
170 |
+
foreach ($children as $key => $child) {
|
171 |
+
if (1 == $child->disabled) {
|
172 |
+
$resource->{$key} = null;
|
173 |
+
continue;
|
|
|
174 |
}
|
|
|
|
|
175 |
$this->_buildResourcesArray($child, $resourceName, $level + 1, $represent2Darray, $rawNodes, $module);
|
176 |
}
|
177 |
+
|
178 |
if ($rawNodes) {
|
179 |
return $resource;
|
180 |
} else {
|
181 |
return $result;
|
182 |
}
|
183 |
}
|
|
|
184 |
}
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -86,7 +86,7 @@ class Mage_Admin_Model_Session extends Mage_Core_Model_Session_Abstract
|
|
86 |
}
|
87 |
|
88 |
try {
|
89 |
-
|
90 |
$user = Mage::getModel('admin/user');
|
91 |
$user->login($username, $password);
|
92 |
if ($user->getId()) {
|
@@ -98,19 +98,19 @@ class Mage_Admin_Model_Session extends Mage_Core_Model_Session_Abstract
|
|
98 |
$this->setIsFirstPageAfterLogin(true);
|
99 |
$this->setUser($user);
|
100 |
$this->setAcl(Mage::getResourceModel('admin/acl')->loadAcl());
|
101 |
-
|
|
|
|
|
102 |
Mage::dispatchEvent('admin_session_user_login_success', array('user' => $user));
|
103 |
header('Location: ' . $requestUri);
|
104 |
exit;
|
105 |
}
|
|
|
|
|
106 |
}
|
107 |
-
|
108 |
-
Mage::throwException(Mage::helper('adminhtml')->__('Invalid Username or Password.'));
|
109 |
-
}
|
110 |
-
}
|
111 |
-
catch (Mage_Core_Exception $e) {
|
112 |
Mage::dispatchEvent('admin_session_user_login_failed',
|
113 |
-
|
114 |
if ($request && !$request->getParam('messageSent')) {
|
115 |
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
116 |
$request->setParam('messageSent', true);
|
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 |
|
86 |
}
|
87 |
|
88 |
try {
|
89 |
+
/** @var $user Mage_Admin_Model_User */
|
90 |
$user = Mage::getModel('admin/user');
|
91 |
$user->login($username, $password);
|
92 |
if ($user->getId()) {
|
98 |
$this->setIsFirstPageAfterLogin(true);
|
99 |
$this->setUser($user);
|
100 |
$this->setAcl(Mage::getResourceModel('admin/acl')->loadAcl());
|
101 |
+
|
102 |
+
$requestUri = $this->_getRequestUri($request);
|
103 |
+
if ($requestUri) {
|
104 |
Mage::dispatchEvent('admin_session_user_login_success', array('user' => $user));
|
105 |
header('Location: ' . $requestUri);
|
106 |
exit;
|
107 |
}
|
108 |
+
} else {
|
109 |
+
Mage::throwException(Mage::helper('adminhtml')->__('Invalid User Name or Password.'));
|
110 |
}
|
111 |
+
} catch (Mage_Core_Exception $e) {
|
|
|
|
|
|
|
|
|
112 |
Mage::dispatchEvent('admin_session_user_login_failed',
|
113 |
+
array('user_name' => $username, 'exception' => $e));
|
114 |
if ($request && !$request->getParam('messageSent')) {
|
115 |
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
116 |
$request->setParam('messageSent', true);
|
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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -61,7 +61,7 @@
|
|
61 |
class Mage_Admin_Model_User extends Mage_Core_Model_Abstract
|
62 |
{
|
63 |
/**
|
64 |
-
* Configuration
|
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';
|
@@ -328,6 +328,10 @@ class Mage_Admin_Model_User extends Mage_Core_Model_Abstract
|
|
328 |
$result = false;
|
329 |
|
330 |
try {
|
|
|
|
|
|
|
|
|
331 |
$this->loadByUsername($username);
|
332 |
$sensitive = ($config) ? $username == $this->getUsername() : true;
|
333 |
|
@@ -556,7 +560,7 @@ class Mage_Admin_Model_User extends Mage_Core_Model_Abstract
|
|
556 |
throw Mage::exception('Mage_Core', Mage::helper('adminhtml')->__('Invalid password reset token.'));
|
557 |
}
|
558 |
$this->setRpToken($newResetPasswordLinkToken);
|
559 |
-
$currentDate = Varien_Date::now(
|
560 |
$this->setRpTokenCreatedAt($currentDate);
|
561 |
|
562 |
return $this;
|
@@ -578,7 +582,7 @@ class Mage_Admin_Model_User extends Mage_Core_Model_Abstract
|
|
578 |
|
579 |
$tokenExpirationPeriod = Mage::helper('admin')->getResetPasswordLinkExpirationPeriod();
|
580 |
|
581 |
-
$currentDate = Varien_Date::now(
|
582 |
$currentTimestamp = Varien_Date::toTimestamp($currentDate);
|
583 |
$tokenTimestamp = Varien_Date::toTimestamp($resetPasswordLinkTokenCreatedAt);
|
584 |
if ($tokenTimestamp > $currentTimestamp) {
|
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 |
|
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';
|
328 |
$result = false;
|
329 |
|
330 |
try {
|
331 |
+
Mage::dispatchEvent('admin_user_authenticate_before', array(
|
332 |
+
'username' => $username,
|
333 |
+
'user' => $this
|
334 |
+
));
|
335 |
$this->loadByUsername($username);
|
336 |
$sensitive = ($config) ? $username == $this->getUsername() : true;
|
337 |
|
560 |
throw Mage::exception('Mage_Core', Mage::helper('adminhtml')->__('Invalid password reset token.'));
|
561 |
}
|
562 |
$this->setRpToken($newResetPasswordLinkToken);
|
563 |
+
$currentDate = Varien_Date::now();
|
564 |
$this->setRpTokenCreatedAt($currentDate);
|
565 |
|
566 |
return $this;
|
582 |
|
583 |
$tokenExpirationPeriod = Mage::helper('admin')->getResetPasswordLinkExpirationPeriod();
|
584 |
|
585 |
+
$currentDate = Varien_Date::now();
|
586 |
$currentTimestamp = Varien_Date::toTimestamp($currentDate);
|
587 |
$tokenTimestamp = Varien_Date::toTimestamp($resetPasswordLinkTokenCreatedAt);
|
588 |
if ($tokenTimestamp > $currentTimestamp) {
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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,7 +21,7 @@
|
|
21 |
*
|
22 |
* @category Mage
|
23 |
* @package Mage_Admin
|
24 |
-
* @copyright Copyright (c)
|
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_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 |
-->
|
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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -41,8 +41,8 @@ $table = $installer->getConnection()
|
|
41 |
'primary' => true,
|
42 |
), 'Assert ID')
|
43 |
->addColumn('assert_type', Varien_Db_Ddl_Table::TYPE_TEXT, 20, array(
|
44 |
-
'nullable' =>
|
45 |
-
'default' =>
|
46 |
), 'Assert Type')
|
47 |
->addColumn('assert_data', Varien_Db_Ddl_Table::TYPE_TEXT, '64k', array(
|
48 |
), 'Assert Data')
|
@@ -85,8 +85,8 @@ $table = $installer->getConnection()
|
|
85 |
'default' => '0',
|
86 |
), 'User ID')
|
87 |
->addColumn('role_name', Varien_Db_Ddl_Table::TYPE_TEXT, 50, array(
|
88 |
-
'nullable' =>
|
89 |
-
'default' =>
|
90 |
), 'Role Name')
|
91 |
->addIndex($installer->getIdxName('admin/role', array('parent_id', 'sort_order')),
|
92 |
array('parent_id', 'sort_order'))
|
@@ -112,8 +112,8 @@ $table = $installer->getConnection()
|
|
112 |
'default' => '0',
|
113 |
), 'Role ID')
|
114 |
->addColumn('resource_id', Varien_Db_Ddl_Table::TYPE_TEXT, 255, array(
|
115 |
-
'nullable' =>
|
116 |
-
'default' =>
|
117 |
), 'Resource ID')
|
118 |
->addColumn('privileges', Varien_Db_Ddl_Table::TYPE_TEXT, 20, array(
|
119 |
'nullable' => true,
|
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 |
|
41 |
'primary' => true,
|
42 |
), 'Assert ID')
|
43 |
->addColumn('assert_type', Varien_Db_Ddl_Table::TYPE_TEXT, 20, array(
|
44 |
+
'nullable' => true,
|
45 |
+
'default' => null,
|
46 |
), 'Assert Type')
|
47 |
->addColumn('assert_data', Varien_Db_Ddl_Table::TYPE_TEXT, '64k', array(
|
48 |
), 'Assert Data')
|
85 |
'default' => '0',
|
86 |
), 'User ID')
|
87 |
->addColumn('role_name', Varien_Db_Ddl_Table::TYPE_TEXT, 50, array(
|
88 |
+
'nullable' => true,
|
89 |
+
'default' => null,
|
90 |
), 'Role Name')
|
91 |
->addIndex($installer->getIdxName('admin/role', array('parent_id', 'sort_order')),
|
92 |
array('parent_id', 'sort_order'))
|
112 |
'default' => '0',
|
113 |
), 'Role ID')
|
114 |
->addColumn('resource_id', Varien_Db_Ddl_Table::TYPE_TEXT, 255, array(
|
115 |
+
'nullable' => true,
|
116 |
+
'default' => null,
|
117 |
), 'Resource ID')
|
118 |
->addColumn('privileges', Varien_Db_Ddl_Table::TYPE_TEXT, 20, array(
|
119 |
'nullable' => true,
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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.6.0.0-1.6.1.0.php → upgrade-1.6.0.0-1.6.1.0.php}
RENAMED
@@ -20,7 +20,7 @@
|
|
20 |
*
|
21 |
* @category Mage
|
22 |
* @package Mage_Admin
|
23 |
-
* @copyright Copyright (c)
|
24 |
* @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) 2012 Magento Inc. (http://www.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/Helper/Data.php
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
*
|
21 |
* @category Mage
|
22 |
* @package Mage_AdminNotification
|
23 |
-
* @copyright Copyright (c)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -129,6 +129,8 @@ class Mage_AdminNotification_Helper_Data extends Mage_Core_Helper_Abstract
|
|
129 |
$this->_popupReadable = true;
|
130 |
}
|
131 |
}
|
|
|
|
|
132 |
}
|
133 |
return $this->_popupReadable;
|
134 |
}
|
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 |
|
129 |
$this->_popupReadable = true;
|
130 |
}
|
131 |
}
|
132 |
+
|
133 |
+
$curl->close();
|
134 |
}
|
135 |
return $this->_popupReadable;
|
136 |
}
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -117,4 +117,94 @@ class Mage_AdminNotification_Model_Inbox extends Mage_Core_Model_Abstract
|
|
117 |
{
|
118 |
return $this->getResource()->parse($this, $data);
|
119 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
}
|
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 |
|
117 |
{
|
118 |
return $this->getResource()->parse($this, $data);
|
119 |
}
|
120 |
+
|
121 |
+
/**
|
122 |
+
* Add new message
|
123 |
+
*
|
124 |
+
* @param int $severity
|
125 |
+
* @param string $title
|
126 |
+
* @param string|array $description
|
127 |
+
* @param string $url
|
128 |
+
* @param bool $isInternal
|
129 |
+
* @return Mage_AdminNotification_Model_Inbox
|
130 |
+
*/
|
131 |
+
public function add($severity, $title, $description, $url = '', $isInternal = true)
|
132 |
+
{
|
133 |
+
if (!$this->getSeverities($severity)) {
|
134 |
+
Mage::throwException($this->__('Wrong message type'));
|
135 |
+
}
|
136 |
+
if (is_array($description)) {
|
137 |
+
$description = '<ul><li>' . implode('</li><li>', $description) . '</li></ul>';
|
138 |
+
}
|
139 |
+
$date = date('Y-m-d H:i:s');
|
140 |
+
$this->parse(array(array(
|
141 |
+
'severity' => $severity,
|
142 |
+
'date_added' => $date,
|
143 |
+
'title' => $title,
|
144 |
+
'description' => $description,
|
145 |
+
'url' => $url,
|
146 |
+
'internal' => $isInternal
|
147 |
+
)));
|
148 |
+
return $this;
|
149 |
+
}
|
150 |
+
|
151 |
+
/**
|
152 |
+
* Add critical severity message
|
153 |
+
*
|
154 |
+
* @param string $title
|
155 |
+
* @param string|array $description
|
156 |
+
* @param string $url
|
157 |
+
* @param bool $isInternal
|
158 |
+
* @return Mage_AdminNotification_Model_Inbox
|
159 |
+
*/
|
160 |
+
public function addCritical($title, $description, $url = '', $isInternal = true)
|
161 |
+
{
|
162 |
+
$this->add(self::SEVERITY_CRITICAL, $title, $description, $url, $isInternal);
|
163 |
+
return $this;
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Add major severity message
|
168 |
+
*
|
169 |
+
* @param string $title
|
170 |
+
* @param string|array $description
|
171 |
+
* @param string $url
|
172 |
+
* @param bool $isInternal
|
173 |
+
* @return Mage_AdminNotification_Model_Inbox
|
174 |
+
*/
|
175 |
+
public function addMajor($title, $description, $url = '', $isInternal = true)
|
176 |
+
{
|
177 |
+
$this->add(self::SEVERITY_MAJOR, $title, $description, $url, $isInternal);
|
178 |
+
return $this;
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* Add minor severity message
|
183 |
+
*
|
184 |
+
* @param string $title
|
185 |
+
* @param string|array $description
|
186 |
+
* @param string $url
|
187 |
+
* @param bool $isInternal
|
188 |
+
* @return Mage_AdminNotification_Model_Inbox
|
189 |
+
*/
|
190 |
+
public function addMinor($title, $description, $url = '', $isInternal = true)
|
191 |
+
{
|
192 |
+
$this->add(self::SEVERITY_MINOR, $title, $description, $url, $isInternal);
|
193 |
+
return $this;
|
194 |
+
}
|
195 |
+
|
196 |
+
/**
|
197 |
+
* Add notice
|
198 |
+
*
|
199 |
+
* @param string $title
|
200 |
+
* @param string|array $description
|
201 |
+
* @param string $url
|
202 |
+
* @param bool $isInternal
|
203 |
+
* @return Mage_AdminNotification_Model_Inbox
|
204 |
+
*/
|
205 |
+
public function addNotice($title, $description, $url = '', $isInternal = true)
|
206 |
+
{
|
207 |
+
$this->add(self::SEVERITY_NOTICE, $title, $description, $url, $isInternal);
|
208 |
+
return $this;
|
209 |
+
}
|
210 |
}
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -101,7 +101,13 @@ class Mage_AdminNotification_Model_Resource_Inbox extends Mage_Core_Model_Resour
|
|
101 |
foreach ($data as $item) {
|
102 |
$select = $adapter->select()
|
103 |
->from($this->getMainTable())
|
104 |
-
->where('
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
|
106 |
if (isset($item['internal'])) {
|
107 |
$row = false;
|
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 |
|
101 |
foreach ($data as $item) {
|
102 |
$select = $adapter->select()
|
103 |
->from($this->getMainTable())
|
104 |
+
->where('title = ?', $item['title']);
|
105 |
+
|
106 |
+
if (empty($item['url'])) {
|
107 |
+
$select->where('url IS NULL');
|
108 |
+
} else {
|
109 |
+
$select->where('url = ?', $item['url']);
|
110 |
+
}
|
111 |
|
112 |
if (isset($item['internal'])) {
|
113 |
$row = false;
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -50,6 +50,8 @@ class Mage_AdminNotification_Model_Survey
|
|
50 |
$curl->setConfig(array('timeout' => 5))
|
51 |
->write(Zend_Http_Client::GET, self::getSurveyUrl(), '1.0');
|
52 |
$response = $curl->read();
|
|
|
|
|
53 |
if (Zend_Http_Response::extractCode($response) == 200) {
|
54 |
return true;
|
55 |
}
|
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 |
|
50 |
$curl->setConfig(array('timeout' => 5))
|
51 |
->write(Zend_Http_Client::GET, self::getSurveyUrl(), '1.0');
|
52 |
$response = $curl->read();
|
53 |
+
$curl->close();
|
54 |
+
|
55 |
if (Zend_Http_Response::extractCode($response) == 200) {
|
56 |
return true;
|
57 |
}
|
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)
|
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) 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 |
-->
|
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)
|
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) 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 |
-->
|
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)
|
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) 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 |
-->
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -35,6 +35,16 @@ class Mage_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
35 |
{
|
36 |
const XML_PATH_API_WSI = 'api/config/compliance_wsi';
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
/**
|
39 |
* @return boolean
|
40 |
*/
|
@@ -165,7 +175,11 @@ class Mage_Api_Helper_Data extends Mage_Core_Helper_Abstract
|
|
165 |
|
166 |
foreach ($objectKeys as $key) {
|
167 |
if (is_object($obj->$key) && isset($obj->$key->complexObjectArray)) {
|
168 |
-
|
|
|
|
|
|
|
|
|
169 |
$modifiedKeys[] = $key;
|
170 |
}
|
171 |
}
|
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 |
|
35 |
{
|
36 |
const XML_PATH_API_WSI = 'api/config/compliance_wsi';
|
37 |
|
38 |
+
/**
|
39 |
+
* Method to find adapter code depending on WS-I compatibility setting
|
40 |
+
*
|
41 |
+
* @return string
|
42 |
+
*/
|
43 |
+
public function getV2AdapterCode()
|
44 |
+
{
|
45 |
+
return $this->isComplianceWSI() ? 'soap_wsi' : 'soap_v2';
|
46 |
+
}
|
47 |
+
|
48 |
/**
|
49 |
* @return boolean
|
50 |
*/
|
175 |
|
176 |
foreach ($objectKeys as $key) {
|
177 |
if (is_object($obj->$key) && isset($obj->$key->complexObjectArray)) {
|
178 |
+
if (is_array($obj->$key->complexObjectArray)) {
|
179 |
+
$obj->$key = $obj->$key->complexObjectArray;
|
180 |
+
} else { // for one element array
|
181 |
+
$obj->$key = array($obj->$key->complexObjectArray);
|
182 |
+
}
|
183 |
$modifiedKeys[] = $key;
|
184 |
}
|
185 |
}
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -71,6 +71,24 @@ class Mage_Api_Model_Config extends Varien_Simplexml_Config
|
|
71 |
return $this;
|
72 |
}
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
/**
|
75 |
* Retrieve all adapters
|
76 |
*
|
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 |
|
71 |
return $this;
|
72 |
}
|
73 |
|
74 |
+
/**
|
75 |
+
* Retrieve adapter aliases from config.
|
76 |
+
*
|
77 |
+
* @return array
|
78 |
+
*/
|
79 |
+
public function getAdapterAliases()
|
80 |
+
{
|
81 |
+
$aliases = array();
|
82 |
+
|
83 |
+
foreach ($this->getNode('adapter_aliases')->children() as $alias => $adapter) {
|
84 |
+
$aliases[$alias] = array(
|
85 |
+
(string) $adapter->suggest_class, // model class name
|
86 |
+
(string) $adapter->suggest_method // model method name
|
87 |
+
);
|
88 |
+
}
|
89 |
+
return $aliases;
|
90 |
+
}
|
91 |
+
|
92 |
/**
|
93 |
* Retrieve all adapters
|
94 |
*
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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,12 +20,12 @@
|
|
20 |
*
|
21 |
* @category Mage
|
22 |
* @package Mage_Api
|
23 |
-
* @copyright Copyright (c)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
27 |
/**
|
28 |
-
*
|
29 |
*
|
30 |
* @method Mage_Api_Model_Resource_Role _getResource()
|
31 |
* @method Mage_Api_Model_Resource_Role getResource()
|
@@ -48,6 +48,9 @@
|
|
48 |
*/
|
49 |
class Mage_Api_Model_Role extends Mage_Core_Model_Abstract
|
50 |
{
|
|
|
|
|
|
|
51 |
protected function _construct()
|
52 |
{
|
53 |
$this->_init('api/role');
|
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 |
+
* Role item model
|
29 |
*
|
30 |
* @method Mage_Api_Model_Resource_Role _getResource()
|
31 |
* @method Mage_Api_Model_Resource_Role getResource()
|
48 |
*/
|
49 |
class Mage_Api_Model_Role extends Mage_Core_Model_Abstract
|
50 |
{
|
51 |
+
/**
|
52 |
+
* Initialize resource
|
53 |
+
*/
|
54 |
protected function _construct()
|
55 |
{
|
56 |
$this->_init('api/role');
|
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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -41,6 +41,8 @@
|
|
41 |
* @method Mage_Api_Model_Roles setUserId(int $value)
|
42 |
* @method string getRoleName()
|
43 |
* @method Mage_Api_Model_Roles setRoleName(string $value)
|
|
|
|
|
44 |
*
|
45 |
* @category Mage
|
46 |
* @package Mage_Api
|
@@ -48,6 +50,14 @@
|
|
48 |
*/
|
49 |
class Mage_Api_Model_Roles extends Mage_Core_Model_Abstract
|
50 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
protected function _construct()
|
52 |
{
|
53 |
$this->_init('api/roles');
|
@@ -84,8 +94,10 @@ class Mage_Api_Model_Roles extends Mage_Core_Model_Abstract
|
|
84 |
return $this->getResource()->getRoleUsers($this);
|
85 |
}
|
86 |
|
87 |
-
protected function _buildResourcesArray(
|
88 |
-
|
|
|
|
|
89 |
static $result;
|
90 |
|
91 |
if (is_null($resource)) {
|
@@ -94,7 +106,9 @@ class Mage_Api_Model_Roles extends Mage_Core_Model_Abstract
|
|
94 |
$level = -1;
|
95 |
} else {
|
96 |
$resourceName = $parentName;
|
97 |
-
if ($resource->getName()!='title' && $resource->getName()!='sort_order'
|
|
|
|
|
98 |
$resourceName = (is_null($parentName) ? '' : $parentName.'/').$resource->getName();
|
99 |
|
100 |
//assigning module for its' children nodes
|
@@ -135,4 +149,33 @@ class Mage_Api_Model_Roles extends Mage_Core_Model_Abstract
|
|
135 |
}
|
136 |
}
|
137 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
138 |
}
|
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 |
|
41 |
* @method Mage_Api_Model_Roles setUserId(int $value)
|
42 |
* @method string getRoleName()
|
43 |
* @method Mage_Api_Model_Roles setRoleName(string $value)
|
44 |
+
* @method string getName()
|
45 |
+
* @method Mage_Api_Model_Role setName() setName(string $name)
|
46 |
*
|
47 |
* @category Mage
|
48 |
* @package Mage_Api
|
50 |
*/
|
51 |
class Mage_Api_Model_Roles extends Mage_Core_Model_Abstract
|
52 |
{
|
53 |
+
/**
|
54 |
+
* Filters
|
55 |
+
*
|
56 |
+
* @var array
|
57 |
+
*/
|
58 |
+
protected $_filters;
|
59 |
+
|
60 |
+
|
61 |
protected function _construct()
|
62 |
{
|
63 |
$this->_init('api/roles');
|
94 |
return $this->getResource()->getRoleUsers($this);
|
95 |
}
|
96 |
|
97 |
+
protected function _buildResourcesArray(
|
98 |
+
Varien_Simplexml_Element $resource = null, $parentName = null, $level = 0, $represent2Darray = null,
|
99 |
+
$rawNodes = false, $module = 'adminhtml'
|
100 |
+
) {
|
101 |
static $result;
|
102 |
|
103 |
if (is_null($resource)) {
|
106 |
$level = -1;
|
107 |
} else {
|
108 |
$resourceName = $parentName;
|
109 |
+
if ($resource->getName()!='title' && $resource->getName()!='sort_order'
|
110 |
+
&& $resource->getName() != 'children'
|
111 |
+
) {
|
112 |
$resourceName = (is_null($parentName) ? '' : $parentName.'/').$resource->getName();
|
113 |
|
114 |
//assigning module for its' children nodes
|
149 |
}
|
150 |
}
|
151 |
|
152 |
+
/**
|
153 |
+
* Filter data before save
|
154 |
+
*
|
155 |
+
* @return Mage_Api_Model_Roles
|
156 |
+
*/
|
157 |
+
protected function _beforeSave()
|
158 |
+
{
|
159 |
+
$this->filter();
|
160 |
+
parent::_beforeSave();
|
161 |
+
return $this;
|
162 |
+
}
|
163 |
+
|
164 |
+
/**
|
165 |
+
* Filter set data
|
166 |
+
*
|
167 |
+
* @return Mage_Api_Model_Roles
|
168 |
+
*/
|
169 |
+
public function filter()
|
170 |
+
{
|
171 |
+
$data = $this->getData();
|
172 |
+
if (!$this->_filters || !$data) {
|
173 |
+
return $this;
|
174 |
+
}
|
175 |
+
/** @var $filter Mage_Core_Model_Input_Filter */
|
176 |
+
$filter = Mage::getModel('core/input_filter');
|
177 |
+
$filter->setFilters($this->_filters);
|
178 |
+
$this->setData($filter->filter($data));
|
179 |
+
return $this;
|
180 |
+
}
|
181 |
}
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -43,35 +43,89 @@ class Mage_Api_Model_Server
|
|
43 |
/**
|
44 |
* Web service adapter
|
45 |
*
|
46 |
-
* @var
|
47 |
*/
|
48 |
protected $_adapter;
|
49 |
|
50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
{
|
52 |
-
$
|
53 |
-
$
|
54 |
-
$
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
58 |
if (!($adapterModel instanceof Mage_Api_Model_Server_Adapter_Interface)) {
|
59 |
Mage::throwException(Mage::helper('api')->__('Invalid webservice adapter specified.'));
|
60 |
}
|
61 |
-
|
62 |
$this->_adapter = $adapterModel;
|
63 |
-
$this->
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
65 |
if (!isset($handlers->$handler)) {
|
66 |
Mage::throwException(Mage::helper('api')->__('Invalid webservice handler specified.'));
|
67 |
}
|
68 |
-
|
69 |
$handlerClassName = Mage::getConfig()->getModelClassName((string) $handlers->$handler->model);
|
|
|
70 |
$this->_adapter->setHandler($handlerClassName);
|
71 |
} else {
|
72 |
Mage::throwException(Mage::helper('api')->__('Invalid webservice adapter specified.'));
|
73 |
}
|
74 |
-
|
75 |
return $this;
|
76 |
}
|
77 |
|
@@ -96,7 +150,7 @@ class Mage_Api_Model_Server
|
|
96 |
/**
|
97 |
* Retrieve web service adapter
|
98 |
*
|
99 |
-
* @return
|
100 |
*/
|
101 |
public function getAdapter()
|
102 |
{
|
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 |
|
43 |
/**
|
44 |
* Web service adapter
|
45 |
*
|
46 |
+
* @var Mage_Api_Model_Server_Adapter_Interface
|
47 |
*/
|
48 |
protected $_adapter;
|
49 |
|
50 |
+
/**
|
51 |
+
* Complex retrieve adapter code by calling auxiliary model method
|
52 |
+
*
|
53 |
+
* @param string $alias Alias name
|
54 |
+
* @return string|null Returns NULL if no alias found
|
55 |
+
*/
|
56 |
+
public function getAdapterCodeByAlias($alias)
|
57 |
+
{
|
58 |
+
/** @var $config Mage_Api_Model_Config */
|
59 |
+
$config = Mage::getSingleton('api/config');
|
60 |
+
$aliases = $config->getAdapterAliases();
|
61 |
+
|
62 |
+
if (!isset($aliases[$alias])) {
|
63 |
+
return null;
|
64 |
+
}
|
65 |
+
$object = Mage::getModel($aliases[$alias][0]);
|
66 |
+
$method = $aliases[$alias][1];
|
67 |
+
|
68 |
+
if (!method_exists($object, $method)) {
|
69 |
+
Mage::throwException(Mage::helper('api')->__('Can not find webservice adapter.'));
|
70 |
+
}
|
71 |
+
return $object->$method();
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Initialize server components
|
76 |
+
*
|
77 |
+
* @param Mage_Api_Controller_Action $controller
|
78 |
+
* @param string $adapter Adapter name
|
79 |
+
* @param string $handler Handler name
|
80 |
+
* @return Mage_Api_Model_Server
|
81 |
+
*/
|
82 |
+
public function init(Mage_Api_Controller_Action $controller, $adapter = 'default', $handler = 'default')
|
83 |
+
{
|
84 |
+
$this->initialize($adapter, $handler);
|
85 |
+
|
86 |
+
$this->_adapter->setController($controller);
|
87 |
+
|
88 |
+
return $this;
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Initialize server components. Lightweight implementation of init() method
|
93 |
+
*
|
94 |
+
* @param string $adapterCode Adapter code
|
95 |
+
* @param string $handler OPTIONAL Handler name (if not specified, it will be found from config)
|
96 |
+
* @return Mage_Api_Model_Server
|
97 |
+
*/
|
98 |
+
public function initialize($adapterCode, $handler = null)
|
99 |
{
|
100 |
+
/** @var $helper Mage_Api_Model_Config */
|
101 |
+
$helper = Mage::getSingleton('api/config');
|
102 |
+
$adapters = $helper->getActiveAdapters();
|
103 |
+
|
104 |
+
if (isset($adapters[$adapterCode])) {
|
105 |
+
/** @var $adapterModel Mage_Api_Model_Server_Adapter_Interface */
|
106 |
+
$adapterModel = Mage::getModel((string) $adapters[$adapterCode]->model);
|
107 |
+
|
108 |
if (!($adapterModel instanceof Mage_Api_Model_Server_Adapter_Interface)) {
|
109 |
Mage::throwException(Mage::helper('api')->__('Invalid webservice adapter specified.'));
|
110 |
}
|
|
|
111 |
$this->_adapter = $adapterModel;
|
112 |
+
$this->_api = $adapterCode;
|
113 |
+
|
114 |
+
// get handler code from config if no handler passed as argument
|
115 |
+
if (null === $handler && !empty($adapters[$adapterCode]->handler)) {
|
116 |
+
$handler = (string) $adapters[$adapterCode]->handler;
|
117 |
+
}
|
118 |
+
$handlers = $helper->getHandlers();
|
119 |
|
120 |
if (!isset($handlers->$handler)) {
|
121 |
Mage::throwException(Mage::helper('api')->__('Invalid webservice handler specified.'));
|
122 |
}
|
|
|
123 |
$handlerClassName = Mage::getConfig()->getModelClassName((string) $handlers->$handler->model);
|
124 |
+
|
125 |
$this->_adapter->setHandler($handlerClassName);
|
126 |
} else {
|
127 |
Mage::throwException(Mage::helper('api')->__('Invalid webservice adapter specified.'));
|
128 |
}
|
|
|
129 |
return $this;
|
130 |
}
|
131 |
|
150 |
/**
|
151 |
* Retrieve web service adapter
|
152 |
*
|
153 |
+
* @return Mage_Api_Model_Server_Adapter_Interface
|
154 |
*/
|
155 |
public function getAdapter()
|
156 |
{
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -64,7 +64,7 @@ class Mage_Api_Model_Server_Adapter_Soap
|
|
64 |
return $this->getData('handler');
|
65 |
}
|
66 |
|
67 |
-
|
68 |
* Set webservice api controller
|
69 |
*
|
70 |
* @param Mage_Api_Controller_Action $controller
|
@@ -77,13 +77,22 @@ class Mage_Api_Model_Server_Adapter_Soap
|
|
77 |
}
|
78 |
|
79 |
/**
|
80 |
-
* Retrive webservice api controller
|
81 |
*
|
82 |
-
* @return Mage_Api_Controller_Action
|
83 |
*/
|
84 |
public function getController()
|
85 |
{
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
}
|
88 |
|
89 |
/**
|
@@ -94,12 +103,11 @@ class Mage_Api_Model_Server_Adapter_Soap
|
|
94 |
*/
|
95 |
public function run()
|
96 |
{
|
97 |
-
|
98 |
$apiConfigCharset = Mage::getStoreConfig("api/config/charset");
|
99 |
|
100 |
if ($this->getController()->getRequest()->getParam('wsdl') !== null) {
|
101 |
// Generating wsdl content from template
|
102 |
-
$io
|
103 |
$io->open(array('path'=>Mage::getModuleDir('etc', 'Mage_Api')));
|
104 |
|
105 |
$wsdlContent = $io->read('wsdl.xml');
|
@@ -112,14 +120,11 @@ class Mage_Api_Model_Server_Adapter_Soap
|
|
112 |
unset($queryParams['wsdl']);
|
113 |
}
|
114 |
|
115 |
-
$wsdlConfig->setUrl(
|
116 |
-
htmlspecialchars(Mage::getUrl('*/*/*', array('_query'=>$queryParams) ))
|
117 |
-
);
|
118 |
$wsdlConfig->setName('Magento');
|
119 |
$wsdlConfig->setHandler($this->getHandler());
|
120 |
|
121 |
-
$template->setVariables(array('wsdl'
|
122 |
-
|
123 |
|
124 |
$this->getController()->getResponse()
|
125 |
->clearHeaders()
|
@@ -179,9 +184,9 @@ class Mage_Api_Model_Server_Adapter_Soap
|
|
179 |
}
|
180 |
|
181 |
/**
|
182 |
-
*
|
183 |
*
|
184 |
-
*
|
185 |
*/
|
186 |
protected function _extensionLoaded()
|
187 |
{
|
@@ -197,16 +202,18 @@ class Mage_Api_Model_Server_Adapter_Soap
|
|
197 |
protected function getWsdlUrl($params = null, $withAuth = true)
|
198 |
{
|
199 |
$urlModel = Mage::getModel('core/url')
|
200 |
-
|
201 |
|
202 |
-
$wsdlUrl =
|
|
|
|
|
203 |
|
204 |
if( $withAuth ) {
|
205 |
$phpAuthUser = $this->getController()->getRequest()->getServer('PHP_AUTH_USER', false);
|
206 |
$phpAuthPw = $this->getController()->getRequest()->getServer('PHP_AUTH_PW', false);
|
207 |
|
208 |
if ($phpAuthUser && $phpAuthPw) {
|
209 |
-
$wsdlUrl = sprintf("http://%s:%s@%s", $phpAuthUser, $phpAuthPw, str_replace('http://', '', $wsdlUrl )
|
210 |
}
|
211 |
}
|
212 |
|
@@ -222,21 +229,31 @@ class Mage_Api_Model_Server_Adapter_Soap
|
|
222 |
protected function _instantiateServer()
|
223 |
{
|
224 |
$apiConfigCharset = Mage::getStoreConfig('api/config/charset');
|
225 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
$tries = 0;
|
227 |
do {
|
228 |
$retry = false;
|
229 |
try {
|
230 |
-
$this->_soap = new Zend_Soap_Server($this->getWsdlUrl(array("wsdl" => 1)),
|
|
|
231 |
} catch (SoapFault $e) {
|
232 |
-
if (false !== strpos($e->getMessage(),
|
|
|
|
|
233 |
$retry = true;
|
234 |
sleep(1);
|
235 |
} else {
|
236 |
throw $e;
|
237 |
}
|
238 |
$tries++;
|
239 |
-
|
240 |
} while ($retry && $tries < 5);
|
241 |
use_soap_error_handler(false);
|
242 |
$this->_soap
|
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 |
|
64 |
return $this->getData('handler');
|
65 |
}
|
66 |
|
67 |
+
/**
|
68 |
* Set webservice api controller
|
69 |
*
|
70 |
* @param Mage_Api_Controller_Action $controller
|
77 |
}
|
78 |
|
79 |
/**
|
80 |
+
* Retrive webservice api controller. If no controller have been set - emulate it by the use of Varien_Object
|
81 |
*
|
82 |
+
* @return Mage_Api_Controller_Action|Varien_Object
|
83 |
*/
|
84 |
public function getController()
|
85 |
{
|
86 |
+
$controller = $this->getData('controller');
|
87 |
+
|
88 |
+
if (null === $controller) {
|
89 |
+
$controller = new Varien_Object(
|
90 |
+
array('request' => Mage::app()->getRequest(), 'response' => Mage::app()->getResponse())
|
91 |
+
);
|
92 |
+
|
93 |
+
$this->setData('controller', $controller);
|
94 |
+
}
|
95 |
+
return $controller;
|
96 |
}
|
97 |
|
98 |
/**
|
103 |
*/
|
104 |
public function run()
|
105 |
{
|
|
|
106 |
$apiConfigCharset = Mage::getStoreConfig("api/config/charset");
|
107 |
|
108 |
if ($this->getController()->getRequest()->getParam('wsdl') !== null) {
|
109 |
// Generating wsdl content from template
|
110 |
+
$io = new Varien_Io_File();
|
111 |
$io->open(array('path'=>Mage::getModuleDir('etc', 'Mage_Api')));
|
112 |
|
113 |
$wsdlContent = $io->read('wsdl.xml');
|
120 |
unset($queryParams['wsdl']);
|
121 |
}
|
122 |
|
123 |
+
$wsdlConfig->setUrl(htmlspecialchars(Mage::getUrl('*/*/*', array('_query'=>$queryParams))));
|
|
|
|
|
124 |
$wsdlConfig->setName('Magento');
|
125 |
$wsdlConfig->setHandler($this->getHandler());
|
126 |
|
127 |
+
$template->setVariables(array('wsdl' => $wsdlConfig));
|
|
|
128 |
|
129 |
$this->getController()->getResponse()
|
130 |
->clearHeaders()
|
184 |
}
|
185 |
|
186 |
/**
|
187 |
+
* Check whether Soap extension is loaded
|
188 |
*
|
189 |
+
* @return boolean
|
190 |
*/
|
191 |
protected function _extensionLoaded()
|
192 |
{
|
202 |
protected function getWsdlUrl($params = null, $withAuth = true)
|
203 |
{
|
204 |
$urlModel = Mage::getModel('core/url')
|
205 |
+
->setUseSession(false);
|
206 |
|
207 |
+
$wsdlUrl = $params !== null
|
208 |
+
? $urlModel->getUrl('*/*/*', array('_current' => true, '_query' => $params))
|
209 |
+
: $urlModel->getUrl('*/*/*');
|
210 |
|
211 |
if( $withAuth ) {
|
212 |
$phpAuthUser = $this->getController()->getRequest()->getServer('PHP_AUTH_USER', false);
|
213 |
$phpAuthPw = $this->getController()->getRequest()->getServer('PHP_AUTH_PW', false);
|
214 |
|
215 |
if ($phpAuthUser && $phpAuthPw) {
|
216 |
+
$wsdlUrl = sprintf("http://%s:%s@%s", $phpAuthUser, $phpAuthPw, str_replace('http://', '', $wsdlUrl ));
|
217 |
}
|
218 |
}
|
219 |
|
229 |
protected function _instantiateServer()
|
230 |
{
|
231 |
$apiConfigCharset = Mage::getStoreConfig('api/config/charset');
|
232 |
+
$wsdlCacheEnabled = (bool) Mage::getStoreConfig('api/config/wsdl_cache_enabled');
|
233 |
+
|
234 |
+
if ($wsdlCacheEnabled) {
|
235 |
+
ini_set('soap.wsdl_cache_enabled', '1');
|
236 |
+
} else {
|
237 |
+
ini_set('soap.wsdl_cache_enabled', '0');
|
238 |
+
}
|
239 |
+
|
240 |
$tries = 0;
|
241 |
do {
|
242 |
$retry = false;
|
243 |
try {
|
244 |
+
$this->_soap = new Zend_Soap_Server($this->getWsdlUrl(array("wsdl" => 1)),
|
245 |
+
array('encoding' => $apiConfigCharset));
|
246 |
} catch (SoapFault $e) {
|
247 |
+
if (false !== strpos($e->getMessage(),
|
248 |
+
"can't import schema from 'http://schemas.xmlsoap.org/soap/encoding/'")
|
249 |
+
) {
|
250 |
$retry = true;
|
251 |
sleep(1);
|
252 |
} else {
|
253 |
throw $e;
|
254 |
}
|
255 |
$tries++;
|
256 |
+
}
|
257 |
} while ($retry && $tries < 5);
|
258 |
use_soap_error_handler(false);
|
259 |
$this->_soap
|
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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -77,25 +77,33 @@ class Mage_Api_Model_Server_Adapter_Xmlrpc
|
|
77 |
}
|
78 |
|
79 |
/**
|
80 |
-
* Retrive webservice api controller
|
81 |
*
|
82 |
-
* @return Mage_Api_Controller_Action
|
83 |
*/
|
84 |
public function getController()
|
85 |
{
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
}
|
88 |
|
89 |
/**
|
90 |
* Run webservice
|
91 |
*
|
92 |
-
* @param Mage_Api_Controller_Action $controller
|
93 |
* @return Mage_Api_Model_Server_Adapter_Xmlrpc
|
94 |
*/
|
95 |
public function run()
|
96 |
{
|
97 |
$apiConfigCharset = Mage::getStoreConfig("api/config/charset");
|
98 |
-
|
99 |
$this->_xmlRpc = new Zend_XmlRpc_Server();
|
100 |
$this->_xmlRpc->setEncoding($apiConfigCharset)
|
101 |
->setClass($this->getHandler());
|
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 |
|
77 |
}
|
78 |
|
79 |
/**
|
80 |
+
* Retrive webservice api controller. If no controller have been set - emulate it by the use of Varien_Object
|
81 |
*
|
82 |
+
* @return Mage_Api_Controller_Action|Varien_Object
|
83 |
*/
|
84 |
public function getController()
|
85 |
{
|
86 |
+
$controller = $this->getData('controller');
|
87 |
+
|
88 |
+
if (null === $controller) {
|
89 |
+
$controller = new Varien_Object(
|
90 |
+
array('request' => Mage::app()->getRequest(), 'response' => Mage::app()->getResponse())
|
91 |
+
);
|
92 |
+
|
93 |
+
$this->setData('controller', $controller);
|
94 |
+
}
|
95 |
+
return $controller;
|
96 |
}
|
97 |
|
98 |
/**
|
99 |
* Run webservice
|
100 |
*
|
|
|
101 |
* @return Mage_Api_Model_Server_Adapter_Xmlrpc
|
102 |
*/
|
103 |
public function run()
|
104 |
{
|
105 |
$apiConfigCharset = Mage::getStoreConfig("api/config/charset");
|
106 |
+
|
107 |
$this->_xmlRpc = new Zend_XmlRpc_Server();
|
108 |
$this->_xmlRpc->setEncoding($apiConfigCharset)
|
109 |
->setClass($this->getHandler());
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -110,7 +110,7 @@ abstract class Mage_Api_Model_Server_Handler_Abstract
|
|
110 |
/**
|
111 |
* Check session expiration
|
112 |
*
|
113 |
-
* @return
|
114 |
*/
|
115 |
protected function _isSessionExpired ()
|
116 |
{
|
@@ -210,10 +210,14 @@ abstract class Mage_Api_Model_Server_Handler_Abstract
|
|
210 |
* @param string $apiKey
|
211 |
* @return string
|
212 |
*/
|
213 |
-
public function login($username, $apiKey)
|
214 |
{
|
215 |
-
$
|
|
|
|
|
|
|
216 |
try {
|
|
|
217 |
$this->_getSession()->login($username, $apiKey);
|
218 |
} catch (Exception $e) {
|
219 |
return $this->_fault('access_denied');
|
@@ -225,7 +229,7 @@ abstract class Mage_Api_Model_Server_Handler_Abstract
|
|
225 |
* Call resource functionality
|
226 |
*
|
227 |
* @param string $sessionId
|
228 |
-
* @param string $
|
229 |
* @param array $args
|
230 |
* @return mixed
|
231 |
*/
|
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 |
|
110 |
/**
|
111 |
* Check session expiration
|
112 |
*
|
113 |
+
* @return boolean
|
114 |
*/
|
115 |
protected function _isSessionExpired ()
|
116 |
{
|
210 |
* @param string $apiKey
|
211 |
* @return string
|
212 |
*/
|
213 |
+
public function login($username, $apiKey = null)
|
214 |
{
|
215 |
+
if (empty($username) || empty($apiKey)) {
|
216 |
+
return $this->_fault('invalid_request_param');
|
217 |
+
}
|
218 |
+
|
219 |
try {
|
220 |
+
$this->_startSession();
|
221 |
$this->_getSession()->login($username, $apiKey);
|
222 |
} catch (Exception $e) {
|
223 |
return $this->_fault('access_denied');
|
229 |
* Call resource functionality
|
230 |
*
|
231 |
* @param string $sessionId
|
232 |
+
* @param string $apiPath
|
233 |
* @param array $args
|
234 |
* @return mixed
|
235 |
*/
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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/V2/Handler.php
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
*
|
21 |
* @category Mage
|
22 |
* @package Mage_Api
|
23 |
-
* @copyright Copyright (c)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -77,21 +77,17 @@ class Mage_Api_Model_Server_WSI_Adapter_Soap extends Mage_Api_Model_Server_Adapt
|
|
77 |
->clearHeaders()
|
78 |
->setHeader('Content-Type','text/xml; charset='.$apiConfigCharset)
|
79 |
->setBody(
|
80 |
-
|
81 |
-
'
|
82 |
-
"
|
83 |
str_replace(
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
'<?xml version="$1" encoding="'.$apiConfigCharset.'"?>',
|
92 |
-
$this->_soap->handle()
|
93 |
-
)
|
94 |
-
)
|
95 |
)
|
96 |
)
|
97 |
);
|
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 |
|
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 |
);
|
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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -91,11 +91,8 @@ class Mage_Api_Model_Server_WSI_Handler extends Mage_Api_Model_Server_Handler_Ab
|
|
91 |
* @param string $apiKey
|
92 |
* @return string
|
93 |
*/
|
94 |
-
public function login($username, $apiKey=null)
|
95 |
{
|
96 |
-
|
97 |
-
/** @todo implement WS-I support check */
|
98 |
-
//
|
99 |
if (is_object($username)) {
|
100 |
$apiKey = $username->apiKey;
|
101 |
$username = $username->username;
|
@@ -110,7 +107,7 @@ class Mage_Api_Model_Server_WSI_Handler extends Mage_Api_Model_Server_Handler_Ab
|
|
110 |
* Return called class and method names
|
111 |
*
|
112 |
* @param String $apiPath
|
113 |
-
* @return Array
|
114 |
*/
|
115 |
protected function _getResourceName($apiPath){
|
116 |
|
@@ -139,7 +136,7 @@ class Mage_Api_Model_Server_WSI_Handler extends Mage_Api_Model_Server_Handler_Ab
|
|
139 |
|
140 |
/**
|
141 |
* Return an array of parameters for the callable method.
|
142 |
-
*
|
143 |
* @param String $modelName
|
144 |
* @param String $methodName
|
145 |
* @return Array of ReflectionParameter
|
@@ -171,7 +168,7 @@ class Mage_Api_Model_Server_WSI_Handler extends Mage_Api_Model_Server_Handler_Ab
|
|
171 |
if($parameter->isOptional()){
|
172 |
$callArgs[$pName] = $parameter->getDefaultValue();
|
173 |
} else {
|
174 |
-
Mage::logException(new Exception("Required parameter \"$pName\" is missing.", 0
|
175 |
$this->_fault('invalid_request_param');
|
176 |
}
|
177 |
}
|
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 |
|
91 |
* @param string $apiKey
|
92 |
* @return string
|
93 |
*/
|
94 |
+
public function login($username, $apiKey = null)
|
95 |
{
|
|
|
|
|
|
|
96 |
if (is_object($username)) {
|
97 |
$apiKey = $username->apiKey;
|
98 |
$username = $username->username;
|
107 |
* Return called class and method names
|
108 |
*
|
109 |
* @param String $apiPath
|
110 |
+
* @return Array
|
111 |
*/
|
112 |
protected function _getResourceName($apiPath){
|
113 |
|
136 |
|
137 |
/**
|
138 |
* Return an array of parameters for the callable method.
|
139 |
+
*
|
140 |
* @param String $modelName
|
141 |
* @param String $methodName
|
142 |
* @return Array of ReflectionParameter
|
168 |
if($parameter->isOptional()){
|
169 |
$callArgs[$pName] = $parameter->getDefaultValue();
|
170 |
} else {
|
171 |
+
Mage::logException(new Exception("Required parameter \"$pName\" is missing.", 0));
|
172 |
$this->_fault('invalid_request_param');
|
173 |
}
|
174 |
}
|
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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -39,7 +39,7 @@ class Mage_Api_Model_Session extends Mage_Core_Model_Session_Abstract
|
|
39 |
public function start($sessionName=null)
|
40 |
{
|
41 |
// parent::start($sessionName=null);
|
42 |
-
$this->_currentSessId = md5(time() . $sessionName);
|
43 |
$this->sessionIds[] = $this->getSessionId();
|
44 |
return $this;
|
45 |
}
|
@@ -83,10 +83,6 @@ class Mage_Api_Model_Session extends Mage_Core_Model_Session_Abstract
|
|
83 |
|
84 |
public function login($username, $apiKey)
|
85 |
{
|
86 |
-
if (empty($username) || empty($apiKey)) {
|
87 |
-
return;
|
88 |
-
}
|
89 |
-
|
90 |
$user = Mage::getModel('api/user')
|
91 |
->setSessid($this->getSessionId())
|
92 |
->login($username, $apiKey);
|
@@ -157,7 +153,7 @@ class Mage_Api_Model_Session extends Mage_Core_Model_Session_Abstract
|
|
157 |
/**
|
158 |
* Check session expiration
|
159 |
*
|
160 |
-
* @return
|
161 |
*/
|
162 |
public function isSessionExpired ($user)
|
163 |
{
|
@@ -187,7 +183,7 @@ class Mage_Api_Model_Session extends Mage_Core_Model_Session_Abstract
|
|
187 |
* Renew user by session ID if session not expired
|
188 |
*
|
189 |
* @param string $sessId
|
190 |
-
* @return
|
191 |
*/
|
192 |
protected function _renewBySessId ($sessId)
|
193 |
{
|
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 |
|
39 |
public function start($sessionName=null)
|
40 |
{
|
41 |
// parent::start($sessionName=null);
|
42 |
+
$this->_currentSessId = md5(time() . uniqid('', true) . $sessionName);
|
43 |
$this->sessionIds[] = $this->getSessionId();
|
44 |
return $this;
|
45 |
}
|
83 |
|
84 |
public function login($username, $apiKey)
|
85 |
{
|
|
|
|
|
|
|
|
|
86 |
$user = Mage::getModel('api/user')
|
87 |
->setSessid($this->getSessionId())
|
88 |
->login($username, $apiKey);
|
153 |
/**
|
154 |
* Check session expiration
|
155 |
*
|
156 |
+
* @return boolean
|
157 |
*/
|
158 |
public function isSessionExpired ($user)
|
159 |
{
|
183 |
* Renew user by session ID if session not expired
|
184 |
*
|
185 |
* @param string $sessId
|
186 |
+
* @return boolean
|
187 |
*/
|
188 |
protected function _renewBySessId ($sessId)
|
189 |
{
|
app/code/core/Mage/Api/Model/User.php
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
*
|
21 |
* @category Mage
|
22 |
* @package Mage_Api
|
23 |
-
* @copyright Copyright (c)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -56,6 +56,13 @@
|
|
56 |
*/
|
57 |
class Mage_Api_Model_User extends Mage_Core_Model_Abstract
|
58 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
protected function _construct()
|
60 |
{
|
61 |
$this->_init('api/user');
|
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 |
|
56 |
*/
|
57 |
class Mage_Api_Model_User extends Mage_Core_Model_Abstract
|
58 |
{
|
59 |
+
/**
|
60 |
+
* Prefix of model events names
|
61 |
+
*
|
62 |
+
* @var string
|
63 |
+
*/
|
64 |
+
protected $_eventPrefix = 'api_user';
|
65 |
+
|
66 |
protected function _construct()
|
67 |
{
|
68 |
$this->_init('api/user');
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
*/
|
26 |
|
@@ -45,6 +45,18 @@ class Mage_Api_Model_Wsdl_Config_Base extends Varien_Simplexml_Config
|
|
45 |
public function __construct($sourceData=null)
|
46 |
{
|
47 |
$this->_elementClass = 'Mage_Api_Model_Wsdl_Config_Element';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
parent::__construct($sourceData);
|
49 |
}
|
50 |
|
@@ -78,20 +90,14 @@ class Mage_Api_Model_Wsdl_Config_Base extends Varien_Simplexml_Config
|
|
78 |
*/
|
79 |
public function processFileData($text)
|
80 |
{
|
|
|
81 |
$template = Mage::getModel('core/email_template_filter');
|
82 |
|
83 |
-
|
84 |
-
$this->_wsdlVariables = new Varien_Object();
|
85 |
-
$this->_wsdlVariables->setUrl(Mage::getUrl('*/*/*'));
|
86 |
-
$this->_wsdlVariables->setName('Magento');
|
87 |
-
$this->_wsdlVariables->setHandler($this->getHandler());
|
88 |
-
}
|
89 |
|
90 |
$template->setVariables(array('wsdl'=>$this->_wsdlVariables));
|
91 |
|
92 |
-
|
93 |
-
|
94 |
-
return $text;
|
95 |
}
|
96 |
|
97 |
public function addLoadedFile($file)
|
@@ -113,4 +119,18 @@ class Mage_Api_Model_Wsdl_Config_Base extends Varien_Simplexml_Config
|
|
113 |
}
|
114 |
return $this;
|
115 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
}
|
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 |
|
45 |
public function __construct($sourceData=null)
|
46 |
{
|
47 |
$this->_elementClass = 'Mage_Api_Model_Wsdl_Config_Element';
|
48 |
+
|
49 |
+
// remove wsdl parameter from query
|
50 |
+
$queryParams = Mage::app()->getRequest()->getQuery();
|
51 |
+
unset($queryParams['wsdl']);
|
52 |
+
|
53 |
+
// set up default WSDL template variables
|
54 |
+
$this->_wsdlVariables = new Varien_Object(
|
55 |
+
array(
|
56 |
+
'name' => 'Magento',
|
57 |
+
'url' => htmlspecialchars(Mage::getUrl('*/*/*', array('_query' => $queryParams)))
|
58 |
+
)
|
59 |
+
);
|
60 |
parent::__construct($sourceData);
|
61 |
}
|
62 |
|
90 |
*/
|
91 |
public function processFileData($text)
|
92 |
{
|
93 |
+
/** @var $template Mage_Core_Model_Email_Template_Filter */
|
94 |
$template = Mage::getModel('core/email_template_filter');
|
95 |
|
96 |
+
$this->_wsdlVariables->setHandler($this->getHandler());
|
|
|
|
|
|
|
|
|
|
|
97 |
|
98 |
$template->setVariables(array('wsdl'=>$this->_wsdlVariables));
|
99 |
|
100 |
+
return $template->filter($text);
|
|
|
|
|
101 |
}
|
102 |
|
103 |
public function addLoadedFile($file)
|
119 |
}
|
120 |
return $this;
|
121 |
}
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Set variable to be used in WSDL template processing
|
125 |
+
*
|
126 |
+
* @param string $key Varible key
|
127 |
+
* @param string $value Variable value
|
128 |
+
* @return Mage_Api_Model_Wsdl_Config_Base
|
129 |
+
*/
|
130 |
+
public function setWsdlVariable($key, $value)
|
131 |
+
{
|
132 |
+
$this->_wsdlVariables->setData($key, $value);
|
133 |
+
|
134 |
+
return $this;
|
135 |
+
}
|
136 |
}
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
25 |
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
26 |
*/
|
27 |
-->
|
@@ -37,11 +37,11 @@
|
|
37 |
<sort_order>0</sort_order>
|
38 |
<children>
|
39 |
<users translate="title">
|
40 |
-
<title>Users</title>
|
41 |
<sort_order>10</sort_order>
|
42 |
</users>
|
43 |
<roles translate="title">
|
44 |
-
<title>Roles</title>
|
45 |
<sort_order>20</sort_order>
|
46 |
</roles>
|
47 |
</children>
|
@@ -67,12 +67,14 @@
|
|
67 |
<sort_order>25</sort_order>
|
68 |
<children>
|
69 |
<users translate="title">
|
70 |
-
<title>Users</title>
|
71 |
<action>adminhtml/api_user</action>
|
|
|
72 |
</users>
|
73 |
<roles translate="title">
|
74 |
-
<title>Roles</title>
|
75 |
<action>adminhtml/api_role</action>
|
|
|
76 |
</roles>
|
77 |
</children>
|
78 |
</api>
|
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 |
-->
|
37 |
<sort_order>0</sort_order>
|
38 |
<children>
|
39 |
<users translate="title">
|
40 |
+
<title>SOAP/XML-RPC - Users</title>
|
41 |
<sort_order>10</sort_order>
|
42 |
</users>
|
43 |
<roles translate="title">
|
44 |
+
<title>SOAP/XML-RPC - Roles</title>
|
45 |
<sort_order>20</sort_order>
|
46 |
</roles>
|
47 |
</children>
|
67 |
<sort_order>25</sort_order>
|
68 |
<children>
|
69 |
<users translate="title">
|
70 |
+
<title>SOAP/XML-RPC - Users</title>
|
71 |
<action>adminhtml/api_user</action>
|
72 |
+
<sort_order>10</sort_order>
|
73 |
</users>
|
74 |
<roles translate="title">
|
75 |
+
<title>SOAP/XML-RPC - Roles</title>
|
76 |
<action>adminhtml/api_role</action>
|
77 |
+
<sort_order>20</sort_order>
|
78 |
</roles>
|
79 |
</children>
|
80 |
</api>
|
app/code/core/Mage/Api/etc/api.xml
CHANGED
@@ -21,12 +21,18 @@
|
|
21 |
*
|
22 |
* @category Mage
|
23 |
* @package Mage_Api
|
24 |
-
* @copyright Copyright (c)
|
25 |
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
26 |
*/
|
27 |
-->
|
28 |
<config>
|
29 |
<api>
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
<adapters>
|
31 |
<soap>
|
32 |
<model>api/server_adapter_soap</model>
|
@@ -139,5 +145,148 @@
|
|
139 |
</default>
|
140 |
</privilegeSets>
|
141 |
</acl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
</api>
|
143 |
</config>
|
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 |
<api>
|
30 |
+
<adapter_aliases>
|
31 |
+
<v2_soap>
|
32 |
+
<suggest_class>Mage_Api_Helper_Data</suggest_class>
|
33 |
+
<suggest_method>getV2AdapterCode</suggest_method>
|
34 |
+
</v2_soap>
|
35 |
+
</adapter_aliases>
|
36 |
<adapters>
|
37 |
<soap>
|
38 |
<model>api/server_adapter_soap</model>
|
145 |
</default>
|
146 |
</privilegeSets>
|
147 |
</acl>
|
148 |
+
|
149 |
+
<domain_messages>
|
150 |
+
<!-- module name -->
|
151 |
+
<core>
|
152 |
+
<!-- 200 -->
|
153 |
+
<success>
|
154 |
+
<ok>Request is executed.</ok>
|
155 |
+
</success>
|
156 |
+
<!-- 201 -->
|
157 |
+
<created>
|
158 |
+
<created>Request is executed. Created new resource.</created>
|
159 |
+
</created>
|
160 |
+
<!-- 202 -->
|
161 |
+
<processing>
|
162 |
+
<processing>Request is carried out.</processing>
|
163 |
+
</processing>
|
164 |
+
<!-- 400 -->
|
165 |
+
<validation>
|
166 |
+
<invalid_param>Parameter "%s" is not valid.</invalid_param>
|
167 |
+
</validation>
|
168 |
+
<!-- 400 -->
|
169 |
+
<request_error>
|
170 |
+
<!-- Client sent wrong API version -->
|
171 |
+
<invalid_api_version>API version "%s" not found.</invalid_api_version>
|
172 |
+
</request_error>
|
173 |
+
<!-- 401 -->
|
174 |
+
<authentication>
|
175 |
+
<protect_resource>You must provide an authenticated user for this method.</protect_resource>
|
176 |
+
<invalid_token>Token in request is not valid.</invalid_token>
|
177 |
+
</authentication>
|
178 |
+
<!-- 403 -->
|
179 |
+
<forbidden>
|
180 |
+
<api_key_invalid>Invalid API key</api_key_invalid>
|
181 |
+
</forbidden>
|
182 |
+
<!-- 404 -->
|
183 |
+
<not_found>
|
184 |
+
<item_not_found>Requested item %s not found.</item_not_found>
|
185 |
+
<resource_not_found>Requested resource %s not found.</resource_not_found>
|
186 |
+
</not_found>
|
187 |
+
<!-- 405 -->
|
188 |
+
<not_allowed>
|
189 |
+
<method_not_allowed>Method "%s" is not allowed.</method_not_allowed>
|
190 |
+
</not_allowed>
|
191 |
+
<!-- 406 -->
|
192 |
+
<not_acceptable>
|
193 |
+
<api_version_required>Api version is required.</api_version_required>
|
194 |
+
</not_acceptable>
|
195 |
+
<!-- 410 -->
|
196 |
+
<gone>
|
197 |
+
<!-- Message when client trying sent the API version which no longer maintained -->
|
198 |
+
<api_deprecated>API version "%s" is deprecated.</api_deprecated>
|
199 |
+
<!-- Message when client trying request the resource which no longer maintained -->
|
200 |
+
<deprecated>Resource "%s" is deprecated.</deprecated>
|
201 |
+
</gone>
|
202 |
+
|
203 |
+
<!-- 500 -->
|
204 |
+
<internal_error>
|
205 |
+
<!-- Code error message not found or not exist -->
|
206 |
+
<unknown_error>There was unknown error while processing your request.</unknown_error>
|
207 |
+
<!-- Internal error when server catch some exception or language error -->
|
208 |
+
<internal_error>There was internal error while processing your request.</internal_error>
|
209 |
+
<!-- Developer mode message about error -->
|
210 |
+
<code_error>Server has internal error. %s: %s</code_error>
|
211 |
+
</internal_error>
|
212 |
+
<!-- 501 -->
|
213 |
+
<not_implemented>
|
214 |
+
<resource_not_implemented>This resource is not implemented so far.</resource_not_implemented>
|
215 |
+
<method_not_implemented>This method is not implemented so far.</method_not_implemented>
|
216 |
+
</not_implemented>
|
217 |
+
</core>
|
218 |
+
</domain_messages>
|
219 |
+
|
220 |
+
<!-- Message Domains with relation to HTTP codes -->
|
221 |
+
<!-- The priority for domains is the HTTP code -->
|
222 |
+
<domain_codes>
|
223 |
+
<!-- All success messages except "entry_created", "processing" -->
|
224 |
+
<success>
|
225 |
+
<http_code>200</http_code>
|
226 |
+
<type>notification</type>
|
227 |
+
</success>
|
228 |
+
<!-- Messages when created new entry -->
|
229 |
+
<created>
|
230 |
+
<http_code>201</http_code>
|
231 |
+
<type>notification</type>
|
232 |
+
</created>
|
233 |
+
<!-- Processing messages -->
|
234 |
+
<processing>
|
235 |
+
<http_code>202</http_code>
|
236 |
+
<type>notification</type>
|
237 |
+
</processing>
|
238 |
+
|
239 |
+
<!-- Validation messages -->
|
240 |
+
<validation>
|
241 |
+
<http_code>400</http_code>
|
242 |
+
<type>error</type>
|
243 |
+
</validation>
|
244 |
+
<!-- Messages when the request from a client has an error -->
|
245 |
+
<request_error>
|
246 |
+
<http_code>400</http_code>
|
247 |
+
<type>error</type>
|
248 |
+
</request_error>
|
249 |
+
<!-- Authentication error messages -->
|
250 |
+
<authentication>
|
251 |
+
<http_code>401</http_code>
|
252 |
+
<type>error</type>
|
253 |
+
</authentication>
|
254 |
+
<!-- Messages when post request is accepted but cannot performed -->
|
255 |
+
<forbidden>
|
256 |
+
<http_code>403</http_code>
|
257 |
+
<type>error</type>
|
258 |
+
</forbidden>
|
259 |
+
<!-- Messages when some data not found -->
|
260 |
+
<not_found>
|
261 |
+
<http_code>404</http_code>
|
262 |
+
<type>error</type>
|
263 |
+
</not_found>
|
264 |
+
<!-- Messages when some method is not allowed -->
|
265 |
+
<not_allowed>
|
266 |
+
<http_code>405</http_code>
|
267 |
+
<type>error</type>
|
268 |
+
</not_allowed>
|
269 |
+
<!-- Messages when some is not acceptable -->
|
270 |
+
<not_acceptable>
|
271 |
+
<http_code>406</http_code>
|
272 |
+
<type>error</type>
|
273 |
+
</not_acceptable>
|
274 |
+
<!-- Messages when some resource are gone -->
|
275 |
+
<gone>
|
276 |
+
<http_code>410</http_code>
|
277 |
+
<type>error</type>
|
278 |
+
</gone>
|
279 |
+
<!-- All messages related with internal errors -->
|
280 |
+
<internal_error>
|
281 |
+
<http_code>500</http_code>
|
282 |
+
<type>error</type>
|
283 |
+
</internal_error>
|
284 |
+
<!-- Messages when something not implemented -->
|
285 |
+
<not_implemented>
|
286 |
+
<http_code>501</http_code>
|
287 |
+
<type>error</type>
|
288 |
+
</not_implemented>
|
289 |
+
</domain_codes>
|
290 |
+
|
291 |
</api>
|
292 |
</config>
|
app/code/core/Mage/Api/etc/config.xml
CHANGED
@@ -21,7 +21,7 @@
|
|
21 |
*
|
22 |
* @category Mage
|
23 |
* @package Mage_Api
|
24 |
-
* @copyright Copyright (c)
|
25 |
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
26 |
*/
|
27 |
-->
|
@@ -123,6 +123,7 @@
|
|
123 |
<charset>UTF-8</charset>
|
124 |
<session_timeout>3600</session_timeout>
|
125 |
<compliance_wsi>0</compliance_wsi>
|
|
|
126 |
</config>
|
127 |
</api>
|
128 |
</default>
|
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 |
-->
|
123 |
<charset>UTF-8</charset>
|
124 |
<session_timeout>3600</session_timeout>
|
125 |
<compliance_wsi>0</compliance_wsi>
|
126 |
+
<wsdl_cache_enabled>0</wsdl_cache_enabled>
|
127 |
</config>
|
128 |
</api>
|
129 |
</default>
|
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)
|
25 |
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
26 |
*/
|
27 |
-->
|
@@ -70,6 +70,16 @@
|
|
70 |
<show_in_website>1</show_in_website>
|
71 |
<show_in_store>1</show_in_store>
|
72 |
</compliance_wsi>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
</fields>
|
74 |
</config>
|
75 |
</groups>
|
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 |
-->
|
70 |
<show_in_website>1</show_in_website>
|
71 |
<show_in_store>1</show_in_store>
|
72 |
</compliance_wsi>
|
73 |
+
<wsdl_cache_enabled translate="label">
|
74 |
+
<label>Enable WSDL Cache</label>
|
75 |
+
<frontend_type>select</frontend_type>
|
76 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
77 |
+
<backend_model>adminhtml/system_config_backend_store</backend_model>
|
78 |
+
<sort_order>40</sort_order>
|
79 |
+
<show_in_default>1</show_in_default>
|
80 |
+
<show_in_website>1</show_in_website>
|
81 |
+
<show_in_store>1</show_in_store>
|
82 |
+
</wsdl_cache_enabled>
|
83 |
</fields>
|
84 |
</config>
|
85 |
</groups>
|
app/code/core/Mage/Api/etc/wsdl2.xml
CHANGED
@@ -18,6 +18,25 @@
|
|
18 |
</restriction>
|
19 |
</complexContent>
|
20 |
</complexType>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
<complexType name="filters">
|
22 |
<all>
|
23 |
<element name="filter" type="typens:associativeArray" minOccurs="0" />
|
@@ -34,7 +53,7 @@
|
|
34 |
<complexType name="complexFilter">
|
35 |
<all>
|
36 |
<element name="key" type="xsd:string" />
|
37 |
-
<element name="value" type="typens:
|
38 |
</all>
|
39 |
</complexType>
|
40 |
<complexType name="ArrayOfString">
|
18 |
</restriction>
|
19 |
</complexContent>
|
20 |
</complexType>
|
21 |
+
<complexType name="associativeMultiEntity">
|
22 |
+
<all>
|
23 |
+
<element name="key" type="xsd:string" />
|
24 |
+
<element name="value" type="typens:ArrayOfString" />
|
25 |
+
</all>
|
26 |
+
</complexType>
|
27 |
+
<complexType name="associativeMultiArray">
|
28 |
+
<complexContent>
|
29 |
+
<restriction base="soapenc:Array">
|
30 |
+
<attribute ref="soapenc:arrayType" wsdl:arrayType="typens:associativeMultiEntity[]" />
|
31 |
+
</restriction>
|
32 |
+
</complexContent>
|
33 |
+
</complexType>
|
34 |
+
<complexType name="associativeAnyTypeEntity">
|
35 |
+
<all>
|
36 |
+
<element name="key" type="xsd:string" />
|
37 |
+
<element name="value" type="typens:anyType" />
|
38 |
+
</all>
|
39 |
+
</complexType>
|
40 |
<complexType name="filters">
|
41 |
<all>
|
42 |
<element name="filter" type="typens:associativeArray" minOccurs="0" />
|
53 |
<complexType name="complexFilter">
|
54 |
<all>
|
55 |
<element name="key" type="xsd:string" />
|
56 |
+
<element name="value" type="typens:associativeAnyTypeEntity" />
|
57 |
</all>
|
58 |
</complexType>
|
59 |
<complexType name="ArrayOfString">
|
app/code/core/Mage/Api/etc/wsi.xml
CHANGED
@@ -33,7 +33,7 @@
|
|
33 |
<xsd:complexType name="complexFilter">
|
34 |
<xsd:sequence>
|
35 |
<xsd:element name="key" type="xsd:string" />
|
36 |
-
<xsd:element name="value" type="typens:
|
37 |
</xsd:sequence>
|
38 |
</xsd:complexType>
|
39 |
<xsd:complexType name="complexFilterArray">
|
33 |
<xsd:complexType name="complexFilter">
|
34 |
<xsd:sequence>
|
35 |
<xsd:element name="key" type="xsd:string" />
|
36 |
+
<xsd:element name="value" type="typens:associativeMultiEntity" />
|
37 |
</xsd:sequence>
|
38 |
</xsd:complexType>
|
39 |
<xsd:complexType name="complexFilterArray">
|
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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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)
|
24 |
* @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) 2012 Magento Inc. (http://www.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.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* API2 attributes grid container block
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Mage_Api2_Block_Adminhtml_Attribute extends Mage_Adminhtml_Block_Widget_Grid_Container
|
35 |
+
{
|
36 |
+
/**
|
37 |
+
* Construct grid container
|
38 |
+
*/
|
39 |
+
public function __construct()
|
40 |
+
{
|
41 |
+
parent::__construct();
|
42 |
+
|
43 |
+
$this->_blockGroup = 'api2';
|
44 |
+
$this->_controller = 'adminhtml_attribute';
|
45 |
+
$this->_headerText = $this->__('REST Attributes');
|
46 |
+
$this->_removeButton('add');
|
47 |
+
}
|
48 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Buttons.php
ADDED
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* Block for rendering buttons
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Mage_Api2_Block_Adminhtml_Attribute_Buttons extends Mage_Adminhtml_Block_Template
|
35 |
+
{
|
36 |
+
/**
|
37 |
+
* Construct
|
38 |
+
*/
|
39 |
+
public function __construct()
|
40 |
+
{
|
41 |
+
parent::__construct();
|
42 |
+
$this->setTemplate('api2/attribute/buttons.phtml');
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Prepare global layout
|
47 |
+
*
|
48 |
+
* @return Mage_Core_Block_Abstract
|
49 |
+
*/
|
50 |
+
protected function _prepareLayout()
|
51 |
+
{
|
52 |
+
$buttons = array(
|
53 |
+
'backButton' => array(
|
54 |
+
'label' => $this->__('Back'),
|
55 |
+
'onclick' => sprintf("window.location.href='%s';", $this->getUrl('*/*/')),
|
56 |
+
'class' => 'back'
|
57 |
+
),
|
58 |
+
'saveButton' => array(
|
59 |
+
'label' => $this->__('Save'),
|
60 |
+
'onclick' => 'form.submit(); return false;',
|
61 |
+
'class' => 'save'
|
62 |
+
),
|
63 |
+
);
|
64 |
+
|
65 |
+
foreach ($buttons as $name => $data) {
|
66 |
+
$button = $this->getLayout()->createBlock('adminhtml/widget_button')->setData($data);
|
67 |
+
$this->setChild($name, $button);
|
68 |
+
}
|
69 |
+
|
70 |
+
return parent::_prepareLayout();
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Get back button HTML
|
75 |
+
*
|
76 |
+
* @return string
|
77 |
+
*/
|
78 |
+
public function getBackButtonHtml()
|
79 |
+
{
|
80 |
+
return $this->getChildHtml('backButton');
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Get reset button HTML
|
85 |
+
*
|
86 |
+
* @return string
|
87 |
+
*/
|
88 |
+
public function getResetButtonHtml()
|
89 |
+
{
|
90 |
+
return $this->getChildHtml('resetButton');
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Get save button HTML
|
95 |
+
*
|
96 |
+
* @return string
|
97 |
+
*/
|
98 |
+
public function getSaveButtonHtml()
|
99 |
+
{
|
100 |
+
return $this->getChildHtml('saveButton');
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Get block caption
|
105 |
+
*
|
106 |
+
* @return string
|
107 |
+
*/
|
108 |
+
public function getCaption()
|
109 |
+
{
|
110 |
+
return $this->__('Edit');
|
111 |
+
}
|
112 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Edit.php
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* Attribute Edit block
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Mage_Api2_Block_Adminhtml_Attribute_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
|
35 |
+
{
|
36 |
+
/**
|
37 |
+
* Initialize edit form container
|
38 |
+
*/
|
39 |
+
public function __construct()
|
40 |
+
{
|
41 |
+
$this->_objectId = 'id';
|
42 |
+
$this->_blockGroup = 'api2';
|
43 |
+
$this->_controller = 'adminhtml_attribute';
|
44 |
+
|
45 |
+
parent::__construct();
|
46 |
+
|
47 |
+
$this->_updateButton('save', 'label', $this->__('Save'))
|
48 |
+
->_removeButton('delete');
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Retrieve text for header element depending on loaded page
|
53 |
+
*
|
54 |
+
* @return string
|
55 |
+
*/
|
56 |
+
public function getHeaderText()
|
57 |
+
{
|
58 |
+
$userTypes = Mage_Api2_Model_Auth_User::getUserTypes();
|
59 |
+
return $this->__('Edit attribute rules for %s Role', $userTypes[$this->getRequest()->getParam('type')]);
|
60 |
+
}
|
61 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Edit/Form.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Attribute edit form block
|
30 |
+
*
|
31 |
+
* @category Mage
|
32 |
+
* @package Mage_Api2
|
33 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
34 |
+
*/
|
35 |
+
class Mage_Api2_Block_Adminhtml_Attribute_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
|
36 |
+
{
|
37 |
+
/**
|
38 |
+
* Prepare form before rendering HTML
|
39 |
+
*
|
40 |
+
* @return Mage_Api2_Block_Adminhtml_Attribute_Edit_Form
|
41 |
+
*/
|
42 |
+
protected function _prepareForm()
|
43 |
+
{
|
44 |
+
$form = new Varien_Data_Form(array(
|
45 |
+
'id' => 'edit_form',
|
46 |
+
'action' => $this->getData('action'),
|
47 |
+
'method' => 'post'
|
48 |
+
));
|
49 |
+
|
50 |
+
|
51 |
+
$form->setAction($this->getUrl('*/*/save', array('type' => $this->getRequest()->getParam('type'))))
|
52 |
+
->setUseContainer(true);
|
53 |
+
|
54 |
+
$this->setForm($form);
|
55 |
+
|
56 |
+
return parent::_prepareForm();
|
57 |
+
}
|
58 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Grid.php
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* API2 attributes grid block
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Mage_Api2_Block_Adminhtml_Attribute_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
35 |
+
{
|
36 |
+
/**
|
37 |
+
* Set grid ID
|
38 |
+
*
|
39 |
+
* @param array $attributes
|
40 |
+
*/
|
41 |
+
public function __construct($attributes = array())
|
42 |
+
{
|
43 |
+
parent::__construct($attributes);
|
44 |
+
$this->setId('api2_attributes');
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Collection object set up
|
49 |
+
*/
|
50 |
+
protected function _prepareCollection()
|
51 |
+
{
|
52 |
+
$collection = new Varien_Data_Collection();
|
53 |
+
|
54 |
+
foreach (Mage_Api2_Model_Auth_User::getUserTypes() as $type => $label) {
|
55 |
+
$collection->addItem(
|
56 |
+
new Varien_Object(array('user_type_name' => $label, 'user_type_code' => $type))
|
57 |
+
);
|
58 |
+
}
|
59 |
+
|
60 |
+
$this->setCollection($collection);
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Prepare grid columns
|
65 |
+
*
|
66 |
+
* @return Mage_Api2_Block_Adminhtml_Attribute_Grid
|
67 |
+
*/
|
68 |
+
protected function _prepareColumns()
|
69 |
+
{
|
70 |
+
$this->addColumn('user_type_name', array(
|
71 |
+
'header' => $this->__('User Type'),
|
72 |
+
'index' => 'user_type_name'
|
73 |
+
));
|
74 |
+
|
75 |
+
return parent::_prepareColumns();
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Disable unnecessary functionality
|
80 |
+
*
|
81 |
+
* @return Mage_Api2_Block_Adminhtml_Attribute_Grid
|
82 |
+
*/
|
83 |
+
public function _prepareLayout()
|
84 |
+
{
|
85 |
+
$this->setFilterVisibility(false);
|
86 |
+
$this->setPagerVisibility(false);
|
87 |
+
|
88 |
+
return $this;
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Get row URL
|
93 |
+
*
|
94 |
+
* @param Varien_Object $row
|
95 |
+
* @return string|null
|
96 |
+
*/
|
97 |
+
public function getRowUrl($row)
|
98 |
+
{
|
99 |
+
/** @var $session Mage_Admin_Model_Session */
|
100 |
+
$session = Mage::getSingleton('admin/session');
|
101 |
+
if ($session->isAllowed('system/api/attributes/edit')) {
|
102 |
+
return $this->getUrl('*/*/edit', array('type' => $row->getUserTypeCode()));
|
103 |
+
}
|
104 |
+
|
105 |
+
return null;
|
106 |
+
}
|
107 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Tab/Resource.php
ADDED
@@ -0,0 +1,141 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* Block for rendering attributes tree list tab
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
* @method Mage_Api2_Model_Acl_Global_Role getRole()
|
34 |
+
* @method Mage_Api2_Block_Adminhtml_Attribute_Tab_Resource setRole(Mage_Api2_Model_Acl_Global_Role $role)
|
35 |
+
*/
|
36 |
+
class Mage_Api2_Block_Adminhtml_Attribute_Tab_Resource extends Mage_Adminhtml_Block_Widget_Form
|
37 |
+
implements Mage_Adminhtml_Block_Widget_Tab_Interface
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Tree model
|
41 |
+
*
|
42 |
+
* @var Mage_Api2_Model_Acl_Global_Rule_Tree
|
43 |
+
*/
|
44 |
+
protected $_treeModel = false;
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Constructor
|
48 |
+
*/
|
49 |
+
public function __construct()
|
50 |
+
{
|
51 |
+
parent::__construct();
|
52 |
+
|
53 |
+
$this->setId('api2_attribute_section_resources')
|
54 |
+
->setData('default_dir', Varien_Db_Select::SQL_ASC)
|
55 |
+
->setData('default_sort', 'sort_order')
|
56 |
+
->setData('title', $this->__('Attribute Rules Information'))
|
57 |
+
->setData('use_ajax', true);
|
58 |
+
|
59 |
+
$this->_treeModel = Mage::getModel(
|
60 |
+
'api2/acl_global_rule_tree',
|
61 |
+
array('type' => Mage_Api2_Model_Acl_Global_Rule_Tree::TYPE_ATTRIBUTE));
|
62 |
+
|
63 |
+
/** @var $permissions Mage_Api2_Model_Acl_Filter_Attribute_ResourcePermission */
|
64 |
+
$permissions = Mage::getModel('api2/acl_filter_attribute_resourcePermission');
|
65 |
+
$permissions->setFilterValue($this->getRequest()->getParam('type'));
|
66 |
+
$this->_treeModel->setResourcesPermissions($permissions->getResourcesPermissions())
|
67 |
+
->setHasEntityOnlyAttributes($permissions->getHasEntityOnlyAttributes());
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Get Json Representation of Resource Tree
|
72 |
+
*
|
73 |
+
* @return string
|
74 |
+
*/
|
75 |
+
public function getResTreeJson()
|
76 |
+
{
|
77 |
+
/** @var $helper Mage_Core_Helper_Data */
|
78 |
+
$helper = Mage::helper('core');
|
79 |
+
return $helper->jsonEncode($this->_treeModel->getTreeResources());
|
80 |
+
}
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Check if everything is allowed
|
84 |
+
*
|
85 |
+
* @return boolean
|
86 |
+
*/
|
87 |
+
public function getEverythingAllowed()
|
88 |
+
{
|
89 |
+
return $this->_treeModel->getEverythingAllowed();
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Check if tree has entity only attributes
|
94 |
+
*
|
95 |
+
* @return bool
|
96 |
+
*/
|
97 |
+
public function hasEntityOnlyAttributes()
|
98 |
+
{
|
99 |
+
return $this->_treeModel->getHasEntityOnlyAttributes();
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Get tab label
|
104 |
+
*
|
105 |
+
* @return string
|
106 |
+
*/
|
107 |
+
public function getTabLabel()
|
108 |
+
{
|
109 |
+
return $this->__('ACL Attribute Rules');
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Get tab title
|
114 |
+
*
|
115 |
+
* @return string
|
116 |
+
*/
|
117 |
+
public function getTabTitle()
|
118 |
+
{
|
119 |
+
return $this->getTabLabel();
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Whether tab is available
|
124 |
+
*
|
125 |
+
* @return bool
|
126 |
+
*/
|
127 |
+
public function canShowTab()
|
128 |
+
{
|
129 |
+
return true;
|
130 |
+
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* Whether tab is hidden
|
134 |
+
*
|
135 |
+
* @return bool
|
136 |
+
*/
|
137 |
+
public function isHidden()
|
138 |
+
{
|
139 |
+
return false;
|
140 |
+
}
|
141 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Attribute/Tabs.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* Block tabs for attributes edit page
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Mage_Api2_Block_Adminhtml_Attribute_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
|
35 |
+
{
|
36 |
+
/**
|
37 |
+
* Constructor
|
38 |
+
*/
|
39 |
+
public function __construct()
|
40 |
+
{
|
41 |
+
parent::__construct();
|
42 |
+
|
43 |
+
$this->setId('api2_attribute_section_main')
|
44 |
+
->setDestElementId('edit_form')
|
45 |
+
->setData('title', $this->__('ACL Attributes Information'));
|
46 |
+
}
|
47 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Permissions/User/Edit/Tab/Roles.php
ADDED
@@ -0,0 +1,203 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* API2 role list for admin user permissions
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Mage_Api2_Block_Adminhtml_Permissions_User_Edit_Tab_Roles
|
35 |
+
extends Mage_Adminhtml_Block_Widget_Grid
|
36 |
+
implements Mage_Adminhtml_Block_Widget_Tab_Interface
|
37 |
+
{
|
38 |
+
/**
|
39 |
+
* Selected API2 roles for grid
|
40 |
+
*
|
41 |
+
* @var array
|
42 |
+
*/
|
43 |
+
protected $_selectedRoles;
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Constructor
|
47 |
+
* Prepare grid parameters
|
48 |
+
*/
|
49 |
+
public function __construct()
|
50 |
+
{
|
51 |
+
parent::__construct();
|
52 |
+
|
53 |
+
$this->setId('api2_roles_section')
|
54 |
+
->setDefaultSort('sort_order')
|
55 |
+
->setDefaultDir(Varien_Db_Select::SQL_ASC)
|
56 |
+
->setTitle($this->__('REST Roles Information'))
|
57 |
+
->setUseAjax(true);
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Prepare grid collection object
|
62 |
+
*
|
63 |
+
* @return Mage_Api2_Block_Adminhtml_Permissions_User_Edit_Tab_Roles
|
64 |
+
*/
|
65 |
+
protected function _prepareCollection()
|
66 |
+
{
|
67 |
+
/** @var $collection Mage_Api2_Model_Resource_Acl_Global_Role_Collection */
|
68 |
+
$collection = Mage::getResourceModel('api2/acl_global_role_collection');
|
69 |
+
$collection->addFieldToFilter('entity_id', array('nin' => Mage_Api2_Model_Acl_Global_Role::getSystemRoles()));
|
70 |
+
|
71 |
+
$this->setCollection($collection);
|
72 |
+
|
73 |
+
return parent::_prepareCollection();
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Prepare grid columns
|
78 |
+
*
|
79 |
+
* @return Mage_Api2_Block_Adminhtml_Permissions_User_Edit_Tab_Roles
|
80 |
+
*/
|
81 |
+
protected function _prepareColumns()
|
82 |
+
{
|
83 |
+
$this->addColumn('assigned_user_role', array(
|
84 |
+
'header_css_class' => 'a-center',
|
85 |
+
'header' => $this->__('Assigned'),
|
86 |
+
'type' => 'radio',
|
87 |
+
'html_name' => 'api2_roles[]',
|
88 |
+
'values' => $this->_getSelectedRoles(),
|
89 |
+
'align' => 'center',
|
90 |
+
'index' => 'entity_id'
|
91 |
+
));
|
92 |
+
|
93 |
+
$this->addColumn('role_name', array(
|
94 |
+
'header' => $this->__('Role Name'),
|
95 |
+
'index' => 'role_name'
|
96 |
+
));
|
97 |
+
|
98 |
+
return parent::_prepareColumns();
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Add custom column filter to collection
|
103 |
+
*
|
104 |
+
* @param Mage_Adminhtml_Block_Widget_Grid_Column $column
|
105 |
+
* @return Mage_Api2_Block_Adminhtml_Permissions_User_Edit_Tab_Roles
|
106 |
+
*/
|
107 |
+
protected function _addColumnFilterToCollection($column)
|
108 |
+
{
|
109 |
+
if ($column->getId() == 'assigned_user_role') {
|
110 |
+
$userRoles = $this->_getSelectedRoles();
|
111 |
+
if ($column->getFilter()->getValue()) {
|
112 |
+
$this->getCollection()->addFieldToFilter('entity_id', array('in' => $userRoles));
|
113 |
+
} elseif (!empty($userRoles)) {
|
114 |
+
$this->getCollection()->addFieldToFilter('entity_id', array('nin' => $userRoles));
|
115 |
+
} else {
|
116 |
+
$this->getCollection();
|
117 |
+
}
|
118 |
+
} else {
|
119 |
+
parent::_addColumnFilterToCollection($column);
|
120 |
+
}
|
121 |
+
|
122 |
+
return $this;
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* Get selected API2 roles for grid
|
127 |
+
*
|
128 |
+
* @return array
|
129 |
+
*/
|
130 |
+
protected function _getSelectedRoles()
|
131 |
+
{
|
132 |
+
if (null === $this->_selectedRoles) {
|
133 |
+
$userRoles = array();
|
134 |
+
|
135 |
+
/* @var $user Mage_Admin_Model_User */
|
136 |
+
$user = Mage::registry('permissions_user');
|
137 |
+
if ($user->getId()) {
|
138 |
+
/** @var $collection Mage_Api2_Model_Resource_Acl_Global_Role_Collection */
|
139 |
+
$collection = Mage::getResourceModel('api2/acl_global_role_collection');
|
140 |
+
$collection->addFilterByAdminId($user->getId());
|
141 |
+
|
142 |
+
$userRoles = $collection->getAllIds();
|
143 |
+
}
|
144 |
+
|
145 |
+
$this->_selectedRoles = $userRoles;
|
146 |
+
}
|
147 |
+
|
148 |
+
return $this->_selectedRoles;
|
149 |
+
}
|
150 |
+
|
151 |
+
/**
|
152 |
+
* Prepare label for tab
|
153 |
+
*
|
154 |
+
* @return string
|
155 |
+
*/
|
156 |
+
public function getTabLabel()
|
157 |
+
{
|
158 |
+
return $this->__('REST Role');
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Prepare title for tab
|
163 |
+
*
|
164 |
+
* @return string
|
165 |
+
*/
|
166 |
+
public function getTabTitle()
|
167 |
+
{
|
168 |
+
return $this->__('REST Role');
|
169 |
+
}
|
170 |
+
|
171 |
+
/**
|
172 |
+
* Returns status flag about this tab can be shown or not
|
173 |
+
*
|
174 |
+
* @return true
|
175 |
+
*/
|
176 |
+
public function canShowTab()
|
177 |
+
{
|
178 |
+
return true;
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* Returns status flag about this tab hidden or not
|
183 |
+
*
|
184 |
+
* @return true
|
185 |
+
*/
|
186 |
+
public function isHidden()
|
187 |
+
{
|
188 |
+
return false;
|
189 |
+
}
|
190 |
+
|
191 |
+
/**
|
192 |
+
* Get controller action url for grid ajax actions
|
193 |
+
*
|
194 |
+
* @return string
|
195 |
+
*/
|
196 |
+
public function getGridUrl()
|
197 |
+
{
|
198 |
+
return $this->getUrl(
|
199 |
+
'*/api2_role/rolesGrid',
|
200 |
+
array('user_id' => Mage::registry('permissions_user')->getUserId())
|
201 |
+
);
|
202 |
+
}
|
203 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Roles.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* Roles grid container block
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Mage_Api2_Block_Adminhtml_Roles extends Mage_Adminhtml_Block_Widget_Grid_Container
|
35 |
+
{
|
36 |
+
/**
|
37 |
+
* Construct grid container
|
38 |
+
*/
|
39 |
+
public function __construct()
|
40 |
+
{
|
41 |
+
parent::__construct();
|
42 |
+
|
43 |
+
$this->_blockGroup = 'api2';
|
44 |
+
$this->_controller = 'adminhtml_roles';
|
45 |
+
$this->_headerText = Mage::helper('adminhtml')->__('REST Roles');
|
46 |
+
|
47 |
+
//check allow edit
|
48 |
+
/** @var $session Mage_Admin_Model_Session */
|
49 |
+
$session = Mage::getSingleton('admin/session');
|
50 |
+
if ($session->isAllowed('system/api/roles/add')) {
|
51 |
+
$this->_updateButton('add', 'label', $this->__('Add Admin Role'));
|
52 |
+
} else {
|
53 |
+
$this->_removeButton('add');
|
54 |
+
}
|
55 |
+
}
|
56 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Roles/Buttons.php
ADDED
@@ -0,0 +1,146 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* Block for rendering buttons
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
* @method Mage_Api2_Block_Adminhtml_Roles_Buttons setRole(Mage_Api2_Model_Acl_Global_Role $role)
|
34 |
+
* @method Mage_Api2_Model_Acl_Global_Role getRole()
|
35 |
+
*/
|
36 |
+
class Mage_Api2_Block_Adminhtml_Roles_Buttons extends Mage_Adminhtml_Block_Template
|
37 |
+
{
|
38 |
+
/**
|
39 |
+
* Construct
|
40 |
+
*/
|
41 |
+
public function __construct()
|
42 |
+
{
|
43 |
+
parent::__construct();
|
44 |
+
$this->setTemplate('api2/role/buttons.phtml');
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Preparing global layout
|
49 |
+
*
|
50 |
+
* @return Mage_Api2_Block_Adminhtml_Roles_Buttons
|
51 |
+
*/
|
52 |
+
protected function _prepareLayout()
|
53 |
+
{
|
54 |
+
$buttons = array(
|
55 |
+
'backButton' => array(
|
56 |
+
'label' => Mage::helper('adminhtml')->__('Back'),
|
57 |
+
'onclick' => sprintf("window.location.href='%s';", $this->getUrl('*/*/')),
|
58 |
+
'class' => 'back'
|
59 |
+
),
|
60 |
+
'resetButton' => array(
|
61 |
+
'label' => Mage::helper('adminhtml')->__('Reset'),
|
62 |
+
'onclick' => 'window.location.reload()'
|
63 |
+
),
|
64 |
+
'saveButton' => array(
|
65 |
+
'label' => Mage::helper('adminhtml')->__('Save Role'),
|
66 |
+
'onclick' => 'roleForm.submit(); return false;',
|
67 |
+
'class' => 'save'
|
68 |
+
),
|
69 |
+
'deleteButton' => array(
|
70 |
+
'label' => Mage::helper('adminhtml')->__('Delete Role'),
|
71 |
+
'onclick' => '', //roleId is not set at this moment, so we set script later
|
72 |
+
'class' => 'delete'
|
73 |
+
),
|
74 |
+
);
|
75 |
+
|
76 |
+
foreach ($buttons as $name=>$data) {
|
77 |
+
$button = $this->getLayout()->createBlock('adminhtml/widget_button')->setData($data);
|
78 |
+
$this->setChild($name, $button);
|
79 |
+
}
|
80 |
+
|
81 |
+
return parent::_prepareLayout();
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Get back button HTML
|
86 |
+
*
|
87 |
+
* @return string
|
88 |
+
*/
|
89 |
+
public function getBackButtonHtml()
|
90 |
+
{
|
91 |
+
return $this->getChildHtml('backButton');
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Get reset button HTML
|
96 |
+
*
|
97 |
+
* @return string
|
98 |
+
*/
|
99 |
+
public function getResetButtonHtml()
|
100 |
+
{
|
101 |
+
return $this->getChildHtml('resetButton');
|
102 |
+
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Get save button HTML
|
106 |
+
*
|
107 |
+
* @return string
|
108 |
+
*/
|
109 |
+
public function getSaveButtonHtml()
|
110 |
+
{
|
111 |
+
return $this->getChildHtml('saveButton');
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Get delete button HTML
|
116 |
+
*
|
117 |
+
* @return string
|
118 |
+
*/
|
119 |
+
public function getDeleteButtonHtml()
|
120 |
+
{
|
121 |
+
if(!$this->getRole() || !$this->getRole()->getId()
|
122 |
+
|| Mage_Api2_Model_Acl_Global_Role::isSystemRole($this->getRole())) {
|
123 |
+
|
124 |
+
return '';
|
125 |
+
}
|
126 |
+
|
127 |
+
$this->getChild('deleteButton')->setData('onclick', sprintf("deleteConfirm('%s', '%s')",
|
128 |
+
Mage::helper('adminhtml')->__('Are you sure you want to do this?'),
|
129 |
+
$this->getUrl('*/*/delete', array('id' => $this->getRole()->getId()))
|
130 |
+
));
|
131 |
+
|
132 |
+
return $this->getChildHtml('deleteButton');
|
133 |
+
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Get block caption
|
137 |
+
*
|
138 |
+
* @return string
|
139 |
+
*/
|
140 |
+
public function getCaption()
|
141 |
+
{
|
142 |
+
return $this->getRole() && $this->getRole()->getId()
|
143 |
+
? ($this->__('Edit Role') . " '{$this->escapeHtml($this->getRole()->getRoleName())}'")
|
144 |
+
: $this->__('Add New Role');
|
145 |
+
}
|
146 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Roles/Grid.php
ADDED
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* Roles grid block
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Mage_Api2_Block_Adminhtml_Roles_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
35 |
+
{
|
36 |
+
/**
|
37 |
+
* Construct grid block
|
38 |
+
*/
|
39 |
+
public function __construct()
|
40 |
+
{
|
41 |
+
parent::__construct();
|
42 |
+
$this->setId('rolesGrid');
|
43 |
+
$this->setUseAjax(true);
|
44 |
+
$this->setSaveParametersInSession(true);
|
45 |
+
$this->setDefaultSort('entity_id')
|
46 |
+
->setDefaultDir(Varien_Db_Select::SQL_DESC);
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Prepare collection
|
51 |
+
*
|
52 |
+
* @return Mage_Api2_Block_Adminhtml_Roles_Grid
|
53 |
+
*/
|
54 |
+
protected function _prepareCollection()
|
55 |
+
{
|
56 |
+
/** @var $collection Mage_Api2_Model_Resource_Acl_Global_Role_Collection */
|
57 |
+
$collection = Mage::getModel('api2/acl_global_role')->getCollection();
|
58 |
+
$this->setCollection($collection);
|
59 |
+
parent::_prepareCollection();
|
60 |
+
return $this;
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Prepare columns
|
65 |
+
*
|
66 |
+
* @return Mage_Api2_Block_Adminhtml_Roles_Grid
|
67 |
+
*/
|
68 |
+
protected function _prepareColumns()
|
69 |
+
{
|
70 |
+
$this->addColumn('entity_id', array(
|
71 |
+
'header' => Mage::helper('oauth')->__('ID'),
|
72 |
+
'index' => 'entity_id',
|
73 |
+
'align' => 'right',
|
74 |
+
'width' => '50px',
|
75 |
+
));
|
76 |
+
|
77 |
+
$this->addColumn('role_name', array(
|
78 |
+
'header' => Mage::helper('oauth')->__('Role Name'),
|
79 |
+
'index' => 'role_name',
|
80 |
+
'escape' => true,
|
81 |
+
));
|
82 |
+
|
83 |
+
$this->addColumn('tole_user_type', array(
|
84 |
+
'header' => Mage::helper('oauth')->__('User Type'),
|
85 |
+
'sortable' => false,
|
86 |
+
'frame_callback' => array($this, 'decorateUserType')
|
87 |
+
));
|
88 |
+
|
89 |
+
$this->addColumn('created_at', array(
|
90 |
+
'header' => Mage::helper('oauth')->__('Created At'),
|
91 |
+
'index' => 'created_at'
|
92 |
+
));
|
93 |
+
|
94 |
+
parent::_prepareColumns();
|
95 |
+
return $this;
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* Get grid URL
|
100 |
+
*
|
101 |
+
* @return string
|
102 |
+
*/
|
103 |
+
public function getGridUrl()
|
104 |
+
{
|
105 |
+
return $this->getUrl('*/*/grid', array('_current' => true));
|
106 |
+
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* Get row URL
|
110 |
+
*
|
111 |
+
* @param Mage_Api2_Model_Acl_Global_Role $row
|
112 |
+
* @return string|null
|
113 |
+
*/
|
114 |
+
public function getRowUrl($row)
|
115 |
+
{
|
116 |
+
/** @var $session Mage_Admin_Model_Session */
|
117 |
+
$session = Mage::getSingleton('admin/session');
|
118 |
+
|
119 |
+
if ($session->isAllowed('system/api/roles/edit')) {
|
120 |
+
return $this->getUrl('*/*/edit', array('id' => $row->getId()));
|
121 |
+
}
|
122 |
+
return null;
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* Decorate 'User Type' column
|
127 |
+
*
|
128 |
+
* @param string $renderedValue Rendered value
|
129 |
+
* @param Mage_Api2_Model_Acl_Global_Role $row
|
130 |
+
* @param Mage_Adminhtml_Block_Widget_Grid_Column $column
|
131 |
+
* @param bool $isExport
|
132 |
+
* @return string
|
133 |
+
*/
|
134 |
+
public function decorateUserType($renderedValue, $row, $column, $isExport)
|
135 |
+
{
|
136 |
+
switch ($row->getEntityId()) {
|
137 |
+
case Mage_Api2_Model_Acl_Global_Role::ROLE_GUEST_ID:
|
138 |
+
$userType = Mage::helper('api2')->__('Guest');
|
139 |
+
break;
|
140 |
+
case Mage_Api2_Model_Acl_Global_Role::ROLE_CUSTOMER_ID:
|
141 |
+
$userType = Mage::helper('api2')->__('Customer');
|
142 |
+
break;
|
143 |
+
default:
|
144 |
+
$userType = Mage::helper('api2')->__('Admin');
|
145 |
+
break;
|
146 |
+
}
|
147 |
+
return $userType;
|
148 |
+
}
|
149 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tab/Info.php
ADDED
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Block for rendering role info tab
|
30 |
+
*
|
31 |
+
* @category Mage
|
32 |
+
* @package Mage_Api2
|
33 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
34 |
+
* @method Mage_Api2_Model_Acl_Global_Role getRole()
|
35 |
+
* @method Mage_Api2_Block_Adminhtml_Roles_Tab_Info setRole(Mage_Api2_Model_Acl_Global_Role $role)
|
36 |
+
*/
|
37 |
+
class Mage_Api2_Block_Adminhtml_Roles_Tab_Info extends Mage_Adminhtml_Block_Widget_Form
|
38 |
+
implements Mage_Adminhtml_Block_Widget_Tab_Interface
|
39 |
+
{
|
40 |
+
/**
|
41 |
+
* Prepare form object
|
42 |
+
*/
|
43 |
+
protected function _prepareForm()
|
44 |
+
{
|
45 |
+
$form = new Varien_Data_Form();
|
46 |
+
|
47 |
+
$fieldset = $form->addFieldset('base_fieldset', array(
|
48 |
+
'legend' => Mage::helper('adminhtml')->__('Role Information')
|
49 |
+
));
|
50 |
+
|
51 |
+
$data = array(
|
52 |
+
'name' => 'role_name',
|
53 |
+
'label' => Mage::helper('adminhtml')->__('Role Name'),
|
54 |
+
'id' => 'role_name',
|
55 |
+
'class' => 'required-entry',
|
56 |
+
'required' => true,
|
57 |
+
);
|
58 |
+
|
59 |
+
if ($this->isHidden()) {
|
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);
|
70 |
+
|
71 |
+
$fieldset->addField('entity_id', 'hidden',
|
72 |
+
array(
|
73 |
+
'name' => 'id',
|
74 |
+
)
|
75 |
+
);
|
76 |
+
|
77 |
+
$fieldset->addField('in_role_users', 'hidden',
|
78 |
+
array(
|
79 |
+
'name' => 'in_role_users',
|
80 |
+
'id' => 'in_role_userz',
|
81 |
+
)
|
82 |
+
);
|
83 |
+
|
84 |
+
$fieldset->addField('in_role_users_old', 'hidden', array('name' => 'in_role_users_old'));
|
85 |
+
|
86 |
+
if ($this->getRole()) {
|
87 |
+
$form->setValues($this->getRole()->getData());
|
88 |
+
}
|
89 |
+
$this->setForm($form);
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Get tab label
|
94 |
+
*
|
95 |
+
* @return string
|
96 |
+
*/
|
97 |
+
public function getTabLabel()
|
98 |
+
{
|
99 |
+
return Mage::helper('api2')->__('Role Info');
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Get tab title
|
104 |
+
*
|
105 |
+
* @return string
|
106 |
+
*/
|
107 |
+
public function getTabTitle()
|
108 |
+
{
|
109 |
+
return $this->getTabLabel();
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Whether tab is available
|
114 |
+
*
|
115 |
+
* @return bool
|
116 |
+
*/
|
117 |
+
public function canShowTab()
|
118 |
+
{
|
119 |
+
return true;
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Whether tab is hidden
|
124 |
+
*
|
125 |
+
* @return bool
|
126 |
+
*/
|
127 |
+
public function isHidden()
|
128 |
+
{
|
129 |
+
return $this->getRole() && Mage_Api2_Model_Acl_Global_Role::isSystemRole($this->getRole());
|
130 |
+
}
|
131 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tab/Resources.php
ADDED
@@ -0,0 +1,153 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* Block for rendering resources list tab
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
* @method Mage_Api2_Model_Acl_Global_Role getRole()
|
34 |
+
* @method Mage_Api2_Block_Adminhtml_Roles_Tab_Resources setRole(Mage_Api2_Model_Acl_Global_Role $role)
|
35 |
+
*/
|
36 |
+
class Mage_Api2_Block_Adminhtml_Roles_Tab_Resources extends Mage_Adminhtml_Block_Widget_Form
|
37 |
+
implements Mage_Adminhtml_Block_Widget_Tab_Interface
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Role model
|
41 |
+
*
|
42 |
+
* @var Mage_Api2_Model_Acl_Global_Role
|
43 |
+
*/
|
44 |
+
protected $_role;
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Tree model
|
48 |
+
*
|
49 |
+
* @var Mage_Api2_Model_Acl_Global_Rule_Tree
|
50 |
+
*/
|
51 |
+
protected $_treeModel = false;
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Constructor
|
55 |
+
*/
|
56 |
+
public function __construct()
|
57 |
+
{
|
58 |
+
parent::__construct();
|
59 |
+
|
60 |
+
$this->setId('api2_role_section_resources')
|
61 |
+
->setData('default_dir', Varien_Db_Select::SQL_ASC)
|
62 |
+
->setData('default_sort', 'sort_order')
|
63 |
+
->setData('title', Mage::helper('api2')->__('Api Rules Information'))
|
64 |
+
->setData('use_ajax', true);
|
65 |
+
|
66 |
+
$this->_treeModel = Mage::getModel(
|
67 |
+
'api2/acl_global_rule_tree', array('type' => Mage_Api2_Model_Acl_Global_Rule_Tree::TYPE_PRIVILEGE)
|
68 |
+
);
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Get Json Representation of Resource Tree
|
73 |
+
*
|
74 |
+
* @return string
|
75 |
+
*/
|
76 |
+
public function getResTreeJson()
|
77 |
+
{
|
78 |
+
$this->_prepareTreeModel();
|
79 |
+
/** @var $helper Mage_Core_Helper_Data */
|
80 |
+
$helper = Mage::helper('core');
|
81 |
+
return $helper->jsonEncode($this->_treeModel->getTreeResources());
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Prepare tree model
|
86 |
+
*
|
87 |
+
* @return Mage_Api2_Block_Adminhtml_Roles_Tab_Resources
|
88 |
+
*/
|
89 |
+
public function _prepareTreeModel()
|
90 |
+
{
|
91 |
+
$role = $this->getRole();
|
92 |
+
if ($role) {
|
93 |
+
$permissionModel = $role->getPermissionModel();
|
94 |
+
$permissionModel->setFilterValue($role);
|
95 |
+
$this->_treeModel->setResourcesPermissions($permissionModel->getResourcesPermissions());
|
96 |
+
} else {
|
97 |
+
$role = Mage::getModel('api2/acl_global_role');
|
98 |
+
}
|
99 |
+
$this->_treeModel->setRole($role);
|
100 |
+
return $this;
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Check if everything is allowed
|
105 |
+
*
|
106 |
+
* @return boolean
|
107 |
+
*/
|
108 |
+
public function getEverythingAllowed()
|
109 |
+
{
|
110 |
+
$this->_prepareTreeModel();
|
111 |
+
return $this->_treeModel->getEverythingAllowed();
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Get tab label
|
116 |
+
*
|
117 |
+
* @return string
|
118 |
+
*/
|
119 |
+
public function getTabLabel()
|
120 |
+
{
|
121 |
+
return Mage::helper('api2')->__('Role API Resources');
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Get tab title
|
126 |
+
*
|
127 |
+
* @return string
|
128 |
+
*/
|
129 |
+
public function getTabTitle()
|
130 |
+
{
|
131 |
+
return $this->getTabLabel();
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Whether tab is available
|
136 |
+
*
|
137 |
+
* @return bool
|
138 |
+
*/
|
139 |
+
public function canShowTab()
|
140 |
+
{
|
141 |
+
return true;
|
142 |
+
}
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Whether tab is hidden
|
146 |
+
*
|
147 |
+
* @return bool
|
148 |
+
*/
|
149 |
+
public function isHidden()
|
150 |
+
{
|
151 |
+
return false;
|
152 |
+
}
|
153 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tab/Users.php
ADDED
@@ -0,0 +1,239 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* Block for rendering users list tab
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
* @method Mage_Api2_Model_Acl_Global_Role getRole()
|
34 |
+
* @method Mage_Api2_Block_Adminhtml_Roles_Tab_Users setRole(Mage_Api2_Model_Acl_Global_Role $role)
|
35 |
+
* @method Mage_Api2_Block_Adminhtml_Roles_Tab_Users setUsers(array $users)
|
36 |
+
* @method Mage_Admin_Model_Resource_User_Collection getCollection()
|
37 |
+
*/
|
38 |
+
class Mage_Api2_Block_Adminhtml_Roles_Tab_Users extends Mage_Adminhtml_Block_Widget_Grid
|
39 |
+
implements Mage_Adminhtml_Block_Widget_Tab_Interface
|
40 |
+
{
|
41 |
+
/**
|
42 |
+
* Construct grid block
|
43 |
+
*/
|
44 |
+
public function __construct()
|
45 |
+
{
|
46 |
+
parent::__construct();
|
47 |
+
$this->setId('roleUsersGrid');
|
48 |
+
$this->setData('use_ajax', true);
|
49 |
+
$this->setSaveParametersInSession(true);
|
50 |
+
$this->setDefaultSort('user_id')
|
51 |
+
->setDefaultDir(Varien_Db_Select::SQL_DESC);
|
52 |
+
$this->setDefaultFilter(array('filter_in_role_users'=>1));
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Prepare collection
|
57 |
+
*
|
58 |
+
* @return Mage_Api2_Block_Adminhtml_Roles_Tab_Users
|
59 |
+
*/
|
60 |
+
protected function _prepareCollection()
|
61 |
+
{
|
62 |
+
/** @var $collection Mage_Admin_Model_Resource_User_Collection */
|
63 |
+
$collection = Mage::getModel('admin/user')->getCollection();
|
64 |
+
$collection->getSelect()->joinLeft(
|
65 |
+
array('acl' => $collection->getTable('api2/acl_user')),
|
66 |
+
'acl.admin_id = main_table.user_id',
|
67 |
+
'role_id'
|
68 |
+
);
|
69 |
+
if ($this->getRole() && $this->getRole()->getId()) {
|
70 |
+
$collection->addFilter('acl.role_id', $this->getRole()->getId());
|
71 |
+
}
|
72 |
+
|
73 |
+
$this->setCollection($collection);
|
74 |
+
parent::_prepareCollection();
|
75 |
+
return $this;
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Prepare columns
|
80 |
+
*
|
81 |
+
* @return Mage_Api2_Block_Adminhtml_Roles_Tab_Users
|
82 |
+
*/
|
83 |
+
protected function _prepareColumns()
|
84 |
+
{
|
85 |
+
$this->addColumn('filter_in_role_users', array(
|
86 |
+
'header_css_class' => 'a-center',
|
87 |
+
'type' => 'checkbox',
|
88 |
+
'name' => 'filter_in_role_users',
|
89 |
+
'values' => $this->getUsers(),
|
90 |
+
'align' => 'center',
|
91 |
+
'index' => 'user_id'
|
92 |
+
));
|
93 |
+
|
94 |
+
$this->addColumn('user_id', array(
|
95 |
+
'header' => Mage::helper('api2')->__('ID'), 'index' => 'user_id', 'align' => 'right', 'width' => '50px',
|
96 |
+
));
|
97 |
+
|
98 |
+
$this->addColumn('username', array(
|
99 |
+
'header' => Mage::helper('adminhtml')->__('User Name'), 'align' => 'left', 'index' => 'username'
|
100 |
+
));
|
101 |
+
|
102 |
+
$this->addColumn('firstname', array(
|
103 |
+
'header' => Mage::helper('adminhtml')->__('First Name'), 'align' => 'left', 'index' => 'firstname'
|
104 |
+
));
|
105 |
+
|
106 |
+
$this->addColumn('lastname', array(
|
107 |
+
'header' => Mage::helper('adminhtml')->__('Last Name'), 'align' => 'left', 'index' => 'lastname'
|
108 |
+
));
|
109 |
+
|
110 |
+
return parent::_prepareColumns();
|
111 |
+
}
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Get grid URL
|
115 |
+
*
|
116 |
+
* @return string
|
117 |
+
*/
|
118 |
+
public function getGridUrl()
|
119 |
+
{
|
120 |
+
return $this->getUrl('*/*/usersGrid', array('_current' => true));
|
121 |
+
}
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Get row URL
|
125 |
+
*
|
126 |
+
* @param Mage_Api2_Model_Acl_Global_Role $row
|
127 |
+
* @return string|null
|
128 |
+
*/
|
129 |
+
public function getRowUrl($row)
|
130 |
+
{
|
131 |
+
return null;
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Get tab label
|
136 |
+
*
|
137 |
+
* @return string
|
138 |
+
*/
|
139 |
+
public function getTabLabel()
|
140 |
+
{
|
141 |
+
return Mage::helper('api2')->__('Role Users');
|
142 |
+
}
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Get tab title
|
146 |
+
*
|
147 |
+
* @return string
|
148 |
+
*/
|
149 |
+
public function getTabTitle()
|
150 |
+
{
|
151 |
+
return $this->getTabLabel();
|
152 |
+
}
|
153 |
+
|
154 |
+
/**
|
155 |
+
* Whether tab is available
|
156 |
+
*
|
157 |
+
* @return bool
|
158 |
+
*/
|
159 |
+
public function canShowTab()
|
160 |
+
{
|
161 |
+
return !$this->isHidden();
|
162 |
+
}
|
163 |
+
|
164 |
+
/**
|
165 |
+
* Whether tab is hidden
|
166 |
+
*
|
167 |
+
* @return bool
|
168 |
+
*/
|
169 |
+
public function isHidden()
|
170 |
+
{
|
171 |
+
return $this->getRole() && Mage_Api2_Model_Acl_Global_Role::isSystemRole($this->getRole());
|
172 |
+
}
|
173 |
+
|
174 |
+
/**
|
175 |
+
* Render block only when not hidden
|
176 |
+
*
|
177 |
+
* @return string
|
178 |
+
*/
|
179 |
+
public function _toHtml()
|
180 |
+
{
|
181 |
+
if (!$this->isHidden()) {
|
182 |
+
return parent::_toHtml();
|
183 |
+
}
|
184 |
+
return '';
|
185 |
+
}
|
186 |
+
|
187 |
+
/**
|
188 |
+
* @param Mage_Adminhtml_Block_Widget_Grid_Column $column
|
189 |
+
* @return Mage_Api2_Block_Adminhtml_Roles_Tab_Users
|
190 |
+
*/
|
191 |
+
protected function _addColumnFilterToCollection($column)
|
192 |
+
{
|
193 |
+
if ($column->getId() == 'filter_in_role_users') {
|
194 |
+
$inRoleIds = $this->getUsers();
|
195 |
+
if (empty($inRoleIds)) {
|
196 |
+
$inRoleIds = 0;
|
197 |
+
}
|
198 |
+
|
199 |
+
if ($column->getFilter()->getValue()) {
|
200 |
+
$this->getCollection()->addFieldToFilter('user_id', array('in' => $inRoleIds));
|
201 |
+
} else {
|
202 |
+
if($inRoleIds) {
|
203 |
+
$this->getCollection()->addFieldToFilter('user_id', array('nin' => $inRoleIds));
|
204 |
+
}
|
205 |
+
}
|
206 |
+
} else {
|
207 |
+
parent::_addColumnFilterToCollection($column);
|
208 |
+
}
|
209 |
+
return $this;
|
210 |
+
}
|
211 |
+
|
212 |
+
/**
|
213 |
+
* Get users
|
214 |
+
*
|
215 |
+
* @param bool $json
|
216 |
+
* @return array|string
|
217 |
+
*/
|
218 |
+
public function getUsers($json = false)
|
219 |
+
{
|
220 |
+
$users = $this->getData('users');
|
221 |
+
|
222 |
+
if ($json) {
|
223 |
+
if ($users === array()) {
|
224 |
+
return '{}';
|
225 |
+
}
|
226 |
+
$jsonUsers = array();
|
227 |
+
foreach($users as $usrId) {
|
228 |
+
$jsonUsers[$usrId] = 0;
|
229 |
+
}
|
230 |
+
/** @var $helper Mage_Core_Helper_Data */
|
231 |
+
$helper = Mage::helper('core');
|
232 |
+
$result = $helper->jsonEncode((object) $jsonUsers);
|
233 |
+
} else {
|
234 |
+
$result = array_values($users);
|
235 |
+
}
|
236 |
+
|
237 |
+
return $result;
|
238 |
+
}
|
239 |
+
}
|
app/code/core/Mage/Api2/Block/Adminhtml/Roles/Tabs.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* Block tabs for role edit page
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
* @method Mage_Api2_Block_Adminhtml_Roles_Tabs setRole(Mage_Api2_Model_Acl_Global_Role $role)
|
34 |
+
* @method Mage_Api2_Model_Acl_Global_Role getRole()
|
35 |
+
*/
|
36 |
+
class Mage_Api2_Block_Adminhtml_Roles_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
|
37 |
+
{
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Constructor
|
41 |
+
*/
|
42 |
+
public function __construct()
|
43 |
+
{
|
44 |
+
parent::__construct();
|
45 |
+
$this->setId('role_info_tabs');
|
46 |
+
$this->setDestElementId('role_edit_form');
|
47 |
+
$this->setData('title', Mage::helper('api2')->__('Role Information'));
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Hook before html rendering
|
52 |
+
*
|
53 |
+
* @return Mage_Api2_Block_Adminhtml_Roles_Tabs
|
54 |
+
*/
|
55 |
+
protected function _beforeToHtml()
|
56 |
+
{
|
57 |
+
$role = $this->getRole();
|
58 |
+
if ($role && Mage_Api2_Model_Acl_Global_Role::isSystemRole($role)) {
|
59 |
+
$this->setActiveTab('api2_role_section_resources');
|
60 |
+
} else {
|
61 |
+
$this->setActiveTab('api2_role_section_info');
|
62 |
+
}
|
63 |
+
return parent::_beforeToHtml();
|
64 |
+
}
|
65 |
+
}
|
app/code/core/Mage/Api2/Exception.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* API exception
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Mage_Api2_Exception extends Exception
|
35 |
+
{
|
36 |
+
/**
|
37 |
+
* Exception constructor
|
38 |
+
*
|
39 |
+
* @param string $message
|
40 |
+
* @param int $code
|
41 |
+
*/
|
42 |
+
public function __construct($message, $code)
|
43 |
+
{
|
44 |
+
if ($code <= 100 || $code >= 599) {
|
45 |
+
throw new Exception(sprintf('Invalid Exception code "%d"', $code));
|
46 |
+
}
|
47 |
+
|
48 |
+
parent::__construct($message, $code);
|
49 |
+
}
|
50 |
+
}
|
app/code/core/Mage/Api2/Helper/Data.php
ADDED
@@ -0,0 +1,198 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_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 |
+
|
27 |
+
/**
|
28 |
+
* Webservice API2 data helper
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Api2
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Mage_Api2_Helper_Data extends Mage_Core_Helper_Abstract
|
35 |
+
{
|
36 |
+
/**
|
37 |
+
* Request interpret adapters
|
38 |
+
*/
|
39 |
+
const XML_PATH_API2_REQUEST_INTERPRETERS = 'global/api2/request/interpreters';
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Response render adapters
|
43 |
+
*/
|
44 |
+
const XML_PATH_API2_RESPONSE_RENDERS = 'global/api2/response/renders';
|
45 |
+
|
46 |
+
/**#@+
|
47 |
+
* Config paths
|
48 |
+
*/
|
49 |
+
const XML_PATH_AUTH_ADAPTERS = 'global/api2/auth_adapters';
|
50 |
+
const XML_PATH_USER_TYPES = 'global/api2/user_types';
|
51 |
+
/**#@- */
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Compare order to be used in adapters list sort
|
55 |
+
*
|
56 |
+
* @param int $a
|
57 |
+
* @param int $b
|
58 |
+
* @return int
|
59 |
+
*/
|
60 |
+
protected static function _compareOrder($a, $b)
|
61 |
+
{
|
62 |
+
if ($a['order'] == $b['order']) {
|
63 |
+
return 0;
|
64 |
+
}
|
65 |
+
return ($a['order'] < $b['order']) ? -1 : 1;
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Retrieve Auth adapters info from configuration file as array
|
70 |
+
*
|
71 |
+
* @param bool $enabledOnly
|
72 |
+
* @return array
|
73 |
+
*/
|
74 |
+
public function getAuthAdapters($enabledOnly = false)
|
75 |
+
{
|
76 |
+
$adapters = Mage::getConfig()->getNode(self::XML_PATH_AUTH_ADAPTERS);
|
77 |
+
|
78 |
+
if (!$adapters) {
|
79 |
+
return array();
|
80 |
+
}
|
81 |
+
$adapters = $adapters->asArray();
|
82 |
+
|
83 |
+
if ($enabledOnly) {
|
84 |
+
foreach ($adapters as $adapter) {
|
85 |
+
if (empty($adapter['enabled'])) {
|
86 |
+
unset($adapters);
|
87 |
+
}
|
88 |
+
}
|
89 |
+
$adapters = (array) $adapters;
|
90 |
+
}
|
91 |
+
uasort($adapters, array('Mage_Api2_Helper_Data', '_compareOrder'));
|
92 |
+
|
93 |
+
return $adapters;
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Retrieve enabled user types in form of user type => user model pairs
|
98 |
+
*
|
99 |
+
* @return array
|
100 |
+
*/
|
101 |
+
public function getUserTypes()
|
102 |
+
{
|
103 |
+
$userModels = array();
|
104 |
+
$types = Mage::getConfig()->getNode(self::XML_PATH_USER_TYPES);
|
105 |
+
|
106 |
+
if ($types) {
|
107 |
+
foreach ($types->asArray() as $type => $params) {
|
108 |
+
if (!empty($params['allowed'])) {
|
109 |
+
$userModels[$type] = $params['model'];
|
110 |
+
}
|
111 |
+
}
|
112 |
+
}
|
113 |
+
return $userModels;
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Get interpreter type for Request body according to Content-type HTTP header
|
118 |
+
*
|
119 |
+
* @return array
|
120 |
+
*/
|
121 |
+
public function getRequestInterpreterAdapters()
|
122 |
+
{
|
123 |
+
return (array) Mage::app()->getConfig()->getNode(self::XML_PATH_API2_REQUEST_INTERPRETERS);
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Get interpreter type for Request body according to Content-type HTTP header
|
128 |
+
*
|
129 |
+
* @return array
|
130 |
+
*/
|
131 |
+
public function getResponseRenderAdapters()
|
132 |
+
{
|
133 |
+
return (array) Mage::app()->getConfig()->getNode(self::XML_PATH_API2_RESPONSE_RENDERS);
|
134 |
+
}
|
135 |
+
|
136 |
+
/**
|
137 |
+
* Check API type support
|
138 |
+
*
|
139 |
+
* @param string $type
|
140 |
+
* @return bool
|
141 |
+
*/
|
142 |
+
public function isApiTypeSupported($type)
|
143 |
+
{
|
144 |
+
return in_array($type, Mage_Api2_Model_Server::getApiTypes());
|
145 |
+
}
|
146 |
+
|
147 |
+
/**
|
148 |
+
* Get allowed attributes of a rule
|
149 |
+
*
|
150 |
+
* @param string $userType
|
151 |
+
* @param string $resourceId
|
152 |
+
* @param string $operation One of Mage_Api2_Model_Resource::OPERATION_ATTRIBUTE_... constant
|
153 |
+
* @return array
|
154 |
+
*/
|
155 |
+
public function getAllowedAttributes($userType, $resourceId, $operation)
|
156 |
+
{
|
157 |
+
/** @var $resource Mage_Api2_Model_Resource_Acl_Filter_Attribute */
|
158 |
+
$resource = Mage::getResourceModel('api2/acl_filter_attribute');
|
159 |
+
|
160 |
+
$attributes = $resource->getAllowedAttributes($userType, $resourceId, $operation);
|
161 |
+
|
162 |
+
return ($attributes === false || $attributes === null ? array() : explode(',', $attributes));
|
163 |
+
}
|
164 |
+
|
165 |
+
/**
|
166 |
+
* Check if ALL attributes are allowed
|
167 |
+
*
|
168 |
+
* @param string $userType
|
169 |
+
* @return bool
|
170 |
+
*/
|
171 |
+
public function isAllAttributesAllowed($userType)
|
172 |
+
{
|
173 |
+
/** @var $resource Mage_Api2_Model_Resource_Acl_Filter_Attribute */
|
174 |
+
$resource = Mage::getResourceModel('api2/acl_filter_attribute');
|
175 |
+
|
176 |
+
return $resource->isAllAttributesAllowed($userType);
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* Get operation type for specified operation
|
181 |
+
*
|
182 |
+
* @param string $operation One of Mage_Api2_Model_Resource::OPERATION_... constant
|
183 |
+
* @return string One of Mage_Api2_Model_Resource::OPERATION_ATTRIBUTE_... constant
|
184 |
+
* @throws Exception
|
185 |
+
*/
|
186 |
+
public function getTypeOfOperation($operation)
|
187 |
+
{
|
188 |
+
if (Mage_Api2_Model_Resource::OPERATION_RETRIEVE === $operation) {
|
189 |
+
return Mage_Api2_Model_Resource::OPERATION_ATTRIBUTE_READ;
|
190 |
+
} elseif (Mage_Api2_Model_Resource::OPERATION_CREATE === $operation) {
|
191 |
+
return Mage_Api2_Model_Resource::OPERATION_ATTRIBUTE_WRITE;
|
192 |
+
} elseif (Mage_Api2_Model_Resource::OPERATION_UPDATE === $operation) {
|
193 |
+
return Mage_Api2_Model_Resource::OPERATION_ATTRIBUTE_WRITE;
|
194 |
+
} else {
|
195 |
+
throw new Exception('Can not determine operation type');
|
196 |
+
}
|
197 |
+
}
|
198 |
+
}
|
app/code/core/Mage/Api2/Model/Acl.php
ADDED
@@ -0,0 +1,187 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|