Version Notes
Unbxd Recommendation
Download this release
Release Info
Developer | ananthesh |
Extension | unbxd_recommendation |
Version | 1.0.19 |
Comparing to | |
See all releases |
Code changes from version 1.0.18 to 1.0.19
- app/code/local/Unbxd/Recommendation/.DS_Store +0 -0
- app/code/local/Unbxd/Recommendation/Block/Admin.php +0 -13
- app/code/local/Unbxd/Recommendation/Block/Tracker.php +0 -0
- app/code/local/Unbxd/Recommendation/Helper/Confighelper.php +0 -333
- app/code/local/Unbxd/Recommendation/Helper/Data.php +0 -23
- app/code/local/Unbxd/Recommendation/Model/Api/Task/Widget.php +0 -236
- app/code/local/Unbxd/Recommendation/Model/Feed/Feedmanager.php +0 -178
- app/code/local/Unbxd/Recommendation/Model/Feed/Jsonbuilder/Jsonbuilder.php +0 -9
- app/code/local/Unbxd/Recommendation/Model/Feed/Jsonbuilder/Productbuilder.php +0 -330
- app/code/local/Unbxd/Recommendation/Model/Feed/Jsonbuilder/Schemabuilder.php +0 -29
- app/code/local/Unbxd/Recommendation/Model/Field.php +0 -147
- app/code/local/Unbxd/Recommendation/Model/Resource/Config.php +0 -136
- app/code/local/Unbxd/Recommendation/Model/Resource/Config/Collection.php +0 -20
- app/code/local/Unbxd/Recommendation/Model/Resource/Field/Collection.php +0 -65
- app/code/local/Unbxd/Recommendation/Model/Resource/Sync.php +0 -17
- app/code/local/Unbxd/Recommendation/Model/Resource/Sync/Collection.php +0 -53
- app/code/local/Unbxd/Recommendation/controllers/ConfigController.php +0 -327
- app/code/local/Unbxd/Recommendation/controllers/WidgetController.php +0 -20
- app/code/local/Unbxd/Recommendation/etc/config.xml +0 -155
- app/code/local/Unbxd/Recommendation/sql/unbxd_recommendation_setup/mysql4-install-1.0.0.php +0 -69
- app/code/local/Unbxd/Recommendation/sql/unbxd_recommendation_setup/upgrade-1.0.11-1.0.12.php +0 -32
- app/code/local/Unbxd/Recommendation/sql/unbxd_recommendation_setup/upgrade-1.0.16-1.0.17.php +0 -22
- app/code/local/Unbxd/Recscore/Helper/Analyticshelper.php +106 -0
- app/code/local/Unbxd/Recscore/Helper/Confighelper.php +453 -0
- app/code/local/Unbxd/Recscore/Helper/Constants.php +172 -0
- app/code/local/Unbxd/Recscore/Helper/Data.php +230 -0
- app/code/local/Unbxd/{Recommendation → Recscore}/Helper/Feedhelper.php +39 -17
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Request.php +9 -9
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Response.php +8 -7
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task.php +13 -12
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Analyticsimpression.php +11 -11
- app/code/local/Unbxd/Recscore/Model/Api/Task/Autosuggestindex.php +51 -0
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Feeddetails.php +11 -11
- app/code/local/Unbxd/Recscore/Model/Api/Task/Searchimpression.php +56 -0
- app/code/local/Unbxd/Recscore/Model/Api/Task/Searchsetup.php +51 -0
- app/code/local/Unbxd/Recscore/Model/Api/Task/Supportmail.php +47 -0
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Trackcart.php +7 -7
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Trackorder.php +7 -7
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Triggerfeedupload.php +3 -3
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Updatefeaturefields.php +18 -14
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Validatekeys.php +7 -7
- app/code/local/Unbxd/Recscore/Model/Auth.php +50 -0
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Config.php +9 -3
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Feed/Feedcreator.php +82 -45
- app/code/local/Unbxd/Recscore/Model/Feed/Feedmanager.php +213 -0
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Feed/Filemanager.php +1 -1
- app/code/local/Unbxd/Recscore/Model/Feed/Jsonbuilder/Jsonbuilder.php +9 -0
- app/code/local/Unbxd/Recscore/Model/Feed/Jsonbuilder/Productbuilder.php +408 -0
- app/code/local/Unbxd/Recscore/Model/Feed/Jsonbuilder/Schemabuilder.php +29 -0
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Feed/Jsonbuilder/Taxonomybuilder.php +1 -1
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Feed/Tags.php +1 -1
- app/code/local/Unbxd/Recscore/Model/Field.php +220 -0
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Observer.php +62 -26
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Resource/Attribute.php +3 -3
- app/code/local/Unbxd/Recscore/Model/Resource/Config.php +212 -0
- app/code/local/Unbxd/Recscore/Model/Resource/Config/Collection.php +20 -0
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Resource/Field.php +23 -27
- app/code/local/Unbxd/Recscore/Model/Resource/Field/Collection.php +65 -0
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Resource/Product/Collection.php +18 -9
- app/code/local/Unbxd/Recscore/Model/Resource/Sync.php +17 -0
- app/code/local/Unbxd/Recscore/Model/Resource/Sync/Collection.php +53 -0
- app/code/local/Unbxd/Recscore/Model/State.php +12 -0
- app/code/local/Unbxd/Recscore/Model/State/Analytics.php +84 -0
- app/code/local/Unbxd/Recscore/Model/State/Catalog.php +49 -0
- app/code/local/Unbxd/Recscore/Model/State/Credentials.php +34 -0
- app/code/local/Unbxd/Recscore/Model/State/Response.php +29 -0
- app/code/local/Unbxd/Recscore/Model/Statemgr.php +27 -0
- app/code/local/Unbxd/{Recommendation → Recscore}/Model/Sync.php +17 -23
- app/code/local/Unbxd/{Recommendation → Recscore}/controllers/Adminhtml/IndexController.php +3 -3
- app/code/local/Unbxd/Recscore/controllers/CatalogController.php +84 -0
- app/code/local/Unbxd/Recscore/controllers/ConfigController.php +535 -0
- app/code/local/Unbxd/{Recommendation → Recscore}/etc/adminhtml.xml +2 -2
- app/code/local/Unbxd/Recscore/etc/config.xml +189 -0
- app/code/local/Unbxd/Recscore/sql/unbxd_recscore_setup/mysql4-install-1.0.0.php +90 -0
- app/design/adminhtml/default/default/layout/unbxd/recommendation.xml +0 -15
- app/design/adminhtml/default/default/layout/unbxd/recscore.xml +11 -0
- app/design/adminhtml/default/default/template/unbxd/recommendation.phtml +82 -133
- app/design/frontend/base/default/layout/unbxd/recommendation.xml +0 -33
- app/design/frontend/base/default/layout/unbxd/recscore.xml +15 -0
- app/design/frontend/base/default/template/unbxd/{tracker.phtml → recscore/tracker.phtml} +11 -9
- app/design/frontend/base/default/template/unbxd/recscore/tracking/product.phtml +23 -0
- app/design/frontend/base/default/template/unbxd/tracking/cart.phtml +0 -1
- app/design/frontend/base/default/template/unbxd/tracking/category.phtml +0 -14
- app/design/frontend/base/default/template/unbxd/tracking/order.phtml +0 -1
- app/design/frontend/base/default/template/unbxd/tracking/product.phtml +0 -25
- app/etc/modules/Unbxd_Recommendation.xml +3 -3
- js/unbxd/{app.js → recscore/app.js} +0 -0
- js/unbxd/{embed.js → recscore/embed.js} +12 -13
- js/unbxd/{jquery.js → recscore/jquery.js} +0 -0
- js/unbxd/{unbxdAnalytics.js → recscore/unbxdAnalytics.js} +0 -0
- package.xml +9 -9
- skin/adminhtml/default/default/unbxd/css/chosen.css +0 -429
- skin/adminhtml/default/default/unbxd/css/unbxd-magento.css +0 -718
- skin/adminhtml/default/default/unbxd/img/Custom-platform.png +0 -0
- skin/adminhtml/default/default/unbxd/img/DONE.png +0 -0
- skin/adminhtml/default/default/unbxd/img/HEXAGON-Only.png +0 -0
- skin/adminhtml/default/default/unbxd/img/Magento-small.png +0 -0
- skin/adminhtml/default/default/unbxd/img/Magento.png +0 -0
- skin/adminhtml/default/default/unbxd/img/X-popup-hover.png +0 -0
- skin/adminhtml/default/default/unbxd/img/X-popup.png +0 -0
- skin/adminhtml/default/default/unbxd/img/X-pricing.png +0 -0
- skin/adminhtml/default/default/unbxd/img/add-actv.png +0 -0
- skin/adminhtml/default/default/unbxd/img/add-icon.png +0 -0
- skin/adminhtml/default/default/unbxd/img/add-inactv.png +0 -0
- skin/adminhtml/default/default/unbxd/img/add-raw-hover.png +0 -0
- skin/adminhtml/default/default/unbxd/img/add-raw.png +0 -0
- skin/adminhtml/default/default/unbxd/img/add.png +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-2.png +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-calendar-down.png +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-calendar-down1.png +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-down-disabled.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-down-enabled.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-down-white.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-down-white1.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-down-white2.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-down.png +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-left-white.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-left.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-mail-developer).png +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-right-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-right-gray.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-right-white.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-right.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-up-black.png +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-up-disabled.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-up-enabled.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-up-red.png +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-up-white.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-up-white1.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-up.png +0 -0
- skin/adminhtml/default/default/unbxd/img/arrow-white.png +0 -0
- skin/adminhtml/default/default/unbxd/img/authenticated.png +0 -0
- skin/adminhtml/default/default/unbxd/img/back.png +0 -0
- skin/adminhtml/default/default/unbxd/img/big-arrow-gray.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/bigcommerce.png +0 -0
- skin/adminhtml/default/default/unbxd/img/black-right-small.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/black-right-thick.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/btn-arrow-top.png +0 -0
- skin/adminhtml/default/default/unbxd/img/btn-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/img/button-arrow-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/img/button-arrow-grey.png +0 -0
- skin/adminhtml/default/default/unbxd/img/button-arrow-red.png +0 -0
- skin/adminhtml/default/default/unbxd/img/cancel.png +0 -0
- skin/adminhtml/default/default/unbxd/img/card-image.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/card-image1.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/card-image2.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/card-image3.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/checkmark.png +0 -0
- skin/adminhtml/default/default/unbxd/img/close-analytics.png +0 -0
- skin/adminhtml/default/default/unbxd/img/close.png +0 -0
- skin/adminhtml/default/default/unbxd/img/color-pic.png +0 -0
- skin/adminhtml/default/default/unbxd/img/congrats-magento.png +0 -0
- skin/adminhtml/default/default/unbxd/img/congrats.png +0 -0
- skin/adminhtml/default/default/unbxd/img/copy-black.png +0 -0
- skin/adminhtml/default/default/unbxd/img/copy-white.png +0 -0
- skin/adminhtml/default/default/unbxd/img/cros.png +0 -0
- skin/adminhtml/default/default/unbxd/img/cross-2.png +0 -0
- skin/adminhtml/default/default/unbxd/img/cvv-number.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/delete-raw-hover.png +0 -0
- skin/adminhtml/default/default/unbxd/img/delete-raw.png +0 -0
- skin/adminhtml/default/default/unbxd/img/delete-red.png +0 -0
- skin/adminhtml/default/default/unbxd/img/delete.png +0 -0
- skin/adminhtml/default/default/unbxd/img/detect.png +0 -0
- skin/adminhtml/default/default/unbxd/img/down-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/img/down-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/img/drop-down.png +0 -0
- skin/adminhtml/default/default/unbxd/img/edit-magento.png +0 -0
- skin/adminhtml/default/default/unbxd/img/edit.png +0 -0
- skin/adminhtml/default/default/unbxd/img/eye-hover.png +0 -0
- skin/adminhtml/default/default/unbxd/img/eye.png +0 -0
- skin/adminhtml/default/default/unbxd/img/favicon.png +0 -0
- skin/adminhtml/default/default/unbxd/img/fill.png +0 -0
- skin/adminhtml/default/default/unbxd/img/group-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/img/help.png +0 -0
- skin/adminhtml/default/default/unbxd/img/icon-analytics.png +0 -0
- skin/adminhtml/default/default/unbxd/img/icon-info.png +0 -0
- skin/adminhtml/default/default/unbxd/img/icon-widget.png +0 -0
- skin/adminhtml/default/default/unbxd/img/install.png +0 -0
- skin/adminhtml/default/default/unbxd/img/integration-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/img/introduction-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/img/left-black.png +0 -0
- skin/adminhtml/default/default/unbxd/img/left-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/img/level-arrow-active.png +0 -0
- skin/adminhtml/default/default/unbxd/img/level-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/img/link-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/img/loader-32x32.gif +0 -0
- skin/adminhtml/default/default/unbxd/img/lock-image.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/logo-unbxd.png +0 -0
- skin/adminhtml/default/default/unbxd/img/logo.png +0 -0
- skin/adminhtml/default/default/unbxd/img/mail-new.png +0 -0
- skin/adminhtml/default/default/unbxd/img/mail.png +0 -0
- skin/adminhtml/default/default/unbxd/img/minus.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/nav-highlight-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/img/not-detected.png +0 -0
- skin/adminhtml/default/default/unbxd/img/oops.png +0 -0
- skin/adminhtml/default/default/unbxd/img/or.png +0 -0
- skin/adminhtml/default/default/unbxd/img/other-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/img/overview-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/img/plus.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/question-mark2.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/red-cross.png +0 -0
- skin/adminhtml/default/default/unbxd/img/red-loading.gif +0 -0
- skin/adminhtml/default/default/unbxd/img/remove.png +0 -0
- skin/adminhtml/default/default/unbxd/img/right-black.png +0 -0
- skin/adminhtml/default/default/unbxd/img/right-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/img/save.png +0 -0
- skin/adminhtml/default/default/unbxd/img/saved.png +0 -0
- skin/adminhtml/default/default/unbxd/img/search.png +0 -0
- skin/adminhtml/default/default/unbxd/img/settings.png +0 -0
- skin/adminhtml/default/default/unbxd/img/shopify.png +0 -0
- skin/adminhtml/default/default/unbxd/img/site-dropdownarrow-down.png +0 -0
- skin/adminhtml/default/default/unbxd/img/site-dropdownarrow-up.png +0 -0
- skin/adminhtml/default/default/unbxd/img/slider-bg.png +0 -0
- skin/adminhtml/default/default/unbxd/img/slider-button.png +0 -0
- skin/adminhtml/default/default/unbxd/img/sort-arrow-blue-down.png +0 -0
- skin/adminhtml/default/default/unbxd/img/sort-arrow-blue-up.png +0 -0
- skin/adminhtml/default/default/unbxd/img/sort-arrow-grey-down.png +0 -0
- skin/adminhtml/default/default/unbxd/img/sort-arrow-grey-up.png +0 -0
- skin/adminhtml/default/default/unbxd/img/spree.png +0 -0
- skin/adminhtml/default/default/unbxd/img/start-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/img/step-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/img/success.png +0 -0
- skin/adminhtml/default/default/unbxd/img/tick-analytics.png +0 -0
- skin/adminhtml/default/default/unbxd/img/tick-green.png +0 -0
- skin/adminhtml/default/default/unbxd/img/tick-pricing.png +0 -0
- skin/adminhtml/default/default/unbxd/img/tick.png +0 -0
- skin/adminhtml/default/default/unbxd/img/tooltip-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/img/tooltip-left-arrow.jpg +0 -0
- skin/adminhtml/default/default/unbxd/img/tooltip.png +0 -0
- skin/adminhtml/default/default/unbxd/img/up-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/img/up-black.png +0 -0
- skin/adminhtml/default/default/unbxd/img/up-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/img/user.png +0 -0
- skin/adminhtml/default/default/unbxd/img/warning.png +0 -0
- skin/adminhtml/default/default/unbxd/img/x-widget.png +0 -0
- skin/adminhtml/default/default/unbxd/img/x.png +0 -0
- skin/adminhtml/default/default/unbxd/js/app/analytics.js +0 -56
- skin/adminhtml/default/default/unbxd/js/app/utils.js +0 -33
- skin/adminhtml/default/default/unbxd/js/main.js +0 -253
- skin/adminhtml/default/default/unbxd/{css → recscore/css}/app.css +239 -2801
- skin/adminhtml/default/default/unbxd/recscore/css/app1.css +1685 -0
- skin/adminhtml/default/default/unbxd/recscore/css/bootstrap-switch.css +519 -0
- skin/adminhtml/default/default/unbxd/{css → recscore/css}/bootstrap-them.css +0 -0
- skin/adminhtml/default/default/unbxd/{css → recscore/css}/bootstrap.css +3 -1
- skin/adminhtml/default/default/unbxd/recscore/css/chosen.css +450 -0
- skin/adminhtml/default/default/unbxd/recscore/css/colpick.css +1 -0
- skin/adminhtml/default/default/unbxd/recscore/css/magento-app.css +270 -0
- skin/adminhtml/default/default/unbxd/recscore/css/unbxd-magento.css +1778 -0
- skin/adminhtml/default/default/unbxd/recscore/img/Custom-platform.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/DONE.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/HEXAGON-Only.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/Magento-small.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/Magento.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/Powered_by_unbxd copy.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/X-popup-hover.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/X-popup.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/X-pricing.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/active.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/add-actv.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/add-icon.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/add-inactv.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/add-raw-hover.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/add-raw.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/add-rule.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/add.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/api_int_info.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-2.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-calendar-down.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-calendar-down1.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-down-disabled.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-down-enabled.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-down-white.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-down-white1.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-down-white2.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-down.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/{img/arrow.png → recscore/img/arrow-inactive.png} +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-left-inactive.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-left-white.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-left.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-left.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-mail-developer).png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-right-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-right-gray.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-right-inactive.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-right-white.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-right.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-right.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-up-black.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-up-disabled.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-up-enabled.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-up-red.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-up-white.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-up-white1.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-up.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow-white.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow_grey.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/arrow_white.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/authenticated.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/back.png +0 -0
- skin/adminhtml/default/default/unbxd/{img → recscore/img}/bg.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/big-arrow-gray.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/bigcommerce.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/black-right-small.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/black-right-thick.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/blue-selected.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/breadcrumb_arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/btn-arrow-top.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/btn-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/button-arrow-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/button-arrow-grey.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/button-arrow-red.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/cancel.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/card-image.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/card-image1.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/card-image2.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/card-image3.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/checkmark.png +0 -0
- skin/adminhtml/default/default/unbxd/{img → recscore/img}/chosen-sprite.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/close-analytics.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/close-round.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/close.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/color-pic-black.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/color-pic.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/congrats-magento.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/congrats.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/copy-black.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/copy-white.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/cros.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/cross-2.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/custom-color-selected.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/custom-color.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/custom-temp-1.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/custom-temp-2.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/custom-temp-3.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/custom-temp-4.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/cvv-number.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/delete-raw-hover.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/delete-raw.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/delete-red.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/delete.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/detect.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/dot-border.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/down-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/down-black.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/down-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/drop-down.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/dropdown-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/edit-magento.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/edit.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/eye-hover.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/eye.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/favicon.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/fill.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/green-selected.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/grey-selected.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/group-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/help.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/icon-analytics.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/icon-info.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/icon-widget.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/info-icon-big.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/info-small.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/install.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/integration-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/introduction-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/left-black.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/left-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/level-arrow-active.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/level-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/link-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/list_bullet.png +0 -0
- skin/adminhtml/default/default/unbxd/{img → recscore/img}/loader-16x16.gif +0 -0
- skin/adminhtml/default/default/unbxd/{img → recscore/img}/loader-24x24.gif +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/loader-32x32.gif +0 -0
- skin/adminhtml/default/default/unbxd/{img → recscore/img}/loader.gif +0 -0
- skin/adminhtml/default/default/unbxd/{img → recscore/img}/loader_black.gif +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/lock-image.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/logo-unbxd.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/logo.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/mail-box.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/mail-id-sprite.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/mail-new.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/mail.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/minus.jpg +0 -0
- skin/adminhtml/default/default/unbxd/{img/dropdown-arrow.png → recscore/img/minus.png} +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/nav-highlight-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/not-detected.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/oops.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/or.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/orange-selected.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/orange.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/other-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/overview-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/{img/down-black.png → recscore/img/plus.png} +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/preview.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/question-mark2.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/red-cross.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/red-loading.gif +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/remove.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/right-black.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/right-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/rules.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/save.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/saved.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/search.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/settings.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/shopify.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/site-dropdownarrow-down.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/site-dropdownarrow-up.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/skin1-trans.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/skin1.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/skin2.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/skin3.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/skin4.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/slider-bg.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/slider-button.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/sort-arrow-blue-down.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/sort-arrow-blue-up.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/sort-arrow-grey-down.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/sort-arrow-grey-up.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/spinner_down.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/spinner_up.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/spree.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/start-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/step-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/success-icon-big.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/success.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-1-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-1-green.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-1-grey.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-1-orange.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-1-preview-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-1-preview-green.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-1-preview-grey.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-1-preview-orange.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-1.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-2-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-2-green.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-2-grey.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-2-orange.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-2-preview-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-2-preview-green.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-2-preview-grey.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-2-preview-orange.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-2.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-3-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-3-green.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-3-grey.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-3-orange.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-3-preview-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-3-preview-green.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-3-preview-grey.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-3-preview-orange.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-3.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-4-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-4-green.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-4-grey.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-4-orange.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-4-preview-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-4-preview-green.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-4-preview-grey.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-4-preview-orange.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-5-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-5-green.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-5-orange.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-5-preview-blue.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-5-preview-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-5-preview-green.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-5-preview-orange.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-5.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/temp-6.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/templates.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/tick-analytics.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/tick-green.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/tick-orange.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/tick-pricing.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/tick.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/tooltip-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/tooltip-left-arrow.jpg +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/tooltip.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/up-arrow.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/up-black.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/up-gray.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/user.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/view-hover.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/view.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/warning.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/x-widget.png +0 -0
- skin/adminhtml/default/default/unbxd/recscore/img/x.png +0 -0
- skin/adminhtml/default/default/unbxd/{js → recscore/js}/app.js +1 -0
- skin/adminhtml/default/default/unbxd/recscore/js/app/analytics.js +82 -0
- skin/adminhtml/default/default/unbxd/recscore/js/app/autosuggest.js +206 -0
- skin/adminhtml/default/default/unbxd/{js → recscore/js}/app/catalog.js +155 -98
- skin/adminhtml/default/default/unbxd/recscore/js/app/config.js +120 -0
- skin/adminhtml/default/default/unbxd/{js/app/credentails.js → recscore/js/app/credentials.js} +24 -22
- skin/adminhtml/default/default/unbxd/recscore/js/app/filter-catalogue.js +320 -0
- skin/adminhtml/default/default/unbxd/recscore/js/app/search/api.js +128 -0
- skin/adminhtml/default/default/unbxd/recscore/js/app/search/hosted.js +150 -0
- skin/adminhtml/default/default/unbxd/recscore/js/app/search/landing.js +107 -0
- skin/adminhtml/default/default/unbxd/recscore/js/app/utils.js +147 -0
- skin/adminhtml/default/default/unbxd/{js → recscore/js}/app/widgets.js +7 -5
- skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/backbone.js +0 -0
- skin/adminhtml/default/default/unbxd/recscore/js/lib/bootstrap-modal.js +11 -0
- skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/bootstrap-tooltip.js +0 -0
- skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/chosen.js +0 -0
- skin/adminhtml/default/default/unbxd/recscore/js/lib/colpick.js +1 -0
- skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/ractive-backbone.js +0 -0
- skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/ractive-chosen.js +0 -0
- skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/ractive.js +0 -0
- skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/require.js +0 -0
- skin/adminhtml/default/default/unbxd/recscore/js/lib/routie.js +208 -0
- skin/adminhtml/default/default/unbxd/recscore/js/lib/rv.js +1 -0
- skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/underscore.js +0 -0
- skin/adminhtml/default/default/unbxd/recscore/js/main.js +292 -0
- skin/adminhtml/default/default/unbxd/recscore/templates/analytics.html +191 -0
- skin/adminhtml/default/default/unbxd/recscore/templates/auto-suggest.html +278 -0
- skin/adminhtml/default/default/unbxd/recscore/templates/catalog.html +84 -0
- skin/adminhtml/default/default/unbxd/{templates → recscore/templates}/credentails.html +32 -35
- skin/adminhtml/default/default/unbxd/recscore/templates/index.html +63 -0
- skin/adminhtml/default/default/unbxd/recscore/templates/partials/catalogue.html +125 -0
- skin/adminhtml/default/default/unbxd/recscore/templates/partials/contact-form.html +44 -0
- skin/adminhtml/default/default/unbxd/recscore/templates/partials/custom-attr.html +143 -0
- skin/adminhtml/default/default/unbxd/recscore/templates/partials/filters.html +131 -0
- skin/adminhtml/default/default/unbxd/recscore/templates/partials/preview-modal.html +10 -0
- skin/adminhtml/default/default/unbxd/{templates/custom.html → recscore/templates/partials/row.html} +7 -3
- skin/adminhtml/default/default/unbxd/recscore/templates/partials/switch-off.html +10 -0
- skin/adminhtml/default/default/unbxd/recscore/templates/partials/switch-on.html +10 -0
- skin/adminhtml/default/default/unbxd/recscore/templates/search/api.html +68 -0
- skin/adminhtml/default/default/unbxd/recscore/templates/search/hosted.html +95 -0
- skin/adminhtml/default/default/unbxd/recscore/templates/search/landing.html +87 -0
- skin/adminhtml/default/default/unbxd/{templates → recscore/templates}/widgets.html +123 -98
- skin/adminhtml/default/default/unbxd/templates/analytics.html +0 -155
- skin/adminhtml/default/default/unbxd/templates/catalog.html +0 -328
app/code/local/Unbxd/Recommendation/.DS_Store
DELETED
Binary file
|
app/code/local/Unbxd/Recommendation/Block/Admin.php
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* @category Unbxd
|
5 |
-
* @package Unbxd_Recommendation
|
6 |
-
* @author Unbxd Software Pvt. Ltd
|
7 |
-
*/
|
8 |
-
class Unbxd_Recommendation_Block_Admin extends Mage_Adminhtml_Block_Template {
|
9 |
-
|
10 |
-
|
11 |
-
}
|
12 |
-
|
13 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Block/Tracker.php
DELETED
File without changes
|
app/code/local/Unbxd/Recommendation/Helper/Confighelper.php
DELETED
@@ -1,333 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* @category Unbxd
|
5 |
-
* @package Unbxd_Recommendation
|
6 |
-
* @author Unbxd Software Pvt. Ltd
|
7 |
-
*/
|
8 |
-
class Unbxd_Recommendation_Helper_Confighelper extends Unbxd_Recommendation_Helper_Data {
|
9 |
-
|
10 |
-
const SITE_KEY = "site_key";
|
11 |
-
|
12 |
-
const API_KEY = "api_key";
|
13 |
-
|
14 |
-
const SECRET_KEY = "secret_key";
|
15 |
-
|
16 |
-
const USERNAME = "username";
|
17 |
-
|
18 |
-
const NEED_FEATURE_FIELD_UPDATION = "need_feature_field_updation";
|
19 |
-
|
20 |
-
const IS_CRON_ENABLED = "cron_enabled";
|
21 |
-
|
22 |
-
|
23 |
-
/**
|
24 |
-
* All possible data type values supported unbxd
|
25 |
-
* @var array
|
26 |
-
*/
|
27 |
-
public static $data_types = array("text", "longText", "link", "decimal", "number", "datetime");
|
28 |
-
|
29 |
-
public function validateAndSaveKeys($website, $requestBody){
|
30 |
-
$errors = $this->validateKeyParams($requestBody);
|
31 |
-
if(sizeof($errors) > 0) {
|
32 |
-
return $errors;
|
33 |
-
}
|
34 |
-
$requestParams = json_decode($requestBody, true);
|
35 |
-
if(!$requestParams) {
|
36 |
-
$errors['message'] = 'Invalid Request';
|
37 |
-
return $errors;
|
38 |
-
}
|
39 |
-
$response = Mage::getModel("unbxd_recommendation/api_task_validatekeys")
|
40 |
-
->setData(Unbxd_Recommendation_Model_Api_Task_Validatekeys::SECRET_KEY, $requestParams[self::SECRET_KEY])
|
41 |
-
->setData(Unbxd_Recommendation_Model_Api_Task_Validatekeys::SITE_KEY, $requestParams[self::SITE_KEY])
|
42 |
-
->prepare($website)
|
43 |
-
->process();
|
44 |
-
if(!$response->isSuccess()) {
|
45 |
-
return $response->getErrors();
|
46 |
-
}
|
47 |
-
|
48 |
-
Mage::getResourceModel('unbxd_recommendation/config')
|
49 |
-
->setValue($website->getWebsiteId(), self::SECRET_KEY, $requestParams[self::SECRET_KEY]);
|
50 |
-
Mage::getResourceModel('unbxd_recommendation/config')
|
51 |
-
->setValue($website->getWebsiteId(), self::SITE_KEY, $requestParams[self::SITE_KEY]);
|
52 |
-
$response = $response->getResponse();
|
53 |
-
Mage::getResourceModel('unbxd_recommendation/config')
|
54 |
-
->setValue($website->getWebsiteId(),
|
55 |
-
self::API_KEY, $response[Unbxd_Recommendation_Model_Api_Task_Validatekeys::API_KEY]);
|
56 |
-
Mage::getResourceModel('unbxd_recommendation/config')
|
57 |
-
->setValue($website->getWebsiteId(),
|
58 |
-
self::USERNAME, $response[Unbxd_Recommendation_Model_Api_Task_Validatekeys::USERNAME]);
|
59 |
-
return $errors;
|
60 |
-
}
|
61 |
-
|
62 |
-
public function validateKeyParams($requestBody) {
|
63 |
-
$errors = array();
|
64 |
-
$requestParams = json_decode($requestBody, true);
|
65 |
-
if(!$requestParams) {
|
66 |
-
Mage::helper('unbxd_recommendation')->log(Zend_Log::ERR, 'Invalid request witj requestBody' . $requestBody);
|
67 |
-
$errors['message'] = 'Invalid Request';
|
68 |
-
return $errors;
|
69 |
-
}
|
70 |
-
if(!array_key_exists(self::SECRET_KEY,$requestParams)){
|
71 |
-
$errors[self::SECRET_KEY] = "Has Empty Data";
|
72 |
-
}
|
73 |
-
if(!array_key_exists(self::SITE_KEY, $requestParams)) {
|
74 |
-
$errors[self::SITE_KEY] = "Has Empty Data";
|
75 |
-
}
|
76 |
-
return $errors;
|
77 |
-
}
|
78 |
-
|
79 |
-
public function getFeatureFields() {
|
80 |
-
return Unbxd_Recommendation_Model_Field::$feature_fields;
|
81 |
-
}
|
82 |
-
|
83 |
-
public function getAllAttributes() {
|
84 |
-
$attributes = Mage::getSingleton('eav/config')
|
85 |
-
->getEntityType(Mage_Catalog_Model_Product::ENTITY)->getAttributeCollection();
|
86 |
-
$fields = array();
|
87 |
-
foreach($attributes as $attribute) {
|
88 |
-
$fields[] = $attribute->getName();
|
89 |
-
}
|
90 |
-
$fields[] = "final_price";
|
91 |
-
return $fields;
|
92 |
-
}
|
93 |
-
|
94 |
-
private function getFieldMapping($fields) {
|
95 |
-
$fieldMapping = array();
|
96 |
-
foreach($fields as $field) {
|
97 |
-
$fieldMapping[$field->getFieldName()] = $field;
|
98 |
-
}
|
99 |
-
return $fieldMapping;
|
100 |
-
}
|
101 |
-
|
102 |
-
/**
|
103 |
-
* @param $fields
|
104 |
-
* @return array
|
105 |
-
*/
|
106 |
-
private function validate($fields) {
|
107 |
-
$errors = array();
|
108 |
-
foreach($fields as $field) {
|
109 |
-
if(!array_key_exists(Unbxd_Recommendation_Model_Field::field_name, $field)) {
|
110 |
-
$errors[Unbxd_Recommendation_Model_Field::field_name] = "Not Present for all the fields";
|
111 |
-
} else if (is_null($field[Unbxd_Recommendation_Model_Field::field_name]) ||
|
112 |
-
$field[Unbxd_Recommendation_Model_Field::field_name] =="") {
|
113 |
-
$errors[Unbxd_Recommendation_Model_Field::field_name] = "field Name is empty for some fields";
|
114 |
-
}
|
115 |
-
if (!array_key_exists(Unbxd_Recommendation_Model_Field::datatype, $field)) {
|
116 |
-
$errors[Unbxd_Recommendation_Model_Field::datatype] = "Not Present for all the fields";
|
117 |
-
} else if (!in_array($field[Unbxd_Recommendation_Model_Field::datatype], Unbxd_Recommendation_Model_Field::$data_types)){
|
118 |
-
Mage::helper('unbxd_recommendation')->log(Zend_Log::ERR, 'Invalid feature field '.
|
119 |
-
$field[Unbxd_Recommendation_Model_Field::datatype]);
|
120 |
-
$errors[Unbxd_Recommendation_Model_Field::datatype] = "Invalid datatype specified";
|
121 |
-
}
|
122 |
-
|
123 |
-
if (array_key_exists(Unbxd_Recommendation_Model_Field::featured_field, $field)) {
|
124 |
-
if(!array_key_exists($field[Unbxd_Recommendation_Model_Field::featured_field],
|
125 |
-
Mage::getModel('unbxd_recommendation/field')->getFeaturedFields())) {
|
126 |
-
Mage::helper('unbxd_recommendation')->log(Zend_Log::ERR, 'Invalid feature field '.
|
127 |
-
$field[Unbxd_Recommendation_Model_Field::featured_field]);
|
128 |
-
$errors[Unbxd_Recommendation_Model_Field::featured_field] = "Invalid feature field specified";
|
129 |
-
}
|
130 |
-
}
|
131 |
-
}
|
132 |
-
return $errors;
|
133 |
-
}
|
134 |
-
|
135 |
-
public function deleteFields($fields, $website) {
|
136 |
-
$errors = $this->validate($fields);
|
137 |
-
if(sizeof($errors) != 0) {
|
138 |
-
return $errors;
|
139 |
-
}
|
140 |
-
$collection = $this->buildFieldCollection($fields, $website);
|
141 |
-
return Mage::getModel("unbxd_recommendation/field")->saveFields($collection);
|
142 |
-
}
|
143 |
-
|
144 |
-
/**
|
145 |
-
* @param $fields
|
146 |
-
* @param $website
|
147 |
-
* @return array
|
148 |
-
*/
|
149 |
-
public function saveFields($fields, $website) {
|
150 |
-
$errors = $this->validate($fields);
|
151 |
-
if(sizeof($errors) != 0) {
|
152 |
-
return $errors;
|
153 |
-
}
|
154 |
-
$collection = $this->buildFieldCollectionToAdd($fields, $website);
|
155 |
-
$response = Mage::getModel("unbxd_recommendation/field")->saveFields($collection);
|
156 |
-
if(!is_array($response) && $response === true) {
|
157 |
-
$this->triggerUpdateFeatureField($website);
|
158 |
-
}
|
159 |
-
}
|
160 |
-
|
161 |
-
|
162 |
-
public function triggerUpdateFeatureField(Mage_Core_Model_Website $website) {
|
163 |
-
Mage::getResourceModel('unbxd_recommendation/config')
|
164 |
-
->setValue($website->getWebsiteId(), self::NEED_FEATURE_FIELD_UPDATION, 1);
|
165 |
-
$this->triggerFeedUpload($website);
|
166 |
-
}
|
167 |
-
|
168 |
-
/**
|
169 |
-
* Method to trigger feed upload
|
170 |
-
* @param Mage_Core_Model_Website $website
|
171 |
-
* @return void
|
172 |
-
*/
|
173 |
-
public function triggerFeedUpload(Mage_Core_Model_Website $website) {
|
174 |
-
Mage::getModel('unbxd_recommendation/api_task_triggerfeedupload')
|
175 |
-
->prepare($website)
|
176 |
-
->process();
|
177 |
-
}
|
178 |
-
|
179 |
-
private function getFeatureFieldToFieldMapping($fields) {
|
180 |
-
$featureFieldToFieldMapping = array();
|
181 |
-
foreach($fields as $field) {
|
182 |
-
if($field instanceof Unbxd_Recommendation_Model_Field &&
|
183 |
-
$field->hasData(Unbxd_Recommendation_Model_Field::featured_field) &&
|
184 |
-
!is_null($field->getData(Unbxd_Recommendation_Model_Field::featured_field))) {
|
185 |
-
$featureFieldToFieldMapping[$field[Unbxd_Recommendation_Model_Field::featured_field]] = $field;
|
186 |
-
}
|
187 |
-
}
|
188 |
-
return $featureFieldToFieldMapping;
|
189 |
-
}
|
190 |
-
|
191 |
-
private function buildFieldCollection($fields, $website) {
|
192 |
-
$collection = array();
|
193 |
-
$fieldMapping = $this->getFieldMapping($this->getFields($fields, $website));
|
194 |
-
foreach($fields as $field) {
|
195 |
-
if (!array_key_exists(Unbxd_Recommendation_Model_Field::field_name, $field)) {
|
196 |
-
continue;
|
197 |
-
}
|
198 |
-
if(array_key_exists($field[Unbxd_Recommendation_Model_Field::field_name], $fieldMapping)) {
|
199 |
-
$collection[]["delete"] = $fieldMapping[$field[Unbxd_Recommendation_Model_Field::field_name]];
|
200 |
-
}
|
201 |
-
}
|
202 |
-
return $collection;
|
203 |
-
}
|
204 |
-
|
205 |
-
private function buildFieldCollectionToAdd($fields, $website) {
|
206 |
-
$collection = array();
|
207 |
-
$fieldMapping = $this->getFieldMapping($this->getFields($fields, $website));
|
208 |
-
$featureFieldToFieldMapping = $this->getFeatureFieldToFieldMapping($fieldMapping);
|
209 |
-
|
210 |
-
foreach($fields as $field) {
|
211 |
-
if(!array_key_exists(Unbxd_Recommendation_Model_Field::field_name, $field)) {
|
212 |
-
continue;
|
213 |
-
}
|
214 |
-
/*
|
215 |
-
All possible test cases
|
216 |
-
1) if field name is present and it was a feature field
|
217 |
-
1.a) if request feature field is equal to selected feature field, dont do anything
|
218 |
-
1.b) if request feature field is not equal to selected feature field, dont do anything
|
219 |
-
1.c) if request field is not a feature field,
|
220 |
-
remove the field name entry from the feature field row, save as different row.
|
221 |
-
|
222 |
-
2) if field name is present and it was not a feature field
|
223 |
-
2.a) if request field is a feature field,
|
224 |
-
remove the field name entry as a normal field and save as feature field
|
225 |
-
2.b) if request field is not a feature field,
|
226 |
-
update the existing field
|
227 |
-
|
228 |
-
3) if field name not present,
|
229 |
-
save as a new field
|
230 |
-
*/
|
231 |
-
|
232 |
-
// case 1
|
233 |
-
if(array_key_exists($field[Unbxd_Recommendation_Model_Field::field_name], $fieldMapping ) &&
|
234 |
-
$fieldMapping[$field[Unbxd_Recommendation_Model_Field::field_name]]->hasData(Unbxd_Recommendation_Model_Field::featured_field) &&
|
235 |
-
!is_null($fieldMapping[$field[Unbxd_Recommendation_Model_Field::field_name]]->getData(Unbxd_Recommendation_Model_Field::featured_field))) {
|
236 |
-
//case 1 a)
|
237 |
-
if (array_key_exists(Unbxd_Recommendation_Model_Field::featured_field, $field) &&
|
238 |
-
$field[Unbxd_Recommendation_Model_Field::featured_field] ==
|
239 |
-
$fieldMapping[$field[Unbxd_Recommendation_Model_Field::field_name]][Unbxd_Recommendation_Model_Field::featured_field]) {
|
240 |
-
continue;
|
241 |
-
}
|
242 |
-
// case 1 b)
|
243 |
-
else if (array_key_exists(Unbxd_Recommendation_Model_Field::featured_field, $field)) {
|
244 |
-
$collection[]["delete"] = $featureFieldToFieldMapping[$field[Unbxd_Recommendation_Model_Field::featured_field]];
|
245 |
-
$collection[]["delete"] = $fieldMapping[$field[Unbxd_Recommendation_Model_Field::field_name]];
|
246 |
-
$fieldModel = Mage::getModel("unbxd_recommendation/field");
|
247 |
-
$fieldModel->setFeaturedField($field[Unbxd_Recommendation_Model_Field::featured_field]);
|
248 |
-
}
|
249 |
-
|
250 |
-
//case 1 c)
|
251 |
-
else {
|
252 |
-
$collection[]["delete"] = $fieldMapping[$field[Unbxd_Recommendation_Model_Field::field_name]];
|
253 |
-
$fieldModel = Mage::getModel("unbxd_recommendation/field");
|
254 |
-
|
255 |
-
}
|
256 |
-
} else if(array_key_exists($field[Unbxd_Recommendation_Model_Field::field_name], $fieldMapping)) {
|
257 |
-
//case 2 a)
|
258 |
-
if (array_key_exists(Unbxd_Recommendation_Model_Field::featured_field, $field)) {
|
259 |
-
$collection[]["delete"] = $fieldMapping[$field[Unbxd_Recommendation_Model_Field::field_name]];
|
260 |
-
$fieldModel = Mage::getModel("unbxd_recommendation/field");
|
261 |
-
$fieldModel->setFeaturedField($field[Unbxd_Recommendation_Model_Field::featured_field]);
|
262 |
-
}
|
263 |
-
// case 2 b)
|
264 |
-
else {
|
265 |
-
$fieldModel = $fieldMapping[$field[Unbxd_Recommendation_Model_Field::field_name]];
|
266 |
-
}
|
267 |
-
} else {
|
268 |
-
$fieldModel = Mage::getModel("unbxd_recommendation/field");
|
269 |
-
if (array_key_exists(Unbxd_Recommendation_Model_Field::featured_field, $field)) {
|
270 |
-
$fieldModel->setFeaturedField($field[Unbxd_Recommendation_Model_Field::featured_field]);
|
271 |
-
}
|
272 |
-
|
273 |
-
}
|
274 |
-
$fieldModel->setFieldName($field[Unbxd_Recommendation_Model_Field::field_name]);
|
275 |
-
$fieldModel->setDatatype($field[Unbxd_Recommendation_Model_Field::datatype]);
|
276 |
-
$fieldModel->setAutosuggest(0);
|
277 |
-
$fieldModel->setWebsiteId($website->getWebsiteId());
|
278 |
-
$fieldModel->setDisplayed(1);
|
279 |
-
$collection[]["add"] = $fieldModel;
|
280 |
-
}
|
281 |
-
return $collection;
|
282 |
-
}
|
283 |
-
|
284 |
-
/**
|
285 |
-
* Method to getFields, if
|
286 |
-
*
|
287 |
-
* @param $fields
|
288 |
-
* @return mixed
|
289 |
-
*/
|
290 |
-
private function getFields($fields, $website) {
|
291 |
-
$inField = array();
|
292 |
-
foreach($fields as $field) {
|
293 |
-
$inField[] = "'" .$field[Unbxd_Recommendation_Model_Field::field_name]. "'";
|
294 |
-
}
|
295 |
-
$collection = Mage::getResourceModel("unbxd_recommendation/field_collection");
|
296 |
-
|
297 |
-
$collection->getSelect()->where('(' . Unbxd_Recommendation_Model_Field::field_name . ' in ('. implode(",", $inField). ')'. " OR ".
|
298 |
-
Unbxd_Recommendation_Model_Field::featured_field. " IS NOT NULL) AND ".
|
299 |
-
Unbxd_Recommendation_Model_Field::website_id . " = " . $website->getWebsiteId());
|
300 |
-
return $collection->load();
|
301 |
-
}
|
302 |
-
|
303 |
-
|
304 |
-
/**
|
305 |
-
* Method to update feature fields to unbxd
|
306 |
-
*
|
307 |
-
* @return bool| array
|
308 |
-
*/
|
309 |
-
public function updateFeatureFields(Mage_Core_Model_Website $website) {
|
310 |
-
$response = Mage::getModel("unbxd_recommendation/api_task_updatefeaturefields")
|
311 |
-
->prepare($website)
|
312 |
-
->process();
|
313 |
-
if(! $response->isSuccess()) {
|
314 |
-
Mage::log(Zend_Log::ERR,
|
315 |
-
"Update feature fields failed because of theses errors ".json_encode($response->getErrors()));
|
316 |
-
return $response->getErrors();
|
317 |
-
}
|
318 |
-
return true;
|
319 |
-
}
|
320 |
-
|
321 |
-
public function getNumberOfDocsInUnbxd(Mage_Core_Model_Website $website) {
|
322 |
-
$response = Mage::getModel('unbxd_recommendation/api_task_feeddetails')
|
323 |
-
->prepare($website)
|
324 |
-
->process();
|
325 |
-
if($response->isSuccess()) {
|
326 |
-
$response = $response->getResponse();
|
327 |
-
$feedInfo = $response[Unbxd_Recommendation_Model_Api_Task_Feeddetails::FEEDINFO];
|
328 |
-
return $feedInfo[Unbxd_Recommendation_Model_Api_Task_Feeddetails::NUMDOCS];
|
329 |
-
}
|
330 |
-
return 0;
|
331 |
-
}
|
332 |
-
}
|
333 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Helper/Data.php
DELETED
@@ -1,23 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* @category Unbxd
|
5 |
-
* @package Unbxd_Recommendation
|
6 |
-
* @author Unbxd Software Pvt. Ltd
|
7 |
-
*/
|
8 |
-
class Unbxd_Recommendation_Helper_Data extends Mage_Core_Helper_Abstract {
|
9 |
-
|
10 |
-
const LOG_FILE = "unbxd_recommendation.log";
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Method to log
|
14 |
-
*
|
15 |
-
* @param int $level
|
16 |
-
* @param string $message
|
17 |
-
*/
|
18 |
-
public function log($level, $message) {
|
19 |
-
Mage::log($message, $level, static::LOG_FILE, true);
|
20 |
-
}
|
21 |
-
|
22 |
-
}
|
23 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Model/Api/Task/Widget.php
DELETED
@@ -1,236 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Created by IntelliJ IDEA.
|
4 |
-
* User: anantheshadiga
|
5 |
-
* Date: 10/21/14
|
6 |
-
* Time: 1:01 AM
|
7 |
-
*/
|
8 |
-
|
9 |
-
class Unbxd_Recommendation_Model_Api_Task_Widget extends Unbxd_Recommendation_Model_Api_Task {
|
10 |
-
|
11 |
-
const WIDGET_TYPE = 'widgetType';
|
12 |
-
|
13 |
-
const jsonResponse = false;
|
14 |
-
|
15 |
-
public static $WIDGET_TYPES = array(
|
16 |
-
'recommend' => 'unbxd_recommended_for_you',
|
17 |
-
'recommend' => 'unbxd_recommended_for_you',
|
18 |
-
'recently-viewed' =>'unbxd_recently_viewed',
|
19 |
-
'more-like-these' => 'unbxd_more_like_these',
|
20 |
-
'also-bought' =>'unbxd_also_bought',
|
21 |
-
'also-viewed' => 'unbxd_also_viewed',
|
22 |
-
'top-sellers' => 'unbxd_top_sellers',
|
23 |
-
'category-top-sellers' => 'unbxd_category_top_sellers',
|
24 |
-
'brand-top-sellers' => 'unbxd_brand_top_sellers',
|
25 |
-
'pdp-top-sellers' => 'unbxd_pdp_top_sellers',
|
26 |
-
'brand-top-sellers' => 'unbxd_brand_top_sellers',
|
27 |
-
'cart-recommend' => 'unbxd_cart_recommendations');
|
28 |
-
|
29 |
-
public function prepare(Mage_Core_Model_Website $website) {
|
30 |
-
$this->preparationSuccessful = true;
|
31 |
-
$widgetType = $this->getWidgetType();
|
32 |
-
if(is_null($widgetType)) {
|
33 |
-
return $this;
|
34 |
-
}
|
35 |
-
$this->prepareUrl($website, $widgetType);
|
36 |
-
$this->prepareParams();
|
37 |
-
return $this;
|
38 |
-
}
|
39 |
-
|
40 |
-
protected function prepareParams() {
|
41 |
-
$this->setData('ip',
|
42 |
-
isset($_SERVER['HTTP_X_FORWARDED_FOR'])?$_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER['REMOTE_ADDR'])
|
43 |
-
->setData('format', 'html');
|
44 |
-
}
|
45 |
-
|
46 |
-
protected function getWidgetType() {
|
47 |
-
$params = $this->getData();
|
48 |
-
if(!array_key_exists(static::WIDGET_TYPE, $params) ||
|
49 |
-
!array_key_exists($params[static::WIDGET_TYPE], static::$WIDGET_TYPES) ) {
|
50 |
-
$this->preparationSuccessful = false;
|
51 |
-
$this->errors["message"] = "Invalid widget type";
|
52 |
-
return null;
|
53 |
-
}
|
54 |
-
return $params[static::WIDGET_TYPE];
|
55 |
-
}
|
56 |
-
|
57 |
-
protected function prepareUrl(Mage_Core_Model_Website $website, $widget)
|
58 |
-
{
|
59 |
-
$params = $this->getData();
|
60 |
-
$siteKey = Mage::getResourceModel("unbxd_recommendation/config")
|
61 |
-
->getValue($website->getWebsiteId(), Unbxd_Recommendation_Helper_Confighelper::SITE_KEY);
|
62 |
-
$apiKey = Mage::getResourceModel("unbxd_recommendation/config")
|
63 |
-
->getValue($website->getWebsiteId(), Unbxd_Recommendation_Helper_Confighelper::API_KEY);
|
64 |
-
if (is_null($siteKey)) {
|
65 |
-
$this->preparationSuccessful = false;
|
66 |
-
$this->errors["message"] = "Site key not set";
|
67 |
-
return;
|
68 |
-
}
|
69 |
-
|
70 |
-
$pk = $this->getPrimaryToken();
|
71 |
-
$pk = rawurlencode($pk);
|
72 |
-
|
73 |
-
if ($pk != '') {
|
74 |
-
static::$url = static::RECOMMENDATION_API . "v1.0/$apiKey/$siteKey/$widget/$pk";
|
75 |
-
return;
|
76 |
-
} else if($params[static::WIDGET_TYPE] == 'top-sellers' || $params[static::WIDGET_TYPE] == 'recommend') {
|
77 |
-
static::$url = static::RECOMMENDATION_API . "v1.0/$apiKey/$siteKey/$widget";
|
78 |
-
return;
|
79 |
-
} else {
|
80 |
-
$this->preparationSuccessful = false;
|
81 |
-
$this->errors["message"] = "Primary token missing for the specified widget";
|
82 |
-
return;
|
83 |
-
}
|
84 |
-
}
|
85 |
-
|
86 |
-
protected function getPrimaryToken() {
|
87 |
-
$params = $this->getData();
|
88 |
-
|
89 |
-
if($params[static::WIDGET_TYPE] == 'recently-viewed' || $params[static::WIDGET_TYPE] == 'recommend' ||
|
90 |
-
$params[static::WIDGET_TYPE] == 'cart-recommend') {
|
91 |
-
if(array_key_exists('uid', $params)) {
|
92 |
-
return $params['uid'];
|
93 |
-
} else {
|
94 |
-
return '';
|
95 |
-
}
|
96 |
-
}
|
97 |
-
|
98 |
-
if($params[static::WIDGET_TYPE] == 'also-viewed' || $params[static::WIDGET_TYPE] == 'also-bought' ||
|
99 |
-
$params[static::WIDGET_TYPE] == 'more-like-these' || $params[static::WIDGET_TYPE] == 'pdp-top-sellers') {
|
100 |
-
if(array_key_exists('pid', $params)) {
|
101 |
-
return $params['pid'];
|
102 |
-
} else {
|
103 |
-
return '';
|
104 |
-
}
|
105 |
-
}
|
106 |
-
|
107 |
-
if($params[static::WIDGET_TYPE] == 'category-top-sellers') {
|
108 |
-
if(array_key_exists('category', $params)) {
|
109 |
-
return $params['category'];
|
110 |
-
} else {
|
111 |
-
return '';
|
112 |
-
}
|
113 |
-
}
|
114 |
-
|
115 |
-
if($params[static::WIDGET_TYPE] == 'brand-top-sellers') {
|
116 |
-
if(array_key_exists('brand', $params)) {
|
117 |
-
return $params['brand'];
|
118 |
-
} else {
|
119 |
-
return '';
|
120 |
-
}
|
121 |
-
}
|
122 |
-
}
|
123 |
-
|
124 |
-
protected function postProcess(Unbxd_Recommendation_Model_Api_Response $response)
|
125 |
-
{
|
126 |
-
$body = $response->getBody();
|
127 |
-
if(is_null($body) || $body == '') {
|
128 |
-
return $response;
|
129 |
-
}
|
130 |
-
$body = $this->trimBody($body);
|
131 |
-
$body = $this->parseBody($body);
|
132 |
-
$body = $this->prepareResponse($body);
|
133 |
-
$response->setData('body', $body);
|
134 |
-
return $response;
|
135 |
-
}
|
136 |
-
|
137 |
-
protected function prepareResponse($body)
|
138 |
-
{
|
139 |
-
return $body;
|
140 |
-
}
|
141 |
-
|
142 |
-
private function getJavascriptNode($body) {
|
143 |
-
$startpos = strpos($body, '<script');
|
144 |
-
$endpos = strrpos($body, "</script>");
|
145 |
-
if($startpos != false && $endpos != false) {
|
146 |
-
return substr($body, $startpos, $endpos + strlen("</script>"));
|
147 |
-
}
|
148 |
-
return "";
|
149 |
-
}
|
150 |
-
|
151 |
-
protected function parseBody($body)
|
152 |
-
{
|
153 |
-
$prefix = '<html><body>';
|
154 |
-
$postfix = '</body></html>';
|
155 |
-
$dom = new DOMDocument;
|
156 |
-
|
157 |
-
$strippedJs = $this->getJavascriptNode($body);
|
158 |
-
$body = str_replace($strippedJs, "", $body);
|
159 |
-
@$dom->loadHTML($prefix.$body. $postfix);
|
160 |
-
|
161 |
-
$xpath = new DOMXPath($dom);
|
162 |
-
$classname = 'unbxd-field-image_link';
|
163 |
-
$nodes = $xpath->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");
|
164 |
-
if(!isset($nodes)) {
|
165 |
-
return $body;
|
166 |
-
}
|
167 |
-
$images = $this->getOrigImages($nodes);
|
168 |
-
$images = $this->getFullImages($images);
|
169 |
-
$this->setImages($images, $xpath);
|
170 |
-
$body = $dom->saveHTML();
|
171 |
-
$pos = strrpos($body, $postfix);
|
172 |
-
if($pos != false) {
|
173 |
-
$body = substr_replace($body, '', $pos, strlen($postfix));
|
174 |
-
}
|
175 |
-
$pos = strpos($body, $prefix);
|
176 |
-
if($pos !== false ) {
|
177 |
-
$body = substr_replace($body, '', $pos, strlen($prefix));
|
178 |
-
}
|
179 |
-
return $body.$strippedJs;
|
180 |
-
}
|
181 |
-
|
182 |
-
protected function setImages($images,DOMXPath $xpath) {
|
183 |
-
foreach($images as $origImagePath => $modifiedImagePath) {
|
184 |
-
$imageNode = $xpath->query('//img[@src="' . $origImagePath . '"]');
|
185 |
-
if($imageNode instanceof DOMNodeList && $imageNode->length > 0) {
|
186 |
-
for($index = 0;$index < $imageNode->length; $index++) {
|
187 |
-
$imageNode->item($index)->setAttribute('src', $modifiedImagePath);
|
188 |
-
}
|
189 |
-
}
|
190 |
-
}
|
191 |
-
}
|
192 |
-
|
193 |
-
protected function getOrigImages(DOMNodeList $nodes) {
|
194 |
-
$images = array();
|
195 |
-
foreach ($nodes as $node) {
|
196 |
-
$img = $node->getElementsByTagName('img');
|
197 |
-
if ($img instanceof DOMNodeList && $img->length > 0) {
|
198 |
-
if ($img->item(0)->hasAttribute('src')) {
|
199 |
-
$src = $img->item(0)->getAttribute('src');
|
200 |
-
$images[] = $src;
|
201 |
-
}
|
202 |
-
}
|
203 |
-
}
|
204 |
-
return $images;
|
205 |
-
}
|
206 |
-
|
207 |
-
protected function getFullImages($images) {
|
208 |
-
$website = Mage::app()->getWebsite();
|
209 |
-
$imageField = Mage::getResourceModel("unbxd_recommendation/field")
|
210 |
-
->getFieldByFeatureField($website->getWebsiteId(), 'imageUrl');
|
211 |
-
$fullImages = array();
|
212 |
-
|
213 |
-
foreach($images as $img) {
|
214 |
-
$product = Mage::getModel('catalog/product')
|
215 |
-
->setData($imageField, $img);
|
216 |
-
$fullImages[$img] = (string)Mage::helper('catalog/image')->init($product, $imageField)
|
217 |
-
->resize(400, 500);
|
218 |
-
}
|
219 |
-
return $fullImages;
|
220 |
-
}
|
221 |
-
|
222 |
-
protected function trimBody($body) {
|
223 |
-
$endPart = '").text();$(\'#' . static::$WIDGET_TYPES[$this->getData(static::WIDGET_TYPE)] . '\').html(decoded); })(jQuery);';
|
224 |
-
$startPart = '(function($){var decoded = $(\'<div/>\').html("';
|
225 |
-
$pos = strrpos($body, $endPart);
|
226 |
-
if($pos != false) {
|
227 |
-
$body = substr_replace($body, '', $pos, strlen($endPart));
|
228 |
-
}
|
229 |
-
$pos = strpos($body, $startPart);
|
230 |
-
if($pos !== false ) {
|
231 |
-
$body = substr_replace($body, '', $pos, strlen($startPart));
|
232 |
-
}
|
233 |
-
$body = trim(html_entity_decode($body, ENT_QUOTES));
|
234 |
-
return $body;
|
235 |
-
}
|
236 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Model/Feed/Feedmanager.php
DELETED
@@ -1,178 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Unbxd_Recommendation_Model_Feed_Feedmanager {
|
4 |
-
|
5 |
-
//Delete the file after uploading the feed
|
6 |
-
var $deleteIncrementalFeed = true;
|
7 |
-
|
8 |
-
var $fileName = "unbxdFeed.json";
|
9 |
-
|
10 |
-
var $key;
|
11 |
-
|
12 |
-
var $siteName;
|
13 |
-
|
14 |
-
/**
|
15 |
-
* method to push the feed to the Unbxd server
|
16 |
-
**/
|
17 |
-
protected function _pushFeed($fullimport=true){
|
18 |
-
$fields=array('file'=>'@'.$this->fileName.';filename='.'unbxdFeed.json');
|
19 |
-
$url="http://feed.unbxdapi.com/upload/v2/".$this->key."/".$this->siteName. ($fullimport?"?fullimport=true":"");
|
20 |
-
|
21 |
-
$ch = curl_init();
|
22 |
-
curl_setopt($ch, CURLOPT_URL,$url);
|
23 |
-
curl_setopt($ch, CURLOPT_POST,true);
|
24 |
-
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields);
|
25 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
26 |
-
try{
|
27 |
-
$this->log('pushing the feed to '.$url);
|
28 |
-
// push the feed to the server
|
29 |
-
$response = $this->exec($ch);
|
30 |
-
$this->log(json_encode($response));
|
31 |
-
$responseMessage = json_decode($response['body'], true);
|
32 |
-
if($responseMessage["statusCode"] != 200) {
|
33 |
-
throw new Exception('Unexpected response from unbxd server');
|
34 |
-
}
|
35 |
-
}catch(Exception $ex){
|
36 |
-
$this->log("Error while uploading the feed because of " . $ex->getMessage());
|
37 |
-
return false;
|
38 |
-
}
|
39 |
-
curl_close($ch);
|
40 |
-
return true;
|
41 |
-
}
|
42 |
-
|
43 |
-
protected function exec($ch)
|
44 |
-
{
|
45 |
-
$response = curl_exec($ch);
|
46 |
-
$error = curl_error($ch);
|
47 |
-
$result = array( 'header' => '',
|
48 |
-
'body' => '',
|
49 |
-
'curl_error' => '',
|
50 |
-
'http_code' => '',
|
51 |
-
'last_url' => '');
|
52 |
-
if ( $error != "" ) {
|
53 |
-
$result['curl_error'] = $error;
|
54 |
-
return $result;
|
55 |
-
}
|
56 |
-
|
57 |
-
$header_size = curl_getinfo($ch,CURLINFO_HEADER_SIZE);
|
58 |
-
//$result['header'] = substr($response, 0, $header_size);
|
59 |
-
$result['body'] = $response;
|
60 |
-
$result['http_code'] = curl_getinfo($ch,CURLINFO_HTTP_CODE);
|
61 |
-
$result['last_url'] = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);
|
62 |
-
return $result;
|
63 |
-
}
|
64 |
-
|
65 |
-
/**
|
66 |
-
* method to set the feedName, log, apikey based on site Name
|
67 |
-
**/
|
68 |
-
public function init(Mage_Core_Model_Website $website, $isFullUpload)
|
69 |
-
{
|
70 |
-
$this->fileName = Mage::getBaseDir('tmp').DS.str_replace(' ', '_', $website->getName()).
|
71 |
-
"_Feed" . (!$isFullUpload?round(microtime(true) * 1000):'') . ".json";
|
72 |
-
$this->key = Mage::getResourceModel("unbxd_recommendation/config")
|
73 |
-
->getValue($website->getWebsiteId(), Unbxd_Recommendation_Helper_Confighelper::SECRET_KEY);
|
74 |
-
$this->siteName = Mage::getResourceModel("unbxd_recommendation/config")
|
75 |
-
->getValue($website->getWebsiteId(), Unbxd_Recommendation_Helper_Confighelper::SITE_KEY);
|
76 |
-
if(is_null($this->siteName) || is_null($this->key)) {
|
77 |
-
$message = 'Authorization failed, keys not set';
|
78 |
-
Mage::helper('unbxd_recommendation')->log(Zend_Log::ERR, $message);
|
79 |
-
return array('success' => false, 'message' => $message);
|
80 |
-
}
|
81 |
-
return true;
|
82 |
-
}
|
83 |
-
|
84 |
-
/**
|
85 |
-
* method to update feature field if required
|
86 |
-
*
|
87 |
-
* @param Mage_Core_Model_Website $website
|
88 |
-
* @return void
|
89 |
-
*/
|
90 |
-
private function updateFeatureFields(Mage_Core_Model_Website $website) {
|
91 |
-
$needFeatureFieldUpdation = Mage::getResourceModel("unbxd_recommendation/config")
|
92 |
-
->getValue($website->getWebsiteId(), Unbxd_Recommendation_Helper_Confighelper::NEED_FEATURE_FIELD_UPDATION);
|
93 |
-
if(is_null($needFeatureFieldUpdation) || $needFeatureFieldUpdation == "1") {
|
94 |
-
$response = Mage::helper('unbxd_recommendation/confighelper')->updateFeatureFields($website);
|
95 |
-
if(!is_array($response)) {
|
96 |
-
Mage::getResourceModel("unbxd_recommendation/config")
|
97 |
-
->setValue($website->getWebsiteId(),
|
98 |
-
Unbxd_Recommendation_Helper_Confighelper::NEED_FEATURE_FIELD_UPDATION, 0);
|
99 |
-
} else {
|
100 |
-
$this->log("error while updating the feature fields");
|
101 |
-
}
|
102 |
-
}
|
103 |
-
}
|
104 |
-
|
105 |
-
/**
|
106 |
-
* method to initiate feed uploading to the unbxd servers
|
107 |
-
**/
|
108 |
-
public function process($isFullUpload = true, Mage_Core_Model_Website $website){
|
109 |
-
|
110 |
-
$this->log('Feed Uploading request recieved');
|
111 |
-
$response = $this->init($website, $isFullUpload);
|
112 |
-
if(is_array($response)){
|
113 |
-
return $response;
|
114 |
-
}
|
115 |
-
$currentDate = date('Y-m-d H:i:s');
|
116 |
-
|
117 |
-
// check the lock, that if already indexing is happening
|
118 |
-
if(!$isFullUpload ||
|
119 |
-
!Mage::getResourceModel("unbxd_recommendation/config")->isLock($website->getWebsiteId())) {
|
120 |
-
|
121 |
-
$fromDate = Mage::getResourceSingleton('unbxd_recommendation/config')
|
122 |
-
->getValue($website->getWebsiteId(), Unbxd_Recommendation_Model_Config::LAST_UPLOAD_TIME);
|
123 |
-
if(is_null($fromDate)) {
|
124 |
-
$fromDate = "1970-01-01 00:00:00";
|
125 |
-
}
|
126 |
-
|
127 |
-
$this->log('site '. $website->getName() .' is acquiring feed lock');
|
128 |
-
if($isFullUpload) {
|
129 |
-
Mage::getResourceModel('unbxd_recommendation/config')->lockSite($website->getWebsiteId());
|
130 |
-
}
|
131 |
-
|
132 |
-
// create the feed
|
133 |
-
try {
|
134 |
-
$status = Mage::getSingleton('unbxd_recommendation/feed_feedcreator')
|
135 |
-
->setFullUpload($isFullUpload)
|
136 |
-
->createFeed($this->fileName, $website, $fromDate, $currentDate);
|
137 |
-
} catch (Exception $e) {
|
138 |
-
$this->log('Caught exception: '. $e->getMessage());
|
139 |
-
return array('success' => false, 'message' => $e->getMessage());
|
140 |
-
}
|
141 |
-
$this->log('unbxd Datafeeder finished creating file');
|
142 |
-
|
143 |
-
if($status){
|
144 |
-
$status=$this->_pushFeed($isFullUpload);
|
145 |
-
if($status){
|
146 |
-
Mage::getResourceSingleton("unbxd_recommendation/config")
|
147 |
-
->setValue($website->getWebsiteId(),
|
148 |
-
Unbxd_Recommendation_Model_Config::LAST_UPLOAD_TIME, $currentDate);
|
149 |
-
$this->updateFeatureFields($website);
|
150 |
-
}
|
151 |
-
}
|
152 |
-
|
153 |
-
if($isFullUpload) {
|
154 |
-
// unlock the feed once everything is completed
|
155 |
-
Mage::getResourceModel('unbxd_recommendation/config')->unLockSite($website->getWebsiteId());
|
156 |
-
} else {
|
157 |
-
//In case of incremental feed delete the feed
|
158 |
-
Mage::getSingleton('unbxd_recommendation/feed_filemanager')->deleteFile($this->fileName);
|
159 |
-
}
|
160 |
-
|
161 |
-
$this->log('site ' . $website->getName() .' has been unlocked');
|
162 |
-
if($status) {
|
163 |
-
Mage::getModel('unbxd_recommendation/sync')
|
164 |
-
->markItSynced($website->getWebsiteId(), $fromDate, $currentDate);
|
165 |
-
return array('success' => true, 'message' => 'File uploaded successfully');
|
166 |
-
}
|
167 |
-
return array('success' => false, 'message' => 'Unexpected error, please contact support');
|
168 |
-
} else {
|
169 |
-
$this->log('Feed Uploading failed because site has been locked');
|
170 |
-
return array('success' => false, 'message' => 'Feed is already being processed');
|
171 |
-
}
|
172 |
-
}
|
173 |
-
|
174 |
-
public function log($message) {
|
175 |
-
Mage::helper('unbxd_recommendation')->log(Zend_Log::DEBUG, $message);
|
176 |
-
}
|
177 |
-
}
|
178 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Model/Feed/Jsonbuilder/Jsonbuilder.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Unbxd_Recommendation_Model_Feed_Jsonbuilder_Jsonbuilder {
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
}
|
8 |
-
|
9 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Model/Feed/Jsonbuilder/Productbuilder.php
DELETED
@@ -1,330 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Unbxd_Recommendation_Model_Feed_Jsonbuilder_Productbuilder extends
|
4 |
-
Unbxd_Recommendation_Model_Feed_Jsonbuilder_Jsonbuilder {
|
5 |
-
|
6 |
-
const NUMBER = "number";
|
7 |
-
const DECIMAL = "decimal";
|
8 |
-
const DATE = "date";
|
9 |
-
const IMAGE_HEIGHT = "image_height";
|
10 |
-
const IMAGE_WIDTH = "image_width";
|
11 |
-
const GENERATE_IMAGE = "generate_image";
|
12 |
-
|
13 |
-
/*
|
14 |
-
* method to get the products in json
|
15 |
-
*/
|
16 |
-
public function getProducts($website, $collection, $fields) {
|
17 |
-
$content='';
|
18 |
-
$firstLoop = true;
|
19 |
-
foreach($collection as $product) {
|
20 |
-
if(!$firstLoop) {
|
21 |
-
$content = $content . ",";
|
22 |
-
}
|
23 |
-
|
24 |
-
$productArray = $this->getProduct($website, $product, $fields);
|
25 |
-
$productArray = $this->postProcessProduct($productArray, $fields, false);
|
26 |
-
$content=$content.json_encode($productArray);
|
27 |
-
|
28 |
-
$firstLoop = false;
|
29 |
-
}
|
30 |
-
|
31 |
-
return rtrim($content, ",");
|
32 |
-
}
|
33 |
-
|
34 |
-
|
35 |
-
/*
|
36 |
-
* method to get the product in json
|
37 |
-
*/
|
38 |
-
public function getProduct($website, $product, $fields, $childProduct = false) {
|
39 |
-
$productArray =array();
|
40 |
-
|
41 |
-
foreach($product->getData('') as $columnHeader=>$columndata){
|
42 |
-
|
43 |
-
$unbxdFieldName = $this->getUnbxdFieldName($columnHeader, $childProduct);
|
44 |
-
if(isset($unbxdFieldName) && $unbxdFieldName != "" && !array_key_exists($unbxdFieldName, $fields)) {
|
45 |
-
continue;
|
46 |
-
}
|
47 |
-
|
48 |
-
if($columnHeader=="entity_id"){
|
49 |
-
$uniqueIdField = 'uniqueId'.(($childProduct)?'Associated':'');
|
50 |
-
$productArray[$uniqueIdField] = $columndata;
|
51 |
-
}else if($columnHeader=="url_path"){
|
52 |
-
// handling the url
|
53 |
-
$productArray[$unbxdFieldName] = $product->getProductUrl();
|
54 |
-
} else if (Mage::helper('unbxd_recommendation/feedhelper')->isImage($columnHeader)) {
|
55 |
-
// handling tthe images
|
56 |
-
$attributeValue = $this->getImage($columnHeader, $unbxdFieldName, $product, $fields);
|
57 |
-
if(!is_null($attributeValue)) {
|
58 |
-
$productArray[$unbxdFieldName] = $attributeValue;
|
59 |
-
}
|
60 |
-
|
61 |
-
} else if( $fields[$unbxdFieldName][Unbxd_Recommendation_Model_Field::multivalued]){
|
62 |
-
// handling the array/ multiselect attribute
|
63 |
-
$attributeValue = $this->getMultiSelectAttribute($columnHeader, $product);
|
64 |
-
if(!is_null($attributeValue)) {
|
65 |
-
$productArray[$unbxdFieldName] = $attributeValue;
|
66 |
-
}
|
67 |
-
} else if (!is_null($columndata) && $columndata != ""){
|
68 |
-
//adding the normal attribute
|
69 |
-
$productArray[$unbxdFieldName] = $columndata;
|
70 |
-
}
|
71 |
-
}
|
72 |
-
if(!$childProduct) {
|
73 |
-
|
74 |
-
// adding the childProduct
|
75 |
-
//$productArray = $this->addChildrens($product, $fields, $productArray);
|
76 |
-
|
77 |
-
$category = $this->getCategoryAttribute($website, $product);
|
78 |
-
// adding the category
|
79 |
-
$productArray = $category + $productArray;
|
80 |
-
//adding availability
|
81 |
-
$productArray[Unbxd_Recommendation_Model_Resource_Field::AVAILABILITY] =
|
82 |
-
$product->isSalable()? "true": "false";
|
83 |
-
if(array_key_exists(Unbxd_Recommendation_Model_Resource_Field::FINAL_PRICE, $fields) &&
|
84 |
-
array_key_exists(Unbxd_Recommendation_Model_Resource_Field::PRICE, $productArray) &&
|
85 |
-
(!array_key_exists(Unbxd_Recommendation_Model_Resource_Field::FINAL_PRICE, $productArray) ||
|
86 |
-
is_null($productArray[Unbxd_Recommendation_Model_Resource_Field::FINAL_PRICE]))) {
|
87 |
-
$productArray[Unbxd_Recommendation_Model_Resource_Field::FINAL_PRICE] =
|
88 |
-
$productArray[Unbxd_Recommendation_Model_Resource_Field::PRICE];
|
89 |
-
}
|
90 |
-
|
91 |
-
}
|
92 |
-
return $productArray;
|
93 |
-
}
|
94 |
-
|
95 |
-
/**
|
96 |
-
* method to get category content in xml given the product object
|
97 |
-
*/
|
98 |
-
private function getCategoryAttribute($website, $product){
|
99 |
-
$cats = $product->getCategoryIds();
|
100 |
-
$categoryIds = array();
|
101 |
-
$category = array();
|
102 |
-
$categoryData = array();
|
103 |
-
foreach ($cats as $categoryId) {
|
104 |
-
$_cat = Mage::helper('unbxd_recommendation/feedhelper')->getCategory($categoryId);
|
105 |
-
if($_cat == null) {
|
106 |
-
continue;
|
107 |
-
}
|
108 |
-
$categoryName = $_cat->getName();
|
109 |
-
if($categoryName == null || $categoryName == "") {
|
110 |
-
continue;
|
111 |
-
}
|
112 |
-
$categoryIds[] = (string)$categoryId;
|
113 |
-
$category[] = $categoryName;
|
114 |
-
}
|
115 |
-
|
116 |
-
for($level =1; $level <=4 ; $level++) {
|
117 |
-
$levelCategories = Mage::helper('unbxd_recommendation/feedhelper')
|
118 |
-
->getCategoryOnLevel($categoryIds, $level);
|
119 |
-
|
120 |
-
if (sizeof($levelCategories) > 0) {
|
121 |
-
$categoryData['categoryLevel' . $level] = $levelCategories;
|
122 |
-
$categoryData['catLevel' . $level . 'Name'] = $levelCategories[0];
|
123 |
-
$category = array_merge($category, $levelCategories);
|
124 |
-
}
|
125 |
-
}
|
126 |
-
|
127 |
-
$categoryData[Unbxd_Recommendation_Model_Resource_Field::CATEGORY_IDS_NAME] = $categoryIds;
|
128 |
-
$categoryData[Unbxd_Recommendation_Model_Resource_Field::CATEGORY_NAME] = $category;
|
129 |
-
return $categoryData;
|
130 |
-
}
|
131 |
-
|
132 |
-
/*
|
133 |
-
* method to returns as an array of values given the fieldName and the product
|
134 |
-
*/
|
135 |
-
private function getMultiSelectAttribute($fieldName, $product) {
|
136 |
-
$data = explode(",", $product->getData($fieldName));
|
137 |
-
$valueAsAnArray = array();
|
138 |
-
foreach($data as $eachdata){
|
139 |
-
$attributeValue = Mage::getResourceSingleton("unbxd_recommendation/attribute")
|
140 |
-
->getAttributeValue($fieldName, trim($eachdata), $product);
|
141 |
-
if(!is_null($attributeValue) && $attributeValue != "" && $attributeValue != "Use Config") {
|
142 |
-
$valueAsAnArray[] = $attributeValue;
|
143 |
-
}
|
144 |
-
}
|
145 |
-
if(sizeof($valueAsAnArray) > 0) {
|
146 |
-
return $valueAsAnArray;
|
147 |
-
}
|
148 |
-
return null;
|
149 |
-
}
|
150 |
-
|
151 |
-
/*
|
152 |
-
* generates the image
|
153 |
-
*/
|
154 |
-
private function getImage($fieldName, $unbxdFieldName, $product, $fields) {
|
155 |
-
|
156 |
-
if(array_key_exists(self::GENERATE_IMAGE, $fields) &&
|
157 |
-
$fields[$unbxdFieldName][self::GENERATE_IMAGE] == "1") {
|
158 |
-
Mage::getDesign()->setArea('frontend');
|
159 |
-
try {
|
160 |
-
return (string)Mage::helper('catalog/image')->init($product, $fieldName)
|
161 |
-
->resize($fields[$unbxdFieldName][self::IMAGE_WIDTH],
|
162 |
-
$fields[$unbxdFieldName][self::IMAGE_HEIGHT]);
|
163 |
-
} catch (Exception $e) {
|
164 |
-
error_log("Error while fetching the image" . $e->getMessage());
|
165 |
-
}
|
166 |
-
}
|
167 |
-
return $product->getData($fieldName);
|
168 |
-
}
|
169 |
-
|
170 |
-
/*
|
171 |
-
* get unbxd specfic field name for the magento field name
|
172 |
-
*/
|
173 |
-
private function getUnbxdFieldName($columnHeader, $isChild) {
|
174 |
-
if($isChild) {
|
175 |
-
$unbxdFieldName = $columnHeader . "Associated";
|
176 |
-
} else {
|
177 |
-
$unbxdFieldName = $columnHeader;
|
178 |
-
}
|
179 |
-
return $unbxdFieldName;
|
180 |
-
//return $this->renameConflictedFeatureFields($unbxdFieldName);
|
181 |
-
}
|
182 |
-
|
183 |
-
/*
|
184 |
-
* Renaming the conflicted unbxd feature fields eg: gender to _gender
|
185 |
-
*/
|
186 |
-
private function renameConflictedFeatureFields($unbxdFieldName) {
|
187 |
-
if (in_array($unbxdFieldName, Mage::getResourceSingleton('unbxd_recommendation/field')->getConflictedFeatureFieldLust())) {
|
188 |
-
return "_" . $unbxdFieldName;
|
189 |
-
}
|
190 |
-
return $unbxdFieldName;
|
191 |
-
}
|
192 |
-
|
193 |
-
/**
|
194 |
-
* gives the children in form of array
|
195 |
-
*/
|
196 |
-
public function addChildrens($product, $fields, $productArray) {
|
197 |
-
|
198 |
-
$type = $product->getData('type_id');
|
199 |
-
if ($type == "configurable" || $type == "grouped" ) {
|
200 |
-
$associatedProducts = array();
|
201 |
-
$conf = Mage::getModel('catalog/product_type_configurable')->setProduct($product);
|
202 |
-
$childrens = $conf->getUsedProductCollection()
|
203 |
-
->addAttributeToSelect('*')
|
204 |
-
->addFilterByRequiredOptions()
|
205 |
-
->joinField("qtyAssociated", "cataloginventory_stock_item", 'qty', 'product_id=entity_id', null, 'left');
|
206 |
-
foreach ($childrens as $children)
|
207 |
-
{
|
208 |
-
$childProduct = $this->getProduct($children, $fields, true);
|
209 |
-
if(isset($childProduct) && sizeof($childProduct) > 0 ) {
|
210 |
-
$childProduct = $this->postProcessProduct($childProduct, $fields, true);
|
211 |
-
$associatedProducts[] = $childProduct;
|
212 |
-
}
|
213 |
-
}
|
214 |
-
if( sizeof($associatedProducts) > 0) {
|
215 |
-
$productArray["associatedProducts"] = $associatedProducts;
|
216 |
-
}
|
217 |
-
return $productArray;
|
218 |
-
} else {
|
219 |
-
return $productArray;
|
220 |
-
}
|
221 |
-
}
|
222 |
-
|
223 |
-
/**
|
224 |
-
* process the prodcut
|
225 |
-
*/
|
226 |
-
public function postProcessProduct($product, $fields, $isChild=false) {
|
227 |
-
if($isChild) {
|
228 |
-
$product = $this->convertMultivalued($product);
|
229 |
-
} else {
|
230 |
-
$product = $this->convertMultivalued($product, $fields);
|
231 |
-
}
|
232 |
-
$product = $this->convertDataType($product, $fields, $isChild);
|
233 |
-
return $product;
|
234 |
-
}
|
235 |
-
|
236 |
-
/*
|
237 |
-
* convert the data type according to the dashboard setup
|
238 |
-
*/
|
239 |
-
public function convertDataType($product, $fields) {
|
240 |
-
foreach($product as $fieldName => $value) {
|
241 |
-
if($fieldName != "associatedProducts") {
|
242 |
-
$product[$fieldName] = $this->convertDataTypeByValue($fields[$fieldName], $value);
|
243 |
-
}
|
244 |
-
}
|
245 |
-
return $product;
|
246 |
-
}
|
247 |
-
|
248 |
-
/*
|
249 |
-
* method to get the float values
|
250 |
-
*/
|
251 |
-
private function getFloatValues($value) {
|
252 |
-
if(is_array($value)) {
|
253 |
-
$valueAsAnArray = array();
|
254 |
-
foreach ($value as $eachValue) {
|
255 |
-
$valueAsAnArray[] = floatval($eachValue);
|
256 |
-
}
|
257 |
-
return $valueAsAnArray;
|
258 |
-
} else {
|
259 |
-
return floatval($value);
|
260 |
-
}
|
261 |
-
}
|
262 |
-
|
263 |
-
|
264 |
-
/*
|
265 |
-
* returns the array as number
|
266 |
-
*/
|
267 |
-
private function getNumberValues($value) {
|
268 |
-
if(is_array($value)) {
|
269 |
-
$valueAsAnArray = array();
|
270 |
-
foreach ($value as $eachValue) {
|
271 |
-
$valueAsAnArray[] = intval($eachValue);
|
272 |
-
}
|
273 |
-
return $valueAsAnArray;
|
274 |
-
} else {
|
275 |
-
return intval($value);
|
276 |
-
}
|
277 |
-
}
|
278 |
-
|
279 |
-
/*
|
280 |
-
* returns the date value
|
281 |
-
*/
|
282 |
-
private function getDateValues($value) {
|
283 |
-
if(is_array($value)) {
|
284 |
-
$tempValue = array();
|
285 |
-
foreach ($value as $eachValue) {
|
286 |
-
$tokens = explode(" ",$eachValue);
|
287 |
-
$tempValue[] = $tokens[0].'T'.$tokens[1].'Z';
|
288 |
-
}
|
289 |
-
return $tempValue;
|
290 |
-
}
|
291 |
-
$tokens = explode(" ",$value);
|
292 |
-
$value = $tokens[0].'T'.$tokens[1].'Z';
|
293 |
-
return $value;
|
294 |
-
}
|
295 |
-
|
296 |
-
/*
|
297 |
-
* returns the data type value
|
298 |
-
*/
|
299 |
-
private function convertDataTypeByValue($data_type, $value) {
|
300 |
-
if($data_type[Unbxd_Recommendation_Model_Field::datatype] == self::DECIMAL) {
|
301 |
-
return $this->getFloatValues($value);
|
302 |
-
} else if ($data_type[Unbxd_Recommendation_Model_Field::datatype] == self::NUMBER) {
|
303 |
-
return $this->getNumberValues($value);
|
304 |
-
} else if ($data_type[Unbxd_Recommendation_Model_Field::datatype] == self::DATE) {
|
305 |
-
return $this->getDateValues($value);
|
306 |
-
}
|
307 |
-
return $value;
|
308 |
-
}
|
309 |
-
|
310 |
-
/*
|
311 |
-
* returns the product by changing it to multivalued after checking its data type
|
312 |
-
*/
|
313 |
-
public function convertMultivalued($product, $fields = null) {
|
314 |
-
foreach($product as $field=>$value) {
|
315 |
-
if((is_null($fields) ||
|
316 |
-
(($field != "associatedProducts") &&
|
317 |
-
array_key_exists(Unbxd_Recommendation_Model_Field::multivalued,$fields[$field]) &&
|
318 |
-
$fields[$field][Unbxd_Recommendation_Model_Field::multivalued])) &&
|
319 |
-
!is_array($value)) {
|
320 |
-
|
321 |
-
$valueAsAnArray = array();
|
322 |
-
$valueAsAnArray[] = $value;
|
323 |
-
$product[$field] = $valueAsAnArray;
|
324 |
-
}
|
325 |
-
}
|
326 |
-
return $product;
|
327 |
-
}
|
328 |
-
}
|
329 |
-
|
330 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Model/Feed/Jsonbuilder/Schemabuilder.php
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Unbxd_Recommendation_Model_Feed_Jsonbuilder_Schemabuilder extends Unbxd_Recommendation_Model_Feed_Jsonbuilder_Jsonbuilder {
|
4 |
-
|
5 |
-
|
6 |
-
const FIELD_NAME = "fieldName";
|
7 |
-
const DATA_TYPE = "dataType";
|
8 |
-
const MULTIVALUED = "multiValued";
|
9 |
-
const AUTOSUGGEST = "autoSuggest";
|
10 |
-
const TRUE = "true";
|
11 |
-
const FALSE = "false";
|
12 |
-
|
13 |
-
public function getSchema($fields) {
|
14 |
-
$fieldList = array();
|
15 |
-
foreach($fields as $fieldName=>$values ) {
|
16 |
-
$fieldList[] = array(self::FIELD_NAME => $fieldName,
|
17 |
-
self::DATA_TYPE => $values[Unbxd_Recommendation_Model_Field::datatype],
|
18 |
-
self::MULTIVALUED =>
|
19 |
-
(array_key_exists(Unbxd_Recommendation_Model_Field::multivalued, $values)
|
20 |
-
&& $values[Unbxd_Recommendation_Model_Field::multivalued])?
|
21 |
-
self::TRUE:self::FALSE,
|
22 |
-
self::AUTOSUGGEST => ($values[Unbxd_Recommendation_Model_Field::autosuggest] == 1?self::TRUE: self::FALSE));
|
23 |
-
|
24 |
-
}
|
25 |
-
return json_encode($fieldList);
|
26 |
-
}
|
27 |
-
}
|
28 |
-
|
29 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Model/Field.php
DELETED
@@ -1,147 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* This class maintains the config of the fields that are needed by unbxd
|
5 |
-
*
|
6 |
-
* @category Unbxd
|
7 |
-
* @package Unbxd_Recommendation
|
8 |
-
* @author Unbxd Software Pvt. Ltd
|
9 |
-
*/
|
10 |
-
class Unbxd_Recommendation_Model_Field extends Mage_Core_Model_Abstract {
|
11 |
-
|
12 |
-
/**
|
13 |
-
* field name column in db
|
14 |
-
*/
|
15 |
-
const field_name = "field_name";
|
16 |
-
|
17 |
-
/**
|
18 |
-
* datatype column name in db
|
19 |
-
*/
|
20 |
-
const datatype = "datatype";
|
21 |
-
|
22 |
-
/**
|
23 |
-
* autosuggest column name in db
|
24 |
-
*/
|
25 |
-
const autosuggest = "autosuggest";
|
26 |
-
|
27 |
-
/**
|
28 |
-
* featured_field column name in db
|
29 |
-
*/
|
30 |
-
const featured_field = "featured_field";
|
31 |
-
|
32 |
-
/**
|
33 |
-
* displayable column name in db
|
34 |
-
*/
|
35 |
-
const dislayable = "displayed";
|
36 |
-
|
37 |
-
const multivalued = 'multivalued';
|
38 |
-
|
39 |
-
/**
|
40 |
-
* website id column name in db
|
41 |
-
*/
|
42 |
-
const website_id = "website_id";
|
43 |
-
|
44 |
-
const status = 'status';
|
45 |
-
|
46 |
-
/**
|
47 |
-
* All possible data type values supported unbxd
|
48 |
-
* @var array
|
49 |
-
*/
|
50 |
-
public static $data_types = array("text", "longText", "link", "decimal", "number", "datetime");
|
51 |
-
|
52 |
-
public static $displayableFeatureFields = array('title', 'price',
|
53 |
-
'brand', 'color', 'size', 'imageUrl', 'productUrl');
|
54 |
-
|
55 |
-
public static $featurefields = array();
|
56 |
-
|
57 |
-
/**
|
58 |
-
*
|
59 |
-
* @return void
|
60 |
-
*/
|
61 |
-
protected function _construct()
|
62 |
-
{
|
63 |
-
$this->_init('unbxd_recommendation/field');
|
64 |
-
Unbxd_Recommendation_Model_Field::$featurefields = $this->getFeaturedFields();
|
65 |
-
|
66 |
-
}
|
67 |
-
|
68 |
-
|
69 |
-
/**
|
70 |
-
* Save fields
|
71 |
-
*
|
72 |
-
* @return void
|
73 |
-
*/
|
74 |
-
public function saveFields($collection) {
|
75 |
-
$this->_getResource()->beginTransaction();
|
76 |
-
try {
|
77 |
-
foreach ($collection as $data) {
|
78 |
-
if(sizeof($data) > 0) {
|
79 |
-
if(array_key_exists("add", $data)) {
|
80 |
-
$data["add"]->save();
|
81 |
-
} else if (array_key_exists("delete", $data)) {
|
82 |
-
$data["delete"]->delete();
|
83 |
-
}
|
84 |
-
}
|
85 |
-
}
|
86 |
-
|
87 |
-
$this->_getResource()->commit();
|
88 |
-
} catch(Exception $e) {
|
89 |
-
$this->_getResource()->rollBack();
|
90 |
-
Mage::helper("unbxd_recommendation")->log(Zend_Log::ERR, "Saving fields failed because " . $e->getMessage());
|
91 |
-
return array('OTHERS' => $e->getMessage());
|
92 |
-
}
|
93 |
-
return true;
|
94 |
-
|
95 |
-
}
|
96 |
-
|
97 |
-
/*
|
98 |
-
* method to get the featured fields
|
99 |
-
*/
|
100 |
-
public function getFeaturedFields() {
|
101 |
-
$featuredFields = array();
|
102 |
-
$featuredFields["uniqueId"]=$this->getField("text", "false", "false");
|
103 |
-
$featuredFields["sellingPrice"]=$this->getField("decimal", "false", "false");
|
104 |
-
$featuredFields["discount"]=$this->getField("decimal", "false", "false");
|
105 |
-
$featuredFields["rating"]=$this->getField("decimal", "false", "false");
|
106 |
-
$featuredFields["brandId"]=$this->getField("text", "false", "false");
|
107 |
-
$featuredFields[Unbxd_Recommendation_Model_Resource_Field::CAT_LEVEL_1_NAME] =
|
108 |
-
$this->getField("text", "false", "false");
|
109 |
-
$featuredFields[Unbxd_Recommendation_Model_Resource_Field::CAT_LEVEL_2_NAME] =
|
110 |
-
$this->getField("text", "false", "false");
|
111 |
-
$featuredFields[Unbxd_Recommendation_Model_Resource_Field::CAT_LEVEL_3_NAME] =
|
112 |
-
$this->getField("text", "false", "false");
|
113 |
-
$featuredFields[Unbxd_Recommendation_Model_Resource_Field::CAT_LEVEL_4_NAME] =
|
114 |
-
$this->getField("text", "false", "false");
|
115 |
-
$featuredFields[Unbxd_Recommendation_Model_Resource_Field::CAT_LEVEL_1] =
|
116 |
-
$this->getField("text", "true", "false");
|
117 |
-
$featuredFields[Unbxd_Recommendation_Model_Resource_Field::CAT_LEVEL_2] =
|
118 |
-
$this->getField("text", "true", "false");
|
119 |
-
$featuredFields[Unbxd_Recommendation_Model_Resource_Field::CAT_LEVEL_3] =
|
120 |
-
$this->getField("text", "true", "false");
|
121 |
-
$featuredFields[Unbxd_Recommendation_Model_Resource_Field::CAT_LEVEL_4] =
|
122 |
-
$this->getField("text", "true", "false");
|
123 |
-
$featuredFields["category"] = $this->getField("text", "true", "true");
|
124 |
-
$featuredFields["subCategory"]=$this->getField("text", "true", "true");
|
125 |
-
$featuredFields["color"]=$this->getField("text", "true", "false");
|
126 |
-
$featuredFields["size"]=$this->getField("text", "true", "false");
|
127 |
-
$featuredFields["availability"]=$this->getField("bool", "false", "false");
|
128 |
-
$featuredFields["description"]=$this->getField("longText", "false", "false");
|
129 |
-
$featuredFields["imageUrl"]=$this->getField("link", "true", "false");
|
130 |
-
$featuredFields["productUrl"]=$this->getField("link", "false", "false");
|
131 |
-
$featuredFields["brand"]=$this->getField("text", "false", "true");
|
132 |
-
$featuredFields["price"]=$this->getField("decimal", "false", "false");
|
133 |
-
$featuredFields["title"]=$this->getField("text", "false", "true");
|
134 |
-
$featuredFields["gender"]=$this->getField("text", "false", "false");
|
135 |
-
$featuredFields["unbxdVisibility"]=$this->getField("text", "false", "false");
|
136 |
-
return $featuredFields;
|
137 |
-
}
|
138 |
-
|
139 |
-
public function getField($dataType, $multiValued, $autosuggest) {
|
140 |
-
return array( self::status => 1, self::datatype => $dataType,
|
141 |
-
self::multivalued => ($multiValued=="true")?1:0,
|
142 |
-
self::autosuggest => ($autosuggest=="true")?1:0 );
|
143 |
-
|
144 |
-
}
|
145 |
-
}
|
146 |
-
|
147 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Model/Resource/Config.php
DELETED
@@ -1,136 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* @category Unbxd
|
5 |
-
* @package Unbxd_Recommendation
|
6 |
-
* @author Unbxd Software Pvt. Ltd
|
7 |
-
*/
|
8 |
-
class Unbxd_Recommendation_Model_Resource_Config extends Mage_Core_Model_Mysql4_Abstract
|
9 |
-
{
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Unbxd Config table Name
|
13 |
-
*
|
14 |
-
* @var string
|
15 |
-
*/
|
16 |
-
protected $_unbxdConfigTable;
|
17 |
-
|
18 |
-
// date format
|
19 |
-
const DATE_FORMAT = 'Y-m-d H:i:s';
|
20 |
-
|
21 |
-
/**
|
22 |
-
* @return void
|
23 |
-
*/
|
24 |
-
protected function _construct()
|
25 |
-
{
|
26 |
-
$this->_init('unbxd_recommendation/config', 'id');
|
27 |
-
$this->_unbxdConfigTable = $this->getTable('unbxd_recommendation/config');
|
28 |
-
}
|
29 |
-
|
30 |
-
/**
|
31 |
-
* @param $website_id
|
32 |
-
* @param $key
|
33 |
-
* @return null|string
|
34 |
-
*/
|
35 |
-
public function getValue($website_id, $key)
|
36 |
-
{
|
37 |
-
$adapter = $this->_getReadAdapter();
|
38 |
-
|
39 |
-
if(is_array($key)) {
|
40 |
-
$keyValuePair = array();
|
41 |
-
foreach ($key as $eachKey) {
|
42 |
-
$keyValuePair[$eachKey] = $this->getValue($website_id, $eachKey);
|
43 |
-
}
|
44 |
-
return $keyValuePair;
|
45 |
-
}
|
46 |
-
|
47 |
-
$select = $adapter->select()
|
48 |
-
->from($this->_unbxdConfigTable, 'value')
|
49 |
-
->where('`'.Unbxd_Recommendation_Model_Config::WEBSITE_ID.'` = ?', (int)$website_id)
|
50 |
-
->where('`'.Unbxd_Recommendation_Model_Config::KEY.'` = ?', $key);
|
51 |
-
|
52 |
-
$result = $adapter->fetchOne($select);
|
53 |
-
if($result === false) {
|
54 |
-
return null;
|
55 |
-
}
|
56 |
-
return $result;
|
57 |
-
}
|
58 |
-
|
59 |
-
/**
|
60 |
-
* @param int $website_id
|
61 |
-
* @param string $key
|
62 |
-
* @param string $value
|
63 |
-
* @return void
|
64 |
-
*/
|
65 |
-
public function setValue($website_id, $key, $value = null)
|
66 |
-
{
|
67 |
-
if (!isset($value) || $value == "" || !isset($key) || $key == "") {
|
68 |
-
return;
|
69 |
-
}
|
70 |
-
|
71 |
-
if(is_array($key)) {
|
72 |
-
foreach($key as $eachKey => $eachValue) {
|
73 |
-
$this->setValue($website_id, $eachKey, $eachValue);
|
74 |
-
}
|
75 |
-
return;
|
76 |
-
}
|
77 |
-
|
78 |
-
$config = Mage::getModel('unbxd_recommendation/config')->getCollection()
|
79 |
-
->addFieldToFilter('`'.Unbxd_Recommendation_Model_Config::KEY.'`', $key)
|
80 |
-
->addFieldToFilter('`'.Unbxd_Recommendation_Model_Config::WEBSITE_ID.'`', (int)$website_id)
|
81 |
-
->getFirstItem();
|
82 |
-
|
83 |
-
$config->setWebsiteId($website_id)
|
84 |
-
->setKey($key)
|
85 |
-
->setValue($value)
|
86 |
-
->save();
|
87 |
-
}
|
88 |
-
|
89 |
-
public function lockSite($website_id) {
|
90 |
-
$this->setValue($website_id, array(
|
91 |
-
Unbxd_Recommendation_Model_Config::FEED_LOCK => Unbxd_Recommendation_Model_Config::FEED_LOCK_TRUE,
|
92 |
-
Unbxd_Recommendation_Model_Config::FEED_LOCK_TIME => date(self::DATE_FORMAT)), array());
|
93 |
-
|
94 |
-
}
|
95 |
-
|
96 |
-
|
97 |
-
public function unLockSite($website_id) {
|
98 |
-
$this->setValue($website_id, Unbxd_Recommendation_Model_Config::FEED_LOCK,
|
99 |
-
Unbxd_Recommendation_Model_Config::FEED_LOCK_FALSE);
|
100 |
-
}
|
101 |
-
|
102 |
-
public function isLock($website_id) {
|
103 |
-
//fetch the values for feedlock, feed lock time from db
|
104 |
-
$feedLockDetails = $this->getValue($website_id,
|
105 |
-
array(Unbxd_Recommendation_Model_Config::FEED_LOCK, Unbxd_Recommendation_Model_Config::FEED_LOCK_TIME));
|
106 |
-
//fetch feed lock from @var feedLockDetails
|
107 |
-
$feedLock = array_key_exists(Unbxd_Recommendation_Model_Config::FEED_LOCK, $feedLockDetails)?
|
108 |
-
$feedLockDetails[Unbxd_Recommendation_Model_Config::FEED_LOCK]:null;
|
109 |
-
|
110 |
-
if(is_null($feedLock) || $feedLock == Unbxd_Recommendation_Model_Config::FEED_LOCK_FALSE){
|
111 |
-
return false;
|
112 |
-
}
|
113 |
-
|
114 |
-
// Ignoring the feed Lock, if the feed has been locked more than $maxFeedLockTime
|
115 |
-
if($feedLock == Unbxd_Recommendation_Model_Config::FEED_LOCK_TRUE &&
|
116 |
-
array_key_exists(Unbxd_Recommendation_Model_Config::FEED_LOCK_TIME, $feedLockDetails)) {
|
117 |
-
|
118 |
-
$feedLockTime = $feedLockDetails[Unbxd_Recommendation_Model_Config::FEED_LOCK_TIME];
|
119 |
-
$date = strtotime($feedLockTime);
|
120 |
-
$currentTime = strtotime(date(self::DATE_FORMAT));
|
121 |
-
$diff = abs($date - $currentTime);
|
122 |
-
$maxFeedLockTime = Mage::getConfig()->getNode('default/unbxd/general/max_feed_lock_feed');
|
123 |
-
if(is_null($maxFeedLockTime)) {
|
124 |
-
$maxFeedLockTime = Unbxd_Recommendation_Model_Config::MAX_FEED_LOCK_TIME;
|
125 |
-
}
|
126 |
-
|
127 |
-
if(round($diff / ( 60 * 60 )) > $maxFeedLockTime) {
|
128 |
-
return false;
|
129 |
-
}
|
130 |
-
}
|
131 |
-
|
132 |
-
return true;
|
133 |
-
}
|
134 |
-
}
|
135 |
-
|
136 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Model/Resource/Config/Collection.php
DELETED
@@ -1,20 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* @category Unbxd
|
5 |
-
* @package Unbxd_Recommendation
|
6 |
-
* @author Unbxd Software Pvt. Ltd {
|
7 |
-
*/
|
8 |
-
class Unbxd_Recommendation_Model_Resource_Config_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
9 |
-
{
|
10 |
-
/**
|
11 |
-
*/
|
12 |
-
public function _construct()
|
13 |
-
{
|
14 |
-
$this->_init('unbxd_recommendation/config');
|
15 |
-
}
|
16 |
-
|
17 |
-
|
18 |
-
}
|
19 |
-
|
20 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Model/Resource/Field/Collection.php
DELETED
@@ -1,65 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* @category Unbxd
|
5 |
-
* @package Unbxd_Recommendation
|
6 |
-
* @author Unbxd Software Pvt. Ltd {
|
7 |
-
*/
|
8 |
-
class Unbxd_Recommendation_Model_Resource_Field_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
9 |
-
{
|
10 |
-
/**
|
11 |
-
*/
|
12 |
-
public function _construct()
|
13 |
-
{
|
14 |
-
$this->_init('unbxd_recommendation/field');
|
15 |
-
}
|
16 |
-
|
17 |
-
/**
|
18 |
-
* Method to add fields to display filter
|
19 |
-
*
|
20 |
-
* @return void
|
21 |
-
*/
|
22 |
-
public function addFieldsDisplayFilter() {
|
23 |
-
$this->addFieldToFilter(Unbxd_Recommendation_Model_Field::dislayable,1);
|
24 |
-
return $this;
|
25 |
-
}
|
26 |
-
|
27 |
-
public function addWebsiteFilter(Mage_Core_Model_Website $website) {
|
28 |
-
$this->addFieldToFilter(Unbxd_Recommendation_Model_Field::website_id, $website->getWebsiteId());
|
29 |
-
return $this;
|
30 |
-
}
|
31 |
-
|
32 |
-
/**
|
33 |
-
* Method to get field collection as array
|
34 |
-
*
|
35 |
-
* @return array
|
36 |
-
*/
|
37 |
-
public function __asArray() {
|
38 |
-
$fields = array();
|
39 |
-
foreach($this->_items as $item) {
|
40 |
-
$field = array();
|
41 |
-
$field[Unbxd_Recommendation_Model_Field::field_name] = $item->getFieldName();
|
42 |
-
$field[Unbxd_Recommendation_Model_Field::datatype] = $item->getDatatype();
|
43 |
-
$field[Unbxd_Recommendation_Model_Field::autosuggest] = $item->getAutosuggest();
|
44 |
-
$featureField = $item->getFeaturedField();
|
45 |
-
if(isset($featureField)) {
|
46 |
-
$field[Unbxd_Recommendation_Model_Field::featured_field] = $featureField;
|
47 |
-
}
|
48 |
-
$fields[] = $field;
|
49 |
-
}
|
50 |
-
return $fields;
|
51 |
-
}
|
52 |
-
|
53 |
-
public function getFeatureFields(Mage_Core_Model_Website $website) {
|
54 |
-
$this->getSelect()->where(Unbxd_Recommendation_Model_Field::featured_field. " IS NOT NULL AND ".
|
55 |
-
Unbxd_Recommendation_Model_Field::website_id . " = " . $website->getWebsiteId());
|
56 |
-
return $this->load();
|
57 |
-
}
|
58 |
-
|
59 |
-
public function getFields(Mage_Core_Model_Website $website) {
|
60 |
-
$this->getSelect()->where(Unbxd_Recommendation_Model_Field::website_id . " = " . $website->getWebsiteId());
|
61 |
-
return $this->load();
|
62 |
-
}
|
63 |
-
}
|
64 |
-
|
65 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Model/Resource/Sync.php
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* @category Unbxd
|
5 |
-
* @package Unbxd_Recommendation
|
6 |
-
* @author Unbxd Software Pvt. Ltd
|
7 |
-
*/
|
8 |
-
class Unbxd_Recommendation_Model_Resource_Sync extends Mage_Core_Model_Mysql4_Abstract {
|
9 |
-
|
10 |
-
/**
|
11 |
-
* @return void
|
12 |
-
*/
|
13 |
-
protected function _construct()
|
14 |
-
{
|
15 |
-
$this->_init('unbxd_recommendation/sync', 'id');
|
16 |
-
}
|
17 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/Model/Resource/Sync/Collection.php
DELETED
@@ -1,53 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* @category Unbxd
|
5 |
-
* @package Unbxd_Recommendation
|
6 |
-
* @author Unbxd Software Pvt. Ltd {
|
7 |
-
*/
|
8 |
-
class Unbxd_Recommendation_Model_Resource_Sync_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
9 |
-
{
|
10 |
-
/**
|
11 |
-
*/
|
12 |
-
public function _construct()
|
13 |
-
{
|
14 |
-
$this->_init('unbxd_recommendation/sync');
|
15 |
-
}
|
16 |
-
|
17 |
-
/**
|
18 |
-
* add field to Filter
|
19 |
-
* @param $websiteId
|
20 |
-
* @return void
|
21 |
-
*/
|
22 |
-
public function addWebsiteFilter($websiteIds) {
|
23 |
-
$this->addFieldToFilter(Unbxd_Recommendation_Model_Sync::WEBSITE_ID, $websiteIds);
|
24 |
-
return $this;
|
25 |
-
}
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Add Unsync filter
|
29 |
-
* @return void
|
30 |
-
*/
|
31 |
-
public function addUnsyncFilter() {
|
32 |
-
$this->addFieldToFilter(Unbxd_Recommendation_Model_Sync::SYNCED,
|
33 |
-
Unbxd_Recommendation_Model_Sync::SYNCED_FALSE);
|
34 |
-
return $this;
|
35 |
-
}
|
36 |
-
|
37 |
-
/**
|
38 |
-
* Add Synced filter
|
39 |
-
* @return void
|
40 |
-
*/
|
41 |
-
public function addSyncFilter() {
|
42 |
-
$this->addFieldToFilter(Unbxd_Recommendation_Model_Sync::SYNCED,
|
43 |
-
Unbxd_Recommendation_Model_Sync::SYNCED_TRUE);
|
44 |
-
return $this;
|
45 |
-
}
|
46 |
-
|
47 |
-
public function addOperationFilter($operation = Unbxd_Recommendation_Model_Sync::OPERATION_ADD) {
|
48 |
-
$this->addFieldToFilter(Unbxd_Recommendation_Model_Sync::OPERATION, $operation);
|
49 |
-
return $this;
|
50 |
-
}
|
51 |
-
}
|
52 |
-
|
53 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/controllers/ConfigController.php
DELETED
@@ -1,327 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* controller that provides all the config
|
5 |
-
* @category Unbxd
|
6 |
-
* @package Unbxd_Recommendation
|
7 |
-
* @author Unbxd Software Pvt. Ltd
|
8 |
-
*/
|
9 |
-
class Unbxd_Recommendation_ConfigController extends Mage_Core_Controller_Front_Action {
|
10 |
-
|
11 |
-
/**
|
12 |
-
* @return Unbxd_Recommendation_Helper_Confighelper
|
13 |
-
*/
|
14 |
-
protected function helper() {
|
15 |
-
return Mage::helper("unbxd_recommendation/confighelper");
|
16 |
-
}
|
17 |
-
|
18 |
-
protected function getRawBody($request) {
|
19 |
-
$requestBody = json_decode($request->getRawBody(), true);
|
20 |
-
if(0 != strpos($request->getHeader('Content-Type'), 'application/json') || $requestBody === false) {
|
21 |
-
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
22 |
-
$this->getResponse()->setBody(json_encode(array('success' => false,
|
23 |
-
'errors' => array('message' => 'Invalid Request'))));
|
24 |
-
return null;
|
25 |
-
}
|
26 |
-
return $requestBody;
|
27 |
-
}
|
28 |
-
|
29 |
-
|
30 |
-
protected function getFields($request) {
|
31 |
-
$requestBody = $this->getRawBody($request);
|
32 |
-
if(is_null($requestBody)) {
|
33 |
-
return null;
|
34 |
-
}
|
35 |
-
if(!array_key_exists("fields", $requestBody)) {
|
36 |
-
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
37 |
-
$this->getResponse()->setBody(json_encode(array('success' => false,
|
38 |
-
'errors' => array('message' => 'Invalid Request'))));
|
39 |
-
return null;
|
40 |
-
}
|
41 |
-
return $requestBody["fields"];
|
42 |
-
}
|
43 |
-
|
44 |
-
/**
|
45 |
-
* @param $websiteName
|
46 |
-
* @return mixed
|
47 |
-
*/
|
48 |
-
protected function getWebsiteByName($websiteName)
|
49 |
-
{
|
50 |
-
return Mage::getResourceModel('core/website_collection')
|
51 |
-
->addFieldToFilter('name', $websiteName)
|
52 |
-
->getFirstItem();
|
53 |
-
}
|
54 |
-
|
55 |
-
protected function prepare() {
|
56 |
-
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
57 |
-
if(array_key_exists("site", $_REQUEST)) {
|
58 |
-
$website = $this->getWebsiteByName($_REQUEST["site"]);
|
59 |
-
}
|
60 |
-
|
61 |
-
if(!isset($website) || !$website->hasData("website_id")) {
|
62 |
-
Mage::helper('unbxd_recommendation')->log(Zend_Log::DEBUG,'api failed because of invalid website');
|
63 |
-
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => array('Invalid site'))));
|
64 |
-
return null;
|
65 |
-
}
|
66 |
-
return $website;
|
67 |
-
}
|
68 |
-
|
69 |
-
public function editAction(){
|
70 |
-
$this->loadLayout();
|
71 |
-
$this->renderLayout();
|
72 |
-
}
|
73 |
-
|
74 |
-
/**
|
75 |
-
* api to return the sites
|
76 |
-
* @return void
|
77 |
-
*/
|
78 |
-
public function siteAction()
|
79 |
-
{
|
80 |
-
$websites = Mage::app()->getWebsites();
|
81 |
-
$sites = array();
|
82 |
-
foreach ($websites as $website) {
|
83 |
-
$sites[] = array('name' => $website->getName(),
|
84 |
-
'id' => $website->getId(),
|
85 |
-
'numDocs' => $this->helper()->getNumberOfDocsInUnbxd($website));
|
86 |
-
}
|
87 |
-
$response = array('sites' => $sites);
|
88 |
-
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
89 |
-
$this->getResponse()->setBody(json_encode($response));
|
90 |
-
}
|
91 |
-
|
92 |
-
public function fieldsAction() {
|
93 |
-
$request = $this->getRequest();
|
94 |
-
if(array_key_exists("site", $_REQUEST)) {
|
95 |
-
$website = $this->getWebsiteByName($_GET["site"]);
|
96 |
-
}
|
97 |
-
if(!isset($website) || !$website->hasData("website_id")) {
|
98 |
-
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
99 |
-
$this->getResponse()->setBody(json_encode(array('success' => false,
|
100 |
-
'errors' => array('message' => 'Invalid site'))));
|
101 |
-
return;
|
102 |
-
}
|
103 |
-
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::GET) {
|
104 |
-
$mappedFields = Mage::getResourceModel('unbxd_recommendation/field')->getDisplayableFields($website)
|
105 |
-
->__asArray();
|
106 |
-
$featureFields = Unbxd_Recommendation_Model_Field::$displayableFeatureFields;
|
107 |
-
foreach($mappedFields as $fields) {
|
108 |
-
if(array_key_exists(Unbxd_Recommendation_Model_Field::featured_field, $fields) &&
|
109 |
-
in_array($fields[Unbxd_Recommendation_Model_Field::featured_field], $featureFields)) {
|
110 |
-
unset($featureFields[array_search($fields[Unbxd_Recommendation_Model_Field::featured_field],
|
111 |
-
$featureFields)]);
|
112 |
-
}
|
113 |
-
}
|
114 |
-
|
115 |
-
foreach($featureFields as $field) {
|
116 |
-
$mappedFields[] = array(Unbxd_Recommendation_Model_Field::featured_field => $field,
|
117 |
-
Unbxd_Recommendation_Model_Field::datatype => 'text',
|
118 |
-
Unbxd_Recommendation_Model_Field::autosuggest => 1);
|
119 |
-
}
|
120 |
-
|
121 |
-
$fields = Mage::helper("unbxd_recommendation/confighelper")->getAllAttributes();
|
122 |
-
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
123 |
-
$this->getResponse()->setBody(json_encode(array('success' => true,
|
124 |
-
'mappedFields' => $mappedFields, 'fields' => $fields,
|
125 |
-
'datatype' => Unbxd_Recommendation_Model_Field::$data_types)));
|
126 |
-
} else if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::POST) {
|
127 |
-
|
128 |
-
//request for adding fields
|
129 |
-
$response = $this->helper()->saveFields($this->getFields($request), $website);
|
130 |
-
if(is_array($response)) {
|
131 |
-
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
132 |
-
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => $response)));
|
133 |
-
return;
|
134 |
-
}
|
135 |
-
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
136 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
137 |
-
return;
|
138 |
-
} else if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::PUT) {
|
139 |
-
|
140 |
-
// request for deleting fields
|
141 |
-
$response = $this->helper()->deleteFields($this->getFields($request), $website);
|
142 |
-
if(is_array($response)) {
|
143 |
-
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
144 |
-
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => $response)));
|
145 |
-
return;
|
146 |
-
}
|
147 |
-
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
148 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
149 |
-
return;
|
150 |
-
} else {
|
151 |
-
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
152 |
-
$this->getResponse()->setBody(json_encode(array('success' => false,
|
153 |
-
'errors' => array('message' => 'Invalid method'))));
|
154 |
-
}
|
155 |
-
}
|
156 |
-
|
157 |
-
/**
|
158 |
-
* Api to update dimension mapping
|
159 |
-
*
|
160 |
-
* @return void
|
161 |
-
*/
|
162 |
-
public function analyticsimpressionAction() {
|
163 |
-
$website = $this->prepare();
|
164 |
-
if(is_null($website)){
|
165 |
-
return;
|
166 |
-
}
|
167 |
-
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::GET) {
|
168 |
-
|
169 |
-
$response = Mage::getModel("unbxd_recommendation/api_task_analyticsimpression")
|
170 |
-
->prepare($website)
|
171 |
-
->process();
|
172 |
-
if(!$response->isSuccess()) {
|
173 |
-
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => $response->getErrors())));
|
174 |
-
return;
|
175 |
-
}
|
176 |
-
$this->getResponse()->setBody(json_encode(array('success' => true) + $response->getResponse()));
|
177 |
-
} else {
|
178 |
-
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => array('Invalid method'))));
|
179 |
-
}
|
180 |
-
|
181 |
-
}
|
182 |
-
|
183 |
-
public function keysAction() {
|
184 |
-
$request = $this->getRequest();
|
185 |
-
$website = $this->prepare();
|
186 |
-
if(is_null($website)) {
|
187 |
-
return;
|
188 |
-
}
|
189 |
-
|
190 |
-
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::GET) {
|
191 |
-
$secretKey =Mage::getResourceModel("unbxd_recommendation/config")
|
192 |
-
->getValue($website->getWebsiteId(), Unbxd_Recommendation_Helper_Confighelper::SECRET_KEY);
|
193 |
-
$siteKey =Mage::getResourceModel("unbxd_recommendation/config")
|
194 |
-
->getValue($website->getWebsiteId(), Unbxd_Recommendation_Helper_Confighelper::SITE_KEY);
|
195 |
-
$errors = array();
|
196 |
-
if(is_null($secretKey)) {
|
197 |
-
$errors[Unbxd_Recommendation_Helper_Confighelper::SECRET_KEY] = "secret key not set";
|
198 |
-
}
|
199 |
-
if(is_null($siteKey)) {
|
200 |
-
$errors[Unbxd_Recommendation_Helper_Confighelper::SITE_KEY] = "site key not set";
|
201 |
-
}
|
202 |
-
if(sizeof($errors) > 0) {
|
203 |
-
Mage::helper('unbxd_recommendation')
|
204 |
-
->log(Zend_Log::DEBUG,'save keys api failed because ' . json_encode($errors));
|
205 |
-
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => $errors)));
|
206 |
-
return;
|
207 |
-
}
|
208 |
-
$this->getResponse()->setBody(json_encode(array('success' => true,
|
209 |
-
Unbxd_Recommendation_Helper_Confighelper::SECRET_KEY => $secretKey,
|
210 |
-
Unbxd_Recommendation_Helper_Confighelper::SITE_KEY => $siteKey)));
|
211 |
-
return;
|
212 |
-
} else if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::POST) {
|
213 |
-
$requestBody = $request->getRawBody();
|
214 |
-
$errors = $this->helper()->validateAndSaveKeys($website, $requestBody);
|
215 |
-
if(sizeof($errors)>0) {
|
216 |
-
Mage::helper('unbxd_recommendation')
|
217 |
-
->log(Zend_Log::DEBUG, 'save keys api failed because of ' . json_encode($errors));
|
218 |
-
$this->getResponse()->setBody(json_encode(array('success' => false,
|
219 |
-
'errors' => $errors)));
|
220 |
-
return;
|
221 |
-
}
|
222 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
223 |
-
} else {
|
224 |
-
Mage::helper('unbxd_recommendation')
|
225 |
-
->log(Zend_Log::DEBUG, 'keys api failed because of invalid method');
|
226 |
-
$this->getResponse()->setBody(json_encode(array('success' => false,
|
227 |
-
'errors' => array('message' => 'Invalid method'))));
|
228 |
-
return;
|
229 |
-
}
|
230 |
-
}
|
231 |
-
|
232 |
-
|
233 |
-
public function dimensionmapAction()
|
234 |
-
{
|
235 |
-
$website = $this->prepare();
|
236 |
-
if (is_null($website)) {
|
237 |
-
return;
|
238 |
-
}
|
239 |
-
if ($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::POST) {
|
240 |
-
$response = $this->helper()->updateFeatureFields($website);
|
241 |
-
if(is_array($response)) {
|
242 |
-
$this->getResponse()->setBody(json_encode(array('success' => false, $response)));
|
243 |
-
return;
|
244 |
-
}
|
245 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
246 |
-
return;
|
247 |
-
} else {
|
248 |
-
Mage::helper('unbxd_recommendation')
|
249 |
-
->log(Zend_Log::DEBUG, 'keys api failed because of invalid method');
|
250 |
-
$this->getResponse()->setBody(json_encode(array('success' => false,
|
251 |
-
'errors' => array('message' => 'Invalid method'))));
|
252 |
-
|
253 |
-
}
|
254 |
-
}
|
255 |
-
|
256 |
-
public function downloadAction() {
|
257 |
-
$filepath = Mage::getBaseDir('log').DS.Unbxd_Recommendation_Helper_Data::LOG_FILE;
|
258 |
-
|
259 |
-
if (! is_file ( $filepath ) || ! is_readable ( $filepath )) {
|
260 |
-
throw new Exception ( );
|
261 |
-
}
|
262 |
-
$this->getResponse ()
|
263 |
-
->setHttpResponseCode ( 200 )
|
264 |
-
->setHeader ( 'Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true )
|
265 |
-
->setHeader ( 'Pragma', 'public', true )
|
266 |
-
->setHeader ( 'Content-type', 'application/force-download' )
|
267 |
-
->setHeader ( 'Content-Length', filesize($filepath) )
|
268 |
-
->setHeader ('Content-Disposition', 'attachment' . '; filename=' . basename($filepath) );
|
269 |
-
$this->getResponse ()->clearBody ();
|
270 |
-
$this->getResponse ()->sendHeaders ();
|
271 |
-
readfile ( $filepath );
|
272 |
-
return;
|
273 |
-
}
|
274 |
-
|
275 |
-
public function feeddetailsAction() {
|
276 |
-
$website = $this->prepare();
|
277 |
-
if (is_null($website)) {
|
278 |
-
return;
|
279 |
-
}
|
280 |
-
|
281 |
-
$this->getResponse()
|
282 |
-
->setBody(json_encode(array('success' => true,
|
283 |
-
'numDocs' => $this->helper()->getNumberOfDocsInUnbxd($website))));
|
284 |
-
return;
|
285 |
-
}
|
286 |
-
|
287 |
-
public function productsyncAction(){
|
288 |
-
$website = $this->prepare();
|
289 |
-
if (is_null($website)) {
|
290 |
-
return;
|
291 |
-
}
|
292 |
-
ignore_user_abort(true);
|
293 |
-
set_time_limit(0);
|
294 |
-
$isFullUpload = true;
|
295 |
-
$feedMgr = Mage::getSingleton('unbxd_recommendation/feed_feedmanager');
|
296 |
-
if(array_key_exists('incremental', $_REQUEST)) {
|
297 |
-
$isFullUpload = false;
|
298 |
-
}
|
299 |
-
|
300 |
-
$response = $feedMgr->process($isFullUpload, $website);
|
301 |
-
$this->getResponse()->setBody(json_encode($response));
|
302 |
-
return;
|
303 |
-
}
|
304 |
-
|
305 |
-
|
306 |
-
public function unlockfeedAction() {
|
307 |
-
$website = $this->prepare();
|
308 |
-
if (is_null($website)) {
|
309 |
-
return;
|
310 |
-
}
|
311 |
-
Mage::getResourceModel('unbxd_recommendation/config')->unLockSite($website->getWebsiteId());
|
312 |
-
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
313 |
-
}
|
314 |
-
|
315 |
-
public function cronAction() {
|
316 |
-
$website = $this->prepare();
|
317 |
-
if (is_null($website)) {
|
318 |
-
return;
|
319 |
-
}
|
320 |
-
$isCronEnabled = Mage::getResourceSingleton('unbxd_recommendation/config')->getValue($website->getWebsiteId(),
|
321 |
-
Unbxd_Recommendation_Helper_Confighelper::IS_CRON_ENABLED);
|
322 |
-
if(is_null($isCronEnabled)) {
|
323 |
-
$this->getResponse()->setBody(json_encode(array('success' => true, 'cron_enabled' => false)));
|
324 |
-
}
|
325 |
-
$this->getResponse()->setBody(json_encode(array('success' => true, 'cron_enabled' => true)));
|
326 |
-
}
|
327 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/controllers/WidgetController.php
DELETED
@@ -1,20 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Unbxd_Recommendation_WidgetController extends Mage_Core_Controller_Front_Action {
|
4 |
-
|
5 |
-
public function indexAction() {
|
6 |
-
$website = Mage::app()->getWebsite();
|
7 |
-
$this->getResponse()->setHeader('Access-Control-Allow-Origin', '*');
|
8 |
-
$response = Mage::getModel("unbxd_recommendation/api_task_widget")
|
9 |
-
->setData($_GET)
|
10 |
-
->prepare($website)
|
11 |
-
->process();
|
12 |
-
if(!$response->isSuccess()) {
|
13 |
-
$this->getResponse()->setBody('<!--unbxdRecommendationError = ' .
|
14 |
-
json_encode(array('success' => false, 'errors' => $response->getErrors())) . '-->');
|
15 |
-
return;
|
16 |
-
}
|
17 |
-
$this->getResponse()->setBody($response->getBody());
|
18 |
-
return;
|
19 |
-
}
|
20 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/etc/config.xml
DELETED
@@ -1,155 +0,0 @@
|
|
1 |
-
<config>
|
2 |
-
<modules>
|
3 |
-
<Unbxd_Recommendation>
|
4 |
-
<version>1.0.18</version>
|
5 |
-
</Unbxd_Recommendation>
|
6 |
-
</modules>
|
7 |
-
<admin>
|
8 |
-
<routers>
|
9 |
-
<unbxd_recommendation_router>
|
10 |
-
<use>admin</use>
|
11 |
-
<args>
|
12 |
-
<module>Unbxd_Recommendation_Adminhtml</module>
|
13 |
-
<frontName>unbxdadmin</frontName>
|
14 |
-
</args>
|
15 |
-
</unbxd_recommendation_router>
|
16 |
-
</routers>
|
17 |
-
</admin>
|
18 |
-
<frontend>
|
19 |
-
<layout>
|
20 |
-
<updates>
|
21 |
-
<unbxd_recommendation>
|
22 |
-
<file>unbxd/recommendation.xml</file>
|
23 |
-
</unbxd_recommendation>
|
24 |
-
</updates>
|
25 |
-
</layout>
|
26 |
-
<routers>
|
27 |
-
<unbxd_recommendation>
|
28 |
-
<use>standard</use>
|
29 |
-
<args>
|
30 |
-
<module>Unbxd_Recommendation</module>
|
31 |
-
<frontName>unbxd</frontName>
|
32 |
-
</args>
|
33 |
-
</unbxd_recommendation>
|
34 |
-
</routers>
|
35 |
-
</frontend>
|
36 |
-
<global>
|
37 |
-
<resources>
|
38 |
-
<unbxd_recommendation_setup>
|
39 |
-
<setup>
|
40 |
-
<module>Unbxd_Recommendation</module>
|
41 |
-
</setup>
|
42 |
-
</unbxd_recommendation_setup>
|
43 |
-
</resources>
|
44 |
-
<helpers>
|
45 |
-
<unbxd_recommendation>
|
46 |
-
<class>Unbxd_Recommendation_Helper</class>
|
47 |
-
</unbxd_recommendation>
|
48 |
-
</helpers>
|
49 |
-
<models>
|
50 |
-
<unbxd_recommendation>
|
51 |
-
<class>Unbxd_Recommendation_Model</class>
|
52 |
-
<resourceModel>unbxd_recommendation_resource</resourceModel>
|
53 |
-
</unbxd_recommendation>
|
54 |
-
<unbxd_recommendation_resource>
|
55 |
-
<class>Unbxd_Recommendation_Model_Resource</class>
|
56 |
-
<entities>
|
57 |
-
<config>
|
58 |
-
<table>unbxd_recommendation_conf</table>
|
59 |
-
</config>
|
60 |
-
<field>
|
61 |
-
<table>unbxd_field_conf</table>
|
62 |
-
</field>
|
63 |
-
<sync>
|
64 |
-
<table>unbxd_product_sync</table>
|
65 |
-
</sync>
|
66 |
-
</entities>
|
67 |
-
</unbxd_recommendation_resource>
|
68 |
-
</models>
|
69 |
-
<blocks>
|
70 |
-
<unbxd_recommendation>
|
71 |
-
<class>Unbxd_Recommendation_Block</class>
|
72 |
-
</unbxd_recommendation>
|
73 |
-
</blocks>
|
74 |
-
<events>
|
75 |
-
<checkout_cart_add_product_complete>
|
76 |
-
<observers>
|
77 |
-
<unbxd_recommendation_cart_tracker>
|
78 |
-
<type>singleton</type>
|
79 |
-
<class>unbxd_recommendation/observer</class>
|
80 |
-
<method>trackAddToCart</method>
|
81 |
-
</unbxd_recommendation_cart_tracker>
|
82 |
-
</observers>
|
83 |
-
</checkout_cart_add_product_complete>
|
84 |
-
<sales_order_payment_place_end>
|
85 |
-
<observers>
|
86 |
-
<unbxd_recommendation_order_tracker>
|
87 |
-
<type>singleton</type>
|
88 |
-
<class>unbxd_recommendation/observer</class>
|
89 |
-
<method>trackOrder</method>
|
90 |
-
</unbxd_recommendation_order_tracker>
|
91 |
-
</observers>
|
92 |
-
</sales_order_payment_place_end>
|
93 |
-
<catalog_product_delete_before>
|
94 |
-
<observers>
|
95 |
-
<unbxd_recommendation_order_tracker>
|
96 |
-
<type>singleton</type>
|
97 |
-
<class>unbxd_recommendation/observer</class>
|
98 |
-
<method>trackDeleteOfChildProduct</method>
|
99 |
-
</unbxd_recommendation_order_tracker>
|
100 |
-
</observers>
|
101 |
-
</catalog_product_delete_before>
|
102 |
-
<catalog_product_delete_commit_after>
|
103 |
-
<observers>
|
104 |
-
<unbxd_recommendation_order_tracker>
|
105 |
-
<type>singleton</type>
|
106 |
-
<class>unbxd_recommendation/observer</class>
|
107 |
-
<method>trackDeleteOfMainProduct</method>
|
108 |
-
</unbxd_recommendation_order_tracker>
|
109 |
-
</observers>
|
110 |
-
</catalog_product_delete_commit_after>
|
111 |
-
<cataloginventory_stock_item_save_commit_after>
|
112 |
-
<observers>
|
113 |
-
<unbxd_recommendation_catalog_inventory_save>
|
114 |
-
<type>singleton</type>
|
115 |
-
<class>unbxd_recommendation/observer</class>
|
116 |
-
<method>catalogInventorySave</method>
|
117 |
-
</unbxd_recommendation_catalog_inventory_save>
|
118 |
-
</observers>
|
119 |
-
</cataloginventory_stock_item_save_commit_after>
|
120 |
-
<sales_order_item_cancel>
|
121 |
-
<observers>
|
122 |
-
<unbxd_recommendation_order_cancel>
|
123 |
-
<type>singleton</type>
|
124 |
-
<class>unbxd_recommendation/observer</class>
|
125 |
-
<method>catalogInventorySave</method>
|
126 |
-
</unbxd_recommendation_order_cancel>
|
127 |
-
</observers>
|
128 |
-
</sales_order_item_cancel>
|
129 |
-
</events>
|
130 |
-
</global>
|
131 |
-
<adminhtml>
|
132 |
-
<layout>
|
133 |
-
<updates>
|
134 |
-
<unbxd_recommendation>
|
135 |
-
<file>unbxd/recommendation.xml</file>
|
136 |
-
</unbxd_recommendation>
|
137 |
-
</updates>
|
138 |
-
</layout>
|
139 |
-
</adminhtml>
|
140 |
-
<crontab>
|
141 |
-
<jobs>
|
142 |
-
<unbxd_recommendation_cron>
|
143 |
-
<schedule><cron_expr>0 */1 * * *</cron_expr></schedule>
|
144 |
-
<run><model>unbxd_recommendation/observer::syncProduct</model></run>
|
145 |
-
</unbxd_recommendation_cron>
|
146 |
-
</jobs>
|
147 |
-
</crontab>
|
148 |
-
<default>
|
149 |
-
<unbxd>
|
150 |
-
<general>
|
151 |
-
<max_feed_lock_feed>6</max_feed_lock_feed>
|
152 |
-
</general>
|
153 |
-
</unbxd>
|
154 |
-
</default>
|
155 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/sql/unbxd_recommendation_setup/mysql4-install-1.0.0.php
DELETED
@@ -1,69 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
|
4 |
-
$installer = $this;
|
5 |
-
/* @var $installer Mage_Core_Model_Resource_Setup */
|
6 |
-
|
7 |
-
$installer->startSetup();
|
8 |
-
|
9 |
-
$configTable = $installer->getTable('unbxd_recommendation_conf');
|
10 |
-
$fieldTable = $installer->getTable('unbxd_field_conf');
|
11 |
-
|
12 |
-
$installer->run("
|
13 |
-
DROP TABLE IF EXISTS `{$fieldTable}`;
|
14 |
-
|
15 |
-
CREATE TABLE `{$fieldTable}` (
|
16 |
-
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
17 |
-
`website_id` tinyint(5) unsigned NOT NULL,
|
18 |
-
`field_name` varchar(100) NOT NULL DEFAULT '',
|
19 |
-
`datatype` varchar(20) NOT NULL DEFAULT '',
|
20 |
-
`autosuggest` tinyint(1) NOT NULL DEFAULT '0',
|
21 |
-
`featured_field` varchar(100) DEFAULT NULL,
|
22 |
-
`multivalued` tinyint(1) NOT NULL DEFAULT '0',
|
23 |
-
`displayed` tinyint(1) NOT NULL DEFAULT '1',
|
24 |
-
PRIMARY KEY (`id`),
|
25 |
-
UNIQUE KEY `website_id` (`website_id`,`field_name`)
|
26 |
-
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
27 |
-
|
28 |
-
DROP TABLE IF EXISTS `{$configTable}`;
|
29 |
-
CREATE TABLE `{$configTable}` (
|
30 |
-
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
31 |
-
`website_id` smallint(5) unsigned NOT NULL,
|
32 |
-
`key` varchar(50) NOT NULL DEFAULT '',
|
33 |
-
`value` varchar(50) DEFAULT NULL,
|
34 |
-
PRIMARY KEY (`id`)
|
35 |
-
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
36 |
-
");
|
37 |
-
|
38 |
-
$websiteCollection = Mage::getModel('core/website')->getCollection()->load();
|
39 |
-
foreach($websiteCollection as $website) {
|
40 |
-
$websiteId = $website->getWebsiteId();
|
41 |
-
if(is_null($websiteId)) {
|
42 |
-
continue;
|
43 |
-
}
|
44 |
-
$fieldTable = Mage::getResourceModel('unbxd_recommendation/field')->getTableName();
|
45 |
-
$insertQuery = "
|
46 |
-
INSERT INTO `{$fieldTable}` (`website_id`, `field_name`, `datatype`, `autosuggest`, `featured_field`, `multivalued`, `displayed`)
|
47 |
-
VALUES
|
48 |
-
({$websiteId}, 'name', 'text', 1, 'title', 0, 1),
|
49 |
-
({$websiteId}, 'final_price', 'decimal', 0, 'price', 0, 1),
|
50 |
-
({$websiteId}, 'price', 'decimal', 0, NULL, 0, 1),
|
51 |
-
({$websiteId}, 'brand', 'text', 0, 'brand', 0, 1),
|
52 |
-
({$websiteId}, 'color', 'text', 0, 'color', 1, 1),
|
53 |
-
({$websiteId}, 'size', 'text', 0, 'size', 1, 1),
|
54 |
-
({$websiteId}, 'image', 'link', 0, 'imageUrl', 1, 1),
|
55 |
-
({$websiteId}, 'url_path', 'link', 0, 'productUrl', 0, 1),
|
56 |
-
({$websiteId}, 'catLevel1', 'text', 0, NULL, 1, 0),
|
57 |
-
({$websiteId}, 'catLevel2', 'text', 0, NULL, 1, 0),
|
58 |
-
({$websiteId}, 'catLevel3', 'text', 0, NULL, 1, 0),
|
59 |
-
({$websiteId}, 'status', 'number', 0, NULL, 0, 0),
|
60 |
-
({$websiteId}, 'visibility', 'number', 0, NULL, 0, 0),
|
61 |
-
({$websiteId}, 'qty', 'number', 0, NULL, 0, 0),
|
62 |
-
({$websiteId}, 'categoryIds', 'longText', 0, NULL, 1, 0),
|
63 |
-
({$websiteId}, 'category', 'text', 0, 'category', 1, 0),
|
64 |
-
({$websiteId}, 'uniqueId', 'longText', 0, NULL, 0, 0),
|
65 |
-
({$websiteId}, 'entity_id', 'longText', 0, NULL, 0, 0);";
|
66 |
-
$installer->run($insertQuery);
|
67 |
-
}
|
68 |
-
$installer->endSetup();
|
69 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/sql/unbxd_recommendation_setup/upgrade-1.0.11-1.0.12.php
DELETED
@@ -1,32 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
$installer = $this;
|
4 |
-
/* @var $installer Mage_Core_Model_Resource_Setup */
|
5 |
-
|
6 |
-
$installer->startSetup();
|
7 |
-
$fieldTable = $installer->getTable('unbxd_field_conf');
|
8 |
-
|
9 |
-
$websiteCollection = Mage::getModel('core/website')->getCollection()->load();
|
10 |
-
foreach($websiteCollection as $website) {
|
11 |
-
$websiteId = $website->getWebsiteId();
|
12 |
-
if(is_null($websiteId)) {
|
13 |
-
continue;
|
14 |
-
}
|
15 |
-
$insertQuery = "
|
16 |
-
INSERT INTO `{$fieldTable}` (`website_id`, `field_name`, `datatype`, `autosuggest`, `featured_field`, `multivalued`, `displayed`)
|
17 |
-
VALUES
|
18 |
-
({$websiteId}, 'gender', 'text', 0, 'gender', 0, 1),
|
19 |
-
({$websiteId}, 'description', 'longText', 0, 'description', 0, 1),
|
20 |
-
({$websiteId}, 'catLevel1Name', 'text', 0, 'catlevel1Name', 0, 0),
|
21 |
-
({$websiteId}, 'catLevel2Name', 'text', 0, 'catlevel2Name', 0, 0),
|
22 |
-
({$websiteId}, 'catLevel3Name', 'text', 0, 'catlevel3Name', 0, 0),
|
23 |
-
({$websiteId}, 'catLevel4Name', 'text', 0, 'catlevel4Name', 0, 0),
|
24 |
-
({$websiteId}, 'categoryLevel1', 'text', 0, NULL, 1, 0),
|
25 |
-
({$websiteId}, 'categoryLevel2', 'text', 0, NULL, 1, 0),
|
26 |
-
({$websiteId}, 'categoryLevel3', 'text', 0, NULL, 1, 0),
|
27 |
-
({$websiteId}, 'categoryLevel4', 'text', 0, NULL, 1, 0),
|
28 |
-
({$websiteId}, 'availability', 'bool', 0, 'availability', 0, 0),
|
29 |
-
({$websiteId}, 'created_at', 'date', 0, NULL, 0, 1);";
|
30 |
-
$installer->run($insertQuery);
|
31 |
-
}
|
32 |
-
$installer->endSetup();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recommendation/sql/unbxd_recommendation_setup/upgrade-1.0.16-1.0.17.php
DELETED
@@ -1,22 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
$installer = $this;
|
4 |
-
/* @var $installer Mage_Core_Model_Resource_Setup */
|
5 |
-
|
6 |
-
$installer->startSetup();
|
7 |
-
$productSyncTable = $installer->getTable('unbxd_product_sync');
|
8 |
-
|
9 |
-
$installer->run("
|
10 |
-
DROP TABLE IF EXISTS `{$productSyncTable}`;
|
11 |
-
CREATE TABLE `{$productSyncTable}` (
|
12 |
-
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
13 |
-
`product_id` int(10) unsigned NOT NULL,
|
14 |
-
`website_id` smallint(5) unsigned NOT NULL,
|
15 |
-
`synced` tinyint(1) NOT NULL DEFAULT '0',
|
16 |
-
`updated_time` datetime DEFAULT NULL,
|
17 |
-
`sync_time` datetime DEFAULT NULL,
|
18 |
-
`operation` enum('ADD','DELETE') NOT NULL DEFAULT 'ADD',
|
19 |
-
PRIMARY KEY (`id`),
|
20 |
-
UNIQUE KEY `product_id` (`product_id`,`website_id`)
|
21 |
-
) ENGINE=InnoDB DEFAULT CHARSET=latin1;");
|
22 |
-
$installer->endSetup();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/local/Unbxd/Recscore/Helper/Analyticshelper.php
ADDED
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Unbxd_Recscore_Helper_Analyticshelper extends Mage_Core_Helper_Abstract{
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Returns unbxd script tag
|
7 |
+
*;
|
8 |
+
* @return String
|
9 |
+
**/
|
10 |
+
public function getAnalyticsScriptTag() {
|
11 |
+
$siteName = Mage::getResourceSingleton("datafeeder/conf")->getValue(Mage::app()->getWebsite()->getName() . "/siteName");
|
12 |
+
if(is_null($siteName) || $siteName == "" ) {
|
13 |
+
Mage::throwException("Unbxd site key is not set");
|
14 |
+
}
|
15 |
+
$scriptDiv = '<script type="text/javascript">';
|
16 |
+
$scriptDiv = $scriptDiv.'var UnbxdSiteName="'.$siteName.'";';
|
17 |
+
$scriptDiv = $scriptDiv.'var s=document.createElement("script");';
|
18 |
+
$scriptDiv = $scriptDiv.'s.src="//unbxd.s3.amazonaws.com/unbxdAnalytics.js";';
|
19 |
+
$scriptDiv = $scriptDiv.'s.type="text/javascript";';
|
20 |
+
$scriptDiv = $scriptDiv.'s.async=true;';
|
21 |
+
$scriptDiv = $scriptDiv.'document.getElementsByTagName("head").item(0).appendChild(s);';
|
22 |
+
$scriptDiv = $scriptDiv.'var s=document.createElement("script");';
|
23 |
+
$scriptDiv = $scriptDiv."</script>";
|
24 |
+
return $scriptDiv;
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Returns unbxd search box attributes
|
29 |
+
*
|
30 |
+
* @return String
|
31 |
+
**/
|
32 |
+
public function getSearchBoxAttribute() {
|
33 |
+
return 'unbxdattr="sq"';
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Returns unbxd search box button attributes
|
38 |
+
*
|
39 |
+
* @return String
|
40 |
+
**/
|
41 |
+
public function getSearchBoxButtonAttribute() {
|
42 |
+
return 'unbxdattr="sq_bt"';
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Returns unbxd navigation meta tag
|
47 |
+
*
|
48 |
+
* @return String
|
49 |
+
**/
|
50 |
+
public function getNavigationTag() {
|
51 |
+
return '<meta name="unbxd:type" content="category">';
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Returns unbxd product click attributes
|
56 |
+
*
|
57 |
+
* @return String
|
58 |
+
**/
|
59 |
+
public function getProductClickAttributes($product, $rank) {
|
60 |
+
if (!$product instanceof Mage_Catalog_Model_Product ) {
|
61 |
+
Mage::throwException("$product parameter to getProductClickAttributes method should be of type Mage_Catalog_Model_Product");
|
62 |
+
}
|
63 |
+
if (!$rank || $rank < 1 ) {
|
64 |
+
Mage::throwException("$rank parameter to getProductClickAttributes method should be greater than 0");
|
65 |
+
}
|
66 |
+
return 'unbxdattr="product" unbxdparam_sku="'.$product->getData('entity_id').'" unbxdparam_prank="'.$rank.'"';
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Returns unbxd add to cart attributes
|
71 |
+
*
|
72 |
+
* @return String
|
73 |
+
**/
|
74 |
+
public function getAddToCartAttributes($product) {
|
75 |
+
if (!$product instanceof Mage_Catalog_Model_Product ) {
|
76 |
+
Mage::throwException("$product parameter to getProductClickAttributes method should be of type Mage_Catalog_Model_Product");
|
77 |
+
}
|
78 |
+
return 'unbxdattr="AddToCart" unbxdparam_sku="'.$product->getData('entity_id').'"';
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Returns unbxd order attributes
|
83 |
+
*
|
84 |
+
* @return String
|
85 |
+
**/
|
86 |
+
public function getOrderAttributes($product) {
|
87 |
+
if (!$product instanceof Mage_Catalog_Model_Product ) {
|
88 |
+
Mage::throwException("$product parameter to getProductClickAttributes method should be of type Mage_Catalog_Model_Product");
|
89 |
+
}
|
90 |
+
return 'unbxdattr="order" unbxdparam_sku="'.$product->getData('entity_id').'"';
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Checks whether request is a navigation
|
95 |
+
*
|
96 |
+
* @param Mage_Catalog_Model_Resource_Eav_Attribute $attribute
|
97 |
+
* @return bool
|
98 |
+
*/
|
99 |
+
public function isNavigation() {
|
100 |
+
if(Mage::app()->getRequest()->getControllerName() == "category") {
|
101 |
+
return true;
|
102 |
+
}
|
103 |
+
return false;
|
104 |
+
}
|
105 |
+
}
|
106 |
+
?>
|
app/code/local/Unbxd/Recscore/Helper/Confighelper.php
ADDED
@@ -0,0 +1,453 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
+
* @author Unbxd Software Pvt. Ltd
|
7 |
+
*/
|
8 |
+
class Unbxd_Recscore_Helper_Confighelper extends Unbxd_Recscore_Helper_Data {
|
9 |
+
|
10 |
+
const SITE_KEY = "site_key";
|
11 |
+
|
12 |
+
const API_KEY = "api_key";
|
13 |
+
|
14 |
+
const SECRET_KEY = "secret_key";
|
15 |
+
|
16 |
+
const USERNAME = "username";
|
17 |
+
|
18 |
+
const NEED_FEATURE_FIELD_UPDATION = "need_feature_field_updation";
|
19 |
+
|
20 |
+
const IS_CRON_ENABLED = "cron_enabled";
|
21 |
+
|
22 |
+
const SUBJECT = 'subject';
|
23 |
+
|
24 |
+
const CONTENT = 'content';
|
25 |
+
|
26 |
+
const CC = 'cc';
|
27 |
+
|
28 |
+
|
29 |
+
/**
|
30 |
+
* All possible data type values supported unbxd
|
31 |
+
* @var array
|
32 |
+
*/
|
33 |
+
public static $data_types = array("text", "longText", "link", "decimal", "number", "datetime");
|
34 |
+
|
35 |
+
public function validateAndSaveKeys($website, $requestBody){
|
36 |
+
$errors = $this->validateKeyParams($requestBody);
|
37 |
+
if(sizeof($errors) > 0) {
|
38 |
+
return $errors;
|
39 |
+
}
|
40 |
+
$requestParams = json_decode($requestBody, true);
|
41 |
+
if(!$requestParams) {
|
42 |
+
$errors['message'] = 'Invalid Request';
|
43 |
+
return $errors;
|
44 |
+
}
|
45 |
+
$response = Mage::getModel("unbxd_recscore/api_task_validatekeys")
|
46 |
+
->setData(Unbxd_Recscore_Model_Api_Task_Validatekeys::SECRET_KEY, $requestParams[self::SECRET_KEY])
|
47 |
+
->setData(Unbxd_Recscore_Model_Api_Task_Validatekeys::SITE_KEY, $requestParams[self::SITE_KEY])
|
48 |
+
->prepare($website)
|
49 |
+
->process();
|
50 |
+
if(!$response->isSuccess()) {
|
51 |
+
return $response->getErrors();
|
52 |
+
}
|
53 |
+
|
54 |
+
$existingSecretKey = Mage::getResourceModel('unbxd_recscore/config')
|
55 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::SECRET_KEY);
|
56 |
+
$keyAlreadyExists = !is_null($existingSecretKey);
|
57 |
+
if($keyAlreadyExists) {
|
58 |
+
$this->flushConfigs($website);
|
59 |
+
}
|
60 |
+
|
61 |
+
Mage::getResourceModel('unbxd_recscore/config')
|
62 |
+
->setValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::SECRET_KEY,
|
63 |
+
$requestParams[Unbxd_Recscore_Helper_Constants::SECRET_KEY]);
|
64 |
+
Mage::getResourceModel('unbxd_recscore/config')
|
65 |
+
->setValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::SITE_KEY,
|
66 |
+
$requestParams[Unbxd_Recscore_Helper_Constants::SITE_KEY]);
|
67 |
+
$response = $response->getResponse();
|
68 |
+
Mage::getResourceModel('unbxd_recscore/config')
|
69 |
+
->setValue($website->getWebsiteId(),
|
70 |
+
Unbxd_Recscore_Helper_Constants::API_KEY,
|
71 |
+
$response[Unbxd_Recscore_Model_Api_Task_Validatekeys::API_KEY]);
|
72 |
+
Mage::getResourceModel('unbxd_recscore/config')
|
73 |
+
->setValue($website->getWebsiteId(),
|
74 |
+
Unbxd_Recscore_Helper_Constants::USERNAME,
|
75 |
+
$response[Unbxd_Recscore_Model_Api_Task_Validatekeys::USERNAME]);
|
76 |
+
$this->saveConfig(Mage::app()->getWebsite(),
|
77 |
+
array(Unbxd_Recscore_Helper_Constants::API_KEY => $response[Unbxd_Recscore_Model_Api_Task_Validatekeys::API_KEY],
|
78 |
+
Unbxd_Recscore_Helper_Constants::SITE_KEY => $requestParams[Unbxd_Recscore_Helper_Constants::SITE_KEY]));
|
79 |
+
return $errors;
|
80 |
+
}
|
81 |
+
|
82 |
+
public function flushConfigs($website) {
|
83 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::DEBUG, 'Flushing all the configs');
|
84 |
+
$configs = $this->getEngineConfigData('', $website, true);
|
85 |
+
foreach($configs as $config=>$value) {
|
86 |
+
Mage::getConfig()->deleteConfig(Unbxd_Recscore_Helper_Constants::UNBXD_CONFIG_PREFIX .
|
87 |
+
Unbxd_Recscore_Helper_Constants::CONFIG_SEPARATOR .
|
88 |
+
$config,
|
89 |
+
'websites',
|
90 |
+
(int)$website->getWebsiteId());
|
91 |
+
}
|
92 |
+
Mage::getResourceModel('unbxd_recscore/config')->deleteAll($website->getWebsiteId());
|
93 |
+
|
94 |
+
}
|
95 |
+
|
96 |
+
public function validateKeyParams($requestBody) {
|
97 |
+
$errors = array();
|
98 |
+
$requestParams = json_decode($requestBody, true);
|
99 |
+
if(!$requestParams) {
|
100 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR, 'Invalid request with requestBody' . $requestBody);
|
101 |
+
$errors['message'] = 'Invalid Request';
|
102 |
+
return $errors;
|
103 |
+
}
|
104 |
+
if(!array_key_exists(Unbxd_Recscore_Helper_Constants::SECRET_KEY,$requestParams)){
|
105 |
+
$errors[Unbxd_Recscore_Helper_Constants::SECRET_KEY] = "Has Empty Data";
|
106 |
+
}
|
107 |
+
if(!array_key_exists(Unbxd_Recscore_Helper_Constants::SITE_KEY, $requestParams)) {
|
108 |
+
$errors[Unbxd_Recscore_Helper_Constants::SITE_KEY] = "Has Empty Data";
|
109 |
+
}
|
110 |
+
return $errors;
|
111 |
+
}
|
112 |
+
|
113 |
+
public function getFeatureFields() {
|
114 |
+
return Unbxd_Recscore_Model_Field::$feature_fields;
|
115 |
+
}
|
116 |
+
|
117 |
+
public function getAllAttributes($fieldNameAsKey = false) {
|
118 |
+
$attributes = Mage::getSingleton('eav/config')
|
119 |
+
->getEntityType(Mage_Catalog_Model_Product::ENTITY)->getAttributeCollection();
|
120 |
+
$fields = array();
|
121 |
+
foreach($attributes as $attribute) {
|
122 |
+
$attributeType = $attribute->getFrontendInput();
|
123 |
+
$fieldType = $attributeType == 'media_image'?Unbxd_Recscore_Helper_Constants::FIELD_TYPE_IMAGE:
|
124 |
+
($attributeType == 'price'?Unbxd_Recscore_Helper_Constants::FIELD_TYPE_NUMBER:
|
125 |
+
($attributeType == 'date'?Unbxd_Recscore_Helper_Constants::FIELD_TYPE_DATE:
|
126 |
+
Unbxd_Recscore_Helper_Constants::FIELD_TYPE_STRING));
|
127 |
+
$fieldType = ($attribute->getName() == "created_at")?Unbxd_Recscore_Helper_Constants::FIELD_TYPE_DATE:$fieldType;
|
128 |
+
$fieldType = ($attribute->getName() == "updated_at")?Unbxd_Recscore_Helper_Constants::FIELD_TYPE_DATE:$fieldType;
|
129 |
+
if($fieldNameAsKey) {
|
130 |
+
$fields[$attribute->getName()] = array(Unbxd_Recscore_Helper_Constants::FIELD_NAME => $attribute->getName(),
|
131 |
+
Unbxd_Recscore_Helper_Constants::FIELD_TYPE => $fieldType);
|
132 |
+
} else {
|
133 |
+
$fields[] = array(Unbxd_Recscore_Helper_Constants::FIELD_NAME => $attribute->getName(),
|
134 |
+
Unbxd_Recscore_Helper_Constants::FIELD_TYPE => $fieldType);
|
135 |
+
}
|
136 |
+
}
|
137 |
+
if($fieldNameAsKey) {
|
138 |
+
$fields['final_price'] = array(Unbxd_Recscore_Helper_Constants::FIELD_NAME =>"final_price",
|
139 |
+
Unbxd_Recscore_Helper_Constants::FIELD_TYPE => Unbxd_Recscore_Helper_Constants::FIELD_TYPE_NUMBER);
|
140 |
+
} else {
|
141 |
+
$fields[] = array(Unbxd_Recscore_Helper_Constants::FIELD_NAME =>"final_price",
|
142 |
+
Unbxd_Recscore_Helper_Constants::FIELD_TYPE => Unbxd_Recscore_Helper_Constants::FIELD_TYPE_NUMBER);
|
143 |
+
}
|
144 |
+
return $fields;
|
145 |
+
}
|
146 |
+
|
147 |
+
private function getFieldMapping($fields) {
|
148 |
+
$fieldMapping = array();
|
149 |
+
foreach($fields as $field) {
|
150 |
+
$fieldMapping[$field->getFieldName()] = $field;
|
151 |
+
}
|
152 |
+
return $fieldMapping;
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* @param $fields
|
157 |
+
* @return array
|
158 |
+
*/
|
159 |
+
private function validate($fields) {
|
160 |
+
$errors = array();
|
161 |
+
if(!is_array($fields)) {
|
162 |
+
$errors["message"] = "Expecting theInput data should be an array, Given " . gettype($fields);
|
163 |
+
return $errors;
|
164 |
+
}
|
165 |
+
$existingAttributes = $this->getAllAttributes(true);
|
166 |
+
$featureFields = Mage::getModel('unbxd_recscore/field')->getFeaturedFields();
|
167 |
+
foreach($fields as $field) {
|
168 |
+
if(!array_key_exists(Unbxd_Recscore_Model_Field::field_name, $field)) {
|
169 |
+
$errors["extra"] = "Not Present for all the fields";
|
170 |
+
continue;
|
171 |
+
} else if (is_null($field[Unbxd_Recscore_Model_Field::field_name]) ||
|
172 |
+
$field[Unbxd_Recscore_Model_Field::field_name] =="") {
|
173 |
+
$errors["extra"] = "field Name is empty for some fields";
|
174 |
+
continue;
|
175 |
+
}
|
176 |
+
if (!array_key_exists(Unbxd_Recscore_Model_Field::datatype, $field)) {
|
177 |
+
$errors[$field[Unbxd_Recscore_Model_Field::field_name]] = "Not Present for all the fields";
|
178 |
+
} else if (!in_array($field[Unbxd_Recscore_Model_Field::datatype], Unbxd_Recscore_Model_Field::$data_types)){
|
179 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR, 'Invalid feature field '.
|
180 |
+
$field[Unbxd_Recscore_Model_Field::datatype]);
|
181 |
+
$errors[$field[Unbxd_Recscore_Model_Field::field_name]] = "Invalid datatype specified";
|
182 |
+
}
|
183 |
+
|
184 |
+
if(array_key_exists($field[Unbxd_Recscore_Model_Field::field_name], $existingAttributes)) {
|
185 |
+
if(!Mage::getSingleton('unbxd_recscore/field')->validateDatatype($field[Unbxd_Recscore_Model_Field::datatype], $existingAttributes[$field[Unbxd_Recscore_Model_Field::field_name]][Unbxd_Recscore_Helper_Constants::FIELD_TYPE])) {
|
186 |
+
$errors[$field[Unbxd_Recscore_Model_Field::field_name]] = "Field cannot be mapped to " . $field[Unbxd_Recscore_Model_Field::datatype];
|
187 |
+
}
|
188 |
+
}
|
189 |
+
|
190 |
+
if (array_key_exists(Unbxd_Recscore_Model_Field::featured_field, $field)) {
|
191 |
+
if(!array_key_exists($field[Unbxd_Recscore_Model_Field::featured_field], $featureFields)) {
|
192 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR, 'Invalid feature field '.
|
193 |
+
$field[Unbxd_Recscore_Model_Field::featured_field]);
|
194 |
+
$errors[$field[Unbxd_Recscore_Model_Field::field_name]] = "Invalid feature field specified";
|
195 |
+
} else if(!Mage::getSingleton('unbxd_recscore/field')->validateDatatype($featureFields[$field[Unbxd_Recscore_Model_Field::featured_field]]["datatype"], $existingAttributes[$field[Unbxd_Recscore_Model_Field::field_name]][Unbxd_Recscore_Helper_Constants::FIELD_TYPE])){
|
196 |
+
$errors[$field[Unbxd_Recscore_Model_Field::field_name]] = "Field cannot be mapped to " . $field[Unbxd_Recscore_Model_Field::datatype];
|
197 |
+
}
|
198 |
+
}
|
199 |
+
}
|
200 |
+
return $errors;
|
201 |
+
}
|
202 |
+
|
203 |
+
public function deleteFields($fields, $website) {
|
204 |
+
$errors = $this->validate($fields);
|
205 |
+
if(sizeof($errors) != 0) {
|
206 |
+
return $errors;
|
207 |
+
}
|
208 |
+
$collection = $this->buildFieldCollection($fields, $website);
|
209 |
+
return Mage::getModel("unbxd_recscore/field")->saveFields($collection);
|
210 |
+
}
|
211 |
+
|
212 |
+
/**
|
213 |
+
* @param $fields
|
214 |
+
* @param $website
|
215 |
+
* @return array
|
216 |
+
*/
|
217 |
+
public function saveFields($fields, $website) {
|
218 |
+
$errors = $this->validate($fields);
|
219 |
+
if(sizeof($errors) != 0) {
|
220 |
+
return $errors;
|
221 |
+
}
|
222 |
+
$collection = $this->buildFieldCollectionToAdd($fields, $website);
|
223 |
+
$response = Mage::getModel("unbxd_recscore/field")->saveFields($collection);
|
224 |
+
if(!is_array($response) && $response === true) {
|
225 |
+
$urlName = Mage::getResourceModel('unbxd_recscore/field')->getFieldByFeatureField(Mage::app()->getWebsite()->getWebsiteId(),
|
226 |
+
Unbxd_Recscore_Helper_Constants::FEATURE_FIELD_PRODUCT_URL);
|
227 |
+
$priceName = Mage::getResourceModel('unbxd_recscore/field')->getFieldByFeatureField(Mage::app()->getWebsite()->getWebsiteId(),
|
228 |
+
Unbxd_Recscore_Helper_Constants::FEATURE_FIELD_PRODUCT_URL);
|
229 |
+
Mage::helper('unbxd_recscore')->saveConfig(Mage::app()->getWebsite(),
|
230 |
+
array(Unbxd_Recscore_Helper_Constants::FEATURE_FIELD_PRODUCT_URL => $urlName));
|
231 |
+
Mage::helper('unbxd_recscore')->saveConfig(Mage::app()->getWebsite(),
|
232 |
+
array(Unbxd_Recscore_Helper_Constants::FEATURE_FIELD_PRICE => $priceName));
|
233 |
+
|
234 |
+
$this->triggerUpdateFeatureField($website);
|
235 |
+
}
|
236 |
+
}
|
237 |
+
|
238 |
+
|
239 |
+
public function triggerUpdateFeatureField(Mage_Core_Model_Website $website) {
|
240 |
+
Mage::getResourceModel('unbxd_recscore/config')
|
241 |
+
->setValue($website->getWebsiteId(),
|
242 |
+
Unbxd_Recscore_Helper_Constants::NEED_FEATURE_FIELD_UPDATION,
|
243 |
+
Unbxd_Recscore_Helper_Constants::NEED_FEATURE_FIELD_UPDATION_TRUE);
|
244 |
+
$this->triggerFeedUpload($website);
|
245 |
+
}
|
246 |
+
|
247 |
+
/**
|
248 |
+
* Method to trigger feed upload
|
249 |
+
* @param Mage_Core_Model_Website $website
|
250 |
+
* @return void
|
251 |
+
*/
|
252 |
+
public function triggerFeedUpload(Mage_Core_Model_Website $website) {
|
253 |
+
Mage::getModel('unbxd_recscore/api_task_triggerfeedupload')
|
254 |
+
->prepare($website)
|
255 |
+
->process();
|
256 |
+
}
|
257 |
+
|
258 |
+
|
259 |
+
private function getFeatureFieldToFieldMapping($fields) {
|
260 |
+
$featureFieldToFieldMapping = array();
|
261 |
+
foreach($fields as $field) {
|
262 |
+
if($field instanceof Unbxd_Recscore_Model_Field &&
|
263 |
+
$field->hasData(Unbxd_Recscore_Model_Field::featured_field) &&
|
264 |
+
!is_null($field->getData(Unbxd_Recscore_Model_Field::featured_field))) {
|
265 |
+
$featureFieldToFieldMapping[$field[Unbxd_Recscore_Model_Field::featured_field]] = $field;
|
266 |
+
}
|
267 |
+
}
|
268 |
+
return $featureFieldToFieldMapping;
|
269 |
+
}
|
270 |
+
|
271 |
+
private function buildFieldCollection($fields, $website) {
|
272 |
+
$collection = array();
|
273 |
+
$fieldMapping = $this->getFieldMapping($this->getFields($fields, $website));
|
274 |
+
foreach($fields as $field) {
|
275 |
+
if (!array_key_exists(Unbxd_Recscore_Model_Field::field_name, $field)) {
|
276 |
+
continue;
|
277 |
+
}
|
278 |
+
if(array_key_exists($field[Unbxd_Recscore_Model_Field::field_name], $fieldMapping)) {
|
279 |
+
$collection[]["delete"] = $fieldMapping[$field[Unbxd_Recscore_Model_Field::field_name]];
|
280 |
+
}
|
281 |
+
}
|
282 |
+
return $collection;
|
283 |
+
}
|
284 |
+
|
285 |
+
private function buildFieldCollectionToAdd($fields, $website) {
|
286 |
+
$collection = array();
|
287 |
+
$fieldMapping = $this->getFieldMapping($this->getFields($fields, $website));
|
288 |
+
$featureFieldToFieldMapping = $this->getFeatureFieldToFieldMapping($fieldMapping);
|
289 |
+
|
290 |
+
foreach($fields as $field) {
|
291 |
+
if(!array_key_exists(Unbxd_Recscore_Model_Field::field_name, $field)) {
|
292 |
+
continue;
|
293 |
+
}
|
294 |
+
/*
|
295 |
+
All possible test cases
|
296 |
+
1) if field name is present and it was a feature field
|
297 |
+
1.a) if request feature field is equal to selected feature field, dont do anything
|
298 |
+
1.b) if request feature field is not equal to selected feature field, dont do anything
|
299 |
+
1.c) if request field is not a feature field,
|
300 |
+
remove the field name entry from the feature field row, save as different row.
|
301 |
+
|
302 |
+
2) if field name is present and it was not a feature field
|
303 |
+
2.a) if request field is a feature field,
|
304 |
+
remove the field name entry as a normal field and save as feature field
|
305 |
+
2.b) if request field is not a feature field,
|
306 |
+
update the existing field
|
307 |
+
|
308 |
+
3) if field name not present,
|
309 |
+
3.a) if it has feature field, delete it from db and insert the new field
|
310 |
+
3.b) save as a new field
|
311 |
+
*/
|
312 |
+
|
313 |
+
// case 1
|
314 |
+
if(array_key_exists($field[Unbxd_Recscore_Model_Field::field_name], $fieldMapping ) &&
|
315 |
+
$fieldMapping[$field[Unbxd_Recscore_Model_Field::field_name]]->hasData(Unbxd_Recscore_Model_Field::featured_field) &&
|
316 |
+
!is_null($fieldMapping[$field[Unbxd_Recscore_Model_Field::field_name]]->getData(Unbxd_Recscore_Model_Field::featured_field))) {
|
317 |
+
//case 1 a)
|
318 |
+
if (array_key_exists(Unbxd_Recscore_Model_Field::featured_field, $field) &&
|
319 |
+
$field[Unbxd_Recscore_Model_Field::featured_field] ==
|
320 |
+
$fieldMapping[$field[Unbxd_Recscore_Model_Field::field_name]][Unbxd_Recscore_Model_Field::featured_field]) {
|
321 |
+
continue;
|
322 |
+
}
|
323 |
+
// case 1 b)
|
324 |
+
else if (array_key_exists(Unbxd_Recscore_Model_Field::featured_field, $field)) {
|
325 |
+
$collection[]["delete"] = $featureFieldToFieldMapping[$field[Unbxd_Recscore_Model_Field::featured_field]];
|
326 |
+
$collection[]["delete"] = $fieldMapping[$field[Unbxd_Recscore_Model_Field::field_name]];
|
327 |
+
$fieldModel = Mage::getModel("unbxd_recscore/field");
|
328 |
+
$fieldModel->setFeaturedField($field[Unbxd_Recscore_Model_Field::featured_field]);
|
329 |
+
}
|
330 |
+
|
331 |
+
//case 1 c)
|
332 |
+
else {
|
333 |
+
$collection[]["delete"] = $fieldMapping[$field[Unbxd_Recscore_Model_Field::field_name]];
|
334 |
+
$fieldModel = Mage::getModel("unbxd_recscore/field");
|
335 |
+
|
336 |
+
}
|
337 |
+
} else if(array_key_exists($field[Unbxd_Recscore_Model_Field::field_name], $fieldMapping)) {
|
338 |
+
//case 2 a)
|
339 |
+
if (array_key_exists(Unbxd_Recscore_Model_Field::featured_field, $field)) {
|
340 |
+
$collection[]["delete"] = $fieldMapping[$field[Unbxd_Recscore_Model_Field::field_name]];
|
341 |
+
$fieldModel = Mage::getModel("unbxd_recscore/field");
|
342 |
+
$fieldModel->setFeaturedField($field[Unbxd_Recscore_Model_Field::featured_field]);
|
343 |
+
}
|
344 |
+
// case 2 b)
|
345 |
+
else {
|
346 |
+
$fieldModel = $fieldMapping[$field[Unbxd_Recscore_Model_Field::field_name]];
|
347 |
+
}
|
348 |
+
} else {
|
349 |
+
$fieldModel = Mage::getModel("unbxd_recscore/field");
|
350 |
+
if (array_key_exists(Unbxd_Recscore_Model_Field::featured_field, $field)) {
|
351 |
+
$fieldModel->setFeaturedField($field[Unbxd_Recscore_Model_Field::featured_field]);
|
352 |
+
// case 3 a)
|
353 |
+
if(array_key_exists($field[Unbxd_Recscore_Model_Field::featured_field], $featureFieldToFieldMapping)) {
|
354 |
+
$collection[]["delete"] = $featureFieldToFieldMapping[$field[Unbxd_Recscore_Model_Field::featured_field]];
|
355 |
+
}
|
356 |
+
}
|
357 |
+
|
358 |
+
}
|
359 |
+
$fieldModel->setFieldName($field[Unbxd_Recscore_Model_Field::field_name]);
|
360 |
+
$fieldModel->setDatatype($field[Unbxd_Recscore_Model_Field::datatype]);
|
361 |
+
$fieldModel->setAutosuggest(0);
|
362 |
+
$fieldModel->setWebsiteId($website->getWebsiteId());
|
363 |
+
$fieldModel->setDisplayed(1);
|
364 |
+
$collection[]["add"] = $fieldModel;
|
365 |
+
}
|
366 |
+
return $collection;
|
367 |
+
}
|
368 |
+
|
369 |
+
/**
|
370 |
+
* Method to getFields, if
|
371 |
+
*
|
372 |
+
* @param $fields
|
373 |
+
* @return mixed
|
374 |
+
*/
|
375 |
+
private function getFields($fields, $website) {
|
376 |
+
$inField = array();
|
377 |
+
foreach($fields as $field) {
|
378 |
+
if($field[Unbxd_Recscore_Model_Field::field_name] == "") {
|
379 |
+
continue;
|
380 |
+
}
|
381 |
+
$inField[] = "'" .$field[Unbxd_Recscore_Model_Field::field_name]. "'";
|
382 |
+
}
|
383 |
+
$collection = Mage::getResourceModel("unbxd_recscore/field_collection");
|
384 |
+
|
385 |
+
$collection->getSelect()
|
386 |
+
->where('(' . Unbxd_Recscore_Model_Field::field_name . ' in ('. implode(",", $inField). ')'. " OR ".
|
387 |
+
Unbxd_Recscore_Model_Field::featured_field. " IS NOT NULL) AND ".
|
388 |
+
Unbxd_Recscore_Model_Field::website_id . " = " . $website->getWebsiteId());
|
389 |
+
return $collection->load();
|
390 |
+
}
|
391 |
+
|
392 |
+
|
393 |
+
/**
|
394 |
+
* Method to update feature fields to unbxd
|
395 |
+
*
|
396 |
+
* @return bool| array
|
397 |
+
*/
|
398 |
+
public function updateFeatureFields(Mage_Core_Model_Website $website) {
|
399 |
+
$response = Mage::getModel("unbxd_recscore/api_task_updatefeaturefields")
|
400 |
+
->prepare($website)
|
401 |
+
->process();
|
402 |
+
if(! $response->isSuccess()) {
|
403 |
+
Mage::log(Zend_Log::ERR,
|
404 |
+
"Update feature fields failed because of theses errors ".json_encode($response->getErrors()));
|
405 |
+
return $response->getErrors();
|
406 |
+
}
|
407 |
+
return true;
|
408 |
+
}
|
409 |
+
|
410 |
+
public function getNumberOfDocsInUnbxd(Mage_Core_Model_Website $website) {
|
411 |
+
$response = Mage::getModel('unbxd_recscore/api_task_feeddetails')
|
412 |
+
->prepare($website)
|
413 |
+
->process();
|
414 |
+
if($response->isSuccess()) {
|
415 |
+
$response = $response->getResponse();
|
416 |
+
$feedInfo = $response[Unbxd_Recscore_Model_Api_Task_Feeddetails::FEEDINFO];
|
417 |
+
return $feedInfo[Unbxd_Recscore_Model_Api_Task_Feeddetails::NUMDOCS];
|
418 |
+
}
|
419 |
+
return 0;
|
420 |
+
}
|
421 |
+
|
422 |
+
/**
|
423 |
+
* @param Mage_Core_Model_Website $website
|
424 |
+
* @return void
|
425 |
+
*/
|
426 |
+
public function triggerAutoggestIndexing(Mage_Core_Model_Website $website) {
|
427 |
+
if(Mage::helper('core')->isModuleEnabled('Unbxd_Searchcore') &&
|
428 |
+
$this->isConfigTrue($website, Unbxd_Recscore_Helper_Constants::AUTOSUGGEST_STATUS)) {
|
429 |
+
//trigger Autosuggest
|
430 |
+
$response = Mage::getModel('unbxd_recscore/api_task_autosuggestindex')
|
431 |
+
->prepare($website)
|
432 |
+
->process();
|
433 |
+
}
|
434 |
+
}
|
435 |
+
|
436 |
+
public function getCategoryExclusion(Mage_Core_Model_Website $website) {
|
437 |
+
$conf = Mage::helper('unbxd_recscore')->getEngineConfigData(Unbxd_Recscore_Helper_Constants::EXCLUDE_CATEGORY, $website, true);
|
438 |
+
$categoryExclusionConf = json_decode($conf[Unbxd_Recscore_Helper_Constants::EXCLUDE_CATEGORY], true);
|
439 |
+
if(!is_array($categoryExclusionConf)) {
|
440 |
+
return array();
|
441 |
+
}
|
442 |
+
$categoryToBeExcluded = array();
|
443 |
+
foreach($categoryExclusionConf as $eachExclusion) {
|
444 |
+
$categoryToBeExcluded[] = (string)$eachExclusion;
|
445 |
+
}
|
446 |
+
return $categoryToBeExcluded;
|
447 |
+
}
|
448 |
+
|
449 |
+
public function getConfigData($name) {
|
450 |
+
return (string)Mage::getConfig()->getNode("default/" . Unbxd_Recscore_Helper_Constants::UNBXD_CONFIG_PREFIX . "/" .$name);
|
451 |
+
}
|
452 |
+
}
|
453 |
+
?>
|
app/code/local/Unbxd/Recscore/Helper/Constants.php
ADDED
@@ -0,0 +1,172 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Unbxd_Recscore_Helper_Constants extends Mage_Core_Helper_Abstract {
|
3 |
+
|
4 |
+
const SITE_KEY = "site_key";
|
5 |
+
|
6 |
+
const API_KEY = "api_key";
|
7 |
+
|
8 |
+
const SECRET_KEY = "secret_key";
|
9 |
+
|
10 |
+
const USERNAME = "username";
|
11 |
+
|
12 |
+
const NEED_FEATURE_FIELD_UPDATION = "need_feature_field_updation";
|
13 |
+
|
14 |
+
const NEED_FEATURE_FIELD_UPDATION_FALSE = '0';
|
15 |
+
|
16 |
+
const NEED_FEATURE_FIELD_UPDATION_TRUE = '1';
|
17 |
+
|
18 |
+
const IS_CRON_ENABLED = "cron_enabled";
|
19 |
+
|
20 |
+
const SUBJECT = 'subject';
|
21 |
+
|
22 |
+
const CONTENT = 'content';
|
23 |
+
|
24 |
+
const CC = 'cc';
|
25 |
+
|
26 |
+
const FILTER = 'filter';
|
27 |
+
|
28 |
+
const FILTER_RANGE_DELIMITER = "|`";
|
29 |
+
|
30 |
+
const FEATURE_FIELD_PRICE = 'price';
|
31 |
+
|
32 |
+
const FEATURE_FIELD_IMAGE_URL = 'imageUrl';
|
33 |
+
|
34 |
+
const FEATURE_FIELD_PRODUCT_URL = 'productUrl';
|
35 |
+
|
36 |
+
const AUTOSUGGEST_STATUS = 'autosuggest_status';
|
37 |
+
|
38 |
+
const AUTOSUGGEST_SKIN = 'autosuggest_skin';
|
39 |
+
|
40 |
+
const AUTOSUGGEST_TEMPLATE = 'autosuggest_template';
|
41 |
+
|
42 |
+
const AUTOSUGGEST_MAX_SUGGESTION = 'autosuggest_max_suggestion';
|
43 |
+
|
44 |
+
const AUTOSUGGEST_TOP_QUERIES_STATUS = 'autosuggest_top_queries_status';
|
45 |
+
|
46 |
+
const AUTOSUGGEST_KEYWORD_STATUS = 'autosuggest_keyword_status';
|
47 |
+
|
48 |
+
const AUTOSUGGEST_SEARCH_SCOPE_STATUS = 'autosuggest_search_scope_status';
|
49 |
+
|
50 |
+
const AUTOSUGGEST_MAX_PRODUCTS = 'autosuggest_max_products';
|
51 |
+
|
52 |
+
const AUTOSUGGEST_POP_PRODUCT_HEADER = 'autosuggest_pop_product_header';
|
53 |
+
|
54 |
+
const AUTOSUGGEST_KEYWORD_HEADER = 'autosuggest_keyword_header';
|
55 |
+
|
56 |
+
const AUTOSUGGEST_TOPQUERY_HEADER = 'autosuggest_topquery_header';
|
57 |
+
|
58 |
+
const AUTOSUGGEST_SEARCH_SCOPE_HEADER = 'autosuggest_search_scope_header';
|
59 |
+
|
60 |
+
const AUTOSUGGEST_SHOW_CART = 'autosuggest_show_cart';
|
61 |
+
|
62 |
+
const AUTOSUGGEST_TEMPLATE_1COLUMN = '1column';
|
63 |
+
|
64 |
+
const AUTOSUGGEST_TEMPLATE_2COLUMN = '2column';
|
65 |
+
|
66 |
+
const AUTOSUGGEST_TEMPLATE_2COLUMN_LEFT = '2column-left';
|
67 |
+
|
68 |
+
const AUTOSUGGEST_TEMPLATE_2COLUMN_RIGHT = '2column-right';
|
69 |
+
|
70 |
+
const AUTOSUGGEST_TEMPLATE_1COLUMN_ADD_TO_CART = '1column-add-to-cart';
|
71 |
+
|
72 |
+
const AUTOSUGGEST_SIDECONTENT = 'autosuggest_sidecontent';
|
73 |
+
|
74 |
+
const AUTOSUGGEST_SIDECONTENT_RIGHT = 'right';
|
75 |
+
|
76 |
+
const AUTOSUGGEST_SIDECONTENT_LEFT = 'left';
|
77 |
+
|
78 |
+
const AUTOSUGGEST_INQUERY = "inFields";
|
79 |
+
|
80 |
+
const AUTOSUGGEST_KEYWORDSUGGESTION = "keywordSuggestions";
|
81 |
+
|
82 |
+
const AUTOSUGGEST_TOP_QUERY = "topQueries";
|
83 |
+
|
84 |
+
const AUTOSUGGEST_POP_PRODUCTS = "popularProducts";
|
85 |
+
|
86 |
+
const AUTOSUGGEST_MAIN_TEMPLATE = 'mainTpl';
|
87 |
+
|
88 |
+
const AUTOSUGGET_SIDE_TEMPLATE = 'sideTpl';
|
89 |
+
|
90 |
+
static $AUTOSUGGEST_SIDECONTENTS = array(self::AUTOSUGGEST_SIDECONTENT_RIGHT, self::AUTOSUGGEST_SIDECONTENT_LEFT);
|
91 |
+
|
92 |
+
static $AUTOSUGGEST_TEMPLATES = array(self::AUTOSUGGEST_TEMPLATE_1COLUMN, self::AUTOSUGGEST_TEMPLATE_2COLUMN);
|
93 |
+
|
94 |
+
const SEARCH_MOD_STATUS = 'search_mod_status';
|
95 |
+
|
96 |
+
const SEARCH_MOD_POWER = 'search_mod_power';
|
97 |
+
|
98 |
+
const SEARCH_HOSTED_STATUS = 'search_hosted_status';
|
99 |
+
|
100 |
+
const SEARCH_HOSTED_INT_STATUS = 'search_hosted_int_status';
|
101 |
+
|
102 |
+
const SEARCH_HOSTED_INT_COMPLETE = 'complete';
|
103 |
+
|
104 |
+
const SEARCH_HOSTED_INT_PROCESSING = 'processing';
|
105 |
+
|
106 |
+
const SEARCH_HOSTED_REDIRECT_URL = 'search_hosted_redirect_url';
|
107 |
+
|
108 |
+
const HOSTED_SEARCH_STATUS = 'hosted_search_status';
|
109 |
+
|
110 |
+
const UNBXD_CONFIG_PREFIX = 'unbxd/general';
|
111 |
+
|
112 |
+
const CONFIG_SEPARATOR = '/';
|
113 |
+
|
114 |
+
const SEARCH_POWER_LABEL = 'search';
|
115 |
+
|
116 |
+
const NAVIGATION_POWER_LABEL = 'navigation';
|
117 |
+
|
118 |
+
const ALL_POWER_LABEL = 'all';
|
119 |
+
|
120 |
+
const TRUE = "true";
|
121 |
+
|
122 |
+
const FALSE = "false";
|
123 |
+
|
124 |
+
const FIELD_NAME = 'field_name';
|
125 |
+
|
126 |
+
const FIELD_TYPE = 'field_type';
|
127 |
+
|
128 |
+
const FIELD_TYPE_STRING = 'string';
|
129 |
+
|
130 |
+
const FIELD_TYPE_IMAGE = 'image';
|
131 |
+
|
132 |
+
const FIELD_TYPE_NUMBER = 'number';
|
133 |
+
|
134 |
+
const FIELD_TYPE_DATE = 'date';
|
135 |
+
|
136 |
+
const UNBXD_DATATYPE_TEXT = "text";
|
137 |
+
|
138 |
+
const UNBXD_DATATYPE_LONGTEXT = "longText";
|
139 |
+
|
140 |
+
const UNBXD_DATATYPE_LINK = "link";
|
141 |
+
|
142 |
+
const UNBXD_DATATYPE_NUMBER = "number";
|
143 |
+
|
144 |
+
const UNBXD_DATATYPE_DECIMAL = "decimal";
|
145 |
+
|
146 |
+
const UNBXD_DATATYPE_DATE = "date";
|
147 |
+
|
148 |
+
const UNBXD_DATATYPE_BOOL = "bool";
|
149 |
+
|
150 |
+
const UNBXD_DATATYPE_SKU = "sku";
|
151 |
+
|
152 |
+
const FIELD_CONF = 'field_conf';
|
153 |
+
|
154 |
+
const INCLUDE_OUT_OF_STOCK = 'include_out_of_stock';
|
155 |
+
|
156 |
+
const INCLUDE_CHILD_PRODUCT = 'include_child_product';
|
157 |
+
|
158 |
+
const FEED_STATUS_UPLOADING = 'UPLOADING';
|
159 |
+
|
160 |
+
const FEED_STATUS_UPLOADED_SUCCESSFULLY = 'UPLOADED SUCCESSFULL';
|
161 |
+
|
162 |
+
const FEED_STATUS_UPLOADED_FAILED = 'FAILED';
|
163 |
+
|
164 |
+
const EXCLUDE_CATEGORY = 'exclude_category';
|
165 |
+
|
166 |
+
const AUTH_TOKEN = 'auth_token';
|
167 |
+
|
168 |
+
const AUTH_REQUEST_PARAM = 'auth';
|
169 |
+
|
170 |
+
const LAST_UPLOAD_TIME = 'lastUpload';
|
171 |
+
|
172 |
+
}
|
app/code/local/Unbxd/Recscore/Helper/Data.php
ADDED
@@ -0,0 +1,230 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
+
* @author Unbxd Software Pvt. Ltd
|
7 |
+
*/
|
8 |
+
class Unbxd_Recscore_Helper_Data extends Mage_Core_Helper_Abstract {
|
9 |
+
|
10 |
+
const LOG_FILE = "unbxd_recscore.log";
|
11 |
+
|
12 |
+
/**
|
13 |
+
* array field which stores the config
|
14 |
+
*
|
15 |
+
* @var array
|
16 |
+
*/
|
17 |
+
public $engineConfigData = NULL;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Method to log
|
21 |
+
*
|
22 |
+
* @param int $level
|
23 |
+
* @param string $message
|
24 |
+
*/
|
25 |
+
public function log($level, $message) {
|
26 |
+
Mage::log($message, $level, static::LOG_FILE, true);
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Returns search engine config data.
|
31 |
+
*
|
32 |
+
* @param string $prefix
|
33 |
+
* @param mixed $store
|
34 |
+
* @return array
|
35 |
+
*/
|
36 |
+
public function getEngineConfigData($prefix = '', Mage_Core_Model_Website $website = null, $original = false)
|
37 |
+
{
|
38 |
+
if(is_null($website)) {
|
39 |
+
$website = Mage::app()->getWebsite();
|
40 |
+
}
|
41 |
+
$originalConfig = array();
|
42 |
+
if($original) {
|
43 |
+
$originalConfig = $this->getOriginalValue($prefix, $website);
|
44 |
+
}
|
45 |
+
if(is_null($this->engineConfigData)) {
|
46 |
+
$this->engineConfigData = Mage::getConfig()
|
47 |
+
->getNode(Unbxd_Recscore_Helper_Constants::UNBXD_CONFIG_PREFIX, 'websites',
|
48 |
+
(int)$website->getWebsiteId());
|
49 |
+
}
|
50 |
+
|
51 |
+
if (!$this->engineConfigData) {
|
52 |
+
return false;
|
53 |
+
}
|
54 |
+
if ($this->engineConfigData->hasChildren()) {
|
55 |
+
$value = array();
|
56 |
+
foreach ($this->engineConfigData->asArray() as $k=>$v) {
|
57 |
+
if ($prefix != '' && preg_match("#^{$prefix}(.*)#", $k, $matches) || $prefix == '') {
|
58 |
+
$value[$k] = $v;
|
59 |
+
}
|
60 |
+
}
|
61 |
+
} else {
|
62 |
+
$value = (string)$this->engineConfigData;
|
63 |
+
}
|
64 |
+
return array_merge($value,$originalConfig);
|
65 |
+
|
66 |
+
}
|
67 |
+
|
68 |
+
public function getOriginalValue($prefix = '', Mage_Core_Model_Website $website) {
|
69 |
+
$configDataCollection = Mage::getModel('core/config_data')
|
70 |
+
->getCollection()
|
71 |
+
->addScopeFilter('websites', (int)$website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::UNBXD_CONFIG_PREFIX)
|
72 |
+
->load();
|
73 |
+
$value =array();
|
74 |
+
foreach($configDataCollection as $data) {
|
75 |
+
$path = $data->getPath();
|
76 |
+
if (substr($path, 0, strlen(Unbxd_Recscore_Helper_Constants::UNBXD_CONFIG_PREFIX)) == Unbxd_Recscore_Helper_Constants::UNBXD_CONFIG_PREFIX) {
|
77 |
+
$path = substr($path, strlen(Unbxd_Recscore_Helper_Constants::UNBXD_CONFIG_PREFIX) +1);
|
78 |
+
}
|
79 |
+
if ($prefix != '' && preg_match("#^{$prefix}(.*)#", $path, $matches)) {
|
80 |
+
$value[$path] = $data->getValue();
|
81 |
+
}
|
82 |
+
}
|
83 |
+
return $value;
|
84 |
+
}
|
85 |
+
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Method to validate the config save allowed
|
89 |
+
* @param Mage_Core_Model_Website $website
|
90 |
+
* @param $configName
|
91 |
+
* @param $origData
|
92 |
+
* @return string | null
|
93 |
+
*/
|
94 |
+
public function isConfigSaveAllowed(Mage_Core_Model_Website $website, $configName, $value, $origData = true) {
|
95 |
+
if(is_null($value) || is_array($value) || is_object($value)){
|
96 |
+
return "Invalid Value given";
|
97 |
+
}
|
98 |
+
if($configName == Unbxd_Recscore_Helper_Constants::SEARCH_HOSTED_STATUS && $value == Unbxd_Recscore_Helper_Constants::TRUE && $this->isConfigTrue($website, Unbxd_Recscore_Helper_Constants::SEARCH_MOD_STATUS, $origData)) {
|
99 |
+
return "Module search is on";
|
100 |
+
}
|
101 |
+
if($configName == Unbxd_Recscore_Helper_Constants::SEARCH_MOD_STATUS && $value == Unbxd_Recscore_Helper_Constants::TRUE && $this->isConfigTrue($website, Unbxd_Recscore_Helper_Constants::SEARCH_HOSTED_STATUS, $origData)) {
|
102 |
+
return "Hosted search is on";
|
103 |
+
}
|
104 |
+
|
105 |
+
return null;
|
106 |
+
}
|
107 |
+
|
108 |
+
|
109 |
+
/**
|
110 |
+
* @param Mage_Core_Model_Website $website
|
111 |
+
* @param $data
|
112 |
+
* @return void
|
113 |
+
*/
|
114 |
+
public function saveConfig(Mage_Core_Model_Website $website, $data) {
|
115 |
+
foreach($data as $key => $value) {
|
116 |
+
if(!is_null($this->isConfigSaveAllowed($website, $key, $value, true)))
|
117 |
+
continue;
|
118 |
+
Mage::getConfig()
|
119 |
+
->saveConfig(Unbxd_Recscore_Helper_Constants::UNBXD_CONFIG_PREFIX .
|
120 |
+
Unbxd_Recscore_Helper_Constants::CONFIG_SEPARATOR .
|
121 |
+
$key,
|
122 |
+
(string)$value,
|
123 |
+
'websites',
|
124 |
+
(int)$website->getWebsiteId());
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
public function isConfigTrue(Mage_Core_Model_Website $website, $configName, $origData = false) {
|
129 |
+
$configData = $this->getEngineConfigData($configName, $website, $origData);
|
130 |
+
return array_key_exists($configName, $configData) &&
|
131 |
+
$configData[$configName] == Unbxd_Recscore_Helper_Constants::TRUE;
|
132 |
+
}
|
133 |
+
|
134 |
+
/*
|
135 |
+
* returns the unbxd site name
|
136 |
+
* @return String
|
137 |
+
*/
|
138 |
+
public function getSiteName(){
|
139 |
+
$siteKeyLabel = Unbxd_Recscore_Helper_Constants::SITE_KEY;
|
140 |
+
$config = $this->getEngineConfigData($siteKeyLabel);
|
141 |
+
if(array_key_exists($siteKeyLabel, $config) && $config[$siteKeyLabel] != "")
|
142 |
+
return $config[$siteKeyLabel];
|
143 |
+
else {
|
144 |
+
$siteKey = Mage::getResourceModel('unbxd_recscore/config')
|
145 |
+
->getValue(Mage::app()->getWebsite()->getWebsiteId(),
|
146 |
+
$siteKeyLabel);
|
147 |
+
if(isset($siteKey) && $siteKey != ''){
|
148 |
+
$this->saveConfig(Mage::app()->getWebsite(),
|
149 |
+
array($siteKeyLabel => $siteKey));
|
150 |
+
return $siteKey;
|
151 |
+
} else {
|
152 |
+
if(Mage::getIsDeveloperMode()) {
|
153 |
+
Mage::throwException("Unbxd site key is empty");
|
154 |
+
} else {
|
155 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR, 'Unbxd site key is not set');
|
156 |
+
return null;
|
157 |
+
}
|
158 |
+
}
|
159 |
+
}
|
160 |
+
}
|
161 |
+
|
162 |
+
/*
|
163 |
+
* returns the unbxd api Key
|
164 |
+
* @return String
|
165 |
+
*/
|
166 |
+
public function getApiKey(){
|
167 |
+
$apiKeyLabel = Unbxd_Recscore_Helper_Constants::API_KEY;
|
168 |
+
$config = $this->getEngineConfigData($apiKeyLabel);
|
169 |
+
if(array_key_exists($apiKeyLabel, $config) && $config[$apiKeyLabel] != "")
|
170 |
+
return $config[$apiKeyLabel];
|
171 |
+
else {
|
172 |
+
$apiKey = Mage::getResourceModel('unbxd_recscore/config')
|
173 |
+
->getValue(Mage::app()->getWebsite()->getWebsiteId(), $apiKeyLabel);
|
174 |
+
if(isset($apiKey) && $apiKey != ''){
|
175 |
+
$this->saveConfig(Mage::app()->getWebsite(),
|
176 |
+
array($apiKeyLabel => $apiKey));
|
177 |
+
return $apiKey;
|
178 |
+
} else {
|
179 |
+
if(Mage::getIsDeveloperMode()) {
|
180 |
+
Mage::throwException("Unbxd api key is empty");
|
181 |
+
} else {
|
182 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR, 'Unbxd Api key is not set');
|
183 |
+
return null;
|
184 |
+
}
|
185 |
+
}
|
186 |
+
}
|
187 |
+
}
|
188 |
+
|
189 |
+
/*
|
190 |
+
* decides which module should be given more priority based on the version
|
191 |
+
* @return boolean
|
192 |
+
*/
|
193 |
+
public function isExecutable() {
|
194 |
+
if(Mage::helper('core')->isModuleEnabled('Unbxd_Searchcore')){
|
195 |
+
$otherModuleVersion = (float)Mage::getConfig()->getModuleConfig("Unbxd_Searchcore")->version;
|
196 |
+
$currentModuleVersion = (float)Mage::getConfig()->getModuleConfig("Unbxd_Recscore")->version;
|
197 |
+
if(version_compare($otherModuleVersion, $currentModuleVersion) > 0) {
|
198 |
+
return false;
|
199 |
+
} else if($this->version_compare($otherModuleVersion, $currentModuleVersion) == 0) {
|
200 |
+
return true;
|
201 |
+
}
|
202 |
+
}
|
203 |
+
return true;
|
204 |
+
}
|
205 |
+
|
206 |
+
//Compare two sets of versions, where major/minor/etc. releases are separated by dots.
|
207 |
+
//Returns 0 if both are equal, 1 if A > B, and -1 if B < A.
|
208 |
+
public function version_compare($a, $b)
|
209 |
+
{
|
210 |
+
$a = explode(".", rtrim($a, ".0")); //Split version into pieces and remove trailing .0
|
211 |
+
$b = explode(".", rtrim($b, ".0")); //Split version into pieces and remove trailing .0
|
212 |
+
foreach ($a as $depth => $aVal)
|
213 |
+
{ //Iterate over each piece of A
|
214 |
+
if (isset($b[$depth]))
|
215 |
+
{ //If B matches A to this depth, compare the values
|
216 |
+
if ($aVal > $b[$depth]) return 1; //Return A > B
|
217 |
+
else if ($aVal < $b[$depth]) return -1; //Return B > A
|
218 |
+
//An equal result is inconclusive at this point
|
219 |
+
}
|
220 |
+
else
|
221 |
+
{ //If B does not match A to this depth, then A comes after B in sort order
|
222 |
+
return 1; //so return A > B
|
223 |
+
}
|
224 |
+
}
|
225 |
+
//At this point, we know that to the depth that A and B extend to, they are equivalent.
|
226 |
+
//Either the loop ended because A is shorter than B, or both are equal.
|
227 |
+
return (count($a) < count($b)) ? -1 : 0;
|
228 |
+
}
|
229 |
+
}
|
230 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Helper/Feedhelper.php
RENAMED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class
|
4 |
|
5 |
var $categoryMap;
|
6 |
|
@@ -10,6 +10,8 @@ class Unbxd_Recommendation_Helper_Feedhelper extends Unbxd_Recommendation_Helper
|
|
10 |
|
11 |
var $_rootCategoryIds = array();
|
12 |
|
|
|
|
|
13 |
protected function array_match($needle, $haystack) {
|
14 |
if(!is_array($needle)) {
|
15 |
return in_array($needle, $haystack);
|
@@ -36,7 +38,6 @@ class Unbxd_Recommendation_Helper_Feedhelper extends Unbxd_Recommendation_Helper
|
|
36 |
$this->categoryMap[$category_id] = $category;
|
37 |
$parentCategories = $category->getParentCategories();
|
38 |
foreach($parentCategories as $parentCategory) {
|
39 |
-
$parentCategory = Mage::getModel('catalog/category')->load($parentCategory->getId());
|
40 |
$this->categoryMap[$parentCategory->getId()] = $parentCategory;
|
41 |
}
|
42 |
return $this->categoryMap[$category_id];
|
@@ -82,16 +83,23 @@ class Unbxd_Recommendation_Helper_Feedhelper extends Unbxd_Recommendation_Helper
|
|
82 |
$attributes = Mage::getSingleton('eav/config')
|
83 |
->getEntityType(Mage_Catalog_Model_Product::ENTITY)->getAttributeCollection();
|
84 |
foreach($attributes as $attribute){
|
85 |
-
$this->attributeToTypeMap[$attribute->getAttributeCode()] = $attribute->
|
86 |
}
|
87 |
return $this->attributeToTypeMap;
|
88 |
}
|
89 |
}
|
|
|
|
|
|
|
|
|
|
|
90 |
|
91 |
/**
|
92 |
* method to get field type of the field
|
93 |
-
|
94 |
-
|
|
|
|
|
95 |
$fieldMap = $this->getAttributeMapping();
|
96 |
if(array_key_exists( $attributeName, $fieldMap)){
|
97 |
return $fieldMap[$attributeName];
|
@@ -101,21 +109,23 @@ class Unbxd_Recommendation_Helper_Feedhelper extends Unbxd_Recommendation_Helper
|
|
101 |
}
|
102 |
|
103 |
/*
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
|
|
|
|
108 |
public function isMultiSelect($attributeName = ""){
|
109 |
-
if($attributeName == "status" || $attributeName == "visibility" ){
|
110 |
return false;
|
111 |
}
|
112 |
if($this->getFieldType($attributeName) == "select" ||
|
113 |
$this->getFieldType($attributeName) == "multiselect" ||
|
114 |
-
$attributeName ==
|
115 |
-
$attributeName ==
|
116 |
-
$attributeName ==
|
117 |
-
$attributeName ==
|
118 |
-
$attributeName ==
|
119 |
return true;
|
120 |
}
|
121 |
return false;
|
@@ -138,7 +148,7 @@ class Unbxd_Recommendation_Helper_Feedhelper extends Unbxd_Recommendation_Helper
|
|
138 |
{
|
139 |
$categories = array();
|
140 |
|
141 |
-
/** @var $stores
|
142 |
$stores = Mage::app()->getStores();
|
143 |
|
144 |
foreach ($stores as $store) {
|
@@ -180,4 +190,16 @@ class Unbxd_Recommendation_Helper_Feedhelper extends Unbxd_Recommendation_Helper
|
|
180 |
return $productId;
|
181 |
}
|
182 |
|
183 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
|
3 |
+
class Unbxd_Recscore_Helper_Feedhelper extends Unbxd_Recscore_Helper_Data {
|
4 |
|
5 |
var $categoryMap;
|
6 |
|
10 |
|
11 |
var $_rootCategoryIds = array();
|
12 |
|
13 |
+
var $_filters;
|
14 |
+
|
15 |
protected function array_match($needle, $haystack) {
|
16 |
if(!is_array($needle)) {
|
17 |
return in_array($needle, $haystack);
|
38 |
$this->categoryMap[$category_id] = $category;
|
39 |
$parentCategories = $category->getParentCategories();
|
40 |
foreach($parentCategories as $parentCategory) {
|
|
|
41 |
$this->categoryMap[$parentCategory->getId()] = $parentCategory;
|
42 |
}
|
43 |
return $this->categoryMap[$category_id];
|
83 |
$attributes = Mage::getSingleton('eav/config')
|
84 |
->getEntityType(Mage_Catalog_Model_Product::ENTITY)->getAttributeCollection();
|
85 |
foreach($attributes as $attribute){
|
86 |
+
$this->attributeToTypeMap[$attribute->getAttributeCode()] = $attribute->getFrontendInput();
|
87 |
}
|
88 |
return $this->attributeToTypeMap;
|
89 |
}
|
90 |
}
|
91 |
+
|
92 |
+
public function isAttributePresent($attributeName) {
|
93 |
+
$fieldMap = $this->getAttributeMapping();
|
94 |
+
return array_key_exists( $attributeName, $fieldMap);
|
95 |
+
}
|
96 |
|
97 |
/**
|
98 |
* method to get field type of the field
|
99 |
+
* @param $attributeName
|
100 |
+
* @return string
|
101 |
+
*/
|
102 |
+
public function getFieldType($attributeName){
|
103 |
$fieldMap = $this->getAttributeMapping();
|
104 |
if(array_key_exists( $attributeName, $fieldMap)){
|
105 |
return $fieldMap[$attributeName];
|
109 |
}
|
110 |
|
111 |
/*
|
112 |
+
* function to check whether the field is a multiSelect/select or not,
|
113 |
+
* This is optimized method, where it doesn't make a database call to get fieldType
|
114 |
+
* where it fetches from the local variable, which holds the information of field to fieldType mapping
|
115 |
+
* @param string $attributeName
|
116 |
+
* @return bool
|
117 |
+
*/
|
118 |
public function isMultiSelect($attributeName = ""){
|
119 |
+
if($attributeName == "status" || $attributeName == "visibility" || $attributeName == "entity_id" ){
|
120 |
return false;
|
121 |
}
|
122 |
if($this->getFieldType($attributeName) == "select" ||
|
123 |
$this->getFieldType($attributeName) == "multiselect" ||
|
124 |
+
$attributeName == Unbxd_Recscore_Model_Resource_Field::CATEGORY_IDS ||
|
125 |
+
$attributeName == Unbxd_Recscore_Model_Resource_Field::CATEGORY_IDS_NAME ||
|
126 |
+
$attributeName == Unbxd_Recscore_Model_Resource_Field::CAT_LEVEL_1_NAME ||
|
127 |
+
$attributeName == Unbxd_Recscore_Model_Resource_Field::CAT_LEVEL_2_NAME ||
|
128 |
+
$attributeName == Unbxd_Recscore_Model_Resource_Field::CAT_LEVEL_3_NAME){
|
129 |
return true;
|
130 |
}
|
131 |
return false;
|
148 |
{
|
149 |
$categories = array();
|
150 |
|
151 |
+
/** @var $stores Mage_Recscore_Model_Store[] */
|
152 |
$stores = Mage::app()->getStores();
|
153 |
|
154 |
foreach ($stores as $store) {
|
190 |
return $productId;
|
191 |
}
|
192 |
|
193 |
+
/**
|
194 |
+
* Method to get the filters that need to be excluded in the website
|
195 |
+
* @param Mage_Core_Model_Website $website
|
196 |
+
* @return array
|
197 |
+
*/
|
198 |
+
public function getFilters(Mage_Core_Model_Website $website) {
|
199 |
+
if(!isset($this->_filters)) {
|
200 |
+
$this->_filters = Mage::getResourceModel('unbxd_recscore/config')->getFilters($website);
|
201 |
+
}
|
202 |
+
return $this->_filters;
|
203 |
+
}
|
204 |
+
|
205 |
+
}
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Request.php
RENAMED
@@ -4,10 +4,10 @@
|
|
4 |
* Class to make the request to the Unbxd api
|
5 |
*
|
6 |
* @category Unbxd
|
7 |
-
* @package
|
8 |
* @author Unbxd Software Pvt. Ltd
|
9 |
*/
|
10 |
-
class
|
11 |
|
12 |
/**
|
13 |
* end url where the request is firing
|
@@ -173,22 +173,22 @@ class Unbxd_Recommendation_Model_Api_Request extends Varien_Object {
|
|
173 |
/**
|
174 |
* Method which will make the api call
|
175 |
*
|
176 |
-
* @return false|
|
177 |
*/
|
178 |
public function execute(){
|
179 |
try {
|
180 |
$request = $this->getRestClient();
|
181 |
$raw_response = $request->request();
|
182 |
} catch (Zend_Http_Client_Exception $e) {
|
183 |
-
Mage::helper('
|
184 |
sprintf($this->getUrl() ." failed because HTTP error: %s", $e->getMessage()));
|
185 |
-
return Mage::getModel('
|
186 |
-
->setErrorMessage(
|
187 |
}
|
188 |
-
return Mage::getModel("
|
189 |
->setJsonResponse($this->isJsonResponse())
|
190 |
->setResponse($raw_response, $this->getUrl());
|
191 |
-
|
192 |
|
193 |
/**
|
194 |
* Method to return string
|
@@ -208,4 +208,4 @@ class Unbxd_Recommendation_Model_Api_Request extends Varien_Object {
|
|
208 |
|
209 |
}
|
210 |
|
211 |
-
?>
|
4 |
* Class to make the request to the Unbxd api
|
5 |
*
|
6 |
* @category Unbxd
|
7 |
+
* @package Unbxd_Recscore
|
8 |
* @author Unbxd Software Pvt. Ltd
|
9 |
*/
|
10 |
+
class Unbxd_Recscore_Model_Api_Request extends Varien_Object {
|
11 |
|
12 |
/**
|
13 |
* end url where the request is firing
|
173 |
/**
|
174 |
* Method which will make the api call
|
175 |
*
|
176 |
+
* @return false|Unbxd_Recscore_Model_Api_Response
|
177 |
*/
|
178 |
public function execute(){
|
179 |
try {
|
180 |
$request = $this->getRestClient();
|
181 |
$raw_response = $request->request();
|
182 |
} catch (Zend_Http_Client_Exception $e) {
|
183 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR,
|
184 |
sprintf($this->getUrl() ." failed because HTTP error: %s", $e->getMessage()));
|
185 |
+
return Mage::getModel('unbxd_recscore/api_response')
|
186 |
+
->setErrorMessage(Unbxd_Recscore_Model_Api_Response::SERVER_ERR);
|
187 |
}
|
188 |
+
return Mage::getModel("unbxd_recscore/api_response")
|
189 |
->setJsonResponse($this->isJsonResponse())
|
190 |
->setResponse($raw_response, $this->getUrl());
|
191 |
+
}
|
192 |
|
193 |
/**
|
194 |
* Method to return string
|
208 |
|
209 |
}
|
210 |
|
211 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Response.php
RENAMED
@@ -2,10 +2,10 @@
|
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
-
* @package
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
-
class
|
9 |
|
10 |
const SERVER_ERR = 'Unable to reach unbxd server, Please contact support';
|
11 |
|
@@ -32,6 +32,7 @@ class Unbxd_Recommendation_Model_Api_Response extends Varien_Object {
|
|
32 |
protected $response;
|
33 |
|
34 |
public function isJsonResponse() {
|
|
|
35 |
return $this->jsonResponse;
|
36 |
}
|
37 |
|
@@ -128,16 +129,16 @@ class Unbxd_Recommendation_Model_Api_Response extends Varien_Object {
|
|
128 |
$this->setMessage("success");
|
129 |
$body = $response->getBody();
|
130 |
if(!$this->isJsonResponse()) {
|
131 |
-
Mage::helper('
|
132 |
$this->setData("body", $body);
|
133 |
return $this;
|
134 |
}
|
135 |
$this->response = json_decode($body, true);
|
136 |
-
Mage::helper('
|
137 |
if($this->response == false || !is_array($this->response) || sizeof($this->response) == 0) {
|
138 |
$this->success = false;
|
139 |
$this->setMessage("Invalid Authorization credentials");
|
140 |
-
Mage::helper('
|
141 |
return $this;
|
142 |
}
|
143 |
} else {
|
@@ -152,7 +153,7 @@ class Unbxd_Recommendation_Model_Api_Response extends Varien_Object {
|
|
152 |
$message = "Unbxd Unexpected error, Please contact support";
|
153 |
$this->setMessage($message);
|
154 |
}
|
155 |
-
Mage::helper('
|
156 |
->log(Zend_Log::ERR, $url . " api failed cos ". $response->getStatus() . ":" . $message);
|
157 |
}
|
158 |
return $this;
|
@@ -160,4 +161,4 @@ class Unbxd_Recommendation_Model_Api_Response extends Varien_Object {
|
|
160 |
|
161 |
|
162 |
}
|
163 |
-
?>
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
+
class Unbxd_Recscore_Model_Api_Response extends Varien_Object {
|
9 |
|
10 |
const SERVER_ERR = 'Unable to reach unbxd server, Please contact support';
|
11 |
|
32 |
protected $response;
|
33 |
|
34 |
public function isJsonResponse() {
|
35 |
+
|
36 |
return $this->jsonResponse;
|
37 |
}
|
38 |
|
129 |
$this->setMessage("success");
|
130 |
$body = $response->getBody();
|
131 |
if(!$this->isJsonResponse()) {
|
132 |
+
#Mage::helper('unbxd_recscore')->log(Zend_Log::DEBUG, "response from the " . $url . " is successful");
|
133 |
$this->setData("body", $body);
|
134 |
return $this;
|
135 |
}
|
136 |
$this->response = json_decode($body, true);
|
137 |
+
#Mage::helper('unbxd_recscore')->log(Zend_Log::DEBUG, "response from the " . $url . " is " . $body);
|
138 |
if($this->response == false || !is_array($this->response) || sizeof($this->response) == 0) {
|
139 |
$this->success = false;
|
140 |
$this->setMessage("Invalid Authorization credentials");
|
141 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR, $url . " api failed cos ". $this->getMessage());
|
142 |
return $this;
|
143 |
}
|
144 |
} else {
|
153 |
$message = "Unbxd Unexpected error, Please contact support";
|
154 |
$this->setMessage($message);
|
155 |
}
|
156 |
+
Mage::helper('unbxd_recscore')
|
157 |
->log(Zend_Log::ERR, $url . " api failed cos ". $response->getStatus() . ":" . $message);
|
158 |
}
|
159 |
return $this;
|
161 |
|
162 |
|
163 |
}
|
164 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task.php
RENAMED
@@ -2,18 +2,16 @@
|
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
-
* @package
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
-
abstract class
|
9 |
|
10 |
-
|
11 |
|
12 |
-
|
13 |
|
14 |
-
|
15 |
-
|
16 |
-
const RECOMMENDATION_API = "https://recommendations.unbxdapi.com/";
|
17 |
|
18 |
const TIMEOUT = 30;
|
19 |
|
@@ -34,6 +32,9 @@ abstract class Unbxd_Recommendation_Model_Api_Task extends Varien_Object {
|
|
34 |
public function __construct() {
|
35 |
$this->preparationSuccessful = false;
|
36 |
$this->errors = array();
|
|
|
|
|
|
|
37 |
}
|
38 |
|
39 |
/**
|
@@ -47,22 +48,22 @@ abstract class Unbxd_Recommendation_Model_Api_Task extends Varien_Object {
|
|
47 |
|
48 |
abstract public function prepare(Mage_Core_Model_Website $website);
|
49 |
|
50 |
-
abstract protected function postProcess(
|
51 |
|
52 |
/**
|
53 |
* Method which will make the api call
|
54 |
*
|
55 |
-
* @return false|
|
56 |
*/
|
57 |
public function process() {
|
58 |
if(!$this->preparationSuccessful) {
|
59 |
-
Mage::helper("
|
60 |
->log(Zend_Log::ERR,
|
61 |
sizeof($this->errors == 0)?"prepare method not called":json_encode($this->errors));
|
62 |
-
return Mage::getModel("
|
63 |
->setErrors(sizeof($this->errors) == 0?array("message" => "prepare method not called"):$this->errors);
|
64 |
}
|
65 |
-
$request = Mage::getModel("
|
66 |
->setUrl(static::$url)
|
67 |
->setMethod(static::method)
|
68 |
->setHeaders($this->headers)
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
+
abstract class Unbxd_Recscore_Model_Api_Task extends Varien_Object {
|
9 |
|
10 |
+
static $PLATFORM_API_BASE_URL = "http://accounts.unbxdapi.com/admin/";
|
11 |
|
12 |
+
static $RECOMMENDATION_SETTINGS_URL = "http://starwreck.unbxdapi.com/";
|
13 |
|
14 |
+
static $TRACKER_URL = "http://tracker.unbxdapi.com/";
|
|
|
|
|
15 |
|
16 |
const TIMEOUT = 30;
|
17 |
|
32 |
public function __construct() {
|
33 |
$this->preparationSuccessful = false;
|
34 |
$this->errors = array();
|
35 |
+
static::$PLATFORM_API_BASE_URL = Mage::helper('unbxd_recscore/confighelper')->getConfigData('platform_url');
|
36 |
+
static::$RECOMMENDATION_SETTINGS_URL = Mage::helper('unbxd_recscore/confighelper')->getConfigData('service_url');
|
37 |
+
static::$TRACKER_URL = Mage::helper('unbxd_recscore/confighelper')->getConfigData('tracker_url');
|
38 |
}
|
39 |
|
40 |
/**
|
48 |
|
49 |
abstract public function prepare(Mage_Core_Model_Website $website);
|
50 |
|
51 |
+
abstract protected function postProcess(Unbxd_Recscore_Model_Api_Response $response);
|
52 |
|
53 |
/**
|
54 |
* Method which will make the api call
|
55 |
*
|
56 |
+
* @return false|Unbxd_Recscore_Model_Api_Response
|
57 |
*/
|
58 |
public function process() {
|
59 |
if(!$this->preparationSuccessful) {
|
60 |
+
Mage::helper("unbxd_recscore")
|
61 |
->log(Zend_Log::ERR,
|
62 |
sizeof($this->errors == 0)?"prepare method not called":json_encode($this->errors));
|
63 |
+
return Mage::getModel("unbxd_recscore/api_response")
|
64 |
->setErrors(sizeof($this->errors) == 0?array("message" => "prepare method not called"):$this->errors);
|
65 |
}
|
66 |
+
$request = Mage::getModel("unbxd_recscore/api_request")
|
67 |
->setUrl(static::$url)
|
68 |
->setMethod(static::method)
|
69 |
->setHeaders($this->headers)
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Analyticsimpression.php
RENAMED
@@ -2,10 +2,10 @@
|
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
-
* @package
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
-
class
|
9 |
{
|
10 |
|
11 |
const method = Zend_Http_Client::GET;
|
@@ -17,21 +17,21 @@ class Unbxd_Recommendation_Model_Api_Task_Analyticsimpression extends Unbxd_Reco
|
|
17 |
return $this;
|
18 |
}
|
19 |
|
20 |
-
protected function prepareUrl($website) {
|
21 |
-
$siteKey = Mage::getResourceModel("
|
22 |
-
->getValue($website->getWebsiteId(),
|
23 |
if(is_null($siteKey)) {
|
24 |
$this->preparationSuccessful = false;
|
25 |
$this->errors["message"] = "Site key not set";
|
26 |
return;
|
27 |
}
|
28 |
|
29 |
-
static::$url = static
|
30 |
}
|
31 |
|
32 |
-
protected function prepareHeaders($website) {
|
33 |
-
$username = Mage::getResourceModel("
|
34 |
-
->getValue($website->getWebsiteId(),
|
35 |
if(is_null($username)) {
|
36 |
$this->preparationSuccessful = false;
|
37 |
$this->errors["message"] = "Secret key not set";
|
@@ -41,9 +41,9 @@ class Unbxd_Recommendation_Model_Api_Task_Analyticsimpression extends Unbxd_Reco
|
|
41 |
$this->headers["authorization"] = "Basic " . base64_encode($username . ':$uauth');
|
42 |
}
|
43 |
|
44 |
-
protected function postProcess(
|
45 |
return $response;
|
46 |
}
|
47 |
|
48 |
}
|
49 |
-
?>
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
+
class Unbxd_Recscore_Model_Api_Task_Analyticsimpression extends Unbxd_Recscore_Model_Api_Task
|
9 |
{
|
10 |
|
11 |
const method = Zend_Http_Client::GET;
|
17 |
return $this;
|
18 |
}
|
19 |
|
20 |
+
protected function prepareUrl(Mage_Core_Model_Website $website) {
|
21 |
+
$siteKey = Mage::getResourceModel("unbxd_recscore/config")
|
22 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SITE_KEY);
|
23 |
if(is_null($siteKey)) {
|
24 |
$this->preparationSuccessful = false;
|
25 |
$this->errors["message"] = "Site key not set";
|
26 |
return;
|
27 |
}
|
28 |
|
29 |
+
static::$url = static::$RECOMMENDATION_SETTINGS_URL . "dashboard/analytics/integrationDetails/" . $siteKey;
|
30 |
}
|
31 |
|
32 |
+
protected function prepareHeaders(Mage_Core_Model_Website $website) {
|
33 |
+
$username = Mage::getResourceModel("unbxd_recscore/config")
|
34 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::USERNAME);
|
35 |
if(is_null($username)) {
|
36 |
$this->preparationSuccessful = false;
|
37 |
$this->errors["message"] = "Secret key not set";
|
41 |
$this->headers["authorization"] = "Basic " . base64_encode($username . ':$uauth');
|
42 |
}
|
43 |
|
44 |
+
protected function postProcess(Unbxd_Recscore_Model_Api_Response $response) {
|
45 |
return $response;
|
46 |
}
|
47 |
|
48 |
}
|
49 |
+
?>
|
app/code/local/Unbxd/Recscore/Model/Api/Task/Autosuggestindex.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
+
* @author Unbxd Software Pvt. Ltd
|
7 |
+
*/
|
8 |
+
class Unbxd_Recscore_Model_Api_Task_Autosuggestindex extends Unbxd_Recscore_Model_Api_Task {
|
9 |
+
|
10 |
+
const method = Zend_Http_Client::POST;
|
11 |
+
|
12 |
+
const STATUS = 'status';
|
13 |
+
|
14 |
+
const MESSAGE = 'message';
|
15 |
+
|
16 |
+
public function prepare(Mage_Core_Model_Website $website) {
|
17 |
+
$this->preparationSuccessful = true;
|
18 |
+
$this->prepareUrl($website);
|
19 |
+
$this->prepareHeaders($website);
|
20 |
+
return $this;
|
21 |
+
}
|
22 |
+
|
23 |
+
protected function prepareUrl(Mage_Core_Model_Website $website) {
|
24 |
+
$siteKey = Mage::getResourceModel("unbxd_recscore/config")
|
25 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SITE_KEY);
|
26 |
+
if(is_null($siteKey)) {
|
27 |
+
$this->preparationSuccessful = false;
|
28 |
+
$this->errors["message"] = "Site key not set";
|
29 |
+
return;
|
30 |
+
}
|
31 |
+
|
32 |
+
static::$url = static::$PLATFORM_API_BASE_URL . $siteKey . "/build-autosuggest";
|
33 |
+
}
|
34 |
+
|
35 |
+
protected function prepareHeaders(Mage_Core_Model_Website $website) {
|
36 |
+
$apiKey = Mage::getResourceModel("unbxd_recscore/config")
|
37 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::API_KEY);
|
38 |
+
$secretKey = Mage::getResourceModel("unbxd_recscore/config")
|
39 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SECRET_KEY);
|
40 |
+
if(is_null($secretKey) || is_null($apiKey)) {
|
41 |
+
$this->preparationSuccessful = false;
|
42 |
+
$this->errors["message"] = "Site key not set";
|
43 |
+
return;
|
44 |
+
}
|
45 |
+
$this->headers["Authorization"] = base64_encode($apiKey.":" .$secretKey);
|
46 |
+
}
|
47 |
+
|
48 |
+
protected function postProcess(Unbxd_Recscore_Model_Api_Response $response) {
|
49 |
+
return $response;
|
50 |
+
}
|
51 |
+
}
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Feeddetails.php
RENAMED
@@ -2,10 +2,10 @@
|
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
-
* @package
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
-
class
|
9 |
|
10 |
const method = Zend_Http_Client::GET;
|
11 |
|
@@ -25,22 +25,22 @@ class Unbxd_Recommendation_Model_Api_Task_Feeddetails extends Unbxd_Recommendati
|
|
25 |
}
|
26 |
|
27 |
protected function prepareUrl(Mage_Core_Model_Website $website) {
|
28 |
-
$siteKey = Mage::getResourceModel("
|
29 |
-
->getValue($website->getWebsiteId(),
|
30 |
if(is_null($siteKey)) {
|
31 |
$this->preparationSuccessful = false;
|
32 |
$this->errors["message"] = "Site key not set";
|
33 |
return;
|
34 |
}
|
35 |
|
36 |
-
static::$url =
|
37 |
}
|
38 |
|
39 |
protected function prepareHeaders(Mage_Core_Model_Website $website) {
|
40 |
-
$apiKey = Mage::getResourceModel("
|
41 |
-
->getValue($website->getWebsiteId(),
|
42 |
-
$secretKey = Mage::getResourceModel("
|
43 |
-
->getValue($website->getWebsiteId(),
|
44 |
if(is_null($secretKey) || is_null($apiKey)) {
|
45 |
$this->preparationSuccessful = false;
|
46 |
$this->errors["message"] = "Site key not set";
|
@@ -49,7 +49,7 @@ class Unbxd_Recommendation_Model_Api_Task_Feeddetails extends Unbxd_Recommendati
|
|
49 |
$this->headers["Authorization"] = base64_encode($apiKey.":" .$secretKey);
|
50 |
}
|
51 |
|
52 |
-
protected function postProcess(
|
53 |
if(!$response->isSuccess()) {
|
54 |
return $response;
|
55 |
}
|
@@ -67,4 +67,4 @@ class Unbxd_Recommendation_Model_Api_Task_Feeddetails extends Unbxd_Recommendati
|
|
67 |
}
|
68 |
return $response;
|
69 |
}
|
70 |
-
}
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
+
class Unbxd_Recscore_Model_Api_Task_Feeddetails extends Unbxd_Recscore_Model_Api_Task {
|
9 |
|
10 |
const method = Zend_Http_Client::GET;
|
11 |
|
25 |
}
|
26 |
|
27 |
protected function prepareUrl(Mage_Core_Model_Website $website) {
|
28 |
+
$siteKey = Mage::getResourceModel("unbxd_recscore/config")
|
29 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SITE_KEY);
|
30 |
if(is_null($siteKey)) {
|
31 |
$this->preparationSuccessful = false;
|
32 |
$this->errors["message"] = "Site key not set";
|
33 |
return;
|
34 |
}
|
35 |
|
36 |
+
static::$url = static::$PLATFORM_API_BASE_URL . $siteKey . "/feed-info";
|
37 |
}
|
38 |
|
39 |
protected function prepareHeaders(Mage_Core_Model_Website $website) {
|
40 |
+
$apiKey = Mage::getResourceModel("unbxd_recscore/config")
|
41 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::API_KEY);
|
42 |
+
$secretKey = Mage::getResourceModel("unbxd_recscore/config")
|
43 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SECRET_KEY);
|
44 |
if(is_null($secretKey) || is_null($apiKey)) {
|
45 |
$this->preparationSuccessful = false;
|
46 |
$this->errors["message"] = "Site key not set";
|
49 |
$this->headers["Authorization"] = base64_encode($apiKey.":" .$secretKey);
|
50 |
}
|
51 |
|
52 |
+
protected function postProcess(Unbxd_Recscore_Model_Api_Response $response) {
|
53 |
if(!$response->isSuccess()) {
|
54 |
return $response;
|
55 |
}
|
67 |
}
|
68 |
return $response;
|
69 |
}
|
70 |
+
}
|
app/code/local/Unbxd/Recscore/Model/Api/Task/Searchimpression.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
+
* @author Unbxd Software Pvt. Ltd
|
7 |
+
*/
|
8 |
+
class Unbxd_Recscore_Model_Api_Task_Searchimpression extends Unbxd_Recscore_Model_Api_Task
|
9 |
+
{
|
10 |
+
|
11 |
+
const method = Zend_Http_Client::GET;
|
12 |
+
|
13 |
+
public function prepare(Mage_Core_Model_Website $website) {
|
14 |
+
$this->preparationSuccessful = true;
|
15 |
+
$this->prepareUrl($website);
|
16 |
+
$this->prepareHeaders($website);
|
17 |
+
return $this;
|
18 |
+
}
|
19 |
+
|
20 |
+
protected function prepareUrl(Mage_Core_Model_Website $website) {
|
21 |
+
$siteKey = Mage::getResourceModel("unbxd_recscore/config")
|
22 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SITE_KEY);
|
23 |
+
if(is_null($siteKey)) {
|
24 |
+
$this->preparationSuccessful = false;
|
25 |
+
$this->errors["message"] = "Site key not set";
|
26 |
+
return;
|
27 |
+
}
|
28 |
+
|
29 |
+
static::$url = static::$RECOMMENDATION_SETTINGS_URL . "dashboard/analytics/hits/" . $siteKey;
|
30 |
+
}
|
31 |
+
|
32 |
+
protected function prepareHeaders(Mage_Core_Model_Website $website) {
|
33 |
+
$username = Mage::getResourceModel("unbxd_recscore/config")
|
34 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::USERNAME);
|
35 |
+
if(is_null($username)) {
|
36 |
+
$this->preparationSuccessful = false;
|
37 |
+
$this->errors["message"] = "Secret key not set";
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
|
41 |
+
$this->headers["authorization"] = "Basic " . base64_encode($username . ':$uauth');
|
42 |
+
}
|
43 |
+
|
44 |
+
protected function postProcess(Unbxd_Recscore_Model_Api_Response $response) {
|
45 |
+
$respObj = $response->getResponse();
|
46 |
+
if(array_key_exists("FunnelResponse", $respObj)) {
|
47 |
+
if(array_key_exists("Funnels",$respObj["FunnelResponse"])) {
|
48 |
+
return $response;
|
49 |
+
}
|
50 |
+
}
|
51 |
+
$response->setSuccess(false);
|
52 |
+
$response->setErrorMessage("Unexpected response from Unbxd server, Contact Support");
|
53 |
+
return $response;
|
54 |
+
}
|
55 |
+
}
|
56 |
+
?>
|
app/code/local/Unbxd/Recscore/Model/Api/Task/Searchsetup.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
+
* @author Unbxd Software Pvt. Ltd
|
7 |
+
*/
|
8 |
+
class Unbxd_Recscore_Model_Api_Task_Searchsetup extends Unbxd_Recscore_Model_Api_Task {
|
9 |
+
|
10 |
+
const method = Zend_Http_Client::POST;
|
11 |
+
|
12 |
+
const STATUS = 'status';
|
13 |
+
|
14 |
+
const MESSAGE = 'message';
|
15 |
+
|
16 |
+
public function prepare(Mage_Core_Model_Website $website) {
|
17 |
+
$this->preparationSuccessful = true;
|
18 |
+
$this->prepareUrl($website);
|
19 |
+
$this->prepareHeaders($website);
|
20 |
+
return $this;
|
21 |
+
}
|
22 |
+
|
23 |
+
protected function prepareUrl(Mage_Core_Model_Website $website) {
|
24 |
+
$siteKey = Mage::getResourceModel("unbxd_recscore/config")
|
25 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SITE_KEY);
|
26 |
+
if(is_null($siteKey)) {
|
27 |
+
$this->preparationSuccessful = false;
|
28 |
+
$this->errors["message"] = "Site key not set";
|
29 |
+
return;
|
30 |
+
}
|
31 |
+
|
32 |
+
static::$url = static::$PLATFORM_API_BASE_URL . $siteKey . "/complete-search";
|
33 |
+
}
|
34 |
+
|
35 |
+
protected function prepareHeaders(Mage_Core_Model_Website $website) {
|
36 |
+
$apiKey = Mage::getResourceModel("unbxd_recscore/config")
|
37 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::API_KEY);
|
38 |
+
$secretKey = Mage::getResourceModel("unbxd_recscore/config")
|
39 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SECRET_KEY);
|
40 |
+
if(is_null($secretKey) || is_null($apiKey)) {
|
41 |
+
$this->preparationSuccessful = false;
|
42 |
+
$this->errors["message"] = "Site key not set";
|
43 |
+
return;
|
44 |
+
}
|
45 |
+
$this->headers["Authorization"] = base64_encode($apiKey.":" .$secretKey);
|
46 |
+
}
|
47 |
+
|
48 |
+
protected function postProcess(Unbxd_Recscore_Model_Api_Response $response) {
|
49 |
+
return $response;
|
50 |
+
}
|
51 |
+
}
|
app/code/local/Unbxd/Recscore/Model/Api/Task/Supportmail.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* User: anantheshadiga
|
4 |
+
* Date: 3/2/15
|
5 |
+
* Time: 2:12 AM
|
6 |
+
*/
|
7 |
+
class Unbxd_Recscore_Model_Api_Task_Supportmail extends Unbxd_Recscore_Model_Api_Task {
|
8 |
+
|
9 |
+
const method = Zend_Http_Client::POST;
|
10 |
+
protected $isRawData = true;
|
11 |
+
|
12 |
+
|
13 |
+
public function prepare(Mage_Core_Model_Website $website) {
|
14 |
+
$this->preparationSuccessful = true;
|
15 |
+
$this->prepareUrl($website);
|
16 |
+
$this->prepareHeaders($website);
|
17 |
+
return $this;
|
18 |
+
}
|
19 |
+
|
20 |
+
protected function prepareUrl(Mage_Core_Model_Website $website) {
|
21 |
+
$siteKey = Mage::getResourceModel("unbxd_recscore/config")
|
22 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SITE_KEY);
|
23 |
+
if(is_null($siteKey)) {
|
24 |
+
$this->preparationSuccessful = false;
|
25 |
+
$this->errors["message"] = "Site key not set";
|
26 |
+
return;
|
27 |
+
}
|
28 |
+
|
29 |
+
static::$url = static::$RECOMMENDATION_SETTINGS_URL . "dashboard/mail/support";
|
30 |
+
}
|
31 |
+
|
32 |
+
protected function prepareHeaders(Mage_Core_Model_Website $website) {
|
33 |
+
$username = Mage::getResourceModel("unbxd_recscore/config")
|
34 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::USERNAME);
|
35 |
+
if(is_null($username)) {
|
36 |
+
$this->preparationSuccessful = false;
|
37 |
+
$this->errors["message"] = "Secret key not set";
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
|
41 |
+
$this->headers["authorization"] = "Basic " . base64_encode($username . ':$uauth');
|
42 |
+
}
|
43 |
+
|
44 |
+
protected function postProcess(Unbxd_Recscore_Model_Api_Response $response) {
|
45 |
+
return $response;
|
46 |
+
}
|
47 |
+
}
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Trackcart.php
RENAMED
@@ -2,10 +2,10 @@
|
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
-
* @package
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
-
class
|
9 |
|
10 |
const method = Zend_Http_Client::POST;
|
11 |
|
@@ -21,8 +21,8 @@ class Unbxd_Recommendation_Model_Api_Task_Trackcart extends Unbxd_Recommendation
|
|
21 |
|
22 |
protected function prepareUrl(Mage_Core_Model_Website $website)
|
23 |
{
|
24 |
-
$siteKey = Mage::getResourceModel("
|
25 |
-
->getValue($website->getWebsiteId(),
|
26 |
if (is_null($siteKey)) {
|
27 |
$this->errors["message"] = "Site key not set";
|
28 |
return;
|
@@ -34,12 +34,12 @@ class Unbxd_Recommendation_Model_Api_Task_Trackcart extends Unbxd_Recommendation
|
|
34 |
return;
|
35 |
}
|
36 |
|
37 |
-
static::$url = static
|
38 |
$this->preparationSuccessful = true;
|
39 |
}
|
40 |
|
41 |
-
protected function postProcess(
|
42 |
return $response;
|
43 |
}
|
44 |
}
|
45 |
-
?>
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
+
class Unbxd_Recscore_Model_Api_Task_Trackcart extends Unbxd_Recscore_Model_Api_Task {
|
9 |
|
10 |
const method = Zend_Http_Client::POST;
|
11 |
|
21 |
|
22 |
protected function prepareUrl(Mage_Core_Model_Website $website)
|
23 |
{
|
24 |
+
$siteKey = Mage::getResourceModel("unbxd_recscore/config")
|
25 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SITE_KEY);
|
26 |
if (is_null($siteKey)) {
|
27 |
$this->errors["message"] = "Site key not set";
|
28 |
return;
|
34 |
return;
|
35 |
}
|
36 |
|
37 |
+
static::$url = static::$TRACKER_URL . "v1.0/$siteKey/track/cart/$uid";
|
38 |
$this->preparationSuccessful = true;
|
39 |
}
|
40 |
|
41 |
+
protected function postProcess(Unbxd_Recscore_Model_Api_Response $response) {
|
42 |
return $response;
|
43 |
}
|
44 |
}
|
45 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Trackorder.php
RENAMED
@@ -2,10 +2,10 @@
|
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
-
* @package
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
-
class
|
9 |
|
10 |
const method = Zend_Http_Client::POST;
|
11 |
|
@@ -21,8 +21,8 @@ class Unbxd_Recommendation_Model_Api_Task_Trackorder extends Unbxd_Recommendatio
|
|
21 |
|
22 |
protected function prepareUrl(Mage_Core_Model_Website $website)
|
23 |
{
|
24 |
-
$siteKey = Mage::getResourceModel("
|
25 |
-
->getValue($website->getWebsiteId(),
|
26 |
if (is_null($siteKey)) {
|
27 |
$this->errors["message"] = "Site key not set";
|
28 |
return;
|
@@ -34,12 +34,12 @@ class Unbxd_Recommendation_Model_Api_Task_Trackorder extends Unbxd_Recommendatio
|
|
34 |
return;
|
35 |
}
|
36 |
|
37 |
-
static::$url = static
|
38 |
$this->preparationSuccessful = true;
|
39 |
}
|
40 |
|
41 |
-
protected function postProcess(
|
42 |
return $response;
|
43 |
}
|
44 |
}
|
45 |
-
?>
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
+
class Unbxd_Recscore_Model_Api_Task_Trackorder extends Unbxd_Recscore_Model_Api_Task {
|
9 |
|
10 |
const method = Zend_Http_Client::POST;
|
11 |
|
21 |
|
22 |
protected function prepareUrl(Mage_Core_Model_Website $website)
|
23 |
{
|
24 |
+
$siteKey = Mage::getResourceModel("unbxd_recscore/config")
|
25 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SITE_KEY);
|
26 |
if (is_null($siteKey)) {
|
27 |
$this->errors["message"] = "Site key not set";
|
28 |
return;
|
34 |
return;
|
35 |
}
|
36 |
|
37 |
+
static::$url = static::$TRACKER_URL . "v1.0/$siteKey/track/order/$uid";
|
38 |
$this->preparationSuccessful = true;
|
39 |
}
|
40 |
|
41 |
+
protected function postProcess(Unbxd_Recscore_Model_Api_Response $response) {
|
42 |
return $response;
|
43 |
}
|
44 |
}
|
45 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Triggerfeedupload.php
RENAMED
@@ -4,10 +4,10 @@
|
|
4 |
* class to validate the secret key and site key with unbxd
|
5 |
*
|
6 |
* @category Unbxd
|
7 |
-
* @package
|
8 |
* @author Unbxd Software Pvt. Ltd
|
9 |
*/
|
10 |
-
class
|
11 |
|
12 |
const method = Zend_Http_Client::POST;
|
13 |
|
@@ -30,7 +30,7 @@ class Unbxd_Recommendation_Model_Api_Task_Triggerfeedupload extends Unbxd_Recomm
|
|
30 |
return $this;
|
31 |
}
|
32 |
|
33 |
-
protected function postProcess(
|
34 |
$response->setSuccess(true);
|
35 |
$response->setErrors(array());
|
36 |
return $response;
|
4 |
* class to validate the secret key and site key with unbxd
|
5 |
*
|
6 |
* @category Unbxd
|
7 |
+
* @package Unbxd_Recscore
|
8 |
* @author Unbxd Software Pvt. Ltd
|
9 |
*/
|
10 |
+
class Unbxd_Recscore_Model_Api_Task_Triggerfeedupload extends Unbxd_Recscore_Model_Api_Task {
|
11 |
|
12 |
const method = Zend_Http_Client::POST;
|
13 |
|
30 |
return $this;
|
31 |
}
|
32 |
|
33 |
+
protected function postProcess(Unbxd_Recscore_Model_Api_Response $response) {
|
34 |
$response->setSuccess(true);
|
35 |
$response->setErrors(array());
|
36 |
return $response;
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Updatefeaturefields.php
RENAMED
@@ -2,10 +2,10 @@
|
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
-
* @package
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
-
class
|
9 |
|
10 |
const method = Zend_Http_Client::POST;
|
11 |
|
@@ -23,22 +23,22 @@ class Unbxd_Recommendation_Model_Api_Task_Updatefeaturefields extends Unbxd_Reco
|
|
23 |
}
|
24 |
|
25 |
protected function prepareUrl(Mage_Core_Model_Website $website) {
|
26 |
-
$siteKey = Mage::getResourceModel("
|
27 |
-
->getValue($website->getWebsiteId(),
|
28 |
if(is_null($siteKey)) {
|
29 |
$this->preparationSuccessful = false;
|
30 |
$this->errors["message"] = "Site key not set";
|
31 |
return;
|
32 |
}
|
33 |
|
34 |
-
static::$url =
|
35 |
}
|
36 |
|
37 |
protected function prepareHeaders(Mage_Core_Model_Website $website) {
|
38 |
-
$apiKey = Mage::getResourceModel("
|
39 |
-
->getValue($website->getWebsiteId(),
|
40 |
-
$secretKey = Mage::getResourceModel("
|
41 |
-
->getValue($website->getWebsiteId(),
|
42 |
if(is_null($secretKey) || is_null($apiKey)) {
|
43 |
$this->preparationSuccessful = false;
|
44 |
$this->errors["message"] = "Site key not set";
|
@@ -48,16 +48,20 @@ class Unbxd_Recommendation_Model_Api_Task_Updatefeaturefields extends Unbxd_Reco
|
|
48 |
}
|
49 |
|
50 |
protected function prepareData($website) {
|
51 |
-
$featureFields = Mage::getResourceModel("
|
52 |
$featureFieldMap = array();
|
53 |
foreach($featureFields as $field) {
|
54 |
-
|
55 |
-
|
|
|
|
|
|
|
|
|
56 |
}
|
57 |
$this->setData("fieldMapping", $featureFieldMap);
|
58 |
}
|
59 |
|
60 |
-
protected function postProcess(
|
61 |
if(!$response->isSuccess()) {
|
62 |
return $response;
|
63 |
}
|
@@ -75,4 +79,4 @@ class Unbxd_Recommendation_Model_Api_Task_Updatefeaturefields extends Unbxd_Reco
|
|
75 |
}
|
76 |
return $response;
|
77 |
}
|
78 |
-
}
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
+
class Unbxd_Recscore_Model_Api_Task_Updatefeaturefields extends Unbxd_Recscore_Model_Api_Task {
|
9 |
|
10 |
const method = Zend_Http_Client::POST;
|
11 |
|
23 |
}
|
24 |
|
25 |
protected function prepareUrl(Mage_Core_Model_Website $website) {
|
26 |
+
$siteKey = Mage::getResourceModel("unbxd_recscore/config")
|
27 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SITE_KEY);
|
28 |
if(is_null($siteKey)) {
|
29 |
$this->preparationSuccessful = false;
|
30 |
$this->errors["message"] = "Site key not set";
|
31 |
return;
|
32 |
}
|
33 |
|
34 |
+
static::$url = static::$PLATFORM_API_BASE_URL . $siteKey . "/field-mapping";
|
35 |
}
|
36 |
|
37 |
protected function prepareHeaders(Mage_Core_Model_Website $website) {
|
38 |
+
$apiKey = Mage::getResourceModel("unbxd_recscore/config")
|
39 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::API_KEY);
|
40 |
+
$secretKey = Mage::getResourceModel("unbxd_recscore/config")
|
41 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SECRET_KEY);
|
42 |
if(is_null($secretKey) || is_null($apiKey)) {
|
43 |
$this->preparationSuccessful = false;
|
44 |
$this->errors["message"] = "Site key not set";
|
48 |
}
|
49 |
|
50 |
protected function prepareData($website) {
|
51 |
+
$featureFields = Mage::getResourceModel("unbxd_recscore/field_collection")->getFeatureFields($website);
|
52 |
$featureFieldMap = array();
|
53 |
foreach($featureFields as $field) {
|
54 |
+
if($field[Unbxd_Recscore_Model_Field::featured_field] == Unbxd_Recscore_Helper_Constants::FEATURE_FIELD_IMAGE_URL) {
|
55 |
+
$featureFieldMap[$field[Unbxd_Recscore_Model_Field::featured_field]] = "unbxd_NA";
|
56 |
+
continue;
|
57 |
+
}
|
58 |
+
$featureFieldMap[$field[Unbxd_Recscore_Model_Field::featured_field]] =
|
59 |
+
$field[Unbxd_Recscore_Model_Field::field_name];
|
60 |
}
|
61 |
$this->setData("fieldMapping", $featureFieldMap);
|
62 |
}
|
63 |
|
64 |
+
protected function postProcess(Unbxd_Recscore_Model_Api_Response $response) {
|
65 |
if(!$response->isSuccess()) {
|
66 |
return $response;
|
67 |
}
|
79 |
}
|
80 |
return $response;
|
81 |
}
|
82 |
+
}
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Api/Task/Validatekeys.php
RENAMED
@@ -4,10 +4,10 @@
|
|
4 |
* class to validate the secret key and site key with unbxd
|
5 |
*
|
6 |
* @category Unbxd
|
7 |
-
* @package
|
8 |
* @author Unbxd Software Pvt. Ltd
|
9 |
*/
|
10 |
-
class
|
11 |
|
12 |
const method = Zend_Http_Client::POST;
|
13 |
|
@@ -27,7 +27,7 @@ class Unbxd_Recommendation_Model_Api_Task_Validatekeys extends Unbxd_Recommendat
|
|
27 |
}
|
28 |
|
29 |
protected function prepareUrl() {
|
30 |
-
static::$url =
|
31 |
return $this;
|
32 |
}
|
33 |
|
@@ -39,11 +39,11 @@ class Unbxd_Recommendation_Model_Api_Task_Validatekeys extends Unbxd_Recommendat
|
|
39 |
$params = $this->getData();
|
40 |
if(!array_key_exists(static::SECRET_KEY, $params)) {
|
41 |
$this->preparationSuccessful = false;
|
42 |
-
$this->errors[
|
43 |
}
|
44 |
if(!array_key_exists(static::SITE_KEY, $params)) {
|
45 |
$this->preparationSuccessful = false;
|
46 |
-
$this->errors[
|
47 |
}
|
48 |
if(sizeof($this->getData()) > 2) {
|
49 |
$this->preparationSuccessful = false;
|
@@ -56,7 +56,7 @@ class Unbxd_Recommendation_Model_Api_Task_Validatekeys extends Unbxd_Recommendat
|
|
56 |
return $this;
|
57 |
}
|
58 |
|
59 |
-
protected function postProcess(
|
60 |
if(!$response->isSuccess()) {
|
61 |
return $response;
|
62 |
}
|
@@ -69,4 +69,4 @@ class Unbxd_Recommendation_Model_Api_Task_Validatekeys extends Unbxd_Recommendat
|
|
69 |
}
|
70 |
}
|
71 |
|
72 |
-
?>
|
4 |
* class to validate the secret key and site key with unbxd
|
5 |
*
|
6 |
* @category Unbxd
|
7 |
+
* @package Unbxd_Recscore
|
8 |
* @author Unbxd Software Pvt. Ltd
|
9 |
*/
|
10 |
+
class Unbxd_Recscore_Model_Api_Task_Validatekeys extends Unbxd_Recscore_Model_Api_Task {
|
11 |
|
12 |
const method = Zend_Http_Client::POST;
|
13 |
|
27 |
}
|
28 |
|
29 |
protected function prepareUrl() {
|
30 |
+
static::$url = static::$RECOMMENDATION_SETTINGS_URL . "dashboard/authenticateMagento";
|
31 |
return $this;
|
32 |
}
|
33 |
|
39 |
$params = $this->getData();
|
40 |
if(!array_key_exists(static::SECRET_KEY, $params)) {
|
41 |
$this->preparationSuccessful = false;
|
42 |
+
$this->errors[Unbxd_Recscore_Helper_Confighelper::SECRET_KEY] = "secret key expected";
|
43 |
}
|
44 |
if(!array_key_exists(static::SITE_KEY, $params)) {
|
45 |
$this->preparationSuccessful = false;
|
46 |
+
$this->errors[Unbxd_Recscore_Helper_Confighelper::SITE_KEY] = "site key expected";
|
47 |
}
|
48 |
if(sizeof($this->getData()) > 2) {
|
49 |
$this->preparationSuccessful = false;
|
56 |
return $this;
|
57 |
}
|
58 |
|
59 |
+
protected function postProcess(Unbxd_Recscore_Model_Api_Response $response) {
|
60 |
if(!$response->isSuccess()) {
|
61 |
return $response;
|
62 |
}
|
69 |
}
|
70 |
}
|
71 |
|
72 |
+
?>
|
app/code/local/Unbxd/Recscore/Model/Auth.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Unbxd_Recscore_Model_Auth {
|
4 |
+
|
5 |
+
public function authorize(Varien_Event_Observer $observer) {
|
6 |
+
$controller = $observer->getControllerAction();
|
7 |
+
$request = Mage::app()->getRequest()->getParams();
|
8 |
+
if(array_key_exists(Unbxd_Recscore_Helper_Constants::AUTH_REQUEST_PARAM, $request)) {
|
9 |
+
$requestAuth = $request[Unbxd_Recscore_Helper_Constants::AUTH_REQUEST_PARAM];
|
10 |
+
$authToken = $this->getAuthKey();
|
11 |
+
if($requestAuth == $authToken) {
|
12 |
+
return;
|
13 |
+
}
|
14 |
+
$websites = Mage::app()->getWebsites();
|
15 |
+
foreach ($websites as $website) {
|
16 |
+
$secretKey = Mage::getResourceModel('unbxd_recscore/config')->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::SECRET_KEY);
|
17 |
+
if($requestAuth == $secretKey) {
|
18 |
+
return;
|
19 |
+
}
|
20 |
+
}
|
21 |
+
}
|
22 |
+
Mage::app()->getFrontController()->getResponse()->setHttpResponseCode(401);
|
23 |
+
$json = json_encode(array('success' => false, 'message' => 'Unauthorized'));
|
24 |
+
Mage::app()->getFrontController()->getResponse()->setBody($json);
|
25 |
+
Mage::app()->getResponse()->sendResponse();
|
26 |
+
exit();
|
27 |
+
}
|
28 |
+
|
29 |
+
|
30 |
+
public function getAuthKey() {
|
31 |
+
$authToken = Mage::getResourceModel('unbxd_recscore/config')->getValue(0, Unbxd_Recscore_Helper_Constants::AUTH_TOKEN);
|
32 |
+
if($authToken == null) {
|
33 |
+
return $this->_generateAuthKey();
|
34 |
+
}
|
35 |
+
return $authToken;
|
36 |
+
}
|
37 |
+
|
38 |
+
protected function _generateAuthKey() {
|
39 |
+
$authTokenRawString = Mage::getBaseUrl() . time();
|
40 |
+
$authToken = base64_encode($authTokenRawString);
|
41 |
+
Mage::getResourceModel('unbxd_recscore/config')->setValue(0, Unbxd_Recscore_Helper_Constants::AUTH_TOKEN, $authToken);
|
42 |
+
$authToken = Mage::getResourceModel('unbxd_recscore/config')->getValue(0, Unbxd_Recscore_Helper_Constants::AUTH_TOKEN);
|
43 |
+
if(is_null($authToken)) {
|
44 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::DEBUG, "Couldnt store auth token in DB");
|
45 |
+
Mage::throwException("Couldnt store auth token in DB in Unbxd module");
|
46 |
+
}
|
47 |
+
return $authToken;
|
48 |
+
}
|
49 |
+
}
|
50 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Config.php
RENAMED
@@ -4,10 +4,10 @@
|
|
4 |
* This class maintains all the configuration w.r.t Unbxd with site basis
|
5 |
*
|
6 |
* @category Unbxd
|
7 |
-
* @package
|
8 |
* @author Unbxd Software Pvt. Ltd
|
9 |
*/
|
10 |
-
class
|
11 |
|
12 |
const KEY = "key";
|
13 |
|
@@ -23,17 +23,23 @@ class Unbxd_Recommendation_Model_Config extends Mage_Core_Model_Abstract {
|
|
23 |
|
24 |
const FEED_LOCK_FALSE = '0';
|
25 |
|
|
|
|
|
26 |
const MAX_FEED_LOCK_TIME = 6;
|
27 |
|
28 |
const LAST_UPLOAD_TIME = 'lastUpload';
|
29 |
|
|
|
|
|
|
|
|
|
30 |
/**
|
31 |
*
|
32 |
* @return void
|
33 |
*/
|
34 |
protected function _construct()
|
35 |
{
|
36 |
-
$this->_init('
|
37 |
}
|
38 |
}
|
39 |
|
4 |
* This class maintains all the configuration w.r.t Unbxd with site basis
|
5 |
*
|
6 |
* @category Unbxd
|
7 |
+
* @package Unbxd_Recscore
|
8 |
* @author Unbxd Software Pvt. Ltd
|
9 |
*/
|
10 |
+
class Unbxd_Recscore_Model_Config extends Mage_Core_Model_Abstract {
|
11 |
|
12 |
const KEY = "key";
|
13 |
|
23 |
|
24 |
const FEED_LOCK_FALSE = '0';
|
25 |
|
26 |
+
const FEED_STATUS = 'feed_status';
|
27 |
+
|
28 |
const MAX_FEED_LOCK_TIME = 6;
|
29 |
|
30 |
const LAST_UPLOAD_TIME = 'lastUpload';
|
31 |
|
32 |
+
const FILTER_DELIMITER = "|`";
|
33 |
+
|
34 |
+
const FILTER = 'filter';
|
35 |
+
|
36 |
/**
|
37 |
*
|
38 |
* @return void
|
39 |
*/
|
40 |
protected function _construct()
|
41 |
{
|
42 |
+
$this->_init('unbxd_recscore/config');
|
43 |
}
|
44 |
}
|
45 |
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Feed/Feedcreator.php
RENAMED
@@ -1,22 +1,24 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class
|
4 |
|
5 |
var $fileName;
|
6 |
var $fields;
|
7 |
var $taxonomyFlag;
|
8 |
const PAGE_SIZE = 500;
|
9 |
-
|
|
|
10 |
|
11 |
|
12 |
public function __construct() {
|
13 |
$this->_fullupload = true;
|
14 |
}
|
15 |
|
16 |
-
|
17 |
$this->_setFields($website);
|
|
|
18 |
$this->fileName = $fileName;
|
19 |
-
|
20 |
|
21 |
/**
|
22 |
* Method to set the full upload
|
@@ -41,12 +43,12 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
41 |
/**
|
42 |
* method to create the feed
|
43 |
**/
|
44 |
-
public function createFeed($fileName, Mage_Core_Model_Website $website, $
|
45 |
$this->init($website, $fileName);
|
46 |
if($this->_createFile()){
|
47 |
$this->log("started writing header");
|
48 |
|
49 |
-
if(!$this->_writeFeedContent($website, $
|
50 |
return false;
|
51 |
}
|
52 |
|
@@ -56,6 +58,8 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
56 |
return true;
|
57 |
}
|
58 |
|
|
|
|
|
59 |
/**
|
60 |
* Method to trigger write the feed contents
|
61 |
* @param $fromdate
|
@@ -65,13 +69,13 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
65 |
* @param $ids
|
66 |
* @return bool
|
67 |
*/
|
68 |
-
protected function _writeFeedContent(Mage_Core_Model_Website $website, $
|
69 |
if(!$this->_appendTofile('{"feed":')) {
|
70 |
$this->log("Error writing feed tag");
|
71 |
return false;
|
72 |
}
|
73 |
|
74 |
-
if(!$this->_writeCatalogContent($website, $
|
75 |
$this->log("Error writing catalog tag");
|
76 |
return false;
|
77 |
}
|
@@ -91,7 +95,7 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
91 |
* @param $ids
|
92 |
* @return bool
|
93 |
*/
|
94 |
-
protected function _writeCatalogContent(Mage_Core_Model_Website $website, $
|
95 |
if(!$this->_appendTofile('{"catalog":{')) {
|
96 |
$this->log("Error writing closing catalog tag");
|
97 |
return false;
|
@@ -105,12 +109,18 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
105 |
return false;
|
106 |
}
|
107 |
|
|
|
|
|
|
|
|
|
|
|
108 |
// If both of them are unsuccessful, then tag it as unsuccessful
|
109 |
if(!($this->_writeAddProductsContent($website, $fromDate, $currentDate)
|
110 |
|| $this->_writeDeleteProductsContent($website, $fromDate, $currentDate))) {
|
111 |
return false;
|
112 |
}
|
113 |
|
|
|
114 |
|
115 |
|
116 |
if(!$this->_appendTofile("}")) {
|
@@ -136,7 +146,7 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
136 |
*/
|
137 |
protected function _writeSchemaContent() {
|
138 |
return $this->_appendTofile('"schema":'.
|
139 |
-
Mage::getSingleton('
|
140 |
}
|
141 |
|
142 |
/**
|
@@ -147,34 +157,34 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
147 |
*/
|
148 |
protected function _getCatalogCollectionToAdd(Mage_Core_Model_Website $website, $fromDate, $currentDate) {
|
149 |
if($this->isFullUpload()) {
|
150 |
-
return Mage::getResourceModel('
|
151 |
->addFullUploadFilters($website);
|
152 |
} else {
|
153 |
-
$products = Mage::getModel('
|
154 |
->getCollection()
|
155 |
->addWebsiteFilter($website->getWebsiteId())
|
156 |
->addUnsyncFilter()
|
157 |
-
->addOperationFilter(
|
158 |
->load();
|
159 |
$productIds = array();
|
160 |
foreach($products as $product) {
|
161 |
$productIds[] = $product->getProductId();
|
162 |
}
|
163 |
-
return Mage::getResourceModel('
|
164 |
->addIncrementalUploadFiltersToAdd($website, $fromDate, $currentDate, $productIds);
|
165 |
}
|
166 |
}
|
167 |
|
168 |
protected function _getCatalogCollectionToDelete(Mage_Core_Model_Website $website) {
|
169 |
-
$products = Mage::getModel('
|
170 |
->getCollection()
|
171 |
->addWebsiteFilter($website->getWebsiteId())
|
172 |
->addUnsyncFilter()
|
173 |
-
->addOperationFilter(
|
174 |
->load();
|
175 |
-
$collection = Mage::getResourceModel('
|
176 |
foreach($products as $eachProduct) {
|
177 |
-
$product =
|
178 |
$product->setEntityId($eachProduct->getProductId());
|
179 |
$collection->addItem($product);
|
180 |
}
|
@@ -186,14 +196,14 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
186 |
return true;
|
187 |
}
|
188 |
$collection1 = $this->_getCatalogCollectionToDelete($website);
|
189 |
-
$collection2 = Mage::getResourceModel('
|
190 |
->addIncrementalUploadFiltersToDelete($website, $fromDate, $currentDate)
|
191 |
->load();
|
192 |
|
193 |
$collection = $collection1
|
194 |
->mergeCollection($collection2)
|
195 |
->virtuallyLoad();
|
196 |
-
return $this->_writeProducts($website, $collection,
|
197 |
}
|
198 |
|
199 |
|
@@ -220,20 +230,20 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
220 |
* @return mixed
|
221 |
*/
|
222 |
protected function _processCollection($collection , $pageNum,
|
223 |
-
$operation =
|
224 |
if(!$loadAll) {
|
225 |
$collection->clear();
|
226 |
$collection->getSelect()->limit(self::PAGE_SIZE, ($pageNum) * self::PAGE_SIZE);
|
227 |
$collection->load();
|
228 |
}
|
229 |
-
if($operation ==
|
230 |
Mage::getModel('cataloginventory/stock_status')->addStockStatusToProducts($collection);
|
231 |
}
|
232 |
return $collection;
|
233 |
}
|
234 |
|
235 |
protected function _writeProducts(Mage_Core_Model_Website $website, $collection,
|
236 |
-
$operation =
|
237 |
$pageNum = 0;
|
238 |
$this->log('started writing products');
|
239 |
$firstLoop = true;
|
@@ -251,22 +261,22 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
251 |
if(!$firstLoop && $loadAllAtOnce) {
|
252 |
break;
|
253 |
} else if(!$firstLoop) {
|
254 |
-
if(!$this->_appendTofile(
|
255 |
$this->log("Error while addings items separator");
|
256 |
return false;
|
257 |
}
|
258 |
} else {
|
259 |
// If it is the first loop adding json tag
|
260 |
-
if(!$this->_appendTofile(Mage::getSingleton('
|
261 |
-
|
262 |
-
Mage::getSingleton('
|
263 |
-
|
264 |
$this->log("Error while adding items tag");
|
265 |
return false;
|
266 |
}
|
267 |
}
|
268 |
-
$content = Mage::getSingleton('
|
269 |
-
->getProducts($website, $collection, $this->fields);
|
270 |
if(!$this->_appendTofile($content)){
|
271 |
$this->log("Error while addings items");
|
272 |
return false;
|
@@ -274,8 +284,8 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
274 |
$this->log('Added '.($pageNum) * self::PAGE_SIZE.' products');
|
275 |
$firstLoop = false;
|
276 |
}
|
277 |
-
if(!$this->_appendTofile(
|
278 |
-
|
279 |
$this->log("Error writing closing items tag");
|
280 |
return false;
|
281 |
}
|
@@ -298,7 +308,7 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
298 |
return false;
|
299 |
}
|
300 |
|
301 |
-
$content=Mage::getSingleton('
|
302 |
->createTaxonomyFeed($site);
|
303 |
$status=$this->_appendTofile($content);
|
304 |
|
@@ -317,7 +327,7 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
317 |
return false;
|
318 |
}
|
319 |
|
320 |
-
$content=Mage::getSingleton('
|
321 |
$status=$this->_appendTofile($content);
|
322 |
|
323 |
if(!$status){
|
@@ -332,11 +342,22 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
332 |
$this->log('Added all categories');
|
333 |
return true;
|
334 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
335 |
|
336 |
|
337 |
protected function _setFields(Mage_Core_Model_Website $website) {
|
338 |
-
$fields = Mage::getResourceModel("
|
339 |
-
$featureFields = Mage::getModel('
|
340 |
foreach($fields as $eachfield) {
|
341 |
if(array_key_exists($eachfield->getFieldName(), $featureFields)) {
|
342 |
$this->fields[$eachfield->getFieldName()] = $featureFields[$eachfield->getFieldName()];
|
@@ -344,34 +365,50 @@ class Unbxd_Recommendation_Model_Feed_Feedcreator {
|
|
344 |
}
|
345 |
if(!is_null($eachfield->getFeaturedField()) &&
|
346 |
array_key_exists($eachfield->getFeaturedField(), $featureFields)) {
|
347 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
continue;
|
349 |
}
|
350 |
$field = array();
|
351 |
-
$field[
|
352 |
-
$field[
|
353 |
-
$field[
|
354 |
-
$field[
|
355 |
->isMultiSelect($eachfield->getFieldName());
|
356 |
$this->fields[$eachfield->getFieldName()] = $field;
|
357 |
}
|
358 |
-
$this->fields["entity_id"] = Mage::getModel('
|
|
|
359 |
|
360 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
|
362 |
/**
|
363 |
* Function to initialize to feed creation process
|
364 |
*/
|
365 |
protected function _createFile(){
|
366 |
-
return Mage::getSingleton('
|
367 |
}
|
368 |
|
369 |
protected function _appendTofile($data){
|
370 |
-
return Mage::getSingleton('
|
371 |
}
|
372 |
|
373 |
protected function log($message) {
|
374 |
-
Mage::helper('
|
375 |
}
|
376 |
|
377 |
public function getTaxonomyMappingCollection() {
|
1 |
<?php
|
2 |
|
3 |
+
class Unbxd_Recscore_Model_Feed_Feedcreator {
|
4 |
|
5 |
var $fileName;
|
6 |
var $fields;
|
7 |
var $taxonomyFlag;
|
8 |
const PAGE_SIZE = 500;
|
9 |
+
var $_fullupload;
|
10 |
+
var $_copyFields = array();
|
11 |
|
12 |
|
13 |
public function __construct() {
|
14 |
$this->_fullupload = true;
|
15 |
}
|
16 |
|
17 |
+
public function init(Mage_Core_Model_Website $website, $fileName) {
|
18 |
$this->_setFields($website);
|
19 |
+
$this->_setCopyFields($website);
|
20 |
$this->fileName = $fileName;
|
21 |
+
}
|
22 |
|
23 |
/**
|
24 |
* Method to set the full upload
|
43 |
/**
|
44 |
* method to create the feed
|
45 |
**/
|
46 |
+
public function createFeed($fileName, Mage_Core_Model_Website $website, $currentDate){
|
47 |
$this->init($website, $fileName);
|
48 |
if($this->_createFile()){
|
49 |
$this->log("started writing header");
|
50 |
|
51 |
+
if(!$this->_writeFeedContent($website, $currentDate)){
|
52 |
return false;
|
53 |
}
|
54 |
|
58 |
return true;
|
59 |
}
|
60 |
|
61 |
+
|
62 |
+
|
63 |
/**
|
64 |
* Method to trigger write the feed contents
|
65 |
* @param $fromdate
|
69 |
* @param $ids
|
70 |
* @return bool
|
71 |
*/
|
72 |
+
protected function _writeFeedContent(Mage_Core_Model_Website $website, $currentDate) {
|
73 |
if(!$this->_appendTofile('{"feed":')) {
|
74 |
$this->log("Error writing feed tag");
|
75 |
return false;
|
76 |
}
|
77 |
|
78 |
+
if(!$this->_writeCatalogContent($website, $currentDate)) {
|
79 |
$this->log("Error writing catalog tag");
|
80 |
return false;
|
81 |
}
|
95 |
* @param $ids
|
96 |
* @return bool
|
97 |
*/
|
98 |
+
protected function _writeCatalogContent(Mage_Core_Model_Website $website, $currentDate) {
|
99 |
if(!$this->_appendTofile('{"catalog":{')) {
|
100 |
$this->log("Error writing closing catalog tag");
|
101 |
return false;
|
109 |
return false;
|
110 |
}
|
111 |
|
112 |
+
$fromDate = Mage::getResourceSingleton('unbxd_recscore/config')
|
113 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Model_Config::LAST_UPLOAD_TIME);
|
114 |
+
if(is_null($fromDate)) {
|
115 |
+
$fromDate = "1970-01-01 00:00:00";
|
116 |
+
}
|
117 |
// If both of them are unsuccessful, then tag it as unsuccessful
|
118 |
if(!($this->_writeAddProductsContent($website, $fromDate, $currentDate)
|
119 |
|| $this->_writeDeleteProductsContent($website, $fromDate, $currentDate))) {
|
120 |
return false;
|
121 |
}
|
122 |
|
123 |
+
Mage::getModel('unbxd_recscore/sync')->markItSynced($website->getWebsiteId(), $currentDate);
|
124 |
|
125 |
|
126 |
if(!$this->_appendTofile("}")) {
|
146 |
*/
|
147 |
protected function _writeSchemaContent() {
|
148 |
return $this->_appendTofile('"schema":'.
|
149 |
+
Mage::getSingleton('unbxd_recscore/feed_jsonbuilder_schemabuilder')->getSchema($this->fields));
|
150 |
}
|
151 |
|
152 |
/**
|
157 |
*/
|
158 |
protected function _getCatalogCollectionToAdd(Mage_Core_Model_Website $website, $fromDate, $currentDate) {
|
159 |
if($this->isFullUpload()) {
|
160 |
+
return Mage::getResourceModel('unbxd_recscore/product_collection')
|
161 |
->addFullUploadFilters($website);
|
162 |
} else {
|
163 |
+
$products = Mage::getModel('unbxd_recscore/sync')
|
164 |
->getCollection()
|
165 |
->addWebsiteFilter($website->getWebsiteId())
|
166 |
->addUnsyncFilter()
|
167 |
+
->addOperationFilter(Unbxd_Recscore_Model_Sync::OPERATION_ADD)
|
168 |
->load();
|
169 |
$productIds = array();
|
170 |
foreach($products as $product) {
|
171 |
$productIds[] = $product->getProductId();
|
172 |
}
|
173 |
+
return Mage::getResourceModel('unbxd_recscore/product_collection')
|
174 |
->addIncrementalUploadFiltersToAdd($website, $fromDate, $currentDate, $productIds);
|
175 |
}
|
176 |
}
|
177 |
|
178 |
protected function _getCatalogCollectionToDelete(Mage_Core_Model_Website $website) {
|
179 |
+
$products = Mage::getModel('unbxd_recscore/sync')
|
180 |
->getCollection()
|
181 |
->addWebsiteFilter($website->getWebsiteId())
|
182 |
->addUnsyncFilter()
|
183 |
+
->addOperationFilter(Unbxd_Recscore_Model_Sync::OPERATION_DELETE)
|
184 |
->load();
|
185 |
+
$collection = Mage::getResourceModel('unbxd_recscore/product_collection');
|
186 |
foreach($products as $eachProduct) {
|
187 |
+
$product = Mage_Catalog_Model_Product();
|
188 |
$product->setEntityId($eachProduct->getProductId());
|
189 |
$collection->addItem($product);
|
190 |
}
|
196 |
return true;
|
197 |
}
|
198 |
$collection1 = $this->_getCatalogCollectionToDelete($website);
|
199 |
+
$collection2 = Mage::getResourceModel('unbxd_recscore/product_collection')
|
200 |
->addIncrementalUploadFiltersToDelete($website, $fromDate, $currentDate)
|
201 |
->load();
|
202 |
|
203 |
$collection = $collection1
|
204 |
->mergeCollection($collection2)
|
205 |
->virtuallyLoad();
|
206 |
+
return $this->_writeProducts($website, $collection, Unbxd_Recscore_Model_Feed_Tags::DELETE, true);
|
207 |
}
|
208 |
|
209 |
|
230 |
* @return mixed
|
231 |
*/
|
232 |
protected function _processCollection($collection , $pageNum,
|
233 |
+
$operation = Unbxd_Recscore_Model_Feed_Tags::ADD, $loadAll = false) {
|
234 |
if(!$loadAll) {
|
235 |
$collection->clear();
|
236 |
$collection->getSelect()->limit(self::PAGE_SIZE, ($pageNum) * self::PAGE_SIZE);
|
237 |
$collection->load();
|
238 |
}
|
239 |
+
if($operation == Unbxd_Recscore_Model_Feed_Tags::ADD) {
|
240 |
Mage::getModel('cataloginventory/stock_status')->addStockStatusToProducts($collection);
|
241 |
}
|
242 |
return $collection;
|
243 |
}
|
244 |
|
245 |
protected function _writeProducts(Mage_Core_Model_Website $website, $collection,
|
246 |
+
$operation = Unbxd_Recscore_Model_Feed_Tags::ADD, $loadAllAtOnce = false) {
|
247 |
$pageNum = 0;
|
248 |
$this->log('started writing products');
|
249 |
$firstLoop = true;
|
261 |
if(!$firstLoop && $loadAllAtOnce) {
|
262 |
break;
|
263 |
} else if(!$firstLoop) {
|
264 |
+
if(!$this->_appendTofile(Unbxd_Recscore_Model_Feed_Tags::COMMA)) {
|
265 |
$this->log("Error while addings items separator");
|
266 |
return false;
|
267 |
}
|
268 |
} else {
|
269 |
// If it is the first loop adding json tag
|
270 |
+
if(!$this->_appendTofile(Mage::getSingleton('unbxd_recscore/feed_tags')->getKey($operation) .
|
271 |
+
Unbxd_Recscore_Model_Feed_Tags::COLON. Unbxd_Recscore_Model_Feed_Tags::OBJ_START.
|
272 |
+
Mage::getSingleton('unbxd_recscore/feed_tags')->getKey($operation) .
|
273 |
+
Unbxd_Recscore_Model_Feed_Tags::COLON.Unbxd_Recscore_Model_Feed_Tags::ARRAY_START)) {
|
274 |
$this->log("Error while adding items tag");
|
275 |
return false;
|
276 |
}
|
277 |
}
|
278 |
+
$content = Mage::getSingleton('unbxd_recscore/feed_jsonbuilder_productbuilder')
|
279 |
+
->getProducts($website, $collection, $this->fields, $this->_copyFields);
|
280 |
if(!$this->_appendTofile($content)){
|
281 |
$this->log("Error while addings items");
|
282 |
return false;
|
284 |
$this->log('Added '.($pageNum) * self::PAGE_SIZE.' products');
|
285 |
$firstLoop = false;
|
286 |
}
|
287 |
+
if(!$this->_appendTofile(Unbxd_Recscore_Model_Feed_Tags::ARRAY_END .
|
288 |
+
Unbxd_Recscore_Model_Feed_Tags::OBJ_END)) {
|
289 |
$this->log("Error writing closing items tag");
|
290 |
return false;
|
291 |
}
|
308 |
return false;
|
309 |
}
|
310 |
|
311 |
+
$content=Mage::getSingleton('unbxd_recscore/feed_jsonbuilder_taxonomybuilder')
|
312 |
->createTaxonomyFeed($site);
|
313 |
$status=$this->_appendTofile($content);
|
314 |
|
327 |
return false;
|
328 |
}
|
329 |
|
330 |
+
$content=Mage::getSingleton('unbxd_recscore/feed_jsonbuilder_taxonomybuilder')->createMappingFeed($collection);
|
331 |
$status=$this->_appendTofile($content);
|
332 |
|
333 |
if(!$status){
|
342 |
$this->log('Added all categories');
|
343 |
return true;
|
344 |
}
|
345 |
+
|
346 |
+
protected function _setCopyFields(Mage_Core_Model_Website $website) {
|
347 |
+
$this->_copyFields = array();
|
348 |
+
$copyFields = Mage::getModel('unbxd_recscore/field')->getCopyFields($website);
|
349 |
+
foreach($copyFields as $fieldName => $copyField) {
|
350 |
+
if(array_key_exists($copyField, $this->fields)) {
|
351 |
+
$this->_copyFields[$fieldName] = $copyField;
|
352 |
+
}
|
353 |
+
}
|
354 |
+
$this->_copyFields[Mage::getModel('unbxd_recscore/field')->getImageUrlFieldName()] = "imageUrl";
|
355 |
+
}
|
356 |
|
357 |
|
358 |
protected function _setFields(Mage_Core_Model_Website $website) {
|
359 |
+
$fields = Mage::getResourceModel("unbxd_recscore/field_collection")->getFields($website);
|
360 |
+
$featureFields = Mage::getModel('unbxd_recscore/field')->getFeaturedFields();
|
361 |
foreach($fields as $eachfield) {
|
362 |
if(array_key_exists($eachfield->getFieldName(), $featureFields)) {
|
363 |
$this->fields[$eachfield->getFieldName()] = $featureFields[$eachfield->getFieldName()];
|
365 |
}
|
366 |
if(!is_null($eachfield->getFeaturedField()) &&
|
367 |
array_key_exists($eachfield->getFeaturedField(), $featureFields)) {
|
368 |
+
if($eachfield->getFeaturedField() == "imageUrl") {
|
369 |
+
$this->fields["imageUrl"] = $featureFields[$eachfield->getFeaturedField()];
|
370 |
+
$this->fields[$eachfield->getFieldName()] = Mage::getModel('unbxd_recscore/field')->getField('longText', "false", "false");
|
371 |
+
$this->fields["imageUrl"][Unbxd_Recscore_Model_Feed_Jsonbuilder_Productbuilder::GENERATE_IMAGE] = "1";
|
372 |
+
} else {
|
373 |
+
$this->fields[$eachfield->getFieldName()] = $featureFields[$eachfield->getFeaturedField()];
|
374 |
+
}
|
375 |
continue;
|
376 |
}
|
377 |
$field = array();
|
378 |
+
$field[Unbxd_Recscore_Model_Field::status] = 1;
|
379 |
+
$field[Unbxd_Recscore_Model_Field::datatype] = $eachfield->getDatatype();
|
380 |
+
$field[Unbxd_Recscore_Model_Field::autosuggest] = $eachfield->getAutosuggest();
|
381 |
+
$field[Unbxd_Recscore_Model_Field::multivalued] = Mage::helper('unbxd_recscore/feedhelper')
|
382 |
->isMultiSelect($eachfield->getFieldName());
|
383 |
$this->fields[$eachfield->getFieldName()] = $field;
|
384 |
}
|
385 |
+
$this->fields["entity_id"] = Mage::getModel('unbxd_recscore/field')->getField('longText', "false", "false");
|
386 |
+
$this->_setImageConf($website);
|
387 |
|
388 |
}
|
389 |
+
|
390 |
+
protected function _setImageConf(Mage_Core_Model_Website $website) {
|
391 |
+
$imageFields = Mage::getModel('unbxd_recscore/field')->getImageFields($website);
|
392 |
+
foreach($this->fields as $fieldName => $fieldConf) {
|
393 |
+
if(array_key_exists($fieldName, $imageFields)) {
|
394 |
+
$this->fields[$fieldName][Unbxd_Recscore_Model_Feed_Jsonbuilder_Productbuilder::GENERATE_IMAGE] = '1';
|
395 |
+
}
|
396 |
+
}
|
397 |
+
}
|
398 |
|
399 |
/**
|
400 |
* Function to initialize to feed creation process
|
401 |
*/
|
402 |
protected function _createFile(){
|
403 |
+
return Mage::getSingleton('unbxd_recscore/feed_filemanager')->createFile($this->fileName);
|
404 |
}
|
405 |
|
406 |
protected function _appendTofile($data){
|
407 |
+
return Mage::getSingleton('unbxd_recscore/feed_filemanager')->appendTofile($this->fileName, $data);
|
408 |
}
|
409 |
|
410 |
protected function log($message) {
|
411 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::DEBUG, $message);
|
412 |
}
|
413 |
|
414 |
public function getTaxonomyMappingCollection() {
|
app/code/local/Unbxd/Recscore/Model/Feed/Feedmanager.php
ADDED
@@ -0,0 +1,213 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Unbxd_Recscore_Model_Feed_Feedmanager {
|
4 |
+
|
5 |
+
//Delete the file after uploading the feed
|
6 |
+
var $deleteIncrementalFeed = true;
|
7 |
+
|
8 |
+
var $fileName = "unbxdFeed.json";
|
9 |
+
|
10 |
+
var $key;
|
11 |
+
|
12 |
+
var $siteName;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* method to push the feed to the Unbxd server
|
16 |
+
**/
|
17 |
+
protected function _pushFeed($fullimport=true){
|
18 |
+
if(!function_exists('curl_file_create')){
|
19 |
+
$fields=array('file'=>'@'.$this->fileName.';filename='.'unbxdFeed.json');
|
20 |
+
} else {
|
21 |
+
$file = new CurlFile($this->fileName,'','unbxdFeed.json');
|
22 |
+
$fields = array('file'=>$file);
|
23 |
+
}
|
24 |
+
$feedUrl = Mage::helper('unbxd_recscore/confighelper')->getConfigData('feed_url');
|
25 |
+
$url= $feedUrl . "upload/v2/".$this->key."/".$this->siteName. ($fullimport?"?fullimport=true":"");
|
26 |
+
|
27 |
+
$ch = curl_init();
|
28 |
+
curl_setopt($ch, CURLOPT_URL,$url);
|
29 |
+
curl_setopt($ch, CURLOPT_POST,true);
|
30 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields);
|
31 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
32 |
+
try{
|
33 |
+
$this->log('pushing the feed to '.$url);
|
34 |
+
// push the feed to the server
|
35 |
+
$response = $this->exec($ch);
|
36 |
+
$this->log(json_encode($response));
|
37 |
+
$responseMessage = json_decode($response['body'], true);
|
38 |
+
if($responseMessage["statusCode"] != 200) {
|
39 |
+
throw new Exception('Unexpected response from unbxd server');
|
40 |
+
}
|
41 |
+
}catch(Exception $ex){
|
42 |
+
$this->log("Error while uploading the feed because of " . $ex->getMessage());
|
43 |
+
return false;
|
44 |
+
}
|
45 |
+
curl_close($ch);
|
46 |
+
return true;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Method to check the first time feed upload
|
51 |
+
* @param Mage_Core_Model_Website $website
|
52 |
+
* @return bool
|
53 |
+
*/
|
54 |
+
protected function _checkFeedUpload(Mage_Core_Model_Website $website) {
|
55 |
+
$lastUploadTime = Mage::getResourceModel('unbxd_recscore/config')
|
56 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::LAST_UPLOAD_TIME);
|
57 |
+
return !is_null($lastUploadTime);
|
58 |
+
}
|
59 |
+
protected function _triggerSearchComplete(Mage_Core_Model_Website $website) {
|
60 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::DEBUG, 'trigger search complete for website ' . $website->getName());
|
61 |
+
if(!$this->_checkFeedUpload($website) && Mage::helper('core')->isModuleEnabled('Unbxd_Searchcore')) {
|
62 |
+
Mage::getModel('unbxd_searchcore/api_task_searchsetup')
|
63 |
+
->prepare($website)
|
64 |
+
->process();
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
protected function exec($ch)
|
69 |
+
{
|
70 |
+
$response = curl_exec($ch);
|
71 |
+
$error = curl_error($ch);
|
72 |
+
$result = array( 'header' => '',
|
73 |
+
'body' => '',
|
74 |
+
'curl_error' => '',
|
75 |
+
'http_code' => '',
|
76 |
+
'last_url' => '');
|
77 |
+
if ( $error != "" ) {
|
78 |
+
$result['curl_error'] = $error;
|
79 |
+
return $result;
|
80 |
+
}
|
81 |
+
|
82 |
+
$header_size = curl_getinfo($ch,CURLINFO_HEADER_SIZE);
|
83 |
+
//$result['header'] = substr($response, 0, $header_size);
|
84 |
+
$result['body'] = $response;
|
85 |
+
$result['http_code'] = curl_getinfo($ch,CURLINFO_HTTP_CODE);
|
86 |
+
$result['last_url'] = curl_getinfo($ch,CURLINFO_EFFECTIVE_URL);
|
87 |
+
return $result;
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* method to set the feedName, log, apikey based on site Name
|
92 |
+
**/
|
93 |
+
public function init(Mage_Core_Model_Website $website, $isFullUpload)
|
94 |
+
{
|
95 |
+
$this->fileName = Mage::getBaseDir('tmp').DS.str_replace(' ', '_', $website->getName()).
|
96 |
+
"_Feed" . (!$isFullUpload?round(microtime(true) * 1000):'') . ".json";
|
97 |
+
$this->key = Mage::getResourceModel("unbxd_recscore/config")
|
98 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SECRET_KEY);
|
99 |
+
$this->siteName = Mage::getResourceModel("unbxd_recscore/config")
|
100 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::SITE_KEY);
|
101 |
+
if(is_null($this->siteName) || is_null($this->key)) {
|
102 |
+
$message = 'Authorization failed, keys not set';
|
103 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR, $message);
|
104 |
+
return array('success' => false, 'message' => $message);
|
105 |
+
}
|
106 |
+
return true;
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* method to update feature field if required
|
111 |
+
*
|
112 |
+
* @param Mage_Core_Model_Website $website
|
113 |
+
* @return void
|
114 |
+
*/
|
115 |
+
private function updateFeatureFields(Mage_Core_Model_Website $website) {
|
116 |
+
$needFeatureFieldUpdation = Mage::getResourceModel("unbxd_recscore/config")
|
117 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Confighelper::NEED_FEATURE_FIELD_UPDATION);
|
118 |
+
if(is_null($needFeatureFieldUpdation) || $needFeatureFieldUpdation == "1") {
|
119 |
+
$response = Mage::helper('unbxd_recscore/confighelper')->updateFeatureFields($website);
|
120 |
+
if($response) {
|
121 |
+
Mage::getResourceModel("unbxd_recscore/config")
|
122 |
+
->setValue($website->getWebsiteId(),
|
123 |
+
Unbxd_Recscore_Helper_Constants::NEED_FEATURE_FIELD_UPDATION,
|
124 |
+
Unbxd_Recscore_Helper_Constants::NEED_FEATURE_FIELD_UPDATION_TRUE);
|
125 |
+
//If search module is present and autosuggest is active then trigger autosuggest indexing
|
126 |
+
Mage::helper('unbxd_recscore/confighelper')->triggerAutoggestIndexing($website);
|
127 |
+
|
128 |
+
} else {
|
129 |
+
$this->log("error while updating the feature fields");
|
130 |
+
}
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
+
/**
|
135 |
+
* method to initiate feed uploading to the unbxd servers
|
136 |
+
**/
|
137 |
+
public function process($isFullUpload = true, Mage_Core_Model_Website $website){
|
138 |
+
|
139 |
+
$this->log('Feed Uploading request recieved');
|
140 |
+
$response = $this->init($website, $isFullUpload);
|
141 |
+
if(is_array($response)){
|
142 |
+
return $response;
|
143 |
+
}
|
144 |
+
$currentDate = date('Y-m-d H:i:s');
|
145 |
+
$this->_triggerSearchComplete($website);
|
146 |
+
|
147 |
+
// check the lock, that if already indexing is happening
|
148 |
+
if(!$isFullUpload ||
|
149 |
+
!Mage::getResourceModel("unbxd_recscore/config")->isLock($website->getWebsiteId())) {
|
150 |
+
|
151 |
+
$this->log('site '. $website->getName() .' is acquiring feed lock');
|
152 |
+
if($isFullUpload) {
|
153 |
+
Mage::getResourceSingleton("unbxd_recscore/config")
|
154 |
+
->setValue($website->getWebsiteId(),
|
155 |
+
Unbxd_Recscore_Model_Config::FEED_STATUS,
|
156 |
+
Unbxd_Recscore_Helper_Constants::FEED_STATUS_UPLOADING);
|
157 |
+
Mage::getResourceModel('unbxd_recscore/config')->lockSite($website->getWebsiteId());
|
158 |
+
}
|
159 |
+
try {
|
160 |
+
// create the feed
|
161 |
+
$status = Mage::getSingleton('unbxd_recscore/feed_feedcreator')
|
162 |
+
->setFullUpload($isFullUpload)
|
163 |
+
->createFeed($this->fileName, $website, $currentDate);
|
164 |
+
$this->log('unbxd Datafeeder finished creating file');
|
165 |
+
}catch (Exception $e) {
|
166 |
+
$this->log('Caught exception: '. $e->getMessage());
|
167 |
+
$status = false;
|
168 |
+
$errorMsg = $e->getMessage();
|
169 |
+
}
|
170 |
+
|
171 |
+
if($status){
|
172 |
+
$status=$this->_pushFeed($isFullUpload);
|
173 |
+
if($status){
|
174 |
+
Mage::getResourceSingleton("unbxd_recscore/config")
|
175 |
+
->setValue($website->getWebsiteId(),
|
176 |
+
Unbxd_Recscore_Model_Config::LAST_UPLOAD_TIME, $currentDate);
|
177 |
+
$this->updateFeatureFields($website);
|
178 |
+
}
|
179 |
+
}
|
180 |
+
|
181 |
+
|
182 |
+
if($isFullUpload) {
|
183 |
+
// unlock the feed once everything is completed
|
184 |
+
Mage::getResourceModel('unbxd_recscore/config')->unLockSite($website->getWebsiteId());
|
185 |
+
} else {
|
186 |
+
//In case of incremental feed delete the feed
|
187 |
+
// Mage::getSingleton('unbxd_recscore/filemanager')->deleteFile($this->fileName);
|
188 |
+
}
|
189 |
+
|
190 |
+
$this->log('site ' . $website->getName() .' has been unlocked');
|
191 |
+
if($status) {
|
192 |
+
Mage::getResourceSingleton("unbxd_recscore/config")
|
193 |
+
->setValue($website->getWebsiteId(),
|
194 |
+
Unbxd_Recscore_Model_Config::FEED_STATUS,
|
195 |
+
Unbxd_Recscore_Helper_Constants::FEED_STATUS_UPLOADED_SUCCESSFULLY);
|
196 |
+
return array('success' => true, 'message' => 'File uploaded successfully');
|
197 |
+
}
|
198 |
+
Mage::getResourceSingleton("unbxd_recscore/config")
|
199 |
+
->setValue($website->getWebsiteId(),
|
200 |
+
Unbxd_Recscore_Model_Config::FEED_STATUS,
|
201 |
+
Unbxd_Recscore_Helper_Constants::FEED_STATUS_UPLOADED_FAILED);
|
202 |
+
return array('success' => false, 'message' => isset($errorMsg)?$errorMsg:'Unexpected error, please contact support');
|
203 |
+
} else {
|
204 |
+
$this->log('Feed Uploading failed because site has been locked');
|
205 |
+
return array('success' => false, 'message' => 'Feed is already being processed');
|
206 |
+
}
|
207 |
+
}
|
208 |
+
|
209 |
+
public function log($message) {
|
210 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::DEBUG, $message);
|
211 |
+
}
|
212 |
+
}
|
213 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Feed/Filemanager.php
RENAMED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class
|
4 |
|
5 |
|
6 |
var $logFileName;
|
1 |
<?php
|
2 |
|
3 |
+
class Unbxd_Recscore_Model_Feed_Filemanager {
|
4 |
|
5 |
|
6 |
var $logFileName;
|
app/code/local/Unbxd/Recscore/Model/Feed/Jsonbuilder/Jsonbuilder.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Unbxd_Recscore_Model_Feed_Jsonbuilder_Jsonbuilder {
|
4 |
+
|
5 |
+
|
6 |
+
|
7 |
+
}
|
8 |
+
|
9 |
+
?>
|
app/code/local/Unbxd/Recscore/Model/Feed/Jsonbuilder/Productbuilder.php
ADDED
@@ -0,0 +1,408 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Unbxd_Recscore_Model_Feed_Jsonbuilder_Productbuilder extends
|
4 |
+
Unbxd_Recscore_Model_Feed_Jsonbuilder_Jsonbuilder {
|
5 |
+
|
6 |
+
const NUMBER = "number";
|
7 |
+
const DECIMAL = "decimal";
|
8 |
+
const DATE = "date";
|
9 |
+
const IMAGE_HEIGHT = "image_height";
|
10 |
+
const IMAGE_WIDTH = "image_width";
|
11 |
+
const GENERATE_IMAGE = "generate_image";
|
12 |
+
static $CATEGORY_EXCLUSION_LIST = array();
|
13 |
+
|
14 |
+
/**
|
15 |
+
* @return Unbxd_Recscore_Helper_Feedhelper
|
16 |
+
*/
|
17 |
+
protected function _getFeedHelper() {
|
18 |
+
return Mage::helper('unbxd_recscore/feedhelper');
|
19 |
+
}
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Given product collection, gives the products in unbxd formatted json
|
23 |
+
* @param $website
|
24 |
+
* @param $collection
|
25 |
+
* @param $fields
|
26 |
+
* @return string
|
27 |
+
*/
|
28 |
+
public function getProducts($website, $collection, $fields, $copyFields) {
|
29 |
+
$this->_changeTheme(Mage::getStoreConfig('design/package/name', $website->getDefaultStore()->getCode()),
|
30 |
+
Mage::getStoreConfig('design/package/theme', $website->getDefaultStore()->getCode()));
|
31 |
+
self::$CATEGORY_EXCLUSION_LIST = Mage::helper('unbxd_recscore/confighelper')->getCategoryExclusion($website);
|
32 |
+
$content='';
|
33 |
+
$firstLoop = true;
|
34 |
+
foreach($collection as $product) {
|
35 |
+
if($this->skipProduct($website, $product)) {
|
36 |
+
continue;
|
37 |
+
}
|
38 |
+
if(!$firstLoop) {
|
39 |
+
$content = $content . ",";
|
40 |
+
}
|
41 |
+
|
42 |
+
$productArray = $this->getProduct($website, $product, $fields, $copyFields);
|
43 |
+
$productArray = $this->postProcessProduct($productArray, $fields, false);
|
44 |
+
$content=$content.json_encode($productArray);
|
45 |
+
$firstLoop = false;
|
46 |
+
}
|
47 |
+
|
48 |
+
return rtrim($content, ",");
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Method to check whether the product to be skipped or not depending on the filters
|
53 |
+
* @param Mage_Core_Model_Website $website
|
54 |
+
* @param $product
|
55 |
+
* @return bool
|
56 |
+
*/
|
57 |
+
public function skipProduct(Mage_Core_Model_Website $website, $product) {
|
58 |
+
$filters = $this->_getFeedHelper()->getFilters($website);
|
59 |
+
foreach($filters as $key=>$filter) {
|
60 |
+
if($this->_getFeedHelper()->isMultiSelect($key)) {
|
61 |
+
$values = $this->_getMultiSelectAttribute($key, $product);
|
62 |
+
if(!is_array($values)) {
|
63 |
+
return false;
|
64 |
+
}
|
65 |
+
if(in_array($filter, $values)) {
|
66 |
+
return true;
|
67 |
+
}
|
68 |
+
} else if($this->_getFeedHelper()->getFieldType($key) == 'price') {
|
69 |
+
$temp = explode(Unbxd_Recscore_Helper_Constants::FILTER_RANGE_DELIMITER,$filter);
|
70 |
+
if(sizeof($temp) >=2) {
|
71 |
+
$from = int($temp[0]);
|
72 |
+
$to = int($temp[1]);
|
73 |
+
} else {
|
74 |
+
return false;
|
75 |
+
}
|
76 |
+
|
77 |
+
if(int($product->getData($key)) > $from && int($product->getData($key)) < $to) {
|
78 |
+
return true;
|
79 |
+
}
|
80 |
+
} else {
|
81 |
+
if($filter == $product->getData($key)) {
|
82 |
+
return true;
|
83 |
+
}
|
84 |
+
}
|
85 |
+
}
|
86 |
+
return false;
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* Method to handle Fields
|
91 |
+
*/
|
92 |
+
protected function _handleFields($columnHeader, $unbxdFieldName, $product, &$productArray, $fields, $childProduct) {
|
93 |
+
$columndata = $product->getData($columnHeader);
|
94 |
+
if($columnHeader=="entity_id"){
|
95 |
+
$uniqueIdField = 'uniqueId'.(($childProduct)?'Associated':'');
|
96 |
+
$productArray[$uniqueIdField] = $columndata;
|
97 |
+
}
|
98 |
+
if($columnHeader=="url_path"){
|
99 |
+
// handling the url
|
100 |
+
$productArray[$unbxdFieldName] = $product->getProductUrl();
|
101 |
+
} else if ($this->_getFeedHelper()->isImage($columnHeader)) {
|
102 |
+
// handling tthe images
|
103 |
+
$attributeValue = $this->_getImage($columnHeader, $unbxdFieldName, $product, $fields);
|
104 |
+
if(!is_null($attributeValue)) {
|
105 |
+
$productArray[$unbxdFieldName] = $attributeValue;
|
106 |
+
}
|
107 |
+
} else if( $fields[$unbxdFieldName][Unbxd_Recscore_Model_Field::multivalued]){
|
108 |
+
// handling the array/ multiselect attribute
|
109 |
+
$attributeValue = $this->_getMultiSelectAttribute($columnHeader, $product);
|
110 |
+
if(!is_null($attributeValue)) {
|
111 |
+
$productArray[$unbxdFieldName] = $attributeValue;
|
112 |
+
}
|
113 |
+
} else if (!is_null($columndata) && $columndata != ""){
|
114 |
+
//adding the normal attribute
|
115 |
+
$productArray[$unbxdFieldName] = $columndata;
|
116 |
+
}
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* method to get the product in json
|
121 |
+
* @param Mage_Core_Model_Website $website
|
122 |
+
* @param $product
|
123 |
+
* @param $fields
|
124 |
+
* @param bool $childProduct
|
125 |
+
* @return array
|
126 |
+
*/
|
127 |
+
public function getProduct(Mage_Core_Model_Website $website, $product, $fields, $copyFields, $childProduct = false) {
|
128 |
+
$productArray =array();
|
129 |
+
|
130 |
+
foreach($product->getData('') as $columnHeader=>$columndata){
|
131 |
+
|
132 |
+
$unbxdFieldName = $this->getUnbxdFieldName($columnHeader, $childProduct);
|
133 |
+
if(isset($unbxdFieldName) && $unbxdFieldName != "" && !array_key_exists($unbxdFieldName, $fields)) {
|
134 |
+
continue;
|
135 |
+
}
|
136 |
+
$this->_handleFields($columnHeader, $unbxdFieldName, $product, $productArray, $fields, $childProduct);
|
137 |
+
if(array_key_exists($columnHeader, $copyFields)) {
|
138 |
+
$this->_handleFields($columnHeader, $copyFields[$columnHeader], $product, $productArray, $fields, $childProduct);
|
139 |
+
}
|
140 |
+
}
|
141 |
+
if(!$childProduct) {
|
142 |
+
|
143 |
+
if($this->_getFeedHelper()
|
144 |
+
->isConfigTrue($website, Unbxd_Recscore_Helper_Constants::INCLUDE_CHILD_PRODUCT)) {
|
145 |
+
$productArray = $this->addChildrens($product, $fields, $productArray);
|
146 |
+
}
|
147 |
+
|
148 |
+
$category = $this->_getCategoryAttribute($product);
|
149 |
+
// adding the category
|
150 |
+
$productArray = $category + $productArray;
|
151 |
+
|
152 |
+
$productArray[Unbxd_Recscore_Model_Resource_Field::AVAILABILITY] =
|
153 |
+
$product->isSalable()? "true": "false";
|
154 |
+
|
155 |
+
}
|
156 |
+
return $productArray;
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* method to get category content in xml given the product object
|
161 |
+
* @param $product
|
162 |
+
* @return array
|
163 |
+
*/
|
164 |
+
protected function _getCategoryAttribute($product){
|
165 |
+
$cats = $product->getCategoryIds();
|
166 |
+
$categoryIds = array();
|
167 |
+
$category = array();
|
168 |
+
$categoryData = array();
|
169 |
+
foreach ($cats as $categoryId) {
|
170 |
+
$_cat = $this->_getFeedHelper()->getCategory($categoryId);
|
171 |
+
if($_cat == null) {
|
172 |
+
continue;
|
173 |
+
}
|
174 |
+
$categoryName = $_cat->getName();
|
175 |
+
if($categoryName == null || $categoryName == "" || !$_cat->getIsActive() ) {
|
176 |
+
continue;
|
177 |
+
}
|
178 |
+
$categoryIds[] = (string)$categoryId;
|
179 |
+
$category[] = $categoryName;
|
180 |
+
}
|
181 |
+
|
182 |
+
for($level =1; $level <=4 ; $level++) {
|
183 |
+
$levelCategories = $this->_getFeedHelper()
|
184 |
+
->getCategoryOnLevel($categoryIds, $level);
|
185 |
+
|
186 |
+
if (sizeof($levelCategories) > 0) {
|
187 |
+
$categoryData['categoryLevel' . $level] = array_values(array_diff($levelCategories, self::$CATEGORY_EXCLUSION_LIST));
|
188 |
+
$categoryData['catlevel' . $level . 'Name'] = $levelCategories[0];
|
189 |
+
$category = array_merge($category, $levelCategories);
|
190 |
+
}
|
191 |
+
}
|
192 |
+
|
193 |
+
$categoryData[Unbxd_Recscore_Model_Resource_Field::CATEGORY_IDS_NAME] = $categoryIds;
|
194 |
+
$categoryData[Unbxd_Recscore_Model_Resource_Field::CATEGORY_NAME] = array_values(array_diff($category, self::$CATEGORY_EXCLUSION_LIST));
|
195 |
+
|
196 |
+
return $categoryData;
|
197 |
+
}
|
198 |
+
|
199 |
+
/**
|
200 |
+
* method to returns as an array of values given the fieldName and the product
|
201 |
+
* @param $fieldName
|
202 |
+
* @param $product
|
203 |
+
* @return array|null
|
204 |
+
*/
|
205 |
+
protected function _getMultiSelectAttribute($fieldName, $product) {
|
206 |
+
$data = explode(",", $product->getData($fieldName));
|
207 |
+
$valueAsAnArray = array();
|
208 |
+
foreach($data as $eachdata){
|
209 |
+
$attributeValue = Mage::getResourceSingleton("unbxd_recscore/attribute")
|
210 |
+
->getAttributeValue($fieldName, trim($eachdata), $product);
|
211 |
+
if(!is_null($attributeValue) && $attributeValue != "" && $attributeValue != "Use Config") {
|
212 |
+
$valueAsAnArray[] = $attributeValue;
|
213 |
+
}
|
214 |
+
}
|
215 |
+
if(sizeof($valueAsAnArray) > 0) {
|
216 |
+
return $valueAsAnArray;
|
217 |
+
}
|
218 |
+
return null;
|
219 |
+
}
|
220 |
+
|
221 |
+
protected function _changeTheme($packageName, $themeName) {
|
222 |
+
Mage::getDesign()->setArea('frontend')
|
223 |
+
->setPackageName($packageName)
|
224 |
+
->setTheme($themeName);
|
225 |
+
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
* Method given the fieldName and product, returns full image url
|
229 |
+
* @param $fieldName
|
230 |
+
* @param $unbxdFieldName
|
231 |
+
* @param $product
|
232 |
+
* @param $fields
|
233 |
+
* @return string
|
234 |
+
*/
|
235 |
+
protected function _getImage($fieldName, $unbxdFieldName, $product, $fields) {
|
236 |
+
if(array_key_exists(self::GENERATE_IMAGE, $fields[$unbxdFieldName]) &&
|
237 |
+
$fields[$unbxdFieldName][self::GENERATE_IMAGE] == "1") {
|
238 |
+
try {
|
239 |
+
return (string)Mage::helper('catalog/image')->init($product, $fieldName)
|
240 |
+
->resize(155, 155);
|
241 |
+
} catch (Exception $e) {
|
242 |
+
error_log("Error while fetching the image" . $e->getMessage());
|
243 |
+
}
|
244 |
+
}
|
245 |
+
return $product->getData($fieldName);
|
246 |
+
}
|
247 |
+
|
248 |
+
/*
|
249 |
+
* get unbxd specfic field name for the magento field name
|
250 |
+
*/
|
251 |
+
private function getUnbxdFieldName($columnHeader, $isChild) {
|
252 |
+
if($isChild) {
|
253 |
+
$unbxdFieldName = $columnHeader . "Associated";
|
254 |
+
} else {
|
255 |
+
$unbxdFieldName = $columnHeader;
|
256 |
+
}
|
257 |
+
return $unbxdFieldName;
|
258 |
+
//return $this->renameConflictedFeatureFields($unbxdFieldName);
|
259 |
+
}
|
260 |
+
|
261 |
+
/*
|
262 |
+
* Renaming the conflicted unbxd feature fields eg: gender to _gender
|
263 |
+
*/
|
264 |
+
private function renameConflictedFeatureFields($unbxdFieldName) {
|
265 |
+
if (in_array($unbxdFieldName, Mage::getResourceSingleton('unbxd_recscore/field')->getConflictedFeatureFieldLust())) {
|
266 |
+
return "_" . $unbxdFieldName;
|
267 |
+
}
|
268 |
+
return $unbxdFieldName;
|
269 |
+
}
|
270 |
+
|
271 |
+
/**
|
272 |
+
* gives the children in form of array
|
273 |
+
*/
|
274 |
+
public function addChildrens($product, $fields, $productArray) {
|
275 |
+
|
276 |
+
$type = $product->getData('type_id');
|
277 |
+
if ($type == "configurable" || $type == "grouped" ) {
|
278 |
+
$associatedProducts = array();
|
279 |
+
$conf = Mage::getModel('catalog/product_type_configurable')->setProduct($product);
|
280 |
+
$childrens = $conf->getUsedProductCollection()
|
281 |
+
->addAttributeToSelect('*')
|
282 |
+
->addFilterByRequiredOptions()
|
283 |
+
->joinField("qtyAssociated", "cataloginventory_stock_item", 'qty', 'product_id=entity_id', null, 'left');
|
284 |
+
foreach ($childrens as $children)
|
285 |
+
{
|
286 |
+
$childProduct = $this->getProduct($children, $fields, true);
|
287 |
+
if(isset($childProduct) && sizeof($childProduct) > 0 ) {
|
288 |
+
$childProduct = $this->postProcessProduct($childProduct, $fields, true);
|
289 |
+
$associatedProducts[] = $childProduct;
|
290 |
+
}
|
291 |
+
}
|
292 |
+
if( sizeof($associatedProducts) > 0) {
|
293 |
+
$productArray["associatedProducts"] = $associatedProducts;
|
294 |
+
}
|
295 |
+
return $productArray;
|
296 |
+
} else {
|
297 |
+
return $productArray;
|
298 |
+
}
|
299 |
+
}
|
300 |
+
|
301 |
+
/**
|
302 |
+
* process the prodcut
|
303 |
+
*/
|
304 |
+
public function postProcessProduct($product, $fields, $isChild=false) {
|
305 |
+
if($isChild) {
|
306 |
+
$product = $this->convertMultivalued($product);
|
307 |
+
} else {
|
308 |
+
$product = $this->convertMultivalued($product, $fields);
|
309 |
+
}
|
310 |
+
$product = $this->convertDataType($product, $fields, $isChild);
|
311 |
+
return $product;
|
312 |
+
}
|
313 |
+
|
314 |
+
/*
|
315 |
+
* convert the data type according to the dashboard setup
|
316 |
+
*/
|
317 |
+
public function convertDataType($product, $fields) {
|
318 |
+
foreach($product as $fieldName => $value) {
|
319 |
+
if($fieldName != "associatedProducts") {
|
320 |
+
$product[$fieldName] = $this->convertDataTypeByValue($fields[$fieldName], $value);
|
321 |
+
}
|
322 |
+
}
|
323 |
+
return $product;
|
324 |
+
}
|
325 |
+
|
326 |
+
/*
|
327 |
+
* method to get the float values
|
328 |
+
*/
|
329 |
+
private function getFloatValues($value) {
|
330 |
+
if(is_array($value)) {
|
331 |
+
$valueAsAnArray = array();
|
332 |
+
foreach ($value as $eachValue) {
|
333 |
+
$valueAsAnArray[] = floatval($eachValue);
|
334 |
+
}
|
335 |
+
return $valueAsAnArray;
|
336 |
+
} else {
|
337 |
+
return floatval($value);
|
338 |
+
}
|
339 |
+
}
|
340 |
+
|
341 |
+
|
342 |
+
/*
|
343 |
+
* returns the array as number
|
344 |
+
*/
|
345 |
+
private function getNumberValues($value) {
|
346 |
+
if(is_array($value)) {
|
347 |
+
$valueAsAnArray = array();
|
348 |
+
foreach ($value as $eachValue) {
|
349 |
+
$valueAsAnArray[] = intval($eachValue);
|
350 |
+
}
|
351 |
+
return $valueAsAnArray;
|
352 |
+
} else {
|
353 |
+
return intval($value);
|
354 |
+
}
|
355 |
+
}
|
356 |
+
|
357 |
+
/*
|
358 |
+
* returns the date value
|
359 |
+
*/
|
360 |
+
private function getDateValues($value) {
|
361 |
+
if(is_array($value)) {
|
362 |
+
$tempValue = array();
|
363 |
+
foreach ($value as $eachValue) {
|
364 |
+
$tokens = explode(" ",$eachValue);
|
365 |
+
$tempValue[] = $tokens[0].'T'.$tokens[1].'Z';
|
366 |
+
}
|
367 |
+
return $tempValue;
|
368 |
+
}
|
369 |
+
$tokens = explode(" ",$value);
|
370 |
+
$value = $tokens[0].'T'.$tokens[1].'Z';
|
371 |
+
return $value;
|
372 |
+
}
|
373 |
+
|
374 |
+
/*
|
375 |
+
* returns the data type value
|
376 |
+
*/
|
377 |
+
private function convertDataTypeByValue($data_type, $value) {
|
378 |
+
if($data_type[Unbxd_Recscore_Model_Field::datatype] == self::DECIMAL) {
|
379 |
+
return $this->getFloatValues($value);
|
380 |
+
} else if ($data_type[Unbxd_Recscore_Model_Field::datatype] == self::NUMBER) {
|
381 |
+
return $this->getNumberValues($value);
|
382 |
+
} else if ($data_type[Unbxd_Recscore_Model_Field::datatype] == self::DATE) {
|
383 |
+
return $this->getDateValues($value);
|
384 |
+
}
|
385 |
+
return $value;
|
386 |
+
}
|
387 |
+
|
388 |
+
/*
|
389 |
+
* returns the product by changing it to multivalued after checking its data type
|
390 |
+
*/
|
391 |
+
public function convertMultivalued($product, $fields = null) {
|
392 |
+
foreach($product as $field=>$value) {
|
393 |
+
if((is_null($fields) ||
|
394 |
+
(($field != "associatedProducts") &&
|
395 |
+
array_key_exists(Unbxd_Recscore_Model_Field::multivalued,$fields[$field]) &&
|
396 |
+
$fields[$field][Unbxd_Recscore_Model_Field::multivalued])) &&
|
397 |
+
!is_array($value)) {
|
398 |
+
|
399 |
+
$valueAsAnArray = array();
|
400 |
+
$valueAsAnArray[] = $value;
|
401 |
+
$product[$field] = $valueAsAnArray;
|
402 |
+
}
|
403 |
+
}
|
404 |
+
return $product;
|
405 |
+
}
|
406 |
+
}
|
407 |
+
|
408 |
+
?>
|
app/code/local/Unbxd/Recscore/Model/Feed/Jsonbuilder/Schemabuilder.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Unbxd_Recscore_Model_Feed_Jsonbuilder_Schemabuilder extends Unbxd_Recscore_Model_Feed_Jsonbuilder_Jsonbuilder {
|
4 |
+
|
5 |
+
|
6 |
+
const FIELD_NAME = "fieldName";
|
7 |
+
const DATA_TYPE = "dataType";
|
8 |
+
const MULTIVALUED = "multiValued";
|
9 |
+
const AUTOSUGGEST = "autoSuggest";
|
10 |
+
const TRUE = "true";
|
11 |
+
const FALSE = "false";
|
12 |
+
|
13 |
+
public function getSchema($fields) {
|
14 |
+
$fieldList = array();
|
15 |
+
foreach($fields as $fieldName=>$values ) {
|
16 |
+
$fieldList[] = array(self::FIELD_NAME => $fieldName,
|
17 |
+
self::DATA_TYPE => $values[Unbxd_Recscore_Model_Field::datatype],
|
18 |
+
self::MULTIVALUED =>
|
19 |
+
(array_key_exists(Unbxd_Recscore_Model_Field::multivalued, $values)
|
20 |
+
&& $values[Unbxd_Recscore_Model_Field::multivalued])?
|
21 |
+
self::TRUE:self::FALSE,
|
22 |
+
self::AUTOSUGGEST => ($values[Unbxd_Recscore_Model_Field::autosuggest] == 1?self::TRUE: self::FALSE));
|
23 |
+
|
24 |
+
}
|
25 |
+
return json_encode($fieldList);
|
26 |
+
}
|
27 |
+
}
|
28 |
+
|
29 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Feed/Jsonbuilder/Taxonomybuilder.php
RENAMED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class
|
4 |
|
5 |
var $file='unbxdTaxonomy.xml';
|
6 |
|
1 |
<?php
|
2 |
|
3 |
+
class Unbxd_Recscore_Model_Feed_Jsonbuilder_Taxonomybuilder extends Unbxd_Recscore_Model_Feed_Jsonbuilder_Jsonbuilder {
|
4 |
|
5 |
var $file='unbxdTaxonomy.xml';
|
6 |
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Feed/Tags.php
RENAMED
@@ -5,7 +5,7 @@
|
|
5 |
* Date: 1/29/15
|
6 |
* Time: 12:25 PM
|
7 |
*/
|
8 |
-
class
|
9 |
const CATALOG = 'catalog';
|
10 |
|
11 |
const ADD = 'add';
|
5 |
* Date: 1/29/15
|
6 |
* Time: 12:25 PM
|
7 |
*/
|
8 |
+
class Unbxd_Recscore_Model_Feed_Tags {
|
9 |
const CATALOG = 'catalog';
|
10 |
|
11 |
const ADD = 'add';
|
app/code/local/Unbxd/Recscore/Model/Field.php
ADDED
@@ -0,0 +1,220 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* This class maintains the config of the fields that are needed by unbxd
|
5 |
+
*
|
6 |
+
* @category Unbxd
|
7 |
+
* @package Unbxd_Recscore
|
8 |
+
* @author Unbxd Software Pvt. Ltd
|
9 |
+
*/
|
10 |
+
class Unbxd_Recscore_Model_Field extends Mage_Core_Model_Abstract {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* field name column in db
|
14 |
+
*/
|
15 |
+
const field_name = "field_name";
|
16 |
+
|
17 |
+
/**
|
18 |
+
* datatype column name in db
|
19 |
+
*/
|
20 |
+
const datatype = "datatype";
|
21 |
+
|
22 |
+
/**
|
23 |
+
* autosuggest column name in db
|
24 |
+
*/
|
25 |
+
const autosuggest = "autosuggest";
|
26 |
+
|
27 |
+
/**
|
28 |
+
* featured_field column name in db
|
29 |
+
*/
|
30 |
+
const featured_field = "featured_field";
|
31 |
+
|
32 |
+
/**
|
33 |
+
* displayable column name in db
|
34 |
+
*/
|
35 |
+
const dislayable = "displayed";
|
36 |
+
|
37 |
+
const multivalued = 'multivalued';
|
38 |
+
|
39 |
+
/**
|
40 |
+
* website id column name in db
|
41 |
+
*/
|
42 |
+
const website_id = "website_id";
|
43 |
+
|
44 |
+
const status = 'status';
|
45 |
+
|
46 |
+
/**
|
47 |
+
* All possible data type values supported unbxd
|
48 |
+
* @var array
|
49 |
+
*/
|
50 |
+
public static $data_types = array(Unbxd_Recscore_Helper_Constants::UNBXD_DATATYPE_TEXT, Unbxd_Recscore_Helper_Constants::UNBXD_DATATYPE_LONGTEXT,
|
51 |
+
Unbxd_Recscore_Helper_Constants::UNBXD_DATATYPE_LINK, Unbxd_Recscore_Helper_Constants::UNBXD_DATATYPE_NUMBER,
|
52 |
+
Unbxd_Recscore_Helper_Constants::UNBXD_DATATYPE_DECIMAL, Unbxd_Recscore_Helper_Constants::UNBXD_DATATYPE_DATE);
|
53 |
+
|
54 |
+
|
55 |
+
public static $displayableFeatureFields = array('title', 'price',
|
56 |
+
'brand', 'color', 'size', 'imageUrl', 'productUrl');
|
57 |
+
|
58 |
+
public static $featurefields = array();
|
59 |
+
|
60 |
+
/**
|
61 |
+
*
|
62 |
+
* @return void
|
63 |
+
*/
|
64 |
+
protected function _construct()
|
65 |
+
{
|
66 |
+
$this->_init('unbxd_recscore/field');
|
67 |
+
Unbxd_Recscore_Model_Field::$featurefields = $this->getFeaturedFields();
|
68 |
+
|
69 |
+
}
|
70 |
+
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Save fields
|
74 |
+
*
|
75 |
+
* @return void
|
76 |
+
*/
|
77 |
+
public function saveFields($collection) {
|
78 |
+
$this->_getResource()->beginTransaction();
|
79 |
+
try {
|
80 |
+
foreach ($collection as $data) {
|
81 |
+
if(sizeof($data) > 0) {
|
82 |
+
if(array_key_exists("add", $data)) {
|
83 |
+
$data["add"]->save();
|
84 |
+
} else if (array_key_exists("delete", $data)) {
|
85 |
+
$data["delete"]->delete();
|
86 |
+
}
|
87 |
+
}
|
88 |
+
}
|
89 |
+
|
90 |
+
$this->_getResource()->commit();
|
91 |
+
} catch(Exception $e) {
|
92 |
+
$this->_getResource()->rollBack();
|
93 |
+
Mage::helper("unbxd_recscore")->log(Zend_Log::ERR, "Saving fields failed because " . $e->getMessage());
|
94 |
+
return array('OTHERS' => $e->getMessage());
|
95 |
+
}
|
96 |
+
return true;
|
97 |
+
|
98 |
+
}
|
99 |
+
|
100 |
+
/*
|
101 |
+
* method to get the featured fields
|
102 |
+
*/
|
103 |
+
public function getFeaturedFields() {
|
104 |
+
$featuredFields = array();
|
105 |
+
$featuredFields["uniqueId"]=$this->getField("text", "false", "false");
|
106 |
+
$featuredFields["sellingPrice"]=$this->getField("decimal", "false", "false");
|
107 |
+
$featuredFields["discount"]=$this->getField("decimal", "false", "false");
|
108 |
+
$featuredFields["rating"]=$this->getField("decimal", "false", "false");
|
109 |
+
$featuredFields["brandId"]=$this->getField("text", "false", "false");
|
110 |
+
$featuredFields[Unbxd_Recscore_Model_Resource_Field::CAT_LEVEL_1_NAME] =
|
111 |
+
$this->getField("text", "false", "false");
|
112 |
+
$featuredFields[Unbxd_Recscore_Model_Resource_Field::CAT_LEVEL_2_NAME] =
|
113 |
+
$this->getField("text", "false", "false");
|
114 |
+
$featuredFields[Unbxd_Recscore_Model_Resource_Field::CAT_LEVEL_3_NAME] =
|
115 |
+
$this->getField("text", "false", "false");
|
116 |
+
$featuredFields[Unbxd_Recscore_Model_Resource_Field::CAT_LEVEL_4_NAME] =
|
117 |
+
$this->getField("text", "false", "false");
|
118 |
+
$featuredFields[Unbxd_Recscore_Model_Resource_Field::CAT_LEVEL_1] =
|
119 |
+
$this->getField("text", "true", "false");
|
120 |
+
$featuredFields[Unbxd_Recscore_Model_Resource_Field::CAT_LEVEL_2] =
|
121 |
+
$this->getField("text", "true", "false");
|
122 |
+
$featuredFields[Unbxd_Recscore_Model_Resource_Field::CAT_LEVEL_3] =
|
123 |
+
$this->getField("text", "true", "false");
|
124 |
+
$featuredFields[Unbxd_Recscore_Model_Resource_Field::CAT_LEVEL_4] =
|
125 |
+
$this->getField("text", "true", "false");
|
126 |
+
$featuredFields["category"] = $this->getField("text", "true", "true");
|
127 |
+
$featuredFields["subCategory"]=$this->getField("text", "true", "true");
|
128 |
+
$featuredFields["color"]=$this->getField("text", "true", "false");
|
129 |
+
$featuredFields["size"]=$this->getField("text", "true", "false");
|
130 |
+
$featuredFields["availability"]=$this->getField("bool", "false", "false");
|
131 |
+
$featuredFields["description"]=$this->getField("longText", "false", "false");
|
132 |
+
$featuredFields["imageUrl"]=$this->getField("link", "true", "false");
|
133 |
+
$featuredFields["productUrl"]=$this->getField("link", "false", "false");
|
134 |
+
$featuredFields["brand"]=$this->getField("text", "false", "true");
|
135 |
+
$featuredFields["price"]=$this->getField("decimal", "false", "false");
|
136 |
+
$featuredFields["title"]=$this->getField("text", "false", "true");
|
137 |
+
$featuredFields["gender"]=$this->getField("text", "false", "false");
|
138 |
+
$featuredFields["unbxdVisibility"]=$this->getField("text", "false", "false");
|
139 |
+
return $featuredFields;
|
140 |
+
}
|
141 |
+
|
142 |
+
public function getField($dataType, $multiValued, $autosuggest) {
|
143 |
+
return array( self::status => 1, self::datatype => $dataType,
|
144 |
+
self::multivalued => ($multiValued=="true")?1:0,
|
145 |
+
self::autosuggest => ($autosuggest=="true")?1:0 );
|
146 |
+
|
147 |
+
}
|
148 |
+
|
149 |
+
public function getPriceFieldName() {
|
150 |
+
$priceFieldConfig =
|
151 |
+
Mage::helper('unbxd_recscore')->getEngineConfigData(Unbxd_Recscore_Helper_Constants::FEATURE_FIELD_PRICE);
|
152 |
+
return $priceFieldConfig[Unbxd_Recscore_Helper_Constants::FEATURE_FIELD_PRICE];
|
153 |
+
}
|
154 |
+
|
155 |
+
public function getImageUrlFieldName() {
|
156 |
+
$imageUrlFieldName = $this->_getResource()->getFieldByFeatureField(Mage::app()->getWebsite()->getWebsiteId(),
|
157 |
+
Unbxd_Recscore_Helper_Constants::FEATURE_FIELD_IMAGE_URL);
|
158 |
+
return $imageUrlFieldName;
|
159 |
+
}
|
160 |
+
|
161 |
+
public function getProductUrlFieldName() {
|
162 |
+
$fieldConfig =
|
163 |
+
Mage::helper('unbxd_recscore')
|
164 |
+
->getEngineConfigData(Unbxd_Recscore_Helper_Constants::FEATURE_FIELD_PRODUCT_URL);
|
165 |
+
return $fieldConfig[Unbxd_Recscore_Helper_Constants::FEATURE_FIELD_PRODUCT_URL];
|
166 |
+
|
167 |
+
}
|
168 |
+
|
169 |
+
public function getImageFields($website) {
|
170 |
+
$conf = Mage::helper('unbxd_recscore')->getEngineConfigData(Unbxd_Recscore_Helper_Constants::FIELD_CONF, $website, true);
|
171 |
+
$fieldConf = json_decode($conf[Unbxd_Recscore_Helper_Constants::FIELD_CONF], true);
|
172 |
+
if(!is_array($fieldConf)) {
|
173 |
+
return array();
|
174 |
+
}
|
175 |
+
$imageFields = array();
|
176 |
+
foreach($fieldConf as $field => $conf ) {
|
177 |
+
if(!is_array($conf) || !array_key_exists('image_full', $conf)) {
|
178 |
+
continue;
|
179 |
+
}
|
180 |
+
$imageFields[$field] = Mage::helper('unbxd_recscore')->isConfigTrue($website, 'image_full')?true:false;
|
181 |
+
}
|
182 |
+
return $imageFields;
|
183 |
+
}
|
184 |
+
|
185 |
+
public function getCopyFields($website) {
|
186 |
+
$conf = Mage::helper('unbxd_recscore')->getEngineConfigData(Unbxd_Recscore_Helper_Constants::FIELD_CONF, $website, true);
|
187 |
+
|
188 |
+
$fieldConf = json_decode($conf[Unbxd_Recscore_Helper_Constants::FIELD_CONF], true);
|
189 |
+
if(!is_array($fieldConf)) {
|
190 |
+
return array();
|
191 |
+
}
|
192 |
+
$imageFields = array();
|
193 |
+
foreach($fieldConf as $field => $conf ) {
|
194 |
+
if(!is_array($conf) || !array_key_exists('copy_field', $conf)) {
|
195 |
+
continue;
|
196 |
+
}
|
197 |
+
$imageFields[$field] = $conf['copy_field'];
|
198 |
+
}
|
199 |
+
return $imageFields;
|
200 |
+
}
|
201 |
+
|
202 |
+
public function validateDatatype($unbxdDatatype, $magentoDatatype) {
|
203 |
+
if($unbxdDatatype == Unbxd_Recscore_Helper_Constants::UNBXD_DATATYPE_TEXT || $unbxdDatatype == Unbxd_Recscore_Helper_Constants::UNBXD_DATATYPE_LONGTEXT ||
|
204 |
+
$unbxdDatatype == Unbxd_Recscore_Helper_Constants::UNBXD_DATATYPE_LINK) {
|
205 |
+
return true;
|
206 |
+
}
|
207 |
+
if($unbxdDatatype == Unbxd_Recscore_Helper_Constants::UNBXD_DATATYPE_NUMBER && $magentoDatatype == Unbxd_Recscore_Helper_Constants::FIELD_TYPE_NUMBER) {
|
208 |
+
return true;
|
209 |
+
}
|
210 |
+
if($unbxdDatatype == Unbxd_Recscore_Helper_Constants::UNBXD_DATATYPE_DECIMAL && $magentoDatatype == Unbxd_Recscore_Helper_Constants::FIELD_TYPE_NUMBER) {
|
211 |
+
return true;
|
212 |
+
}
|
213 |
+
if($unbxdDatatype == Unbxd_Recscore_Helper_Constants::UNBXD_DATATYPE_DATE && $magentoDatatype == Unbxd_Recscore_Helper_Constants::FIELD_TYPE_DATE) {
|
214 |
+
return true;
|
215 |
+
}
|
216 |
+
return false;
|
217 |
+
}
|
218 |
+
}
|
219 |
+
|
220 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Observer.php
RENAMED
@@ -2,23 +2,26 @@
|
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
-
* @package
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
-
class
|
9 |
|
10 |
/**
|
11 |
* Observer method to track the add to cart
|
12 |
* @return $this
|
13 |
*/
|
14 |
public function trackAddToCart(Varien_Event_Observer $observer) {
|
|
|
|
|
|
|
15 |
$product = $observer->getEvent()->getProduct();
|
16 |
if(!$product instanceof Mage_Catalog_Model_Product) {
|
17 |
-
Mage::helper('
|
18 |
return $this;
|
19 |
}
|
20 |
-
$response = Mage::getModel('
|
21 |
-
->setData('data', array('pid' => Mage::helper('
|
22 |
'visit_type' => 'repeat'))
|
23 |
->setData('ip', isset($_SERVER['HTTP_X_FORWARDED_FOR'])?$_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER['REMOTE_ADDR'])
|
24 |
->setData('agent', $_SERVER['HTTP_USER_AGENT'])
|
@@ -26,7 +29,7 @@ class Unbxd_Recommendation_Model_Observer {
|
|
26 |
->process();
|
27 |
$errors = $response->getErrors();
|
28 |
if(sizeof($errors) > 0) {
|
29 |
-
Mage::helper('
|
30 |
->log(Zend_Log::ERR, 'CART_TRACKER:request failed because ' .json_encode($errors));
|
31 |
}
|
32 |
return $this;
|
@@ -37,27 +40,29 @@ class Unbxd_Recommendation_Model_Observer {
|
|
37 |
* @return $this
|
38 |
*/
|
39 |
public function trackOrder(Varien_Event_Observer $observer) {
|
40 |
-
|
|
|
|
|
41 |
$payment = $observer->getEvent()->getPayment();
|
42 |
/* @var Mage_Sales_Model_Order_Payment */
|
43 |
|
44 |
if(!$payment instanceof Mage_Sales_Model_Order_Payment) {
|
45 |
-
Mage::helper('
|
46 |
return $this;
|
47 |
}
|
48 |
$items = $payment->getOrder()->getItemsCollection();
|
49 |
|
50 |
foreach($items as $item) {
|
51 |
if($item instanceof Mage_Sales_Model_Order) {
|
52 |
-
Mage::helper('
|
53 |
->log(Zend_Log::ERR, 'ORDER_TRACKER:request failed because item is of instancetype ' . get_class($item));
|
54 |
continue;
|
55 |
}
|
56 |
$product =$item->getProduct();
|
57 |
-
$response = Mage::getModel('
|
58 |
->setData('data',
|
59 |
array('visit_type' => 'repeat',
|
60 |
-
'pid' => Mage::helper('
|
61 |
'qty' => $item->getQtyOrdered(),
|
62 |
'price' => $item->getPriceInclTax()))
|
63 |
->setData('ip', isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'])
|
@@ -66,10 +71,10 @@ class Unbxd_Recommendation_Model_Observer {
|
|
66 |
->process();
|
67 |
|
68 |
if ($response->isSuccess() && is_array($response->getErrors()) && sizeof($response->getErrors()) > 0) {
|
69 |
-
Mage::helper('
|
70 |
->log(Zend_Log::ERR, 'ORDER_TRACKER:request failed because ' . json_encode($response->getErrors()));
|
71 |
}
|
72 |
-
Mage::getSingleton('
|
73 |
}
|
74 |
return $this;
|
75 |
}
|
@@ -79,44 +84,75 @@ class Unbxd_Recommendation_Model_Observer {
|
|
79 |
* @param Varien_Event_Observer $observer
|
80 |
* @return $this
|
81 |
*/
|
82 |
-
public function
|
83 |
{
|
|
|
|
|
|
|
84 |
$websiteCollection = Mage::getModel('core/website')->getCollection()->load();
|
85 |
|
86 |
foreach ($websiteCollection as $website) {
|
87 |
-
Mage::getResourceModel('
|
88 |
-
->setValue($website->getWebsiteId(),
|
89 |
-
Mage::getSingleton('
|
90 |
}
|
91 |
return $this;
|
92 |
}
|
93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
/**
|
95 |
* Method to track deleted product
|
96 |
* @param Varien_Event_Observer $observer
|
97 |
* @return void
|
98 |
*/
|
99 |
-
public function
|
|
|
|
|
|
|
100 |
$product = $observer->getEvent()->getDataObject();
|
101 |
$parentIds = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($product->getId());
|
102 |
if(!$parentIds)
|
103 |
$parentIds = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
|
104 |
foreach($parentIds as $parentId) {
|
105 |
$parentProduct = Mage::getModel('catalog/product')->load($parentId);
|
106 |
-
Mage::getSingleton('
|
107 |
}
|
108 |
-
Mage::getSingleton('
|
109 |
return $this;
|
110 |
}
|
111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
public function catalogInventorySave(Varien_Event_Observer $observer) {
|
|
|
|
|
|
|
113 |
$_item = $observer->getEvent()->getItem()->getProduct();
|
114 |
-
|
|
|
115 |
return $this;
|
116 |
}
|
117 |
-
|
118 |
-
public function saleOrderCancel(Varien_Event_Observer $observer) {
|
119 |
-
|
120 |
-
}
|
121 |
}
|
122 |
-
?>
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
+
class Unbxd_Recscore_Model_Observer {
|
9 |
|
10 |
/**
|
11 |
* Observer method to track the add to cart
|
12 |
* @return $this
|
13 |
*/
|
14 |
public function trackAddToCart(Varien_Event_Observer $observer) {
|
15 |
+
if(!Mage::helper('unbxd_recscore')->isExecutable()) {
|
16 |
+
return;
|
17 |
+
}
|
18 |
$product = $observer->getEvent()->getProduct();
|
19 |
if(!$product instanceof Mage_Catalog_Model_Product) {
|
20 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR, 'CART_TRACKER:product is not a valid type');
|
21 |
return $this;
|
22 |
}
|
23 |
+
$response = Mage::getModel('unbxd_recscore/api_task_trackcart')
|
24 |
+
->setData('data', array('pid' => Mage::helper('unbxd_recscore/feedhelper')->getUniqueId($product),
|
25 |
'visit_type' => 'repeat'))
|
26 |
->setData('ip', isset($_SERVER['HTTP_X_FORWARDED_FOR'])?$_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER['REMOTE_ADDR'])
|
27 |
->setData('agent', $_SERVER['HTTP_USER_AGENT'])
|
29 |
->process();
|
30 |
$errors = $response->getErrors();
|
31 |
if(sizeof($errors) > 0) {
|
32 |
+
Mage::helper('unbxd_recscore')
|
33 |
->log(Zend_Log::ERR, 'CART_TRACKER:request failed because ' .json_encode($errors));
|
34 |
}
|
35 |
return $this;
|
40 |
* @return $this
|
41 |
*/
|
42 |
public function trackOrder(Varien_Event_Observer $observer) {
|
43 |
+
if(!Mage::helper('unbxd_recscore')->isExecutable()) {
|
44 |
+
return;
|
45 |
+
}
|
46 |
$payment = $observer->getEvent()->getPayment();
|
47 |
/* @var Mage_Sales_Model_Order_Payment */
|
48 |
|
49 |
if(!$payment instanceof Mage_Sales_Model_Order_Payment) {
|
50 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR, 'ORDER_TRACKER:payment is not a valid type');
|
51 |
return $this;
|
52 |
}
|
53 |
$items = $payment->getOrder()->getItemsCollection();
|
54 |
|
55 |
foreach($items as $item) {
|
56 |
if($item instanceof Mage_Sales_Model_Order) {
|
57 |
+
Mage::helper('unbxd_recscore')
|
58 |
->log(Zend_Log::ERR, 'ORDER_TRACKER:request failed because item is of instancetype ' . get_class($item));
|
59 |
continue;
|
60 |
}
|
61 |
$product =$item->getProduct();
|
62 |
+
$response = Mage::getModel('unbxd_recscore/api_task_trackorder')
|
63 |
->setData('data',
|
64 |
array('visit_type' => 'repeat',
|
65 |
+
'pid' => Mage::helper('unbxd_recscore/feedhelper')->getUniqueId($product),
|
66 |
'qty' => $item->getQtyOrdered(),
|
67 |
'price' => $item->getPriceInclTax()))
|
68 |
->setData('ip', isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'])
|
71 |
->process();
|
72 |
|
73 |
if ($response->isSuccess() && is_array($response->getErrors()) && sizeof($response->getErrors()) > 0) {
|
74 |
+
Mage::helper('unbxd_recscore')
|
75 |
->log(Zend_Log::ERR, 'ORDER_TRACKER:request failed because ' . json_encode($response->getErrors()));
|
76 |
}
|
77 |
+
Mage::getSingleton('unbxd_recscore/sync')->addProduct($product);
|
78 |
}
|
79 |
return $this;
|
80 |
}
|
84 |
* @param Varien_Event_Observer $observer
|
85 |
* @return $this
|
86 |
*/
|
87 |
+
public function syncFull(Varien_Event_Observer $observer)
|
88 |
{
|
89 |
+
if(!Mage::helper('unbxd_recscore')->isExecutable()) {
|
90 |
+
return;
|
91 |
+
}
|
92 |
$websiteCollection = Mage::getModel('core/website')->getCollection()->load();
|
93 |
|
94 |
foreach ($websiteCollection as $website) {
|
95 |
+
Mage::getResourceModel('unbxd_recscore/config')
|
96 |
+
->setValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::IS_CRON_ENABLED, 1);
|
97 |
+
Mage::getSingleton('unbxd_recscore/feed_feedmanager')->process(true, $website);
|
98 |
}
|
99 |
return $this;
|
100 |
}
|
101 |
|
102 |
+
/*
|
103 |
+
* Method to sync the product incremental catalog through cron
|
104 |
+
* @param Varien_Event_Observer $observer
|
105 |
+
* @return $this
|
106 |
+
*/
|
107 |
+
public function syncIncremental(Varien_Event_Observer $observer)
|
108 |
+
{
|
109 |
+
if(!Mage::helper('unbxd_recscore')->isExecutable()) {
|
110 |
+
return;
|
111 |
+
}
|
112 |
+
$websiteCollection = Mage::getModel('core/website')->getCollection()->load();
|
113 |
+
foreach ($websiteCollection as $website) {
|
114 |
+
Mage::getResourceModel('unbxd_recscore/config')
|
115 |
+
->setValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::IS_CRON_ENABLED, 1);
|
116 |
+
Mage::getSingleton('unbxd_recscore/feed_feedmanager')->process(false, $website);
|
117 |
+
}
|
118 |
+
return $this;
|
119 |
+
}
|
120 |
+
|
121 |
/**
|
122 |
* Method to track deleted product
|
123 |
* @param Varien_Event_Observer $observer
|
124 |
* @return void
|
125 |
*/
|
126 |
+
public function trackDelete(Varien_Event_Observer $observer) {
|
127 |
+
if(!Mage::helper('unbxd_recscore')->isExecutable()) {
|
128 |
+
return;
|
129 |
+
}
|
130 |
$product = $observer->getEvent()->getDataObject();
|
131 |
$parentIds = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($product->getId());
|
132 |
if(!$parentIds)
|
133 |
$parentIds = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
|
134 |
foreach($parentIds as $parentId) {
|
135 |
$parentProduct = Mage::getModel('catalog/product')->load($parentId);
|
136 |
+
Mage::getSingleton('unbxd_recscore/sync')->addProduct($parentProduct);
|
137 |
}
|
138 |
+
Mage::getSingleton('unbxd_recscore/sync')->deleteProduct($product);
|
139 |
return $this;
|
140 |
}
|
141 |
|
142 |
+
/**
|
143 |
+
* Method to track deleted product
|
144 |
+
* @param Varien_Event_Observer $observer
|
145 |
+
* @return void
|
146 |
+
*/
|
147 |
+
|
148 |
public function catalogInventorySave(Varien_Event_Observer $observer) {
|
149 |
+
if(!Mage::helper('unbxd_recscore')->isExecutable()) {
|
150 |
+
return;
|
151 |
+
}
|
152 |
$_item = $observer->getEvent()->getItem()->getProduct();
|
153 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR, 'product id is '. $_item->getData("entity_id"));
|
154 |
+
Mage::getSingleton('unbxd_recscore/sync')->addProduct($_item);
|
155 |
return $this;
|
156 |
}
|
|
|
|
|
|
|
|
|
157 |
}
|
158 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Resource/Attribute.php
RENAMED
@@ -1,11 +1,11 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class
|
4 |
|
5 |
protected $attributeMap = array();
|
6 |
public function getAttributeValue($attributeCode, $value, $product){
|
7 |
if(!isset($this->attributeMap[$value])){
|
8 |
-
if(!($product instanceof Mage_Catalog_Model_Product)){
|
9 |
return null;
|
10 |
}
|
11 |
$options = Mage::getResourceModel('catalog/product')->getAttribute($attributeCode)
|
@@ -14,7 +14,7 @@ class Unbxd_Recommendation_Model_Resource_Attribute {
|
|
14 |
$this->attributeMap[$option["value"]] = $option["label"];
|
15 |
}
|
16 |
}
|
17 |
-
return $this->attributeMap[$value];
|
18 |
}
|
19 |
|
20 |
}
|
1 |
<?php
|
2 |
|
3 |
+
class Unbxd_Recscore_Model_Resource_Attribute {
|
4 |
|
5 |
protected $attributeMap = array();
|
6 |
public function getAttributeValue($attributeCode, $value, $product){
|
7 |
if(!isset($this->attributeMap[$value])){
|
8 |
+
if(!($product instanceof Mage_Catalog_Model_Product) || Mage::getResourceModel('catalog/product')->getAttribute($attributeCode) == null){
|
9 |
return null;
|
10 |
}
|
11 |
$options = Mage::getResourceModel('catalog/product')->getAttribute($attributeCode)
|
14 |
$this->attributeMap[$option["value"]] = $option["label"];
|
15 |
}
|
16 |
}
|
17 |
+
return array_key_exists($value, $this->attributeMap)?$this->attributeMap[$value]:null;
|
18 |
}
|
19 |
|
20 |
}
|
app/code/local/Unbxd/Recscore/Model/Resource/Config.php
ADDED
@@ -0,0 +1,212 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
+
* @author Unbxd Software Pvt. Ltd
|
7 |
+
*/
|
8 |
+
class Unbxd_Recscore_Model_Resource_Config extends Mage_Core_Model_Mysql4_Abstract
|
9 |
+
{
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Unbxd Config table Name
|
13 |
+
*
|
14 |
+
* @var string
|
15 |
+
*/
|
16 |
+
protected $_unbxdConfigTable;
|
17 |
+
|
18 |
+
// date format
|
19 |
+
const DATE_FORMAT = 'Y-m-d H:i:s';
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @return void
|
23 |
+
*/
|
24 |
+
protected function _construct()
|
25 |
+
{
|
26 |
+
$this->_init('unbxd_recscore/config', 'id');
|
27 |
+
$this->_unbxdConfigTable = $this->getTable('unbxd_recscore/config');
|
28 |
+
}
|
29 |
+
|
30 |
+
public function getValues($websiteId, $key) {
|
31 |
+
if(!isset($key) || is_array($key) ){
|
32 |
+
return array();
|
33 |
+
}
|
34 |
+
$adapter = $this->_getReadAdapter();
|
35 |
+
$select = $adapter->select()
|
36 |
+
->from($this->_unbxdConfigTable, Unbxd_Recscore_Model_Config::VALUE)
|
37 |
+
->where('`'.Unbxd_Recscore_Model_Config::WEBSITE_ID.'` = ?', (int)$websiteId)
|
38 |
+
->where('`'.Unbxd_Recscore_Model_Config::KEY.'` = ?', $key);
|
39 |
+
$rows = $adapter->fetchAll($select);
|
40 |
+
$values = array();
|
41 |
+
foreach($rows as $row) {
|
42 |
+
if(array_key_exists(Unbxd_Recscore_Model_Config::VALUE, $row)) {
|
43 |
+
$values[] = $row[Unbxd_Recscore_Model_Config::VALUE];
|
44 |
+
}
|
45 |
+
}
|
46 |
+
return $values;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @param $website_id
|
51 |
+
* @param $key
|
52 |
+
* @return null|string
|
53 |
+
*/
|
54 |
+
public function getValue($website_id, $key)
|
55 |
+
{
|
56 |
+
$adapter = $this->_getReadAdapter();
|
57 |
+
if(is_array($key)) {
|
58 |
+
$keyValuePair = array();
|
59 |
+
foreach ($key as $eachKey) {
|
60 |
+
$keyValuePair[$eachKey] = $this->getValue($website_id, $eachKey);
|
61 |
+
}
|
62 |
+
return $keyValuePair;
|
63 |
+
}
|
64 |
+
$select = $adapter->select()
|
65 |
+
->from($this->_unbxdConfigTable, 'value')
|
66 |
+
->where('`'.Unbxd_Recscore_Model_Config::WEBSITE_ID.'` = ?', (int)$website_id)
|
67 |
+
->where('`'.Unbxd_Recscore_Model_Config::KEY.'` = ?', $key);
|
68 |
+
$result = $adapter->fetchOne($select);
|
69 |
+
if($result === false) {
|
70 |
+
return null;
|
71 |
+
}
|
72 |
+
return $result;
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* @param int $website_id
|
77 |
+
* @param string $key
|
78 |
+
* @param string $value
|
79 |
+
* @return void
|
80 |
+
*/
|
81 |
+
public function setValue($website_id, $key, $value = null)
|
82 |
+
{
|
83 |
+
if(is_array($key)) {
|
84 |
+
foreach($key as $eachKey => $eachValue) {
|
85 |
+
$this->setValue($website_id, $eachKey, $eachValue);
|
86 |
+
}
|
87 |
+
return;
|
88 |
+
}
|
89 |
+
if (!isset($value) || $value == "" || !isset($key) || $key == "") {
|
90 |
+
return;
|
91 |
+
}
|
92 |
+
|
93 |
+
$config = Mage::getModel('unbxd_recscore/config')->getCollection()
|
94 |
+
->addFieldToFilter('`'.Unbxd_Recscore_Model_Config::KEY.'`', $key)
|
95 |
+
->addFieldToFilter('`'.Unbxd_Recscore_Model_Config::WEBSITE_ID.'`', (int)$website_id)
|
96 |
+
->getFirstItem();
|
97 |
+
|
98 |
+
$config->setWebsiteId($website_id)
|
99 |
+
->setKey($key)
|
100 |
+
->setValue($value)
|
101 |
+
->save();
|
102 |
+
}
|
103 |
+
|
104 |
+
public function updateValues($websiteId, $key, $values = array()) {
|
105 |
+
$this->deleteKey($websiteId, $key);
|
106 |
+
$this->beginTransaction();
|
107 |
+
foreach($values as $eachValue) {
|
108 |
+
Mage::getModel('unbxd_recscore/config')
|
109 |
+
->setWebsiteId($websiteId)
|
110 |
+
->setKey($key)
|
111 |
+
->setValue($eachValue)
|
112 |
+
->save();
|
113 |
+
}
|
114 |
+
$this->commit();
|
115 |
+
}
|
116 |
+
|
117 |
+
public function deleteKey($websiteId, $key) {
|
118 |
+
$write = Mage::getSingleton("core/resource")->getConnection("core_write");
|
119 |
+
$query = "DELETE FROM `unbxd_recommendation_conf` WHERE `" . Unbxd_Recscore_Model_Config::KEY . "` = :key"
|
120 |
+
. " and `" . Unbxd_Recscore_Model_Config::WEBSITE_ID . "` = :website_id";
|
121 |
+
$binds = array(
|
122 |
+
'key' => $key,
|
123 |
+
'website_id' => $websiteId
|
124 |
+
);
|
125 |
+
$write->query($query, $binds);
|
126 |
+
|
127 |
+
}
|
128 |
+
|
129 |
+
public function lockSite($website_id) {
|
130 |
+
$this->setValue($website_id, array(
|
131 |
+
Unbxd_Recscore_Model_Config::FEED_LOCK => Unbxd_Recscore_Model_Config::FEED_LOCK_TRUE,
|
132 |
+
Unbxd_Recscore_Model_Config::FEED_LOCK_TIME => date(self::DATE_FORMAT)));
|
133 |
+
|
134 |
+
}
|
135 |
+
|
136 |
+
|
137 |
+
public function unLockSite($website_id) {
|
138 |
+
$this->setValue($website_id, Unbxd_Recscore_Model_Config::FEED_LOCK,
|
139 |
+
Unbxd_Recscore_Model_Config::FEED_LOCK_FALSE);
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Method will check whether there is a feed lock or not
|
144 |
+
* @param $website_id
|
145 |
+
* @return bool
|
146 |
+
*/
|
147 |
+
public function isLock($website_id) {
|
148 |
+
//fetch the values for feedlock, feed lock time from db
|
149 |
+
$feedLockDetails = $this->getValue($website_id,
|
150 |
+
array(Unbxd_Recscore_Model_Config::FEED_LOCK, Unbxd_Recscore_Model_Config::FEED_LOCK_TIME));
|
151 |
+
//fetch feed lock from @var feedLockDetails
|
152 |
+
$feedLock = array_key_exists(Unbxd_Recscore_Model_Config::FEED_LOCK, $feedLockDetails)?
|
153 |
+
$feedLockDetails[Unbxd_Recscore_Model_Config::FEED_LOCK]:null;
|
154 |
+
if(is_null($feedLock) || $feedLock == Unbxd_Recscore_Model_Config::FEED_LOCK_FALSE){
|
155 |
+
return false;
|
156 |
+
}
|
157 |
+
// Ignoring the feed Lock, if the feed has been locked more than $maxFeedLockTime
|
158 |
+
if($feedLock == Unbxd_Recscore_Model_Config::FEED_LOCK_TRUE &&
|
159 |
+
array_key_exists(Unbxd_Recscore_Model_Config::FEED_LOCK_TIME, $feedLockDetails)) {
|
160 |
+
$feedLockTime = $feedLockDetails[Unbxd_Recscore_Model_Config::FEED_LOCK_TIME];
|
161 |
+
$date = strtotime($feedLockTime);
|
162 |
+
$currentTime = strtotime(date(self::DATE_FORMAT));
|
163 |
+
$diff = abs($date - $currentTime);
|
164 |
+
$maxFeedLockTime = Mage::getConfig()->getNode('default/unbxd/general/max_feed_lock_feed');
|
165 |
+
if(is_null($maxFeedLockTime)) {
|
166 |
+
$maxFeedLockTime = Unbxd_Recscore_Model_Config::MAX_FEED_LOCK_TIME;
|
167 |
+
}
|
168 |
+
if(round($diff / ( 60 * 60 )) > $maxFeedLockTime) {
|
169 |
+
return false;
|
170 |
+
}
|
171 |
+
}
|
172 |
+
return true;
|
173 |
+
}
|
174 |
+
|
175 |
+
/**
|
176 |
+
* Method to get all the filters
|
177 |
+
* @param Mage_Core_Model_Website $website
|
178 |
+
* @return array
|
179 |
+
*/
|
180 |
+
public function getFilters(Mage_Core_Model_Website $website) {
|
181 |
+
$values = Mage::getResourceModel('unbxd_recscore/config')->getValues($website->getWebsiteId(),
|
182 |
+
Unbxd_Recscore_Model_Config::FILTER);
|
183 |
+
$filters = array();
|
184 |
+
foreach($values as $value) {
|
185 |
+
$explodedValues = explode(Unbxd_Recscore_Model_Config::FILTER_DELIMITER, $value);
|
186 |
+
if(sizeof($explodedValues) < 2) {
|
187 |
+
continue;
|
188 |
+
}
|
189 |
+
$filters[$explodedValues[0]] = $explodedValues[1];
|
190 |
+
}
|
191 |
+
return $filters;
|
192 |
+
}
|
193 |
+
|
194 |
+
public function saveGlobalConfig(Mage_Core_Model_Website $website, $values = array()) {
|
195 |
+
foreach($values as $key => $value ) {
|
196 |
+
}
|
197 |
+
}
|
198 |
+
|
199 |
+
public function deleteAll($websiteId) {
|
200 |
+
$write = Mage::getSingleton("core/resource")->getConnection("core_write");
|
201 |
+
$query = "DELETE FROM `unbxd_recommendation_conf` WHERE `" . Unbxd_Recscore_Model_Config::WEBSITE_ID . "` = :website_id";
|
202 |
+
$binds = array(
|
203 |
+
'website_id' => $websiteId
|
204 |
+
);
|
205 |
+
$write->query($query, $binds);
|
206 |
+
}
|
207 |
+
|
208 |
+
public function getGlobalConfig(Mage_Core_Model_Website $website, $keys =array()) {
|
209 |
+
}
|
210 |
+
}
|
211 |
+
|
212 |
+
?>
|
app/code/local/Unbxd/Recscore/Model/Resource/Config/Collection.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
+
* @author Unbxd Software Pvt. Ltd {
|
7 |
+
*/
|
8 |
+
class Unbxd_Recscore_Model_Resource_Config_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
9 |
+
{
|
10 |
+
/**
|
11 |
+
*/
|
12 |
+
public function _construct()
|
13 |
+
{
|
14 |
+
$this->_init('unbxd_recscore/config');
|
15 |
+
}
|
16 |
+
|
17 |
+
|
18 |
+
}
|
19 |
+
|
20 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Resource/Field.php
RENAMED
@@ -2,10 +2,10 @@
|
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
-
* @package
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
-
class
|
9 |
{
|
10 |
|
11 |
const CAT_LEVEL_1 = "categoryLevel1";
|
@@ -16,13 +16,13 @@ class Unbxd_Recommendation_Model_Resource_Field extends Mage_Core_Model_Mysql4_A
|
|
16 |
|
17 |
const CAT_LEVEL_4 = "categoryLevel4";
|
18 |
|
19 |
-
const CAT_LEVEL_1_NAME = "
|
20 |
|
21 |
-
const CAT_LEVEL_2_NAME = "
|
22 |
|
23 |
-
const CAT_LEVEL_3_NAME = "
|
24 |
|
25 |
-
const CAT_LEVEL_4_NAME = "
|
26 |
|
27 |
const CATEGORY_IDS_NAME = "categoryIds";
|
28 |
|
@@ -31,10 +31,6 @@ class Unbxd_Recommendation_Model_Resource_Field extends Mage_Core_Model_Mysql4_A
|
|
31 |
const CATEGORY_NAME = "category";
|
32 |
|
33 |
const AVAILABILITY = 'availability';
|
34 |
-
|
35 |
-
const FINAL_PRICE = 'final_price';
|
36 |
-
|
37 |
-
const PRICE = 'price';
|
38 |
/**
|
39 |
* Unbxd Field Config table Name
|
40 |
*
|
@@ -47,8 +43,8 @@ class Unbxd_Recommendation_Model_Resource_Field extends Mage_Core_Model_Mysql4_A
|
|
47 |
*/
|
48 |
protected function _construct()
|
49 |
{
|
50 |
-
$this->_init('
|
51 |
-
$this->_unbxdFieldTable = $this->getTable('
|
52 |
}
|
53 |
|
54 |
public function getTableName() {
|
@@ -59,9 +55,9 @@ class Unbxd_Recommendation_Model_Resource_Field extends Mage_Core_Model_Mysql4_A
|
|
59 |
$adapter = $this->_getReadAdapter();
|
60 |
|
61 |
$select = $adapter->select()
|
62 |
-
->from($this->_unbxdFieldTable,
|
63 |
-
->where('`'.
|
64 |
-
->where('`'.
|
65 |
|
66 |
$result = $adapter->fetchOne($select);
|
67 |
if($result == false) {
|
@@ -80,7 +76,7 @@ class Unbxd_Recommendation_Model_Resource_Field extends Mage_Core_Model_Mysql4_A
|
|
80 |
}
|
81 |
|
82 |
protected function getDisplayableFieldCollection(Mage_Core_Model_Website $website) {
|
83 |
-
return Mage::getModel("
|
84 |
->getCollection()
|
85 |
->addFieldsDisplayFilter()
|
86 |
->addWebsiteFilter($website)
|
@@ -98,7 +94,7 @@ class Unbxd_Recommendation_Model_Resource_Field extends Mage_Core_Model_Mysql4_A
|
|
98 |
if(is_null($websiteId)) {
|
99 |
return "";
|
100 |
}
|
101 |
-
$fieldTable = Mage::getResourceModel('
|
102 |
return "
|
103 |
INSERT INTO `{$fieldTable}` (`website_id`, `field_name`, `datatype`, `autosuggest`, `featured_field`, `multivalued`, `displayed`)
|
104 |
VALUES
|
@@ -112,15 +108,15 @@ VALUES
|
|
112 |
({$websiteId}, 'url_path', 'link', 0, 'productUrl', 0, 1),
|
113 |
({$websiteId}, 'gender', 'text', 0, 'gender', 0, 1),
|
114 |
({$websiteId}, 'description', 'longText', 0, 'description', 0, 1),
|
115 |
-
({$websiteId}, '
|
116 |
-
({$websiteId}, '
|
117 |
-
({$websiteId}, '
|
118 |
-
({$websiteId}, '
|
119 |
-
({$websiteId}, 'categoryLevel1', 'text', 0,
|
120 |
-
({$websiteId}, 'categoryLevel2', 'text', 0,
|
121 |
-
({$websiteId}, 'categoryLevel3', 'text', 0,
|
122 |
-
({$websiteId}, 'categoryLevel4', 'text', 0,
|
123 |
-
({$websiteId}, 'created_at', 'date', 0, NULL, 0, 1)
|
124 |
({$websiteId}, 'availability', 'bool', 0, 'availability', 0, 0),
|
125 |
({$websiteId}, 'status', 'number', 0, NULL, 0, 0),
|
126 |
({$websiteId}, 'visibility', 'number', 0, NULL, 0, 0),
|
@@ -132,4 +128,4 @@ VALUES
|
|
132 |
}
|
133 |
}
|
134 |
|
135 |
-
?>
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
* @author Unbxd Software Pvt. Ltd
|
7 |
*/
|
8 |
+
class Unbxd_Recscore_Model_Resource_Field extends Mage_Core_Model_Mysql4_Abstract
|
9 |
{
|
10 |
|
11 |
const CAT_LEVEL_1 = "categoryLevel1";
|
16 |
|
17 |
const CAT_LEVEL_4 = "categoryLevel4";
|
18 |
|
19 |
+
const CAT_LEVEL_1_NAME = "catlevel1Name";
|
20 |
|
21 |
+
const CAT_LEVEL_2_NAME = "catlevel2Name";
|
22 |
|
23 |
+
const CAT_LEVEL_3_NAME = "catlevel3Name";
|
24 |
|
25 |
+
const CAT_LEVEL_4_NAME = "catlevel4Name";
|
26 |
|
27 |
const CATEGORY_IDS_NAME = "categoryIds";
|
28 |
|
31 |
const CATEGORY_NAME = "category";
|
32 |
|
33 |
const AVAILABILITY = 'availability';
|
|
|
|
|
|
|
|
|
34 |
/**
|
35 |
* Unbxd Field Config table Name
|
36 |
*
|
43 |
*/
|
44 |
protected function _construct()
|
45 |
{
|
46 |
+
$this->_init('unbxd_recscore/field', 'id');
|
47 |
+
$this->_unbxdFieldTable = $this->getTable('unbxd_recscore/field');
|
48 |
}
|
49 |
|
50 |
public function getTableName() {
|
55 |
$adapter = $this->_getReadAdapter();
|
56 |
|
57 |
$select = $adapter->select()
|
58 |
+
->from($this->_unbxdFieldTable, Unbxd_Recscore_Model_Field::field_name)
|
59 |
+
->where('`'.Unbxd_Recscore_Model_Field::website_id.'` = ?', (int)$websiteId)
|
60 |
+
->where('`'.Unbxd_Recscore_Model_Field::featured_field.'` = ?', $featureField);
|
61 |
|
62 |
$result = $adapter->fetchOne($select);
|
63 |
if($result == false) {
|
76 |
}
|
77 |
|
78 |
protected function getDisplayableFieldCollection(Mage_Core_Model_Website $website) {
|
79 |
+
return Mage::getModel("unbxd_recscore/field")
|
80 |
->getCollection()
|
81 |
->addFieldsDisplayFilter()
|
82 |
->addWebsiteFilter($website)
|
94 |
if(is_null($websiteId)) {
|
95 |
return "";
|
96 |
}
|
97 |
+
$fieldTable = Mage::getResourceModel('unbxd_recscore/field')->getTableName();
|
98 |
return "
|
99 |
INSERT INTO `{$fieldTable}` (`website_id`, `field_name`, `datatype`, `autosuggest`, `featured_field`, `multivalued`, `displayed`)
|
100 |
VALUES
|
108 |
({$websiteId}, 'url_path', 'link', 0, 'productUrl', 0, 1),
|
109 |
({$websiteId}, 'gender', 'text', 0, 'gender', 0, 1),
|
110 |
({$websiteId}, 'description', 'longText', 0, 'description', 0, 1),
|
111 |
+
({$websiteId}, 'catlevel1Name', 'text', 0, 'catlevel1Name', 0, 0),
|
112 |
+
({$websiteId}, 'catlevel2Name', 'text', 0, 'catlevel2Name', 0, 0),
|
113 |
+
({$websiteId}, 'catlevel3Name', 'text', 0, 'catlevel3Name', 0, 0),
|
114 |
+
({$websiteId}, 'catlevel4Name', 'text', 0, 'catlevel4Name', 0, 0),
|
115 |
+
({$websiteId}, 'categoryLevel1', 'text', 0, NULL, 1, 0),
|
116 |
+
({$websiteId}, 'categoryLevel2', 'text', 0, NULL, 1, 0),
|
117 |
+
({$websiteId}, 'categoryLevel3', 'text', 0, NULL, 1, 0),
|
118 |
+
({$websiteId}, 'categoryLevel4', 'text', 0, NULL, 1, 0),
|
119 |
+
({$websiteId}, 'created_at', 'date', 0, NULL, 0, 1),
|
120 |
({$websiteId}, 'availability', 'bool', 0, 'availability', 0, 0),
|
121 |
({$websiteId}, 'status', 'number', 0, NULL, 0, 0),
|
122 |
({$websiteId}, 'visibility', 'number', 0, NULL, 0, 0),
|
128 |
}
|
129 |
}
|
130 |
|
131 |
+
?>
|
app/code/local/Unbxd/Recscore/Model/Resource/Field/Collection.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
+
* @author Unbxd Software Pvt. Ltd {
|
7 |
+
*/
|
8 |
+
class Unbxd_Recscore_Model_Resource_Field_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
9 |
+
{
|
10 |
+
/**
|
11 |
+
*/
|
12 |
+
public function _construct()
|
13 |
+
{
|
14 |
+
$this->_init('unbxd_recscore/field');
|
15 |
+
}
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Method to add fields to display filter
|
19 |
+
*
|
20 |
+
* @return void
|
21 |
+
*/
|
22 |
+
public function addFieldsDisplayFilter() {
|
23 |
+
$this->addFieldToFilter(Unbxd_Recscore_Model_Field::dislayable,1);
|
24 |
+
return $this;
|
25 |
+
}
|
26 |
+
|
27 |
+
public function addWebsiteFilter(Mage_Core_Model_Website $website) {
|
28 |
+
$this->addFieldToFilter(Unbxd_Recscore_Model_Field::website_id, $website->getWebsiteId());
|
29 |
+
return $this;
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Method to get field collection as array
|
34 |
+
*
|
35 |
+
* @return array
|
36 |
+
*/
|
37 |
+
public function __asArray() {
|
38 |
+
$fields = array();
|
39 |
+
foreach($this->_items as $item) {
|
40 |
+
$field = array();
|
41 |
+
$field[Unbxd_Recscore_Model_Field::field_name] = $item->getFieldName();
|
42 |
+
$field[Unbxd_Recscore_Model_Field::datatype] = $item->getDatatype();
|
43 |
+
$field[Unbxd_Recscore_Model_Field::autosuggest] = $item->getAutosuggest();
|
44 |
+
$featureField = $item->getFeaturedField();
|
45 |
+
if(isset($featureField)) {
|
46 |
+
$field[Unbxd_Recscore_Model_Field::featured_field] = $featureField;
|
47 |
+
}
|
48 |
+
$fields[] = $field;
|
49 |
+
}
|
50 |
+
return $fields;
|
51 |
+
}
|
52 |
+
|
53 |
+
public function getFeatureFields(Mage_Core_Model_Website $website) {
|
54 |
+
$this->getSelect()->where(Unbxd_Recscore_Model_Field::featured_field. " IS NOT NULL AND ".
|
55 |
+
Unbxd_Recscore_Model_Field::website_id . " = " . $website->getWebsiteId());
|
56 |
+
return $this->load();
|
57 |
+
}
|
58 |
+
|
59 |
+
public function getFields(Mage_Core_Model_Website $website) {
|
60 |
+
$this->getSelect()->where(Unbxd_Recscore_Model_Field::website_id . " = " . $website->getWebsiteId());
|
61 |
+
return $this->load();
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Resource/Product/Collection.php
RENAMED
@@ -1,5 +1,6 @@
|
|
1 |
<?php
|
2 |
-
class
|
|
|
3 |
|
4 |
protected function _construct()
|
5 |
{
|
@@ -11,7 +12,7 @@ class Unbxd_Recommendation_Model_Resource_Product_Collection extends Mage_Catalo
|
|
11 |
return false;
|
12 |
}
|
13 |
|
14 |
-
|
15 |
* Join Product Price Table | Ensuring left join happens
|
16 |
*
|
17 |
* @return Mage_Catalog_Model_Resource_Product_Collection
|
@@ -38,10 +39,9 @@ class Unbxd_Recommendation_Model_Resource_Product_Collection extends Mage_Catalo
|
|
38 |
|
39 |
/**
|
40 |
* sets collection is loaded
|
41 |
-
* @param $collection
|
42 |
* @return $this
|
43 |
*/
|
44 |
-
public function virtuallyLoad(
|
45 |
$this->_setIsLoaded(true);
|
46 |
return $this;
|
47 |
}
|
@@ -59,7 +59,7 @@ class Unbxd_Recommendation_Model_Resource_Product_Collection extends Mage_Catalo
|
|
59 |
'in' => $productIds
|
60 |
)
|
61 |
));
|
62 |
-
Mage::helper('
|
63 |
return $this;
|
64 |
}
|
65 |
|
@@ -77,20 +77,28 @@ class Unbxd_Recommendation_Model_Resource_Product_Collection extends Mage_Catalo
|
|
77 |
|
78 |
}
|
79 |
|
80 |
-
protected function _addBasicFilterToUpload(Mage_Core_Model_Website $website)
|
|
|
81 |
$adapter = Mage::getSingleton("core/resource");
|
|
|
82 |
$_catalogInventoryTable = method_exists($adapter, 'getTableName')
|
83 |
-
? $adapter->getTableName('cataloginventory_stock_item'): 'catalog_category_product_index';
|
84 |
|
85 |
$this
|
86 |
->addWebsiteFilter($website->getWebsiteId())
|
87 |
->joinField("qty", $_catalogInventoryTable, 'qty', 'product_id=entity_id', null, 'left')
|
88 |
->addAttributeToSelect('*')
|
89 |
->addCategoryIds()
|
|
|
90 |
->addPriceData(Mage_Customer_Model_Group::NOT_LOGGED_IN_ID, $website->getWebsiteId());
|
91 |
|
|
|
|
|
|
|
|
|
|
|
92 |
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($this);
|
93 |
-
Mage::getSingleton('catalog/product_visibility')->addVisibleInSiteFilterToCollection($this);
|
94 |
return $this;
|
95 |
}
|
96 |
|
@@ -103,6 +111,7 @@ class Unbxd_Recommendation_Model_Resource_Product_Collection extends Mage_Catalo
|
|
103 |
$this->_addBasicFilterToUpload($website);
|
104 |
return $this;
|
105 |
}
|
|
|
106 |
}
|
107 |
|
108 |
-
?>
|
1 |
<?php
|
2 |
+
class Unbxd_Recscore_Model_Resource_Product_Collection extends
|
3 |
+
Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection{
|
4 |
|
5 |
protected function _construct()
|
6 |
{
|
12 |
return false;
|
13 |
}
|
14 |
|
15 |
+
/**
|
16 |
* Join Product Price Table | Ensuring left join happens
|
17 |
*
|
18 |
* @return Mage_Catalog_Model_Resource_Product_Collection
|
39 |
|
40 |
/**
|
41 |
* sets collection is loaded
|
|
|
42 |
* @return $this
|
43 |
*/
|
44 |
+
public function virtuallyLoad() {
|
45 |
$this->_setIsLoaded(true);
|
46 |
return $this;
|
47 |
}
|
59 |
'in' => $productIds
|
60 |
)
|
61 |
));
|
62 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::DEBUG, (string)$this->getSelect());
|
63 |
return $this;
|
64 |
}
|
65 |
|
77 |
|
78 |
}
|
79 |
|
80 |
+
protected function _addBasicFilterToUpload(Mage_Core_Model_Website $website)
|
81 |
+
{
|
82 |
$adapter = Mage::getSingleton("core/resource");
|
83 |
+
$visiblityCondition = array('in' => array(2,3,4));
|
84 |
$_catalogInventoryTable = method_exists($adapter, 'getTableName')
|
85 |
+
? $adapter->getTableName('cataloginventory_stock_item') : 'catalog_category_product_index';
|
86 |
|
87 |
$this
|
88 |
->addWebsiteFilter($website->getWebsiteId())
|
89 |
->joinField("qty", $_catalogInventoryTable, 'qty', 'product_id=entity_id', null, 'left')
|
90 |
->addAttributeToSelect('*')
|
91 |
->addCategoryIds()
|
92 |
+
->addAttributeToFilter('visibility',$visiblityCondition)
|
93 |
->addPriceData(Mage_Customer_Model_Group::NOT_LOGGED_IN_ID, $website->getWebsiteId());
|
94 |
|
95 |
+
if (!Mage::helper('unbxd_recscore')
|
96 |
+
->isConfigTrue($website, Unbxd_Recscore_Helper_Constants::INCLUDE_OUT_OF_STOCK)) {
|
97 |
+
Mage::getModel('cataloginventory/stock_status')->addStockStatusToProducts($this);
|
98 |
+
}
|
99 |
+
|
100 |
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($this);
|
101 |
+
#Mage::getSingleton('catalog/product_visibility')->addVisibleInSiteFilterToCollection($this);
|
102 |
return $this;
|
103 |
}
|
104 |
|
111 |
$this->_addBasicFilterToUpload($website);
|
112 |
return $this;
|
113 |
}
|
114 |
+
|
115 |
}
|
116 |
|
117 |
+
?>
|
app/code/local/Unbxd/Recscore/Model/Resource/Sync.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
+
* @author Unbxd Software Pvt. Ltd
|
7 |
+
*/
|
8 |
+
class Unbxd_Recscore_Model_Resource_Sync extends Mage_Core_Model_Mysql4_Abstract {
|
9 |
+
|
10 |
+
/**
|
11 |
+
* @return void
|
12 |
+
*/
|
13 |
+
protected function _construct()
|
14 |
+
{
|
15 |
+
$this->_init('unbxd_recscore/sync', 'id');
|
16 |
+
}
|
17 |
+
}
|
app/code/local/Unbxd/Recscore/Model/Resource/Sync/Collection.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
+
* @author Unbxd Software Pvt. Ltd {
|
7 |
+
*/
|
8 |
+
class Unbxd_Recscore_Model_Resource_Sync_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
9 |
+
{
|
10 |
+
/**
|
11 |
+
*/
|
12 |
+
public function _construct()
|
13 |
+
{
|
14 |
+
$this->_init('unbxd_recscore/sync');
|
15 |
+
}
|
16 |
+
|
17 |
+
/**
|
18 |
+
* add field to Filter
|
19 |
+
* @param $websiteId
|
20 |
+
* @return void
|
21 |
+
*/
|
22 |
+
public function addWebsiteFilter($websiteIds) {
|
23 |
+
$this->addFieldToFilter(Unbxd_Recscore_Model_Sync::WEBSITE_ID, $websiteIds);
|
24 |
+
return $this;
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Add Unsync filter
|
29 |
+
* @return void
|
30 |
+
*/
|
31 |
+
public function addUnsyncFilter() {
|
32 |
+
$this->addFieldToFilter(Unbxd_Recscore_Model_Sync::SYNCED,
|
33 |
+
Unbxd_Recscore_Model_Sync::SYNCED_FALSE);
|
34 |
+
return $this;
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Add Synced filter
|
39 |
+
* @return void
|
40 |
+
*/
|
41 |
+
public function addSyncFilter() {
|
42 |
+
$this->addFieldToFilter(Unbxd_Recscore_Model_Sync::SYNCED,
|
43 |
+
Unbxd_Recscore_Model_Sync::SYNCED_TRUE);
|
44 |
+
return $this;
|
45 |
+
}
|
46 |
+
|
47 |
+
public function addOperationFilter($operation = Unbxd_Recscore_Model_Sync::OPERATION_ADD) {
|
48 |
+
$this->addFieldToFilter(Unbxd_Recscore_Model_Sync::OPERATION, $operation);
|
49 |
+
return $this;
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
?>
|
app/code/local/Unbxd/Recscore/Model/State.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
interface Unbxd_Recscore_Model_State {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Method which returns the state of the component
|
7 |
+
* @param Mage_Core_Model_Website $website
|
8 |
+
* @return Unbxd_Recscore_Model_State_Response
|
9 |
+
*/
|
10 |
+
public function getState(Mage_Core_Model_Website $website);
|
11 |
+
|
12 |
+
}
|
app/code/local/Unbxd/Recscore/Model/State/Analytics.php
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Unbxd_Recscore_Model_State_Analytics implements Unbxd_Recscore_Model_State {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Method which returns the state of the component
|
7 |
+
* @param Mage_Core_Model_Website $website
|
8 |
+
* @return Unbxd_Recscore_Model_State_Response
|
9 |
+
*/
|
10 |
+
public function getState(Mage_Core_Model_Website $website) {
|
11 |
+
$response = Mage::getModel('unbxd_recscore/state_response');
|
12 |
+
$status = true;
|
13 |
+
$message = array();
|
14 |
+
if(!$this->_checkRecommendorAnalytics($website)) {
|
15 |
+
$status = false;
|
16 |
+
$message[] = "Analytics impressions not captured";
|
17 |
+
}
|
18 |
+
if($status && Mage::helper('core')->isModuleEnabled('Unbxd_Searchcore')) {
|
19 |
+
if($this->_checkSearchAnalytics($website)) {
|
20 |
+
$status = false;
|
21 |
+
$message[] = "Analytics impressions not captured";
|
22 |
+
}
|
23 |
+
}
|
24 |
+
$response->setStatus($status);
|
25 |
+
$response->setMessage($message);
|
26 |
+
return $response;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Method to check product click, order, add to cart tracking information
|
31 |
+
* @param Mage_Core_Model_Website $website
|
32 |
+
* @return bool
|
33 |
+
*/
|
34 |
+
protected function _checkRecommendorAnalytics(Mage_Core_Model_Website $website) {
|
35 |
+
$analyticsImpression = Mage::getModel("unbxd_recscore/api_task_analyticsimpression")
|
36 |
+
->prepare($website)
|
37 |
+
->process();
|
38 |
+
if(!$analyticsImpression->isSuccess()) {
|
39 |
+
return false;
|
40 |
+
}
|
41 |
+
$details = $analyticsImpression->getResponse();
|
42 |
+
if(!array_key_exists("IntegrationDetails", $details)) {
|
43 |
+
return false;
|
44 |
+
}
|
45 |
+
if(!is_array($details["IntegrationDetails"]) || sizeof($details["IntegrationDetails"]) == 0) {
|
46 |
+
return false;
|
47 |
+
}
|
48 |
+
$intDetails = $details["IntegrationDetails"][0];
|
49 |
+
if(!array_key_exists("ADDTOCART", $intDetails) || !array_key_exists("CLICKRANK", $intDetails)
|
50 |
+
|| !array_key_exists("ORDER", $intDetails)) {
|
51 |
+
return false;
|
52 |
+
}
|
53 |
+
return true;
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Method to check search integration
|
58 |
+
* @param Mage_Core_Model_Website $website
|
59 |
+
* @return bool
|
60 |
+
*/
|
61 |
+
protected function _checkSearchAnalytics(Mage_Core_Model_Website $website) {
|
62 |
+
$searchImpressions = Mage::getSingleton('unbxd_recscore/api_task_searchimpression')
|
63 |
+
->prepare($website)
|
64 |
+
->process();
|
65 |
+
if(!$searchImpressions->isSuccess()) {
|
66 |
+
return false;
|
67 |
+
}
|
68 |
+
$searhitResponseObj = $searchImpressions->getResponse();
|
69 |
+
$funnels = $searhitResponseObj["FunnelResponse"]["Funnels"];
|
70 |
+
$searchCount = 0;
|
71 |
+
foreach($funnels as $funnel) {
|
72 |
+
if(array_key_exists("type", $funnel) && $funnel["type"] == "hits"
|
73 |
+
&& array_key_exists("searchCount",$funnel)) {
|
74 |
+
$searchCount = $funnel["searchCount"];
|
75 |
+
}
|
76 |
+
}
|
77 |
+
if($searchCount == 0) {
|
78 |
+
return false;
|
79 |
+
}
|
80 |
+
return true;
|
81 |
+
}
|
82 |
+
|
83 |
+
|
84 |
+
}
|
app/code/local/Unbxd/Recscore/Model/State/Catalog.php
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Unbxd_Recscore_Model_State_Catalog implements Unbxd_Recscore_Model_State {
|
4 |
+
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Method which returns the state of the component
|
8 |
+
* @param Mage_Core_Model_Website $website
|
9 |
+
* @return Unbxd_Recscore_Model_State_Response
|
10 |
+
*/
|
11 |
+
public function getState(Mage_Core_Model_Website $website) {
|
12 |
+
$response = Mage::getModel('unbxd_recscore/state_response');
|
13 |
+
$status = true;
|
14 |
+
$message = array();
|
15 |
+
if(!$this->_checkFeedUpload($website)) {
|
16 |
+
$status = false;
|
17 |
+
$message[] = "Catalog Sync never happened";
|
18 |
+
}
|
19 |
+
if(!$this->_checkCron($website)) {
|
20 |
+
$status = false;
|
21 |
+
$message[] = "Cron for catalog sync never ran";
|
22 |
+
}
|
23 |
+
$response->setStatus($status);
|
24 |
+
$response->setMessage($message);
|
25 |
+
return $response;
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Method to check the first time feed upload
|
30 |
+
* @param Mage_Core_Model_Website $website
|
31 |
+
* @return bool
|
32 |
+
*/
|
33 |
+
protected function _checkFeedUpload(Mage_Core_Model_Website $website) {
|
34 |
+
$lastUploadTime = Mage::getResourceModel('unbxd_recscore/config')
|
35 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::LAST_UPLOAD_TIME);
|
36 |
+
return !is_null($lastUploadTime);
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Method to check the first time feed upload
|
41 |
+
* @param Mage_Core_Model_Website $website
|
42 |
+
* @return bool
|
43 |
+
*/
|
44 |
+
protected function _checkCron(Mage_Core_Model_Website $website) {
|
45 |
+
$cronFlag = Mage::getResourceModel('unbxd_recscore/config')
|
46 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::IS_CRON_ENABLED);
|
47 |
+
return !is_null($cronFlag);
|
48 |
+
}
|
49 |
+
}
|
app/code/local/Unbxd/Recscore/Model/State/Credentials.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Unbxd_Recscore_Model_State_Credentials implements Unbxd_Recscore_Model_State {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Method which returns the state of the component
|
7 |
+
* @param Mage_Core_Model_Website $website
|
8 |
+
* @return Unbxd_Recscore_Model_State_Response
|
9 |
+
*/
|
10 |
+
public function getState(Mage_Core_Model_Website $website) {
|
11 |
+
$response = Mage::getModel('unbxd_recscore/state_response');
|
12 |
+
$status = true;
|
13 |
+
$message = array();
|
14 |
+
if(!$this->_checkAuth($website)) {
|
15 |
+
$status = false;
|
16 |
+
$message[] = "Authorization is not done";
|
17 |
+
}
|
18 |
+
$response->setStatus($status);
|
19 |
+
$response->setMessage($message);
|
20 |
+
return $response;
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Method to check the Auth
|
25 |
+
* @param Mage_Core_Model_Website $website
|
26 |
+
* @return bool
|
27 |
+
*/
|
28 |
+
protected function _checkAuth(Mage_Core_Model_Website $website) {
|
29 |
+
$secretKey = Mage::getResourceModel('unbxd_recscore/config')
|
30 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::SECRET_KEY);
|
31 |
+
return !is_null($secretKey);
|
32 |
+
}
|
33 |
+
|
34 |
+
}
|
app/code/local/Unbxd/Recscore/Model/State/Response.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Unbxd_Recscore_Model_State_Response {
|
4 |
+
|
5 |
+
protected $_status = false;
|
6 |
+
|
7 |
+
protected $_message = array();
|
8 |
+
|
9 |
+
public function getStatus() {
|
10 |
+
return $this->_status;
|
11 |
+
}
|
12 |
+
|
13 |
+
public function setStatus($status = true) {
|
14 |
+
$this->_status = ($status)?true:false;
|
15 |
+
}
|
16 |
+
|
17 |
+
public function getMessage() {
|
18 |
+
return $this->_message;
|
19 |
+
}
|
20 |
+
|
21 |
+
public function setMessage(array $_message = array()) {
|
22 |
+
$this->_message = $_message;
|
23 |
+
}
|
24 |
+
|
25 |
+
public function _asArray() {
|
26 |
+
return array('status' => $this->_status, 'message' => $this->_message);
|
27 |
+
}
|
28 |
+
|
29 |
+
}
|
app/code/local/Unbxd/Recscore/Model/Statemgr.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Unbxd_Recscore_Model_Statemgr {
|
4 |
+
|
5 |
+
|
6 |
+
public function getCatalogState(Mage_Core_Model_Website $website) {
|
7 |
+
return Mage::getModel('unbxd_recscore/state_catalog')->getState($website);
|
8 |
+
}
|
9 |
+
|
10 |
+
public function getCredentialsState(Mage_Core_Model_Website $website) {
|
11 |
+
return Mage::getModel('unbxd_recscore/state_credentials')->getState($website);
|
12 |
+
}
|
13 |
+
|
14 |
+
public function getAnalyticsState(Mage_Core_Model_Website $website) {
|
15 |
+
return Mage::getModel('unbxd_recscore/state_analytics')->getState($website);
|
16 |
+
}
|
17 |
+
|
18 |
+
public function getAllStates(Mage_Core_Model_Website $website) {
|
19 |
+
$catalogState = $this->getCatalogState($website);
|
20 |
+
$credentialsState = $this->getCredentialsState($website);
|
21 |
+
$analyticsState = $this->getAnalyticsState($website);
|
22 |
+
return array('catalog' => $catalogState->_asArray(),
|
23 |
+
'analytics' => $analyticsState->_asArray(),
|
24 |
+
'credentials' => $credentialsState->_asArray());
|
25 |
+
}
|
26 |
+
}
|
27 |
+
?>
|
app/code/local/Unbxd/{Recommendation → Recscore}/Model/Sync.php
RENAMED
@@ -3,10 +3,10 @@
|
|
3 |
/**
|
4 |
* Model which maintains the product sync
|
5 |
* @category Unbxd
|
6 |
-
* @package
|
7 |
* @author Unbxd Software Pvt. Ltd
|
8 |
*/
|
9 |
-
class
|
10 |
|
11 |
/** Value to store the synced boolean value */
|
12 |
const SYNCED_FALSE = 0;
|
@@ -36,7 +36,7 @@ class Unbxd_Recommendation_Model_Sync extends Mage_Core_Model_Abstract {
|
|
36 |
*/
|
37 |
protected function _construct()
|
38 |
{
|
39 |
-
$this->_init('
|
40 |
|
41 |
}
|
42 |
|
@@ -47,23 +47,21 @@ class Unbxd_Recommendation_Model_Sync extends Mage_Core_Model_Abstract {
|
|
47 |
*/
|
48 |
public function addProduct(Mage_Catalog_Model_Product $product = null) {
|
49 |
if (is_null($product) || !$product->hasData('entity_id')) {
|
50 |
-
Mage::helper('
|
51 |
return false;
|
52 |
}
|
53 |
$write = Mage::getSingleton("core/resource")->getConnection("core_write");
|
54 |
foreach($product->getWebsiteIds() as $websiteId) {
|
55 |
|
56 |
-
$query = "insert into " . $this->getResource()->getTable('
|
57 |
. "(".self::PRODUCT_ID.", ".self::WEBSITE_ID.", ".self::SYNCED.",".self::UPDATED_TIME.") values "
|
58 |
-
. "(:productId, :websiteId, :synced, :updated_time) ON DUPLICATE KEY
|
59 |
-
UPDATE ".self::UPDATED_TIME."=NOW(), ".self::SYNCED." = 0, ".self::OPERATION." = :operation";
|
60 |
|
61 |
$binds = array(
|
62 |
'productId' => $product->getEntityId(),
|
63 |
'websiteId' => $websiteId,
|
64 |
'synced' => self::SYNCED_FALSE,
|
65 |
-
'updated_time' => date('Y-m-d H:i:s')
|
66 |
-
'operation' => self::OPERATION_ADD
|
67 |
);
|
68 |
$write->query($query, $binds);
|
69 |
}
|
@@ -76,22 +74,21 @@ class Unbxd_Recommendation_Model_Sync extends Mage_Core_Model_Abstract {
|
|
76 |
*/
|
77 |
public function deleteProduct(Mage_Catalog_Model_Product $product = null) {
|
78 |
if (is_null($product) || !$product->hasData('entity_id')) {
|
79 |
-
Mage::helper('
|
80 |
return false;
|
81 |
}
|
82 |
$write = Mage::getSingleton("core/resource")->getConnection("core_write");
|
83 |
foreach($product->getWebsiteIds() as $websiteId) {
|
84 |
|
85 |
-
$query = "insert into " . $this->getResource()->getTable('
|
86 |
. "(product_id, website_id, synced, operation, updated_time) values "
|
87 |
-
. "(:productId, :websiteId, :synced, :operation, :updated_time) ON DUPLICATE KEY
|
88 |
-
UPDATE ".self::UPDATED_TIME."=NOW(), ".self::SYNCED." = 0, ".self::OPERATION." = :operation";
|
89 |
|
90 |
$binds = array(
|
91 |
'productId' => $product->getEntityId(),
|
92 |
'websiteId' => $websiteId,
|
93 |
'synced' => self::SYNCED_FALSE,
|
94 |
-
'operation' =>
|
95 |
'updated_time' => date('Y-m-d H:i:s')
|
96 |
);
|
97 |
$write->query($query, $binds);
|
@@ -99,19 +96,16 @@ class Unbxd_Recommendation_Model_Sync extends Mage_Core_Model_Abstract {
|
|
99 |
}
|
100 |
|
101 |
|
102 |
-
public function markItSynced($websiteId, $
|
103 |
$write = Mage::getSingleton("core/resource")->getConnection("core_write");
|
104 |
-
$query = "update " . $this->getResource()->getTable('
|
105 |
-
. " set ".self::SYNCED." = 1
|
106 |
-
|
107 |
-
and ".self::UPDATED_TIME." < :toTime and ".self::UPDATED_TIME." > :fromTime";
|
108 |
|
109 |
$binds = array(
|
110 |
-
'currentTime' => date('Y-m-d H:i:s'),
|
111 |
'websiteId' => $websiteId,
|
112 |
-
'toTime' => $toTime
|
113 |
-
'fromTime' => $fromTime
|
114 |
);
|
115 |
$write->query($query, $binds);
|
116 |
}
|
117 |
-
}
|
3 |
/**
|
4 |
* Model which maintains the product sync
|
5 |
* @category Unbxd
|
6 |
+
* @package Unbxd_Recscore
|
7 |
* @author Unbxd Software Pvt. Ltd
|
8 |
*/
|
9 |
+
class Unbxd_Recscore_Model_Sync extends Mage_Core_Model_Abstract {
|
10 |
|
11 |
/** Value to store the synced boolean value */
|
12 |
const SYNCED_FALSE = 0;
|
36 |
*/
|
37 |
protected function _construct()
|
38 |
{
|
39 |
+
$this->_init('unbxd_recscore/sync');
|
40 |
|
41 |
}
|
42 |
|
47 |
*/
|
48 |
public function addProduct(Mage_Catalog_Model_Product $product = null) {
|
49 |
if (is_null($product) || !$product->hasData('entity_id')) {
|
50 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR, 'product argument sent is empty');
|
51 |
return false;
|
52 |
}
|
53 |
$write = Mage::getSingleton("core/resource")->getConnection("core_write");
|
54 |
foreach($product->getWebsiteIds() as $websiteId) {
|
55 |
|
56 |
+
$query = "insert into " . $this->getResource()->getTable('unbxd_recscore/sync')
|
57 |
. "(".self::PRODUCT_ID.", ".self::WEBSITE_ID.", ".self::SYNCED.",".self::UPDATED_TIME.") values "
|
58 |
+
. "(:productId, :websiteId, :synced, :updated_time) ON DUPLICATE KEY UPDATE updated_time=NOW()";
|
|
|
59 |
|
60 |
$binds = array(
|
61 |
'productId' => $product->getEntityId(),
|
62 |
'websiteId' => $websiteId,
|
63 |
'synced' => self::SYNCED_FALSE,
|
64 |
+
'updated_time' => date('Y-m-d H:i:s')
|
|
|
65 |
);
|
66 |
$write->query($query, $binds);
|
67 |
}
|
74 |
*/
|
75 |
public function deleteProduct(Mage_Catalog_Model_Product $product = null) {
|
76 |
if (is_null($product) || !$product->hasData('entity_id')) {
|
77 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::ERR, 'product argument sent is empty');
|
78 |
return false;
|
79 |
}
|
80 |
$write = Mage::getSingleton("core/resource")->getConnection("core_write");
|
81 |
foreach($product->getWebsiteIds() as $websiteId) {
|
82 |
|
83 |
+
$query = "insert into " . $this->getResource()->getTable('unbxd_recscore/sync')
|
84 |
. "(product_id, website_id, synced, operation, updated_time) values "
|
85 |
+
. "(:productId, :websiteId, :synced, :operation, :updated_time) ON DUPLICATE KEY UPDATE updated_time=NOW()";
|
|
|
86 |
|
87 |
$binds = array(
|
88 |
'productId' => $product->getEntityId(),
|
89 |
'websiteId' => $websiteId,
|
90 |
'synced' => self::SYNCED_FALSE,
|
91 |
+
'operation' => 'DELETE',
|
92 |
'updated_time' => date('Y-m-d H:i:s')
|
93 |
);
|
94 |
$write->query($query, $binds);
|
96 |
}
|
97 |
|
98 |
|
99 |
+
public function markItSynced($websiteId, $toTime) {
|
100 |
$write = Mage::getSingleton("core/resource")->getConnection("core_write");
|
101 |
+
$query = "update " . $this->getResource()->getTable('unbxd_recscore/sync')
|
102 |
+
. " set " . self::SYNCED . " = 1 where " . self::WEBSITE_ID
|
103 |
+
. "= :websiteId and " . self::UPDATED_TIME . '< :toTime';
|
|
|
104 |
|
105 |
$binds = array(
|
|
|
106 |
'websiteId' => $websiteId,
|
107 |
+
'toTime' => $toTime
|
|
|
108 |
);
|
109 |
$write->query($query, $binds);
|
110 |
}
|
111 |
+
}
|
app/code/local/Unbxd/{Recommendation → Recscore}/controllers/Adminhtml/IndexController.php
RENAMED
@@ -2,10 +2,10 @@
|
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
-
* @package
|
6 |
* @author Unbxd Software Pvt. Ltd {
|
7 |
*/
|
8 |
-
class
|
9 |
|
10 |
/**
|
11 |
* @return void
|
@@ -15,4 +15,4 @@ class Unbxd_Recommendation_Adminhtml_IndexController extends Mage_Adminhtml_Cont
|
|
15 |
$this->renderLayout();
|
16 |
}
|
17 |
}
|
18 |
-
?>
|
2 |
|
3 |
/**
|
4 |
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
* @author Unbxd Software Pvt. Ltd {
|
7 |
*/
|
8 |
+
class Unbxd_Recscore_Adminhtml_IndexController extends Mage_Adminhtml_Controller_Action {
|
9 |
|
10 |
/**
|
11 |
* @return void
|
15 |
$this->renderLayout();
|
16 |
}
|
17 |
}
|
18 |
+
?>
|
app/code/local/Unbxd/Recscore/controllers/CatalogController.php
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @category Unbxd
|
5 |
+
* @package Unbxd_Recscore
|
6 |
+
* @author Unbxd Software Pvt. Ltd
|
7 |
+
*/
|
8 |
+
class Unbxd_Recscore_CatalogController extends Mage_Core_Controller_Front_Action {
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Recscore
|
12 |
+
* @return Unbxd_Recscore_Helper_Confighelper
|
13 |
+
*/
|
14 |
+
protected function _helper() {
|
15 |
+
return Mage::helper("unbxd_recscore/confighelper");
|
16 |
+
}
|
17 |
+
|
18 |
+
protected function _getRawBody($request) {
|
19 |
+
$requestBody = json_decode($request->getRawBody(), true);
|
20 |
+
if(0 != strpos($request->getHeader('Content-Type'), 'application/json') || $requestBody === false) {
|
21 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
22 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
23 |
+
'errors' => array('message' => 'Invalid Request'))));
|
24 |
+
return null;
|
25 |
+
}
|
26 |
+
return $requestBody;
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @param $websiteName
|
31 |
+
* @return mixed
|
32 |
+
*/
|
33 |
+
protected function _getWebsiteByName($websiteName)
|
34 |
+
{
|
35 |
+
return Mage::getResourceModel('core/website_collection')
|
36 |
+
->addFieldToFilter('name', $websiteName)
|
37 |
+
->getFirstItem();
|
38 |
+
}
|
39 |
+
|
40 |
+
protected function _prepare() {
|
41 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
42 |
+
if(array_key_exists("site", $_REQUEST)) {
|
43 |
+
$website = $this->_getWebsiteByName($_REQUEST["site"]);
|
44 |
+
}
|
45 |
+
|
46 |
+
if(!isset($website) || !$website->hasData("website_id")) {
|
47 |
+
Mage::helper('unbxd_recscore')->log(Zend_Log::DEBUG,'api failed because of invalid website');
|
48 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => array('Invalid site'))));
|
49 |
+
return null;
|
50 |
+
}
|
51 |
+
return $website;
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* @return void
|
56 |
+
*/
|
57 |
+
public function filterAction() {
|
58 |
+
$website = $this->_prepare();
|
59 |
+
if (is_null($website)) {
|
60 |
+
return;
|
61 |
+
}
|
62 |
+
|
63 |
+
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::GET) {
|
64 |
+
$filters = Mage::getResourceModel('unbxd_recscore/config')->getFilters($website);
|
65 |
+
$this->getResponse()->setBody(json_encode(array('success' => true,
|
66 |
+
'filters' => $filters)));
|
67 |
+
} else if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::POST) {
|
68 |
+
$request = $this->getRequest();
|
69 |
+
$requestBody = $this->_getRawBody($request);
|
70 |
+
$filterValues = array();
|
71 |
+
foreach($requestBody as $key=>$value) {
|
72 |
+
$filterValues[] = $key . Unbxd_Recscore_Model_Config::FILTER_DELIMITER . $value;
|
73 |
+
}
|
74 |
+
Mage ::getResourceModel('unbxd_recscore/config')->updateValues($website->getWebsiteId(),
|
75 |
+
Unbxd_Recscore_Model_Config::FILTER, $filterValues);
|
76 |
+
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
77 |
+
} else {
|
78 |
+
Mage::helper('unbxd_recscore')
|
79 |
+
->log(Zend_Log::DEBUG, 'keys api failed because of invalid method');
|
80 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
81 |
+
'errors' => array('message' => 'Invalid method'))));
|
82 |
+
}
|
83 |
+
}
|
84 |
+
}
|
app/code/local/Unbxd/Recscore/controllers/ConfigController.php
ADDED
@@ -0,0 +1,535 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* controller that provides all the config
|
5 |
+
* @category Unbxd
|
6 |
+
* @package Unbxd_Recscore
|
7 |
+
* @author Unbxd Software Pvt. Ltd
|
8 |
+
*/
|
9 |
+
class Unbxd_Recscore_ConfigController extends Mage_Core_Controller_Front_Action {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Recscore
|
13 |
+
* @return Unbxd_Recscore_Helper_Confighelper
|
14 |
+
*/
|
15 |
+
protected function _helper() {
|
16 |
+
return Mage::helper("unbxd_recscore/confighelper");
|
17 |
+
}
|
18 |
+
|
19 |
+
protected function _getRawBody($request)
|
20 |
+
{
|
21 |
+
$requestBody = json_decode($request->getRawBody(), true);
|
22 |
+
if (0 != strpos($request->getHeader('Content-Type'), 'application/json') || $requestBody === false) {
|
23 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
24 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
25 |
+
'errors' => array('message' => 'Invalid Request'))));
|
26 |
+
return null;
|
27 |
+
}
|
28 |
+
return $requestBody;
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* @return void
|
33 |
+
*/
|
34 |
+
public function filterAction() {
|
35 |
+
$website = $this->_prepare();
|
36 |
+
if (is_null($website)) {
|
37 |
+
return;
|
38 |
+
}
|
39 |
+
|
40 |
+
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::GET) {
|
41 |
+
Mage::getResourceModel('unbxd_recscore/config')->getValues($website->getWebsiteId(),
|
42 |
+
Unbxd_Recscore_Helper_Constants::FILTER);
|
43 |
+
} else if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::POST) {
|
44 |
+
|
45 |
+
} else {
|
46 |
+
$this->_helper()
|
47 |
+
->log(Zend_Log::DEBUG, 'keys api failed because of invalid method');
|
48 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
49 |
+
'errors' => array('message' => 'Invalid method'))));
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
|
54 |
+
protected function _getFields($request) {
|
55 |
+
$requestBody = $this->_getRawBody($request);
|
56 |
+
if(is_null($requestBody)) {
|
57 |
+
return null;
|
58 |
+
}
|
59 |
+
if(!array_key_exists("fields", $requestBody)) {
|
60 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
61 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
62 |
+
'errors' => array('message' => 'Invalid Request'))));
|
63 |
+
return null;
|
64 |
+
}
|
65 |
+
return $requestBody["fields"];
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* @param $websiteName
|
70 |
+
* @return mixed
|
71 |
+
*/
|
72 |
+
protected function _getWebsiteByName($websiteName)
|
73 |
+
{
|
74 |
+
return Mage::getResourceModel('core/website_collection')
|
75 |
+
->addFieldToFilter('name', $websiteName)
|
76 |
+
->getFirstItem();
|
77 |
+
}
|
78 |
+
|
79 |
+
protected function _prepare() {
|
80 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
81 |
+
if(array_key_exists("site", $_REQUEST)) {
|
82 |
+
$website = $this->_getWebsiteByName($_REQUEST["site"]);
|
83 |
+
}
|
84 |
+
|
85 |
+
if(!isset($website) || !$website->hasData("website_id")) {
|
86 |
+
$this->_helper()->log(Zend_Log::DEBUG,'api failed because of invalid website');
|
87 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => array('Invalid site'))));
|
88 |
+
return null;
|
89 |
+
}
|
90 |
+
return $website;
|
91 |
+
}
|
92 |
+
|
93 |
+
public function editAction(){
|
94 |
+
$this->loadLayout();
|
95 |
+
$this->renderLayout();
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* api to return the sites
|
100 |
+
* @return void
|
101 |
+
*/
|
102 |
+
public function siteAction()
|
103 |
+
{
|
104 |
+
$websites = Mage::app()->getWebsites();
|
105 |
+
$sites = array();
|
106 |
+
foreach ($websites as $website) {
|
107 |
+
$sites[] = array('name' => $website->getName(),
|
108 |
+
'id' => $website->getId(),
|
109 |
+
'numDocs' => $this->_helper()->getNumberOfDocsInUnbxd($website));
|
110 |
+
}
|
111 |
+
$response = array('sites' => $sites);
|
112 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
113 |
+
$this->getResponse()->setBody(json_encode($response));
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Method to get the fields
|
118 |
+
* @return void
|
119 |
+
*/
|
120 |
+
public function fieldsAction() {
|
121 |
+
$request = $this->getRequest();
|
122 |
+
if(array_key_exists("site", $_REQUEST)) {
|
123 |
+
$website = $this->_getWebsiteByName($_GET["site"]);
|
124 |
+
}
|
125 |
+
if(!isset($website) || !$website->hasData("website_id")) {
|
126 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
127 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
128 |
+
'errors' => array('message' => 'Invalid site'))));
|
129 |
+
return;
|
130 |
+
}
|
131 |
+
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::GET) {
|
132 |
+
$mappedFields = Mage::getResourceModel('unbxd_recscore/field')->getDisplayableFields($website)
|
133 |
+
->__asArray();
|
134 |
+
$featureFields = Unbxd_Recscore_Model_Field::$displayableFeatureFields;
|
135 |
+
foreach($mappedFields as $fields) {
|
136 |
+
if(array_key_exists(Unbxd_Recscore_Model_Field::featured_field, $fields) &&
|
137 |
+
in_array($fields[Unbxd_Recscore_Model_Field::featured_field], $featureFields)) {
|
138 |
+
unset($featureFields[array_search($fields[Unbxd_Recscore_Model_Field::featured_field],
|
139 |
+
$featureFields)]);
|
140 |
+
}
|
141 |
+
}
|
142 |
+
|
143 |
+
foreach($featureFields as $field) {
|
144 |
+
$mappedFields[] = array(Unbxd_Recscore_Model_Field::featured_field => $field,
|
145 |
+
Unbxd_Recscore_Model_Field::datatype => 'text',
|
146 |
+
Unbxd_Recscore_Model_Field::autosuggest => 1);
|
147 |
+
}
|
148 |
+
|
149 |
+
$fields = $this->_helper()->getAllAttributes();
|
150 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
151 |
+
$this->getResponse()->setBody(json_encode(array('success' => true,
|
152 |
+
'mappedFields' => $mappedFields, 'fields' => $fields,
|
153 |
+
'datatype' => Unbxd_Recscore_Model_Field::$data_types)));
|
154 |
+
} else if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::POST) {
|
155 |
+
$fields = $this->_getFields($request);
|
156 |
+
if($fields == null ) {
|
157 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
158 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
159 |
+
'errors' => array('message' => 'Invalid Request'))));
|
160 |
+
return;
|
161 |
+
}
|
162 |
+
//request for adding fields
|
163 |
+
$response = $this->_helper()->saveFields($fields, $website);
|
164 |
+
if(is_array($response)) {
|
165 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
166 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => $response)));
|
167 |
+
return;
|
168 |
+
}
|
169 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
170 |
+
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
171 |
+
return;
|
172 |
+
} else if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::PUT) {
|
173 |
+
$fields = $this->_getFields($request);
|
174 |
+
if($fields == null ) {
|
175 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
176 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
177 |
+
'errors' => array('message' => 'Invalid Request'))));
|
178 |
+
return;
|
179 |
+
|
180 |
+
}
|
181 |
+
|
182 |
+
|
183 |
+
// request for deleting fields
|
184 |
+
$response = $this->_helper()->deleteFields($this->_getFields($request), $website);
|
185 |
+
if(is_array($response)) {
|
186 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
187 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => $response)));
|
188 |
+
return;
|
189 |
+
}
|
190 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
191 |
+
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
192 |
+
return;
|
193 |
+
} else {
|
194 |
+
$this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
|
195 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
196 |
+
'errors' => array('message' => 'Invalid method'))));
|
197 |
+
}
|
198 |
+
}
|
199 |
+
|
200 |
+
/**
|
201 |
+
* Api to get the analytics impressions
|
202 |
+
*
|
203 |
+
* @return void
|
204 |
+
*/
|
205 |
+
public function analyticsimpressionAction() {
|
206 |
+
$website = $this->_prepare();
|
207 |
+
if(is_null($website)){
|
208 |
+
return;
|
209 |
+
}
|
210 |
+
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::GET) {
|
211 |
+
|
212 |
+
$analyticsResponse = Mage::getModel("unbxd_recscore/api_task_analyticsimpression")
|
213 |
+
->prepare($website)
|
214 |
+
->process();
|
215 |
+
if(!$analyticsResponse->isSuccess()) {
|
216 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => $analyticsResponse->getErrors())));
|
217 |
+
return;
|
218 |
+
}
|
219 |
+
|
220 |
+
$searchResponse = Mage::getSingleton('unbxd_recscore/api_task_searchimpression')
|
221 |
+
->prepare($website)
|
222 |
+
->process();
|
223 |
+
if(!$searchResponse->isSuccess()) {
|
224 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => $searchResponse->getErrors())));
|
225 |
+
return;
|
226 |
+
}
|
227 |
+
$response = $analyticsResponse->getResponse();
|
228 |
+
$searhitResponseObj = $searchResponse->getResponse();
|
229 |
+
$funnels = $searhitResponseObj["FunnelResponse"]["Funnels"];
|
230 |
+
$searchCount = 0;
|
231 |
+
$searchClicks = 0;
|
232 |
+
foreach($funnels as $funnel) {
|
233 |
+
if(array_key_exists("type", $funnel) && $funnel["type"] == "hits" && array_key_exists("searchCount",$funnel)) {
|
234 |
+
$searchCount = $funnel["searchCount"];
|
235 |
+
}
|
236 |
+
if(array_key_exists("type", $funnel) && $funnel["type"] == "clicks" && array_key_exists("searchCount",$funnel)) {
|
237 |
+
$searchClicks = $funnel["searchCount"];
|
238 |
+
}
|
239 |
+
}
|
240 |
+
$response["searchCount"] = $searchCount;
|
241 |
+
$response["searchClicks"] = $searchClicks;
|
242 |
+
$this->getResponse()->setBody(json_encode(array('success' => true) + $response));
|
243 |
+
} else {
|
244 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => array('Invalid method'))));
|
245 |
+
}
|
246 |
+
|
247 |
+
}
|
248 |
+
|
249 |
+
/**
|
250 |
+
* Method to get keys
|
251 |
+
* @return void
|
252 |
+
*/
|
253 |
+
public function keysAction() {
|
254 |
+
$request = $this->getRequest();
|
255 |
+
$website = $this->_prepare();
|
256 |
+
if(is_null($website)) {
|
257 |
+
return;
|
258 |
+
}
|
259 |
+
|
260 |
+
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::GET) {
|
261 |
+
$secretKey = Mage::getResourceModel("unbxd_recscore/config")
|
262 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::SECRET_KEY);
|
263 |
+
$siteKey = Mage::getResourceModel("unbxd_recscore/config")
|
264 |
+
->getValue($website->getWebsiteId(), Unbxd_Recscore_Helper_Constants::SITE_KEY);
|
265 |
+
$errors = array();
|
266 |
+
if(is_null($secretKey)) {
|
267 |
+
$errors[Unbxd_Recscore_Helper_Constants::SECRET_KEY] = "secret key not set";
|
268 |
+
}
|
269 |
+
if(is_null($siteKey)) {
|
270 |
+
$errors[Unbxd_Recscore_Helper_Constants::SITE_KEY] = "site key not set";
|
271 |
+
}
|
272 |
+
if(sizeof($errors) > 0) {
|
273 |
+
$this->_helper()
|
274 |
+
->log(Zend_Log::DEBUG,'save keys api failed because ' . json_encode($errors));
|
275 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => $errors)));
|
276 |
+
return;
|
277 |
+
}
|
278 |
+
$this->getResponse()->setBody(json_encode(array('success' => true,
|
279 |
+
Unbxd_Recscore_Helper_Constants::SECRET_KEY => $secretKey,
|
280 |
+
Unbxd_Recscore_Helper_Constants::SITE_KEY => $siteKey)));
|
281 |
+
return;
|
282 |
+
} else if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::POST) {
|
283 |
+
$requestBody = $request->getRawBody();
|
284 |
+
$errors = $this->_helper()->validateAndSaveKeys($website, $requestBody);
|
285 |
+
if(sizeof($errors)>0) {
|
286 |
+
$this->_helper()
|
287 |
+
->log(Zend_Log::DEBUG, 'save keys api failed because of ' . json_encode($errors));
|
288 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
289 |
+
'errors' => $errors)));
|
290 |
+
return;
|
291 |
+
}
|
292 |
+
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
293 |
+
} else {
|
294 |
+
$this->_helper()
|
295 |
+
->log(Zend_Log::DEBUG, 'keys api failed because of invalid method');
|
296 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
297 |
+
'errors' => array('message' => 'Invalid method'))));
|
298 |
+
return;
|
299 |
+
}
|
300 |
+
}
|
301 |
+
|
302 |
+
|
303 |
+
|
304 |
+
public function dimensionmapAction()
|
305 |
+
{
|
306 |
+
$website = $this->_prepare();
|
307 |
+
if (is_null($website)) {
|
308 |
+
return;
|
309 |
+
}
|
310 |
+
if ($this->getRequest()->getMethod() == Zend_Http_Client::POST) {
|
311 |
+
$response = $this->_helper()->updateFeatureFields($website);
|
312 |
+
if(is_array($response)) {
|
313 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, $response)));
|
314 |
+
return;
|
315 |
+
}
|
316 |
+
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
317 |
+
return;
|
318 |
+
} else {
|
319 |
+
$this->_helper()
|
320 |
+
->log(Zend_Log::DEBUG, 'keys api failed because of invalid method');
|
321 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
322 |
+
'errors' => array('message' => 'Invalid method'))));
|
323 |
+
|
324 |
+
}
|
325 |
+
}
|
326 |
+
|
327 |
+
public function downloadAction() {
|
328 |
+
$filepath = Mage::getBaseDir('log').DS.Unbxd_Recscore_Helper_Data::LOG_FILE;
|
329 |
+
|
330 |
+
if (! is_file ( $filepath ) || ! is_readable ( $filepath )) {
|
331 |
+
throw new Exception ( );
|
332 |
+
}
|
333 |
+
$this->getResponse ()
|
334 |
+
->setHttpResponseCode ( 200 )
|
335 |
+
->setHeader ( 'Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true )
|
336 |
+
->setHeader ( 'Pragma', 'public', true )
|
337 |
+
->setHeader ( 'Content-type', 'application/force-download' )
|
338 |
+
->setHeader ( 'Content-Length', filesize($filepath) )
|
339 |
+
->setHeader ('Content-Disposition', 'attachment' . '; filename=' . basename($filepath) );
|
340 |
+
$this->getResponse ()->clearBody ();
|
341 |
+
$this->getResponse ()->sendHeaders ();
|
342 |
+
readfile ( $filepath );
|
343 |
+
return;
|
344 |
+
}
|
345 |
+
|
346 |
+
public function feeddetailsAction() {
|
347 |
+
$website = $this->_prepare();
|
348 |
+
if (is_null($website)) {
|
349 |
+
return;
|
350 |
+
}
|
351 |
+
|
352 |
+
$this->getResponse()
|
353 |
+
->setBody(json_encode(array('success' => true,
|
354 |
+
'numDocs' => $this->_helper()->getNumberOfDocsInUnbxd($website))));
|
355 |
+
return;
|
356 |
+
}
|
357 |
+
|
358 |
+
public function productsyncAction(){
|
359 |
+
$website = $this->_prepare();
|
360 |
+
if (is_null($website)) {
|
361 |
+
return;
|
362 |
+
}
|
363 |
+
ignore_user_abort(true);
|
364 |
+
set_time_limit(0);
|
365 |
+
$isFullUpload = true;
|
366 |
+
$feedMgr = Mage::getSingleton('unbxd_recscore/feed_feedmanager');
|
367 |
+
if(array_key_exists('incremental', $_REQUEST)) {
|
368 |
+
$isFullUpload = false;
|
369 |
+
}
|
370 |
+
|
371 |
+
$response = $feedMgr->process($isFullUpload, $website);
|
372 |
+
$this->getResponse()->setBody(json_encode($response));
|
373 |
+
return;
|
374 |
+
}
|
375 |
+
|
376 |
+
|
377 |
+
public function unlockfeedAction() {
|
378 |
+
$website = $this->_prepare();
|
379 |
+
if (is_null($website)) {
|
380 |
+
return;
|
381 |
+
}
|
382 |
+
Mage::getResourceModel('unbxd_recscore/config')->unLockSite($website->getWebsiteId());
|
383 |
+
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
384 |
+
}
|
385 |
+
|
386 |
+
public function cronAction() {
|
387 |
+
$website = $this->_prepare();
|
388 |
+
if (is_null($website)) {
|
389 |
+
return;
|
390 |
+
}
|
391 |
+
$isCronEnabled = Mage::getResourceSingleton('unbxd_recscore/config')->getValue($website->getWebsiteId(),
|
392 |
+
Unbxd_Recscore_Helper_Constants::IS_CRON_ENABLED);
|
393 |
+
if(is_null($isCronEnabled)) {
|
394 |
+
$this->getResponse()->setBody(json_encode(array('success' => true, 'cron_enabled' => false)));
|
395 |
+
}
|
396 |
+
$this->getResponse()->setBody(json_encode(array('success' => true, 'cron_enabled' => true)));
|
397 |
+
}
|
398 |
+
|
399 |
+
public function supportmailAction() {
|
400 |
+
$website = $this->_prepare();
|
401 |
+
if (is_null($website)) {
|
402 |
+
return;
|
403 |
+
}
|
404 |
+
|
405 |
+
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::POST) {
|
406 |
+
$request = $this->getRequest();
|
407 |
+
$requestBody = $this->_getRawBody($request);
|
408 |
+
if(!array_key_exists(Unbxd_Recscore_Helper_Constants::CC, $requestBody) ||
|
409 |
+
!array_key_exists(Unbxd_Recscore_Helper_Constants::SUBJECT, $requestBody) ||
|
410 |
+
!array_key_exists(Unbxd_Recscore_Helper_Constants::CONTENT, $requestBody)) {
|
411 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, 'message' => 'Invalid parameters')));
|
412 |
+
return;
|
413 |
+
}
|
414 |
+
Mage::getModel('unbxd_recscore/api_task_supportmail')
|
415 |
+
->setSubject($requestBody[Unbxd_Recscore_Helper_Constants::SUBJECT])
|
416 |
+
->setCc($requestBody[Unbxd_Recscore_Helper_Constants::CC])
|
417 |
+
->setContent($requestBody[Unbxd_Recscore_Helper_Constants::CONTENT])
|
418 |
+
->prepare($website)
|
419 |
+
->process();
|
420 |
+
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
421 |
+
} else {
|
422 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
423 |
+
'errors' => array('message' => 'Invalid method'))));
|
424 |
+
}
|
425 |
+
}
|
426 |
+
|
427 |
+
/**
|
428 |
+
* @return void
|
429 |
+
*/
|
430 |
+
public function globalAction() {
|
431 |
+
$website = $this->_prepare();
|
432 |
+
if (is_null($website)) {
|
433 |
+
return;
|
434 |
+
}
|
435 |
+
|
436 |
+
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::GET) {
|
437 |
+
$keys = $this->getRequest()->getParam('key');
|
438 |
+
if(isset($keys) && $keys != '') {
|
439 |
+
$keys = explode(',', $keys);
|
440 |
+
$configs = array();
|
441 |
+
foreach($keys as $key) {
|
442 |
+
$value = $this->_helper()->getEngineConfigData($key, $website, true);
|
443 |
+
if(is_array($value)) {
|
444 |
+
$configs = $configs + $value;
|
445 |
+
}
|
446 |
+
}
|
447 |
+
$this->getResponse()->setBody(json_encode(array('success' => true, 'config' => $configs)));
|
448 |
+
} else {
|
449 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
450 |
+
'errors' => array('message' => 'Invalid input'))));
|
451 |
+
}
|
452 |
+
|
453 |
+
|
454 |
+
} else if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::POST) {
|
455 |
+
$request = $this->getRequest();
|
456 |
+
$requestBody = $this->_getRawBody($request);
|
457 |
+
if(!is_array($requestBody)) {
|
458 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, 'message' => 'Invalid input')));
|
459 |
+
return;
|
460 |
+
}
|
461 |
+
foreach($requestBody as $field=>$value) {
|
462 |
+
if(!is_null($this->_helper()->isConfigSaveAllowed($website, $field, $value))){
|
463 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, $field => $this->_helper()->isConfigSaveAllowed($website, $field, $value))));
|
464 |
+
return;
|
465 |
+
}
|
466 |
+
}
|
467 |
+
$this->_helper()->saveConfig($website, $requestBody);
|
468 |
+
Mage::app()->getCacheInstance()->invalidateType('config');
|
469 |
+
$this->getResponse()->setBody(json_encode(array('success' => true)));
|
470 |
+
} else {
|
471 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
472 |
+
'errors' => array('message' => 'Invalid method'))));
|
473 |
+
}
|
474 |
+
}
|
475 |
+
|
476 |
+
/**
|
477 |
+
*
|
478 |
+
* @return void
|
479 |
+
*/
|
480 |
+
public function searchimpressionAction() {
|
481 |
+
$website = $this->_prepare();
|
482 |
+
if (is_null($website)) {
|
483 |
+
return;
|
484 |
+
}
|
485 |
+
|
486 |
+
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::GET) {
|
487 |
+
$response = Mage::getSingleton('unbxd_recscore/api_task_searchimpression')
|
488 |
+
->prepare($website)
|
489 |
+
->process();
|
490 |
+
if(!$response->isSuccess()) {
|
491 |
+
$this->getResponse()->setBody(json_encode(array('success' => false, 'errors' => $response->getErrors())));
|
492 |
+
return;
|
493 |
+
}
|
494 |
+
$this->getResponse()->setBody(json_encode(array('success' => true, 'funnel' => $response->getResponse())));
|
495 |
+
} else {
|
496 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
497 |
+
'errors' => array('message' => 'Invalid method'))));
|
498 |
+
}
|
499 |
+
}
|
500 |
+
|
501 |
+
public function feedstatusAction() {
|
502 |
+
$website = $this->_prepare();
|
503 |
+
if (is_null($website)) {
|
504 |
+
return;
|
505 |
+
}
|
506 |
+
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::GET) {
|
507 |
+
$response = Mage::getResourceSingleton("unbxd_recscore/config")->getValue($website->getWebsiteId(),
|
508 |
+
array(Unbxd_Recscore_Model_Config::LAST_UPLOAD_TIME,
|
509 |
+
Unbxd_Recscore_Model_Config::FEED_STATUS));
|
510 |
+
if(!array_key_exists(Unbxd_Recscore_Model_Config::LAST_UPLOAD_TIME, $response)) {
|
511 |
+
$response[Unbxd_Recscore_Model_Config::LAST_UPLOAD_TIME] = null;
|
512 |
+
$response[Unbxd_Recscore_Model_Config::FEED_STATUS] = 'NOT UPLOADED';
|
513 |
+
}
|
514 |
+
$this->getResponse()->setBody(json_encode(array('success' => true) + $response));
|
515 |
+
} else {
|
516 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
517 |
+
'errors' => array('message' => 'Invalid method'))));
|
518 |
+
}
|
519 |
+
|
520 |
+
}
|
521 |
+
|
522 |
+
public function stateAction() {
|
523 |
+
$website = $this->_prepare();
|
524 |
+
if (is_null($website)) {
|
525 |
+
return;
|
526 |
+
}
|
527 |
+
if($_SERVER['REQUEST_METHOD'] == Zend_Http_Client::GET) {
|
528 |
+
$response = Mage::getModel('unbxd_recscore/statemgr')->getAllStates($website);
|
529 |
+
$this->getResponse()->setBody(json_encode(array('success' => true) + $response));
|
530 |
+
} else {
|
531 |
+
$this->getResponse()->setBody(json_encode(array('success' => false,
|
532 |
+
'errors' => array('message' => 'Invalid method'))));
|
533 |
+
}
|
534 |
+
}
|
535 |
+
}
|
app/code/local/Unbxd/{Recommendation → Recscore}/etc/adminhtml.xml
RENAMED
@@ -1,9 +1,9 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<config>
|
3 |
<menu>
|
4 |
-
<
|
5 |
<title>Unbxd</title>
|
6 |
<action>unbxdadmin/index</action>
|
7 |
-
</
|
8 |
</menu>
|
9 |
</config>
|
1 |
<?xml version="1.0"?>
|
2 |
<config>
|
3 |
<menu>
|
4 |
+
<unbxd translate="title" module="unbxd_recscore">
|
5 |
<title>Unbxd</title>
|
6 |
<action>unbxdadmin/index</action>
|
7 |
+
</unbxd>
|
8 |
</menu>
|
9 |
</config>
|
app/code/local/Unbxd/Recscore/etc/config.xml
ADDED
@@ -0,0 +1,189 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<config>
|
2 |
+
<modules>
|
3 |
+
<Unbxd_Recscore>
|
4 |
+
<version>1.0.19</version>
|
5 |
+
</Unbxd_Recscore>
|
6 |
+
</modules>
|
7 |
+
<admin>
|
8 |
+
<routers>
|
9 |
+
<unbxd_recscore_router>
|
10 |
+
<use>admin</use>
|
11 |
+
<args>
|
12 |
+
<module>Unbxd_Recscore_Adminhtml</module>
|
13 |
+
<frontName>unbxdadmin</frontName>
|
14 |
+
</args>
|
15 |
+
</unbxd_recscore_router>
|
16 |
+
</routers>
|
17 |
+
</admin>
|
18 |
+
<frontend>
|
19 |
+
<layout>
|
20 |
+
<updates>
|
21 |
+
<unbxd_recscore>
|
22 |
+
<file>unbxd/recscore.xml</file>
|
23 |
+
</unbxd_recscore>
|
24 |
+
</updates>
|
25 |
+
</layout>
|
26 |
+
<routers>
|
27 |
+
<unbxd_recscore>
|
28 |
+
<use>standard</use>
|
29 |
+
<args>
|
30 |
+
<module>Unbxd_Recscore</module>
|
31 |
+
<frontName>recscore</frontName>
|
32 |
+
</args>
|
33 |
+
</unbxd_recscore>
|
34 |
+
</routers>
|
35 |
+
</frontend>
|
36 |
+
<global>
|
37 |
+
<resources>
|
38 |
+
<unbxd_recscore_setup>
|
39 |
+
<setup>
|
40 |
+
<module>Unbxd_Recscore</module>
|
41 |
+
</setup>
|
42 |
+
</unbxd_recscore_setup>
|
43 |
+
</resources>
|
44 |
+
<helpers>
|
45 |
+
<unbxd_recscore>
|
46 |
+
<class>Unbxd_Recscore_Helper</class>
|
47 |
+
</unbxd_recscore>
|
48 |
+
</helpers>
|
49 |
+
<models>
|
50 |
+
<unbxd_recscore>
|
51 |
+
<class>Unbxd_Recscore_Model</class>
|
52 |
+
<resourceModel>unbxd_recscore_resource</resourceModel>
|
53 |
+
</unbxd_recscore>
|
54 |
+
<unbxd_recscore_resource>
|
55 |
+
<class>Unbxd_Recscore_Model_Resource</class>
|
56 |
+
<entities>
|
57 |
+
<config>
|
58 |
+
<table>unbxd_recommendation_conf</table>
|
59 |
+
</config>
|
60 |
+
<field>
|
61 |
+
<table>unbxd_field_conf</table>
|
62 |
+
</field>
|
63 |
+
<sync>
|
64 |
+
<table>unbxd_product_sync</table>
|
65 |
+
</sync>
|
66 |
+
</entities>
|
67 |
+
</unbxd_recscore_resource>
|
68 |
+
</models>
|
69 |
+
<blocks>
|
70 |
+
<unbxd_recscore>
|
71 |
+
<class>Unbxd_Recscore_Block</class>
|
72 |
+
</unbxd_recscore>
|
73 |
+
</blocks>
|
74 |
+
<events>
|
75 |
+
<controller_action_predispatch_unbxd_recscore>
|
76 |
+
<observers>
|
77 |
+
<unbxd_recscore_auth>
|
78 |
+
<type>singleton</type>
|
79 |
+
<class>unbxd_recscore/auth</class>
|
80 |
+
<method>authorize</method>
|
81 |
+
</unbxd_recscore_auth>
|
82 |
+
</observers>
|
83 |
+
</controller_action_predispatch_unbxd_recscore>
|
84 |
+
<checkout_cart_add_product_complete>
|
85 |
+
<observers>
|
86 |
+
<unbxd_recscore_cart_tracker>
|
87 |
+
<type>singleton</type>
|
88 |
+
<class>unbxd_recscore/observer</class>
|
89 |
+
<method>trackAddToCart</method>
|
90 |
+
</unbxd_recscore_cart_tracker>
|
91 |
+
</observers>
|
92 |
+
</checkout_cart_add_product_complete>
|
93 |
+
<sales_order_payment_place_end>
|
94 |
+
<observers>
|
95 |
+
<unbxd_recscore_order_tracker>
|
96 |
+
<type>singleton</type>
|
97 |
+
<class>unbxd_recscore/observer</class>
|
98 |
+
<method>trackOrder</method>
|
99 |
+
</unbxd_recscore_order_tracker>
|
100 |
+
</observers>
|
101 |
+
</sales_order_payment_place_end>
|
102 |
+
<catalog_product_delete_before>
|
103 |
+
<observers>
|
104 |
+
<unbxd_recscore_order_tracker>
|
105 |
+
<type>singleton</type>
|
106 |
+
<class>unbxd_recscore/observer</class>
|
107 |
+
<method>trackDelete</method>
|
108 |
+
</unbxd_recscore_order_tracker>
|
109 |
+
</observers>
|
110 |
+
</catalog_product_delete_before>
|
111 |
+
<catalog_product_delete_commit_after>
|
112 |
+
<observers>
|
113 |
+
<unbxd_recscore_order_tracker>
|
114 |
+
<type>singleton</type>
|
115 |
+
<class>unbxd_recscore/observer</class>
|
116 |
+
<method>trackDelete</method>
|
117 |
+
</unbxd_recscore_order_tracker>
|
118 |
+
</observers>
|
119 |
+
</catalog_product_delete_commit_after>
|
120 |
+
<cataloginventory_stock_item_save_commit_after>
|
121 |
+
<observers>
|
122 |
+
<unbxd_recscore_catalog_inventory_save>
|
123 |
+
<type>singleton</type>
|
124 |
+
<class>unbxd_recscore/observer</class>
|
125 |
+
<method>catalogInventorySave</method>
|
126 |
+
</unbxd_recscore_catalog_inventory_save>
|
127 |
+
</observers>
|
128 |
+
</cataloginventory_stock_item_save_commit_after>
|
129 |
+
<sales_order_item_cancel>
|
130 |
+
<observers>
|
131 |
+
<unbxd_recscore_order_cancel>
|
132 |
+
<type>singleton</type>
|
133 |
+
<class>unbxd_recscore/observer</class>
|
134 |
+
<method>catalogInventorySave</method>
|
135 |
+
</unbxd_recscore_order_cancel>
|
136 |
+
</observers>
|
137 |
+
</sales_order_item_cancel>
|
138 |
+
</events>
|
139 |
+
</global>
|
140 |
+
<adminhtml>
|
141 |
+
<layout>
|
142 |
+
<updates>
|
143 |
+
<unbxd_recscore>
|
144 |
+
<file>unbxd/recscore.xml</file>
|
145 |
+
</unbxd_recscore>
|
146 |
+
</updates>
|
147 |
+
</layout>
|
148 |
+
<acl>
|
149 |
+
<resources>
|
150 |
+
<admin>
|
151 |
+
<children>
|
152 |
+
<unbxd module="unbxd_recscore">
|
153 |
+
<title>Unbxd</title>
|
154 |
+
</unbxd>
|
155 |
+
</children>
|
156 |
+
</admin>
|
157 |
+
</resources>
|
158 |
+
</acl>
|
159 |
+
</adminhtml>
|
160 |
+
<crontab>
|
161 |
+
<jobs>
|
162 |
+
<unbxd_recscore_sync>
|
163 |
+
<schedule><cron_expr>0 1 * * *</cron_expr></schedule>
|
164 |
+
<run><model>unbxd_recscore/observer::syncFull</model></run>
|
165 |
+
</unbxd_recscore_sync>
|
166 |
+
<unbxd_recscore_incremental_cron>
|
167 |
+
<schedule><cron_expr>0 */1 * * *</cron_expr></schedule>
|
168 |
+
<run><model>unbxd_recscore/observer::syncIncremental</model></run>
|
169 |
+
</unbxd_recscore_incremental_cron>
|
170 |
+
</jobs>
|
171 |
+
</crontab>
|
172 |
+
<default>
|
173 |
+
<unbxd>
|
174 |
+
<general>
|
175 |
+
<price>final_price</price>
|
176 |
+
<productUrl>url_path</productUrl>
|
177 |
+
<max_feed_lock_feed>2</max_feed_lock_feed>
|
178 |
+
<include_out_of_stock>true</include_out_of_stock>
|
179 |
+
<include_child_product>false</include_child_product>
|
180 |
+
<field_conf>{}</field_conf>
|
181 |
+
<exclude_category>[]</exclude_category>
|
182 |
+
<tracker_url>http://tracker.unbxdapi.com/</tracker_url>
|
183 |
+
<platform_url>http://accounts.unbxdapi.com/admin/</platform_url>
|
184 |
+
<service_url>http://starwreck.unbxdapi.com/</service_url>
|
185 |
+
<feed_url>http://feed.unbxdapi.com/</feed_url>
|
186 |
+
</general>
|
187 |
+
</unbxd>
|
188 |
+
</default>
|
189 |
+
</config>
|
app/code/local/Unbxd/Recscore/sql/unbxd_recscore_setup/mysql4-install-1.0.0.php
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
$installer = $this;
|
5 |
+
/* @var $installer Mage_Recscore_Model_Resource_Setup */
|
6 |
+
|
7 |
+
$installer->startSetup();
|
8 |
+
|
9 |
+
$configTable = $installer->getTable('unbxd_recommendation_conf');
|
10 |
+
$fieldTable = $installer->getTable('unbxd_field_conf');
|
11 |
+
$productSyncTable = $installer->getTable('unbxd_product_sync');
|
12 |
+
|
13 |
+
$installer->run("
|
14 |
+
|
15 |
+
CREATE TABLE IF NOT EXISTS `{$fieldTable}` (
|
16 |
+
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
17 |
+
`website_id` tinyint(5) unsigned NOT NULL,
|
18 |
+
`field_name` varchar(100) NOT NULL DEFAULT '',
|
19 |
+
`datatype` varchar(20) NOT NULL DEFAULT '',
|
20 |
+
`autosuggest` tinyint(1) NOT NULL DEFAULT '0',
|
21 |
+
`featured_field` varchar(100) DEFAULT NULL,
|
22 |
+
`multivalued` tinyint(1) NOT NULL DEFAULT '0',
|
23 |
+
`displayed` tinyint(1) NOT NULL DEFAULT '1',
|
24 |
+
PRIMARY KEY (`id`),
|
25 |
+
UNIQUE KEY `website_id` (`website_id`,`field_name`)
|
26 |
+
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
27 |
+
|
28 |
+
CREATE TABLE IF NOT EXISTS `{$configTable}` (
|
29 |
+
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
30 |
+
`website_id` smallint(5) unsigned NOT NULL,
|
31 |
+
`key` varchar(50) NOT NULL DEFAULT '',
|
32 |
+
`value` varchar(50) DEFAULT NULL,
|
33 |
+
PRIMARY KEY (`id`)
|
34 |
+
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
35 |
+
|
36 |
+
CREATE TABLE IF NOT EXISTS `{$productSyncTable}` (
|
37 |
+
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
38 |
+
`product_id` int(10) unsigned NOT NULL,
|
39 |
+
`website_id` smallint(5) unsigned NOT NULL,
|
40 |
+
`synced` tinyint(1) NOT NULL DEFAULT '0',
|
41 |
+
`updated_time` datetime DEFAULT NULL,
|
42 |
+
`sync_time` datetime DEFAULT NULL,
|
43 |
+
`operation` enum('ADD','DELETE') NOT NULL DEFAULT 'ADD',
|
44 |
+
PRIMARY KEY (`id`),
|
45 |
+
UNIQUE KEY `product_id` (`product_id`,`website_id`)
|
46 |
+
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
47 |
+
");
|
48 |
+
|
49 |
+
$websiteCollection = Mage::getModel('core/website')->getCollection()->load();
|
50 |
+
foreach($websiteCollection as $website) {
|
51 |
+
$websiteId = $website->getWebsiteId();
|
52 |
+
if(is_null($websiteId)) {
|
53 |
+
continue;
|
54 |
+
}
|
55 |
+
$fieldTable = Mage::getResourceModel('unbxd_recscore/field')->getTableName();
|
56 |
+
$insertQuery = "
|
57 |
+
INSERT INTO `{$fieldTable}` (`website_id`, `field_name`, `datatype`, `autosuggest`, `featured_field`, `multivalued`, `displayed`)
|
58 |
+
VALUES
|
59 |
+
({$websiteId}, 'name', 'text', 1, 'title', 0, 1),
|
60 |
+
({$websiteId}, 'final_price', 'decimal', 0, 'price', 0, 1),
|
61 |
+
({$websiteId}, 'price', 'decimal', 0, NULL, 0, 1),".
|
62 |
+
(Mage::helper('unbxd_recscore/feedhelper')->isAttributePresent('brand')?"({$websiteId}, 'brand', 'text', 0, 'brand', 0, 1),":"").
|
63 |
+
(Mage::helper('unbxd_recscore/feedhelper')->isAttributePresent('color')?"({$websiteId}, 'color', 'text', 0, 'color', 1, 1),":"").
|
64 |
+
(Mage::helper('unbxd_recscore/feedhelper')->isAttributePresent('size')?"({$websiteId}, 'size', 'text', 0, 'size', 1, 1),":"").
|
65 |
+
"({$websiteId}, 'image', 'link', 0, 'imageUrl', 1, 1),
|
66 |
+
({$websiteId}, 'url_path', 'link', 0, 'productUrl', 0, 1),
|
67 |
+
({$websiteId}, 'gender', 'text', 0, 'gender', 0, 1),
|
68 |
+
({$websiteId}, 'description', 'longText', 0, 'description', 0, 1),
|
69 |
+
({$websiteId}, 'catlevel1Name', 'text', 0, 'catlevel1Name', 0, 0),
|
70 |
+
({$websiteId}, 'catlevel2Name', 'text', 0, 'catlevel2Name', 0, 0),
|
71 |
+
({$websiteId}, 'catlevel3Name', 'text', 0, 'catlevel3Name', 0, 0),
|
72 |
+
({$websiteId}, 'catlevel4Name', 'text', 0, 'catlevel4Name', 0, 0),
|
73 |
+
({$websiteId}, 'categoryLevel1', 'text', 0, NULL, 1, 0),
|
74 |
+
({$websiteId}, 'categoryLevel2', 'text', 0, NULL, 1, 0),
|
75 |
+
({$websiteId}, 'categoryLevel3', 'text', 0, NULL, 1, 0),
|
76 |
+
({$websiteId}, 'categoryLevel4', 'text', 0, NULL, 1, 0),
|
77 |
+
({$websiteId}, 'created_at', 'date', 0, NULL, 0, 1),
|
78 |
+
({$websiteId}, 'availability', 'bool', 0, 'availability', 0, 0),
|
79 |
+
({$websiteId}, 'status', 'number', 0, NULL, 0, 0),
|
80 |
+
({$websiteId}, 'visibility', 'number', 0, NULL, 0, 0),
|
81 |
+
({$websiteId}, 'qty', 'number', 0, NULL, 0, 0),
|
82 |
+
({$websiteId}, 'categoryIds', 'longText', 0, NULL, 1, 0),
|
83 |
+
({$websiteId}, 'category', 'text', 0, 'category', 1, 0),
|
84 |
+
({$websiteId}, 'uniqueId', 'longText', 0, NULL, 0, 0),
|
85 |
+
({$websiteId}, 'entity_id', 'longText', 0, NULL, 0, 0)
|
86 |
+
ON DUPLICATE KEY UPDATE `field_name`=`field_name`;";
|
87 |
+
$installer->run($insertQuery);
|
88 |
+
}
|
89 |
+
$installer->endSetup();
|
90 |
+
?>
|
app/design/adminhtml/default/default/layout/unbxd/recommendation.xml
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<layout version="0.1.0">
|
3 |
-
<unbxd_recommendation_router_index_index>
|
4 |
-
<reference name="head">
|
5 |
-
<action method="addJs"><name>unbxd/app.js</name></action>
|
6 |
-
<action method="addCss"><name>unbxd/css/app.css</name></action>
|
7 |
-
</reference>
|
8 |
-
<reference name="menu">
|
9 |
-
<action method="setActive"><menupath>unbxd_recommendation</menupath></action>
|
10 |
-
</reference>
|
11 |
-
<reference name="content">
|
12 |
-
<block type="unbxd_recommendation/admin" name="unbxd.conf" template="unbxd/recommendation.phtml" />
|
13 |
-
</reference>
|
14 |
-
</unbxd_recommendation_router_index_index>
|
15 |
-
</layout>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/adminhtml/default/default/layout/unbxd/recscore.xml
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<unbxd_recscore_router_index_index>
|
4 |
+
<reference name="menu">
|
5 |
+
<action method="setActive"><menupath>unbxd_recommendation</menupath></action>
|
6 |
+
</reference>
|
7 |
+
<reference name="content">
|
8 |
+
<block type="core/template" name="unbxd.conf" template="unbxd/recommendation.phtml" />
|
9 |
+
</reference>
|
10 |
+
</unbxd_recscore_router_index_index>
|
11 |
+
</layout>
|
app/design/adminhtml/default/default/template/unbxd/recommendation.phtml
CHANGED
@@ -1,157 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php $skinUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN,
|
2 |
Mage::app()->getFrontController()->getRequest()->isSecure())."/adminhtml/default/default/";
|
3 |
Mage::getBaseUrl()
|
4 |
?>
|
5 |
<input type="hidden" id="skinUrl" value="<?php echo $skinUrl; ?>" >
|
6 |
|
|
|
7 |
<script>
|
8 |
try{
|
|
|
|
|
|
|
9 |
window._unbxdSkinurl = "<?php echo $skinUrl; ?>"
|
10 |
window._unbxdBaseurl = "<?php echo Mage::getUrl('',
|
11 |
array('_secure' => Mage::app()->getFrontController()->getRequest()->isSecure())) ?>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
}catch(e){
|
13 |
console.warn(e);
|
14 |
}
|
15 |
|
16 |
</script>
|
17 |
|
18 |
-
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/css/bootstrap.css">
|
19 |
-
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/css/bootstrap-them.css">
|
20 |
-
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/css/
|
21 |
-
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/css/
|
22 |
-
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/css/
|
23 |
-
|
|
|
|
|
|
|
24 |
|
25 |
<div id="container">
|
26 |
</div>
|
27 |
-
|
28 |
-
<script id='template' type='text/ractive'>
|
29 |
-
<div class="unbxd-container height-100 parent">
|
30 |
-
|
31 |
-
<div class="magent0-left-nav width-17 pull-left height-100 unbxd-left">
|
32 |
-
<div class="middle-nav-magento-dropdown height-100 unbxd-top-strip mar-btm-20">
|
33 |
-
<div class="middle-nav-text mar-btm-10 pad-btm-0" style="padding-top: 10px;">
|
34 |
-
Choose Website
|
35 |
-
</div>
|
36 |
-
|
37 |
-
<div class="middle-nav-dropdown mar-top-5 no-radius">
|
38 |
-
<div class="btn-group width-100 unbxd-border" >
|
39 |
-
<select decorator='chosen:site' value={{site}} name="unbxd-site" id="selectSites">
|
40 |
-
{{#sites}}
|
41 |
-
<option value="{{name}}">{{name}}</option>
|
42 |
-
{{/sites}}
|
43 |
-
</select>
|
44 |
-
</div>
|
45 |
-
</div>
|
46 |
-
</div>
|
47 |
-
|
48 |
-
<div class="middle-nav-magento unbxd-left">
|
49 |
-
<ul class="magento-nav">
|
50 |
-
<li on-click='showCredentials' class="clickable-btn
|
51 |
-
{{#if _unbxdObject.activeStep.one}} magento-active{{/if}}">
|
52 |
-
<a>Credentials</a>
|
53 |
-
</li>
|
54 |
-
|
55 |
-
<li on-click='showCatalog' class="clickable-btn
|
56 |
-
{{#if _unbxdObject.activeStep.two}} magento-active{{/if}}">
|
57 |
-
<a>Catalog</a>
|
58 |
-
</li>
|
59 |
-
|
60 |
-
<li on-click='showAnalytics' class="clickable-btn
|
61 |
-
{{#if _unbxdObject.activeStep.three}} magento-active{{/if}}">
|
62 |
-
<a>Analytics</a>
|
63 |
-
</li>
|
64 |
-
|
65 |
-
<li on-click='showWidgets' class="clickable-btn
|
66 |
-
{{#if _unbxdObject.activeStep.four}} magento-active{{/if}}" >
|
67 |
-
<a>Widgets</a>
|
68 |
-
</li>
|
69 |
-
</ul>
|
70 |
-
</div>
|
71 |
-
|
72 |
-
</div>
|
73 |
-
|
74 |
-
<div class="unbxd-right-div pull-left width-82 unbxd-right">
|
75 |
-
<div class="inner-container-magento row mar-0 top-185 pad-top-32 unbxd-top-strip">
|
76 |
-
<div class="col-md-60 magento-row-tabs border-left-color pad-0 background-dark-grey unbxd-border ">
|
77 |
-
<ul class="magento-conf-tabs">
|
78 |
-
<li on-click='showCredentials'>
|
79 |
-
<a class="magento-conf-tabs-enabled
|
80 |
-
{{#if _unbxdObject.activeStep.one}}magento-head-active{{/if}} width-25 clickable-btn">
|
81 |
-
<div class="magento-number" style="">
|
82 |
-
1
|
83 |
-
</div>
|
84 |
-
<div class="magento-number-text">
|
85 |
-
Authenticate App
|
86 |
-
</div> </a>
|
87 |
-
</li>
|
88 |
-
<li on-click='showCatalog'>
|
89 |
-
<a class="magento-conf-tabs-enabled width-25 clickable-btn
|
90 |
-
{{#if _unbxdObject.activeStep.two}}magento-head-active{{/if}}">
|
91 |
-
<div class="magento-number">
|
92 |
-
2
|
93 |
-
</div>
|
94 |
-
<div class="magento-number-text">
|
95 |
-
Catalog Configuration
|
96 |
-
</div> </a>
|
97 |
-
</li>
|
98 |
-
<li on-click='showAnalytics'>
|
99 |
-
<a class="magento-conf-tabs-enabled width-25 clickable-btn
|
100 |
-
{{#if _unbxdObject.activeStep.three}}magento-head-active{{/if}}">
|
101 |
-
<div class="magento-number">
|
102 |
-
3
|
103 |
-
</div>
|
104 |
-
<div class="magento-number-text">
|
105 |
-
Analytics integration
|
106 |
-
</div> </a>
|
107 |
-
</li>
|
108 |
-
<li on-click='showWidgets'>
|
109 |
-
<a class="magento-conf-tabs-enabled width-25 clickable-btn
|
110 |
-
{{#if _unbxdObject.activeStep.four}}magento-head-active{{/if}}" style="background-image:none;">
|
111 |
-
<div class="magento-number">
|
112 |
-
4
|
113 |
-
</div>
|
114 |
-
<div class="magento-number-text width-188">
|
115 |
-
Install Recommendation Widget
|
116 |
-
</div> </a>
|
117 |
-
</li>
|
118 |
-
</ul>
|
119 |
-
</div>
|
120 |
-
</div>
|
121 |
-
|
122 |
-
<div id="innerContainr" class="inner-container-magento pad-btm-100 pad-top-20">
|
123 |
-
</div>
|
124 |
-
</div>
|
125 |
-
</div>
|
126 |
-
</script>
|
127 |
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
<
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
</script>
|
150 |
-
<script src="<?php echo $skinUrl; ?>unbxd/js/lib/ractive.js"></script>
|
151 |
-
<script src="<?php echo $skinUrl; ?>unbxd/js/lib/ractive-chosen.js"></script>
|
152 |
-
<script src="<?php echo $skinUrl; ?>unbxd/js/lib/bootstrap-tooltip.js"></script>
|
153 |
|
154 |
-
<script src="<?php echo $skinUrl; ?>unbxd/js/app.js"></script>
|
155 |
-
|
156 |
-
|
157 |
|
1 |
+
<?php
|
2 |
+
$searchModuleEnabled = Mage::helper('core')->isModuleEnabled('Unbxd_Searchcore');
|
3 |
+
$unbxdSearchenabled=false;
|
4 |
+
if($searchModuleEnabled) {
|
5 |
+
$unbxdSearchenabled=true;
|
6 |
+
} else {
|
7 |
+
$unbxdSearchenabled=false;
|
8 |
+
}
|
9 |
+
|
10 |
+
$unbxdSearch=false;
|
11 |
+
$unbxdRecs=false;
|
12 |
+
if(!Mage::helper("unbxd_recscore")->isExecutable()) {
|
13 |
+
$unbxdSearch = true;
|
14 |
+
} else {
|
15 |
+
$unbxdRecs = true;
|
16 |
+
}
|
17 |
+
?>
|
18 |
+
<input type="hidden" id="auth" value="<?php echo Mage::getModel('unbxd_recscore/auth')->getAuthKey(); ?>">
|
19 |
<?php $skinUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN,
|
20 |
Mage::app()->getFrontController()->getRequest()->isSecure())."/adminhtml/default/default/";
|
21 |
Mage::getBaseUrl()
|
22 |
?>
|
23 |
<input type="hidden" id="skinUrl" value="<?php echo $skinUrl; ?>" >
|
24 |
|
25 |
+
<script src="//localhost:35729/livereload.js"></script>
|
26 |
<script>
|
27 |
try{
|
28 |
+
window._unbxdConfigs = {};
|
29 |
+
_unbxdConfigs.unbxdSearchenabled = "<?php echo $unbxdSearchenabled; ?>"
|
30 |
+
_unbxdConfigs.unbxdRecsenabled = "1"
|
31 |
window._unbxdSkinurl = "<?php echo $skinUrl; ?>"
|
32 |
window._unbxdBaseurl = "<?php echo Mage::getUrl('',
|
33 |
array('_secure' => Mage::app()->getFrontController()->getRequest()->isSecure())) ?>"
|
34 |
+
window._unbxdRecs = "<?php echo $unbxdRecs; ?>"
|
35 |
+
window._unbxdSearch = "<?php echo $unbxdSearch; ?>"
|
36 |
+
if(_unbxdRecs){
|
37 |
+
_unbxdBaseurl = _unbxdBaseurl+ 'recscore';
|
38 |
+
}else if(_unbxdSearch){
|
39 |
+
_unbxdBaseurl = _unbxdBaseurl + 'searchcore';
|
40 |
+
}
|
41 |
}catch(e){
|
42 |
console.warn(e);
|
43 |
}
|
44 |
|
45 |
</script>
|
46 |
|
47 |
+
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/recscore/css/bootstrap.css">
|
48 |
+
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/recscore/css/bootstrap-them.css">
|
49 |
+
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/recscore/css/bootstrap-switch.css" >
|
50 |
+
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/recscore/css/chosen.css">
|
51 |
+
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/recscore/css/colpick.css">
|
52 |
+
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/recscore/css/app.css">
|
53 |
+
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/recscore/css/app1.css">
|
54 |
+
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/recscore/css/magento-app.css">
|
55 |
+
<link rel="stylesheet" href= "<?php echo $skinUrl; ?>unbxd/recscore/css/unbxd-magento.css">
|
56 |
|
57 |
<div id="container">
|
58 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
+
<script>
|
61 |
+
var _unbxdLoadJquery = function( url, callback){
|
62 |
+
|
63 |
+
if( !window.jQuery || typeof window.jQuery === "undefined" || jQuery.fn.jquery < 1.7 ){
|
64 |
+
|
65 |
+
var script = document.createElement("script")
|
66 |
+
script.type = "text/javascript";
|
67 |
+
|
68 |
+
if (script.readyState){ //IE
|
69 |
+
script.onreadystatechange = function(){
|
70 |
+
if ( script.readyState == "loaded" || script.readyState == "complete" ){
|
71 |
+
script.onreadystatechange = null;
|
72 |
+
var library = jQuery.noConflict();
|
73 |
+
callback(library);
|
74 |
+
}
|
75 |
+
};
|
76 |
+
} else { //Others
|
77 |
+
script.onload = function(){
|
78 |
+
var library = jQuery.noConflict();
|
79 |
+
callback(library);
|
80 |
+
};
|
81 |
+
}
|
82 |
+
|
83 |
+
script.src = url;
|
84 |
+
document.getElementsByTagName("head")[0].appendChild(script);
|
85 |
+
|
86 |
+
}else{
|
87 |
+
callback( window.jQuery );
|
88 |
+
return false;
|
89 |
+
}
|
90 |
+
|
91 |
+
|
92 |
+
};
|
93 |
+
_unbxdLoadJquery("<?php echo Mage::getBaseUrl('js',
|
94 |
+
array('_secure' => Mage::app()->getFrontController()->getRequest()->isSecure())).'/unbxd/recscore/jquery.js' ?>", function($){
|
95 |
+
$.noConflict();
|
96 |
+
|
97 |
+
var script = document.createElement("script")
|
98 |
+
script.type = "text/javascript";
|
99 |
+
script.setAttribute('data-main', "<?php echo $skinUrl; ?>unbxd/recscore/js/main");
|
100 |
+
script.src = "<?php echo $skinUrl; ?>unbxd/recscore/js/lib/require.js";
|
101 |
+
document.getElementsByTagName("head")[0].appendChild(script);
|
102 |
+
|
103 |
+
});
|
104 |
</script>
|
|
|
|
|
|
|
105 |
|
|
|
|
|
|
|
106 |
|
app/design/frontend/base/default/layout/unbxd/recommendation.xml
DELETED
@@ -1,33 +0,0 @@
|
|
1 |
-
<?xml version="1.0"?>
|
2 |
-
<layout version="0.1.0">
|
3 |
-
<!-- ON ALL PAGES -->
|
4 |
-
<default>
|
5 |
-
<reference name="before_body_end">
|
6 |
-
<block name="unbxd.tracking" template="unbxd/tracker.phtml" after="-" type="core/template"/>
|
7 |
-
</reference>
|
8 |
-
</default>
|
9 |
-
<!-- CATEGORY PAGE -->
|
10 |
-
<catalog_category_default>
|
11 |
-
<reference name="before_body_end">
|
12 |
-
<block name="unbxd.analytics.categorytracking" template="unbxd/tracking/category.phtml" type="core/template"/>
|
13 |
-
</reference>
|
14 |
-
</catalog_category_default>
|
15 |
-
<!-- PRODUCT PAGE -->
|
16 |
-
<catalog_product_view>
|
17 |
-
<reference name="before_body_end">
|
18 |
-
<block name="unbxd.analytics.producttracking" template="unbxd/tracking/product.phtml" after="-" type="core/template"/>
|
19 |
-
</reference>
|
20 |
-
</catalog_product_view>
|
21 |
-
<!-- ORDER PAGE -->
|
22 |
-
<checkout_onepage_success>
|
23 |
-
<reference name="before_body_end">
|
24 |
-
<block name="unbxd.analytics.ordertracking" template="unbxd/tracking/order.phtml" type="core/template"/>
|
25 |
-
</reference>
|
26 |
-
</checkout_onepage_success>
|
27 |
-
<!-- ADDTOCART PAGE -->
|
28 |
-
<checkout_cart_index>
|
29 |
-
<reference name="before_body_end">
|
30 |
-
<block name="unbxd.analytics.ordertracking" template="unbxd/tracking/cart.phtml" type="core/template"/>
|
31 |
-
</reference>
|
32 |
-
</checkout_cart_index>
|
33 |
-
</layout>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/frontend/base/default/layout/unbxd/recscore.xml
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<!-- ON ALL PAGES -->
|
4 |
+
<default>
|
5 |
+
<reference name="before_body_end">
|
6 |
+
<block name="unbxd.recs.tracking" template="unbxd/recscore/tracker.phtml" after="-" type="core/template"/>
|
7 |
+
</reference>
|
8 |
+
</default>
|
9 |
+
<!-- PRODUCT PAGE -->
|
10 |
+
<catalog_product_view>
|
11 |
+
<reference name="before_body_end">
|
12 |
+
<block name="unbxd.recs.analytics.producttracking" template="unbxd/recscore/tracking/product.phtml" after="-" type="core/template"/>
|
13 |
+
</reference>
|
14 |
+
</catalog_product_view>
|
15 |
+
</layout>
|
app/design/frontend/base/default/template/unbxd/{tracker.phtml → recscore/tracker.phtml}
RENAMED
@@ -1,11 +1,10 @@
|
|
|
|
1 |
<input type="hidden" id="jQueryBaseUrl" value="<?php echo Mage::getBaseUrl('js',
|
2 |
Mage::app()->getFrontController()->getRequest()->isSecure()) ?>unbxd/jquery.js"/>
|
3 |
<script type="text/javascript">
|
4 |
/* * * CONFIGURATION * * */
|
5 |
-
var UnbxdSiteName = "<?php echo Mage::
|
6 |
-
|
7 |
-
var UnbxdApiKey = "<?php echo Mage::getResourceModel('unbxd_recommendation/config')
|
8 |
-
->getValue(Mage::app()->getWebsite()->getId(), Unbxd_Recommendation_Helper_Confighelper::API_KEY) ?>";
|
9 |
|
10 |
<?php $category = Mage::registry("current_category");
|
11 |
if (isset($category)) { ?>
|
@@ -24,24 +23,27 @@ if(typeof UnbxdWidgetsConf == 'undefined' || UnbxdWidgetsConf == null) {
|
|
24 |
(function() {
|
25 |
var ubx = document.createElement('script');
|
26 |
ubx.type = 'text/javascript'; ubx.async = true;
|
27 |
-
ubx.src = '//d21gpk1vhmjuf5.cloudfront.net/
|
28 |
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ubx);
|
29 |
})();
|
30 |
|
31 |
(function() {
|
32 |
var ubx = document.createElement('script');
|
33 |
ubx.type = 'text/javascript'; ubx.async = true;
|
34 |
-
ubx.src = '
|
35 |
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ubx);
|
36 |
})();
|
37 |
|
38 |
(function(){
|
39 |
if(typeof Unbxd === 'undefined')
|
40 |
Unbxd = {};
|
41 |
-
|
42 |
Unbxd.getBaseUrl = function(){
|
43 |
return "<?php echo Mage::getBaseUrl(); ?>";
|
44 |
}
|
|
|
|
|
|
|
|
|
45 |
})();
|
46 |
-
|
47 |
-
|
1 |
+
<?php if(Mage::helper("unbxd_recscore")->isExecutable()) { ?>
|
2 |
<input type="hidden" id="jQueryBaseUrl" value="<?php echo Mage::getBaseUrl('js',
|
3 |
Mage::app()->getFrontController()->getRequest()->isSecure()) ?>unbxd/jquery.js"/>
|
4 |
<script type="text/javascript">
|
5 |
/* * * CONFIGURATION * * */
|
6 |
+
var UnbxdSiteName = "<?php echo Mage::helper('unbxd_recscore')->getSiteName(); ?>";
|
7 |
+
var UnbxdApiKey = "<?php echo Mage::helper('unbxd_recscore')->getApiKey(); ?>";
|
|
|
|
|
8 |
|
9 |
<?php $category = Mage::registry("current_category");
|
10 |
if (isset($category)) { ?>
|
23 |
(function() {
|
24 |
var ubx = document.createElement('script');
|
25 |
ubx.type = 'text/javascript'; ubx.async = true;
|
26 |
+
ubx.src = '//d21gpk1vhmjuf5.cloudfront.net/unbxdAnalytics.js';
|
27 |
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ubx);
|
28 |
})();
|
29 |
|
30 |
(function() {
|
31 |
var ubx = document.createElement('script');
|
32 |
ubx.type = 'text/javascript'; ubx.async = true;
|
33 |
+
ubx.src = '//d21gpk1vhmjuf5.cloudfront.net/embed.js';
|
34 |
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ubx);
|
35 |
})();
|
36 |
|
37 |
(function(){
|
38 |
if(typeof Unbxd === 'undefined')
|
39 |
Unbxd = {};
|
|
|
40 |
Unbxd.getBaseUrl = function(){
|
41 |
return "<?php echo Mage::getBaseUrl(); ?>";
|
42 |
}
|
43 |
+
<?php if(Mage::helper('core')->isModuleEnabled('Unbxd_Searchcore')) { ?>
|
44 |
+
jQuery('.search-button').attr('unbxdattr','sq_bt')
|
45 |
+
jQuery('#search'). attr("unbxdattr", "sq")
|
46 |
+
<?php } ?>
|
47 |
})();
|
48 |
+
</script>
|
49 |
+
<?php } ?>
|
app/design/frontend/base/default/template/unbxd/recscore/tracking/product.phtml
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if(Mage::helper('unbxd_recscore')->isExecutable()) {?>
|
2 |
+
<script type="text/javascript">
|
3 |
+
<?php $product = Mage::registry('current_product'); ?>
|
4 |
+
var UnbxdWidgetsConf = {
|
5 |
+
currency : "<?php echo Mage::app()->getStore()->getCurrentCurrencyCode(); ?>"
|
6 |
+
<?php if (isset($product)) { ?>
|
7 |
+
,pid:"<?php echo Mage::helper('unbxd_recscore/feedhelper')->getUniqueId($product); ?>"
|
8 |
+
<?php } ?>
|
9 |
+
|
10 |
+
};
|
11 |
+
<?php if (isset($product)) { ?>
|
12 |
+
pid = "<?php echo Mage::helper('unbxd_recscore/feedhelper')->getUniqueId($product); ?>";
|
13 |
+
<?php } ?>
|
14 |
+
function triggerUnbxd() {
|
15 |
+
Unbxd.track("click", {"pid":pid, rank: "", box_type: ""});
|
16 |
+
}
|
17 |
+
if (window.addEventListener) {
|
18 |
+
window.addEventListener('load', triggerUnbxd, false);
|
19 |
+
} else {
|
20 |
+
window.attachEvent('onload', triggerUnbxd);
|
21 |
+
}
|
22 |
+
</script>
|
23 |
+
<?php } ?>
|
app/design/frontend/base/default/template/unbxd/tracking/cart.phtml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<!-- UNBXD CART TRACKING -->
|
|
app/design/frontend/base/default/template/unbxd/tracking/category.phtml
DELETED
@@ -1,14 +0,0 @@
|
|
1 |
-
<!-- UNBXD CATEGORY PAGE -->
|
2 |
-
<script type="text/javascript">
|
3 |
-
<?php $category = Mage::registry("current_category");
|
4 |
-
if (isset($category)) { ?>
|
5 |
-
category = "<?php echo $category->getName(); ?>";
|
6 |
-
<?php } ?>
|
7 |
-
var UnbxdWidgetsConf = {
|
8 |
-
currency : "<?php echo Mage::app()->getStore()->getCurrentCurrencyCode(); ?>"
|
9 |
-
<?php if (isset($category)) { ?>
|
10 |
-
,category:"<?php echo $category->getName(); ?>"
|
11 |
-
<?php } ?>
|
12 |
-
|
13 |
-
};
|
14 |
-
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/frontend/base/default/template/unbxd/tracking/order.phtml
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<!-- UNBXD ORDER TRACKING -->
|
|
app/design/frontend/base/default/template/unbxd/tracking/product.phtml
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
<script type="text/javascript">
|
2 |
-
<?php $product = Mage::registry('current_product'); ?>
|
3 |
-
var UnbxdWidgetsConf = {
|
4 |
-
currency : "<?php echo Mage::app()->getStore()->getCurrentCurrencyCode(); ?>"
|
5 |
-
<?php if (isset($product)) { ?>
|
6 |
-
,pid:"<?php echo Mage::helper('unbxd_recommendation/feedhelper')->getUniqueId($product); ?>"
|
7 |
-
<?php } ?>
|
8 |
-
|
9 |
-
};
|
10 |
-
<?php if(isset($product)) {
|
11 |
-
$pid = Mage::helper('unbxd_recommendation/feedhelper')->getUniqueId($product);;
|
12 |
-
} ?>
|
13 |
-
|
14 |
-
if (window.addEventListener) {
|
15 |
-
window.addEventListener('load',
|
16 |
-
function(){Unbxd.track("click",
|
17 |
-
{"pid":"<?php echo Mage::helper('unbxd_recommendation/feedhelper')->getUniqueId($product); ?>",
|
18 |
-
rank: "", box_type: ""})}, false);
|
19 |
-
} else {
|
20 |
-
window.attachEvent('onload',
|
21 |
-
function(){Unbxd.track("click",
|
22 |
-
{"pid":"<?php echo Mage::helper('unbxd_recommendation/feedhelper')->getUniqueId($product); ?>",
|
23 |
-
rank: "", box_type: ""})});
|
24 |
-
}
|
25 |
-
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/etc/modules/Unbxd_Recommendation.xml
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
<config>
|
2 |
<modules>
|
3 |
-
<
|
4 |
<active>true</active>
|
5 |
<codePool>local</codePool>
|
6 |
-
</
|
7 |
<Unbxd_Recommendation>
|
8 |
<active>true</active>
|
9 |
<codePool>local</codePool>
|
10 |
</Unbxd_Recommendation>
|
11 |
</modules>
|
12 |
-
</config>
|
1 |
<config>
|
2 |
<modules>
|
3 |
+
<Unbxd_Recscore>
|
4 |
<active>true</active>
|
5 |
<codePool>local</codePool>
|
6 |
+
</Unbxd_Recscore>
|
7 |
<Unbxd_Recommendation>
|
8 |
<active>true</active>
|
9 |
<codePool>local</codePool>
|
10 |
</Unbxd_Recommendation>
|
11 |
</modules>
|
12 |
+
</config>
|
js/unbxd/{app.js → recscore/app.js}
RENAMED
File without changes
|
js/unbxd/{embed.js → recscore/embed.js}
RENAMED
@@ -1,4 +1,7 @@
|
|
1 |
-
|
|
|
|
|
|
|
2 |
if( typeof window[library] !== "undefined"){
|
3 |
callback(window[library]);
|
4 |
return false;
|
@@ -6,7 +9,6 @@ var loadScript = function(library, url, callback){
|
|
6 |
|
7 |
var script = document.createElement("script")
|
8 |
script.type = "text/javascript";
|
9 |
-
|
10 |
if (script.readyState){ //IE
|
11 |
script.onreadystatechange = function(){
|
12 |
if (script.readyState == "loaded" ||
|
@@ -20,13 +22,11 @@ var loadScript = function(library, url, callback){
|
|
20 |
callback(window[library]);
|
21 |
};
|
22 |
}
|
23 |
-
|
24 |
script.src = url;
|
25 |
document.getElementsByTagName("head")[0].appendChild(script);
|
26 |
};
|
27 |
|
28 |
-
|
29 |
-
window.Unbxd = {};
|
30 |
var widgetRendrer = function ($) {
|
31 |
jQuery.noConflict();
|
32 |
var key = function () {
|
@@ -101,11 +101,7 @@ var widgetRendrer = function ($) {
|
|
101 |
path = appendCurrency(path);
|
102 |
path = appendUid(path);
|
103 |
path = path + "&screenWidth=" + getWidth();
|
104 |
-
|
105 |
-
if(typeof Unbxd !== "undefined" && Unbxd.hasOwnProperty('getBaseUrl')) {
|
106 |
-
baseurl = Unbxd.getBaseUrl();
|
107 |
-
}
|
108 |
-
urlpath = baseurl + 'unbxd/widget' + path;
|
109 |
$.ajax({
|
110 |
async:true,
|
111 |
url: urlpath,
|
@@ -171,7 +167,10 @@ function unbxdOnLoad() {
|
|
171 |
} else{
|
172 |
jQueryBaseUrl = "//code.jquery.com/jquery-1.8.0.min.js";
|
173 |
}
|
174 |
-
|
175 |
}
|
176 |
-
|
177 |
-
unbxdOnLoad
|
|
|
|
|
|
1 |
+
if (typeof Unbxd === "undefined")
|
2 |
+
window.Unbxd = {};
|
3 |
+
|
4 |
+
Unbxd.loadJScript = function(library, url, callback){
|
5 |
if( typeof window[library] !== "undefined"){
|
6 |
callback(window[library]);
|
7 |
return false;
|
9 |
|
10 |
var script = document.createElement("script")
|
11 |
script.type = "text/javascript";
|
|
|
12 |
if (script.readyState){ //IE
|
13 |
script.onreadystatechange = function(){
|
14 |
if (script.readyState == "loaded" ||
|
22 |
callback(window[library]);
|
23 |
};
|
24 |
}
|
|
|
25 |
script.src = url;
|
26 |
document.getElementsByTagName("head")[0].appendChild(script);
|
27 |
};
|
28 |
|
29 |
+
|
|
|
30 |
var widgetRendrer = function ($) {
|
31 |
jQuery.noConflict();
|
32 |
var key = function () {
|
101 |
path = appendCurrency(path);
|
102 |
path = appendUid(path);
|
103 |
path = path + "&screenWidth=" + getWidth();
|
104 |
+
urlpath = getBaseUrl() + 'unbxd/widget' + path;
|
|
|
|
|
|
|
|
|
105 |
$.ajax({
|
106 |
async:true,
|
107 |
url: urlpath,
|
167 |
} else{
|
168 |
jQueryBaseUrl = "//code.jquery.com/jquery-1.8.0.min.js";
|
169 |
}
|
170 |
+
Unbxd.loadJScript('jQuery', jQueryBaseUrl, widgetRendrer)
|
171 |
}
|
172 |
+
if (window.addEventListener) {
|
173 |
+
window.addEventListener('load', unbxdOnLoad, false);
|
174 |
+
} else {
|
175 |
+
window.attachEvent('onload', unbxdOnLoad);
|
176 |
+
}
|
js/unbxd/{jquery.js → recscore/jquery.js}
RENAMED
File without changes
|
js/unbxd/{unbxdAnalytics.js → recscore/unbxdAnalytics.js}
RENAMED
File without changes
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>unbxd_recommendation</name>
|
4 |
-
<version>1.0.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
-
<summary>
|
10 |
-
<description>
|
11 |
-
<notes>
|
12 |
-
<authors><author><name>ananthesh</name><user>ananthesh</user><email>ananthesh@unbxd.com</email></author></authors>
|
13 |
-
<date>2015-
|
14 |
-
<time>
|
15 |
-
<contents><target name="magelocal"><dir name="Unbxd"><dir name="Recommendation"><dir name="Block"><file name="Admin.php" hash="82a902698e1b090d0e532905ed7f2d37"/><file name="Tracker.php" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir><dir name="Helper"><file name="Confighelper.php" hash="8fc5f4943a0ae3cf92c30ccff9131bea"/><file name="Data.php" hash="74562d257ec4ef3add0fbd90ea51e671"/><file name="Feedhelper.php" hash="ba84484c3dacc8f4074ece9e5a0e8efb"/></dir><dir name="Model"><dir name="Api"><file name="Request.php" hash="98c92b643e28e750a8bb2e6a384733de"/><file name="Response.php" hash="448a7f48496babd313e4ac147405fea1"/><dir name="Task"><file name="Analyticsimpression.php" hash="cc65a5549dba4f6a0cc1b52d9a273b18"/><file name="Feeddetails.php" hash="60bc2c9f743d5ee9c3b5dce4dd8e2e0a"/><file name="Trackcart.php" hash="4e4ba196f66cbbd17abc7415ac312f7e"/><file name="Trackorder.php" hash="ba8204eb82fea24cc0b5e27cd5ab7936"/><file name="Triggerfeedupload.php" hash="4e1c645ae51d655be2ac7b1ad90b5fa6"/><file name="Updatefeaturefields.php" hash="112ce06194a30f53515846dc7c219ac0"/><file name="Validatekeys.php" hash="b4b0c1a945a9ec1d0adc534a7d2bc08f"/><file name="Widget.php" hash="e2b248692d8bca31389f4fc69438e1b7"/></dir><file name="Task.php" hash="d6b35467cd84fc99b9ea70ae55f2c727"/></dir><file name="Config.php" hash="ac5fbfd05c8b74ac466c1f2cf082dbf3"/><dir name="Feed"><file name="Feedcreator.php" hash="7bd33c4c3a7096bc52f3285b0692bbd4"/><file name="Feedmanager.php" hash="862a0701eebad5ee84b1a0ef9da98edc"/><file name="Filemanager.php" hash="9e3602428c8783c68f9bb951f52120ba"/><dir name="Jsonbuilder"><file name="Jsonbuilder.php" hash="31f422f3cf18f057e887c9f1812538a2"/><file name="Productbuilder.php" hash="2484f2495fd1cfd5f6fba031323fefea"/><file name="Schemabuilder.php" hash="b41389c9ffa08063d5559f05d2367238"/><file name="Taxonomybuilder.php" hash="f4829a5902d7320901efa33d0dfc9e81"/></dir><file name="Tags.php" hash="5ff3fb1dfb70f25026f153bb222537f0"/></dir><file name="Field.php" hash="7d344b852abd182df2f54ef73334eadf"/><file name="Observer.php" hash="e1490f1bbd7e886df2eb6617277d9788"/><dir name="Resource"><file name="Attribute.php" hash="bdd6026954b734430903f3fdb2a2f1e6"/><dir name="Config"><file name="Collection.php" hash="f50c88e3f7c10137ea9da5fc890218b5"/></dir><file name="Config.php" hash="b6ec11e9ec8edf89530540ed96ba6999"/><dir name="Field"><file name="Collection.php" hash="455d7a3e8fce1741c189c86ed5fc5e22"/></dir><file name="Field.php" hash="a36c44f5335d5db472c521e5fd97cbab"/><dir name="Product"><file name="Collection.php" hash="f9832a0720d40d0750381aa8dbb0d0d7"/></dir><dir name="Sync"><file name="Collection.php" hash="ffec2577fdbbb27a6d2070020f526e0e"/></dir><file name="Sync.php" hash="22eb150ac02456c9dec11895bc3fd7ba"/></dir><file name="Sync.php" hash="8ee52a3c55dd05ad53d84f05cc1635b5"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="560810e25071ac9f4b9835911a66a741"/></dir><file name="ConfigController.php" hash="b9a9380eb767bb9a043662edcc94fbcf"/><file name="WidgetController.php" hash="ea4697c1d659612681b9c01ec2803b4f"/></dir><dir name="etc"><file name="adminhtml.xml" hash="8a9b714c7ccdff748ec0345861034658"/><file name="config.xml" hash="3ac3c49bdecf34070b22479e37837ec5"/></dir><dir name="sql"><dir name="unbxd_recommendation_setup"><file name="mysql4-install-1.0.0.php" hash="43e07764886f75274d3866d305c0daae"/><file name="upgrade-1.0.11-1.0.12.php" hash="5da17d19502bbfea056a0d4d20583b20"/><file name="upgrade-1.0.16-1.0.17.php" hash="23aba9e2568363125744c245d7cf6f23"/></dir></dir><file name=".DS_Store" hash="b4a356bd7741138b66aa79afcc4abd2f"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="unbxd"><file name="recommendation.xml" hash="a2f03791a48c83fceee42822f19695f5"/></dir></dir><dir name="template"><dir name="unbxd"><file name="recommendation.phtml" hash="42d2370984e91190003c254f4c5332f5"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="unbxd"><file name="tracker.phtml" hash="fcc3a7975e2e3c92ea010a4d98e3fe97"/><dir name="tracking"><file name="cart.phtml" hash="1602ccd541917fdaa539b88b59e16933"/><file name="category.phtml" hash="59b245e277bf1bd171354893a624d922"/><file name="order.phtml" hash="3ddc154f41138d5f924bc415f8feeb9b"/><file name="product.phtml" hash="bb4ce6b658e11aa24a9b322befcd5353"/></dir></dir></dir><dir name="layout"><dir name="unbxd"><file name="recommendation.xml" hash="79b0ba853521b40bc26c6efc2e57282e"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="skin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="unbxd"><dir name="css"><file name="app.css" hash="d8be8236609ed4e422db6996cb866383"/><file name="bootstrap-them.css" hash="df854606e8bfb38abe58305c389301ae"/><file name="bootstrap.css" hash="59899c8b554b99637d119d3fe5f844de"/><file name="chosen.css" hash="50141f749f8ed2dd209682800618dca2"/><file name="unbxd-magento.css" hash="a5a0805eeba3db5f96910670bfc7b9bf"/></dir><dir name="img"><file name="Custom-platform.png" hash="d053db68b99519a2b0303624ab647f16"/><file name="DONE.png" hash="470356a4749d5fde1b86d9c0eeb9c806"/><file name="HEXAGON-Only.png" hash="f070ca957f922446f715555d94192298"/><file name="Magento-small.png" hash="0b80c21a5daa1669317095843590aa10"/><file name="Magento.png" hash="23b3159d445fe3fe5de7ea4a6d7f0271"/><file name="X-popup-hover.png" hash="41022fc34b63fc668477bcb991652577"/><file name="X-popup.png" hash="301b49b195fd8e9106eef93805182c11"/><file name="X-pricing.png" hash="ab7c15dacab6b4e13e19d9614741e9ef"/><file name="add-actv.png" hash="51bfeb67fce50aef4fe79ccea4e0d840"/><file name="add-icon.png" hash="46dea9858757fa584de457bfc421269f"/><file name="add-inactv.png" hash="164d79389bcd58d9d606871307d16e7e"/><file name="add-raw-hover.png" hash="591316d60847c12340d66cea0eb2ee97"/><file name="add-raw.png" hash="1fcdb060d898a7807bb37c796a772993"/><file name="add.png" hash="9a4026af014537b7d18032fd3a1bcb05"/><file name="arrow-2.png" hash="627be933821070bb0514ba331739cbdb"/><file name="arrow-calendar-down.png" hash="15a5f0cba1424dbc6d7f2069dca59a2a"/><file name="arrow-calendar-down1.png" hash="ed6aac9b4e114418f639ce874e75ed19"/><file name="arrow-down-disabled.jpg" hash="5b62a642490f264b58771e38e687eb19"/><file name="arrow-down-enabled.jpg" hash="4a0b2fafe44c58dd390d5eb0473c365e"/><file name="arrow-down-white.jpg" hash="edd441fe8c391969859dc72e5e95e83c"/><file name="arrow-down-white1.jpg" hash="6b7c7662f141a30635d408dad048dd54"/><file name="arrow-down-white2.jpg" hash="bd948050a2d7b0b6dfd7e349734df63b"/><file name="arrow-down.png" hash="379a11ee447d83e850a03581928acae8"/><file name="arrow-gray.png" hash="6e345006dfc2b0f1e52b8266c21bcbbc"/><file name="arrow-left-white.jpg" hash="36a0b2d5784c980a54edb3b874bc47c7"/><file name="arrow-left.jpg" hash="e22a795292c8bf95e62c86d7f5c3a149"/><file name="arrow-mail-developer).png" hash="a96ecd000175538c0dd0914395cf203d"/><file name="arrow-right-blue.png" hash="4ef79b5fc672c2a285b0c2ba5504f1e4"/><file name="arrow-right-gray.jpg" hash="5ac0235afe90023e26126134f151a2bd"/><file name="arrow-right-white.jpg" hash="9916e44542fbaa7a9e9b69f3551d321f"/><file name="arrow-right.jpg" hash="c2ad8f3435733f35a46fd8fdf29a9323"/><file name="arrow-up-black.png" hash="1e5a76b450fd32c3577078829d38ac58"/><file name="arrow-up-disabled.jpg" hash="6659a79f97099b525bd1b0713b99ad8b"/><file name="arrow-up-enabled.jpg" hash="4074eee100e01429ea4defed741b2ac2"/><file name="arrow-up-red.png" hash="84b29f0c6964c69ed6e78501123bfccf"/><file name="arrow-up-white.jpg" hash="38d5ec238c32cb7124fb6bc31ffe126e"/><file name="arrow-up-white1.jpg" hash="3221729d064ae198dff6effcc62e6a5e"/><file name="arrow-up.png" hash="6c54432350ad68d3345eb151d7534ae2"/><file name="arrow-white.png" hash="4b4e57f5b8d2b678df89b5a2dc85bba3"/><file name="arrow.png" hash="4b4e57f5b8d2b678df89b5a2dc85bba3"/><file name="authenticated.png" hash="78140247146f512d014be386a116a699"/><file name="back.png" hash="32b2ff86ee7ba8a1f19270a121f00205"/><file name="bg.jpg" hash="4a2f6fda25f44f7009e9a22ccf90e330"/><file name="big-arrow-gray.jpg" hash="745194d74525c2fd3238475c55a47cbc"/><file name="bigcommerce.png" hash="2a2599c562ec94be2545ab335131c71a"/><file name="black-right-small.jpg" hash="25253ab5ae165f13a1827ccd387d7b2f"/><file name="black-right-thick.jpg" hash="ae89e8e2c9d39ab8970782a829edeaeb"/><file name="btn-arrow-top.png" hash="42b3a9ffa2eccd2cfc9da9c33975f64c"/><file name="btn-arrow.png" hash="8cc68b6207307260a75bcc9331447c5e"/><file name="button-arrow-blue.png" hash="1e8d1741ecef49e021f35460fe16c76b"/><file name="button-arrow-grey.png" hash="76cd7acb80bf814c6605aa3f88c2c19b"/><file name="button-arrow-red.png" hash="03092367ac79745b0d7b2f9b707c802b"/><file name="cancel.png" hash="dd81fdd1129b4ef172d4c434d6156d87"/><file name="card-image.jpg" hash="bd1f292965163bbcc869a48bbe806deb"/><file name="card-image1.jpg" hash="95ccedbe1e8d01685f2527b08230b4a7"/><file name="card-image2.jpg" hash="963c39821d0cb5b1f0dfb691e12eefb5"/><file name="card-image3.jpg" hash="961e69aeecd5ab5d17743c5d3e4764cf"/><file name="checkmark.png" hash="4a0de13372944f21034dee674f92b7d1"/><file name="chosen-sprite.png" hash="25b9acb1b504c95c6b95c33986b7317e"/><file name="close-analytics.png" hash="0ca667d6de9a98999e37811861e6768e"/><file name="close.png" hash="daa5df0af5c219e136505132e18f5242"/><file name="color-pic.png" hash="470ec0178867dac04fcbce638c14a4cf"/><file name="congrats-magento.png" hash="ec3d2e0a2bf1d012e56583e89513664d"/><file name="congrats.png" hash="ec3d2e0a2bf1d012e56583e89513664d"/><file name="copy-black.png" hash="3f2b73b7287849ba2d341f194be7cd44"/><file name="copy-white.png" hash="208f74184462db7f5861d4c48dd300da"/><file name="cros.png" hash="bbf540cf6fe3d7fba4fab37b4d0b22c9"/><file name="cross-2.png" hash="1dfc504ed86c82bd86de8c74a09c906f"/><file name="cvv-number.jpg" hash="0ada16245fd0cb05a3967461eba12a28"/><file name="delete-raw-hover.png" hash="e3df4faf0450feaa2aed503dbf6759df"/><file name="delete-raw.png" hash="09806aed8283ae6168ecfdcec8237881"/><file name="delete-red.png" hash="c070eaad8207d3fe4e839b0f63deb68c"/><file name="delete.png" hash="b45f9d0e4d1fd160dbaa6ec41559f369"/><file name="detect.png" hash="9b6980d0bbd7ea6bded8ad05be4db7dd"/><file name="down-arrow.png" hash="3d1e707e03353aa01ac7f66610214c6b"/><file name="down-black.png" hash="80236500f0e70d2312b12a0d15e5fa81"/><file name="down-gray.png" hash="160e694e54afdc73edf828e4f02f5945"/><file name="drop-down.png" hash="ab8561f879ec10c16d6ca5393edf5db4"/><file name="dropdown-arrow.png" hash="4450401ccb623ec2a0ccae215e8b2a63"/><file name="edit-magento.png" hash="043c35fcd4396838a0db85d8d93aed04"/><file name="edit.png" hash="043c35fcd4396838a0db85d8d93aed04"/><file name="eye-hover.png" hash="cf7047c5218c147959a7afc282c01568"/><file name="eye.png" hash="b7a4815cce6e051a785f417f0ecb3427"/><file name="favicon.png" hash="402ca129cd67c7601ea429310c6aa2f5"/><file name="fill.png" hash="4bb20f0886094d62ac0c741edcc03742"/><file name="group-arrow.png" hash="89eba421d4e2a3f83e47e00f26e80888"/><file name="help.png" hash="94b200dfffcdb8ded1429791c2d22b8c"/><file name="icon-analytics.png" hash="4e62393fa4013bdc4e134b469dcd280b"/><file name="icon-info.png" hash="52c2f72d690d0f979afcb5a712b34c3c"/><file name="icon-widget.png" hash="8d6ed9abd86d3095993b4ca773bfdbc3"/><file name="install.png" hash="b284e88eb06554283ef98d6f50836e46"/><file name="integration-gray.png" hash="0fc90ad557b62f693098d862d5599085"/><file name="introduction-gray.png" hash="092fce8aa83ab7bcdb9b7a7a62b4a7d6"/><file name="left-black.png" hash="24b87ee6bf514b8666b12d7d9297eb4e"/><file name="left-gray.png" hash="e53e0389cd719dd5aed2ad6017d32b0e"/><file name="level-arrow-active.png" hash="56bbbf4701324c79e111a36abc235092"/><file name="level-arrow.png" hash="5861fea9a80e3c4fcc14210569d7effa"/><file name="link-arrow.png" hash="21354972164f512795bf1f54c6a71f3f"/><file name="loader-16x16.gif" hash="778e6b9e73274330dae0dab8104948a0"/><file name="loader-24x24.gif" hash="e403534956d055d636b3a5fa813b82b7"/><file name="loader-32x32.gif" hash="009c5064d779a3c67a202f299bd5d301"/><file name="loader.gif" hash="fd1345456c4a685afb42b67c25354ca2"/><file name="loader_black.gif" hash="5bfd8de3193a5fc2e5b472f57df1408f"/><file name="lock-image.jpg" hash="e80f8aa765e8ea121b056e188651629b"/><file name="logo-unbxd.png" hash="0b6c4b8887f8d57577023d8ddc1fa951"/><file name="logo.png" hash="27fa979ee65c84aefd15ffd6cc973e4d"/><file name="mail-new.png" hash="831e8c8c1eba8f4733d1d1e44a8c6549"/><file name="mail.png" hash="1cf907fd4c5d98230c7c2b89d6ff235f"/><file name="minus.jpg" hash="bdddd9b0d971d461a7e472b5bf38bfce"/><file name="nav-highlight-arrow.png" hash="64f6ae56f54568594d04df5c80ce069c"/><file name="not-detected.png" hash="59d0c0115b4b9f192eb4a77f22ce1609"/><file name="oops.png" hash="0735ac87c8e81325be4dc901ba354937"/><file name="or.png" hash="64c351e685fdb8339b7c7857ff14f56d"/><file name="other-gray.png" hash="646b84e4629dfadf3163bc9cd1aa83de"/><file name="overview-gray.png" hash="498e242cdd5b738d088d7ed4ae6c8e3e"/><file name="plus.jpg" hash="a8b80b4d5eee0ad842ce22ee7ea4c752"/><file name="question-mark2.jpg" hash="de9555459f3b9c93482c4a6061fea66b"/><file name="red-cross.png" hash="4213a8ee001ae75166d270be44b199a0"/><file name="red-loading.gif" hash="e644579431a4666564d92ec62c7c74e2"/><file name="remove.png" hash="401b59fb5aed9c68e5f1b3e47fe6ea60"/><file name="right-black.png" hash="fce5a7892866ef65e91fb006b1959c21"/><file name="right-gray.png" hash="b09daca9ca3c40451de0d62fbadd3cf6"/><file name="save.png" hash="fd61c5589c9fabe20a988121822ef81a"/><file name="saved.png" hash="9bb84699bb703a00b4b168e0997eeda5"/><file name="search.png" hash="71829ed3818c8832469c46d1f9203be0"/><file name="settings.png" hash="9dd7ca159584c09c41717c578f8aa1f6"/><file name="shopify.png" hash="93d8d9c1dd93680819fd642f9136b07c"/><file name="site-dropdownarrow-down.png" hash="c4c89958d88c58785c15e11c83bf0c4a"/><file name="site-dropdownarrow-up.png" hash="f52281c034fdc67f339efeab9127ddfc"/><file name="slider-bg.png" hash="242bb276022f24fc7ac71b181dd34e36"/><file name="slider-button.png" hash="4d17b9bd17415f9df5ccfafefcd32a24"/><file name="sort-arrow-blue-down.png" hash="1fd1bfd16d5f3a9c15017248a7d7f0e0"/><file name="sort-arrow-blue-up.png" hash="24eee605bc0fc9432b7b499633a6c7bc"/><file name="sort-arrow-grey-down.png" hash="b64554cc698560bb38bb43a7a6480dd3"/><file name="sort-arrow-grey-up.png" hash="d14911ddaef0a4de79b1a4a54efbf68b"/><file name="spree.png" hash="119dbad2cfa857a786d746158b9f36f0"/><file name="start-gray.png" hash="fe86f1b188d5b3f0f375421aa5435939"/><file name="step-arrow.png" hash="167c9a25eda4cd9bb4d88762883ba47d"/><file name="success.png" hash="4a8d69083fc4447d9c4ae9bdcc6560ce"/><file name="tick-analytics.png" hash="da1c588c876b2ea12bede76ef17ca1ff"/><file name="tick-green.png" hash="5108aa311b8e64e8f69642a53e4d3506"/><file name="tick-pricing.png" hash="42b0c3bb2c8e270833b0856360722124"/><file name="tick.png" hash="a5bb66f590af2746711bfdefe3b37d7a"/><file name="tooltip-arrow.png" hash="d37dac7a1d706a453ea0637f1db04907"/><file name="tooltip-left-arrow.jpg" hash="90143af415043466956e264b5e9a5910"/><file name="tooltip.png" hash="39a75f32b4b78b07033635f14a182124"/><file name="up-arrow.png" hash="f3d15dec451c405decfbc6d3a3fa7696"/><file name="up-black.png" hash="e77b8b75ecf6e5e63eed7fbb84c265a3"/><file name="up-gray.png" hash="0c721f2f05c729e07bd22a0a90f51ab0"/><file name="user.png" hash="ad7be0166b1484d9ff9e1d2708c83a71"/><file name="warning.png" hash="43e8ab0f26ce3ecf8ecdd162a8c8f366"/><file name="x-widget.png" hash="f000d6861e99a51e5ea2fdf68e0e0910"/><file name="x.png" hash="c517855b1803534e2bcecc9ed50808a9"/></dir><dir name="js"><dir name="app"><file name="analytics.js" hash="02e412d6d61ce0db1eefe1d1b64f87ad"/><file name="catalog.js" hash="ba8ff3410e263a254643b4e3e2ac36d2"/><file name="credentails.js" hash="a30597855db9aa04d83eb17624b23d5b"/><file name="utils.js" hash="0931d2484cae073b3b8209202e30e090"/><file name="widgets.js" hash="614b844d7129a912a84f89d6e88df5d2"/></dir><file name="app.js" hash="6c610a36fd3974af49e009f32e3697c7"/><dir name="lib"><file name="backbone.js" hash="88fee57a12be8ea719ed85fe29f062d3"/><file name="bootstrap-tooltip.js" hash="304bf569ee1a25e8fae5532d90661662"/><file name="chosen.js" hash="4fabe14fb10d99c4b432db5ce9847c06"/><file name="ractive-backbone.js" hash="afeac03a42a51483a7389f2b26a3e3d7"/><file name="ractive-chosen.js" hash="837381e6e428a7fa2b9f8f67c974d195"/><file name="ractive.js" hash="4887bb0d23f93ca78c46d2a7420cd360"/><file name="require.js" hash="177879fbe7dd333386711389ffa44d21"/><file name="underscore.js" hash="f809a744b7a4fe79a94749a569aa17f9"/></dir><file name="main.js" hash="68548c96331300ca0db2561c9c9b481f"/></dir><dir name="templates"><file name="analytics.html" hash="8885b3170719fcd525ad7a27bdf45624"/><file name="catalog.html" hash="1260ad88c8f004612863b528c0b6c3aa"/><file name="credentails.html" hash="1e6eb46ac91cf8083b7709659bc4783a"/><file name="custom.html" hash="4a4154b74c4ebbfde132857684c92e60"/><file name="widgets.html" hash="f337583a8def22cc39d62233bc8d0e0a"/></dir></dir></dir></dir></dir></dir><dir name="js"><dir name="unbxd"><file name="app.js" hash="5790870aa32c641bbad8d064fd41b610"/><file name="embed.js" hash="9ad60159c46080c5a071d54eb0ab6f9e"/><file name="jquery.js" hash="52d16e147b5346147d0f3269cd4d0f80"/><file name="unbxdAnalytics.js" hash="98738dccf6a9e9378e79ca6931d9d3c1"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Unbxd_Recommendation.xml" hash="72e1cb88ed2106b67858c9d529939cb2"/></dir></target></contents>
|
16 |
<compatible/>
|
17 |
-
<dependencies><required><php><min>5.
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>unbxd_recommendation</name>
|
4 |
+
<version>1.0.19</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
+
<summary>recommendation module</summary>
|
10 |
+
<description>recommendation module</description>
|
11 |
+
<notes>Unbxd Recommendation</notes>
|
12 |
+
<authors><author><name>ananthesh</name><user>ananthesh</user><email>ananthesh@unbxd.com</email></author><author><name>praveen</name><user>praveen</user><email>praveen@unbxd.com</email></author></authors>
|
13 |
+
<date>2015-04-20</date>
|
14 |
+
<time>15:40:33</time>
|
15 |
+
<contents><target name="magelocal"><dir name="Unbxd"><dir name="Recscore"><dir name="Helper"><file name="Analyticshelper.php" hash="542b918b05b6c87db3023fc572c1d7c1"/><file name="Confighelper.php" hash="6adab52f595a5eb9bf90f2d3d0458a05"/><file name="Constants.php" hash="d29695379df5144e1e25daaefa80195d"/><file name="Data.php" hash="e751a36a214ee58ec38ecc1067c2c3e9"/><file name="Feedhelper.php" hash="d5efc95a27b3ceda50b472a47247fa76"/></dir><dir name="Model"><dir name="Api"><file name="Request.php" hash="676864d597e13b12d31a6cd6282cff54"/><file name="Response.php" hash="c439b162f3160d7716d85605d740cf88"/><dir name="Task"><file name="Analyticsimpression.php" hash="8930d9e47f705ffa940ac07e31c02636"/><file name="Autosuggestindex.php" hash="00974e65f6c3c1756f5910f7fe5c3a00"/><file name="Feeddetails.php" hash="cda43137d4a235b0932f76aecde5828d"/><file name="Searchimpression.php" hash="43637475a8a573b2520a98e9679a4dd7"/><file name="Searchsetup.php" hash="fd8ce5aae3bc3c438a86daf72b149f5d"/><file name="Supportmail.php" hash="6f7296d6734173bc1f1d5083b35fc480"/><file name="Trackcart.php" hash="39af0962835e296428a1d302c163d7b2"/><file name="Trackorder.php" hash="018d609541ae41f3dd253c58b9ce88fb"/><file name="Triggerfeedupload.php" hash="326315ae8b3c212c685c11a8c9cbbcef"/><file name="Updatefeaturefields.php" hash="61dfda139f10fadad1e8a20939718da0"/><file name="Validatekeys.php" hash="d52331bcdfa0dfc35d9f99e32b4cefc7"/></dir><file name="Task.php" hash="2c2fd0997bc9880b2a323ee6eb5844d3"/></dir><file name="Auth.php" hash="73d2cc68b49fe6157554477439cd7d74"/><file name="Config.php" hash="543e4c8a0964fd349c346e136569a5f7"/><dir name="Feed"><file name="Feedcreator.php" hash="d808a88d14407d2a5df2ddd5af3fbf74"/><file name="Feedmanager.php" hash="2ead0f80ec03e1c5c7ddbfe97244cf49"/><file name="Filemanager.php" hash="59518b8d93fdcde900fd0f2ee9214546"/><dir name="Jsonbuilder"><file name="Jsonbuilder.php" hash="99fc05491593875c66b0521b2321ecd0"/><file name="Productbuilder.php" hash="dd4018df88da3490f3402175cf87868d"/><file name="Schemabuilder.php" hash="8a379b9bc7c4659305ab3b5d1de1df2e"/><file name="Taxonomybuilder.php" hash="ad5d295eb7bce69b091cd5301083430d"/></dir><file name="Tags.php" hash="0ecc841c3789a04fe55051bb3078a555"/></dir><file name="Field.php" hash="61ba0edc9863e1835864c34e563aa71c"/><file name="Observer.php" hash="4bc9c9391090e2887a38cb36291b6a7c"/><dir name="Resource"><file name="Attribute.php" hash="f6de7ea7abb828ef1fb6a6dfcbd69840"/><dir name="Config"><file name="Collection.php" hash="38112097263b29f67c4358af1e123972"/></dir><file name="Config.php" hash="92d3fcff7df0285c788dceb28f51912a"/><dir name="Field"><file name="Collection.php" hash="411a7c8be674d58e9b779af9a927999f"/></dir><file name="Field.php" hash="a666ab6d8f47a8777a3b8bbea455a22c"/><dir name="Product"><file name="Collection.php" hash="818612ca5f0d75852a84e870cbfe8e07"/></dir><dir name="Sync"><file name="Collection.php" hash="4a2391d2b27b5b1e6050f37fb995d668"/></dir><file name="Sync.php" hash="03eff6cbdb28353b653c02d4aa88d932"/></dir><dir name="State"><file name="Analytics.php" hash="83954d983dd817054345987bc7f32da3"/><file name="Catalog.php" hash="a4f3a96ceb0fa963e73bcbf6bd83ca60"/><file name="Credentials.php" hash="23b0dd01df50a8b661d28b4ba2bd4437"/><file name="Response.php" hash="deef3350e040a2b91c8e80d83646d30f"/></dir><file name="State.php" hash="3b52977417f686a34d6b161447c0b87f"/><file name="Statemgr.php" hash="02007603f045cac1958066761f3622a6"/><file name="Sync.php" hash="215f637e29a358fcaf44235f041d101b"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="2373a8ecea10134a3d683321c281c571"/></dir><file name="CatalogController.php" hash="f76ce6821a9bf2fab01ae3e5555c508d"/><file name="ConfigController.php" hash="7c51f060e0d14f3b19026bde760dba99"/></dir><dir name="etc"><file name="adminhtml.xml" hash="0f588fe72cddfafc7b46b3ff58a0a940"/><file name="config.xml" hash="62b11718eab5bb0cc191c03c1806d10b"/></dir><dir name="sql"><dir name="unbxd_recscore_setup"><file name="mysql4-install-1.0.0.php" hash="5953cbbc0097b4d68fa4b030606295de"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Unbxd_Recommendation.xml" hash="58c2a5d99d2eb3a779fd0e953a4fd6c3"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="unbxd"><file name="recscore.xml" hash="b426e9786d866cca461dce509cca2e6e"/></dir></dir><dir name="template"><dir name="unbxd"><dir name="recscore"><file name="tracker.phtml" hash="de7621954871b4010327374268259ce8"/><dir name="tracking"><file name="product.phtml" hash="a1ad56a8eb7e53e7ed483324d3f15a70"/></dir></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="unbxd"><file name="recscore.xml" hash="007a71be9c73216557423017f9b22e88"/></dir></dir><dir name="template"><dir name="unbxd"><file name="recommendation.phtml" hash="903df82526c4b8569de80c96c818aad8"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="unbxd"><dir name="recscore"><file name="app.js" hash="5790870aa32c641bbad8d064fd41b610"/><file name="embed.js" hash="ae0665e583a2579a2609f27f07f36551"/><file name="jquery.js" hash="52d16e147b5346147d0f3269cd4d0f80"/><file name="unbxdAnalytics.js" hash="98738dccf6a9e9378e79ca6931d9d3c1"/></dir></dir></dir><dir name="skin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="unbxd"><dir name="recscore"><dir><dir name="css"><file name="app.css" hash="b2e6cac84e88747ed286e719d1a45e99"/><file name="app1.css" hash="d0b0f148bdf44d46bcee3e4ae4668cb6"/><file name="bootstrap-switch.css" hash="b97cfbfa50ef0ef787261b5f925e506a"/><file name="bootstrap-them.css" hash="df854606e8bfb38abe58305c389301ae"/><file name="bootstrap.css" hash="92a3eb9b3fb1137b16bf8dca5907ffd6"/><file name="chosen.css" hash="2329f7f776c2b97a80a134c34c9eebd5"/><file name="colpick.css" hash="84eb0f762c33ede63bb4ed417b011a9d"/><file name="magento-app.css" hash="33b7d3e29d3906d21e882f8706ff7c7c"/><file name="unbxd-magento.css" hash="27657f8446948753277dad346325c4a3"/></dir><dir name="img"><file name="Custom-platform.png" hash="5290665e9ca24170ed6b4923bd635377"/><file name="DONE.png" hash="82ea09757c6f6ba582b2089a166686ec"/><file name="HEXAGON-Only.png" hash="cc44d0bcef0cbc24e00d08e3a76552c5"/><file name="Magento-small.png" hash="7a528e2dd969bec618acd410ae660727"/><file name="Magento.png" hash="a1006f3044d6cfe6dd6f4e982344ab4f"/><file name="Powered_by_unbxd copy.png" hash="b29f1ac74821c62af18ef2dea3a22265"/><file name="X-popup-hover.png" hash="f74653bfca79cbc1c262752b5f44d4c3"/><file name="X-popup.png" hash="63c9f5c8256e8ecfe76db8ddb8d9aaa0"/><file name="X-pricing.png" hash="979c2c9456732a8935d8e77f502de58e"/><file name="active.png" hash="ce09792133584f533c7a0a2227ff05c9"/><file name="add-actv.png" hash="f990f99e6c3bc5819087e02621e71a2d"/><file name="add-icon.png" hash="7add622ec65c42898fab1fb5e2e64533"/><file name="add-inactv.png" hash="9fb163e67fc1271534dbede05bd75d31"/><file name="add-raw-hover.png" hash="4a44e58502e00e8d73fc00b7988e8621"/><file name="add-raw.png" hash="442cc58d8176e0b580f409df4f18c89e"/><file name="add-rule.png" hash="de395f293ed3bd1f5e3e79ee80e0296e"/><file name="add.png" hash="317559b8877b4ab171c92e253fbae814"/><file name="api_int_info.png" hash="62efde0dc39f78b8d36ac140e4922fa8"/><file name="arrow-2.png" hash="6eb510a6c6753812d1c0b7ad3792c68d"/><file name="arrow-calendar-down.png" hash="cfcc798220b0655588b1ebc92bb2cd9e"/><file name="arrow-calendar-down1.png" hash="e1d78aa977aefd3dbd0d077265465a53"/><file name="arrow-down-disabled.jpg" hash="728761548b495cac219d9497f8d6bc88"/><file name="arrow-down-enabled.jpg" hash="79bf179fb24de528068cc34e0112bc5d"/><file name="arrow-down-white.jpg" hash="556e356570a1e9ed97b13fcbd028997e"/><file name="arrow-down-white1.jpg" hash="c1b42e8d9d6c79265085d0c297e215c0"/><file name="arrow-down-white2.jpg" hash="c1b42e8d9d6c79265085d0c297e215c0"/><file name="arrow-down.png" hash="13794ac6416e435d6b2fa0b54f48b488"/><file name="arrow-gray.png" hash="ef922786b71b9e8c7206dc3a3e55ec30"/><file name="arrow-inactive.png" hash="ea8df964b3bb238c34e2a92ac3819b1b"/><file name="arrow-left-inactive.png" hash="02dceab03c4629eda64caa32f76dd21f"/><file name="arrow-left-white.jpg" hash="99c322cfc458b3d9545335084263f7c0"/><file name="arrow-left.jpg" hash="d9c30f6cd57f2cdd382a1bcdbfa38507"/><file name="arrow-left.png" hash="2259b06fca6ea640c26d2208afd02fb5"/><file name="arrow-mail-developer).png" hash="6dd3f45435f140731481878b80a54e59"/><file name="arrow-right-blue.png" hash="33ad361548417c181dfbc05a7fbb78a9"/><file name="arrow-right-gray.jpg" hash="829ba35fb3b3598fcab2dd03dfd8bcaa"/><file name="arrow-right-inactive.png" hash="a8adf91679f6fcc1fcbbfebd87212bf7"/><file name="arrow-right-white.jpg" hash="fafacf3d7bc94986a26024565621b509"/><file name="arrow-right.jpg" hash="96af89ff4e0ebf1134361573b6a431b3"/><file name="arrow-right.png" hash="055276cac55edeb3eb4281f15a7ee404"/><file name="arrow-up-black.png" hash="668b1a36fb27af19739b0de2ee804bfc"/><file name="arrow-up-disabled.jpg" hash="d15535c2924f1e9ae570da0fc61d2e14"/><file name="arrow-up-enabled.jpg" hash="820c6e3175bf1774077cbf2ef0f00a5a"/><file name="arrow-up-red.png" hash="9e4fa614690acba2402e8fb774c1760a"/><file name="arrow-up-white.jpg" hash="6f4804c59bdfd728095e0d2c86c486e4"/><file name="arrow-up-white1.jpg" hash="017b0d2695a4d6b9534cae7af5883464"/><file name="arrow-up.png" hash="b4380ef5bdaad86d2eddeb69bfc51e5c"/><file name="arrow-white.png" hash="a62374550e967153b2f5f6c782770175"/><file name="arrow.png" hash="2dfdf0abf10326d73b8c39bd3f6da413"/><file name="arrow_grey.png" hash="9a4fc1c1022f8ecfeadf8e25da0f8240"/><file name="arrow_white.png" hash="794ff95721a9586ae3b9290a4a53ebbe"/><file name="authenticated.png" hash="9eac2025c82fcf60c822d7d4690ca98c"/><file name="back.png" hash="72f60077f20dc52553e069f641b42099"/><file name="bg.jpg" hash="4a2f6fda25f44f7009e9a22ccf90e330"/><file name="big-arrow-gray.jpg" hash="efb30594788c366bf9b007945b197071"/><file name="bigcommerce.png" hash="bb6801e63d1198f8ec1458e69d9d4eff"/><file name="black-right-small.jpg" hash="699a5af08c69fd5c3b57aaa9fed7cfaa"/><file name="black-right-thick.jpg" hash="707c1a0806947351564de4391e9ef885"/><file name="blue-selected.png" hash="e4246debbabc085b10572bd5aa4b0982"/><file name="breadcrumb_arrow.png" hash="631196f2801711df3ff31557c8287290"/><file name="btn-arrow-top.png" hash="75d77e80995b2b3b42043db3fe7e152b"/><file name="btn-arrow.png" hash="ee2543a2011a57b2b58db30cf62d0219"/><file name="button-arrow-blue.png" hash="b82160ad78e789b5702c7eb9a2dd3c7b"/><file name="button-arrow-grey.png" hash="cb339368b9409741e28dc31f6400f5f0"/><file name="button-arrow-red.png" hash="499819820395cfbcf03318107049a634"/><file name="cancel.png" hash="dea3ab86b5f6980886b8148b6dbc0804"/><file name="card-image.jpg" hash="543c66027f8d3718ab2f6930454c5324"/><file name="card-image1.jpg" hash="6469c85cb7133c89c514b5d932ec61d3"/><file name="card-image2.jpg" hash="816ceb38837684da077e08132d95aa08"/><file name="card-image3.jpg" hash="b65e704ae1cd2e88da5237e5e72e8ca8"/><file name="checkmark.png" hash="76c700530ee10b42763c1df6f85279b1"/><file name="chosen-sprite.png" hash="25b9acb1b504c95c6b95c33986b7317e"/><file name="close-analytics.png" hash="421ee870c5e070a6a03819eb2716fd1f"/><file name="close-round.png" hash="adafdcb7fde56b8af0e9b843ff7e19bb"/><file name="close.png" hash="fe130e3473e31d6f73127fed8d693539"/><file name="color-pic-black.png" hash="b9c18ff6fab0fc8bd1112b13a94d2477"/><file name="color-pic.png" hash="5ac6b53fdd57080a2df5a171bdb03aae"/><file name="congrats-magento.png" hash="2c02d7b82e1c5a8e2491f7892929b0fd"/><file name="congrats.png" hash="2c02d7b82e1c5a8e2491f7892929b0fd"/><file name="copy-black.png" hash="11abed4721d04c70531356777e828e0f"/><file name="copy-white.png" hash="6f188394d6619b61b51a7ede4c29ec0e"/><file name="cros.png" hash="25dee21cf8d50963fa3cf9300d0b93c0"/><file name="cross-2.png" hash="027fa6cdc450c378984376924003ca88"/><file name="custom-color-selected.png" hash="41b299f7d3d6964b45ced6c0b2209bfe"/><file name="custom-color.png" hash="4638d52f8ae7c8db0463500abeda4126"/><file name="custom-temp-1.png" hash="1e74a0ab64f7bce768e864a8ac43c1b8"/><file name="custom-temp-2.png" hash="456b7998744c5b272bc05f981ab79d73"/><file name="custom-temp-3.png" hash="3606aede791d32c3c9481d5bbc82847e"/><file name="custom-temp-4.png" hash="89d45791dfff0ca4f1ad94a4b1ec2661"/><file name="cvv-number.jpg" hash="3c3e97a31a009afcd3c26f7529db5cf1"/><file name="delete-raw-hover.png" hash="7bd9eeb7059b5946e2686415797417c7"/><file name="delete-raw.png" hash="43a13c96e2a261c309c151eb4ef975fc"/><file name="delete-red.png" hash="73386fe1e477b0a30c2ab9f9f11df94b"/><file name="delete.png" hash="55019546183a6d4bf7fce6ecc6a00b36"/><file name="detect.png" hash="b74ba51e28f7a15e8214c18cbdd4e407"/><file name="dot-border.png" hash="208feb3ba398f27536213749e1e621a3"/><file name="down-arrow.png" hash="25ce0545a9cc87f1d9e1b7b80be93876"/><file name="down-black.png" hash="d99de4c90283294c30f1670cf1a52f40"/><file name="down-gray.png" hash="3a75b2ef9452e1e3dd8e06ffab68456b"/><file name="drop-down.png" hash="3674841edf7320d3d84c708f50df1741"/><file name="dropdown-arrow.png" hash="e78ccea5d0bda5dbebcd5bbee4b93f64"/><file name="edit-magento.png" hash="efa37bbf88091ce8d7b68e8115d1fdde"/><file name="edit.png" hash="15f83e074edf79a9da13fbe74f47dfbd"/><file name="eye-hover.png" hash="b52a441b87c99d5cda61125669b33724"/><file name="eye.png" hash="8b7a3637232dad5710a8b36f69e2ad5d"/><file name="favicon.png" hash="1e52374b5ed35864d8fa9f15e2cd30c2"/><file name="fill.png" hash="ae2fd7902f99b1efc9531b006cdca186"/><file name="green-selected.png" hash="ef1ab5c6209c8e5293b2ce4867fd023d"/><file name="grey-selected.png" hash="b6a83c93171b89a6f7f466aa47ac4717"/><file name="group-arrow.png" hash="579edf9c51115a4c74061af86620edb7"/><file name="help.png" hash="4ef8bda62d42054e27218cfcd958c577"/><file name="icon-analytics.png" hash="c4b7b57118d1c912207ac8d34e3e6d5f"/><file name="icon-info.png" hash="cfa3beb50e89263c2da97d40f64da177"/><file name="icon-widget.png" hash="89fbad7748cb956a65896ddeda18a57c"/><file name="info-icon-big.png" hash="8b881f8b5950131b96f337247fe59b4f"/><file name="info-small.png" hash="a47a6287c9af33f42cd78762c9d5862f"/><file name="install.png" hash="6b378698d96ab32f89efc23fc24333da"/><file name="integration-gray.png" hash="e1428587806c6e90872cb8e325e1bb0f"/><file name="introduction-gray.png" hash="003c564c948c374ade90bfcef89088e9"/><file name="left-black.png" hash="ac4d88a6ddfefcdf75dcef4384bdf90e"/><file name="left-gray.png" hash="b229e9f7144f1d80f73f1dac6f689401"/><file name="level-arrow-active.png" hash="8905e738238c090bed0c259266159374"/><file name="level-arrow.png" hash="9a4fc1c1022f8ecfeadf8e25da0f8240"/><file name="link-arrow.png" hash="61fb4c9e922c3c6427fea1484eab2474"/><file name="list_bullet.png" hash="a6dda6a7e38ced1ea368d2265434e53f"/><file name="loader-16x16.gif" hash="778e6b9e73274330dae0dab8104948a0"/><file name="loader-24x24.gif" hash="e403534956d055d636b3a5fa813b82b7"/><file name="loader-32x32.gif" hash="510f6441c74b9f098ea99cc11d0c4e89"/><file name="loader.gif" hash="fd1345456c4a685afb42b67c25354ca2"/><file name="loader_black.gif" hash="5bfd8de3193a5fc2e5b472f57df1408f"/><file name="lock-image.jpg" hash="6081155d7fcbb5d8c4d34a344f0bbd97"/><file name="logo-unbxd.png" hash="82024b1f5e10ac130489103e8bf08d2b"/><file name="logo.png" hash="1c0087551ac1c41493868b5d409b7dda"/><file name="mail-box.png" hash="25dae3efa5200ee176dd0aa825fa1d5b"/><file name="mail-id-sprite.png" hash="3a06a0e11e74c7a66f7f0f1aae082fcf"/><file name="mail-new.png" hash="8a3fe01ecd87ea7e93b239f2add8a52a"/><file name="mail.png" hash="f1a1039b5ebdc17cb40b2d79ca3937e9"/><file name="minus.jpg" hash="0fd79f174562ffa46348b445c85c930c"/><file name="minus.png" hash="bc691a8f2761f1d1c4a379f665d03480"/><file name="nav-highlight-arrow.png" hash="9806317c711b22c08a6247960c10fb26"/><file name="not-detected.png" hash="2e63b320f3f8a6c004c71bc1b02c1473"/><file name="oops.png" hash="03eca8b24324df38fd4c734843a2abbb"/><file name="or.png" hash="e6e8b2d42f8dedf2078e3d9f38e6070d"/><file name="orange-selected.png" hash="296963f455ad925de437581fa07be306"/><file name="orange.png" hash="2e2089e5c3e867f00728cf2cf2de3811"/><file name="other-gray.png" hash="58f19f3578f063ff1ccd8b8ef2890195"/><file name="overview-gray.png" hash="0c3501dd6469f90a61a8367a3bdc3340"/><file name="plus.png" hash="2cbfab4d57d7083650b5bbf8be7ee84c"/><file name="preview.png" hash="d56d8e0b3eb221a714ed0e2474ed38ac"/><file name="question-mark2.jpg" hash="50392a77ea59fc9c1e4709834cc7ae2d"/><file name="red-cross.png" hash="368e01e53564574eea66c850829a243f"/><file name="red-loading.gif" hash="510327b63304d4c58bb9445c7343498f"/><file name="remove.png" hash="aea65d50ad060b90e8f7e76624f20c4b"/><file name="right-black.png" hash="cdc63a865ca9717d3d315fc3bcbc64ca"/><file name="right-gray.png" hash="cc72c1c3416e2ce5750e4db92de093fd"/><file name="rules.png" hash="004dced224b5250f4f033cffb44cca14"/><file name="save.png" hash="20eb685cc7a58ea1ea2065a8c2d10e81"/><file name="saved.png" hash="df9ab88cb96c3de503816171f35b1254"/><file name="search.png" hash="5acdafa5337d7702948a4015eeb8f0f6"/><file name="settings.png" hash="36fc3060fa0d0e5bb2e3dd57c51b1edf"/><file name="shopify.png" hash="ff1163b008f933c7e71cd5a4d77de878"/><file name="site-dropdownarrow-down.png" hash="e83075515419fa29658df010a6982023"/><file name="site-dropdownarrow-up.png" hash="fbd66dc69e51085161a2e28c519e2dc8"/><file name="skin1-trans.png" hash="0264c245ba712d19d5b0d308e71e77b4"/><file name="skin1.png" hash="2e2089e5c3e867f00728cf2cf2de3811"/><file name="skin2.png" hash="fe5935399ab1a8d78ecaebaba6c7d176"/><file name="skin3.png" hash="9bfccdd71c71d7f03b5f2fe1cd394118"/><file name="skin4.png" hash="1002cadb9ce2bdaea9e820d0f324113d"/><file name="slider-bg.png" hash="0f310e78f27110b13cf699ed7d4b97e4"/><file name="slider-button.png" hash="4b8c133577ba9022b97ac82420e88166"/><file name="sort-arrow-blue-down.png" hash="22fab361e19b80e12b1279921f123656"/><file name="sort-arrow-blue-up.png" hash="7731f17d465b7dd6cde7eafebe2248b7"/><file name="sort-arrow-grey-down.png" hash="82cfe186b77d97dd0d961303bd53ad40"/><file name="sort-arrow-grey-up.png" hash="dbd67d69cb4ddab64cf9bed760251adb"/><file name="spinner_down.png" hash="afdbf1537511400bc1278cf761cedb12"/><file name="spinner_up.png" hash="f1032905f72b96eb8ee8f5ddb995e559"/><file name="spree.png" hash="d30a2489564230c317f9c873277567e9"/><file name="start-gray.png" hash="b6425ce659a1da4316a144a5a66b72bd"/><file name="step-arrow.png" hash="1bb6bed612dd45b5e49b2a70a952a7a7"/><file name="success-icon-big.png" hash="9d4e0c51400d6039220a5301797e01a1"/><file name="success.png" hash="74d3fa654373b5c128699c80cf218053"/><file name="temp-1-blue.png" hash="e62450283d4e38467c6920a8474c139d"/><file name="temp-1-green.png" hash="ba66a0aa6cae5edf940ceddb51c11f12"/><file name="temp-1-grey.png" hash="a2736bce441ee5b0a98cc7090b31918d"/><file name="temp-1-orange.png" hash="ab3c96985183414aec3d5affe33094fe"/><file name="temp-1-preview-blue.png" hash="eb3d6e4fe3473d6a69239c6e6da815ea"/><file name="temp-1-preview-green.png" hash="4f126d02eae9679d88a1e411319c5d4c"/><file name="temp-1-preview-grey.png" hash="ef8c62f98c94b550c488650aa2a1bbbf"/><file name="temp-1-preview-orange.png" hash="1aa2170d326403a87f119341622503d3"/><file name="temp-1.png" hash="e5c1f8718fec6d570a2eef8110b1da3c"/><file name="temp-2-blue.png" hash="35c176f6bfb28e7f603dae4e08ab2b08"/><file name="temp-2-green.png" hash="d9c9f88f66cb0e96f67384ed46e164b2"/><file name="temp-2-grey.png" hash="97e1c2d6b09ae812891768193825c24c"/><file name="temp-2-orange.png" hash="bd5c1d83b734cc78f3d6684ea39cdbb2"/><file name="temp-2-preview-blue.png" hash="65b394b1b7ba85c8f6557b56a01956f0"/><file name="temp-2-preview-green.png" hash="2ffeb59926e5d02d618b1e27c6ec8f3f"/><file name="temp-2-preview-grey.png" hash="0b5a3c138cbf5d7aa6d6c2f2fd546a12"/><file name="temp-2-preview-orange.png" hash="899dc8507574ce64382757b32ae2e534"/><file name="temp-2.png" hash="35ee735575579755f23b9be31eac64d6"/><file name="temp-3-blue.png" hash="3f33a385a0588c159459640ba50a6e68"/><file name="temp-3-green.png" hash="8fa49ff3af61230af4352a5c30b62a9f"/><file name="temp-3-grey.png" hash="a98c1d46adf4d091c1ee0b8e4affef60"/><file name="temp-3-orange.png" hash="7bca6c527be688c8609ff21b8f2a1d74"/><file name="temp-3-preview-blue.png" hash="636b0e1eeef3577338cdcfb735c99e15"/><file name="temp-3-preview-green.png" hash="ebc8bae1360c48fe346292840f954021"/><file name="temp-3-preview-grey.png" hash="5684634e2988a5b25a02de8d48644db6"/><file name="temp-3-preview-orange.png" hash="d788a099b7af1328a716639391469213"/><file name="temp-3.png" hash="9b6c874b939adff6f507d1f2754fc2c9"/><file name="temp-4-blue.png" hash="a97c6420edeb9d0e95bb8a67770af70c"/><file name="temp-4-green.png" hash="02f1e2f9b2541ba27ae9562dc4d7401d"/><file name="temp-4-grey.png" hash="8644e3016a22f011c2637deca0a0ac17"/><file name="temp-4-orange.png" hash="8649ad362dd918cb43a85feea9963daf"/><file name="temp-4-preview-blue.png" hash="6578e5606be7e7cda9c3a6a5c0e545b9"/><file name="temp-4-preview-green.png" hash="fb264203a4541ccd74f03b29a9142da4"/><file name="temp-4-preview-grey.png" hash="f26ffe3252713190c6a795e11b816cf2"/><file name="temp-4-preview-orange.png" hash="d1fc0e64b8c50c63b46ebff25665d330"/><file name="temp-5-blue.png" hash="e8656a96324a6bcdf8929e01591f7503"/><file name="temp-5-green.png" hash="040ea3f18c03189cff35e0583d5b6c04"/><file name="temp-5-orange.png" hash="f1a011d6401615da7624d610eb4d92f5"/><file name="temp-5-preview-blue.png" hash="beb849914a4a0338c2186bd61cc5e928"/><file name="temp-5-preview-gray.png" hash="bf0af858702b7d5af7d90b4ad7d424a2"/><file name="temp-5-preview-green.png" hash="23b9d70528280829d62b75fe1b2f4583"/><file name="temp-5-preview-orange.png" hash="4c44988fb1d0188f11db8fca38e4d9be"/><file name="temp-5.png" hash="2ba4c85707f885f69348e30acc87dcce"/><file name="temp-6.png" hash="ba25e257bfb2f05b5520c18fc4b1aaf0"/><file name="templates.png" hash="e70640fb9b1c78b43dccc3a0dd2e5b8d"/><file name="tick-analytics.png" hash="4ec2b80058957d5a0e4981293ddf6457"/><file name="tick-green.png" hash="49e5425fa6c0486b2be5d39d441a4cf9"/><file name="tick-orange.png" hash="c340278b24a4c92293b4db3832ff8329"/><file name="tick-pricing.png" hash="3a3f49be2bdbc3b9774321c53db50787"/><file name="tick.png" hash="cf2f6cecb363f8e6e2d64671467e1141"/><file name="tooltip-arrow.png" hash="5156649110cf1cb7cdbdc6512c47dc81"/><file name="tooltip-left-arrow.jpg" hash="92371e2d982257d136c5f46baeb513e6"/><file name="tooltip.png" hash="6a3b15fc7de518b27c63c7beda436204"/><file name="up-arrow.png" hash="452fa52e6d4b247dfca05f1996ffe318"/><file name="up-black.png" hash="7cd935e00c14d8c846b3e11f6b340a84"/><file name="up-gray.png" hash="f732268fd825a21e46346ba06deed750"/><file name="user.png" hash="f97a8fc7500ae31b18ed548897e05638"/><file name="view-hover.png" hash="b8f7826a09d5b8ee3f1beb6ade24a8a4"/><file name="view.png" hash="560fb2ea9e2717bd9aaa4bb3d258adc5"/><file name="warning.png" hash="4437ce9cf87d3d52abaea20ba9233d25"/><file name="x-widget.png" hash="0c75b723e7f543ff9da9627a3212a7a9"/><file name="x.png" hash="a0fdfbf2804612fc9b54abb64ec73731"/></dir><dir name="js"><dir name="app"><file name="analytics.js" hash="fd04c5b0c0424e161eb6d239800f0761"/><file name="autosuggest.js" hash="c6150187d86530d734a0d893d56eca84"/><file name="catalog.js" hash="cbc0491457366f8263efa5dae5eaaa6f"/><file name="config.js" hash="d073fdc2b152df450a07d6014f971a98"/><file name="credentials.js" hash="1f983ff5ff632026f130b3cffc1d79a7"/><file name="filter-catalogue.js" hash="120b8b0150ac1aab04d19216febff66d"/><dir name="search"><file name="api.js" hash="6e39ca0b9990c675ab29315952164814"/><file name="hosted.js" hash="80adf11bc58b21ba81e1e78c9fa32bc6"/><file name="landing.js" hash="4c487f74677cd88c7e9d67dd2213d030"/></dir><file name="utils.js" hash="f50ecabcbad2df4f319c9a6b6df15d4c"/><file name="widgets.js" hash="228d99b869bb0ab989522efa5e0261c5"/></dir><file name="app.js" hash="57b262277d9ada1fbec7eb5935190f8c"/><dir name="lib"><file name="backbone.js" hash="88fee57a12be8ea719ed85fe29f062d3"/><file name="bootstrap-modal.js" hash="04265b3f540e5af4d5eeeb6c3e0d813d"/><file name="bootstrap-tooltip.js" hash="304bf569ee1a25e8fae5532d90661662"/><file name="chosen.js" hash="4fabe14fb10d99c4b432db5ce9847c06"/><file name="colpick.js" hash="668c1d24c70d09b099a37cb7c158e092"/><file name="ractive-backbone.js" hash="afeac03a42a51483a7389f2b26a3e3d7"/><file name="ractive-chosen.js" hash="837381e6e428a7fa2b9f8f67c974d195"/><file name="ractive.js" hash="4887bb0d23f93ca78c46d2a7420cd360"/><file name="require.js" hash="177879fbe7dd333386711389ffa44d21"/><file name="routie.js" hash="bae94f674236d2d0a02d14624eb98713"/><file name="rv.js" hash="59d80aee6eb83f4f14596784fd57252a"/><file name="underscore.js" hash="f809a744b7a4fe79a94749a569aa17f9"/></dir><file name="main.js" hash="459b66ede2d1bdbd93f0868f3089bd65"/></dir><dir name="templates"><file name="analytics.html" hash="493740906f06e0e0df04d3268ef2bf26"/><file name="auto-suggest.html" hash="0d87aa15f51a636a505bdee043e6af6e"/><file name="catalog.html" hash="8355648cc85347dd13ca5324ab0ca561"/><file name="credentails.html" hash="ef5a207aaaa532cea47509a2ae8880e8"/><file name="index.html" hash="f2053de86b827b0536f3730e5bd47fb2"/><dir name="partials"><file name="catalogue.html" hash="edba8e597c3694d4ba490d20fff6b052"/><file name="contact-form.html" hash="782cad00f5846b8feaaee123a3250a29"/><file name="custom-attr.html" hash="395557e1453f49465ff7a83099d0271f"/><file name="filters.html" hash="d7e48ed533a73bfb9bca5399aed7bded"/><file name="preview-modal.html" hash="fc4a97401265fe2d3748d4742fddd674"/><file name="row.html" hash="fed8568b62d58b78d61a92dd987f1c8f"/><file name="switch-off.html" hash="ff23402a616d9e5af17c003cba7216f1"/><file name="switch-on.html" hash="49ed70ac50fb66803133313c8a470e52"/></dir><dir name="search"><file name="api.html" hash="ad234f9bf18f55b30a5318bd72b10ba2"/><file name="hosted.html" hash="d390ba0f14ed0f54fa74f981659711e6"/><file name="landing.html" hash="46928ca03f00d946d9e2b12272828752"/></dir><file name="widgets.html" hash="a06e1116fe06e610f7299c101bf8ba14"/></dir></dir></dir></dir></dir></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
+
<dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|
skin/adminhtml/default/default/unbxd/css/chosen.css
DELETED
@@ -1,429 +0,0 @@
|
|
1 |
-
.chosen-container {
|
2 |
-
position: relative;
|
3 |
-
display: inline-block;
|
4 |
-
vertical-align: middle;
|
5 |
-
font-size: 13px;
|
6 |
-
zoom: 1;
|
7 |
-
*display: inline;
|
8 |
-
-webkit-user-select: none;
|
9 |
-
-moz-user-select: none;
|
10 |
-
user-select: none;
|
11 |
-
}
|
12 |
-
.chosen-container .chosen-drop {
|
13 |
-
position: absolute;
|
14 |
-
top: 100%;
|
15 |
-
left: -9999px;
|
16 |
-
z-index: 1010;
|
17 |
-
-webkit-box-sizing: border-box;
|
18 |
-
-moz-box-sizing: border-box;
|
19 |
-
box-sizing: border-box;
|
20 |
-
width: 100%;
|
21 |
-
border: 1px solid #aaa;
|
22 |
-
border-top: 0;
|
23 |
-
background: #fff;
|
24 |
-
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
|
25 |
-
}
|
26 |
-
.chosen-container.chosen-with-drop .chosen-drop {
|
27 |
-
left: 0;
|
28 |
-
}
|
29 |
-
.chosen-container a {
|
30 |
-
cursor: pointer;
|
31 |
-
}
|
32 |
-
|
33 |
-
/* @end */
|
34 |
-
/* @group Single Chosen */
|
35 |
-
.chosen-container-single .chosen-single {
|
36 |
-
position: relative;
|
37 |
-
display: block;
|
38 |
-
overflow: hidden;
|
39 |
-
padding: 0 0 0 8px;
|
40 |
-
height: 23px;
|
41 |
-
border: 1px solid #aaa;
|
42 |
-
border-radius: 5px;
|
43 |
-
background-color: #fff;
|
44 |
-
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
|
45 |
-
background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
46 |
-
background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
47 |
-
background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
48 |
-
background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
49 |
-
background-clip: padding-box;
|
50 |
-
box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1);
|
51 |
-
color: #444;
|
52 |
-
text-decoration: none;
|
53 |
-
white-space: nowrap;
|
54 |
-
line-height: 24px;
|
55 |
-
}
|
56 |
-
.chosen-container-single .chosen-default {
|
57 |
-
color: #999;
|
58 |
-
}
|
59 |
-
.chosen-container-single .chosen-single span {
|
60 |
-
display: block;
|
61 |
-
overflow: hidden;
|
62 |
-
margin-right: 26px;
|
63 |
-
text-overflow: ellipsis;
|
64 |
-
white-space: nowrap;
|
65 |
-
}
|
66 |
-
.chosen-container-single .chosen-single-with-deselect span {
|
67 |
-
margin-right: 38px;
|
68 |
-
}
|
69 |
-
.chosen-container-single .chosen-single abbr {
|
70 |
-
position: absolute;
|
71 |
-
top: 6px;
|
72 |
-
right: 26px;
|
73 |
-
display: block;
|
74 |
-
width: 12px;
|
75 |
-
height: 12px;
|
76 |
-
background: url('chosen-sprite.png') -42px 1px no-repeat;
|
77 |
-
font-size: 1px;
|
78 |
-
}
|
79 |
-
.chosen-container-single .chosen-single abbr:hover {
|
80 |
-
background-position: -42px -10px;
|
81 |
-
}
|
82 |
-
.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
|
83 |
-
background-position: -42px -10px;
|
84 |
-
}
|
85 |
-
.chosen-container-single .chosen-single div {
|
86 |
-
position: absolute;
|
87 |
-
top: 0;
|
88 |
-
right: 0;
|
89 |
-
display: block;
|
90 |
-
width: 18px;
|
91 |
-
height: 100%;
|
92 |
-
}
|
93 |
-
.chosen-container-single .chosen-single div b {
|
94 |
-
display: block;
|
95 |
-
width: 100%;
|
96 |
-
height: 100%;
|
97 |
-
background: url('chosen-sprite.png') no-repeat 0px 2px;
|
98 |
-
}
|
99 |
-
.chosen-container-single .chosen-search {
|
100 |
-
position: relative;
|
101 |
-
z-index: 1010;
|
102 |
-
margin: 0;
|
103 |
-
padding: 3px 4px;
|
104 |
-
white-space: nowrap;
|
105 |
-
}
|
106 |
-
.chosen-container-single .chosen-search input[type="text"] {
|
107 |
-
-webkit-box-sizing: border-box;
|
108 |
-
-moz-box-sizing: border-box;
|
109 |
-
box-sizing: border-box;
|
110 |
-
margin: 1px 0;
|
111 |
-
padding: 4px 20px 4px 5px;
|
112 |
-
width: 100%;
|
113 |
-
height: auto;
|
114 |
-
outline: 0;
|
115 |
-
border: 1px solid #aaa;
|
116 |
-
background: white url('chosen-sprite.png') no-repeat 100% -20px;
|
117 |
-
background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
|
118 |
-
background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
119 |
-
background: url('chosen-sprite.png') no-repeat 100% -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
120 |
-
background: url('chosen-sprite.png') no-repeat 100% -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
121 |
-
background: url('chosen-sprite.png') no-repeat 100% -20px, linear-gradient(#eeeeee 1%, #ffffff 15%);
|
122 |
-
font-size: 1em;
|
123 |
-
font-family: sans-serif;
|
124 |
-
line-height: normal;
|
125 |
-
border-radius: 0;
|
126 |
-
}
|
127 |
-
.chosen-container-single .chosen-drop {
|
128 |
-
margin-top: -1px;
|
129 |
-
border-radius: 0 0 4px 4px;
|
130 |
-
background-clip: padding-box;
|
131 |
-
}
|
132 |
-
.chosen-container-single.chosen-container-single-nosearch .chosen-search {
|
133 |
-
position: absolute;
|
134 |
-
left: -9999px;
|
135 |
-
}
|
136 |
-
|
137 |
-
/* @end */
|
138 |
-
/* @group Results */
|
139 |
-
.chosen-container .chosen-results {
|
140 |
-
position: relative;
|
141 |
-
overflow-x: hidden;
|
142 |
-
overflow-y: auto;
|
143 |
-
margin: 0 4px 4px 0;
|
144 |
-
padding: 0 0 0 4px;
|
145 |
-
max-height: 240px;
|
146 |
-
-webkit-overflow-scrolling: touch;
|
147 |
-
}
|
148 |
-
.chosen-container .chosen-results li {
|
149 |
-
display: none;
|
150 |
-
margin: 0;
|
151 |
-
padding: 5px 6px;
|
152 |
-
list-style: none;
|
153 |
-
line-height: 15px;
|
154 |
-
}
|
155 |
-
.chosen-container .chosen-results li.active-result {
|
156 |
-
display: list-item;
|
157 |
-
cursor: pointer;
|
158 |
-
}
|
159 |
-
.chosen-container .chosen-results li.disabled-result {
|
160 |
-
display: list-item;
|
161 |
-
color: #ccc;
|
162 |
-
cursor: default;
|
163 |
-
}
|
164 |
-
.chosen-container .chosen-results li.highlighted {
|
165 |
-
background-color: #3875d7;
|
166 |
-
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
|
167 |
-
background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%);
|
168 |
-
background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%);
|
169 |
-
background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%);
|
170 |
-
background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
|
171 |
-
color: #fff;
|
172 |
-
}
|
173 |
-
.chosen-container .chosen-results li.no-results {
|
174 |
-
display: list-item;
|
175 |
-
background: #f4f4f4;
|
176 |
-
}
|
177 |
-
.chosen-container .chosen-results li.group-result {
|
178 |
-
display: list-item;
|
179 |
-
font-weight: bold;
|
180 |
-
cursor: default;
|
181 |
-
}
|
182 |
-
.chosen-container .chosen-results li.group-option {
|
183 |
-
padding-left: 15px;
|
184 |
-
}
|
185 |
-
.chosen-container .chosen-results li em {
|
186 |
-
font-style: normal;
|
187 |
-
text-decoration: underline;
|
188 |
-
}
|
189 |
-
|
190 |
-
/* @end */
|
191 |
-
/* @group Multi Chosen */
|
192 |
-
.chosen-container-multi .chosen-choices {
|
193 |
-
position: relative;
|
194 |
-
overflow: hidden;
|
195 |
-
-webkit-box-sizing: border-box;
|
196 |
-
-moz-box-sizing: border-box;
|
197 |
-
box-sizing: border-box;
|
198 |
-
margin: 0;
|
199 |
-
padding: 0;
|
200 |
-
width: 100%;
|
201 |
-
height: auto !important;
|
202 |
-
height: 1%;
|
203 |
-
border: 1px solid #aaa;
|
204 |
-
background-color: #fff;
|
205 |
-
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
|
206 |
-
background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
207 |
-
background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
208 |
-
background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
209 |
-
background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
|
210 |
-
cursor: text;
|
211 |
-
}
|
212 |
-
.chosen-container-multi .chosen-choices li {
|
213 |
-
float: left;
|
214 |
-
list-style: none;
|
215 |
-
}
|
216 |
-
.chosen-container-multi .chosen-choices li.search-field {
|
217 |
-
margin: 0;
|
218 |
-
padding: 0;
|
219 |
-
white-space: nowrap;
|
220 |
-
}
|
221 |
-
.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
|
222 |
-
margin: 1px 0;
|
223 |
-
padding: 5px;
|
224 |
-
height: 15px;
|
225 |
-
outline: 0;
|
226 |
-
border: 0 !important;
|
227 |
-
background: transparent !important;
|
228 |
-
box-shadow: none;
|
229 |
-
color: #666;
|
230 |
-
font-size: 100%;
|
231 |
-
font-family: sans-serif;
|
232 |
-
line-height: normal;
|
233 |
-
border-radius: 0;
|
234 |
-
}
|
235 |
-
.chosen-container-multi .chosen-choices li.search-field .default {
|
236 |
-
color: #999;
|
237 |
-
}
|
238 |
-
.chosen-container-multi .chosen-choices li.search-choice {
|
239 |
-
position: relative;
|
240 |
-
margin: 3px 0 3px 5px;
|
241 |
-
padding: 3px 20px 3px 5px;
|
242 |
-
border: 1px solid #aaa;
|
243 |
-
border-radius: 3px;
|
244 |
-
background-color: #e4e4e4;
|
245 |
-
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
|
246 |
-
background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
247 |
-
background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
248 |
-
background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
249 |
-
background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
250 |
-
background-clip: padding-box;
|
251 |
-
box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
252 |
-
color: #333;
|
253 |
-
line-height: 13px;
|
254 |
-
cursor: default;
|
255 |
-
}
|
256 |
-
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
|
257 |
-
position: absolute;
|
258 |
-
top: 4px;
|
259 |
-
right: 3px;
|
260 |
-
display: block;
|
261 |
-
width: 12px;
|
262 |
-
height: 12px;
|
263 |
-
background: url('chosen-sprite.png') -42px 1px no-repeat;
|
264 |
-
font-size: 1px;
|
265 |
-
}
|
266 |
-
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
|
267 |
-
background-position: -42px -10px;
|
268 |
-
}
|
269 |
-
.chosen-container-multi .chosen-choices li.search-choice-disabled {
|
270 |
-
padding-right: 5px;
|
271 |
-
border: 1px solid #ccc;
|
272 |
-
background-color: #e4e4e4;
|
273 |
-
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
|
274 |
-
background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
275 |
-
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
276 |
-
background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
277 |
-
background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
278 |
-
color: #666;
|
279 |
-
}
|
280 |
-
.chosen-container-multi .chosen-choices li.search-choice-focus {
|
281 |
-
background: #d4d4d4;
|
282 |
-
}
|
283 |
-
.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
|
284 |
-
background-position: -42px -10px;
|
285 |
-
}
|
286 |
-
.chosen-container-multi .chosen-results {
|
287 |
-
margin: 0;
|
288 |
-
padding: 0;
|
289 |
-
}
|
290 |
-
.chosen-container-multi .chosen-drop .result-selected {
|
291 |
-
display: list-item;
|
292 |
-
color: #ccc;
|
293 |
-
cursor: default;
|
294 |
-
}
|
295 |
-
|
296 |
-
/* @end */
|
297 |
-
/* @group Active */
|
298 |
-
.chosen-container-active .chosen-single {
|
299 |
-
border: 1px solid #5897fb;
|
300 |
-
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
301 |
-
}
|
302 |
-
.chosen-container-active.chosen-with-drop .chosen-single {
|
303 |
-
border: 1px solid #aaa;
|
304 |
-
-moz-border-radius-bottomright: 0;
|
305 |
-
border-bottom-right-radius: 0;
|
306 |
-
-moz-border-radius-bottomleft: 0;
|
307 |
-
border-bottom-left-radius: 0;
|
308 |
-
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff));
|
309 |
-
background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%);
|
310 |
-
background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%);
|
311 |
-
background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%);
|
312 |
-
background-image: linear-gradient(#eeeeee 20%, #ffffff 80%);
|
313 |
-
box-shadow: 0 1px 0 #fff inset;
|
314 |
-
}
|
315 |
-
.chosen-container-active.chosen-with-drop .chosen-single div {
|
316 |
-
border-left: none;
|
317 |
-
background: transparent;
|
318 |
-
}
|
319 |
-
.chosen-container-active.chosen-with-drop .chosen-single div b {
|
320 |
-
background-position: -18px 2px;
|
321 |
-
}
|
322 |
-
.chosen-container-active .chosen-choices {
|
323 |
-
border: 1px solid #5897fb;
|
324 |
-
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
325 |
-
}
|
326 |
-
.chosen-container-active .chosen-choices li.search-field input[type="text"] {
|
327 |
-
color: #111 !important;
|
328 |
-
}
|
329 |
-
|
330 |
-
/* @end */
|
331 |
-
/* @group Disabled Support */
|
332 |
-
.chosen-disabled {
|
333 |
-
opacity: 0.5 !important;
|
334 |
-
cursor: default;
|
335 |
-
}
|
336 |
-
.chosen-disabled .chosen-single {
|
337 |
-
cursor: default;
|
338 |
-
}
|
339 |
-
.chosen-disabled .chosen-choices .search-choice .search-choice-close {
|
340 |
-
cursor: default;
|
341 |
-
}
|
342 |
-
|
343 |
-
/* @end */
|
344 |
-
/* @group Right to Left */
|
345 |
-
.chosen-rtl {
|
346 |
-
text-align: right;
|
347 |
-
}
|
348 |
-
.chosen-rtl .chosen-single {
|
349 |
-
overflow: visible;
|
350 |
-
padding: 0 8px 0 0;
|
351 |
-
}
|
352 |
-
.chosen-rtl .chosen-single span {
|
353 |
-
margin-right: 0;
|
354 |
-
margin-left: 26px;
|
355 |
-
direction: rtl;
|
356 |
-
}
|
357 |
-
.chosen-rtl .chosen-single-with-deselect span {
|
358 |
-
margin-left: 38px;
|
359 |
-
}
|
360 |
-
.chosen-rtl .chosen-single div {
|
361 |
-
right: auto;
|
362 |
-
left: 3px;
|
363 |
-
}
|
364 |
-
.chosen-rtl .chosen-single abbr {
|
365 |
-
right: auto;
|
366 |
-
left: 26px;
|
367 |
-
}
|
368 |
-
.chosen-rtl .chosen-choices li {
|
369 |
-
float: right;
|
370 |
-
}
|
371 |
-
.chosen-rtl .chosen-choices li.search-field input[type="text"] {
|
372 |
-
direction: rtl;
|
373 |
-
}
|
374 |
-
.chosen-rtl .chosen-choices li.search-choice {
|
375 |
-
margin: 3px 5px 3px 0;
|
376 |
-
padding: 3px 5px 3px 19px;
|
377 |
-
}
|
378 |
-
.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
|
379 |
-
right: auto;
|
380 |
-
left: 4px;
|
381 |
-
}
|
382 |
-
.chosen-rtl.chosen-container-single-nosearch .chosen-search,
|
383 |
-
.chosen-rtl .chosen-drop {
|
384 |
-
left: 9999px;
|
385 |
-
}
|
386 |
-
.chosen-rtl.chosen-container-single .chosen-results {
|
387 |
-
margin: 0 0 4px 4px;
|
388 |
-
padding: 0 4px 0 0;
|
389 |
-
}
|
390 |
-
.chosen-rtl .chosen-results li.group-option {
|
391 |
-
padding-right: 15px;
|
392 |
-
padding-left: 0;
|
393 |
-
}
|
394 |
-
.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
|
395 |
-
border-right: none;
|
396 |
-
}
|
397 |
-
.chosen-rtl .chosen-search input[type="text"] {
|
398 |
-
padding: 4px 5px 4px 20px;
|
399 |
-
background: white url('chosen-sprite.png') no-repeat -30px -20px;
|
400 |
-
background: url('chosen-sprite.png') no-repeat -30px -20px, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
|
401 |
-
background: url('chosen-sprite.png') no-repeat -30px -20px, -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
402 |
-
background: url('chosen-sprite.png') no-repeat -30px -20px, -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
403 |
-
background: url('chosen-sprite.png') no-repeat -30px -20px, -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
404 |
-
background: url('chosen-sprite.png') no-repeat -30px -20px, linear-gradient(#eeeeee 1%, #ffffff 15%);
|
405 |
-
direction: rtl;
|
406 |
-
}
|
407 |
-
.chosen-rtl.chosen-container-single .chosen-single div b {
|
408 |
-
background-position: 6px 2px;
|
409 |
-
}
|
410 |
-
.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
|
411 |
-
background-position: -12px 2px;
|
412 |
-
}
|
413 |
-
|
414 |
-
/* @end */
|
415 |
-
/* @group Retina compatibility */
|
416 |
-
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) {
|
417 |
-
.chosen-rtl .chosen-search input[type="text"],
|
418 |
-
.chosen-container-single .chosen-single abbr,
|
419 |
-
.chosen-container-single .chosen-single div b,
|
420 |
-
.chosen-container-single .chosen-search input[type="text"],
|
421 |
-
.chosen-container-multi .chosen-choices .search-choice .search-choice-close,
|
422 |
-
.chosen-container .chosen-results-scroll-down span,
|
423 |
-
.chosen-container .chosen-results-scroll-up span {
|
424 |
-
/*background-image: url('chosen-sprite@2x.png') !important;*/
|
425 |
-
background-size: 52px 37px !important;
|
426 |
-
background-repeat: no-repeat !important;
|
427 |
-
}
|
428 |
-
}
|
429 |
-
/* @end */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
skin/adminhtml/default/default/unbxd/css/unbxd-magento.css
DELETED
@@ -1,718 +0,0 @@
|
|
1 |
-
.container{
|
2 |
-
background-color: #f3f6f6;
|
3 |
-
}
|
4 |
-
.middle-nav-magento-dropdown, .background-grey{
|
5 |
-
background-color: #F3F6F6 !important;
|
6 |
-
|
7 |
-
}
|
8 |
-
.middle-nav-magento-dropdown{
|
9 |
-
/*top: 185px;*/
|
10 |
-
width: 100%;
|
11 |
-
}
|
12 |
-
.top-200{
|
13 |
-
top:200px !important;
|
14 |
-
}
|
15 |
-
.top-185{
|
16 |
-
top: 185px !important;
|
17 |
-
}
|
18 |
-
.clickable-btn{
|
19 |
-
cursor: pointer;
|
20 |
-
}
|
21 |
-
.magento-active{
|
22 |
-
border-top: 0;
|
23 |
-
border-bottom: 1px solid #4e5253;
|
24 |
-
background: #45b5c1 url('../img/arrow-white.png') no-repeat 90%;
|
25 |
-
}
|
26 |
-
.site-key-help {
|
27 |
-
display: none;
|
28 |
-
top: 329px;
|
29 |
-
position: absolute;
|
30 |
-
left: 470px;
|
31 |
-
}
|
32 |
-
.secret-key-help{
|
33 |
-
display: none;
|
34 |
-
top: 329px;
|
35 |
-
position: absolute;
|
36 |
-
left: 870px;
|
37 |
-
}
|
38 |
-
.blue-link{
|
39 |
-
color: #11b3c7;
|
40 |
-
cursor: pointer;
|
41 |
-
padding-top: 13px;
|
42 |
-
padding-left: 10px;
|
43 |
-
}
|
44 |
-
.custom-attributes{
|
45 |
-
display: none;
|
46 |
-
}
|
47 |
-
.middle-nav-text {
|
48 |
-
padding-left: 5px;
|
49 |
-
color: #3c3f40;
|
50 |
-
font-size: 16px;
|
51 |
-
font-weight: 400;
|
52 |
-
padding-top: 5px;
|
53 |
-
padding-bottom: 5px;
|
54 |
-
margin-bottom: 0;
|
55 |
-
}
|
56 |
-
.chosen-drop{
|
57 |
-
z-index: 999999 !important;
|
58 |
-
}
|
59 |
-
.capitalize{
|
60 |
-
text-transform: capitalize;
|
61 |
-
}
|
62 |
-
.unbxd-table{
|
63 |
-
|
64 |
-
border-right-style: solid;
|
65 |
-
border-right-width: 1px;
|
66 |
-
border-top-color: rgb(222, 226, 228);
|
67 |
-
border-top-left-radius: 5px;
|
68 |
-
border-top-right-radius: 5px;
|
69 |
-
border-top-style: solid;
|
70 |
-
border-top-width: 1px;
|
71 |
-
box-sizing: border-box;
|
72 |
-
color: rgb(51, 51, 51);
|
73 |
-
font-family: proxima-nova, Arial, sans-serif;
|
74 |
-
font-size: 14px;
|
75 |
-
font-style: normal;
|
76 |
-
font-variant: normal;
|
77 |
-
font-weight: normal;
|
78 |
-
line-height: 20px;
|
79 |
-
margin-bottom: 20px;
|
80 |
-
margin-left: 0px;
|
81 |
-
margin-right: 0px;
|
82 |
-
margin-top: 0px;
|
83 |
-
max-width: 100%;
|
84 |
-
padding-bottom: 0px;
|
85 |
-
padding-left: 0px;
|
86 |
-
padding-right: 0px;
|
87 |
-
padding-top: 0px;
|
88 |
-
width: 100%;
|
89 |
-
}
|
90 |
-
.unbxd-thead{
|
91 |
-
color: rgb(51, 51, 51);
|
92 |
-
font-family: proxima-nova, Arial, sans-serif;
|
93 |
-
font-size: 14px;
|
94 |
-
font-style: normal;
|
95 |
-
font-variant: normal;
|
96 |
-
font-weight: normal;
|
97 |
-
height: 48px;
|
98 |
-
line-height: 20px;
|
99 |
-
|
100 |
-
}
|
101 |
-
.unbxd-tr{
|
102 |
-
border-bottom-color: rgb(222, 226, 228);
|
103 |
-
border-collapse: separate;
|
104 |
-
border-left-color: rgb(222, 226, 228);
|
105 |
-
border-right-color: rgb(222, 226, 228);
|
106 |
-
border-top-color: rgb(222, 226, 228);
|
107 |
-
box-sizing: border-box;
|
108 |
-
color: rgb(51, 51, 51);
|
109 |
-
font-family: proxima-nova, Arial, sans-serif;
|
110 |
-
font-size: 14px;
|
111 |
-
font-style: normal;
|
112 |
-
font-variant: normal;
|
113 |
-
font-weight: normal;
|
114 |
-
height: 48px;
|
115 |
-
line-height: 20px;
|
116 |
-
margin-bottom: 0px;
|
117 |
-
margin-left: 0px;
|
118 |
-
margin-right: 0px;
|
119 |
-
margin-top: 0px;
|
120 |
-
padding-bottom: 0px;
|
121 |
-
padding-left: 0px;
|
122 |
-
padding-right: 0px;
|
123 |
-
padding-top: 0px;
|
124 |
-
vertical-align: middle;
|
125 |
-
}
|
126 |
-
.unbxd-th{
|
127 |
-
|
128 |
-
background-color: rgb(60, 63, 64);
|
129 |
-
border-bottom-left-radius: 0px;
|
130 |
-
border-bottom-right-radius: 0px;
|
131 |
-
border-bottom-style: none;
|
132 |
-
border-bottom-width: 0px;
|
133 |
-
border-collapse: separate;
|
134 |
-
border-right-color: rgb(255, 255, 255);
|
135 |
-
border-right-style: solid;
|
136 |
-
border-right-width: 1px;
|
137 |
-
border-top-color: rgb(255, 255, 255);
|
138 |
-
border-top-left-radius: 5px;
|
139 |
-
border-top-right-radius: 0px;
|
140 |
-
border-top-style: none;
|
141 |
-
border-top-width: 0px;
|
142 |
-
box-sizing: border-box;
|
143 |
-
color: rgb(255, 255, 255);
|
144 |
-
font-family: proxima-nova, Arial, sans-serif;
|
145 |
-
font-size: 18px;
|
146 |
-
font-style: normal;
|
147 |
-
font-variant: normal;
|
148 |
-
font-weight: normal;
|
149 |
-
height: 48px;
|
150 |
-
line-height: 25.7142868041992px;
|
151 |
-
margin-bottom: 0px;
|
152 |
-
margin-left: 0px;
|
153 |
-
margin-right: 0px;
|
154 |
-
margin-top: 0px;
|
155 |
-
padding-bottom: 8px;
|
156 |
-
padding-left: 20px;
|
157 |
-
padding-right: 0px;
|
158 |
-
padding-top: 15px;
|
159 |
-
text-align: left;
|
160 |
-
}
|
161 |
-
.unbxd-tbody{
|
162 |
-
border-bottom-color: rgb(222, 226, 228);
|
163 |
-
border-collapse: separate;
|
164 |
-
border-left-color: rgb(222, 226, 228);
|
165 |
-
border-right-color: rgb(222, 226, 228);
|
166 |
-
border-top-color: rgb(222, 226, 228);
|
167 |
-
box-sizing: border-box;
|
168 |
-
color: rgb(51, 51, 51);
|
169 |
-
display: table-row-group;
|
170 |
-
font-family: proxima-nova, Arial, sans-serif;
|
171 |
-
font-size: 14px;
|
172 |
-
font-style: normal;
|
173 |
-
font-variant: normal;
|
174 |
-
font-weight: normal;
|
175 |
-
height: 549px;
|
176 |
-
line-height: 20px;
|
177 |
-
margin-bottom: 0px;
|
178 |
-
margin-left: 0px;
|
179 |
-
margin-right: 0px;
|
180 |
-
margin-top: 0px;
|
181 |
-
padding-bottom: 0px;
|
182 |
-
padding-left: 0px;
|
183 |
-
padding-right: 0px;
|
184 |
-
padding-top: 0px;
|
185 |
-
vertical-align: middle;
|
186 |
-
width: 666px;
|
187 |
-
}
|
188 |
-
.unbxd-td{
|
189 |
-
border-collapse: separate;
|
190 |
-
border-right-color: rgb(222, 226, 228);
|
191 |
-
border-right-style: solid;
|
192 |
-
border-right-width: 1px;
|
193 |
-
border-top-color: rgb(221, 221, 221);
|
194 |
-
border-top-style: solid;
|
195 |
-
border-top-width: 1px;
|
196 |
-
box-sizing: border-box;
|
197 |
-
color: rgb(92, 101, 106);
|
198 |
-
display: table-cell;
|
199 |
-
font-family: proxima-nova, Arial, sans-serif;
|
200 |
-
font-size: 16px;
|
201 |
-
font-style: normal;
|
202 |
-
font-variant: normal;
|
203 |
-
font-weight: normal;
|
204 |
-
height: 72px;
|
205 |
-
line-height: 22.8571434020996px;
|
206 |
-
margin-bottom: 0px;
|
207 |
-
margin-left: 0px;
|
208 |
-
margin-right: 0px;
|
209 |
-
margin-top: 0px;
|
210 |
-
padding-bottom: 15px;
|
211 |
-
padding-left: 23px;
|
212 |
-
padding-right: 100px;
|
213 |
-
padding-top: 15px;
|
214 |
-
text-transform: capitalize;
|
215 |
-
|
216 |
-
}
|
217 |
-
.width-45{
|
218 |
-
width: 45%;
|
219 |
-
}
|
220 |
-
.width-55{
|
221 |
-
width: 55%;
|
222 |
-
}
|
223 |
-
.width-50{
|
224 |
-
width: 50%;
|
225 |
-
}
|
226 |
-
.tr-row{
|
227 |
-
width: 100%;
|
228 |
-
height: 50px;
|
229 |
-
|
230 |
-
}
|
231 |
-
.td-right{
|
232 |
-
padding-top: 2px;
|
233 |
-
/*width: 55% !important;*/
|
234 |
-
float: right;
|
235 |
-
border-left: 1px solid #dee2e4 !important;
|
236 |
-
border-bottom: 1px solid #dee2e4 !important;
|
237 |
-
height: 100%;
|
238 |
-
}
|
239 |
-
.td-left{
|
240 |
-
float: left;
|
241 |
-
height: 100%;
|
242 |
-
padding-top: 19px;
|
243 |
-
padding-left: 32px;
|
244 |
-
font-size: 17px;
|
245 |
-
border-bottom: 1px solid #dee2e4 !important;
|
246 |
-
}
|
247 |
-
.magento-border-left{
|
248 |
-
border-left: 1px solid #dee2e4 !important;
|
249 |
-
}
|
250 |
-
.magento-border-right{
|
251 |
-
border-right: 1px solid #dee2e4 !important;
|
252 |
-
}
|
253 |
-
.unbxd-err{
|
254 |
-
float: right;
|
255 |
-
position: absolute;
|
256 |
-
left: 694px;
|
257 |
-
width: 200px;
|
258 |
-
padding-top: 7px;
|
259 |
-
color: red;
|
260 |
-
}
|
261 |
-
#selectSites + div.chosen-container {
|
262 |
-
width: 100% !important;
|
263 |
-
}
|
264 |
-
.width-100{
|
265 |
-
width: 100% !important;
|
266 |
-
}
|
267 |
-
.width-70{
|
268 |
-
width: 70% !important;
|
269 |
-
}
|
270 |
-
.width-100 > .chosen-container{
|
271 |
-
width: 100% !important;
|
272 |
-
}
|
273 |
-
.custom-attributes-td{
|
274 |
-
padding: 0;
|
275 |
-
padding-top: 4px;
|
276 |
-
padding-right: 3px;
|
277 |
-
}
|
278 |
-
.remove-row{
|
279 |
-
margin-top: 5px;
|
280 |
-
margin-left: 5px;
|
281 |
-
width: 21%;
|
282 |
-
height: 35px;
|
283 |
-
background-size: 100%;
|
284 |
-
background-image: url("../img/delete-raw.png");
|
285 |
-
}
|
286 |
-
.remove-row:hover{
|
287 |
-
background-image: url("../img/delete-raw-hover.png");
|
288 |
-
}
|
289 |
-
.add-row{
|
290 |
-
margin-top: 5px;
|
291 |
-
margin-left: 5px;
|
292 |
-
width: 21%;
|
293 |
-
height: 35px;
|
294 |
-
background-size: 100%;
|
295 |
-
background-image: url("../img/add-raw.png");
|
296 |
-
}
|
297 |
-
.add-row:hover{
|
298 |
-
background-image: url("../img/add-raw-hover.png");
|
299 |
-
}
|
300 |
-
.disabled-btn{
|
301 |
-
opacity: 0.5;
|
302 |
-
cursor: default;
|
303 |
-
pointer-events: none;
|
304 |
-
}
|
305 |
-
.width-62{
|
306 |
-
width: 62%;
|
307 |
-
}
|
308 |
-
.unbxd-div-td{
|
309 |
-
float: left;
|
310 |
-
height: 100%;
|
311 |
-
/* padding-top: 19px;
|
312 |
-
padding-left: 32px;*/
|
313 |
-
font-size: 17px;
|
314 |
-
border-bottom: 1px solid #dee2e4 !important;
|
315 |
-
border-left: 1px solid #dee2e4 !important;
|
316 |
-
}
|
317 |
-
.width-28{
|
318 |
-
width: 28%;
|
319 |
-
}
|
320 |
-
.width-30{
|
321 |
-
width: 30%;
|
322 |
-
}
|
323 |
-
.width-42{
|
324 |
-
width: 42%;
|
325 |
-
}
|
326 |
-
.unbxd-hide{
|
327 |
-
display: none !important;
|
328 |
-
}
|
329 |
-
.pad-top{
|
330 |
-
padding-top: 20px;
|
331 |
-
}
|
332 |
-
.border-left-color{
|
333 |
-
margin-left: 25px;
|
334 |
-
margin-right: 25px;
|
335 |
-
width: 96%;
|
336 |
-
}
|
337 |
-
.background-white{
|
338 |
-
background-color: white;
|
339 |
-
}
|
340 |
-
.pad-left-45{
|
341 |
-
padding-left: 45px;
|
342 |
-
}
|
343 |
-
.footer{
|
344 |
-
position: fixed;
|
345 |
-
width: 100%;
|
346 |
-
padding-top: 19px;
|
347 |
-
background: #efefef;
|
348 |
-
bottom: -55px;
|
349 |
-
}
|
350 |
-
.footer:hover{
|
351 |
-
bottom: -5px !important;
|
352 |
-
}
|
353 |
-
.pad-btm-10p{
|
354 |
-
padding-bottom: 10%;
|
355 |
-
}
|
356 |
-
.chosen-container{
|
357 |
-
width: 354px !important;
|
358 |
-
}
|
359 |
-
._unbxd-err{
|
360 |
-
color: red;
|
361 |
-
padding-left: 13%;
|
362 |
-
font-weight: bold;
|
363 |
-
}
|
364 |
-
._unbxd-success{
|
365 |
-
color: rgb(81, 157, 79);
|
366 |
-
padding-left: 13%;
|
367 |
-
font-weight: bold;
|
368 |
-
}
|
369 |
-
.unbxd-disabler{
|
370 |
-
opacity: 0.5;
|
371 |
-
margin-bottom: 5%;
|
372 |
-
}
|
373 |
-
.unbxd-cover{
|
374 |
-
height: 70%;
|
375 |
-
position: absolute;
|
376 |
-
width: 100%;
|
377 |
-
cursor: default;
|
378 |
-
z-index: 999999;
|
379 |
-
}
|
380 |
-
.pad-left-msg{
|
381 |
-
padding-left: 35%;
|
382 |
-
}
|
383 |
-
.width-25{
|
384 |
-
width: 25%;
|
385 |
-
}
|
386 |
-
.width-35{
|
387 |
-
width: 35%;
|
388 |
-
}
|
389 |
-
.width-40{
|
390 |
-
width: 40%;
|
391 |
-
}
|
392 |
-
.pad-left-10{
|
393 |
-
padding-left: 13px;
|
394 |
-
}
|
395 |
-
.pad-btm-0{
|
396 |
-
padding-bottom: 0;
|
397 |
-
}
|
398 |
-
.height-100{
|
399 |
-
height: 100%;
|
400 |
-
}
|
401 |
-
.unbxd-success-msg{
|
402 |
-
color: green;
|
403 |
-
font-weight: bold;
|
404 |
-
font-size: 13px;
|
405 |
-
}
|
406 |
-
.unbxd-error-msg{
|
407 |
-
color: red;
|
408 |
-
font-weight: bold;
|
409 |
-
font-size: 13px;
|
410 |
-
}
|
411 |
-
.unbxd-center-div{
|
412 |
-
margin: 0 auto;
|
413 |
-
width: 50%;
|
414 |
-
text-align: center;
|
415 |
-
}
|
416 |
-
.pad-top-20{
|
417 |
-
padding-top: 20px;
|
418 |
-
}
|
419 |
-
.pad-top-30{
|
420 |
-
padding-top: 30px;
|
421 |
-
}
|
422 |
-
.inner-container-magento .popover, .inner-container-magento .popover-title, .inner-container-magento .popover-content {
|
423 |
-
background: #3c3f40;
|
424 |
-
color: rgb(255, 255, 255);
|
425 |
-
font-family: proxima-nova, Arial, sans-serif;
|
426 |
-
font-size: 16px;
|
427 |
-
font-style: normal;
|
428 |
-
font-variant: normal;
|
429 |
-
font-weight: normal;
|
430 |
-
border: none;
|
431 |
-
|
432 |
-
}
|
433 |
-
.inner-container-magento .popover-content{
|
434 |
-
font-size: 14px;
|
435 |
-
padding-top: 0;
|
436 |
-
}
|
437 |
-
.magento-number-text {
|
438 |
-
width: 109px;
|
439 |
-
}
|
440 |
-
.box-35{
|
441 |
-
width: 35px;
|
442 |
-
height: 35px;
|
443 |
-
}
|
444 |
-
div.chosen-disabled > a.chosen-single > div {
|
445 |
-
display: none;
|
446 |
-
}
|
447 |
-
div.chosen-container-single ,div.chosen-container-single > a.chosen-single {
|
448 |
-
border: 0;
|
449 |
-
background-color: #FFF;
|
450 |
-
}
|
451 |
-
div.chosen-container-single > a.chosen-single > div b {
|
452 |
-
background: url(../img/dropdown-arrow.png) no-repeat 50%!important;
|
453 |
-
width: 28px!important;
|
454 |
-
|
455 |
-
}
|
456 |
-
.bord-right{
|
457 |
-
border-right: 1px solid #dee2e4 !important;
|
458 |
-
}
|
459 |
-
.chosen-disabled{
|
460 |
-
opacity: 1 !important;
|
461 |
-
}
|
462 |
-
.delete-row{
|
463 |
-
float: left;
|
464 |
-
}
|
465 |
-
.width-80{
|
466 |
-
width: 80% !important;
|
467 |
-
}
|
468 |
-
.width-20{
|
469 |
-
width: 20%;
|
470 |
-
}
|
471 |
-
div.cudtom-attr-rows div div.add-row{
|
472 |
-
display: none;
|
473 |
-
}
|
474 |
-
div.cudtom-attr-rows > div:last-child div.add-row{
|
475 |
-
display: block;
|
476 |
-
}
|
477 |
-
.width-38{
|
478 |
-
width: 38%;
|
479 |
-
}
|
480 |
-
.pad-top-5{
|
481 |
-
padding-top: 5px;
|
482 |
-
}
|
483 |
-
.width-64{
|
484 |
-
width: 64%
|
485 |
-
}
|
486 |
-
.width-36{
|
487 |
-
width: 36%
|
488 |
-
}
|
489 |
-
.btn-add-attribute, .btn-add-attribute:hover{
|
490 |
-
background: #3b3e40 url('../img/add.png') no-repeat 97%;
|
491 |
-
}
|
492 |
-
.magento-analytics-tick
|
493 |
-
{
|
494 |
-
background:#45b5c1 url('../img/DONE.png') no-repeat 50%;
|
495 |
-
}
|
496 |
-
.magento-analytics-cross
|
497 |
-
{
|
498 |
-
background: url('../img/red-loading.gif') no-repeat;
|
499 |
-
background-size: 92%;
|
500 |
-
}
|
501 |
-
.unbxd-top-strip{
|
502 |
-
/*border-top: 2px solid #45b5c1;*/
|
503 |
-
}
|
504 |
-
.unbxd-green-border{
|
505 |
-
border: 1px solid #47b28e;
|
506 |
-
}
|
507 |
-
.unbxd-green-border{
|
508 |
-
border: 1px solid #db2727;
|
509 |
-
}
|
510 |
-
.magento-analytics-block{
|
511 |
-
border: 1px solid #47b28e
|
512 |
-
}
|
513 |
-
.magento-analytics-block1 {
|
514 |
-
border: 1px solid #db2727;
|
515 |
-
}
|
516 |
-
.word-break{
|
517 |
-
word-wrap:break-word;
|
518 |
-
}
|
519 |
-
.height-75p{
|
520 |
-
height: 95px;
|
521 |
-
}
|
522 |
-
.unbxd-text-center{
|
523 |
-
padding-top: 10px;
|
524 |
-
}
|
525 |
-
.pad-left-15{
|
526 |
-
padding-left: 15px;
|
527 |
-
}
|
528 |
-
.unbxd-text-verticle-center{
|
529 |
-
display: flex;
|
530 |
-
align-items: center;
|
531 |
-
}
|
532 |
-
.background-success{
|
533 |
-
background-color: #47b28e;
|
534 |
-
height: 102px;
|
535 |
-
}
|
536 |
-
.background-success div.magento-text{
|
537 |
-
color: #FFF;
|
538 |
-
}
|
539 |
-
.succes-div{
|
540 |
-
background:#47b28e url('../img/congrats.png') no-repeat 50%;
|
541 |
-
width: 13%;
|
542 |
-
height: 90px;
|
543 |
-
}
|
544 |
-
.pad-10{
|
545 |
-
padding: 10px;
|
546 |
-
}
|
547 |
-
.success-head{
|
548 |
-
font-weight: bold;
|
549 |
-
font-size: 20px;
|
550 |
-
}
|
551 |
-
.magento-landing-block{
|
552 |
-
background-color: rgb(60, 63, 64);
|
553 |
-
}
|
554 |
-
.blue-link-help{
|
555 |
-
color: #45b5c1;
|
556 |
-
cursor: pointer;
|
557 |
-
}
|
558 |
-
.cms-help{
|
559 |
-
padding-bottom: 20px;
|
560 |
-
font-size: 16px;
|
561 |
-
padding-left: 30px;
|
562 |
-
padding-top: 5px;
|
563 |
-
}
|
564 |
-
.hide-over-flow{
|
565 |
-
overflow: hidden;
|
566 |
-
}
|
567 |
-
.width-60{
|
568 |
-
width: 60%;
|
569 |
-
}
|
570 |
-
.unbxd-caps{
|
571 |
-
text-transform: capitalize;
|
572 |
-
}
|
573 |
-
.pad-top-32{
|
574 |
-
padding-top: 32px;
|
575 |
-
}
|
576 |
-
.background-dark-grey{
|
577 |
-
background-color: rgba(210, 216, 216, 1) !important;
|
578 |
-
}
|
579 |
-
.unbxd-border{
|
580 |
-
border: 1px solid #cddbde;
|
581 |
-
}
|
582 |
-
.z99{
|
583 |
-
z-index: 99;
|
584 |
-
}
|
585 |
-
.magento-row-tabs{
|
586 |
-
float:left;
|
587 |
-
background-color: #f3f6f6;
|
588 |
-
padding: 0;
|
589 |
-
}
|
590 |
-
|
591 |
-
ul.magento-conf-tabs li a {
|
592 |
-
width: 25%;
|
593 |
-
padding-left: 0 !important;
|
594 |
-
font-weight: 400;
|
595 |
-
font-size: 16px;
|
596 |
-
border-right: 2px solid #B6BCBD;
|
597 |
-
padding-left: 2% !important;
|
598 |
-
cursor: pointer;
|
599 |
-
}
|
600 |
-
ul.magento-conf-tabs li:last-child > a{
|
601 |
-
border-right: 0;
|
602 |
-
}
|
603 |
-
.magento-head-active{
|
604 |
-
background-color: #FFF !important;
|
605 |
-
}
|
606 |
-
.txt-center{
|
607 |
-
text-align: center;
|
608 |
-
}
|
609 |
-
.height-80{
|
610 |
-
height: 80%;
|
611 |
-
}
|
612 |
-
.unbxd-bold{
|
613 |
-
font-weight: bold;
|
614 |
-
}
|
615 |
-
.help-table-head{
|
616 |
-
background-color: #FFF;
|
617 |
-
color: black;
|
618 |
-
}
|
619 |
-
div#unbxdHelpRows div div {
|
620 |
-
padding-left: 4%;
|
621 |
-
}
|
622 |
-
.border-right-rad{
|
623 |
-
border-radius: 0;
|
624 |
-
border-top-right-radius: 5px;
|
625 |
-
}
|
626 |
-
.unbxd-mar-left-30 {
|
627 |
-
margin-left: 30% !important;
|
628 |
-
}
|
629 |
-
.unbxd-mar-btm-20{
|
630 |
-
margin-bottom: 20px !important;
|
631 |
-
}
|
632 |
-
.note-head{
|
633 |
-
color: black;
|
634 |
-
font-weight: bold;
|
635 |
-
}
|
636 |
-
.font17{
|
637 |
-
font-size: 17px;
|
638 |
-
}
|
639 |
-
div.middle{
|
640 |
-
padding: 0;
|
641 |
-
}
|
642 |
-
.unbxd-container{
|
643 |
-
border-top: 6px solid #45b5c1;
|
644 |
-
background-color: #f3f6f6;
|
645 |
-
float: left;
|
646 |
-
overflow: hidden;
|
647 |
-
width: 100%;
|
648 |
-
width:100%;
|
649 |
-
overflow:hidden;
|
650 |
-
font-family: proxima-nova, Arial, sans-serif !important;
|
651 |
-
}
|
652 |
-
.width-17{
|
653 |
-
width:17%;
|
654 |
-
}
|
655 |
-
.width-82{
|
656 |
-
width: 82%;
|
657 |
-
}
|
658 |
-
.unbxd-left {
|
659 |
-
float:left;
|
660 |
-
position:relative;
|
661 |
-
}
|
662 |
-
.unbxd-right {
|
663 |
-
float:right;
|
664 |
-
position: relative;
|
665 |
-
padding:3px;
|
666 |
-
}
|
667 |
-
.unbxd-left, .unbxd-right {
|
668 |
-
padding-bottom:8000px;
|
669 |
-
margin-bottom:-8000px;
|
670 |
-
}
|
671 |
-
.button-reauth-magento{
|
672 |
-
font-weight: bolder;
|
673 |
-
}
|
674 |
-
.magento-success-block, .magento-label{
|
675 |
-
font-weight: 300;
|
676 |
-
}
|
677 |
-
.chosen-drop, .no-radius{
|
678 |
-
border-radius: 0px !important;
|
679 |
-
}
|
680 |
-
.magento-text{
|
681 |
-
font-weight: 300;
|
682 |
-
color: #707777;
|
683 |
-
}
|
684 |
-
.button-cancel-magento
|
685 |
-
{
|
686 |
-
background: #fff url('../img/cancel.png') no-repeat 10%;
|
687 |
-
}
|
688 |
-
.weight300{
|
689 |
-
font-weight: 300;
|
690 |
-
}
|
691 |
-
.width-220{
|
692 |
-
width: 220px;
|
693 |
-
}
|
694 |
-
.no-border-right{
|
695 |
-
border-right: 0px !important;
|
696 |
-
}
|
697 |
-
.no-left-top-rad{
|
698 |
-
border-top-left-radius: 0px;
|
699 |
-
}
|
700 |
-
div.popover div.arrow{
|
701 |
-
background: transparent !important;
|
702 |
-
}
|
703 |
-
.popover.right .arrow:after {
|
704 |
-
border-right-color: rgb(60, 63, 64) !important;
|
705 |
-
}
|
706 |
-
.popover-content{
|
707 |
-
color: #F3F6F6;
|
708 |
-
font-size: 14px;
|
709 |
-
}
|
710 |
-
ul.magento-conf-tabs .magento-head-active {
|
711 |
-
background-color: #E1E6E6;
|
712 |
-
}
|
713 |
-
a.magento-head-active {
|
714 |
-
color: #4e5356 !important;
|
715 |
-
background: url('../img/level-arrow-active.png') no-repeat 92% !important;
|
716 |
-
background-color: #FFF !important;
|
717 |
-
}
|
718 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
skin/adminhtml/default/default/unbxd/img/Custom-platform.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/DONE.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/HEXAGON-Only.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/Magento-small.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/Magento.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/X-popup-hover.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/X-popup.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/X-pricing.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/add-actv.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/add-icon.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/add-inactv.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/add-raw-hover.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/add-raw.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/add.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-2.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-calendar-down.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-calendar-down1.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-down-disabled.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-down-enabled.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-down-white.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-down-white1.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-down-white2.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-down.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-gray.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-left-white.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-left.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-mail-developer).png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-right-blue.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-right-gray.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-right-white.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-right.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-up-black.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-up-disabled.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-up-enabled.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-up-red.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-up-white.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-up-white1.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-up.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/arrow-white.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/authenticated.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/back.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/big-arrow-gray.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/bigcommerce.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/black-right-small.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/black-right-thick.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/btn-arrow-top.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/btn-arrow.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/button-arrow-blue.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/button-arrow-grey.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/button-arrow-red.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/cancel.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/card-image.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/card-image1.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/card-image2.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/card-image3.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/checkmark.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/close-analytics.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/close.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/color-pic.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/congrats-magento.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/congrats.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/copy-black.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/copy-white.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/cros.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/cross-2.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/cvv-number.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/delete-raw-hover.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/delete-raw.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/delete-red.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/delete.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/detect.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/down-arrow.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/down-gray.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/drop-down.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/edit-magento.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/edit.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/eye-hover.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/eye.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/favicon.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/fill.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/group-arrow.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/help.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/icon-analytics.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/icon-info.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/icon-widget.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/install.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/integration-gray.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/introduction-gray.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/left-black.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/left-gray.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/level-arrow-active.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/level-arrow.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/link-arrow.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/loader-32x32.gif
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/lock-image.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/logo-unbxd.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/logo.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/mail-new.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/mail.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/minus.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/nav-highlight-arrow.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/not-detected.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/oops.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/or.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/other-gray.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/overview-gray.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/plus.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/question-mark2.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/red-cross.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/red-loading.gif
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/remove.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/right-black.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/right-gray.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/save.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/saved.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/search.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/settings.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/shopify.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/site-dropdownarrow-down.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/site-dropdownarrow-up.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/slider-bg.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/slider-button.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/sort-arrow-blue-down.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/sort-arrow-blue-up.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/sort-arrow-grey-down.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/sort-arrow-grey-up.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/spree.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/start-gray.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/step-arrow.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/success.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/tick-analytics.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/tick-green.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/tick-pricing.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/tick.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/tooltip-arrow.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/tooltip-left-arrow.jpg
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/tooltip.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/up-arrow.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/up-black.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/up-gray.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/user.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/warning.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/x-widget.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/img/x.png
DELETED
Binary file
|
skin/adminhtml/default/default/unbxd/js/app/analytics.js
DELETED
@@ -1,56 +0,0 @@
|
|
1 |
-
define([ "jquery"],
|
2 |
-
function( $ ){
|
3 |
-
|
4 |
-
var Analytics = {
|
5 |
-
|
6 |
-
loadAnalyticsTab : function(){
|
7 |
-
|
8 |
-
var ractiveAnalytics = new Ractive({
|
9 |
-
el: 'innerContainr',
|
10 |
-
template: '#tab3Template',
|
11 |
-
data:{
|
12 |
-
productClick : _unbxdObject.ractiveAnalytics.CLICKRANK || false,
|
13 |
-
addToCartClick : _unbxdObject.ractiveAnalytics.ADDTOCART || false,
|
14 |
-
productBuysClick : _unbxdObject.ractiveAnalytics.ORDER || false,
|
15 |
-
_unbxdObject:_unbxdObject
|
16 |
-
}
|
17 |
-
});
|
18 |
-
|
19 |
-
_unbxdObject.pollingId = window.setInterval(function(){
|
20 |
-
$.get(_unbxdBaseurl+"unbxd/config/analyticsimpression?site="+site)
|
21 |
-
.then(
|
22 |
-
function(data){
|
23 |
-
if(data.success){
|
24 |
-
data = data.IntegrationDetails[0];
|
25 |
-
ractiveAnalytics.set({
|
26 |
-
productClick:data.CLICKRANK,
|
27 |
-
addToCartClick:data.ADDTOCART,
|
28 |
-
productBuysClick:data.ORDER
|
29 |
-
})
|
30 |
-
_unbxdObject.ractiveAnalytics = data;
|
31 |
-
|
32 |
-
if(data.CLICKRANK && data.ADDTOCART && data.ORDER)
|
33 |
-
clearInterval( _unbxdObject.pollingId );
|
34 |
-
}
|
35 |
-
},
|
36 |
-
function(error){
|
37 |
-
clearInterval( _unbxdObject.pollingId );
|
38 |
-
});
|
39 |
-
}, 3000);
|
40 |
-
|
41 |
-
ractiveAnalytics.on({
|
42 |
-
showWidgets:function( event ){
|
43 |
-
activateLink( "four" );
|
44 |
-
loadWidgetsTab();
|
45 |
-
clearInterval( _unbxdObject.pollingId );
|
46 |
-
}
|
47 |
-
});
|
48 |
-
|
49 |
-
|
50 |
-
}
|
51 |
-
|
52 |
-
};
|
53 |
-
|
54 |
-
return Analytics;
|
55 |
-
|
56 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
skin/adminhtml/default/default/unbxd/js/app/utils.js
DELETED
@@ -1,33 +0,0 @@
|
|
1 |
-
define([ "jquery"],
|
2 |
-
function( $ ){
|
3 |
-
|
4 |
-
var Utils = {
|
5 |
-
|
6 |
-
activateLink : function( step ){
|
7 |
-
_unbxdObject.activeStep = {};
|
8 |
-
_unbxdObject.activeStep[step] = true;
|
9 |
-
ractiveParent.update();
|
10 |
-
},
|
11 |
-
|
12 |
-
configureSelect : function(){
|
13 |
-
var chosenObj = $('select[name="unbxd-select"]').chosen();
|
14 |
-
chosenObj.trigger('chosen:updated');
|
15 |
-
},
|
16 |
-
//re render all chosen selects
|
17 |
-
updateAllSelect : function(){
|
18 |
-
$('select').trigger('chosen:updated');
|
19 |
-
},
|
20 |
-
|
21 |
-
saveFields : function( data ){
|
22 |
-
return $.ajax({
|
23 |
-
data: JSON.stringify({ "fields": data }) ,
|
24 |
-
contentType:'application/json',
|
25 |
-
type:'POST',
|
26 |
-
url: _unbxdBaseurl + 'unbxd/config/fields?site='+site
|
27 |
-
})
|
28 |
-
}
|
29 |
-
|
30 |
-
};
|
31 |
-
|
32 |
-
return Utils;
|
33 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
skin/adminhtml/default/default/unbxd/js/main.js
DELETED
@@ -1,253 +0,0 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
//using global jquery as requirejs module
|
4 |
-
define('jquery', [], function() {
|
5 |
-
return jQuery.noConflict();
|
6 |
-
});
|
7 |
-
|
8 |
-
|
9 |
-
requirejs.config({
|
10 |
-
baseUrl: window._unbxdSkinurl + 'unbxd/js/lib',
|
11 |
-
paths: {
|
12 |
-
app: '../app'
|
13 |
-
},
|
14 |
-
});
|
15 |
-
|
16 |
-
// Start the main app logic.
|
17 |
-
requirejs([
|
18 |
-
'jquery',
|
19 |
-
'ractive',
|
20 |
-
'chosen',
|
21 |
-
'ractive-chosen',
|
22 |
-
'bootstrap-tooltip',
|
23 |
-
'app/credentails',
|
24 |
-
'app/catalog',
|
25 |
-
'app/analytics',
|
26 |
-
'app/widgets',
|
27 |
-
'app/utils'],
|
28 |
-
function (
|
29 |
-
$,
|
30 |
-
Ractive,
|
31 |
-
Chosen,
|
32 |
-
RC,
|
33 |
-
BC,
|
34 |
-
Credentails,
|
35 |
-
Catalog,
|
36 |
-
Analytics,
|
37 |
-
Widgets,
|
38 |
-
Utils) {
|
39 |
-
|
40 |
-
|
41 |
-
var baseUrl = _unbxdSkinurl +'unbxd/templates/';
|
42 |
-
site = "",
|
43 |
-
ractiveParent = {},
|
44 |
-
_unbxdObject = {
|
45 |
-
step1 : false,
|
46 |
-
step2 : false,
|
47 |
-
step3 : false,
|
48 |
-
step4 : false,
|
49 |
-
activeStep:{
|
50 |
-
one:true
|
51 |
-
},
|
52 |
-
originalMapping:[],
|
53 |
-
_unbxdSkinurl:_unbxdSkinurl,
|
54 |
-
siteName : site,
|
55 |
-
ractiveAnalytics:{}
|
56 |
-
},
|
57 |
-
unbxdMessages = {
|
58 |
-
authSuccess:"The Unbxd Module has been authenticated. Proceed to Catalog Configuration",
|
59 |
-
uploadSuccess:"Uploaded Catalog Data successfully. Proceed to Analytics integration"
|
60 |
-
},
|
61 |
-
unbxdDimensions = [
|
62 |
-
{
|
63 |
-
"value": "brand",
|
64 |
-
"helpText": "The brand to which a product belongs to"
|
65 |
-
},
|
66 |
-
{
|
67 |
-
"value": "imageUrl",
|
68 |
-
"helpText": "Thumbnail - the URL of the image of a product that needs to be displayed in the recommendation widget, normally the thumnail"
|
69 |
-
},
|
70 |
-
{
|
71 |
-
"value": "title",
|
72 |
-
"helpText": "The title or name of the product e.g 'Blue Nike Shoe' "
|
73 |
-
},
|
74 |
-
{
|
75 |
-
"value": "price",
|
76 |
-
"helpText": "The display price of the product e.g $499"
|
77 |
-
},
|
78 |
-
{
|
79 |
-
"value": "color",
|
80 |
-
"helpText": "The color of the product e.g. 'Green t-shirt' "
|
81 |
-
},
|
82 |
-
{
|
83 |
-
"value": "productUrl",
|
84 |
-
"helpText": "The material the product is made of e.g. 'Cotton trousers' "
|
85 |
-
},
|
86 |
-
{
|
87 |
-
"value": "sellingPrice",
|
88 |
-
"helpText": "The display price of the product e.g $499"
|
89 |
-
},
|
90 |
-
{
|
91 |
-
"value": "size",
|
92 |
-
"helpText": "The size of the product e.g. 'Size 10' shoes"
|
93 |
-
}
|
94 |
-
];
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
var loadMain = function(){
|
99 |
-
|
100 |
-
var $result = $.get( _unbxdBaseurl + 'unbxd/config/site');
|
101 |
-
$result.then(function( data ){
|
102 |
-
|
103 |
-
ractiveParent = new Ractive({
|
104 |
-
el: 'container',
|
105 |
-
template: '#template',
|
106 |
-
data: { sites: ['a', 'b'],
|
107 |
-
site:data.sites[0].name,
|
108 |
-
_unbxdObject:_unbxdObject
|
109 |
-
}
|
110 |
-
});
|
111 |
-
|
112 |
-
ractiveParent.observe('site', function(newValue, oldValue, keypath, s) {
|
113 |
-
if( !oldValue)
|
114 |
-
return;
|
115 |
-
|
116 |
-
_unbxdObject.catalogData = null;
|
117 |
-
_unbxdObject.originalMapping = [];
|
118 |
-
_unbxdObject.secretKey = "";
|
119 |
-
_unbxdObject.siteKey = "";
|
120 |
-
_unbxdObject.step1 = false;
|
121 |
-
Utils.activateLink( "one" );
|
122 |
-
Credentails.loadCredentailsTab( _unbxdObject );
|
123 |
-
clearInterval( _unbxdObject.pollingId );
|
124 |
-
|
125 |
-
});
|
126 |
-
|
127 |
-
|
128 |
-
ractiveParent.on({
|
129 |
-
|
130 |
-
showCredentials: function ( event ) {
|
131 |
-
Utils.activateLink( "one" );
|
132 |
-
Credentails.loadCredentailsTab( _unbxdObject );
|
133 |
-
clearInterval( _unbxdObject.pollingId );
|
134 |
-
},
|
135 |
-
|
136 |
-
showCatalog:function( event ){
|
137 |
-
Utils.activateLink( "two" );
|
138 |
-
Catalog.loadCatalogTab( _unbxdObject );
|
139 |
-
clearInterval( _unbxdObject.pollingId );
|
140 |
-
},
|
141 |
-
|
142 |
-
showAnalytics:function( event ){
|
143 |
-
Utils.activateLink( "three" );
|
144 |
-
Analytics.loadAnalyticsTab( _unbxdObject );
|
145 |
-
},
|
146 |
-
|
147 |
-
showWidgets:function( event ){
|
148 |
-
Utils.activateLink( "four" );
|
149 |
-
Widgets.loadWidgetsTab( _unbxdObject );
|
150 |
-
clearInterval( _unbxdObject.pollingId );
|
151 |
-
}
|
152 |
-
|
153 |
-
});
|
154 |
-
|
155 |
-
site = data.sites[0].name;
|
156 |
-
ractiveParent.set('sites', data.sites);
|
157 |
-
data = data.sites[0];
|
158 |
-
if(data.numDocs && data.numDocs > 0){
|
159 |
-
_unbxdObject.step2 = true;
|
160 |
-
_unbxdObject.products = site.numDocs
|
161 |
-
}
|
162 |
-
|
163 |
-
Credentails.loadCredentailsTab( _unbxdObject );
|
164 |
-
Utils.updateAllSelect();
|
165 |
-
|
166 |
-
|
167 |
-
})
|
168 |
-
}//load main
|
169 |
-
|
170 |
-
$.get( baseUrl + 'credentails.html')
|
171 |
-
.then(function( template ){
|
172 |
-
$('#tab1Template').text( template );
|
173 |
-
//load tab2
|
174 |
-
$.get( baseUrl + 'catalog.html')
|
175 |
-
.then(function( template ){
|
176 |
-
$('#tab2Template').text( template );
|
177 |
-
//load tab3
|
178 |
-
$.get( baseUrl + 'analytics.html')
|
179 |
-
.then(function( template ){
|
180 |
-
$('#tab3Template').text( template );
|
181 |
-
//load tab4
|
182 |
-
$.get( baseUrl + 'widgets.html')
|
183 |
-
.then(function( template ){
|
184 |
-
$('#tab4Template').text( template );
|
185 |
-
//load row
|
186 |
-
$.get( baseUrl + 'custom.html')
|
187 |
-
.then(function( template ){
|
188 |
-
$('#rowTemplate').text( template );
|
189 |
-
loadMain();
|
190 |
-
})
|
191 |
-
});
|
192 |
-
});
|
193 |
-
});
|
194 |
-
});
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
Ractive.decorators.chosen.type.site = function (node) {
|
201 |
-
return {
|
202 |
-
disable_search_threshold:5
|
203 |
-
}
|
204 |
-
};
|
205 |
-
|
206 |
-
|
207 |
-
});
|
208 |
-
|
209 |
-
|
210 |
-
Array.prototype.map = function(callback, thisArg) {
|
211 |
-
|
212 |
-
var T, A, k;
|
213 |
-
|
214 |
-
if (this == null) {
|
215 |
-
throw new TypeError(" this is null or not defined");
|
216 |
-
}
|
217 |
-
|
218 |
-
var O = Object(this);
|
219 |
-
var len = O.length >>> 0;
|
220 |
-
|
221 |
-
if (typeof callback !== "function") {
|
222 |
-
throw new TypeError(callback + " is not a function");
|
223 |
-
}
|
224 |
-
|
225 |
-
if (arguments.length > 1) {
|
226 |
-
T = thisArg;
|
227 |
-
}
|
228 |
-
|
229 |
-
A = new Array(len);
|
230 |
-
k = 0;
|
231 |
-
while (k < len) {
|
232 |
-
var kValue, mappedValue;
|
233 |
-
if (k in O) {
|
234 |
-
kValue = O[k];
|
235 |
-
mappedValue = callback.call(T, kValue, k, O);
|
236 |
-
A[k] = mappedValue;
|
237 |
-
}
|
238 |
-
k++;
|
239 |
-
}
|
240 |
-
|
241 |
-
return A;
|
242 |
-
};
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
skin/adminhtml/default/default/unbxd/{css → recscore/css}/app.css
RENAMED
@@ -1,193 +1,4 @@
|
|
1 |
-
|
2 |
-
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-13, .col-xs-14, .col-xs-15, .col-xs-16, .col-xs-17, .col-xs-18, .col-xs-19, .col-xs-20, .col-xs-21, .col-xs-22, .col-xs-23, .col-xs-24, .col-xs-25, .col-xs-26, .col-xs-27, .col-xs-28, .col-xs-29, .col-xs-30, .col-xs-31, .col-xs-32, .col-xs-33, .col-xs-34, .col-xs-35, .col-xs-36, .col-xs-37, .col-xs-38, .col-xs-39, .col-xs-40, .col-xs-41, .col-xs-42, .col-xs-43, .col-xs-44, .col-xs-45, .col-xs-46, .col-xs-47, .col-xs-48, .col-xs-49, .col-xs-50, .col-xs-51, .col-xs-52, .col-xs-53, .col-xs-54, .col-xs-55, .col-xs-56, .col-xs-57, .col-xs-58, .col-xs-59, .col-xs-60, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-13, .col-sm-14, .col-sm-15, .col-sm-16, .col-sm-17, .col-sm-18, .col-sm-19, .col-sm-20, .col-sm-21, .col-sm-22, .col-sm-23, .col-sm-24, .col-sm-25, .col-sm-26, .col-sm-27, .col-sm-28, .col-sm-29, .col-sm-30, .col-sm-31, .col-sm-32, .col-sm-33, .col-sm-34, .col-sm-35, .col-sm-36, .col-sm-37, .col-sm-38, .col-sm-39, .col-sm-40, .col-sm-41, .col-sm-42, .col-sm-43, .col-sm-44, .col-sm-45, .col-sm-46, .col-sm-47, .col-sm-48, .col-sm-49, .col-sm-50, .col-sm-51, .col-sm-52, .col-sm-53, .col-sm-54, .col-sm-55, .col-sm-56, .col-sm-57, .col-sm-58, .col-sm-59, .col-sm-60, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md-13, .col-md-14, .col-md-15, .col-md-16, .col-md-17, .col-md-18, .col-md-19, .col-md-20, .col-md-21, .col-md-22, .col-md-23, .col-md-24, .col-md-25, .col-md-26, .col-md-27, .col-md-28, .col-md-29, .col-md-30, .col-md-31, .col-md-32, .col-md-33, .col-md-34, .col-md-35, .col-md-36, .col-md-37, .col-md-38, .col-md-39, .col-md-40, .col-md-41, .col-md-42, .col-md-43, .col-md-44, .col-md-45, .col-md-46, .col-md-47, .col-md-48, .col-md-49, .col-md-50, .col-md-51, .col-md-52, .col-md-53, .col-md-54, .col-md-55, .col-md-56, .col-md-57, .col-md-58, .col-md-59, .col-md-60, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-13, .col-lg-14, .col-lg-15, .col-lg-16, .col-lg-17, .col-lg-18, .col-lg-19, .col-lg-20, .col-lg-21, .col-lg-22, .col-lg-23, .col-lg-24, .col-lg-25, .col-lg-26, .col-lg-27, .col-lg-28, .col-lg-29, .col-lg-30, .col-lg-31, .col-lg-32, .col-lg-33, .col-lg-34, .col-lg-35, .col-lg-36, .col-lg-37, .col-lg-38, .col-lg-39, .col-lg-40, .col-lg-41, .col-lg-42, .col-lg-43, .col-lg-44, .col-lg-45, .col-lg-46, .col-lg-47, .col-lg-48, .col-lg-49, .col-lg-50, .col-lg-51, .col-lg-52, .col-lg-53, .col-lg-54, .col-lg-55, .col-lg-56, .col-lg-57, .col-lg-58, .col-lg-59, .col-lg-60 {
|
3 |
-
position: relative;
|
4 |
-
min-height: 1px;
|
5 |
-
padding-right: 15px;
|
6 |
-
padding-left: 15px;
|
7 |
-
}
|
8 |
-
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-13, .col-xs-14, .col-xs-15, .col-xs-16, .col-xs-17, .col-xs-18, .col-xs-19, .col-xs-20, .col-xs-21, .col-xs-22, .col-xs-23, .col-xs-24, .col-xs-25, .col-xs-26, .col-xs-27, .col-xs-28, .col-xs-29, .col-xs-30, .col-xs-31, .col-xs-32, .col-xs-33, .col-xs-34, .col-xs-35, .col-xs-36, .col-xs-37, .col-xs-38, .col-xs-39, .col-xs-40, .col-xs-41, .col-xs-42, .col-xs-43, .col-xs-44, .col-xs-45, .col-xs-46, .col-xs-47, .col-xs-48, .col-xs-49, .col-xs-50, .col-xs-51, .col-xs-52, .col-xs-53, .col-xs-54, .col-xs-55, .col-xs-56, .col-xs-57, .col-xs-58, .col-xs-59 {
|
9 |
-
float: left;
|
10 |
-
}
|
11 |
-
.col-xs-1 {
|
12 |
-
width: 1.666666666666667%;
|
13 |
-
}
|
14 |
-
.col-xs-2 {
|
15 |
-
width: 3.333333333333333%;
|
16 |
-
}
|
17 |
-
.col-xs-3 {
|
18 |
-
width: 5%;
|
19 |
-
}
|
20 |
-
.col-xs-4 {
|
21 |
-
width: 6.666666666666667%;
|
22 |
-
}
|
23 |
-
.col-xs-5 {
|
24 |
-
width: 8.333333333333333%;
|
25 |
-
}
|
26 |
-
.col-xs-6 {
|
27 |
-
width: 10%;
|
28 |
-
}
|
29 |
-
.col-xs-7 {
|
30 |
-
width: 11.66666666666667%;
|
31 |
-
}
|
32 |
-
.col-xs-8 {
|
33 |
-
width: 13.33333333333333%;
|
34 |
-
}
|
35 |
-
.col-xs-9 {
|
36 |
-
width: 15%;
|
37 |
-
}
|
38 |
-
.col-xs-10 {
|
39 |
-
width: 16.66666666666667%;
|
40 |
-
}
|
41 |
-
.col-xs-11 {
|
42 |
-
width: 18.33333333333333%;
|
43 |
-
}
|
44 |
-
.col-xs-12 {
|
45 |
-
width: 20%;
|
46 |
-
}
|
47 |
-
.col-xs-13 {
|
48 |
-
width: 21.66666666666667%;
|
49 |
-
}
|
50 |
-
.col-xs-14 {
|
51 |
-
width: 23.33333333333333%;
|
52 |
-
}
|
53 |
-
.col-xs-15 {
|
54 |
-
width: 25%;
|
55 |
-
}
|
56 |
-
.col-xs-16 {
|
57 |
-
width: 26.66666666666667%;
|
58 |
-
}
|
59 |
-
.col-xs-17 {
|
60 |
-
width: 28.33333333333333%;
|
61 |
-
}
|
62 |
-
.col-xs-18 {
|
63 |
-
width: 30%;
|
64 |
-
}
|
65 |
-
.col-xs-19 {
|
66 |
-
width: 31.66666666666667%;
|
67 |
-
}
|
68 |
-
.col-xs-20 {
|
69 |
-
width: 33.33333333333333%;
|
70 |
-
}
|
71 |
-
.col-xs-21 {
|
72 |
-
width: 35%;
|
73 |
-
}
|
74 |
-
.col-xs-22 {
|
75 |
-
width: 36.66666666666667%;
|
76 |
-
}
|
77 |
-
.col-xs-23 {
|
78 |
-
width: 38.33333333333333%;
|
79 |
-
}
|
80 |
-
.col-xs-24 {
|
81 |
-
width: 40%;
|
82 |
-
}
|
83 |
-
.col-xs-25 {
|
84 |
-
width: 41.66666666666667%;
|
85 |
-
}
|
86 |
-
.col-xs-26 {
|
87 |
-
width: 43.33333333333333%;
|
88 |
-
}
|
89 |
-
.col-xs-27 {
|
90 |
-
width: 45%;
|
91 |
-
}
|
92 |
-
.col-xs-28 {
|
93 |
-
width: 46.66666666666667%;
|
94 |
-
}
|
95 |
-
.col-xs-29 {
|
96 |
-
width: 48.33333333333333%;
|
97 |
-
}
|
98 |
-
.col-xs-30 {
|
99 |
-
width: 50%;
|
100 |
-
}
|
101 |
-
.col-xs-31 {
|
102 |
-
width: 51.66666666666667%;
|
103 |
-
}
|
104 |
-
.col-xs-32 {
|
105 |
-
width: 53.33333333333333%;
|
106 |
-
}
|
107 |
-
.col-xs-33 {
|
108 |
-
width: 55%;
|
109 |
-
}
|
110 |
-
.col-xs-34 {
|
111 |
-
width: 56.66666666666667%;
|
112 |
-
}
|
113 |
-
.col-xs-35 {
|
114 |
-
width: 58.33333333333333%;
|
115 |
-
}
|
116 |
-
.col-xs-36 {
|
117 |
-
width: 60%;
|
118 |
-
}
|
119 |
-
.col-xs-37 {
|
120 |
-
width: 61.66666666666667%;
|
121 |
-
}
|
122 |
-
.col-xs-38 {
|
123 |
-
width: 63.33333333333333%;
|
124 |
-
}
|
125 |
-
.col-xs-39 {
|
126 |
-
width: 65%;
|
127 |
-
}
|
128 |
-
.col-xs-40 {
|
129 |
-
width: 66.66666666666667%;
|
130 |
-
}
|
131 |
-
.col-xs-41 {
|
132 |
-
width: 68.33333333333333%;
|
133 |
-
}
|
134 |
-
.col-xs-42 {
|
135 |
-
width: 70%;
|
136 |
-
}
|
137 |
-
.col-xs-43 {
|
138 |
-
width: 71.66666666666667%;
|
139 |
-
}
|
140 |
-
.col-xs-44 {
|
141 |
-
width: 73.33333333333333%;
|
142 |
-
}
|
143 |
-
.col-xs-45 {
|
144 |
-
width: 75%;
|
145 |
-
}
|
146 |
-
.col-xs-46 {
|
147 |
-
width: 76.66666666666667%;
|
148 |
-
}
|
149 |
-
.col-xs-47 {
|
150 |
-
width: 78.33333333333333%;
|
151 |
-
}
|
152 |
-
.col-xs-48 {
|
153 |
-
width: 80%;
|
154 |
-
}
|
155 |
-
.col-xs-49 {
|
156 |
-
width: 81.66666666666667%;
|
157 |
-
}
|
158 |
-
.col-xs-50 {
|
159 |
-
width: 83.33333333333333%;
|
160 |
-
}
|
161 |
-
.col-xs-51 {
|
162 |
-
width: 85%;
|
163 |
-
}
|
164 |
-
.col-xs-52 {
|
165 |
-
width: 86.66666666666667%;
|
166 |
-
}
|
167 |
-
.col-xs-53 {
|
168 |
-
width: 88.33333333333333%;
|
169 |
-
}
|
170 |
-
.col-xs-54 {
|
171 |
-
width: 90%;
|
172 |
-
}
|
173 |
-
.col-xs-55 {
|
174 |
-
width: 91.66666666666667%;
|
175 |
-
}
|
176 |
-
.col-xs-56 {
|
177 |
-
width: 93.33333333333333%;
|
178 |
-
}
|
179 |
-
.col-xs-57 {
|
180 |
-
width: 95%;
|
181 |
-
}
|
182 |
-
.col-xs-58 {
|
183 |
-
width: 96.66666666666667%;
|
184 |
-
}
|
185 |
-
.col-xs-59 {
|
186 |
-
width: 98.33333333333333%;
|
187 |
-
}
|
188 |
-
.col-xs-60 {
|
189 |
-
width: 100%;
|
190 |
-
}
|
191 |
/*common mobile*/
|
192 |
.blue-link {
|
193 |
font-size: 14px;
|
@@ -225,7 +36,7 @@ label.label-radio, label.label-checkbox {
|
|
225 |
label.label-radio.inactive, label.label-checkbox.inactive {
|
226 |
cursor: default;
|
227 |
}
|
228 |
-
input[type="radio"]
|
229 |
display: none;
|
230 |
}
|
231 |
label.label-radio:before, label.label-checkbox:before {
|
@@ -411,7 +222,7 @@ label
|
|
411 |
margin: 0;
|
412 |
}
|
413 |
.pad-0 {
|
414 |
-
padding: 0;
|
415 |
}
|
416 |
.pad-top-5 {
|
417 |
padding-top: 5px;
|
@@ -462,7 +273,7 @@ label
|
|
462 |
padding-bottom: 10px;
|
463 |
}
|
464 |
.pad-btm-20 {
|
465 |
-
padding-bottom: 20px;
|
466 |
}
|
467 |
.pad-btm-40 {
|
468 |
padding-bottom: 40px;
|
@@ -1455,235 +1266,7 @@ table.table-widget {
|
|
1455 |
text-align: right;
|
1456 |
color: #4f5555;
|
1457 |
}
|
1458 |
-
.table-widget tbody > tr:nth-child(2), .table-widget.sub-widget tbody > tr:first-child {
|
1459 |
-
background-color: #1a1c1c;
|
1460 |
-
}
|
1461 |
-
.table-widget tbody > tr:nth-child(2)> td, .table-widget.sub-widget tbody > tr:first-child > td {
|
1462 |
-
color: #c9cfdb !important;
|
1463 |
-
}
|
1464 |
-
.table-widget tbody > tr > td:first-child {
|
1465 |
-
border-top-left-radius: 5px;
|
1466 |
-
border-bottom-left-radius: 5px;
|
1467 |
-
}
|
1468 |
-
.table-widget tbody > tr > td:nth-child(2) {
|
1469 |
-
text-align: left;
|
1470 |
-
padding-left: 20px;
|
1471 |
-
}
|
1472 |
-
.table-widget tbody > tr > td:last-child {
|
1473 |
-
border-top-right-radius: 5px;
|
1474 |
-
border-bottom-right-radius: 5px;
|
1475 |
-
text-align: right;
|
1476 |
-
}
|
1477 |
-
.outer-sub-widget {
|
1478 |
-
position: absolute;
|
1479 |
-
right: 40px;
|
1480 |
-
left: 80px;
|
1481 |
-
}
|
1482 |
-
.sub-widget {
|
1483 |
-
margin-top: 0px;
|
1484 |
-
}
|
1485 |
-
.table-widget.sub-widget tbody > tr {
|
1486 |
-
background-color: #f7f1f1;
|
1487 |
-
height: 36px;
|
1488 |
-
padding-top: 8px;
|
1489 |
-
font-size: 14px;
|
1490 |
-
}
|
1491 |
-
.table-widget.sub-widget tbody > tr > td {
|
1492 |
-
color: #4f5555 !important;
|
1493 |
-
}
|
1494 |
-
|
1495 |
-
.table-widget.sub-widget tbody > tr > td:first-child {
|
1496 |
-
width: 40px !important;
|
1497 |
-
}
|
1498 |
-
#popup-click, .popup-click {
|
1499 |
-
border-top-left-radius: 5px;
|
1500 |
-
border-bottom-left-radius: 5px;
|
1501 |
-
background: #c9cfdb url('../img/arrow-down-white.jpg') no-repeat 50%;
|
1502 |
-
width: 40px !important;
|
1503 |
-
cursor: pointer;
|
1504 |
-
float: left;
|
1505 |
-
width: 40px;
|
1506 |
-
height: 36px;
|
1507 |
-
}
|
1508 |
-
.table-widget.sub-widget tbody > tr > td:nth-child(2) {
|
1509 |
-
width: 160px;
|
1510 |
-
}
|
1511 |
-
.table-widget.sub-widget tbody > tr > td:nth-child(3) {
|
1512 |
-
width: 70px;
|
1513 |
-
}
|
1514 |
-
.table-widget.sub-widget tbody > tr > td:nth-child(4) {
|
1515 |
-
width: 145px;
|
1516 |
-
}
|
1517 |
-
.table-widget.sub-widget tbody > tr > td:nth-child(5) {
|
1518 |
-
width: 130px;
|
1519 |
-
}
|
1520 |
-
.table-widget.sub-widget tbody > tr > td:nth-child(6) {
|
1521 |
-
width: 130px;
|
1522 |
-
}
|
1523 |
-
.table-widget.sub-widget tbody > tr > td:nth-child(7) {
|
1524 |
-
width: 95px;
|
1525 |
-
}
|
1526 |
-
.table-widget.sub-widget tbody > tr > td:nth-child(8) {
|
1527 |
-
width: 120px;
|
1528 |
-
}
|
1529 |
-
.table-widget tbody > tr > th:last-child {
|
1530 |
-
width: 140px !important;
|
1531 |
-
text-align: left;
|
1532 |
-
}
|
1533 |
-
|
1534 |
-
.image-down-disabled {
|
1535 |
-
background: url('../img/sort-arrow-blue-down.png') no-repeat;
|
1536 |
-
width: 10px;
|
1537 |
-
height: 12px;
|
1538 |
-
float: right;
|
1539 |
-
margin-top: 2px;
|
1540 |
-
cursor: pointer;
|
1541 |
-
margin-left: 7px;
|
1542 |
-
}
|
1543 |
-
.image-up-disabled {
|
1544 |
-
background: url('../img/sort-arrow-blue-up.png') no-repeat;
|
1545 |
-
width: 10px;
|
1546 |
-
height: 12px;
|
1547 |
-
float: right;
|
1548 |
-
margin-top: 2px;
|
1549 |
-
cursor: pointer;
|
1550 |
-
}
|
1551 |
-
.image-down-enabled {
|
1552 |
-
background: url('../img/sort-arrow-grey-down.png') no-repeat;
|
1553 |
-
width: 10px;
|
1554 |
-
height: 12px;
|
1555 |
-
float: right;
|
1556 |
-
cursor: pointer;
|
1557 |
-
margin-left: 7px;
|
1558 |
-
margin-top: 2px;
|
1559 |
-
}
|
1560 |
-
.image-up-enabled {
|
1561 |
-
background: url('../img/sort-arrow-grey-up.png') no-repeat;
|
1562 |
-
width: 10px;
|
1563 |
-
height: 12px;
|
1564 |
-
float: right;
|
1565 |
-
cursor: pointer;
|
1566 |
-
margin-top: 2px;
|
1567 |
-
}
|
1568 |
-
/* tooltip starts*/
|
1569 |
-
#popUpText {
|
1570 |
-
display: none;
|
1571 |
-
position: relative;
|
1572 |
-
float: left;
|
1573 |
-
width: 240px;
|
1574 |
-
z-index: 999 !important;
|
1575 |
-
}
|
1576 |
-
.arrow {
|
1577 |
-
float: left;
|
1578 |
-
width: 40px;
|
1579 |
-
width: 40px;
|
1580 |
-
height: 36px;
|
1581 |
-
border-top-left-radius: 5px;
|
1582 |
-
border-bottom-left-radius: 5px;
|
1583 |
-
background: #222424 url('../img/arrow-up-white1.jpg') no-repeat 50%;
|
1584 |
-
}
|
1585 |
-
.list {
|
1586 |
-
height: 200px;
|
1587 |
-
float: left;
|
1588 |
-
background-color: #181919;
|
1589 |
-
}
|
1590 |
-
ul.category-list {
|
1591 |
-
width: 200px;
|
1592 |
-
list-style-type: none;
|
1593 |
-
padding: 0;
|
1594 |
-
margin: 0;
|
1595 |
-
height: 200px;
|
1596 |
-
z-index: 999;
|
1597 |
-
}
|
1598 |
-
ul.category-list li {
|
1599 |
-
color: #b3b3b3;
|
1600 |
-
font-size: 14px;
|
1601 |
-
border-bottom: 1px solid #232424;
|
1602 |
-
text-align: left;
|
1603 |
-
}
|
1604 |
-
ul.category-list li:first-child {
|
1605 |
-
color: #656565;
|
1606 |
-
font-size: 12px;
|
1607 |
-
padding: 15px 0px 15px 20px;
|
1608 |
-
border-bottom: none;
|
1609 |
-
}
|
1610 |
-
ul.category-list li:last-child {
|
1611 |
-
|
1612 |
-
}
|
1613 |
-
/* tooltip ends*/
|
1614 |
-
.tooltip-toggle {
|
1615 |
-
padding: 12px 0px 12px 20px;
|
1616 |
-
width: 200px;
|
1617 |
-
border: none;
|
1618 |
-
cursor: pointer;
|
1619 |
-
text-align: left;
|
1620 |
-
}
|
1621 |
-
.tooltip-toggle:hover {
|
1622 |
-
background-color: #232424;
|
1623 |
-
/* background: #232424 url('../img/arrow-right-gray.jpg') no-repeat 90%;*/
|
1624 |
-
}
|
1625 |
-
/*.tooltip-toggle:hover~ul.tooltip-menu
|
1626 |
-
{
|
1627 |
-
display: block !important;
|
1628 |
-
|
1629 |
-
}*/
|
1630 |
-
.btn-group.open .tooltip-toggle {
|
1631 |
-
-webkit-box-shadow: none;
|
1632 |
-
box-shadow: none;
|
1633 |
-
border-bottom: none;
|
1634 |
-
border-bottom-left-radius: 0px;
|
1635 |
-
border-bottom-right-radius: 0px;
|
1636 |
-
border-bottom: none;
|
1637 |
-
cursor: pointer;
|
1638 |
-
background: #232424 url('../img/arrow-right-gray.jpg') no-repeat 90%;
|
1639 |
-
}
|
1640 |
-
|
1641 |
-
.tooltip-menu {
|
1642 |
-
width: 160px !important;
|
1643 |
-
border: none;
|
1644 |
-
position: absolute;
|
1645 |
-
top: -1%;
|
1646 |
-
left: 200px;
|
1647 |
-
z-index: 1000;
|
1648 |
-
display: none;
|
1649 |
-
float: left;
|
1650 |
-
padding: 0;
|
1651 |
-
margin: 0;
|
1652 |
-
height: 125px;
|
1653 |
-
font-size: 14px;
|
1654 |
-
list-style: none;
|
1655 |
-
border-radius: 0px;
|
1656 |
-
-webkit-box-shadow: none;
|
1657 |
-
box-shadow: none;
|
1658 |
-
border-top: none;
|
1659 |
-
background-color: #232424;
|
1660 |
-
font-family: proxima-nova, Arial, sans-serif;
|
1661 |
-
font-weight: 400;
|
1662 |
-
font-style: normal;
|
1663 |
-
color: #fff !important;
|
1664 |
-
padding-top: 10px;
|
1665 |
-
display: none;
|
1666 |
-
}
|
1667 |
-
ul.tooltip-menu li {
|
1668 |
-
padding: 0px 0px 10px 15px !important;
|
1669 |
-
border-bottom: none;
|
1670 |
-
}
|
1671 |
-
ul.tooltip-menu > li > a {
|
1672 |
-
text-align: left;
|
1673 |
-
display: table-cell;
|
1674 |
-
vertical-align: middle;
|
1675 |
-
font-size: 14px;
|
1676 |
-
color: #b3b3b3 !important;
|
1677 |
-
text-decoration: none !important;
|
1678 |
-
}
|
1679 |
-
ul.tooltip-menu > li > a:hover {
|
1680 |
-
|
1681 |
-
color: #3b3c3c !important;
|
1682 |
-
}
|
1683 |
|
1684 |
-
.open > .tooltip-menu {
|
1685 |
-
display: block;
|
1686 |
-
}
|
1687 |
|
1688 |
/* common keyword list mobile ends*/
|
1689 |
/* payment mobile*/
|
@@ -2095,7 +1678,8 @@ table.table-popup {
|
|
2095 |
|
2096 |
.header-pricing {
|
2097 |
padding: 60px 0px 40px 0px;
|
2098 |
-
font-family:
|
|
|
2099 |
}
|
2100 |
.top-header-pricing {
|
2101 |
font-weight: 300;
|
@@ -2105,18 +1689,18 @@ margin-bottom: 20px;
|
|
2105 |
}
|
2106 |
.center-pricing-bottom
|
2107 |
{
|
2108 |
-
font-family:
|
2109 |
}
|
2110 |
.top-center-pricing
|
2111 |
{
|
2112 |
font-size: 24px;
|
2113 |
-
font-weight:
|
2114 |
margin-bottom: 10px;
|
2115 |
}
|
2116 |
.middle-center-pricing
|
2117 |
{
|
2118 |
font-size: 16px;
|
2119 |
-
|
2120 |
color: #7f8585;
|
2121 |
margin-bottom: 30px;
|
2122 |
}
|
@@ -2128,7 +1712,7 @@ color: #768484;
|
|
2128 |
.container-pricing
|
2129 |
{
|
2130 |
padding: 60px 0px;
|
2131 |
-
font-family:
|
2132 |
}
|
2133 |
.center-pricing-top
|
2134 |
{
|
@@ -2406,7 +1990,7 @@ border-top: none;
|
|
2406 |
{
|
2407 |
background-color: #fff;
|
2408 |
padding: 13px 75px 13px 25px;
|
2409 |
-
font-family:
|
2410 |
}
|
2411 |
.nav-dashboard>li>a
|
2412 |
{
|
@@ -2430,7 +2014,7 @@ border-top: none;
|
|
2430 |
background-color: #fff;
|
2431 |
border: 1px solid #dedede;
|
2432 |
padding-top: 8px;
|
2433 |
-
|
2434 |
}
|
2435 |
|
2436 |
.dashboard-menu-dropdown {
|
@@ -2451,7 +2035,7 @@ border-top: none;
|
|
2451 |
box-shadow: none;
|
2452 |
font-weight: medium;
|
2453 |
background-color: transparent !important;
|
2454 |
-
|
2455 |
color: #464646;
|
2456 |
}
|
2457 |
.dashboard-menu-dropdown > li > a {
|
@@ -2464,7 +2048,7 @@ border-top: none;
|
|
2464 |
border-right: 1px solid #dedede;
|
2465 |
height: 40px;
|
2466 |
font-size:16px;
|
2467 |
-
|
2468 |
color: #464646;
|
2469 |
}
|
2470 |
.dashboard-menu-dropdown > li:last-child > a {
|
@@ -2543,7 +2127,7 @@ border-top: none;
|
|
2543 |
{
|
2544 |
margin-top: 10px;
|
2545 |
font-size: 16px;
|
2546 |
-
|
2547 |
color: #4d4d4d !important;
|
2548 |
|
2549 |
|
@@ -2656,7 +2240,7 @@ ul.hor-tabs-inner li a.hor-tabs-inner-enabled {
|
|
2656 |
{
|
2657 |
color: #4e5356;
|
2658 |
font-size: 18px;
|
2659 |
-
|
2660 |
}
|
2661 |
.in-grp-merchandise
|
2662 |
{
|
@@ -2794,7 +2378,7 @@ margin-top:-3px;
|
|
2794 |
{
|
2795 |
color: #4d4d4d;
|
2796 |
font-size:16px;
|
2797 |
-
font-weight:
|
2798 |
padding-left:12px;
|
2799 |
border:1px solid #ece7e7;
|
2800 |
background-color: #fff;
|
@@ -2807,7 +2391,7 @@ margin-top:-3px;
|
|
2807 |
border-right: 1px solid #ece7e7;
|
2808 |
height: 40px;
|
2809 |
font-size:16px;
|
2810 |
-
|
2811 |
border-top:none;
|
2812 |
}
|
2813 |
.merchandise-menu-dropdown > li:first-child > a
|
@@ -2839,7 +2423,7 @@ margin-top:-3px;
|
|
2839 |
padding-top: 3px;
|
2840 |
color: #fff !important;
|
2841 |
font-size: 16px;
|
2842 |
-
font-weight:
|
2843 |
text-decoration: none;
|
2844 |
vertical-align: middle;
|
2845 |
border-right: none;
|
@@ -3025,7 +2609,7 @@ ul.widget-conf li a.widget-conf-enabled {
|
|
3025 |
|
3026 |
background: #ac1d1c url('../img/arrow-white-top-button.png') no-repeat 93%;
|
3027 |
font-family: proxima-nova, Arial, sans-serif !important;
|
3028 |
-
|
3029 |
-webkit-border-radius: 5px;
|
3030 |
-moz-border-radius: 5px;
|
3031 |
border-radius: 5px;
|
@@ -3686,7 +3270,7 @@ input.input-layout::-webkit-input-placeholder { color:#4f5555; font-size:14px;}
|
|
3686 |
position: relative;
|
3687 |
display: inline-block;
|
3688 |
vertical-align: middle;
|
3689 |
-
font-size:
|
3690 |
zoom: 1;
|
3691 |
*display: inline;
|
3692 |
-webkit-user-select: none;
|
@@ -3701,18 +3285,26 @@ input.input-layout::-webkit-input-placeholder { color:#4f5555; font-size:14px;}
|
|
3701 |
width: 360px !important;
|
3702 |
}
|
3703 |
.chosen-container .chosen-drop {
|
3704 |
-
position: absolute;
|
3705 |
top: 100%;
|
3706 |
-
left: -9999px;
|
3707 |
z-index: 1010;
|
3708 |
-webkit-box-sizing: border-box;
|
3709 |
-moz-box-sizing: border-box;
|
3710 |
box-sizing: border-box;
|
3711 |
-
width: 100%;
|
3712 |
-
border: 1px solid #ece7e7;
|
3713 |
border-top: 0;
|
3714 |
-
background: #fdfdfd
|
3715 |
box-shadow: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3716 |
}
|
3717 |
.chosen-container.chosen-with-drop .chosen-drop {
|
3718 |
left: 0;
|
@@ -3732,7 +3324,7 @@ input.input-layout::-webkit-input-placeholder { color:#4f5555; font-size:14px;}
|
|
3732 |
box-shadow: none;
|
3733 |
background-color: #fdfdfd;
|
3734 |
background-clip: padding-box;
|
3735 |
-
color: #
|
3736 |
text-decoration: none;
|
3737 |
white-space: nowrap;
|
3738 |
vertical-align: middle !important;
|
@@ -3772,8 +3364,9 @@ input.input-layout::-webkit-input-placeholder { color:#4f5555; font-size:14px;}
|
|
3772 |
height: 40px !important;
|
3773 |
vertical-align: middle;
|
3774 |
display: table-cell;
|
3775 |
-
border-bottom: 1px solid #ece7e7
|
3776 |
-
width:
|
|
|
3777 |
}
|
3778 |
.chosen-container-single .chosen-search input[type="text"] {
|
3779 |
-webkit-box-sizing: border-box;
|
@@ -3782,7 +3375,7 @@ input.input-layout::-webkit-input-placeholder { color:#4f5555; font-size:14px;}
|
|
3782 |
margin: 1px 0;
|
3783 |
padding: 4px 20px 4px 5px;
|
3784 |
width: 100%;
|
3785 |
-
height:
|
3786 |
outline: 0;
|
3787 |
border: none;
|
3788 |
font-size: 16px;
|
@@ -3793,10 +3386,11 @@ input.input-layout::-webkit-input-placeholder { color:#4f5555; font-size:14px;}
|
|
3793 |
background: #fdfdfd;
|
3794 |
}
|
3795 |
.chosen-container-single .chosen-drop {
|
3796 |
-
margin-top: -1px
|
3797 |
border-radius: 0 0 4px 4px;
|
3798 |
-
background-clip: padding-box
|
3799 |
border-top: 1px solid #ece7e7;
|
|
|
3800 |
}
|
3801 |
.chosen-container-single.chosen-container-single-nosearch .chosen-search {
|
3802 |
position: absolute;
|
@@ -3951,6 +3545,7 @@ input.input-layout::-webkit-input-placeholder { color:#4f5555; font-size:14px;}
|
|
3951 |
}
|
3952 |
.chosen-container-active .chosen-single {
|
3953 |
border: 1px solid #ece7e7;
|
|
|
3954 |
}
|
3955 |
.chosen-container-active.chosen-with-drop .chosen-single {
|
3956 |
border: 1px solid #ece7e7;
|
@@ -4197,13 +3792,13 @@ ul.block-account li ul.account-list li a.account-list-active {
|
|
4197 |
}
|
4198 |
.inner-container-magento
|
4199 |
{
|
4200 |
-
/*position: absolute;*/
|
4201 |
left:240px;
|
4202 |
right:0;
|
4203 |
padding:0px;
|
4204 |
background-color:#f3f6f6;
|
4205 |
-
font-family:
|
4206 |
-
|
|
|
4207 |
}
|
4208 |
.button-black-magento
|
4209 |
{
|
@@ -4214,7 +3809,7 @@ height:40px;
|
|
4214 |
text-align: center;
|
4215 |
color: #fdfdfd !important;
|
4216 |
font-size:16px;
|
4217 |
-
font-weight:
|
4218 |
padding-top:9px;
|
4219 |
}
|
4220 |
.button-black-magento:hover
|
@@ -4243,7 +3838,7 @@ height:40px;
|
|
4243 |
text-align: center;
|
4244 |
color: #fdfdfd !important;
|
4245 |
font-size:16px;
|
4246 |
-
font-weight:
|
4247 |
padding-top:9px;
|
4248 |
}
|
4249 |
.button-black-magento1:hover
|
@@ -4275,20 +3870,20 @@ box-shadow:inset 0px 1px 1px 0px #6d6d6d;
|
|
4275 |
.magento-inner-block
|
4276 |
{
|
4277 |
border: 1px solid #cddbde;
|
4278 |
-
padding:
|
4279 |
background-color: #fff;
|
4280 |
}
|
4281 |
.magento-head
|
4282 |
{
|
4283 |
-
|
4284 |
-
|
4285 |
-
font-weight:
|
4286 |
}
|
4287 |
.magento-subhead
|
4288 |
{
|
4289 |
-
|
4290 |
-
|
4291 |
-
|
4292 |
}
|
4293 |
.font-16
|
4294 |
{
|
@@ -4300,14 +3895,14 @@ box-shadow:inset 0px 1px 1px 0px #6d6d6d;
|
|
4300 |
}
|
4301 |
.magento-text
|
4302 |
{
|
4303 |
-
color
|
4304 |
-
font-size:
|
4305 |
-
font-weight:
|
|
|
4306 |
}
|
4307 |
.text1
|
4308 |
{
|
4309 |
-
color
|
4310 |
-
|
4311 |
}
|
4312 |
.text2
|
4313 |
{
|
@@ -4391,7 +3986,7 @@ border-radius: 0px 0px 5px 0px;
|
|
4391 |
border-right: 1px solid #dee2e4 !important;
|
4392 |
color: #5c656a;
|
4393 |
font-size: 14px;
|
4394 |
-
|
4395 |
height: 44px !important;
|
4396 |
padding-left: 23px;
|
4397 |
vertical-align: middle;
|
@@ -4482,13 +4077,13 @@ pre .red
|
|
4482 |
}
|
4483 |
.magento-label
|
4484 |
{
|
4485 |
-
|
4486 |
-
|
4487 |
-
|
4488 |
}
|
4489 |
.magento-input
|
4490 |
{
|
4491 |
-
width:
|
4492 |
height: 40px;
|
4493 |
border-radius: 3px;
|
4494 |
background-color: #fcfcfc;
|
@@ -4496,13 +4091,12 @@ pre .red
|
|
4496 |
font-size: 16px;
|
4497 |
color: #1a1c1c;
|
4498 |
border:1px solid #cbcbcb;
|
4499 |
-
|
4500 |
}
|
4501 |
.middle-nav-magento-dropdown {
|
4502 |
/*position:absolute; */
|
4503 |
left:0px;
|
4504 |
width:240px;
|
4505 |
-
font-family:
|
4506 |
/*top:160px;*/
|
4507 |
}
|
4508 |
.middle-nav-text
|
@@ -4522,7 +4116,7 @@ background-color: #3c3f40;
|
|
4522 |
/*left:0px; */
|
4523 |
/*width:240px;*/
|
4524 |
/*height:920px;*/
|
4525 |
-
font-family:
|
4526 |
/*top:255px;*/
|
4527 |
}
|
4528 |
ul.magento-nav {
|
@@ -4531,6 +4125,10 @@ ul.magento-nav {
|
|
4531 |
list-style-type: none;
|
4532 |
padding: 0;
|
4533 |
margin: 0;
|
|
|
|
|
|
|
|
|
4534 |
}
|
4535 |
ul.magento-nav li {
|
4536 |
display: block;
|
@@ -4541,19 +4139,23 @@ ul.magento-nav li a {
|
|
4541 |
display: block;
|
4542 |
float: left;
|
4543 |
color: #fff !important;
|
4544 |
-
padding:
|
4545 |
font-size: 16px;
|
4546 |
-
font-weight:
|
4547 |
width:100%;
|
4548 |
border-bottom:1px solid #4e5253;
|
|
|
|
|
|
|
|
|
|
|
4549 |
background: url('../img/arrow-white.png') no-repeat 90%;
|
4550 |
}
|
4551 |
ul.magento-nav li a.magento-active
|
4552 |
{
|
4553 |
-
|
4554 |
border-top:1px solid #4e5253;
|
4555 |
border-bottom:1px solid #4e5253;
|
4556 |
-
background:
|
4557 |
}
|
4558 |
.magento-tooltip
|
4559 |
{
|
@@ -4568,10 +4170,12 @@ ul.magento-nav li a.magento-active
|
|
4568 |
background: url('../img/not-detected.png') no-repeat 5%;
|
4569 |
}
|
4570 |
input.magento-input::-webkit-input-placeholder { color: #b8bcc0;}
|
|
|
4571 |
input[type="text"]:focus
|
4572 |
{
|
4573 |
outline:none;
|
4574 |
-
|
|
|
4575 |
}
|
4576 |
input[type="email"]:focus
|
4577 |
{
|
@@ -4585,9 +4189,10 @@ input[type="password"]:focus
|
|
4585 |
{
|
4586 |
outline:none;
|
4587 |
}
|
4588 |
-
|
4589 |
font-family: proxima-nova, Arial, sans-serif !important;
|
4590 |
-
|
|
|
4591 |
color: #5c656a !important;
|
4592 |
font-size: 16px !important;
|
4593 |
padding-left: 37px !important;
|
@@ -4627,7 +4232,7 @@ input[type="password"]:focus
|
|
4627 |
-webkit-box-shadow: none;
|
4628 |
box-shadow: none;
|
4629 |
color: #5c656a;
|
4630 |
-
|
4631 |
background-color: transparent !important;
|
4632 |
}
|
4633 |
.dropdown-menu-magento > li:first-child > a
|
@@ -4725,7 +4330,7 @@ input[type="password"]:focus
|
|
4725 |
-webkit-box-shadow: none;
|
4726 |
box-shadow: none;
|
4727 |
color: #5c656a;
|
4728 |
-
|
4729 |
background-color: transparent !important;
|
4730 |
}
|
4731 |
.dropdown-menu-nav-magento > li:first-child > a
|
@@ -4835,7 +4440,8 @@ input[type="password"]:focus
|
|
4835 |
}
|
4836 |
.main-section
|
4837 |
{
|
4838 |
-
font-family:
|
|
|
4839 |
}
|
4840 |
.mar-top-50
|
4841 |
{
|
@@ -4872,7 +4478,7 @@ input[type="password"]:focus
|
|
4872 |
{
|
4873 |
color:#4e5356;
|
4874 |
font-size:24px;
|
4875 |
-
font-weight:
|
4876 |
}
|
4877 |
.color-gray
|
4878 |
{
|
@@ -4970,7 +4576,7 @@ input[type="password"]:focus
|
|
4970 |
{
|
4971 |
color:#2c3e4c;
|
4972 |
font-size:18px;
|
4973 |
-
font-weight:
|
4974 |
text-align: center;
|
4975 |
}
|
4976 |
.steps-row1
|
@@ -5048,6 +4654,10 @@ input[type="password"]:focus
|
|
5048 |
margin-top:-3px;
|
5049 |
}
|
5050 |
.mar-top-20
|
|
|
|
|
|
|
|
|
5051 |
{
|
5052 |
margin-top:15px;
|
5053 |
}
|
@@ -5062,21 +4672,21 @@ input[type="password"]:focus
|
|
5062 |
.steps-text-active
|
5063 |
{
|
5064 |
font-size: 15px;
|
5065 |
-
font-weight:
|
5066 |
color: #45b5c1;
|
5067 |
text-align: center
|
5068 |
}
|
5069 |
.steps-text
|
5070 |
{
|
5071 |
font-size: 15px;
|
5072 |
-
font-weight:
|
5073 |
color: #929494;
|
5074 |
text-align: center;
|
5075 |
}
|
5076 |
.dashboard-label
|
5077 |
{
|
5078 |
color: #4e5356;
|
5079 |
-
font-weight:
|
5080 |
font-size: 18px;
|
5081 |
}
|
5082 |
.dashboard-input
|
@@ -5096,7 +4706,7 @@ input[type="password"]:focus
|
|
5096 |
height:40px;
|
5097 |
width:290px !important;
|
5098 |
border:1px solid #d9dede;
|
5099 |
-
|
5100 |
font-size: 16px;
|
5101 |
color: #182b3a;
|
5102 |
box-shadow: none !important;
|
@@ -5149,7 +4759,7 @@ text-align: center;
|
|
5149 |
border-top-left-radius: 4px;
|
5150 |
border-bottom-right-radius: 4px;
|
5151 |
float: right;
|
5152 |
-
font-family:
|
5153 |
font-size: 14px;
|
5154 |
font-weight:400;
|
5155 |
padding: 5px 0;
|
@@ -5223,26 +4833,24 @@ ul.magento-conf-tabs li a.magento-conf-tabs-enabled {
|
|
5223 |
}
|
5224 |
.button-edit-magento
|
5225 |
{
|
5226 |
-
|
5227 |
-
|
5228 |
-
|
5229 |
-
|
5230 |
-
|
5231 |
-
|
5232 |
-
font-weight:400;
|
5233 |
-
padding-top:5px;
|
5234 |
-
padding-left: 33px;
|
5235 |
}
|
5236 |
.button-save-magento
|
5237 |
{
|
5238 |
-
|
5239 |
-
background:
|
5240 |
}
|
5241 |
.magento-success-block
|
5242 |
{
|
5243 |
padding: 14px 5px 14px 35px;
|
5244 |
-
background-color: #
|
5245 |
border:1px solid #30a880;
|
|
|
5246 |
}
|
5247 |
.magento-analytics-tick-green
|
5248 |
{
|
@@ -5253,19 +4861,19 @@ padding-left: 33px;
|
|
5253 |
margin:0px auto;
|
5254 |
float:none;
|
5255 |
margin-right:10px !important;
|
|
|
5256 |
}
|
5257 |
.magento-success-block-head
|
5258 |
{
|
5259 |
-
color: #
|
5260 |
-
font-size:
|
5261 |
-
font-weight:400;
|
5262 |
}
|
5263 |
.magento-success-block-text
|
5264 |
{
|
5265 |
color: #fff;
|
5266 |
-
font-size:
|
5267 |
-
font-weight:
|
5268 |
-
|
5269 |
}
|
5270 |
.mar-top-15
|
5271 |
{
|
@@ -5273,29 +4881,22 @@ padding-left: 33px;
|
|
5273 |
}
|
5274 |
.button-reauth-magento
|
5275 |
{
|
5276 |
-
border:
|
5277 |
-
height:42px;
|
5278 |
-
|
5279 |
-
|
5280 |
-
|
5281 |
-
|
5282 |
-
|
5283 |
-
|
5284 |
-
|
5285 |
-
|
5286 |
-
|
5287 |
-
{
|
5288 |
-
background-color: #fe6a56;
|
5289 |
-
opacity: 0.9;
|
5290 |
-
padding:35px 0px;
|
5291 |
text-align: center;
|
5292 |
-
|
5293 |
-
|
5294 |
-
color: #
|
5295 |
-
|
5296 |
-
top:0;
|
5297 |
-
left:0;
|
5298 |
-
z-index:999;
|
5299 |
}
|
5300 |
#transparency
|
5301 |
{
|
@@ -5335,7 +4936,7 @@ background-color: #45b5c1 !important;
|
|
5335 |
text-align: center;
|
5336 |
color: #fff !important;
|
5337 |
font-size:16px;
|
5338 |
-
font-weight:
|
5339 |
}
|
5340 |
.button-blue1-middle:hover
|
5341 |
{
|
@@ -5363,7 +4964,7 @@ height:40px;
|
|
5363 |
text-align: center;
|
5364 |
color: #fdfdfd !important;
|
5365 |
font-size:16px;
|
5366 |
-
font-weight:
|
5367 |
padding-top:9px;
|
5368 |
}
|
5369 |
.button-black-middle:hover
|
@@ -5395,7 +4996,7 @@ padding-right: 0px !important;
|
|
5395 |
padding-left: 55px;
|
5396 |
color: #5c656a !important;
|
5397 |
font-size:18px;
|
5398 |
-
font-weight:
|
5399 |
}
|
5400 |
.button-install:hover
|
5401 |
{
|
@@ -5419,7 +5020,7 @@ padding-right: 0px !important;
|
|
5419 |
padding-left: 55px;
|
5420 |
color: #5c656a !important;
|
5421 |
font-size:18px;
|
5422 |
-
font-weight:
|
5423 |
}
|
5424 |
.button-install1:hover
|
5425 |
{
|
@@ -5440,7 +5041,7 @@ height:40px;
|
|
5440 |
text-align: center;
|
5441 |
color: #fdfdfd !important;
|
5442 |
font-size:16px;
|
5443 |
-
font-weight:
|
5444 |
padding-top:9px;
|
5445 |
}
|
5446 |
.button-send-instruct
|
@@ -5451,7 +5052,7 @@ height:40px;
|
|
5451 |
background: #fff url('../img/mail-new.png') no-repeat 97%;
|
5452 |
color: #3c3f40 !important;
|
5453 |
font-size:16px;
|
5454 |
-
font-weight:
|
5455 |
padding-top:8px;
|
5456 |
padding-left: 20px;
|
5457 |
}
|
@@ -5463,7 +5064,7 @@ height:40px;
|
|
5463 |
background: #fff url('../img/back.png') no-repeat 5%;
|
5464 |
color: #3c3f40 !important;
|
5465 |
font-size:16px;
|
5466 |
-
font-weight:
|
5467 |
padding-top:8px;
|
5468 |
padding-left: 42px;
|
5469 |
}
|
@@ -5475,7 +5076,7 @@ height:40px;
|
|
5475 |
background: #fff url('../img/arrow-2.png') no-repeat 92%;
|
5476 |
color: #3c3f40 !important;
|
5477 |
font-size:16px;
|
5478 |
-
font-weight:
|
5479 |
padding-top:8px;
|
5480 |
padding-left: 20px;
|
5481 |
}
|
@@ -5556,7 +5157,7 @@ float: left;
|
|
5556 |
}
|
5557 |
.tooltip-top {
|
5558 |
font-size: 16px;
|
5559 |
-
|
5560 |
color: #ffffff;
|
5561 |
margin-bottom: 10px;
|
5562 |
float: left;
|
@@ -5568,2292 +5169,129 @@ float: left;
|
|
5568 |
font-weight:400;
|
5569 |
}
|
5570 |
@media (min-width: 768px) {
|
5571 |
-
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-13, .col-sm-14, .col-sm-15, .col-sm-16, .col-sm-17, .col-sm-18, .col-sm-19, .col-sm-20, .col-sm-21, .col-sm-22, .col-sm-23, .col-sm-24, .col-sm-25, .col-sm-26, .col-sm-27, .col-sm-28, .col-sm-29, .col-sm-30, .col-sm-31, .col-sm-32, .col-sm-33, .col-sm-34, .col-sm-35, .col-sm-36, .col-sm-37, .col-sm-38, .col-sm-39, .col-sm-40, .col-sm-41, .col-sm-42, .col-sm-43, .col-sm-44, .col-sm-45, .col-sm-46, .col-sm-47, .col-sm-48, .col-sm-49, .col-sm-50, .col-sm-51, .col-sm-52, .col-sm-53, .col-sm-54, .col-sm-55, .col-sm-56, .col-sm-57, .col-sm-58, .col-sm-59 {
|
5572 |
-
float: left;
|
5573 |
-
}
|
5574 |
-
.col-sm-1 {
|
5575 |
-
width: 1.666666666666667%;
|
5576 |
-
}
|
5577 |
-
.col-sm-2 {
|
5578 |
-
width: 3.333333333333333%;
|
5579 |
-
}
|
5580 |
-
.col-sm-3 {
|
5581 |
-
width: 5%;
|
5582 |
-
}
|
5583 |
-
.col-sm-4 {
|
5584 |
-
width: 6.666666666666667%;
|
5585 |
-
}
|
5586 |
-
.col-sm-5 {
|
5587 |
-
width: 8.333333333333333%;
|
5588 |
-
}
|
5589 |
-
.col-sm-6 {
|
5590 |
-
width: 10%;
|
5591 |
-
}
|
5592 |
-
.col-sm-7 {
|
5593 |
-
width: 11.66666666666667%;
|
5594 |
-
}
|
5595 |
-
.col-sm-8 {
|
5596 |
-
width: 13.33333333333333%;
|
5597 |
-
}
|
5598 |
-
.col-sm-9 {
|
5599 |
-
width: 15%;
|
5600 |
-
}
|
5601 |
-
.col-sm-10 {
|
5602 |
-
width: 16.66666666666667%;
|
5603 |
-
}
|
5604 |
-
.col-sm-11 {
|
5605 |
-
width: 18.33333333333333%;
|
5606 |
-
}
|
5607 |
-
.col-sm-12 {
|
5608 |
-
width: 20%;
|
5609 |
-
}
|
5610 |
-
.col-sm-13 {
|
5611 |
-
width: 21.66666666666667%;
|
5612 |
-
}
|
5613 |
-
.col-sm-14 {
|
5614 |
-
width: 23.33333333333333%;
|
5615 |
-
}
|
5616 |
-
.col-sm-15 {
|
5617 |
-
width: 25%;
|
5618 |
-
}
|
5619 |
-
.col-sm-16 {
|
5620 |
-
width: 26.66666666666667%;
|
5621 |
-
}
|
5622 |
-
.col-sm-17 {
|
5623 |
-
width: 28.33333333333333%;
|
5624 |
-
}
|
5625 |
-
.col-sm-18 {
|
5626 |
-
width: 30%;
|
5627 |
-
}
|
5628 |
-
.col-sm-19 {
|
5629 |
-
width: 31.66666666666667%;
|
5630 |
-
}
|
5631 |
-
.col-sm-20 {
|
5632 |
-
width: 33.33333333333333%;
|
5633 |
-
}
|
5634 |
-
.col-sm-21 {
|
5635 |
-
width: 35%;
|
5636 |
-
}
|
5637 |
-
.col-sm-22 {
|
5638 |
-
width: 36.66666666666667%;
|
5639 |
-
}
|
5640 |
-
.col-sm-23 {
|
5641 |
-
width: 38.33333333333333%;
|
5642 |
-
}
|
5643 |
-
.col-sm-24 {
|
5644 |
-
width: 40%;
|
5645 |
-
}
|
5646 |
-
.col-sm-25 {
|
5647 |
-
width: 41.66666666666667%;
|
5648 |
-
}
|
5649 |
-
.col-sm-26 {
|
5650 |
-
width: 43.33333333333333%;
|
5651 |
-
}
|
5652 |
-
.col-sm-27 {
|
5653 |
-
width: 45%;
|
5654 |
-
}
|
5655 |
-
.col-sm-28 {
|
5656 |
-
width: 46.66666666666667%;
|
5657 |
-
}
|
5658 |
-
.col-sm-29 {
|
5659 |
-
width: 48.33333333333333%;
|
5660 |
-
}
|
5661 |
-
.col-sm-30 {
|
5662 |
-
width: 50%;
|
5663 |
-
}
|
5664 |
-
.col-sm-31 {
|
5665 |
-
width: 51.66666666666667%;
|
5666 |
-
}
|
5667 |
-
.col-sm-32 {
|
5668 |
-
width: 53.33333333333333%;
|
5669 |
-
}
|
5670 |
-
.col-sm-33 {
|
5671 |
-
width: 55%;
|
5672 |
-
}
|
5673 |
-
.col-sm-34 {
|
5674 |
-
width: 56.66666666666667%;
|
5675 |
-
}
|
5676 |
-
.col-sm-35 {
|
5677 |
-
width: 58.33333333333333%;
|
5678 |
-
}
|
5679 |
-
.col-sm-36 {
|
5680 |
-
width: 60%;
|
5681 |
-
}
|
5682 |
-
.col-sm-37 {
|
5683 |
-
width: 61.66666666666667%;
|
5684 |
-
}
|
5685 |
-
.col-sm-38 {
|
5686 |
-
width: 63.33333333333333%;
|
5687 |
-
}
|
5688 |
-
.col-sm-39 {
|
5689 |
-
width: 65%;
|
5690 |
-
}
|
5691 |
-
.col-sm-40 {
|
5692 |
-
width: 66.66666666666667%;
|
5693 |
-
}
|
5694 |
-
.col-sm-41 {
|
5695 |
-
width: 68.33333333333333%;
|
5696 |
-
}
|
5697 |
-
.col-sm-42 {
|
5698 |
-
width: 70%;
|
5699 |
-
}
|
5700 |
-
.col-sm-43 {
|
5701 |
-
width: 71.66666666666667%;
|
5702 |
-
}
|
5703 |
-
.col-sm-44 {
|
5704 |
-
width: 73.33333333333333%;
|
5705 |
-
}
|
5706 |
-
.col-sm-45 {
|
5707 |
-
width: 75%;
|
5708 |
-
}
|
5709 |
-
.col-sm-46 {
|
5710 |
-
width: 76.66666666666667%;
|
5711 |
-
}
|
5712 |
-
.col-sm-47 {
|
5713 |
-
width: 78.33333333333333%;
|
5714 |
-
}
|
5715 |
-
.col-sm-48 {
|
5716 |
-
width: 80%;
|
5717 |
-
}
|
5718 |
-
.col-sm-49 {
|
5719 |
-
width: 81.66666666666667%;
|
5720 |
-
}
|
5721 |
-
.col-sm-50 {
|
5722 |
-
width: 83.33333333333333%;
|
5723 |
-
}
|
5724 |
-
.col-sm-51 {
|
5725 |
-
width: 85%;
|
5726 |
-
}
|
5727 |
-
.col-sm-52 {
|
5728 |
-
width: 86.66666666666667%;
|
5729 |
-
}
|
5730 |
-
.col-sm-53 {
|
5731 |
-
width: 88.33333333333333%;
|
5732 |
-
}
|
5733 |
-
.col-sm-54 {
|
5734 |
-
width: 90%;
|
5735 |
-
}
|
5736 |
-
.col-sm-55 {
|
5737 |
-
width: 91.66666666666667%;
|
5738 |
-
}
|
5739 |
-
.col-sm-56 {
|
5740 |
-
width: 93.33333333333333%;
|
5741 |
-
}
|
5742 |
-
.col-sm-57 {
|
5743 |
-
width: 95%;
|
5744 |
-
}
|
5745 |
-
.col-sm-58 {
|
5746 |
-
width: 96.66666666666667%;
|
5747 |
-
}
|
5748 |
-
.col-sm-59 {
|
5749 |
-
width: 98.33333333333333%;
|
5750 |
-
}
|
5751 |
-
.col-sm-60 {
|
5752 |
-
width: 100%;
|
5753 |
-
}
|
5754 |
|
5755 |
-
|
5756 |
-
|
5757 |
-
|
5758 |
-
|
5759 |
-
left: 3.333333333333333%;
|
5760 |
-
}
|
5761 |
-
.col-sm-push-3 {
|
5762 |
-
left: 5%;
|
5763 |
-
}
|
5764 |
-
.col-sm-push-4 {
|
5765 |
-
left: 6.666666666666667%;
|
5766 |
-
}
|
5767 |
-
.col-sm-push-5 {
|
5768 |
-
left: 8.333333333333333%;
|
5769 |
-
}
|
5770 |
-
.col-sm-push-6 {
|
5771 |
-
left: 10%;
|
5772 |
-
}
|
5773 |
-
.col-sm-push-7 {
|
5774 |
-
left: 11.66666666666667%;
|
5775 |
-
}
|
5776 |
-
.col-sm-push-8 {
|
5777 |
-
left: 13.33333333333333%;
|
5778 |
-
}
|
5779 |
-
.col-sm-push-9 {
|
5780 |
-
left: 15%;
|
5781 |
-
}
|
5782 |
-
.col-sm-push-10 {
|
5783 |
-
left: 16.66666666666667%;
|
5784 |
-
}
|
5785 |
-
.col-sm-push-11 {
|
5786 |
-
left: 18.33333333333333%;
|
5787 |
-
}
|
5788 |
-
.col-sm-push-12 {
|
5789 |
-
left: 20%;
|
5790 |
-
}
|
5791 |
-
.col-sm-push-13 {
|
5792 |
-
left: 21.66666666666667%;
|
5793 |
-
}
|
5794 |
-
.col-sm-push-14 {
|
5795 |
-
left: 23.33333333333333%;
|
5796 |
-
}
|
5797 |
-
.col-sm-push-15 {
|
5798 |
-
left: 25%;
|
5799 |
-
}
|
5800 |
-
.col-sm-push-16 {
|
5801 |
-
left: 26.66666666666667%;
|
5802 |
-
}
|
5803 |
-
.col-sm-push-17 {
|
5804 |
-
left: 28.33333333333333%;
|
5805 |
-
}
|
5806 |
-
.col-sm-push-18 {
|
5807 |
-
left: 30%;
|
5808 |
-
}
|
5809 |
-
.col-sm-push-19 {
|
5810 |
-
left: 31.66666666666667%;
|
5811 |
-
}
|
5812 |
-
.col-sm-push-20 {
|
5813 |
-
left: 33.33333333333333%;
|
5814 |
-
}
|
5815 |
-
.col-sm-push-21 {
|
5816 |
-
left: 35%;
|
5817 |
-
}
|
5818 |
-
.col-sm-push-22 {
|
5819 |
-
left: 36.66666666666667%;
|
5820 |
-
}
|
5821 |
-
.col-sm-push-23 {
|
5822 |
-
left: 38.33333333333333%;
|
5823 |
-
}
|
5824 |
-
.col-sm-push-24 {
|
5825 |
-
left: 40%;
|
5826 |
-
}
|
5827 |
-
.col-sm-push-25 {
|
5828 |
-
left: 41.66666666666667%;
|
5829 |
-
}
|
5830 |
-
.col-sm-push-26 {
|
5831 |
-
left: 43.33333333333333%;
|
5832 |
-
}
|
5833 |
-
.col-sm-push-27 {
|
5834 |
-
left: 45%;
|
5835 |
-
}
|
5836 |
-
.col-sm-push-28 {
|
5837 |
-
left: 46.66666666666667%;
|
5838 |
-
}
|
5839 |
-
.col-sm-push-29 {
|
5840 |
-
left: 48.33333333333333%;
|
5841 |
-
}
|
5842 |
-
.col-sm-push-30 {
|
5843 |
-
left: 50%;
|
5844 |
-
}
|
5845 |
-
.col-sm-push-31 {
|
5846 |
-
left: 51.66666666666667%;
|
5847 |
-
}
|
5848 |
-
.col-sm-push-32 {
|
5849 |
-
left: 53.33333333333333%;
|
5850 |
-
}
|
5851 |
-
.col-sm-push-33 {
|
5852 |
-
left: 55%;
|
5853 |
-
}
|
5854 |
-
.col-sm-push-34 {
|
5855 |
-
left: 56.66666666666667%;
|
5856 |
-
}
|
5857 |
-
.col-sm-push-35 {
|
5858 |
-
left: 58.33333333333333%;
|
5859 |
-
}
|
5860 |
-
.col-sm-push-36 {
|
5861 |
-
left: 60%;
|
5862 |
}
|
5863 |
-
.
|
5864 |
-
|
|
|
5865 |
}
|
5866 |
-
.
|
5867 |
-
|
|
|
5868 |
}
|
5869 |
-
.
|
5870 |
-
|
|
|
|
|
5871 |
}
|
5872 |
-
.
|
5873 |
-
|
|
|
|
|
5874 |
}
|
5875 |
-
.
|
5876 |
-
|
|
|
|
|
5877 |
}
|
5878 |
-
.
|
5879 |
-
|
|
|
5880 |
}
|
5881 |
-
.
|
5882 |
-
|
|
|
5883 |
}
|
5884 |
-
.
|
5885 |
-
|
|
|
5886 |
}
|
5887 |
-
.
|
5888 |
-
|
|
|
5889 |
}
|
5890 |
-
|
5891 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
5892 |
}
|
5893 |
-
.
|
5894 |
-
|
|
|
|
|
5895 |
}
|
5896 |
-
.
|
5897 |
-
|
|
|
|
|
5898 |
}
|
5899 |
-
.
|
5900 |
-
|
|
|
|
|
5901 |
}
|
5902 |
-
.
|
5903 |
-
|
|
|
|
|
5904 |
}
|
5905 |
-
.
|
5906 |
-
|
|
|
|
|
5907 |
}
|
5908 |
-
.
|
5909 |
-
|
|
|
|
|
5910 |
}
|
5911 |
-
.
|
5912 |
-
|
|
|
|
|
5913 |
}
|
5914 |
-
.
|
5915 |
-
|
|
|
|
|
5916 |
}
|
5917 |
-
.
|
5918 |
-
|
|
|
|
|
5919 |
}
|
5920 |
-
.
|
5921 |
-
|
|
|
5922 |
}
|
5923 |
-
.
|
5924 |
-
|
5925 |
}
|
5926 |
-
.
|
5927 |
-
|
5928 |
}
|
5929 |
-
|
5930 |
-
|
|
|
|
|
|
|
|
|
5931 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5932 |
|
5933 |
-
.col-sm-pull-1 {
|
5934 |
-
right: 1.666666666666667%;
|
5935 |
-
}
|
5936 |
-
.col-sm-pull-2 {
|
5937 |
-
right: 3.333333333333333%;
|
5938 |
-
}
|
5939 |
-
.col-sm-pull-3 {
|
5940 |
-
right: 5%;
|
5941 |
-
}
|
5942 |
-
.col-sm-pull-4 {
|
5943 |
-
right: 6.666666666666667%;
|
5944 |
-
}
|
5945 |
-
.col-sm-pull-5 {
|
5946 |
-
right: 8.333333333333333%;
|
5947 |
-
}
|
5948 |
-
.col-sm-pull-6 {
|
5949 |
-
right: 10%;
|
5950 |
-
}
|
5951 |
-
.col-sm-pull-7 {
|
5952 |
-
right: 11.66666666666667%;
|
5953 |
-
}
|
5954 |
-
.col-sm-pull-8 {
|
5955 |
-
right: 13.33333333333333%;
|
5956 |
-
}
|
5957 |
-
.col-sm-pull-9 {
|
5958 |
-
right: 15%;
|
5959 |
-
}
|
5960 |
-
.col-sm-pull-10 {
|
5961 |
-
right: 16.66666666666667%;
|
5962 |
-
}
|
5963 |
-
.col-sm-pull-11 {
|
5964 |
-
right: 18.33333333333333%;
|
5965 |
-
}
|
5966 |
-
.col-sm-pull-12 {
|
5967 |
-
right: 20%;
|
5968 |
-
}
|
5969 |
-
.col-sm-pull-13 {
|
5970 |
-
right: 21.66666666666667%;
|
5971 |
-
}
|
5972 |
-
.col-sm-pull-14 {
|
5973 |
-
right: 23.33333333333333%;
|
5974 |
-
}
|
5975 |
-
.col-sm-pull-15 {
|
5976 |
-
right: 25%;
|
5977 |
-
}
|
5978 |
-
.col-sm-pull-16 {
|
5979 |
-
right: 26.66666666666667%;
|
5980 |
-
}
|
5981 |
-
.col-sm-pull-17 {
|
5982 |
-
right: 28.33333333333333%;
|
5983 |
-
}
|
5984 |
-
.col-sm-pull-18 {
|
5985 |
-
right: 30%;
|
5986 |
-
}
|
5987 |
-
.col-sm-pull-19 {
|
5988 |
-
right: 31.66666666666667%;
|
5989 |
-
}
|
5990 |
-
.col-sm-pull-20 {
|
5991 |
-
right: 33.33333333333333%;
|
5992 |
-
}
|
5993 |
-
.col-sm-pull-21 {
|
5994 |
-
right: 35%;
|
5995 |
-
}
|
5996 |
-
.col-sm-pull-22 {
|
5997 |
-
right: 36.66666666666667%;
|
5998 |
-
}
|
5999 |
-
.col-sm-pull-23 {
|
6000 |
-
right: 38.33333333333333%;
|
6001 |
-
}
|
6002 |
-
.col-sm-pull-24 {
|
6003 |
-
right: 40%;
|
6004 |
-
}
|
6005 |
-
.col-sm-pull-25 {
|
6006 |
-
right: 41.66666666666667%;
|
6007 |
-
}
|
6008 |
-
.col-sm-pull-26 {
|
6009 |
-
right: 43.33333333333333%;
|
6010 |
-
}
|
6011 |
-
.col-sm-pull-27 {
|
6012 |
-
right: 45%;
|
6013 |
-
}
|
6014 |
-
.col-sm-pull-28 {
|
6015 |
-
right: 46.66666666666667%;
|
6016 |
-
}
|
6017 |
-
.col-sm-pull-29 {
|
6018 |
-
right: 48.33333333333333%;
|
6019 |
-
}
|
6020 |
-
.col-sm-pull-30 {
|
6021 |
-
right: 50%;
|
6022 |
-
}
|
6023 |
-
.col-sm-pull-31 {
|
6024 |
-
right: 51.66666666666667%;
|
6025 |
-
}
|
6026 |
-
.col-sm-pull-32 {
|
6027 |
-
right: 53.33333333333333%;
|
6028 |
-
}
|
6029 |
-
.col-sm-pull-33 {
|
6030 |
-
right: 55%;
|
6031 |
-
}
|
6032 |
-
.col-sm-pull-34 {
|
6033 |
-
right: 56.66666666666667%;
|
6034 |
-
}
|
6035 |
-
.col-sm-pull-35 {
|
6036 |
-
right: 58.33333333333333%;
|
6037 |
-
}
|
6038 |
-
.col-sm-pull-36 {
|
6039 |
-
right: 60%;
|
6040 |
-
}
|
6041 |
-
.col-sm-pull-37 {
|
6042 |
-
right: 61.66666666666667%;
|
6043 |
-
}
|
6044 |
-
.col-sm-pull-38 {
|
6045 |
-
right: 63.33333333333333%;
|
6046 |
-
}
|
6047 |
-
.col-sm-pull-39 {
|
6048 |
-
right: 65%;
|
6049 |
-
}
|
6050 |
-
.col-sm-pull-40 {
|
6051 |
-
right: 66.66666666666667%;
|
6052 |
-
}
|
6053 |
-
.col-sm-pull-41 {
|
6054 |
-
right: 68.33333333333333%;
|
6055 |
-
}
|
6056 |
-
.col-sm-pull-42 {
|
6057 |
-
right: 70%;
|
6058 |
-
}
|
6059 |
-
.col-sm-pull-43 {
|
6060 |
-
right: 71.66666666666667%;
|
6061 |
-
}
|
6062 |
-
.col-sm-pull-44 {
|
6063 |
-
right: 73.33333333333333%;
|
6064 |
-
}
|
6065 |
-
.col-sm-pull-45 {
|
6066 |
-
right: 75%;
|
6067 |
-
}
|
6068 |
-
.col-sm-pull-46 {
|
6069 |
-
right: 76.66666666666667%;
|
6070 |
-
}
|
6071 |
-
.col-sm-pull-47 {
|
6072 |
-
right: 78.33333333333333%;
|
6073 |
-
}
|
6074 |
-
.col-sm-pull-48 {
|
6075 |
-
right: 80%;
|
6076 |
-
}
|
6077 |
-
.col-sm-pull-49 {
|
6078 |
-
right: 81.66666666666667%;
|
6079 |
-
}
|
6080 |
-
.col-sm-pull-50 {
|
6081 |
-
right: 83.33333333333333%;
|
6082 |
-
}
|
6083 |
-
.col-sm-pull-51 {
|
6084 |
-
right: 85%;
|
6085 |
-
}
|
6086 |
-
.col-sm-pull-52 {
|
6087 |
-
right: 86.66666666666667%;
|
6088 |
-
}
|
6089 |
-
.col-sm-pull-53 {
|
6090 |
-
right: 88.33333333333333%;
|
6091 |
-
}
|
6092 |
-
.col-sm-pull-54 {
|
6093 |
-
right: 90%;
|
6094 |
-
}
|
6095 |
-
.col-sm-pull-55 {
|
6096 |
-
right: 91.66666666666667%;
|
6097 |
-
}
|
6098 |
-
.col-sm-pull-56 {
|
6099 |
-
right: 93.33333333333333%;
|
6100 |
-
}
|
6101 |
-
.col-sm-pull-57 {
|
6102 |
-
right: 95%;
|
6103 |
-
}
|
6104 |
-
.col-sm-pull-58 {
|
6105 |
-
right: 96.66666666666667%;
|
6106 |
-
}
|
6107 |
-
.col-sm-pull-59 {
|
6108 |
-
right: 98.33333333333333%;
|
6109 |
-
}
|
6110 |
-
|
6111 |
-
.col-sm-offset-1 {
|
6112 |
-
margin-left: 1.666666666666667%;
|
6113 |
-
}
|
6114 |
-
.col-sm-offset-2 {
|
6115 |
-
margin-left: 3.333333333333333%;
|
6116 |
-
}
|
6117 |
-
.col-sm-offset-3 {
|
6118 |
-
margin-left: 5%;
|
6119 |
-
}
|
6120 |
-
.col-sm-offset-4 {
|
6121 |
-
margin-left: 6.666666666666667%;
|
6122 |
-
}
|
6123 |
-
.col-sm-offset-5 {
|
6124 |
-
margin-left: 8.333333333333333%;
|
6125 |
-
}
|
6126 |
-
.col-sm-offset-6 {
|
6127 |
-
margin-left: 10%;
|
6128 |
-
}
|
6129 |
-
.col-sm-offset-7 {
|
6130 |
-
margin-left: 11.66666666666667%;
|
6131 |
-
}
|
6132 |
-
.col-sm-offset-8 {
|
6133 |
-
margin-left: 13.33333333333333%;
|
6134 |
-
}
|
6135 |
-
.col-sm-offset-9 {
|
6136 |
-
margin-left: 15%;
|
6137 |
-
}
|
6138 |
-
.col-sm-offset-10 {
|
6139 |
-
margin-left: 16.66666666666667%;
|
6140 |
-
}
|
6141 |
-
.col-sm-offset-11 {
|
6142 |
-
margin-left: 18.33333333333333%;
|
6143 |
-
}
|
6144 |
-
.col-sm-offset-12 {
|
6145 |
-
margin-left: 20%;
|
6146 |
-
}
|
6147 |
-
.col-sm-offset-13 {
|
6148 |
-
margin-left: 21.66666666666667%;
|
6149 |
-
}
|
6150 |
-
.col-sm-offset-14 {
|
6151 |
-
margin-left: 23.33333333333333%;
|
6152 |
-
}
|
6153 |
-
.col-sm-offset-15 {
|
6154 |
-
margin-left: 25%;
|
6155 |
-
}
|
6156 |
-
.col-sm-offset-16 {
|
6157 |
-
margin-left: 26.66666666666667%;
|
6158 |
-
}
|
6159 |
-
.col-sm-offset-17 {
|
6160 |
-
margin-left: 28.33333333333333%;
|
6161 |
-
}
|
6162 |
-
.col-sm-offset-18 {
|
6163 |
-
margin-left: 30%;
|
6164 |
-
}
|
6165 |
-
.col-sm-offset-19 {
|
6166 |
-
margin-left: 31.66666666666667%;
|
6167 |
-
}
|
6168 |
-
.col-sm-offset-20 {
|
6169 |
-
margin-left: 33.33333333333333%;
|
6170 |
-
}
|
6171 |
-
.col-sm-offset-21 {
|
6172 |
-
margin-left: 35%;
|
6173 |
-
}
|
6174 |
-
.col-sm-offset-22 {
|
6175 |
-
margin-left: 36.66666666666667%;
|
6176 |
-
}
|
6177 |
-
.col-sm-offset-23 {
|
6178 |
-
margin-left: 38.33333333333333%;
|
6179 |
-
}
|
6180 |
-
.col-sm-offset-24 {
|
6181 |
-
margin-left: 40%;
|
6182 |
-
}
|
6183 |
-
.col-sm-offset-25 {
|
6184 |
-
margin-left: 41.66666666666667%;
|
6185 |
-
}
|
6186 |
-
.col-sm-offset-26 {
|
6187 |
-
margin-left: 43.33333333333333%;
|
6188 |
-
}
|
6189 |
-
.col-sm-offset-27 {
|
6190 |
-
margin-left: 45%;
|
6191 |
-
}
|
6192 |
-
.col-sm-offset-28 {
|
6193 |
-
margin-left: 46.66666666666667%;
|
6194 |
-
}
|
6195 |
-
.col-sm-offset-29 {
|
6196 |
-
margin-left: 48.33333333333333%;
|
6197 |
-
}
|
6198 |
-
.col-sm-offset-30 {
|
6199 |
-
margin-left: 50%;
|
6200 |
-
}
|
6201 |
-
.col-sm-offset-31 {
|
6202 |
-
margin-left: 51.66666666666667%;
|
6203 |
-
}
|
6204 |
-
.col-sm-offset-32 {
|
6205 |
-
margin-left: 53.33333333333333%;
|
6206 |
-
}
|
6207 |
-
.col-sm-offset-33 {
|
6208 |
-
margin-left: 55%;
|
6209 |
-
}
|
6210 |
-
.col-sm-offset-34 {
|
6211 |
-
margin-left: 56.66666666666667%;
|
6212 |
-
}
|
6213 |
-
.col-sm-offset-35 {
|
6214 |
-
margin-left: 58.33333333333333%;
|
6215 |
-
}
|
6216 |
-
.col-sm-offset-36 {
|
6217 |
-
margin-left: 60%;
|
6218 |
-
}
|
6219 |
-
.col-sm-offset-37 {
|
6220 |
-
margin-left: 61.66666666666667%;
|
6221 |
-
}
|
6222 |
-
.col-sm-offset-38 {
|
6223 |
-
margin-left: 63.33333333333333%;
|
6224 |
-
}
|
6225 |
-
.col-sm-offset-39 {
|
6226 |
-
margin-left: 65%;
|
6227 |
-
}
|
6228 |
-
.col-sm-offset-40 {
|
6229 |
-
margin-left: 66.66666666666667%;
|
6230 |
-
}
|
6231 |
-
.col-sm-offset-41 {
|
6232 |
-
margin-left: 68.33333333333333%;
|
6233 |
-
}
|
6234 |
-
.col-sm-offset-42 {
|
6235 |
-
margin-left: 70%;
|
6236 |
-
}
|
6237 |
-
.col-sm-offset-43 {
|
6238 |
-
margin-left: 71.66666666666667%;
|
6239 |
-
}
|
6240 |
-
.col-sm-offset-44 {
|
6241 |
-
margin-left: 73.33333333333333%;
|
6242 |
-
}
|
6243 |
-
.col-sm-offset-45 {
|
6244 |
-
margin-left: 75%;
|
6245 |
-
}
|
6246 |
-
.col-sm-offset-46 {
|
6247 |
-
margin-left: 76.66666666666667%;
|
6248 |
-
}
|
6249 |
-
.col-sm-offset-47 {
|
6250 |
-
margin-left: 78.33333333333333%;
|
6251 |
-
}
|
6252 |
-
.col-sm-offset-48 {
|
6253 |
-
margin-left: 80%;
|
6254 |
-
}
|
6255 |
-
.col-sm-offset-49 {
|
6256 |
-
margin-left: 81.66666666666667%;
|
6257 |
-
}
|
6258 |
-
.col-sm-offset-50 {
|
6259 |
-
margin-left: 83.33333333333333%;
|
6260 |
-
}
|
6261 |
-
.col-sm-offset-51 {
|
6262 |
-
margin-left: 85%;
|
6263 |
-
}
|
6264 |
-
.col-sm-offset-52 {
|
6265 |
-
margin-left: 86.66666666666667%;
|
6266 |
-
}
|
6267 |
-
.col-sm-offset-53 {
|
6268 |
-
margin-left: 88.33333333333333%;
|
6269 |
-
}
|
6270 |
-
.col-sm-offset-54 {
|
6271 |
-
margin-left: 90%;
|
6272 |
-
}
|
6273 |
-
.col-sm-offset-55 {
|
6274 |
-
margin-left: 91.66666666666667%;
|
6275 |
-
}
|
6276 |
-
.col-sm-offset-56 {
|
6277 |
-
margin-left: 93.33333333333333%;
|
6278 |
-
}
|
6279 |
-
.col-sm-offset-57 {
|
6280 |
-
margin-left: 95%;
|
6281 |
-
}
|
6282 |
-
.col-sm-offset-58 {
|
6283 |
-
margin-left: 96.66666666666667%;
|
6284 |
-
}
|
6285 |
-
.col-sm-offset-59 {
|
6286 |
-
margin-left: 98.33333333333333%;
|
6287 |
-
}
|
6288 |
-
|
6289 |
-
/*common tablet */
|
6290 |
-
.fixed-width-520 {
|
6291 |
-
margin: 0px auto;
|
6292 |
-
float: none;
|
6293 |
-
}
|
6294 |
-
.fixed-width-580 {
|
6295 |
-
margin: 0px auto;
|
6296 |
-
float: none;
|
6297 |
-
}
|
6298 |
-
.fixed-width-680 {
|
6299 |
-
margin: 0px auto;
|
6300 |
-
float: none;
|
6301 |
-
}
|
6302 |
-
.fixed-width-700 {
|
6303 |
-
margin: 0px auto;
|
6304 |
-
float: none;
|
6305 |
-
width: 700px !important;
|
6306 |
-
}
|
6307 |
-
.fixed-width-730 {
|
6308 |
-
margin: 0px auto;
|
6309 |
-
float: none;
|
6310 |
-
width: 730px !important;
|
6311 |
-
}
|
6312 |
-
.fixed-width-800 {
|
6313 |
-
margin: 0px auto;
|
6314 |
-
float: none;
|
6315 |
-
width: 800px !important;
|
6316 |
-
}
|
6317 |
-
.fixed-width-940 {
|
6318 |
-
margin: 0px auto;
|
6319 |
-
float: none;
|
6320 |
-
}
|
6321 |
-
.fixed-width-980 {
|
6322 |
-
margin: 0px auto;
|
6323 |
-
float: none;
|
6324 |
-
}
|
6325 |
-
.fixed-width-1080 {
|
6326 |
-
margin: 0px auto;
|
6327 |
-
float: none;
|
6328 |
-
}
|
6329 |
-
.fixed-width-1140 {
|
6330 |
-
margin: 0px auto;
|
6331 |
-
float: none;
|
6332 |
-
}
|
6333 |
-
|
6334 |
-
}
|
6335 |
-
@media (min-width: 980px) {
|
6336 |
-
|
6337 |
-
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md-13, .col-md-14, .col-md-15, .col-md-16, .col-md-17, .col-md-18, .col-md-19, .col-md-20, .col-md-21, .col-md-22, .col-md-23, .col-md-24, .col-md-25, .col-md-26, .col-md-27, .col-md-28, .col-md-29, .col-md-30, .col-md-31, .col-md-32, .col-md-33, .col-md-34, .col-md-35, .col-md-36, .col-md-37, .col-md-38, .col-md-39, .col-md-40, .col-md-41, .col-md-42, .col-md-43, .col-md-44, .col-md-45, .col-md-46, .col-md-47, .col-md-48, .col-md-49, .col-md-50, .col-md-51, .col-md-52, .col-md-53, .col-md-54, .col-md-55, .col-md-56, .col-md-57, .col-md-58, .col-md-59 {
|
6338 |
-
float: left;
|
6339 |
-
}
|
6340 |
-
.col-md-1 {
|
6341 |
-
width: 1.666666666666667%;
|
6342 |
-
}
|
6343 |
-
.col-md-2 {
|
6344 |
-
width: 3.333333333333333%;
|
6345 |
-
}
|
6346 |
-
.col-md-3 {
|
6347 |
-
width: 5%;
|
6348 |
-
}
|
6349 |
-
.col-md-4 {
|
6350 |
-
width: 6.666666666666667%;
|
6351 |
-
}
|
6352 |
-
.col-md-5 {
|
6353 |
-
width: 8.333333333333333%;
|
6354 |
-
}
|
6355 |
-
.col-md-6 {
|
6356 |
-
width: 10%;
|
6357 |
-
}
|
6358 |
-
.col-md-7 {
|
6359 |
-
width: 11.66666666666667%;
|
6360 |
-
}
|
6361 |
-
.col-md-8 {
|
6362 |
-
width: 13.33333333333333%;
|
6363 |
-
}
|
6364 |
-
.col-md-9 {
|
6365 |
-
width: 15%;
|
6366 |
-
}
|
6367 |
-
.col-md-10 {
|
6368 |
-
width: 16.66666666666667%;
|
6369 |
-
}
|
6370 |
-
.col-md-11 {
|
6371 |
-
width: 18.33333333333333%;
|
6372 |
-
}
|
6373 |
-
.col-md-12 {
|
6374 |
-
width: 20%;
|
6375 |
-
}
|
6376 |
-
.col-md-13 {
|
6377 |
-
width: 21.66666666666667%;
|
6378 |
-
}
|
6379 |
-
.col-md-14 {
|
6380 |
-
width: 23.33333333333333%;
|
6381 |
-
}
|
6382 |
-
.col-md-15 {
|
6383 |
-
width: 25%;
|
6384 |
-
}
|
6385 |
-
.col-md-16 {
|
6386 |
-
width: 26.66666666666667%;
|
6387 |
-
}
|
6388 |
-
.col-md-17 {
|
6389 |
-
width: 28.33333333333333%;
|
6390 |
-
}
|
6391 |
-
.col-md-18 {
|
6392 |
-
width: 30%;
|
6393 |
-
}
|
6394 |
-
.col-md-19 {
|
6395 |
-
width: 31.66666666666667%;
|
6396 |
-
}
|
6397 |
-
.col-md-20 {
|
6398 |
-
width: 33.33333333333333%;
|
6399 |
-
}
|
6400 |
-
.col-md-21 {
|
6401 |
-
width: 35%;
|
6402 |
-
}
|
6403 |
-
.col-md-22 {
|
6404 |
-
width: 36.66666666666667%;
|
6405 |
-
}
|
6406 |
-
.col-md-23 {
|
6407 |
-
width: 38.33333333333333%;
|
6408 |
-
}
|
6409 |
-
.col-md-24 {
|
6410 |
-
width: 40%;
|
6411 |
-
}
|
6412 |
-
.col-md-25 {
|
6413 |
-
width: 41.66666666666667%;
|
6414 |
-
}
|
6415 |
-
.col-md-26 {
|
6416 |
-
width: 43.33333333333333%;
|
6417 |
-
}
|
6418 |
-
.col-md-27 {
|
6419 |
-
width: 45%;
|
6420 |
-
}
|
6421 |
-
.col-md-28 {
|
6422 |
-
width: 46.66666666666667%;
|
6423 |
-
}
|
6424 |
-
.col-md-29 {
|
6425 |
-
width: 48.33333333333333%;
|
6426 |
-
}
|
6427 |
-
.col-md-30 {
|
6428 |
-
width: 50%;
|
6429 |
-
}
|
6430 |
-
.col-md-31 {
|
6431 |
-
width: 51.66666666666667%;
|
6432 |
-
}
|
6433 |
-
.col-md-32 {
|
6434 |
-
width: 53.33333333333333%;
|
6435 |
-
}
|
6436 |
-
.col-md-33 {
|
6437 |
-
width: 55%;
|
6438 |
-
}
|
6439 |
-
.col-md-34 {
|
6440 |
-
width: 56.66666666666667%;
|
6441 |
-
}
|
6442 |
-
.col-md-35 {
|
6443 |
-
width: 58.33333333333333%;
|
6444 |
-
}
|
6445 |
-
.col-md-36 {
|
6446 |
-
width: 60%;
|
6447 |
-
}
|
6448 |
-
.col-md-37 {
|
6449 |
-
width: 61.66666666666667%;
|
6450 |
-
}
|
6451 |
-
.col-md-38 {
|
6452 |
-
width: 63.33333333333333%;
|
6453 |
-
}
|
6454 |
-
.col-md-39 {
|
6455 |
-
width: 65%;
|
6456 |
-
}
|
6457 |
-
.col-md-40 {
|
6458 |
-
width: 66.66666666666667%;
|
6459 |
-
}
|
6460 |
-
.col-md-41 {
|
6461 |
-
width: 68.33333333333333%;
|
6462 |
-
}
|
6463 |
-
.col-md-42 {
|
6464 |
-
width: 70%;
|
6465 |
-
}
|
6466 |
-
.col-md-43 {
|
6467 |
-
width: 71.66666666666667%;
|
6468 |
-
}
|
6469 |
-
.col-md-44 {
|
6470 |
-
width: 73.33333333333333%;
|
6471 |
-
}
|
6472 |
-
.col-md-45 {
|
6473 |
-
width: 75%;
|
6474 |
-
}
|
6475 |
-
.col-md-46 {
|
6476 |
-
width: 76.66666666666667%;
|
6477 |
-
}
|
6478 |
-
.col-md-47 {
|
6479 |
-
width: 78.33333333333333%;
|
6480 |
-
}
|
6481 |
-
.col-md-48 {
|
6482 |
-
width: 80%;
|
6483 |
-
}
|
6484 |
-
.col-md-49 {
|
6485 |
-
width: 81.66666666666667%;
|
6486 |
-
}
|
6487 |
-
.col-md-50 {
|
6488 |
-
width: 83.33333333333333%;
|
6489 |
-
}
|
6490 |
-
.col-md-51 {
|
6491 |
-
width: 85%;
|
6492 |
-
}
|
6493 |
-
.col-md-52 {
|
6494 |
-
width: 86.66666666666667%;
|
6495 |
-
}
|
6496 |
-
.col-md-53 {
|
6497 |
-
width: 88.33333333333333%;
|
6498 |
-
}
|
6499 |
-
.col-md-54 {
|
6500 |
-
width: 90%;
|
6501 |
-
}
|
6502 |
-
.col-md-55 {
|
6503 |
-
width: 91.66666666666667%;
|
6504 |
-
}
|
6505 |
-
.col-md-56 {
|
6506 |
-
width: 93.33333333333333%;
|
6507 |
-
}
|
6508 |
-
.col-md-57 {
|
6509 |
-
width: 95%;
|
6510 |
-
}
|
6511 |
-
.col-md-58 {
|
6512 |
-
width: 96.66666666666667%;
|
6513 |
-
}
|
6514 |
-
.col-md-59 {
|
6515 |
-
width: 98.33333333333333%;
|
6516 |
-
}
|
6517 |
-
.col-md-60 {
|
6518 |
-
width: 100%;
|
6519 |
-
}
|
6520 |
-
.col-md-push-0 {
|
6521 |
-
left: auto
|
6522 |
-
}
|
6523 |
-
.col-md-push-1 {
|
6524 |
-
left: 1.666666666666667%;
|
6525 |
-
}
|
6526 |
-
.col-md-push-2 {
|
6527 |
-
left: 3.333333333333333%;
|
6528 |
-
}
|
6529 |
-
.col-md-push-3 {
|
6530 |
-
left: 5%;
|
6531 |
-
}
|
6532 |
-
.col-md-push-4 {
|
6533 |
-
left: 6.666666666666667%;
|
6534 |
-
}
|
6535 |
-
.col-md-push-5 {
|
6536 |
-
left: 8.333333333333333%;
|
6537 |
-
}
|
6538 |
-
.col-md-push-6 {
|
6539 |
-
left: 10%;
|
6540 |
-
}
|
6541 |
-
.col-md-push-7 {
|
6542 |
-
left: 11.66666666666667%;
|
6543 |
-
}
|
6544 |
-
.col-md-push-8 {
|
6545 |
-
left: 13.33333333333333%;
|
6546 |
-
}
|
6547 |
-
.col-md-push-9 {
|
6548 |
-
left: 15%;
|
6549 |
-
}
|
6550 |
-
.col-md-push-10 {
|
6551 |
-
left: 16.66666666666667%;
|
6552 |
-
}
|
6553 |
-
.col-md-push-11 {
|
6554 |
-
left: 18.33333333333333%;
|
6555 |
-
}
|
6556 |
-
.col-md-push-12 {
|
6557 |
-
left: 20%;
|
6558 |
-
}
|
6559 |
-
.col-md-push-13 {
|
6560 |
-
left: 21.66666666666667%;
|
6561 |
-
}
|
6562 |
-
.col-md-push-14 {
|
6563 |
-
left: 23.33333333333333%;
|
6564 |
-
}
|
6565 |
-
.col-md-push-15 {
|
6566 |
-
left: 25%;
|
6567 |
-
}
|
6568 |
-
.col-md-push-16 {
|
6569 |
-
left: 26.66666666666667%;
|
6570 |
-
}
|
6571 |
-
.col-md-push-17 {
|
6572 |
-
left: 28.33333333333333%;
|
6573 |
-
}
|
6574 |
-
.col-md-push-18 {
|
6575 |
-
left: 30%;
|
6576 |
-
}
|
6577 |
-
.col-md-push-19 {
|
6578 |
-
left: 31.66666666666667%;
|
6579 |
-
}
|
6580 |
-
.col-md-push-20 {
|
6581 |
-
left: 33.33333333333333%;
|
6582 |
-
}
|
6583 |
-
.col-md-push-21 {
|
6584 |
-
left: 35%;
|
6585 |
-
}
|
6586 |
-
.col-md-push-22 {
|
6587 |
-
left: 36.66666666666667%;
|
6588 |
-
}
|
6589 |
-
.col-md-push-23 {
|
6590 |
-
left: 38.33333333333333%;
|
6591 |
-
}
|
6592 |
-
.col-md-push-24 {
|
6593 |
-
left: 40%;
|
6594 |
-
}
|
6595 |
-
.col-md-push-25 {
|
6596 |
-
left: 41.66666666666667%;
|
6597 |
-
}
|
6598 |
-
.col-md-push-26 {
|
6599 |
-
left: 43.33333333333333%;
|
6600 |
-
}
|
6601 |
-
.col-md-push-27 {
|
6602 |
-
left: 45%;
|
6603 |
-
}
|
6604 |
-
.col-md-push-28 {
|
6605 |
-
left: 46.66666666666667%;
|
6606 |
-
}
|
6607 |
-
.col-md-push-29 {
|
6608 |
-
left: 48.33333333333333%;
|
6609 |
-
}
|
6610 |
-
.col-md-push-30 {
|
6611 |
-
left: 50%;
|
6612 |
-
}
|
6613 |
-
.col-md-push-31 {
|
6614 |
-
left: 51.66666666666667%;
|
6615 |
-
}
|
6616 |
-
.col-md-push-32 {
|
6617 |
-
left: 53.33333333333333%;
|
6618 |
-
}
|
6619 |
-
.col-md-push-33 {
|
6620 |
-
left: 55%;
|
6621 |
-
}
|
6622 |
-
.col-md-push-34 {
|
6623 |
-
left: 56.66666666666667%;
|
6624 |
-
}
|
6625 |
-
.col-md-push-35 {
|
6626 |
-
left: 58.33333333333333%;
|
6627 |
-
}
|
6628 |
-
.col-md-push-36 {
|
6629 |
-
left: 60%;
|
6630 |
-
}
|
6631 |
-
.col-md-push-37 {
|
6632 |
-
left: 61.66666666666667%;
|
6633 |
-
}
|
6634 |
-
.col-md-push-38 {
|
6635 |
-
left: 63.33333333333333%;
|
6636 |
-
}
|
6637 |
-
.col-md-push-39 {
|
6638 |
-
left: 65%;
|
6639 |
-
}
|
6640 |
-
.col-md-push-40 {
|
6641 |
-
left: 66.66666666666667%;
|
6642 |
-
}
|
6643 |
-
.col-md-push-41 {
|
6644 |
-
left: 68.33333333333333%;
|
6645 |
-
}
|
6646 |
-
.col-md-push-42 {
|
6647 |
-
left: 70%;
|
6648 |
-
}
|
6649 |
-
.col-md-push-43 {
|
6650 |
-
left: 71.66666666666667%;
|
6651 |
-
}
|
6652 |
-
.col-md-push-44 {
|
6653 |
-
left: 73.33333333333333%;
|
6654 |
-
}
|
6655 |
-
.col-md-push-45 {
|
6656 |
-
left: 75%;
|
6657 |
-
}
|
6658 |
-
.col-md-push-46 {
|
6659 |
-
left: 76.66666666666667%;
|
6660 |
-
}
|
6661 |
-
.col-md-push-47 {
|
6662 |
-
left: 78.33333333333333%;
|
6663 |
-
}
|
6664 |
-
.col-md-push-48 {
|
6665 |
-
left: 80%;
|
6666 |
-
}
|
6667 |
-
.col-md-push-49 {
|
6668 |
-
left: 81.66666666666667%;
|
6669 |
-
}
|
6670 |
-
.col-md-push-50 {
|
6671 |
-
left: 83.33333333333333%;
|
6672 |
-
}
|
6673 |
-
.col-md-push-51 {
|
6674 |
-
left: 85%;
|
6675 |
-
}
|
6676 |
-
.col-md-push-52 {
|
6677 |
-
left: 86.66666666666667%;
|
6678 |
-
}
|
6679 |
-
.col-md-push-53 {
|
6680 |
-
left: 88.33333333333333%;
|
6681 |
-
}
|
6682 |
-
.col-md-push-54 {
|
6683 |
-
left: 90%;
|
6684 |
-
}
|
6685 |
-
.col-md-push-55 {
|
6686 |
-
left: 91.66666666666667%;
|
6687 |
-
}
|
6688 |
-
.col-md-push-56 {
|
6689 |
-
left: 93.33333333333333%;
|
6690 |
-
}
|
6691 |
-
.col-md-push-57 {
|
6692 |
-
left: 95%;
|
6693 |
-
}
|
6694 |
-
.col-md-push-58 {
|
6695 |
-
left: 96.66666666666667%;
|
6696 |
-
}
|
6697 |
-
.col-md-push-59 {
|
6698 |
-
left: 98.33333333333333%;
|
6699 |
-
}
|
6700 |
-
.col-md-pull-0 {
|
6701 |
-
right: auto
|
6702 |
-
}
|
6703 |
-
.col-md-pull-1 {
|
6704 |
-
right: 1.666666666666667%;
|
6705 |
-
}
|
6706 |
-
.col-md-pull-2 {
|
6707 |
-
right: 3.333333333333333%;
|
6708 |
-
}
|
6709 |
-
.col-md-pull-3 {
|
6710 |
-
right: 5%;
|
6711 |
-
}
|
6712 |
-
.col-md-pull-4 {
|
6713 |
-
right: 6.666666666666667%;
|
6714 |
-
}
|
6715 |
-
.col-md-pull-5 {
|
6716 |
-
right: 8.333333333333333%;
|
6717 |
-
}
|
6718 |
-
.col-md-pull-6 {
|
6719 |
-
right: 10%;
|
6720 |
-
}
|
6721 |
-
.col-md-pull-7 {
|
6722 |
-
right: 11.66666666666667%;
|
6723 |
-
}
|
6724 |
-
.col-md-pull-8 {
|
6725 |
-
right: 13.33333333333333%;
|
6726 |
-
}
|
6727 |
-
.col-md-pull-9 {
|
6728 |
-
right: 15%;
|
6729 |
-
}
|
6730 |
-
.col-md-pull-10 {
|
6731 |
-
right: 16.66666666666667%;
|
6732 |
-
}
|
6733 |
-
.col-md-pull-11 {
|
6734 |
-
right: 18.33333333333333%;
|
6735 |
-
}
|
6736 |
-
.col-md-pull-12 {
|
6737 |
-
right: 20%;
|
6738 |
-
}
|
6739 |
-
.col-md-pull-13 {
|
6740 |
-
right: 21.66666666666667%;
|
6741 |
-
}
|
6742 |
-
.col-md-pull-14 {
|
6743 |
-
right: 23.33333333333333%;
|
6744 |
-
}
|
6745 |
-
.col-md-pull-15 {
|
6746 |
-
right: 25%;
|
6747 |
-
}
|
6748 |
-
.col-md-pull-16 {
|
6749 |
-
right: 26.66666666666667%;
|
6750 |
-
}
|
6751 |
-
.col-md-pull-17 {
|
6752 |
-
right: 28.33333333333333%;
|
6753 |
-
}
|
6754 |
-
.col-md-pull-18 {
|
6755 |
-
right: 30%;
|
6756 |
-
}
|
6757 |
-
.col-md-pull-19 {
|
6758 |
-
right: 31.66666666666667%;
|
6759 |
-
}
|
6760 |
-
.col-md-pull-20 {
|
6761 |
-
right: 33.33333333333333%;
|
6762 |
-
}
|
6763 |
-
.col-md-pull-21 {
|
6764 |
-
right: 35%;
|
6765 |
-
}
|
6766 |
-
.col-md-pull-22 {
|
6767 |
-
right: 36.66666666666667%;
|
6768 |
-
}
|
6769 |
-
.col-md-pull-23 {
|
6770 |
-
right: 38.33333333333333%;
|
6771 |
-
}
|
6772 |
-
.col-md-pull-24 {
|
6773 |
-
right: 40%;
|
6774 |
-
}
|
6775 |
-
.col-md-pull-25 {
|
6776 |
-
right: 41.66666666666667%;
|
6777 |
-
}
|
6778 |
-
.col-md-pull-26 {
|
6779 |
-
right: 43.33333333333333%;
|
6780 |
-
}
|
6781 |
-
.col-md-pull-27 {
|
6782 |
-
right: 45%;
|
6783 |
-
}
|
6784 |
-
.col-md-pull-28 {
|
6785 |
-
right: 46.66666666666667%;
|
6786 |
-
}
|
6787 |
-
.col-md-pull-29 {
|
6788 |
-
right: 48.33333333333333%;
|
6789 |
-
}
|
6790 |
-
.col-md-pull-30 {
|
6791 |
-
right: 50%;
|
6792 |
-
}
|
6793 |
-
.col-md-pull-31 {
|
6794 |
-
right: 51.66666666666667%;
|
6795 |
-
}
|
6796 |
-
.col-md-pull-32 {
|
6797 |
-
right: 53.33333333333333%;
|
6798 |
-
}
|
6799 |
-
.col-md-pull-33 {
|
6800 |
-
right: 55%;
|
6801 |
-
}
|
6802 |
-
.col-md-pull-34 {
|
6803 |
-
right: 56.66666666666667%;
|
6804 |
-
}
|
6805 |
-
.col-md-pull-35 {
|
6806 |
-
right: 58.33333333333333%;
|
6807 |
-
}
|
6808 |
-
.col-md-pull-36 {
|
6809 |
-
right: 60%;
|
6810 |
-
}
|
6811 |
-
.col-md-pull-37 {
|
6812 |
-
right: 61.66666666666667%;
|
6813 |
-
}
|
6814 |
-
.col-md-pull-38 {
|
6815 |
-
right: 63.33333333333333%;
|
6816 |
-
}
|
6817 |
-
.col-md-pull-39 {
|
6818 |
-
right: 65%;
|
6819 |
-
}
|
6820 |
-
.col-md-pull-40 {
|
6821 |
-
right: 66.66666666666667%;
|
6822 |
-
}
|
6823 |
-
.col-md-pull-41 {
|
6824 |
-
right: 68.33333333333333%;
|
6825 |
-
}
|
6826 |
-
.col-md-pull-42 {
|
6827 |
-
right: 70%;
|
6828 |
-
}
|
6829 |
-
.col-md-pull-43 {
|
6830 |
-
right: 71.66666666666667%;
|
6831 |
-
}
|
6832 |
-
.col-md-pull-44 {
|
6833 |
-
right: 73.33333333333333%;
|
6834 |
-
}
|
6835 |
-
.col-md-pull-45 {
|
6836 |
-
right: 75%;
|
6837 |
-
}
|
6838 |
-
.col-md-pull-46 {
|
6839 |
-
right: 76.66666666666667%;
|
6840 |
-
}
|
6841 |
-
.col-md-pull-47 {
|
6842 |
-
right: 78.33333333333333%;
|
6843 |
-
}
|
6844 |
-
.col-md-pull-48 {
|
6845 |
-
right: 80%;
|
6846 |
-
}
|
6847 |
-
.col-md-pull-49 {
|
6848 |
-
right: 81.66666666666667%;
|
6849 |
-
}
|
6850 |
-
.col-md-pull-50 {
|
6851 |
-
right: 83.33333333333333%;
|
6852 |
-
}
|
6853 |
-
.col-md-pull-51 {
|
6854 |
-
right: 85%;
|
6855 |
-
}
|
6856 |
-
.col-md-pull-52 {
|
6857 |
-
right: 86.66666666666667%;
|
6858 |
-
}
|
6859 |
-
.col-md-pull-53 {
|
6860 |
-
right: 88.33333333333333%;
|
6861 |
-
}
|
6862 |
-
.col-md-pull-54 {
|
6863 |
-
right: 90%;
|
6864 |
-
}
|
6865 |
-
.col-md-pull-55 {
|
6866 |
-
right: 91.66666666666667%;
|
6867 |
-
}
|
6868 |
-
.col-md-pull-56 {
|
6869 |
-
right: 93.33333333333333%;
|
6870 |
-
}
|
6871 |
-
.col-md-pull-57 {
|
6872 |
-
right: 95%;
|
6873 |
-
}
|
6874 |
-
.col-md-pull-58 {
|
6875 |
-
right: 96.66666666666667%;
|
6876 |
-
}
|
6877 |
-
.col-md-pull-59 {
|
6878 |
-
right: 98.33333333333333%;
|
6879 |
-
}
|
6880 |
-
.col-md-offset-0 {
|
6881 |
-
margin-left: 0
|
6882 |
-
}
|
6883 |
-
.col-md-offset-1 {
|
6884 |
-
margin-left: 1.666666666666667%;
|
6885 |
-
}
|
6886 |
-
.col-md-offset-2 {
|
6887 |
-
margin-left: 3.333333333333333%;
|
6888 |
-
}
|
6889 |
-
.col-md-offset-3 {
|
6890 |
-
margin-left: 5%;
|
6891 |
-
}
|
6892 |
-
.col-md-offset-4 {
|
6893 |
-
margin-left: 6.666666666666667%;
|
6894 |
-
}
|
6895 |
-
.col-md-offset-5 {
|
6896 |
-
margin-left: 8.333333333333333%;
|
6897 |
-
}
|
6898 |
-
.col-md-offset-6 {
|
6899 |
-
margin-left: 10%;
|
6900 |
-
}
|
6901 |
-
.col-md-offset-7 {
|
6902 |
-
margin-left: 11.66666666666667%;
|
6903 |
-
}
|
6904 |
-
.col-md-offset-8 {
|
6905 |
-
margin-left: 13.33333333333333%;
|
6906 |
-
}
|
6907 |
-
.col-md-offset-9 {
|
6908 |
-
margin-left: 15%;
|
6909 |
-
}
|
6910 |
-
.col-md-offset-10 {
|
6911 |
-
margin-left: 16.66666666666667%;
|
6912 |
-
}
|
6913 |
-
.col-md-offset-11 {
|
6914 |
-
margin-left: 18.33333333333333%;
|
6915 |
-
}
|
6916 |
-
.col-md-offset-12 {
|
6917 |
-
margin-left: 20%;
|
6918 |
-
}
|
6919 |
-
.col-md-offset-13 {
|
6920 |
-
margin-left: 21.66666666666667%;
|
6921 |
-
}
|
6922 |
-
.col-md-offset-14 {
|
6923 |
-
margin-left: 23.33333333333333%;
|
6924 |
-
}
|
6925 |
-
.col-md-offset-15 {
|
6926 |
-
margin-left: 25%;
|
6927 |
-
}
|
6928 |
-
.col-md-offset-16 {
|
6929 |
-
margin-left: 26.66666666666667%;
|
6930 |
-
}
|
6931 |
-
.col-md-offset-17 {
|
6932 |
-
margin-left: 28.33333333333333%;
|
6933 |
-
}
|
6934 |
-
.col-md-offset-18 {
|
6935 |
-
margin-left: 30%;
|
6936 |
-
}
|
6937 |
-
.col-md-offset-19 {
|
6938 |
-
margin-left: 31.66666666666667%;
|
6939 |
-
}
|
6940 |
-
.col-md-offset-20 {
|
6941 |
-
margin-left: 33.33333333333333%;
|
6942 |
-
}
|
6943 |
-
.col-md-offset-21 {
|
6944 |
-
margin-left: 35%;
|
6945 |
-
}
|
6946 |
-
.col-md-offset-22 {
|
6947 |
-
margin-left: 36.66666666666667%;
|
6948 |
-
}
|
6949 |
-
.col-md-offset-23 {
|
6950 |
-
margin-left: 38.33333333333333%;
|
6951 |
-
}
|
6952 |
-
.col-md-offset-24 {
|
6953 |
-
margin-left: 40%;
|
6954 |
-
}
|
6955 |
-
.col-md-offset-25 {
|
6956 |
-
margin-left: 41.66666666666667%;
|
6957 |
-
}
|
6958 |
-
.col-md-offset-26 {
|
6959 |
-
margin-left: 43.33333333333333%;
|
6960 |
-
}
|
6961 |
-
.col-md-offset-27 {
|
6962 |
-
margin-left: 45%;
|
6963 |
-
}
|
6964 |
-
.col-md-offset-28 {
|
6965 |
-
margin-left: 46.66666666666667%;
|
6966 |
-
}
|
6967 |
-
.col-md-offset-29 {
|
6968 |
-
margin-left: 48.33333333333333%;
|
6969 |
-
}
|
6970 |
-
.col-md-offset-30 {
|
6971 |
-
margin-left: 50%;
|
6972 |
-
}
|
6973 |
-
.col-md-offset-31 {
|
6974 |
-
margin-left: 51.66666666666667%;
|
6975 |
-
}
|
6976 |
-
.col-md-offset-32 {
|
6977 |
-
margin-left: 53.33333333333333%;
|
6978 |
-
}
|
6979 |
-
.col-md-offset-33 {
|
6980 |
-
margin-left: 55%;
|
6981 |
-
}
|
6982 |
-
.col-md-offset-34 {
|
6983 |
-
margin-left: 56.66666666666667%;
|
6984 |
-
}
|
6985 |
-
.col-md-offset-35 {
|
6986 |
-
margin-left: 58.33333333333333%;
|
6987 |
-
}
|
6988 |
-
.col-md-offset-36 {
|
6989 |
-
margin-left: 60%;
|
6990 |
-
}
|
6991 |
-
.col-md-offset-37 {
|
6992 |
-
margin-left: 61.66666666666667%;
|
6993 |
-
}
|
6994 |
-
.col-md-offset-38 {
|
6995 |
-
margin-left: 63.33333333333333%;
|
6996 |
-
}
|
6997 |
-
.col-md-offset-39 {
|
6998 |
-
margin-left: 65%;
|
6999 |
-
}
|
7000 |
-
.col-md-offset-40 {
|
7001 |
-
margin-left: 66.66666666666667%;
|
7002 |
-
}
|
7003 |
-
.col-md-offset-41 {
|
7004 |
-
margin-left: 68.33333333333333%;
|
7005 |
-
}
|
7006 |
-
.col-md-offset-42 {
|
7007 |
-
margin-left: 70%;
|
7008 |
-
}
|
7009 |
-
.col-md-offset-43 {
|
7010 |
-
margin-left: 71.66666666666667%;
|
7011 |
-
}
|
7012 |
-
.col-md-offset-44 {
|
7013 |
-
margin-left: 73.33333333333333%;
|
7014 |
-
}
|
7015 |
-
.col-md-offset-45 {
|
7016 |
-
margin-left: 75%;
|
7017 |
-
}
|
7018 |
-
.col-md-offset-46 {
|
7019 |
-
margin-left: 76.66666666666667%;
|
7020 |
-
}
|
7021 |
-
.col-md-offset-47 {
|
7022 |
-
margin-left: 78.33333333333333%;
|
7023 |
-
}
|
7024 |
-
.col-md-offset-48 {
|
7025 |
-
margin-left: 80%;
|
7026 |
-
}
|
7027 |
-
.col-md-offset-49 {
|
7028 |
-
margin-left: 81.6666666666667%;
|
7029 |
-
}
|
7030 |
-
.col-md-offset-50 {
|
7031 |
-
margin-left: 83.33333333333333%;
|
7032 |
-
}
|
7033 |
-
.col-md-offset-51 {
|
7034 |
-
margin-left: 85%;
|
7035 |
-
}
|
7036 |
-
.col-md-offset-52 {
|
7037 |
-
margin-left: 86.66666666666667%;
|
7038 |
-
}
|
7039 |
-
.col-md-offset-53 {
|
7040 |
-
margin-left: 88.33333333333333%;
|
7041 |
-
}
|
7042 |
-
.col-md-offset-54 {
|
7043 |
-
margin-left: 90%;
|
7044 |
-
}
|
7045 |
-
.col-md-offset-55 {
|
7046 |
-
margin-left: 91.66666666666667%;
|
7047 |
-
}
|
7048 |
-
.col-md-offset-56 {
|
7049 |
-
margin-left: 93.33333333333333%;
|
7050 |
-
}
|
7051 |
-
.col-md-offset-57 {
|
7052 |
-
margin-left: 95%;
|
7053 |
-
}
|
7054 |
-
.col-md-offset-58 {
|
7055 |
-
margin-left: 96.66666666666667%;
|
7056 |
-
}
|
7057 |
-
.col-md-offset-59 {
|
7058 |
-
margin-left: 98.33333333333333%;
|
7059 |
-
}
|
7060 |
-
/*commom desktop */
|
7061 |
-
.fixed-width-520 {
|
7062 |
-
margin: 0px auto;
|
7063 |
-
float: none;
|
7064 |
-
width: 520px !important;
|
7065 |
-
}
|
7066 |
-
.fixed-width-580 {
|
7067 |
-
margin: 0px auto;
|
7068 |
-
float: none;
|
7069 |
-
width: 580px !important;
|
7070 |
-
}
|
7071 |
-
.fixed-width-680 {
|
7072 |
-
margin: 0px auto;
|
7073 |
-
float: none;
|
7074 |
-
width: 680px !important;
|
7075 |
-
}
|
7076 |
-
.fixed-width-700 {
|
7077 |
-
margin: 0px auto;
|
7078 |
-
float: none;
|
7079 |
-
width: 700px;
|
7080 |
-
}
|
7081 |
-
.fixed-width-730 {
|
7082 |
-
margin: 0px auto;
|
7083 |
-
float: none;
|
7084 |
-
width: 730px;
|
7085 |
-
}
|
7086 |
-
.fixed-width-800 {
|
7087 |
-
margin: 0px auto;
|
7088 |
-
float: none;
|
7089 |
-
width: 800px;
|
7090 |
-
}
|
7091 |
-
.fixed-width-940 {
|
7092 |
-
margin: 0px auto;
|
7093 |
-
float: none;
|
7094 |
-
width: 940px;
|
7095 |
-
}
|
7096 |
-
.fixed-width-980 {
|
7097 |
-
margin: 0px auto;
|
7098 |
-
float: none;
|
7099 |
-
width: 980px;
|
7100 |
-
}
|
7101 |
-
.fixed-width-1080 {
|
7102 |
-
margin: 0px auto;
|
7103 |
-
float: none;
|
7104 |
-
width: 1080px;
|
7105 |
-
}
|
7106 |
-
.fixed-width-1140 {
|
7107 |
-
margin: 0px auto;
|
7108 |
-
float: none;
|
7109 |
-
width: 1140px;
|
7110 |
-
}
|
7111 |
-
.main-container {
|
7112 |
-
width: 100%;
|
7113 |
-
float: left;
|
7114 |
-
}
|
7115 |
-
.width-570 {
|
7116 |
-
width: 570px;
|
7117 |
-
}
|
7118 |
-
.width-680 {
|
7119 |
-
width: 680px;
|
7120 |
-
}
|
7121 |
-
/* signed up desktop*/
|
7122 |
-
.signup-block
|
7123 |
-
{
|
7124 |
-
width:740px;
|
7125 |
-
margin:60px 0px 0px 120px;
|
7126 |
-
}
|
7127 |
-
/* dashboard widget conf desktop*/
|
7128 |
-
|
7129 |
-
.layout-block
|
7130 |
-
{
|
7131 |
-
float: left;
|
7132 |
-
width:442px;
|
7133 |
-
}
|
7134 |
-
}
|
7135 |
-
@media (min-width: 1200px) {
|
7136 |
|
7137 |
-
|
7138 |
-
float: left;
|
7139 |
-
}
|
7140 |
-
.col-lg-1 {
|
7141 |
-
width: 1.666666666666667%;
|
7142 |
-
}
|
7143 |
-
.col-lg-2 {
|
7144 |
-
width: 3.333333333333333%;
|
7145 |
-
}
|
7146 |
-
.col-lg-3 {
|
7147 |
-
width: 5%;
|
7148 |
-
}
|
7149 |
-
.col-lg-4 {
|
7150 |
-
width: 6.666666666666667%;
|
7151 |
-
}
|
7152 |
-
.col-lg-5 {
|
7153 |
-
width: 8.333333333333333%;
|
7154 |
-
}
|
7155 |
-
.col-lg-6 {
|
7156 |
-
width: 10%;
|
7157 |
-
}
|
7158 |
-
.col-lg-7 {
|
7159 |
-
width: 11.66666666666667%;
|
7160 |
-
}
|
7161 |
-
.col-lg-8 {
|
7162 |
-
width: 13.33333333333333%;
|
7163 |
-
}
|
7164 |
-
.col-lg-9 {
|
7165 |
-
width: 15%;
|
7166 |
-
}
|
7167 |
-
.col-lg-10 {
|
7168 |
-
width: 16.66666666666667%;
|
7169 |
-
}
|
7170 |
-
.col-lg-11 {
|
7171 |
-
width: 18.33333333333333%;
|
7172 |
-
}
|
7173 |
-
.col-lg-12 {
|
7174 |
-
width: 20%;
|
7175 |
-
}
|
7176 |
-
.col-lg-13 {
|
7177 |
-
width: 21.66666666666667%;
|
7178 |
-
}
|
7179 |
-
.col-lg-14 {
|
7180 |
-
width: 23.33333333333333%;
|
7181 |
-
}
|
7182 |
-
.col-lg-15 {
|
7183 |
-
width: 25%;
|
7184 |
-
}
|
7185 |
-
.col-lg-16 {
|
7186 |
-
width: 26.66666666666667%;
|
7187 |
-
}
|
7188 |
-
.col-lg-17 {
|
7189 |
-
width: 28.33333333333333%;
|
7190 |
-
}
|
7191 |
-
.col-lg-18 {
|
7192 |
-
width: 30%;
|
7193 |
-
}
|
7194 |
-
.col-lg-19 {
|
7195 |
-
width: 31.66666666666667%;
|
7196 |
-
}
|
7197 |
-
.col-lg-20 {
|
7198 |
-
width: 33.33333333333333%;
|
7199 |
-
}
|
7200 |
-
.col-lg-21 {
|
7201 |
-
width: 35%;
|
7202 |
-
}
|
7203 |
-
.col-lg-22 {
|
7204 |
-
width: 36.66666666666667%;
|
7205 |
-
}
|
7206 |
-
.col-lg-23 {
|
7207 |
-
width: 38.33333333333333%;
|
7208 |
-
}
|
7209 |
-
.col-lg-24 {
|
7210 |
-
width: 40%;
|
7211 |
-
}
|
7212 |
-
.col-lg-25 {
|
7213 |
-
width: 41.66666666666667%;
|
7214 |
-
}
|
7215 |
-
.col-lg-26 {
|
7216 |
-
width: 43.33333333333333%;
|
7217 |
-
}
|
7218 |
-
.col-lg-27 {
|
7219 |
-
width: 45%;
|
7220 |
-
}
|
7221 |
-
.col-lg-28 {
|
7222 |
-
width: 46.66666666666667%;
|
7223 |
-
}
|
7224 |
-
.col-lg-29 {
|
7225 |
-
width: 48.33333333333333%;
|
7226 |
-
}
|
7227 |
-
.col-lg-30 {
|
7228 |
-
width: 50%;
|
7229 |
-
}
|
7230 |
-
.col-lg-31 {
|
7231 |
-
width: 51.66666666666667%;
|
7232 |
-
}
|
7233 |
-
.col-lg-32 {
|
7234 |
-
width: 53.33333333333333%;
|
7235 |
-
}
|
7236 |
-
.col-lg-33 {
|
7237 |
-
width: 55%;
|
7238 |
-
}
|
7239 |
-
.col-lg-34 {
|
7240 |
-
width: 56.66666666666667%;
|
7241 |
-
}
|
7242 |
-
.col-lg-35 {
|
7243 |
-
width: 58.33333333333333%;
|
7244 |
-
}
|
7245 |
-
.col-lg-36 {
|
7246 |
-
width: 60%;
|
7247 |
-
}
|
7248 |
-
.col-lg-37 {
|
7249 |
-
width: 61.66666666666667%;
|
7250 |
-
}
|
7251 |
-
.col-lg-38 {
|
7252 |
-
width: 63.33333333333333%;
|
7253 |
-
}
|
7254 |
-
.col-lg-39 {
|
7255 |
-
width: 65%;
|
7256 |
-
}
|
7257 |
-
.col-lg-40 {
|
7258 |
-
width: 66.66666666666667%;
|
7259 |
-
}
|
7260 |
-
.col-lg-41 {
|
7261 |
-
width: 68.33333333333333%;
|
7262 |
-
}
|
7263 |
-
.col-lg-42 {
|
7264 |
-
width: 70%;
|
7265 |
-
}
|
7266 |
-
.col-lg-43 {
|
7267 |
-
width: 71.66666666666667%;
|
7268 |
-
}
|
7269 |
-
.col-lg-44 {
|
7270 |
-
width: 73.33333333333333%;
|
7271 |
-
}
|
7272 |
-
.col-lg-45 {
|
7273 |
-
width: 75%;
|
7274 |
-
}
|
7275 |
-
.col-lg-46 {
|
7276 |
-
width: 76.66666666666667%;
|
7277 |
-
}
|
7278 |
-
.col-lg-47 {
|
7279 |
-
width: 78.33333333333333%;
|
7280 |
-
}
|
7281 |
-
.col-lg-48 {
|
7282 |
-
width: 80%;
|
7283 |
-
}
|
7284 |
-
.col-lg-49 {
|
7285 |
-
width: 81.66666666666667%;
|
7286 |
-
}
|
7287 |
-
.col-lg-50 {
|
7288 |
-
width: 83.33333333333333%;
|
7289 |
-
}
|
7290 |
-
.col-lg-51 {
|
7291 |
-
width: 85%;
|
7292 |
-
}
|
7293 |
-
.col-lg-52 {
|
7294 |
-
width: 86.66666666666667%;
|
7295 |
-
}
|
7296 |
-
.col-lg-53 {
|
7297 |
-
width: 88.33333333333333%;
|
7298 |
-
}
|
7299 |
-
.col-lg-54 {
|
7300 |
-
width: 90%;
|
7301 |
-
}
|
7302 |
-
.col-lg-55 {
|
7303 |
-
width: 91.66666666666667%;
|
7304 |
-
}
|
7305 |
-
.col-lg-56 {
|
7306 |
-
width: 93.33333333333333%;
|
7307 |
-
}
|
7308 |
-
.col-lg-57 {
|
7309 |
-
width: 95%;
|
7310 |
-
}
|
7311 |
-
.col-lg-58 {
|
7312 |
-
width: 96.66666666666667%;
|
7313 |
-
}
|
7314 |
-
.col-lg-59 {
|
7315 |
-
width: 98.33333333333333%;
|
7316 |
-
}
|
7317 |
-
.col-lg-60 {
|
7318 |
-
width: 100%;
|
7319 |
-
}
|
7320 |
-
.col-lg-push-0 {
|
7321 |
-
left: auto
|
7322 |
-
}
|
7323 |
-
.col-lg-push-1 {
|
7324 |
-
left: 1.666666666666667%;
|
7325 |
-
}
|
7326 |
-
.col-lg-push-2 {
|
7327 |
-
left: 3.333333333333333%;
|
7328 |
-
}
|
7329 |
-
.col-lg-push-3 {
|
7330 |
-
left: 5%;
|
7331 |
-
}
|
7332 |
-
.col-lg-push-4 {
|
7333 |
-
left: 6.666666666666667%;
|
7334 |
-
}
|
7335 |
-
.col-lg-push-5 {
|
7336 |
-
left: 8.333333333333333%;
|
7337 |
-
}
|
7338 |
-
.col-lg-push-6 {
|
7339 |
-
left: 10%;
|
7340 |
-
}
|
7341 |
-
.col-lg-push-7 {
|
7342 |
-
left: 11.66666666666667%;
|
7343 |
-
}
|
7344 |
-
.col-lg-push-8 {
|
7345 |
-
left: 13.33333333333333%;
|
7346 |
-
}
|
7347 |
-
.col-lg-push-9 {
|
7348 |
-
left: 15%;
|
7349 |
-
}
|
7350 |
-
.col-lg-push-10 {
|
7351 |
-
left: 16.66666666666667%;
|
7352 |
-
}
|
7353 |
-
.col-lg-push-11 {
|
7354 |
-
left: 18.33333333333333%;
|
7355 |
-
}
|
7356 |
-
.col-lg-push-12 {
|
7357 |
-
left: 20%;
|
7358 |
-
}
|
7359 |
-
.col-lg-push-13 {
|
7360 |
-
left: 21.66666666666667%;
|
7361 |
-
}
|
7362 |
-
.col-lg-push-14 {
|
7363 |
-
left: 23.33333333333333%;
|
7364 |
-
}
|
7365 |
-
.col-lg-push-15 {
|
7366 |
-
left: 25%;
|
7367 |
-
}
|
7368 |
-
.col-lg-push-16 {
|
7369 |
-
left: 26.66666666666667%;
|
7370 |
-
}
|
7371 |
-
.col-lg-push-17 {
|
7372 |
-
left: 28.33333333333333%;
|
7373 |
-
}
|
7374 |
-
.col-lg-push-18 {
|
7375 |
-
left: 30%;
|
7376 |
-
}
|
7377 |
-
.col-lg-push-19 {
|
7378 |
-
left: 31.66666666666667%;
|
7379 |
-
}
|
7380 |
-
.col-lg-push-20 {
|
7381 |
-
left: 33.33333333333333%;
|
7382 |
-
}
|
7383 |
-
.col-lg-push-21 {
|
7384 |
-
left: 35%;
|
7385 |
-
}
|
7386 |
-
.col-lg-push-22 {
|
7387 |
-
left: 36.66666666666667%;
|
7388 |
-
}
|
7389 |
-
.col-lg-push-23 {
|
7390 |
-
left: 38.33333333333333%;
|
7391 |
-
}
|
7392 |
-
.col-lg-push-24 {
|
7393 |
-
left: 40%;
|
7394 |
-
}
|
7395 |
-
.col-lg-push-25 {
|
7396 |
-
left: 41.66666666666667%;
|
7397 |
-
}
|
7398 |
-
.col-lg-push-26 {
|
7399 |
-
left: 43.33333333333333%;
|
7400 |
-
}
|
7401 |
-
.col-lg-push-27 {
|
7402 |
-
left: 45%;
|
7403 |
-
}
|
7404 |
-
.col-lg-push-28 {
|
7405 |
-
left: 46.66666666666667%;
|
7406 |
-
}
|
7407 |
-
.col-lg-push-29 {
|
7408 |
-
left: 48.33333333333333%;
|
7409 |
-
}
|
7410 |
-
.col-lg-push-30 {
|
7411 |
-
left: 50%;
|
7412 |
-
}
|
7413 |
-
.col-lg-push-31 {
|
7414 |
-
left: 51.66666666666667%;
|
7415 |
-
}
|
7416 |
-
.col-lg-push-32 {
|
7417 |
-
left: 53.33333333333333%;
|
7418 |
-
}
|
7419 |
-
.col-lg-push-33 {
|
7420 |
-
left: 55%;
|
7421 |
-
}
|
7422 |
-
.col-lg-push-34 {
|
7423 |
-
left: 56.66666666666667%;
|
7424 |
-
}
|
7425 |
-
.col-lg-push-35 {
|
7426 |
-
left: 58.33333333333333%;
|
7427 |
-
}
|
7428 |
-
.col-lg-push-36 {
|
7429 |
-
left: 60%;
|
7430 |
-
}
|
7431 |
-
.col-lg-push-37 {
|
7432 |
-
left: 61.66666666666667%;
|
7433 |
-
}
|
7434 |
-
.col-lg-push-38 {
|
7435 |
-
left: 63.33333333333333%;
|
7436 |
-
}
|
7437 |
-
.col-lg-push-39 {
|
7438 |
-
left: 65%;
|
7439 |
-
}
|
7440 |
-
.col-lg-push-40 {
|
7441 |
-
left: 66.66666666666667%;
|
7442 |
-
}
|
7443 |
-
.col-lg-push-41 {
|
7444 |
-
left: 68.33333333333333%;
|
7445 |
-
}
|
7446 |
-
.col-lg-push-42 {
|
7447 |
-
left: 70%;
|
7448 |
-
}
|
7449 |
-
.col-lg-push-43 {
|
7450 |
-
left: 71.66666666666667%;
|
7451 |
-
}
|
7452 |
-
.col-lg-push-44 {
|
7453 |
-
left: 73.33333333333333%;
|
7454 |
-
}
|
7455 |
-
.col-lg-push-45 {
|
7456 |
-
left: 75%;
|
7457 |
-
}
|
7458 |
-
.col-lg-push-46 {
|
7459 |
-
left: 76.66666666666667%;
|
7460 |
-
}
|
7461 |
-
.col-lg-push-47 {
|
7462 |
-
left: 78.33333333333333%;
|
7463 |
-
}
|
7464 |
-
.col-lg-push-48 {
|
7465 |
-
left: 80%;
|
7466 |
-
}
|
7467 |
-
.col-lg-push-49 {
|
7468 |
-
left: 81.66666666666667%;
|
7469 |
-
}
|
7470 |
-
.col-lg-push-50 {
|
7471 |
-
left: 83.33333333333333%;
|
7472 |
-
}
|
7473 |
-
.col-lg-push-51 {
|
7474 |
-
left: 85%;
|
7475 |
-
}
|
7476 |
-
.col-lg-push-52 {
|
7477 |
-
left: 86.66666666666667%;
|
7478 |
-
}
|
7479 |
-
.col-lg-push-53 {
|
7480 |
-
left: 88.33333333333333%;
|
7481 |
-
}
|
7482 |
-
.col-lg-push-54 {
|
7483 |
-
left: 90%;
|
7484 |
-
}
|
7485 |
-
.col-lg-push-55 {
|
7486 |
-
left: 91.66666666666667%;
|
7487 |
-
}
|
7488 |
-
.col-lg-push-56 {
|
7489 |
-
left: 93.33333333333333%;
|
7490 |
-
}
|
7491 |
-
.col-lg-push-57 {
|
7492 |
-
left: 95%;
|
7493 |
-
}
|
7494 |
-
.col-lg-push-58 {
|
7495 |
-
left: 96.66666666666667%;
|
7496 |
-
}
|
7497 |
-
.col-lg-push-59 {
|
7498 |
-
left: 98.33333333333333%;
|
7499 |
-
}
|
7500 |
-
.col-lg-pull-0 {
|
7501 |
-
right: auto
|
7502 |
-
}
|
7503 |
-
.col-lg-pull-1 {
|
7504 |
-
right: 1.666666666666667%;
|
7505 |
-
}
|
7506 |
-
.col-lg-pull-2 {
|
7507 |
-
right: 3.333333333333333%;
|
7508 |
-
}
|
7509 |
-
.col-lg-pull-3 {
|
7510 |
-
right: 5%;
|
7511 |
-
}
|
7512 |
-
.col-lg-pull-4 {
|
7513 |
-
right: 6.666666666666667%;
|
7514 |
-
}
|
7515 |
-
.col-lg-pull-5 {
|
7516 |
-
right: 8.333333333333333%;
|
7517 |
-
}
|
7518 |
-
.col-lg-pull-6 {
|
7519 |
-
right: 10%;
|
7520 |
-
}
|
7521 |
-
.col-lg-pull-7 {
|
7522 |
-
right: 11.66666666666667%;
|
7523 |
-
}
|
7524 |
-
.col-lg-pull-8 {
|
7525 |
-
right: 13.33333333333333%;
|
7526 |
-
}
|
7527 |
-
.col-lg-pull-9 {
|
7528 |
-
right: 15%;
|
7529 |
-
}
|
7530 |
-
.col-lg-pull-10 {
|
7531 |
-
right: 16.66666666666667%;
|
7532 |
-
}
|
7533 |
-
.col-lg-pull-11 {
|
7534 |
-
right: 18.33333333333333%;
|
7535 |
-
}
|
7536 |
-
.col-lg-pull-12 {
|
7537 |
-
right: 20%;
|
7538 |
-
}
|
7539 |
-
.col-lg-pull-13 {
|
7540 |
-
right: 21.66666666666667%;
|
7541 |
-
}
|
7542 |
-
.col-lg-pull-14 {
|
7543 |
-
right: 23.33333333333333%;
|
7544 |
-
}
|
7545 |
-
.col-lg-pull-15 {
|
7546 |
-
right: 25%;
|
7547 |
-
}
|
7548 |
-
.col-lg-pull-16 {
|
7549 |
-
right: 26.66666666666667%;
|
7550 |
-
}
|
7551 |
-
.col-lg-pull-17 {
|
7552 |
-
right: 28.33333333333333%;
|
7553 |
-
}
|
7554 |
-
.col-lg-pull-18 {
|
7555 |
-
right: 30%;
|
7556 |
-
}
|
7557 |
-
.col-lg-pull-19 {
|
7558 |
-
right: 31.66666666666667%;
|
7559 |
-
}
|
7560 |
-
.col-lg-pull-20 {
|
7561 |
-
right: 33.33333333333333%;
|
7562 |
-
}
|
7563 |
-
.col-lg-pull-21 {
|
7564 |
-
right: 35%;
|
7565 |
-
}
|
7566 |
-
.col-lg-pull-22 {
|
7567 |
-
right: 36.66666666666667%;
|
7568 |
-
}
|
7569 |
-
.col-lg-pull-23 {
|
7570 |
-
right: 38.33333333333333%;
|
7571 |
-
}
|
7572 |
-
.col-lg-pull-24 {
|
7573 |
-
right: 40%;
|
7574 |
-
}
|
7575 |
-
.col-lg-pull-25 {
|
7576 |
-
right: 41.66666666666667%;
|
7577 |
-
}
|
7578 |
-
.col-lg-pull-26 {
|
7579 |
-
right: 43.33333333333333%;
|
7580 |
-
}
|
7581 |
-
.col-lg-pull-27 {
|
7582 |
-
right: 45%;
|
7583 |
-
}
|
7584 |
-
.col-lg-pull-28 {
|
7585 |
-
right: 46.66666666666667%;
|
7586 |
-
}
|
7587 |
-
.col-lg-pull-29 {
|
7588 |
-
right: 48.33333333333333%;
|
7589 |
-
}
|
7590 |
-
.col-lg-pull-30 {
|
7591 |
-
right: 50%;
|
7592 |
-
}
|
7593 |
-
.col-lg-pull-31 {
|
7594 |
-
right: 51.66666666666667%;
|
7595 |
-
}
|
7596 |
-
.col-lg-pull-32 {
|
7597 |
-
right: 53.33333333333333%;
|
7598 |
-
}
|
7599 |
-
.col-lg-pull-33 {
|
7600 |
-
right: 55%;
|
7601 |
-
}
|
7602 |
-
.col-lg-pull-34 {
|
7603 |
-
right: 56.66666666666667%;
|
7604 |
-
}
|
7605 |
-
.col-lg-pull-35 {
|
7606 |
-
right: 58.33333333333333%;
|
7607 |
-
}
|
7608 |
-
.col-lg-pull-36 {
|
7609 |
-
right: 60%;
|
7610 |
-
}
|
7611 |
-
.col-lg-pull-37 {
|
7612 |
-
right: 61.66666666666667%;
|
7613 |
-
}
|
7614 |
-
.col-lg-pull-38 {
|
7615 |
-
right: 63.33333333333333%;
|
7616 |
-
}
|
7617 |
-
.col-lg-pull-39 {
|
7618 |
-
right: 65%;
|
7619 |
-
}
|
7620 |
-
.col-lg-pull-40 {
|
7621 |
-
right: 66.66666666666667%;
|
7622 |
-
}
|
7623 |
-
.col-lg-pull-41 {
|
7624 |
-
right: 68.33333333333333%;
|
7625 |
-
}
|
7626 |
-
.col-lg-pull-42 {
|
7627 |
-
right: 70%;
|
7628 |
-
}
|
7629 |
-
.col-lg-pull-43 {
|
7630 |
-
right: 71.66666666666667%;
|
7631 |
-
}
|
7632 |
-
.col-lg-pull-44 {
|
7633 |
-
right: 73.33333333333333%;
|
7634 |
-
}
|
7635 |
-
.col-lg-pull-45 {
|
7636 |
-
right: 75%;
|
7637 |
-
}
|
7638 |
-
.col-lg-pull-46 {
|
7639 |
-
right: 76.66666666666667%;
|
7640 |
-
}
|
7641 |
-
.col-lg-pull-47 {
|
7642 |
-
right: 78.33333333333333%;
|
7643 |
-
}
|
7644 |
-
.col-lg-pull-48 {
|
7645 |
-
right: 80%;
|
7646 |
-
}
|
7647 |
-
.col-lg-pull-49 {
|
7648 |
-
right: 81.66666666666667%;
|
7649 |
-
}
|
7650 |
-
.col-lg-pull-50 {
|
7651 |
-
right: 83.33333333333333%;
|
7652 |
-
}
|
7653 |
-
.col-lg-pull-51 {
|
7654 |
-
right: 85%;
|
7655 |
-
}
|
7656 |
-
.col-lg-pull-52 {
|
7657 |
-
right: 86.66666666666667%;
|
7658 |
-
}
|
7659 |
-
.col-lg-pull-53 {
|
7660 |
-
right: 88.33333333333333%;
|
7661 |
-
}
|
7662 |
-
.col-lg-pull-54 {
|
7663 |
-
right: 90%;
|
7664 |
-
}
|
7665 |
-
.col-lg-pull-55 {
|
7666 |
-
right: 91.66666666666667%;
|
7667 |
-
}
|
7668 |
-
.col-lg-pull-56 {
|
7669 |
-
right: 93.33333333333333%;
|
7670 |
-
}
|
7671 |
-
.col-lg-pull-57 {
|
7672 |
-
right: 95%;
|
7673 |
-
}
|
7674 |
-
.col-lg-pull-58 {
|
7675 |
-
right: 96.66666666666667%;
|
7676 |
-
}
|
7677 |
-
.col-lg-pull-59 {
|
7678 |
-
right: 98.33333333333333%;
|
7679 |
-
}
|
7680 |
-
.col-lg-offset-0 {
|
7681 |
-
margin-left: 0
|
7682 |
-
}
|
7683 |
-
.col-lg-offset-1 {
|
7684 |
-
margin-left: 1.666666666666667%;
|
7685 |
-
}
|
7686 |
-
.col-lg-offset-2 {
|
7687 |
-
margin-left: 3.333333333333333%;
|
7688 |
-
}
|
7689 |
-
.col-lg-offset-3 {
|
7690 |
-
margin-left: 5%;
|
7691 |
-
}
|
7692 |
-
.col-lg-offset-4 {
|
7693 |
-
margin-left: 6.666666666666667%;
|
7694 |
-
}
|
7695 |
-
.col-lg-offset-5 {
|
7696 |
-
margin-left: 8.333333333333333%;
|
7697 |
-
}
|
7698 |
-
.col-lg-offset-6 {
|
7699 |
-
margin-left: 10%;
|
7700 |
-
}
|
7701 |
-
.col-lg-offset-7 {
|
7702 |
-
margin-left: 11.66666666666667%;
|
7703 |
-
}
|
7704 |
-
.col-lg-offset-8 {
|
7705 |
-
margin-left: 13.33333333333333%;
|
7706 |
-
}
|
7707 |
-
.col-lg-offset-9 {
|
7708 |
-
margin-left: 15%;
|
7709 |
-
}
|
7710 |
-
.col-lg-offset-10 {
|
7711 |
-
margin-left: 16.66666666666667%;
|
7712 |
-
}
|
7713 |
-
.col-lg-offset-11 {
|
7714 |
-
margin-left: 18.33333333333333%;
|
7715 |
-
}
|
7716 |
-
.col-lg-offset-12 {
|
7717 |
-
margin-left: 20%;
|
7718 |
-
}
|
7719 |
-
.col-lg-offset-13 {
|
7720 |
-
margin-left: 21.66666666666667%;
|
7721 |
-
}
|
7722 |
-
.col-lg-offset-14 {
|
7723 |
-
margin-left: 23.33333333333333%;
|
7724 |
-
}
|
7725 |
-
.col-lg-offset-15 {
|
7726 |
-
margin-left: 25%;
|
7727 |
-
}
|
7728 |
-
.col-lg-offset-16 {
|
7729 |
-
margin-left: 26.66666666666667%;
|
7730 |
-
}
|
7731 |
-
.col-lg-offset-17 {
|
7732 |
-
margin-left: 28.33333333333333%;
|
7733 |
-
}
|
7734 |
-
.col-lg-offset-18 {
|
7735 |
-
margin-left: 30%;
|
7736 |
-
}
|
7737 |
-
.col-lg-offset-19 {
|
7738 |
-
margin-left: 31.66666666666667%;
|
7739 |
-
}
|
7740 |
-
.col-lg-offset-20 {
|
7741 |
-
margin-left: 33.33333333333333%;
|
7742 |
-
}
|
7743 |
-
.col-lg-offset-21 {
|
7744 |
-
margin-left: 35%;
|
7745 |
-
}
|
7746 |
-
.col-lg-offset-22 {
|
7747 |
-
margin-left: 36.66666666666667%;
|
7748 |
-
}
|
7749 |
-
.col-lg-offset-23 {
|
7750 |
-
margin-left: 38.33333333333333%;
|
7751 |
-
}
|
7752 |
-
.col-lg-offset-24 {
|
7753 |
-
margin-left: 40%;
|
7754 |
-
}
|
7755 |
-
.col-lg-offset-25 {
|
7756 |
-
margin-left: 41.66666666666667%;
|
7757 |
-
}
|
7758 |
-
.col-lg-offset-26 {
|
7759 |
-
margin-left: 43.33333333333333%;
|
7760 |
-
}
|
7761 |
-
.col-lg-offset-27 {
|
7762 |
-
margin-left: 45%;
|
7763 |
-
}
|
7764 |
-
.col-lg-offset-28 {
|
7765 |
-
margin-left: 46.66666666666667%;
|
7766 |
-
}
|
7767 |
-
.col-lg-offset-29 {
|
7768 |
-
margin-left: 48.33333333333333%;
|
7769 |
-
}
|
7770 |
-
.col-lg-offset-30 {
|
7771 |
-
margin-left: 50%;
|
7772 |
-
}
|
7773 |
-
.col-lg-offset-31 {
|
7774 |
-
margin-left: 51.66666666666667%;
|
7775 |
-
}
|
7776 |
-
.col-lg-offset-32 {
|
7777 |
-
margin-left: 53.33333333333333%;
|
7778 |
-
}
|
7779 |
-
.col-lg-offset-33 {
|
7780 |
-
margin-left: 55%;
|
7781 |
-
}
|
7782 |
-
.col-lg-offset-34 {
|
7783 |
-
margin-left: 56.66666666666667%;
|
7784 |
-
}
|
7785 |
-
.col-lg-offset-35 {
|
7786 |
-
margin-left: 58.33333333333333%;
|
7787 |
-
}
|
7788 |
-
.col-lg-offset-36 {
|
7789 |
-
margin-left: 60%;
|
7790 |
-
}
|
7791 |
-
.col-lg-offset-37 {
|
7792 |
-
margin-left: 61.66666666666667%;
|
7793 |
-
}
|
7794 |
-
.col-lg-offset-38 {
|
7795 |
-
margin-left: 63.33333333333333%;
|
7796 |
-
}
|
7797 |
-
.col-lg-offset-39 {
|
7798 |
-
margin-left: 65%;
|
7799 |
-
}
|
7800 |
-
.col-lg-offset-40 {
|
7801 |
-
margin-left: 66.66666666666667%;
|
7802 |
-
}
|
7803 |
-
.col-lg-offset-41 {
|
7804 |
-
margin-left: 68.33333333333333%;
|
7805 |
-
}
|
7806 |
-
.col-lg-offset-42 {
|
7807 |
-
margin-left: 70%;
|
7808 |
-
}
|
7809 |
-
.col-lg-offset-43 {
|
7810 |
-
margin-left: 71.66666666666667%;
|
7811 |
-
}
|
7812 |
-
.col-lg-offset-44 {
|
7813 |
-
margin-left: 73.33333333333333%;
|
7814 |
-
}
|
7815 |
-
.col-lg-offset-45 {
|
7816 |
-
margin-left: 75%;
|
7817 |
-
}
|
7818 |
-
.col-lg-offset-46 {
|
7819 |
-
margin-left: 76.66666666666667%;
|
7820 |
-
}
|
7821 |
-
.col-lg-offset-47 {
|
7822 |
-
margin-left: 78.33333333333333%;
|
7823 |
-
}
|
7824 |
-
.col-lg-offset-48 {
|
7825 |
-
margin-left: 80%;
|
7826 |
-
}
|
7827 |
-
.col-lg-offset-49 {
|
7828 |
-
margin-left: 81.66666666666667%;
|
7829 |
-
}
|
7830 |
-
.col-lg-offset-50 {
|
7831 |
-
margin-left: 83.33333333333333%;
|
7832 |
-
}
|
7833 |
-
.col-lg-offset-51 {
|
7834 |
-
margin-left: 85%;
|
7835 |
-
}
|
7836 |
-
.col-lg-offset-52 {
|
7837 |
-
margin-left: 86.66666666666667%;
|
7838 |
-
}
|
7839 |
-
.col-lg-offset-53 {
|
7840 |
-
margin-left: 88.33333333333333%;
|
7841 |
-
}
|
7842 |
-
.col-lg-offset-54 {
|
7843 |
-
margin-left: 90%;
|
7844 |
-
}
|
7845 |
-
.col-lg-offset-55 {
|
7846 |
-
margin-left: 91.66666666666667%;
|
7847 |
-
}
|
7848 |
-
.col-lg-offset-56 {
|
7849 |
-
margin-left: 93.33333333333333%;
|
7850 |
-
}
|
7851 |
-
.col-lg-offset-57 {
|
7852 |
-
margin-left: 95%;
|
7853 |
-
}
|
7854 |
-
.col-lg-offset-58 {
|
7855 |
-
margin-left: 96.66666666666667%;
|
7856 |
-
}
|
7857 |
-
.col-lg-offset-59 {
|
7858 |
-
margin-left: 98.33333333333333%;
|
7859 |
-
}
|
1 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
/*common mobile*/
|
3 |
.blue-link {
|
4 |
font-size: 14px;
|
36 |
label.label-radio.inactive, label.label-checkbox.inactive {
|
37 |
cursor: default;
|
38 |
}
|
39 |
+
input[type="radio"] {
|
40 |
display: none;
|
41 |
}
|
42 |
label.label-radio:before, label.label-checkbox:before {
|
222 |
margin: 0;
|
223 |
}
|
224 |
.pad-0 {
|
225 |
+
padding: 0 !important;
|
226 |
}
|
227 |
.pad-top-5 {
|
228 |
padding-top: 5px;
|
273 |
padding-bottom: 10px;
|
274 |
}
|
275 |
.pad-btm-20 {
|
276 |
+
padding-bottom: 20px !important;
|
277 |
}
|
278 |
.pad-btm-40 {
|
279 |
padding-bottom: 40px;
|
1266 |
text-align: right;
|
1267 |
color: #4f5555;
|
1268 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1269 |
|
|
|
|
|
|
|
1270 |
|
1271 |
/* common keyword list mobile ends*/
|
1272 |
/* payment mobile*/
|
1678 |
|
1679 |
.header-pricing {
|
1680 |
padding: 60px 0px 40px 0px;
|
1681 |
+
font-family: "Helvetica Neue",Helvetica,sans-serif;
|
1682 |
+
|
1683 |
}
|
1684 |
.top-header-pricing {
|
1685 |
font-weight: 300;
|
1689 |
}
|
1690 |
.center-pricing-bottom
|
1691 |
{
|
1692 |
+
font-family: "Helvetica Neue",Helvetica,sans-serif;
|
1693 |
}
|
1694 |
.top-center-pricing
|
1695 |
{
|
1696 |
font-size: 24px;
|
1697 |
+
font-weight: 300;
|
1698 |
margin-bottom: 10px;
|
1699 |
}
|
1700 |
.middle-center-pricing
|
1701 |
{
|
1702 |
font-size: 16px;
|
1703 |
+
|
1704 |
color: #7f8585;
|
1705 |
margin-bottom: 30px;
|
1706 |
}
|
1712 |
.container-pricing
|
1713 |
{
|
1714 |
padding: 60px 0px;
|
1715 |
+
font-family: "Helvetica Neue",Helvetica,sans-serif;
|
1716 |
}
|
1717 |
.center-pricing-top
|
1718 |
{
|
1990 |
{
|
1991 |
background-color: #fff;
|
1992 |
padding: 13px 75px 13px 25px;
|
1993 |
+
font-family: "Helvetica Neue",Helvetica,sans-serif;
|
1994 |
}
|
1995 |
.nav-dashboard>li>a
|
1996 |
{
|
2014 |
background-color: #fff;
|
2015 |
border: 1px solid #dedede;
|
2016 |
padding-top: 8px;
|
2017 |
+
|
2018 |
}
|
2019 |
|
2020 |
.dashboard-menu-dropdown {
|
2035 |
box-shadow: none;
|
2036 |
font-weight: medium;
|
2037 |
background-color: transparent !important;
|
2038 |
+
|
2039 |
color: #464646;
|
2040 |
}
|
2041 |
.dashboard-menu-dropdown > li > a {
|
2048 |
border-right: 1px solid #dedede;
|
2049 |
height: 40px;
|
2050 |
font-size:16px;
|
2051 |
+
|
2052 |
color: #464646;
|
2053 |
}
|
2054 |
.dashboard-menu-dropdown > li:last-child > a {
|
2127 |
{
|
2128 |
margin-top: 10px;
|
2129 |
font-size: 16px;
|
2130 |
+
|
2131 |
color: #4d4d4d !important;
|
2132 |
|
2133 |
|
2240 |
{
|
2241 |
color: #4e5356;
|
2242 |
font-size: 18px;
|
2243 |
+
|
2244 |
}
|
2245 |
.in-grp-merchandise
|
2246 |
{
|
2378 |
{
|
2379 |
color: #4d4d4d;
|
2380 |
font-size:16px;
|
2381 |
+
font-weight: 300;
|
2382 |
padding-left:12px;
|
2383 |
border:1px solid #ece7e7;
|
2384 |
background-color: #fff;
|
2391 |
border-right: 1px solid #ece7e7;
|
2392 |
height: 40px;
|
2393 |
font-size:16px;
|
2394 |
+
|
2395 |
border-top:none;
|
2396 |
}
|
2397 |
.merchandise-menu-dropdown > li:first-child > a
|
2423 |
padding-top: 3px;
|
2424 |
color: #fff !important;
|
2425 |
font-size: 16px;
|
2426 |
+
font-weight: 300;
|
2427 |
text-decoration: none;
|
2428 |
vertical-align: middle;
|
2429 |
border-right: none;
|
2609 |
|
2610 |
background: #ac1d1c url('../img/arrow-white-top-button.png') no-repeat 93%;
|
2611 |
font-family: proxima-nova, Arial, sans-serif !important;
|
2612 |
+
font-size: 16px;font-style: normal;
|
2613 |
-webkit-border-radius: 5px;
|
2614 |
-moz-border-radius: 5px;
|
2615 |
border-radius: 5px;
|
3270 |
position: relative;
|
3271 |
display: inline-block;
|
3272 |
vertical-align: middle;
|
3273 |
+
font-size: 14px;
|
3274 |
zoom: 1;
|
3275 |
*display: inline;
|
3276 |
-webkit-user-select: none;
|
3285 |
width: 360px !important;
|
3286 |
}
|
3287 |
.chosen-container .chosen-drop {
|
|
|
3288 |
top: 100%;
|
|
|
3289 |
z-index: 1010;
|
3290 |
-webkit-box-sizing: border-box;
|
3291 |
-moz-box-sizing: border-box;
|
3292 |
box-sizing: border-box;
|
|
|
|
|
3293 |
border-top: 0;
|
3294 |
+
/*background: #fdfdfd;*/
|
3295 |
box-shadow: none;
|
3296 |
+
margin-top: 0px;
|
3297 |
+
}
|
3298 |
+
.middle-nav-dropdown .chosen-container .chosen-drop {
|
3299 |
+
width: 101% !important;
|
3300 |
+
/*border-top: 0;*/
|
3301 |
+
/*border: 1px solid #cddbde;*/
|
3302 |
+
border: 0;
|
3303 |
+
margin-top: 1px;
|
3304 |
+
margin-left: -1px;
|
3305 |
+
}
|
3306 |
+
.middle-nav-dropdown .chosen-container .chosen-drop ul,{
|
3307 |
+
border: 0px;
|
3308 |
}
|
3309 |
.chosen-container.chosen-with-drop .chosen-drop {
|
3310 |
left: 0;
|
3324 |
box-shadow: none;
|
3325 |
background-color: #fdfdfd;
|
3326 |
background-clip: padding-box;
|
3327 |
+
color: #4e5356;
|
3328 |
text-decoration: none;
|
3329 |
white-space: nowrap;
|
3330 |
vertical-align: middle !important;
|
3364 |
height: 40px !important;
|
3365 |
vertical-align: middle;
|
3366 |
display: table-cell;
|
3367 |
+
/*border-bottom: 1px solid #ece7e7;*/
|
3368 |
+
width: 380px;
|
3369 |
+
border-top: 0 !important;
|
3370 |
}
|
3371 |
.chosen-container-single .chosen-search input[type="text"] {
|
3372 |
-webkit-box-sizing: border-box;
|
3375 |
margin: 1px 0;
|
3376 |
padding: 4px 20px 4px 5px;
|
3377 |
width: 100%;
|
3378 |
+
height: 100%;
|
3379 |
outline: 0;
|
3380 |
border: none;
|
3381 |
font-size: 16px;
|
3386 |
background: #fdfdfd;
|
3387 |
}
|
3388 |
.chosen-container-single .chosen-drop {
|
3389 |
+
/*margin-top: -1px;*/
|
3390 |
border-radius: 0 0 4px 4px;
|
3391 |
+
/*background-clip: padding-box;*/
|
3392 |
border-top: 1px solid #ece7e7;
|
3393 |
+
margin-left: -2px;
|
3394 |
}
|
3395 |
.chosen-container-single.chosen-container-single-nosearch .chosen-search {
|
3396 |
position: absolute;
|
3545 |
}
|
3546 |
.chosen-container-active .chosen-single {
|
3547 |
border: 1px solid #ece7e7;
|
3548 |
+
color: #1a1c1c !important;
|
3549 |
}
|
3550 |
.chosen-container-active.chosen-with-drop .chosen-single {
|
3551 |
border: 1px solid #ece7e7;
|
3792 |
}
|
3793 |
.inner-container-magento
|
3794 |
{
|
|
|
3795 |
left:240px;
|
3796 |
right:0;
|
3797 |
padding:0px;
|
3798 |
background-color:#f3f6f6;
|
3799 |
+
font-family: "Helvetica Neue",Helvetica,sans-serif;
|
3800 |
+
max-width: 1250px;
|
3801 |
+
font-size: 13px;
|
3802 |
}
|
3803 |
.button-black-magento
|
3804 |
{
|
3809 |
text-align: center;
|
3810 |
color: #fdfdfd !important;
|
3811 |
font-size:16px;
|
3812 |
+
font-weight: 300;
|
3813 |
padding-top:9px;
|
3814 |
}
|
3815 |
.button-black-magento:hover
|
3838 |
text-align: center;
|
3839 |
color: #fdfdfd !important;
|
3840 |
font-size:16px;
|
3841 |
+
font-weight: 300;
|
3842 |
padding-top:9px;
|
3843 |
}
|
3844 |
.button-black-magento1:hover
|
3870 |
.magento-inner-block
|
3871 |
{
|
3872 |
border: 1px solid #cddbde;
|
3873 |
+
padding:15px 50px 30px 50px;
|
3874 |
background-color: #fff;
|
3875 |
}
|
3876 |
.magento-head
|
3877 |
{
|
3878 |
+
color: #4e5356;
|
3879 |
+
font-size:24px;
|
3880 |
+
font-weight:300;
|
3881 |
}
|
3882 |
.magento-subhead
|
3883 |
{
|
3884 |
+
color:#4e5356;
|
3885 |
+
font-size: 25px;
|
3886 |
+
font-weight: 400;
|
3887 |
}
|
3888 |
.font-16
|
3889 |
{
|
3895 |
}
|
3896 |
.magento-text
|
3897 |
{
|
3898 |
+
color: #929494;
|
3899 |
+
font-size: 16px;
|
3900 |
+
font-weight: 300;
|
3901 |
+
letter-spacing: 1px;
|
3902 |
}
|
3903 |
.text1
|
3904 |
{
|
3905 |
+
color: #929494;
|
|
|
3906 |
}
|
3907 |
.text2
|
3908 |
{
|
3986 |
border-right: 1px solid #dee2e4 !important;
|
3987 |
color: #5c656a;
|
3988 |
font-size: 14px;
|
3989 |
+
|
3990 |
height: 44px !important;
|
3991 |
padding-left: 23px;
|
3992 |
vertical-align: middle;
|
4077 |
}
|
4078 |
.magento-label
|
4079 |
{
|
4080 |
+
color: #ffffff;
|
4081 |
+
font-weight: 300;
|
4082 |
+
font-size: 16px;
|
4083 |
}
|
4084 |
.magento-input
|
4085 |
{
|
4086 |
+
width: 100%;
|
4087 |
height: 40px;
|
4088 |
border-radius: 3px;
|
4089 |
background-color: #fcfcfc;
|
4091 |
font-size: 16px;
|
4092 |
color: #1a1c1c;
|
4093 |
border:1px solid #cbcbcb;
|
|
|
4094 |
}
|
4095 |
.middle-nav-magento-dropdown {
|
4096 |
/*position:absolute; */
|
4097 |
left:0px;
|
4098 |
width:240px;
|
4099 |
+
font-family: "Helvetica Neue",Helvetica,sans-serif;
|
4100 |
/*top:160px;*/
|
4101 |
}
|
4102 |
.middle-nav-text
|
4116 |
/*left:0px; */
|
4117 |
/*width:240px;*/
|
4118 |
/*height:920px;*/
|
4119 |
+
font-family: "Helvetica Neue",Helvetica,sans-serif;
|
4120 |
/*top:255px;*/
|
4121 |
}
|
4122 |
ul.magento-nav {
|
4125 |
list-style-type: none;
|
4126 |
padding: 0;
|
4127 |
margin: 0;
|
4128 |
+
height: 100vh;
|
4129 |
+
}
|
4130 |
+
ul.magento-nav li:not(.magento-active):hover{
|
4131 |
+
background-color: #4C5153;
|
4132 |
}
|
4133 |
ul.magento-nav li {
|
4134 |
display: block;
|
4139 |
display: block;
|
4140 |
float: left;
|
4141 |
color: #fff !important;
|
4142 |
+
padding: 13px 0px 13px 30px;
|
4143 |
font-size: 16px;
|
4144 |
+
font-weight: 300;
|
4145 |
width:100%;
|
4146 |
border-bottom:1px solid #4e5253;
|
4147 |
+
}
|
4148 |
+
ul.magento-nav li:not(.magento-active) a {
|
4149 |
+
background: url('../img/arrow-inactive.png') no-repeat 90%;
|
4150 |
+
}
|
4151 |
+
ul.magento-nav li:not(.magento-active) a:hover{
|
4152 |
background: url('../img/arrow-white.png') no-repeat 90%;
|
4153 |
}
|
4154 |
ul.magento-nav li a.magento-active
|
4155 |
{
|
|
|
4156 |
border-top:1px solid #4e5253;
|
4157 |
border-bottom:1px solid #4e5253;
|
4158 |
+
background: url('../img/arrow-white.png') no-repeat 90% !important;
|
4159 |
}
|
4160 |
.magento-tooltip
|
4161 |
{
|
4170 |
background: url('../img/not-detected.png') no-repeat 5%;
|
4171 |
}
|
4172 |
input.magento-input::-webkit-input-placeholder { color: #b8bcc0;}
|
4173 |
+
.chosen-search input[type="text"]:focus,
|
4174 |
input[type="text"]:focus
|
4175 |
{
|
4176 |
outline:none;
|
4177 |
+
border: 1px solid #05b4ae;
|
4178 |
+
width: 100%;
|
4179 |
}
|
4180 |
input[type="email"]:focus
|
4181 |
{
|
4189 |
{
|
4190 |
outline:none;
|
4191 |
}
|
4192 |
+
.label-checkbox-magento {
|
4193 |
font-family: proxima-nova, Arial, sans-serif !important;
|
4194 |
+
font-family: "Helvetica Neue",Helvetica,sans-serif;
|
4195 |
+
|
4196 |
color: #5c656a !important;
|
4197 |
font-size: 16px !important;
|
4198 |
padding-left: 37px !important;
|
4232 |
-webkit-box-shadow: none;
|
4233 |
box-shadow: none;
|
4234 |
color: #5c656a;
|
4235 |
+
|
4236 |
background-color: transparent !important;
|
4237 |
}
|
4238 |
.dropdown-menu-magento > li:first-child > a
|
4330 |
-webkit-box-shadow: none;
|
4331 |
box-shadow: none;
|
4332 |
color: #5c656a;
|
4333 |
+
|
4334 |
background-color: transparent !important;
|
4335 |
}
|
4336 |
.dropdown-menu-nav-magento > li:first-child > a
|
4440 |
}
|
4441 |
.main-section
|
4442 |
{
|
4443 |
+
font-family: "Helvetica Neue",Helvetica,sans-serif;
|
4444 |
+
font-family: "Helvetica Neue",Helvetica,sans-serif;
|
4445 |
}
|
4446 |
.mar-top-50
|
4447 |
{
|
4478 |
{
|
4479 |
color:#4e5356;
|
4480 |
font-size:24px;
|
4481 |
+
font-weight: 300;
|
4482 |
}
|
4483 |
.color-gray
|
4484 |
{
|
4576 |
{
|
4577 |
color:#2c3e4c;
|
4578 |
font-size:18px;
|
4579 |
+
font-weight: 300;
|
4580 |
text-align: center;
|
4581 |
}
|
4582 |
.steps-row1
|
4654 |
margin-top:-3px;
|
4655 |
}
|
4656 |
.mar-top-20
|
4657 |
+
{
|
4658 |
+
margin-top:20px;
|
4659 |
+
}
|
4660 |
+
.mar-top-15
|
4661 |
{
|
4662 |
margin-top:15px;
|
4663 |
}
|
4672 |
.steps-text-active
|
4673 |
{
|
4674 |
font-size: 15px;
|
4675 |
+
font-weight: 300;
|
4676 |
color: #45b5c1;
|
4677 |
text-align: center
|
4678 |
}
|
4679 |
.steps-text
|
4680 |
{
|
4681 |
font-size: 15px;
|
4682 |
+
font-weight: 300;
|
4683 |
color: #929494;
|
4684 |
text-align: center;
|
4685 |
}
|
4686 |
.dashboard-label
|
4687 |
{
|
4688 |
color: #4e5356;
|
4689 |
+
font-weight: 300;
|
4690 |
font-size: 18px;
|
4691 |
}
|
4692 |
.dashboard-input
|
4706 |
height:40px;
|
4707 |
width:290px !important;
|
4708 |
border:1px solid #d9dede;
|
4709 |
+
|
4710 |
font-size: 16px;
|
4711 |
color: #182b3a;
|
4712 |
box-shadow: none !important;
|
4759 |
border-top-left-radius: 4px;
|
4760 |
border-bottom-right-radius: 4px;
|
4761 |
float: right;
|
4762 |
+
font-family: "Helvetica Neue",Helvetica,sans-serif;
|
4763 |
font-size: 14px;
|
4764 |
font-weight:400;
|
4765 |
padding: 5px 0;
|
4833 |
}
|
4834 |
.button-edit-magento
|
4835 |
{
|
4836 |
+
height:32px;
|
4837 |
+
border-radius:3px;
|
4838 |
+
background: #fff url('../img/edit-magento.png') no-repeat 10%;
|
4839 |
+
color: #5c656a !important;
|
4840 |
+
padding-top:6%;
|
4841 |
+
padding-left: 33px;
|
|
|
|
|
|
|
4842 |
}
|
4843 |
.button-save-magento
|
4844 |
{
|
4845 |
+
background: #fff url('../img/save.png') no-repeat;
|
4846 |
+
background-position: 10px;
|
4847 |
}
|
4848 |
.magento-success-block
|
4849 |
{
|
4850 |
padding: 14px 5px 14px 35px;
|
4851 |
+
background-color: #20af7f;
|
4852 |
border:1px solid #30a880;
|
4853 |
+
border-radius: 3px;
|
4854 |
}
|
4855 |
.magento-analytics-tick-green
|
4856 |
{
|
4861 |
margin:0px auto;
|
4862 |
float:none;
|
4863 |
margin-right:10px !important;
|
4864 |
+
margin-top: 4px;
|
4865 |
}
|
4866 |
.magento-success-block-head
|
4867 |
{
|
4868 |
+
color: #ffffff;
|
4869 |
+
font-size: 21.93px;
|
4870 |
+
font-weight: 400;
|
4871 |
}
|
4872 |
.magento-success-block-text
|
4873 |
{
|
4874 |
color: #fff;
|
4875 |
+
font-size: 14.62px;
|
4876 |
+
font-weight:300;
|
|
|
4877 |
}
|
4878 |
.mar-top-15
|
4879 |
{
|
4881 |
}
|
4882 |
.button-reauth-magento
|
4883 |
{
|
4884 |
+
border: 2px solid #20af7f;
|
4885 |
+
height:42px;
|
4886 |
+
border-radius:3px;
|
4887 |
+
font-size:14px;
|
4888 |
+
font-weight: 400;
|
4889 |
+
padding-top:10px;
|
4890 |
+
text-align: center;
|
4891 |
+
color: #20af7f;
|
4892 |
+
background: #FFF;
|
4893 |
+
border-radius: 5px;
|
4894 |
+
color: #929494;
|
|
|
|
|
|
|
|
|
4895 |
text-align: center;
|
4896 |
+
}
|
4897 |
+
.button-reauth-magento:hover{
|
4898 |
+
color: #20af7f;
|
4899 |
+
border: 2px solid #1A9B6F;
|
|
|
|
|
|
|
4900 |
}
|
4901 |
#transparency
|
4902 |
{
|
4936 |
text-align: center;
|
4937 |
color: #fff !important;
|
4938 |
font-size:16px;
|
4939 |
+
font-weight: 300;
|
4940 |
}
|
4941 |
.button-blue1-middle:hover
|
4942 |
{
|
4964 |
text-align: center;
|
4965 |
color: #fdfdfd !important;
|
4966 |
font-size:16px;
|
4967 |
+
font-weight: 300;
|
4968 |
padding-top:9px;
|
4969 |
}
|
4970 |
.button-black-middle:hover
|
4996 |
padding-left: 55px;
|
4997 |
color: #5c656a !important;
|
4998 |
font-size:18px;
|
4999 |
+
font-weight: 300;
|
5000 |
}
|
5001 |
.button-install:hover
|
5002 |
{
|
5020 |
padding-left: 55px;
|
5021 |
color: #5c656a !important;
|
5022 |
font-size:18px;
|
5023 |
+
font-weight: 300;
|
5024 |
}
|
5025 |
.button-install1:hover
|
5026 |
{
|
5041 |
text-align: center;
|
5042 |
color: #fdfdfd !important;
|
5043 |
font-size:16px;
|
5044 |
+
font-weight: 300;
|
5045 |
padding-top:9px;
|
5046 |
}
|
5047 |
.button-send-instruct
|
5052 |
background: #fff url('../img/mail-new.png') no-repeat 97%;
|
5053 |
color: #3c3f40 !important;
|
5054 |
font-size:16px;
|
5055 |
+
font-weight: 300;
|
5056 |
padding-top:8px;
|
5057 |
padding-left: 20px;
|
5058 |
}
|
5064 |
background: #fff url('../img/back.png') no-repeat 5%;
|
5065 |
color: #3c3f40 !important;
|
5066 |
font-size:16px;
|
5067 |
+
font-weight: 300;
|
5068 |
padding-top:8px;
|
5069 |
padding-left: 42px;
|
5070 |
}
|
5076 |
background: #fff url('../img/arrow-2.png') no-repeat 92%;
|
5077 |
color: #3c3f40 !important;
|
5078 |
font-size:16px;
|
5079 |
+
font-weight: 300;
|
5080 |
padding-top:8px;
|
5081 |
padding-left: 20px;
|
5082 |
}
|
5157 |
}
|
5158 |
.tooltip-top {
|
5159 |
font-size: 16px;
|
5160 |
+
|
5161 |
color: #ffffff;
|
5162 |
margin-bottom: 10px;
|
5163 |
float: left;
|
5169 |
font-weight:400;
|
5170 |
}
|
5171 |
@media (min-width: 768px) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5172 |
|
5173 |
+
/*common tablet */
|
5174 |
+
.fixed-width-520 {
|
5175 |
+
margin: 0px auto;
|
5176 |
+
float: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5177 |
}
|
5178 |
+
.fixed-width-580 {
|
5179 |
+
margin: 0px auto;
|
5180 |
+
float: none;
|
5181 |
}
|
5182 |
+
.fixed-width-680 {
|
5183 |
+
margin: 0px auto;
|
5184 |
+
float: none;
|
5185 |
}
|
5186 |
+
.fixed-width-700 {
|
5187 |
+
margin: 0px auto;
|
5188 |
+
float: none;
|
5189 |
+
width: 700px !important;
|
5190 |
}
|
5191 |
+
.fixed-width-730 {
|
5192 |
+
margin: 0px auto;
|
5193 |
+
float: none;
|
5194 |
+
width: 730px !important;
|
5195 |
}
|
5196 |
+
.fixed-width-800 {
|
5197 |
+
margin: 0px auto;
|
5198 |
+
float: none;
|
5199 |
+
width: 800px !important;
|
5200 |
}
|
5201 |
+
.fixed-width-940 {
|
5202 |
+
margin: 0px auto;
|
5203 |
+
float: none;
|
5204 |
}
|
5205 |
+
.fixed-width-980 {
|
5206 |
+
margin: 0px auto;
|
5207 |
+
float: none;
|
5208 |
}
|
5209 |
+
.fixed-width-1080 {
|
5210 |
+
margin: 0px auto;
|
5211 |
+
float: none;
|
5212 |
}
|
5213 |
+
.fixed-width-1140 {
|
5214 |
+
margin: 0px auto;
|
5215 |
+
float: none;
|
5216 |
}
|
5217 |
+
|
5218 |
+
}
|
5219 |
+
@media (min-width: 980px) {
|
5220 |
+
/*commom desktop */
|
5221 |
+
.fixed-width-520 {
|
5222 |
+
margin: 0px auto;
|
5223 |
+
float: none;
|
5224 |
+
width: 520px !important;
|
5225 |
}
|
5226 |
+
.fixed-width-580 {
|
5227 |
+
margin: 0px auto;
|
5228 |
+
float: none;
|
5229 |
+
width: 580px !important;
|
5230 |
}
|
5231 |
+
.fixed-width-680 {
|
5232 |
+
margin: 0px auto;
|
5233 |
+
float: none;
|
5234 |
+
width: 680px !important;
|
5235 |
}
|
5236 |
+
.fixed-width-700 {
|
5237 |
+
margin: 0px auto;
|
5238 |
+
float: none;
|
5239 |
+
width: 700px;
|
5240 |
}
|
5241 |
+
.fixed-width-730 {
|
5242 |
+
margin: 0px auto;
|
5243 |
+
float: none;
|
5244 |
+
width: 730px;
|
5245 |
}
|
5246 |
+
.fixed-width-800 {
|
5247 |
+
margin: 0px auto;
|
5248 |
+
float: none;
|
5249 |
+
width: 800px;
|
5250 |
}
|
5251 |
+
.fixed-width-940 {
|
5252 |
+
margin: 0px auto;
|
5253 |
+
float: none;
|
5254 |
+
width: 940px;
|
5255 |
}
|
5256 |
+
.fixed-width-980 {
|
5257 |
+
margin: 0px auto;
|
5258 |
+
float: none;
|
5259 |
+
width: 980px;
|
5260 |
}
|
5261 |
+
.fixed-width-1080 {
|
5262 |
+
margin: 0px auto;
|
5263 |
+
float: none;
|
5264 |
+
width: 1080px;
|
5265 |
}
|
5266 |
+
.fixed-width-1140 {
|
5267 |
+
margin: 0px auto;
|
5268 |
+
float: none;
|
5269 |
+
width: 1140px;
|
5270 |
}
|
5271 |
+
.main-container {
|
5272 |
+
width: 100%;
|
5273 |
+
float: left;
|
5274 |
}
|
5275 |
+
.width-570 {
|
5276 |
+
width: 570px;
|
5277 |
}
|
5278 |
+
.width-680 {
|
5279 |
+
width: 680px;
|
5280 |
}
|
5281 |
+
/* dashboard widget conf desktop*/
|
5282 |
+
|
5283 |
+
.layout-block
|
5284 |
+
{
|
5285 |
+
float: left;
|
5286 |
+
width:442px;
|
5287 |
}
|
5288 |
+
}
|
5289 |
+
.pad-btm-15{
|
5290 |
+
padding-bottom: 15px !important;
|
5291 |
+
}
|
5292 |
+
.pad-5{
|
5293 |
+
padding: 5px;
|
5294 |
+
}
|
5295 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5296 |
|
5297 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
skin/adminhtml/default/default/unbxd/recscore/css/app1.css
ADDED
@@ -0,0 +1,1685 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
@media (min-width: 980px) {
|
3 |
+
|
4 |
+
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md-13, .col-md-14, .col-md-15, .col-md-16, .col-md-17, .col-md-18, .col-md-19, .col-md-20, .col-md-21, .col-md-22, .col-md-23, .col-md-24, .col-md-25, .col-md-26, .col-md-27, .col-md-28, .col-md-29, .col-md-30, .col-md-31, .col-md-32, .col-md-33, .col-md-34, .col-md-35, .col-md-36, .col-md-37, .col-md-38, .col-md-39, .col-md-40, .col-md-41, .col-md-42, .col-md-43, .col-md-44, .col-md-45, .col-md-46, .col-md-47, .col-md-48, .col-md-49, .col-md-50, .col-md-51, .col-md-52, .col-md-53, .col-md-54, .col-md-55, .col-md-56, .col-md-57, .col-md-58, .col-md-59 {
|
5 |
+
float: left;
|
6 |
+
}
|
7 |
+
.col-md-1 {
|
8 |
+
width: 1.666666666666667%;
|
9 |
+
}
|
10 |
+
.col-md-2 {
|
11 |
+
width: 3.333333333333333%;
|
12 |
+
}
|
13 |
+
.col-md-3 {
|
14 |
+
width: 5%;
|
15 |
+
}
|
16 |
+
.col-md-4 {
|
17 |
+
width: 6.666666666666667%;
|
18 |
+
}
|
19 |
+
.col-md-5 {
|
20 |
+
width: 8.333333333333333%;
|
21 |
+
}
|
22 |
+
.col-md-6 {
|
23 |
+
width: 10%;
|
24 |
+
}
|
25 |
+
.col-md-7 {
|
26 |
+
width: 11.66666666666667%;
|
27 |
+
}
|
28 |
+
.col-md-8 {
|
29 |
+
width: 13.33333333333333%;
|
30 |
+
}
|
31 |
+
.col-md-9 {
|
32 |
+
width: 15%;
|
33 |
+
}
|
34 |
+
.col-md-10 {
|
35 |
+
width: 16.66666666666667%;
|
36 |
+
}
|
37 |
+
.col-md-11 {
|
38 |
+
width: 18.33333333333333%;
|
39 |
+
}
|
40 |
+
.col-md-12 {
|
41 |
+
width: 20%;
|
42 |
+
}
|
43 |
+
.col-md-13 {
|
44 |
+
width: 21.66666666666667%;
|
45 |
+
}
|
46 |
+
.col-md-14 {
|
47 |
+
width: 23.33333333333333%;
|
48 |
+
}
|
49 |
+
.col-md-15 {
|
50 |
+
width: 25%;
|
51 |
+
}
|
52 |
+
.col-md-16 {
|
53 |
+
width: 26.66666666666667%;
|
54 |
+
}
|
55 |
+
.col-md-17 {
|
56 |
+
width: 28.33333333333333%;
|
57 |
+
}
|
58 |
+
.col-md-18 {
|
59 |
+
width: 30%;
|
60 |
+
}
|
61 |
+
.col-md-19 {
|
62 |
+
width: 31.66666666666667%;
|
63 |
+
}
|
64 |
+
.col-md-20 {
|
65 |
+
width: 33.33333333333333%;
|
66 |
+
}
|
67 |
+
.col-md-21 {
|
68 |
+
width: 35%;
|
69 |
+
}
|
70 |
+
.col-md-22 {
|
71 |
+
width: 36.66666666666667%;
|
72 |
+
}
|
73 |
+
.col-md-23 {
|
74 |
+
width: 38.33333333333333%;
|
75 |
+
}
|
76 |
+
.col-md-24 {
|
77 |
+
width: 40%;
|
78 |
+
}
|
79 |
+
.col-md-25 {
|
80 |
+
width: 41.66666666666667%;
|
81 |
+
}
|
82 |
+
.col-md-26 {
|
83 |
+
width: 43.33333333333333%;
|
84 |
+
}
|
85 |
+
.col-md-27 {
|
86 |
+
width: 45%;
|
87 |
+
}
|
88 |
+
.col-md-28 {
|
89 |
+
width: 46.66666666666667%;
|
90 |
+
}
|
91 |
+
.col-md-29 {
|
92 |
+
width: 48.33333333333333%;
|
93 |
+
}
|
94 |
+
.col-md-30 {
|
95 |
+
width: 50%;
|
96 |
+
}
|
97 |
+
.col-md-31 {
|
98 |
+
width: 51.66666666666667%;
|
99 |
+
}
|
100 |
+
.col-md-32 {
|
101 |
+
width: 53.33333333333333%;
|
102 |
+
}
|
103 |
+
.col-md-33 {
|
104 |
+
width: 55%;
|
105 |
+
}
|
106 |
+
.col-md-34 {
|
107 |
+
width: 56.66666666666667%;
|
108 |
+
}
|
109 |
+
.col-md-35 {
|
110 |
+
width: 58.33333333333333%;
|
111 |
+
}
|
112 |
+
.col-md-36 {
|
113 |
+
width: 60%;
|
114 |
+
}
|
115 |
+
.col-md-37 {
|
116 |
+
width: 61.66666666666667%;
|
117 |
+
}
|
118 |
+
.col-md-38 {
|
119 |
+
width: 63.33333333333333%;
|
120 |
+
}
|
121 |
+
.col-md-39 {
|
122 |
+
width: 65%;
|
123 |
+
}
|
124 |
+
.col-md-40 {
|
125 |
+
width: 66.66666666666667%;
|
126 |
+
}
|
127 |
+
.col-md-41 {
|
128 |
+
width: 68.33333333333333%;
|
129 |
+
}
|
130 |
+
.col-md-42 {
|
131 |
+
width: 70%;
|
132 |
+
}
|
133 |
+
.col-md-43 {
|
134 |
+
width: 71.66666666666667%;
|
135 |
+
}
|
136 |
+
.col-md-44 {
|
137 |
+
width: 73.33333333333333%;
|
138 |
+
}
|
139 |
+
.col-md-45 {
|
140 |
+
width: 75%;
|
141 |
+
}
|
142 |
+
.col-md-46 {
|
143 |
+
width: 76.66666666666667%;
|
144 |
+
}
|
145 |
+
.col-md-47 {
|
146 |
+
width: 78.33333333333333%;
|
147 |
+
}
|
148 |
+
.col-md-48 {
|
149 |
+
width: 80%;
|
150 |
+
}
|
151 |
+
.col-md-49 {
|
152 |
+
width: 81.66666666666667%;
|
153 |
+
}
|
154 |
+
.col-md-50 {
|
155 |
+
width: 83.33333333333333%;
|
156 |
+
}
|
157 |
+
.col-md-51 {
|
158 |
+
width: 85%;
|
159 |
+
}
|
160 |
+
.col-md-52 {
|
161 |
+
width: 86.66666666666667%;
|
162 |
+
}
|
163 |
+
.col-md-53 {
|
164 |
+
width: 88.33333333333333%;
|
165 |
+
}
|
166 |
+
.col-md-54 {
|
167 |
+
width: 90%;
|
168 |
+
}
|
169 |
+
.col-md-55 {
|
170 |
+
width: 91.66666666666667%;
|
171 |
+
}
|
172 |
+
.col-md-56 {
|
173 |
+
width: 93.33333333333333%;
|
174 |
+
}
|
175 |
+
.col-md-57 {
|
176 |
+
width: 95%;
|
177 |
+
}
|
178 |
+
.col-md-58 {
|
179 |
+
width: 96.66666666666667%;
|
180 |
+
}
|
181 |
+
.col-md-59 {
|
182 |
+
width: 98.33333333333333%;
|
183 |
+
}
|
184 |
+
.col-md-60 {
|
185 |
+
width: 100%;
|
186 |
+
}
|
187 |
+
.col-md-push-0 {
|
188 |
+
left: auto
|
189 |
+
}
|
190 |
+
.col-md-push-1 {
|
191 |
+
left: 1.666666666666667%;
|
192 |
+
}
|
193 |
+
.col-md-push-2 {
|
194 |
+
left: 3.333333333333333%;
|
195 |
+
}
|
196 |
+
.col-md-push-3 {
|
197 |
+
left: 5%;
|
198 |
+
}
|
199 |
+
.col-md-push-4 {
|
200 |
+
left: 6.666666666666667%;
|
201 |
+
}
|
202 |
+
.col-md-push-5 {
|
203 |
+
left: 8.333333333333333%;
|
204 |
+
}
|
205 |
+
.col-md-push-6 {
|
206 |
+
left: 10%;
|
207 |
+
}
|
208 |
+
.col-md-push-7 {
|
209 |
+
left: 11.66666666666667%;
|
210 |
+
}
|
211 |
+
.col-md-push-8 {
|
212 |
+
left: 13.33333333333333%;
|
213 |
+
}
|
214 |
+
.col-md-push-9 {
|
215 |
+
left: 15%;
|
216 |
+
}
|
217 |
+
.col-md-push-10 {
|
218 |
+
left: 16.66666666666667%;
|
219 |
+
}
|
220 |
+
.col-md-push-11 {
|
221 |
+
left: 18.33333333333333%;
|
222 |
+
}
|
223 |
+
.col-md-push-12 {
|
224 |
+
left: 20%;
|
225 |
+
}
|
226 |
+
.col-md-push-13 {
|
227 |
+
left: 21.66666666666667%;
|
228 |
+
}
|
229 |
+
.col-md-push-14 {
|
230 |
+
left: 23.33333333333333%;
|
231 |
+
}
|
232 |
+
.col-md-push-15 {
|
233 |
+
left: 25%;
|
234 |
+
}
|
235 |
+
.col-md-push-16 {
|
236 |
+
left: 26.66666666666667%;
|
237 |
+
}
|
238 |
+
.col-md-push-17 {
|
239 |
+
left: 28.33333333333333%;
|
240 |
+
}
|
241 |
+
.col-md-push-18 {
|
242 |
+
left: 30%;
|
243 |
+
}
|
244 |
+
.col-md-push-19 {
|
245 |
+
left: 31.66666666666667%;
|
246 |
+
}
|
247 |
+
.col-md-push-20 {
|
248 |
+
left: 33.33333333333333%;
|
249 |
+
}
|
250 |
+
.col-md-push-21 {
|
251 |
+
left: 35%;
|
252 |
+
}
|
253 |
+
.col-md-push-22 {
|
254 |
+
left: 36.66666666666667%;
|
255 |
+
}
|
256 |
+
.col-md-push-23 {
|
257 |
+
left: 38.33333333333333%;
|
258 |
+
}
|
259 |
+
.col-md-push-24 {
|
260 |
+
left: 40%;
|
261 |
+
}
|
262 |
+
.col-md-push-25 {
|
263 |
+
left: 41.66666666666667%;
|
264 |
+
}
|
265 |
+
.col-md-push-26 {
|
266 |
+
left: 43.33333333333333%;
|
267 |
+
}
|
268 |
+
.col-md-push-27 {
|
269 |
+
left: 45%;
|
270 |
+
}
|
271 |
+
.col-md-push-28 {
|
272 |
+
left: 46.66666666666667%;
|
273 |
+
}
|
274 |
+
.col-md-push-29 {
|
275 |
+
left: 48.33333333333333%;
|
276 |
+
}
|
277 |
+
.col-md-push-30 {
|
278 |
+
left: 50%;
|
279 |
+
}
|
280 |
+
.col-md-push-31 {
|
281 |
+
left: 51.66666666666667%;
|
282 |
+
}
|
283 |
+
.col-md-push-32 {
|
284 |
+
left: 53.33333333333333%;
|
285 |
+
}
|
286 |
+
.col-md-push-33 {
|
287 |
+
left: 55%;
|
288 |
+
}
|
289 |
+
.col-md-push-34 {
|
290 |
+
left: 56.66666666666667%;
|
291 |
+
}
|
292 |
+
.col-md-push-35 {
|
293 |
+
left: 58.33333333333333%;
|
294 |
+
}
|
295 |
+
.col-md-push-36 {
|
296 |
+
left: 60%;
|
297 |
+
}
|
298 |
+
.col-md-push-37 {
|
299 |
+
left: 61.66666666666667%;
|
300 |
+
}
|
301 |
+
.col-md-push-38 {
|
302 |
+
left: 63.33333333333333%;
|
303 |
+
}
|
304 |
+
.col-md-push-39 {
|
305 |
+
left: 65%;
|
306 |
+
}
|
307 |
+
.col-md-push-40 {
|
308 |
+
left: 66.66666666666667%;
|
309 |
+
}
|
310 |
+
.col-md-push-41 {
|
311 |
+
left: 68.33333333333333%;
|
312 |
+
}
|
313 |
+
.col-md-push-42 {
|
314 |
+
left: 70%;
|
315 |
+
}
|
316 |
+
.col-md-push-43 {
|
317 |
+
left: 71.66666666666667%;
|
318 |
+
}
|
319 |
+
.col-md-push-44 {
|
320 |
+
left: 73.33333333333333%;
|
321 |
+
}
|
322 |
+
.col-md-push-45 {
|
323 |
+
left: 75%;
|
324 |
+
}
|
325 |
+
.col-md-push-46 {
|
326 |
+
left: 76.66666666666667%;
|
327 |
+
}
|
328 |
+
.col-md-push-47 {
|
329 |
+
left: 78.33333333333333%;
|
330 |
+
}
|
331 |
+
.col-md-push-48 {
|
332 |
+
left: 80%;
|
333 |
+
}
|
334 |
+
.col-md-push-49 {
|
335 |
+
left: 81.66666666666667%;
|
336 |
+
}
|
337 |
+
.col-md-push-50 {
|
338 |
+
left: 83.33333333333333%;
|
339 |
+
}
|
340 |
+
.col-md-push-51 {
|
341 |
+
left: 85%;
|
342 |
+
}
|
343 |
+
.col-md-push-52 {
|
344 |
+
left: 86.66666666666667%;
|
345 |
+
}
|
346 |
+
.col-md-push-53 {
|
347 |
+
left: 88.33333333333333%;
|
348 |
+
}
|
349 |
+
.col-md-push-54 {
|
350 |
+
left: 90%;
|
351 |
+
}
|
352 |
+
.col-md-push-55 {
|
353 |
+
left: 91.66666666666667%;
|
354 |
+
}
|
355 |
+
.col-md-push-56 {
|
356 |
+
left: 93.33333333333333%;
|
357 |
+
}
|
358 |
+
.col-md-push-57 {
|
359 |
+
left: 95%;
|
360 |
+
}
|
361 |
+
.col-md-push-58 {
|
362 |
+
left: 96.66666666666667%;
|
363 |
+
}
|
364 |
+
.col-md-push-59 {
|
365 |
+
left: 98.33333333333333%;
|
366 |
+
}
|
367 |
+
.col-md-pull-0 {
|
368 |
+
right: auto
|
369 |
+
}
|
370 |
+
.col-md-pull-1 {
|
371 |
+
right: 1.666666666666667%;
|
372 |
+
}
|
373 |
+
.col-md-pull-2 {
|
374 |
+
right: 3.333333333333333%;
|
375 |
+
}
|
376 |
+
.col-md-pull-3 {
|
377 |
+
right: 5%;
|
378 |
+
}
|
379 |
+
.col-md-pull-4 {
|
380 |
+
right: 6.666666666666667%;
|
381 |
+
}
|
382 |
+
.col-md-pull-5 {
|
383 |
+
right: 8.333333333333333%;
|
384 |
+
}
|
385 |
+
.col-md-pull-6 {
|
386 |
+
right: 10%;
|
387 |
+
}
|
388 |
+
.col-md-pull-7 {
|
389 |
+
right: 11.66666666666667%;
|
390 |
+
}
|
391 |
+
.col-md-pull-8 {
|
392 |
+
right: 13.33333333333333%;
|
393 |
+
}
|
394 |
+
.col-md-pull-9 {
|
395 |
+
right: 15%;
|
396 |
+
}
|
397 |
+
.col-md-pull-10 {
|
398 |
+
right: 16.66666666666667%;
|
399 |
+
}
|
400 |
+
.col-md-pull-11 {
|
401 |
+
right: 18.33333333333333%;
|
402 |
+
}
|
403 |
+
.col-md-pull-12 {
|
404 |
+
right: 20%;
|
405 |
+
}
|
406 |
+
.col-md-pull-13 {
|
407 |
+
right: 21.66666666666667%;
|
408 |
+
}
|
409 |
+
.col-md-pull-14 {
|
410 |
+
right: 23.33333333333333%;
|
411 |
+
}
|
412 |
+
.col-md-pull-15 {
|
413 |
+
right: 25%;
|
414 |
+
}
|
415 |
+
.col-md-pull-16 {
|
416 |
+
right: 26.66666666666667%;
|
417 |
+
}
|
418 |
+
.col-md-pull-17 {
|
419 |
+
right: 28.33333333333333%;
|
420 |
+
}
|
421 |
+
.col-md-pull-18 {
|
422 |
+
right: 30%;
|
423 |
+
}
|
424 |
+
.col-md-pull-19 {
|
425 |
+
right: 31.66666666666667%;
|
426 |
+
}
|
427 |
+
.col-md-pull-20 {
|
428 |
+
right: 33.33333333333333%;
|
429 |
+
}
|
430 |
+
.col-md-pull-21 {
|
431 |
+
right: 35%;
|
432 |
+
}
|
433 |
+
.col-md-pull-22 {
|
434 |
+
right: 36.66666666666667%;
|
435 |
+
}
|
436 |
+
.col-md-pull-23 {
|
437 |
+
right: 38.33333333333333%;
|
438 |
+
}
|
439 |
+
.col-md-pull-24 {
|
440 |
+
right: 40%;
|
441 |
+
}
|
442 |
+
.col-md-pull-25 {
|
443 |
+
right: 41.66666666666667%;
|
444 |
+
}
|
445 |
+
.col-md-pull-26 {
|
446 |
+
right: 43.33333333333333%;
|
447 |
+
}
|
448 |
+
.col-md-pull-27 {
|
449 |
+
right: 45%;
|
450 |
+
}
|
451 |
+
.col-md-pull-28 {
|
452 |
+
right: 46.66666666666667%;
|
453 |
+
}
|
454 |
+
.col-md-pull-29 {
|
455 |
+
right: 48.33333333333333%;
|
456 |
+
}
|
457 |
+
.col-md-pull-30 {
|
458 |
+
right: 50%;
|
459 |
+
}
|
460 |
+
.col-md-pull-31 {
|
461 |
+
right: 51.66666666666667%;
|
462 |
+
}
|
463 |
+
.col-md-pull-32 {
|
464 |
+
right: 53.33333333333333%;
|
465 |
+
}
|
466 |
+
.col-md-pull-33 {
|
467 |
+
right: 55%;
|
468 |
+
}
|
469 |
+
.col-md-pull-34 {
|
470 |
+
right: 56.66666666666667%;
|
471 |
+
}
|
472 |
+
.col-md-pull-35 {
|
473 |
+
right: 58.33333333333333%;
|
474 |
+
}
|
475 |
+
.col-md-pull-36 {
|
476 |
+
right: 60%;
|
477 |
+
}
|
478 |
+
.col-md-pull-37 {
|
479 |
+
right: 61.66666666666667%;
|
480 |
+
}
|
481 |
+
.col-md-pull-38 {
|
482 |
+
right: 63.33333333333333%;
|
483 |
+
}
|
484 |
+
.col-md-pull-39 {
|
485 |
+
right: 65%;
|
486 |
+
}
|
487 |
+
.col-md-pull-40 {
|
488 |
+
right: 66.66666666666667%;
|
489 |
+
}
|
490 |
+
.col-md-pull-41 {
|
491 |
+
right: 68.33333333333333%;
|
492 |
+
}
|
493 |
+
.col-md-pull-42 {
|
494 |
+
right: 70%;
|
495 |
+
}
|
496 |
+
.col-md-pull-43 {
|
497 |
+
right: 71.66666666666667%;
|
498 |
+
}
|
499 |
+
.col-md-pull-44 {
|
500 |
+
right: 73.33333333333333%;
|
501 |
+
}
|
502 |
+
.col-md-pull-45 {
|
503 |
+
right: 75%;
|
504 |
+
}
|
505 |
+
.col-md-pull-46 {
|
506 |
+
right: 76.66666666666667%;
|
507 |
+
}
|
508 |
+
.col-md-pull-47 {
|
509 |
+
right: 78.33333333333333%;
|
510 |
+
}
|
511 |
+
.col-md-pull-48 {
|
512 |
+
right: 80%;
|
513 |
+
}
|
514 |
+
.col-md-pull-49 {
|
515 |
+
right: 81.66666666666667%;
|
516 |
+
}
|
517 |
+
.col-md-pull-50 {
|
518 |
+
right: 83.33333333333333%;
|
519 |
+
}
|
520 |
+
.col-md-pull-51 {
|
521 |
+
right: 85%;
|
522 |
+
}
|
523 |
+
.col-md-pull-52 {
|
524 |
+
right: 86.66666666666667%;
|
525 |
+
}
|
526 |
+
.col-md-pull-53 {
|
527 |
+
right: 88.33333333333333%;
|
528 |
+
}
|
529 |
+
.col-md-pull-54 {
|
530 |
+
right: 90%;
|
531 |
+
}
|
532 |
+
.col-md-pull-55 {
|
533 |
+
right: 91.66666666666667%;
|
534 |
+
}
|
535 |
+
.col-md-pull-56 {
|
536 |
+
right: 93.33333333333333%;
|
537 |
+
}
|
538 |
+
.col-md-pull-57 {
|
539 |
+
right: 95%;
|
540 |
+
}
|
541 |
+
.col-md-pull-58 {
|
542 |
+
right: 96.66666666666667%;
|
543 |
+
}
|
544 |
+
.col-md-pull-59 {
|
545 |
+
right: 98.33333333333333%;
|
546 |
+
}
|
547 |
+
.col-md-offset-0 {
|
548 |
+
margin-left: 0
|
549 |
+
}
|
550 |
+
.col-md-offset-1 {
|
551 |
+
margin-left: 1.666666666666667%;
|
552 |
+
}
|
553 |
+
.col-md-offset-2 {
|
554 |
+
margin-left: 3.333333333333333%;
|
555 |
+
}
|
556 |
+
.col-md-offset-3 {
|
557 |
+
margin-left: 5%;
|
558 |
+
}
|
559 |
+
.col-md-offset-4 {
|
560 |
+
margin-left: 6.666666666666667%;
|
561 |
+
}
|
562 |
+
.col-md-offset-5 {
|
563 |
+
margin-left: 8.333333333333333%;
|
564 |
+
}
|
565 |
+
.col-md-offset-6 {
|
566 |
+
margin-left: 10%;
|
567 |
+
}
|
568 |
+
.col-md-offset-7 {
|
569 |
+
margin-left: 11.66666666666667%;
|
570 |
+
}
|
571 |
+
.col-md-offset-8 {
|
572 |
+
margin-left: 13.33333333333333%;
|
573 |
+
}
|
574 |
+
.col-md-offset-9 {
|
575 |
+
margin-left: 15%;
|
576 |
+
}
|
577 |
+
.col-md-offset-10 {
|
578 |
+
margin-left: 16.66666666666667%;
|
579 |
+
}
|
580 |
+
.col-md-offset-11 {
|
581 |
+
margin-left: 18.33333333333333%;
|
582 |
+
}
|
583 |
+
.col-md-offset-12 {
|
584 |
+
margin-left: 20%;
|
585 |
+
}
|
586 |
+
.col-md-offset-13 {
|
587 |
+
margin-left: 21.66666666666667%;
|
588 |
+
}
|
589 |
+
.col-md-offset-14 {
|
590 |
+
margin-left: 23.33333333333333%;
|
591 |
+
}
|
592 |
+
.col-md-offset-15 {
|
593 |
+
margin-left: 25%;
|
594 |
+
}
|
595 |
+
.col-md-offset-16 {
|
596 |
+
margin-left: 26.66666666666667%;
|
597 |
+
}
|
598 |
+
.col-md-offset-17 {
|
599 |
+
margin-left: 28.33333333333333%;
|
600 |
+
}
|
601 |
+
.col-md-offset-18 {
|
602 |
+
margin-left: 30%;
|
603 |
+
}
|
604 |
+
.col-md-offset-19 {
|
605 |
+
margin-left: 31.66666666666667%;
|
606 |
+
}
|
607 |
+
.col-md-offset-20 {
|
608 |
+
margin-left: 33.33333333333333%;
|
609 |
+
}
|
610 |
+
.col-md-offset-21 {
|
611 |
+
margin-left: 35%;
|
612 |
+
}
|
613 |
+
.col-md-offset-22 {
|
614 |
+
margin-left: 36.66666666666667%;
|
615 |
+
}
|
616 |
+
.col-md-offset-23 {
|
617 |
+
margin-left: 38.33333333333333%;
|
618 |
+
}
|
619 |
+
.col-md-offset-24 {
|
620 |
+
margin-left: 40%;
|
621 |
+
}
|
622 |
+
.col-md-offset-25 {
|
623 |
+
margin-left: 41.66666666666667%;
|
624 |
+
}
|
625 |
+
.col-md-offset-26 {
|
626 |
+
margin-left: 43.33333333333333%;
|
627 |
+
}
|
628 |
+
.col-md-offset-27 {
|
629 |
+
margin-left: 45%;
|
630 |
+
}
|
631 |
+
.col-md-offset-28 {
|
632 |
+
margin-left: 46.66666666666667%;
|
633 |
+
}
|
634 |
+
.col-md-offset-29 {
|
635 |
+
margin-left: 48.33333333333333%;
|
636 |
+
}
|
637 |
+
.col-md-offset-30 {
|
638 |
+
margin-left: 50%;
|
639 |
+
}
|
640 |
+
.col-md-offset-31 {
|
641 |
+
margin-left: 51.66666666666667%;
|
642 |
+
}
|
643 |
+
.col-md-offset-32 {
|
644 |
+
margin-left: 53.33333333333333%;
|
645 |
+
}
|
646 |
+
.col-md-offset-33 {
|
647 |
+
margin-left: 55%;
|
648 |
+
}
|
649 |
+
.col-md-offset-34 {
|
650 |
+
margin-left: 56.66666666666667%;
|
651 |
+
}
|
652 |
+
.col-md-offset-35 {
|
653 |
+
margin-left: 58.33333333333333%;
|
654 |
+
}
|
655 |
+
.col-md-offset-36 {
|
656 |
+
margin-left: 60%;
|
657 |
+
}
|
658 |
+
.col-md-offset-37 {
|
659 |
+
margin-left: 61.66666666666667%;
|
660 |
+
}
|
661 |
+
.col-md-offset-38 {
|
662 |
+
margin-left: 63.33333333333333%;
|
663 |
+
}
|
664 |
+
.col-md-offset-39 {
|
665 |
+
margin-left: 65%;
|
666 |
+
}
|
667 |
+
.col-md-offset-40 {
|
668 |
+
margin-left: 66.66666666666667%;
|
669 |
+
}
|
670 |
+
.col-md-offset-41 {
|
671 |
+
margin-left: 68.33333333333333%;
|
672 |
+
}
|
673 |
+
.col-md-offset-42 {
|
674 |
+
margin-left: 70%;
|
675 |
+
}
|
676 |
+
.col-md-offset-43 {
|
677 |
+
margin-left: 71.66666666666667%;
|
678 |
+
}
|
679 |
+
.col-md-offset-44 {
|
680 |
+
margin-left: 73.33333333333333%;
|
681 |
+
}
|
682 |
+
.col-md-offset-45 {
|
683 |
+
margin-left: 75%;
|
684 |
+
}
|
685 |
+
.col-md-offset-46 {
|
686 |
+
margin-left: 76.66666666666667%;
|
687 |
+
}
|
688 |
+
.col-md-offset-47 {
|
689 |
+
margin-left: 78.33333333333333%;
|
690 |
+
}
|
691 |
+
.col-md-offset-48 {
|
692 |
+
margin-left: 80%;
|
693 |
+
}
|
694 |
+
.col-md-offset-49 {
|
695 |
+
margin-left: 81.6666666666667%;
|
696 |
+
}
|
697 |
+
.col-md-offset-50 {
|
698 |
+
margin-left: 83.33333333333333%;
|
699 |
+
}
|
700 |
+
.col-md-offset-51 {
|
701 |
+
margin-left: 85%;
|
702 |
+
}
|
703 |
+
.col-md-offset-52 {
|
704 |
+
margin-left: 86.66666666666667%;
|
705 |
+
}
|
706 |
+
.col-md-offset-53 {
|
707 |
+
margin-left: 88.33333333333333%;
|
708 |
+
}
|
709 |
+
.col-md-offset-54 {
|
710 |
+
margin-left: 90%;
|
711 |
+
}
|
712 |
+
.col-md-offset-55 {
|
713 |
+
margin-left: 91.66666666666667%;
|
714 |
+
}
|
715 |
+
.col-md-offset-56 {
|
716 |
+
margin-left: 93.33333333333333%;
|
717 |
+
}
|
718 |
+
.col-md-offset-57 {
|
719 |
+
margin-left: 95%;
|
720 |
+
}
|
721 |
+
.col-md-offset-58 {
|
722 |
+
margin-left: 96.66666666666667%;
|
723 |
+
}
|
724 |
+
.col-md-offset-59 {
|
725 |
+
margin-left: 98.33333333333333%;
|
726 |
+
}
|
727 |
+
/*commom desktop */
|
728 |
+
.fixed-width-520 {
|
729 |
+
margin: 0px auto;
|
730 |
+
float: none;
|
731 |
+
width: 520px !important;
|
732 |
+
}
|
733 |
+
.fixed-width-580 {
|
734 |
+
margin: 0px auto;
|
735 |
+
float: none;
|
736 |
+
width: 580px !important;
|
737 |
+
}
|
738 |
+
.fixed-width-680 {
|
739 |
+
margin: 0px auto;
|
740 |
+
float: none;
|
741 |
+
width: 680px !important;
|
742 |
+
}
|
743 |
+
.fixed-width-700 {
|
744 |
+
margin: 0px auto;
|
745 |
+
float: none;
|
746 |
+
width: 700px;
|
747 |
+
}
|
748 |
+
.fixed-width-730 {
|
749 |
+
margin: 0px auto;
|
750 |
+
float: none;
|
751 |
+
width: 730px;
|
752 |
+
}
|
753 |
+
.fixed-width-800 {
|
754 |
+
margin: 0px auto;
|
755 |
+
float: none;
|
756 |
+
width: 800px;
|
757 |
+
}
|
758 |
+
.fixed-width-940 {
|
759 |
+
margin: 0px auto;
|
760 |
+
float: none;
|
761 |
+
width: 940px;
|
762 |
+
}
|
763 |
+
.fixed-width-980 {
|
764 |
+
margin: 0px auto;
|
765 |
+
float: none;
|
766 |
+
width: 980px;
|
767 |
+
}
|
768 |
+
.fixed-width-1080 {
|
769 |
+
margin: 0px auto;
|
770 |
+
float: none;
|
771 |
+
width: 1080px;
|
772 |
+
}
|
773 |
+
.fixed-width-1140 {
|
774 |
+
margin: 0px auto;
|
775 |
+
float: none;
|
776 |
+
width: 1140px;
|
777 |
+
}
|
778 |
+
.main-container {
|
779 |
+
width: 100%;
|
780 |
+
float: left;
|
781 |
+
}
|
782 |
+
.width-570 {
|
783 |
+
width: 570px;
|
784 |
+
}
|
785 |
+
.width-680 {
|
786 |
+
width: 680px;
|
787 |
+
}
|
788 |
+
/* signed up desktop*/
|
789 |
+
.signup-block
|
790 |
+
{
|
791 |
+
width:740px;
|
792 |
+
margin:60px 0px 0px 120px;
|
793 |
+
}
|
794 |
+
/* dashboard widget conf desktop*/
|
795 |
+
|
796 |
+
.layout-block
|
797 |
+
{
|
798 |
+
float: left;
|
799 |
+
width:442px;
|
800 |
+
}
|
801 |
+
}
|
802 |
+
|
803 |
+
@media (min-width: 1200px) {
|
804 |
+
|
805 |
+
.col-lg-1 {
|
806 |
+
width: 1.666666666666667%;
|
807 |
+
}
|
808 |
+
.col-lg-2 {
|
809 |
+
width: 3.333333333333333%;
|
810 |
+
}
|
811 |
+
.col-lg-3 {
|
812 |
+
width: 5%;
|
813 |
+
}
|
814 |
+
.col-lg-4 {
|
815 |
+
width: 6.666666666666667%;
|
816 |
+
}
|
817 |
+
.col-lg-5 {
|
818 |
+
width: 8.333333333333333%;
|
819 |
+
}
|
820 |
+
.col-lg-6 {
|
821 |
+
width: 10%;
|
822 |
+
}
|
823 |
+
.col-lg-7 {
|
824 |
+
width: 11.66666666666667%;
|
825 |
+
}
|
826 |
+
.col-lg-8 {
|
827 |
+
width: 13.33333333333333%;
|
828 |
+
}
|
829 |
+
.col-lg-9 {
|
830 |
+
width: 15%;
|
831 |
+
}
|
832 |
+
.col-lg-10 {
|
833 |
+
width: 16.66666666666667%;
|
834 |
+
}
|
835 |
+
.col-lg-11 {
|
836 |
+
width: 18.33333333333333%;
|
837 |
+
}
|
838 |
+
.col-lg-12 {
|
839 |
+
width: 20%;
|
840 |
+
}
|
841 |
+
.col-lg-13 {
|
842 |
+
width: 21.66666666666667%;
|
843 |
+
}
|
844 |
+
.col-lg-14 {
|
845 |
+
width: 23.33333333333333%;
|
846 |
+
}
|
847 |
+
.col-lg-15 {
|
848 |
+
width: 25%;
|
849 |
+
}
|
850 |
+
.col-lg-16 {
|
851 |
+
width: 26.66666666666667%;
|
852 |
+
}
|
853 |
+
.col-lg-17 {
|
854 |
+
width: 28.33333333333333%;
|
855 |
+
}
|
856 |
+
.col-lg-18 {
|
857 |
+
width: 30%;
|
858 |
+
}
|
859 |
+
.col-lg-19 {
|
860 |
+
width: 31.66666666666667%;
|
861 |
+
}
|
862 |
+
.col-lg-20 {
|
863 |
+
width: 33.33333333333333%;
|
864 |
+
}
|
865 |
+
.col-lg-21 {
|
866 |
+
width: 35%;
|
867 |
+
}
|
868 |
+
.col-lg-22 {
|
869 |
+
width: 36.66666666666667%;
|
870 |
+
}
|
871 |
+
.col-lg-23 {
|
872 |
+
width: 38.33333333333333%;
|
873 |
+
}
|
874 |
+
.col-lg-24 {
|
875 |
+
width: 40%;
|
876 |
+
}
|
877 |
+
.col-lg-25 {
|
878 |
+
width: 41.66666666666667%;
|
879 |
+
}
|
880 |
+
.col-lg-26 {
|
881 |
+
width: 43.33333333333333%;
|
882 |
+
}
|
883 |
+
.col-lg-27 {
|
884 |
+
width: 45%;
|
885 |
+
}
|
886 |
+
.col-lg-28 {
|
887 |
+
width: 46.66666666666667%;
|
888 |
+
}
|
889 |
+
.col-lg-29 {
|
890 |
+
width: 48.33333333333333%;
|
891 |
+
}
|
892 |
+
.col-lg-30 {
|
893 |
+
width: 50%;
|
894 |
+
}
|
895 |
+
.col-lg-31 {
|
896 |
+
width: 51.66666666666667%;
|
897 |
+
}
|
898 |
+
.col-lg-32 {
|
899 |
+
width: 53.33333333333333%;
|
900 |
+
}
|
901 |
+
.col-lg-33 {
|
902 |
+
width: 55%;
|
903 |
+
}
|
904 |
+
.col-lg-34 {
|
905 |
+
width: 56.66666666666667%;
|
906 |
+
}
|
907 |
+
.col-lg-35 {
|
908 |
+
width: 58.33333333333333%;
|
909 |
+
}
|
910 |
+
.col-lg-36 {
|
911 |
+
width: 60%;
|
912 |
+
}
|
913 |
+
.col-lg-37 {
|
914 |
+
width: 61.66666666666667%;
|
915 |
+
}
|
916 |
+
.col-lg-38 {
|
917 |
+
width: 63.33333333333333%;
|
918 |
+
}
|
919 |
+
.col-lg-39 {
|
920 |
+
width: 65%;
|
921 |
+
}
|
922 |
+
.col-lg-40 {
|
923 |
+
width: 66.66666666666667%;
|
924 |
+
}
|
925 |
+
.col-lg-41 {
|
926 |
+
width: 68.33333333333333%;
|
927 |
+
}
|
928 |
+
.col-lg-42 {
|
929 |
+
width: 70%;
|
930 |
+
}
|
931 |
+
.col-lg-43 {
|
932 |
+
width: 71.66666666666667%;
|
933 |
+
}
|
934 |
+
.col-lg-44 {
|
935 |
+
width: 73.33333333333333%;
|
936 |
+
}
|
937 |
+
.col-lg-45 {
|
938 |
+
width: 75%;
|
939 |
+
}
|
940 |
+
.col-lg-46 {
|
941 |
+
width: 76.66666666666667%;
|
942 |
+
}
|
943 |
+
.col-lg-47 {
|
944 |
+
width: 78.33333333333333%;
|
945 |
+
}
|
946 |
+
.col-lg-48 {
|
947 |
+
width: 80%;
|
948 |
+
}
|
949 |
+
.col-lg-49 {
|
950 |
+
width: 81.66666666666667%;
|
951 |
+
}
|
952 |
+
.col-lg-50 {
|
953 |
+
width: 83.33333333333333%;
|
954 |
+
}
|
955 |
+
.col-lg-51 {
|
956 |
+
width: 85%;
|
957 |
+
}
|
958 |
+
.col-lg-52 {
|
959 |
+
width: 86.66666666666667%;
|
960 |
+
}
|
961 |
+
.col-lg-53 {
|
962 |
+
width: 88.33333333333333%;
|
963 |
+
}
|
964 |
+
.col-lg-54 {
|
965 |
+
width: 90%;
|
966 |
+
}
|
967 |
+
.col-lg-55 {
|
968 |
+
width: 91.66666666666667%;
|
969 |
+
}
|
970 |
+
.col-lg-56 {
|
971 |
+
width: 93.33333333333333%;
|
972 |
+
}
|
973 |
+
.col-lg-57 {
|
974 |
+
width: 95%;
|
975 |
+
}
|
976 |
+
.col-lg-58 {
|
977 |
+
width: 96.66666666666667%;
|
978 |
+
}
|
979 |
+
.col-lg-59 {
|
980 |
+
width: 98.33333333333333%;
|
981 |
+
}
|
982 |
+
.col-lg-60 {
|
983 |
+
width: 100%;
|
984 |
+
}
|
985 |
+
.col-lg-push-0 {
|
986 |
+
left: auto
|
987 |
+
}
|
988 |
+
.col-lg-push-1 {
|
989 |
+
left: 1.666666666666667%;
|
990 |
+
}
|
991 |
+
.col-lg-push-2 {
|
992 |
+
left: 3.333333333333333%;
|
993 |
+
}
|
994 |
+
.col-lg-push-3 {
|
995 |
+
left: 5%;
|
996 |
+
}
|
997 |
+
.col-lg-push-4 {
|
998 |
+
left: 6.666666666666667%;
|
999 |
+
}
|
1000 |
+
.col-lg-push-5 {
|
1001 |
+
left: 8.333333333333333%;
|
1002 |
+
}
|
1003 |
+
.col-lg-push-6 {
|
1004 |
+
left: 10%;
|
1005 |
+
}
|
1006 |
+
.col-lg-push-7 {
|
1007 |
+
left: 11.66666666666667%;
|
1008 |
+
}
|
1009 |
+
.col-lg-push-8 {
|
1010 |
+
left: 13.33333333333333%;
|
1011 |
+
}
|
1012 |
+
.col-lg-push-9 {
|
1013 |
+
left: 15%;
|
1014 |
+
}
|
1015 |
+
.col-lg-push-10 {
|
1016 |
+
left: 16.66666666666667%;
|
1017 |
+
}
|
1018 |
+
.col-lg-push-11 {
|
1019 |
+
left: 18.33333333333333%;
|
1020 |
+
}
|
1021 |
+
.col-lg-push-12 {
|
1022 |
+
left: 20%;
|
1023 |
+
}
|
1024 |
+
.col-lg-push-13 {
|
1025 |
+
left: 21.66666666666667%;
|
1026 |
+
}
|
1027 |
+
.col-lg-push-14 {
|
1028 |
+
left: 23.33333333333333%;
|
1029 |
+
}
|
1030 |
+
.col-lg-push-15 {
|
1031 |
+
left: 25%;
|
1032 |
+
}
|
1033 |
+
.col-lg-push-16 {
|
1034 |
+
left: 26.66666666666667%;
|
1035 |
+
}
|
1036 |
+
.col-lg-push-17 {
|
1037 |
+
left: 28.33333333333333%;
|
1038 |
+
}
|
1039 |
+
.col-lg-push-18 {
|
1040 |
+
left: 30%;
|
1041 |
+
}
|
1042 |
+
.col-lg-push-19 {
|
1043 |
+
left: 31.66666666666667%;
|
1044 |
+
}
|
1045 |
+
.col-lg-push-20 {
|
1046 |
+
left: 33.33333333333333%;
|
1047 |
+
}
|
1048 |
+
.col-lg-push-21 {
|
1049 |
+
left: 35%;
|
1050 |
+
}
|
1051 |
+
.col-lg-push-22 {
|
1052 |
+
left: 36.66666666666667%;
|
1053 |
+
}
|
1054 |
+
.col-lg-push-23 {
|
1055 |
+
left: 38.33333333333333%;
|
1056 |
+
}
|
1057 |
+
.col-lg-push-24 {
|
1058 |
+
left: 40%;
|
1059 |
+
}
|
1060 |
+
.col-lg-push-25 {
|
1061 |
+
left: 41.66666666666667%;
|
1062 |
+
}
|
1063 |
+
.col-lg-push-26 {
|
1064 |
+
left: 43.33333333333333%;
|
1065 |
+
}
|
1066 |
+
.col-lg-push-27 {
|
1067 |
+
left: 45%;
|
1068 |
+
}
|
1069 |
+
.col-lg-push-28 {
|
1070 |
+
left: 46.66666666666667%;
|
1071 |
+
}
|
1072 |
+
.col-lg-push-29 {
|
1073 |
+
left: 48.33333333333333%;
|
1074 |
+
}
|
1075 |
+
.col-lg-push-30 {
|
1076 |
+
left: 50%;
|
1077 |
+
}
|
1078 |
+
.col-lg-push-31 {
|
1079 |
+
left: 51.66666666666667%;
|
1080 |
+
}
|
1081 |
+
.col-lg-push-32 {
|
1082 |
+
left: 53.33333333333333%;
|
1083 |
+
}
|
1084 |
+
.col-lg-push-33 {
|
1085 |
+
left: 55%;
|
1086 |
+
}
|
1087 |
+
.col-lg-push-34 {
|
1088 |
+
left: 56.66666666666667%;
|
1089 |
+
}
|
1090 |
+
.col-lg-push-35 {
|
1091 |
+
left: 58.33333333333333%;
|
1092 |
+
}
|
1093 |
+
.col-lg-push-36 {
|
1094 |
+
left: 60%;
|
1095 |
+
}
|
1096 |
+
.col-lg-push-37 {
|
1097 |
+
left: 61.66666666666667%;
|
1098 |
+
}
|
1099 |
+
.col-lg-push-38 {
|
1100 |
+
left: 63.33333333333333%;
|
1101 |
+
}
|
1102 |
+
.col-lg-push-39 {
|
1103 |
+
left: 65%;
|
1104 |
+
}
|
1105 |
+
.col-lg-push-40 {
|
1106 |
+
left: 66.66666666666667%;
|
1107 |
+
}
|
1108 |
+
.col-lg-push-41 {
|
1109 |
+
left: 68.33333333333333%;
|
1110 |
+
}
|
1111 |
+
.col-lg-push-42 {
|
1112 |
+
left: 70%;
|
1113 |
+
}
|
1114 |
+
.col-lg-push-43 {
|
1115 |
+
left: 71.66666666666667%;
|
1116 |
+
}
|
1117 |
+
.col-lg-push-44 {
|
1118 |
+
left: 73.33333333333333%;
|
1119 |
+
}
|
1120 |
+
.col-lg-push-45 {
|
1121 |
+
left: 75%;
|
1122 |
+
}
|
1123 |
+
.col-lg-push-46 {
|
1124 |
+
left: 76.66666666666667%;
|
1125 |
+
}
|
1126 |
+
.col-lg-push-47 {
|
1127 |
+
left: 78.33333333333333%;
|
1128 |
+
}
|
1129 |
+
.col-lg-push-48 {
|
1130 |
+
left: 80%;
|
1131 |
+
}
|
1132 |
+
.col-lg-push-49 {
|
1133 |
+
left: 81.66666666666667%;
|
1134 |
+
}
|
1135 |
+
.col-lg-push-50 {
|
1136 |
+
left: 83.33333333333333%;
|
1137 |
+
}
|
1138 |
+
.col-lg-push-51 {
|
1139 |
+
left: 85%;
|
1140 |
+
}
|
1141 |
+
.col-lg-push-52 {
|
1142 |
+
left: 86.66666666666667%;
|
1143 |
+
}
|
1144 |
+
.col-lg-push-53 {
|
1145 |
+
left: 88.33333333333333%;
|
1146 |
+
}
|
1147 |
+
.col-lg-push-54 {
|
1148 |
+
left: 90%;
|
1149 |
+
}
|
1150 |
+
.col-lg-push-55 {
|
1151 |
+
left: 91.66666666666667%;
|
1152 |
+
}
|
1153 |
+
.col-lg-push-56 {
|
1154 |
+
left: 93.33333333333333%;
|
1155 |
+
}
|
1156 |
+
.col-lg-push-57 {
|
1157 |
+
left: 95%;
|
1158 |
+
}
|
1159 |
+
.col-lg-push-58 {
|
1160 |
+
left: 96.66666666666667%;
|
1161 |
+
}
|
1162 |
+
.col-lg-push-59 {
|
1163 |
+
left: 98.33333333333333%;
|
1164 |
+
}
|
1165 |
+
.col-lg-pull-0 {
|
1166 |
+
right: auto
|
1167 |
+
}
|
1168 |
+
.col-lg-pull-1 {
|
1169 |
+
right: 1.666666666666667%;
|
1170 |
+
}
|
1171 |
+
.col-lg-pull-2 {
|
1172 |
+
right: 3.333333333333333%;
|
1173 |
+
}
|
1174 |
+
.col-lg-pull-3 {
|
1175 |
+
right: 5%;
|
1176 |
+
}
|
1177 |
+
.col-lg-pull-4 {
|
1178 |
+
right: 6.666666666666667%;
|
1179 |
+
}
|
1180 |
+
.col-lg-pull-5 {
|
1181 |
+
right: 8.333333333333333%;
|
1182 |
+
}
|
1183 |
+
.col-lg-pull-6 {
|
1184 |
+
right: 10%;
|
1185 |
+
}
|
1186 |
+
.col-lg-pull-7 {
|
1187 |
+
right: 11.66666666666667%;
|
1188 |
+
}
|
1189 |
+
.col-lg-pull-8 {
|
1190 |
+
right: 13.33333333333333%;
|
1191 |
+
}
|
1192 |
+
.col-lg-pull-9 {
|
1193 |
+
right: 15%;
|
1194 |
+
}
|
1195 |
+
.col-lg-pull-10 {
|
1196 |
+
right: 16.66666666666667%;
|
1197 |
+
}
|
1198 |
+
.col-lg-pull-11 {
|
1199 |
+
right: 18.33333333333333%;
|
1200 |
+
}
|
1201 |
+
.col-lg-pull-12 {
|
1202 |
+
right: 20%;
|
1203 |
+
}
|
1204 |
+
.col-lg-pull-13 {
|
1205 |
+
right: 21.66666666666667%;
|
1206 |
+
}
|
1207 |
+
.col-lg-pull-14 {
|
1208 |
+
right: 23.33333333333333%;
|
1209 |
+
}
|
1210 |
+
.col-lg-pull-15 {
|
1211 |
+
right: 25%;
|
1212 |
+
}
|
1213 |
+
.col-lg-pull-16 {
|
1214 |
+
right: 26.66666666666667%;
|
1215 |
+
}
|
1216 |
+
.col-lg-pull-17 {
|
1217 |
+
right: 28.33333333333333%;
|
1218 |
+
}
|
1219 |
+
.col-lg-pull-18 {
|
1220 |
+
right: 30%;
|
1221 |
+
}
|
1222 |
+
.col-lg-pull-19 {
|
1223 |
+
right: 31.66666666666667%;
|
1224 |
+
}
|
1225 |
+
.col-lg-pull-20 {
|
1226 |
+
right: 33.33333333333333%;
|
1227 |
+
}
|
1228 |
+
.col-lg-pull-21 {
|
1229 |
+
right: 35%;
|
1230 |
+
}
|
1231 |
+
.col-lg-pull-22 {
|
1232 |
+
right: 36.66666666666667%;
|
1233 |
+
}
|
1234 |
+
.col-lg-pull-23 {
|
1235 |
+
right: 38.33333333333333%;
|
1236 |
+
}
|
1237 |
+
.col-lg-pull-24 {
|
1238 |
+
right: 40%;
|
1239 |
+
}
|
1240 |
+
.col-lg-pull-25 {
|
1241 |
+
right: 41.66666666666667%;
|
1242 |
+
}
|
1243 |
+
.col-lg-pull-26 {
|
1244 |
+
right: 43.33333333333333%;
|
1245 |
+
}
|
1246 |
+
.col-lg-pull-27 {
|
1247 |
+
right: 45%;
|
1248 |
+
}
|
1249 |
+
.col-lg-pull-28 {
|
1250 |
+
right: 46.66666666666667%;
|
1251 |
+
}
|
1252 |
+
.col-lg-pull-29 {
|
1253 |
+
right: 48.33333333333333%;
|
1254 |
+
}
|
1255 |
+
.col-lg-pull-30 {
|
1256 |
+
right: 50%;
|
1257 |
+
}
|
1258 |
+
.col-lg-pull-31 {
|
1259 |
+
right: 51.66666666666667%;
|
1260 |
+
}
|
1261 |
+
.col-lg-pull-32 {
|
1262 |
+
right: 53.33333333333333%;
|
1263 |
+
}
|
1264 |
+
.col-lg-pull-33 {
|
1265 |
+
right: 55%;
|
1266 |
+
}
|
1267 |
+
.col-lg-pull-34 {
|
1268 |
+
right: 56.66666666666667%;
|
1269 |
+
}
|
1270 |
+
.col-lg-pull-35 {
|
1271 |
+
right: 58.33333333333333%;
|
1272 |
+
}
|
1273 |
+
.col-lg-pull-36 {
|
1274 |
+
right: 60%;
|
1275 |
+
}
|
1276 |
+
.col-lg-pull-37 {
|
1277 |
+
right: 61.66666666666667%;
|
1278 |
+
}
|
1279 |
+
.col-lg-pull-38 {
|
1280 |
+
right: 63.33333333333333%;
|
1281 |
+
}
|
1282 |
+
.col-lg-pull-39 {
|
1283 |
+
right: 65%;
|
1284 |
+
}
|
1285 |
+
.col-lg-pull-40 {
|
1286 |
+
right: 66.66666666666667%;
|
1287 |
+
}
|
1288 |
+
.col-lg-pull-41 {
|
1289 |
+
right: 68.33333333333333%;
|
1290 |
+
}
|
1291 |
+
.col-lg-pull-42 {
|
1292 |
+
right: 70%;
|
1293 |
+
}
|
1294 |
+
.col-lg-pull-43 {
|
1295 |
+
right: 71.66666666666667%;
|
1296 |
+
}
|
1297 |
+
.col-lg-pull-44 {
|
1298 |
+
right: 73.33333333333333%;
|
1299 |
+
}
|
1300 |
+
.col-lg-pull-45 {
|
1301 |
+
right: 75%;
|
1302 |
+
}
|
1303 |
+
.col-lg-pull-46 {
|
1304 |
+
right: 76.66666666666667%;
|
1305 |
+
}
|
1306 |
+
.col-lg-pull-47 {
|
1307 |
+
right: 78.33333333333333%;
|
1308 |
+
}
|
1309 |
+
.col-lg-pull-48 {
|
1310 |
+
right: 80%;
|
1311 |
+
}
|
1312 |
+
.col-lg-pull-49 {
|
1313 |
+
right: 81.66666666666667%;
|
1314 |
+
}
|
1315 |
+
.col-lg-pull-50 {
|
1316 |
+
right: 83.33333333333333%;
|
1317 |
+
}
|
1318 |
+
.col-lg-pull-51 {
|
1319 |
+
right: 85%;
|
1320 |
+
}
|
1321 |
+
.col-lg-pull-52 {
|
1322 |
+
right: 86.66666666666667%;
|
1323 |
+
}
|
1324 |
+
.col-lg-pull-53 {
|
1325 |
+
right: 88.33333333333333%;
|
1326 |
+
}
|
1327 |
+
.col-lg-pull-54 {
|
1328 |
+
right: 90%;
|
1329 |
+
}
|
1330 |
+
.col-lg-pull-55 {
|
1331 |
+
right: 91.66666666666667%;
|
1332 |
+
}
|
1333 |
+
.col-lg-pull-56 {
|
1334 |
+
right: 93.33333333333333%;
|
1335 |
+
}
|
1336 |
+
.col-lg-pull-57 {
|
1337 |
+
right: 95%;
|
1338 |
+
}
|
1339 |
+
.col-lg-pull-58 {
|
1340 |
+
right: 96.66666666666667%;
|
1341 |
+
}
|
1342 |
+
.col-lg-pull-59 {
|
1343 |
+
right: 98.33333333333333%;
|
1344 |
+
}
|
1345 |
+
.col-lg-offset-0 {
|
1346 |
+
margin-left: 0
|
1347 |
+
}
|
1348 |
+
.col-lg-offset-1 {
|
1349 |
+
margin-left: 1.666666666666667%;
|
1350 |
+
}
|
1351 |
+
.col-lg-offset-2 {
|
1352 |
+
margin-left: 3.333333333333333%;
|
1353 |
+
}
|
1354 |
+
.col-lg-offset-3 {
|
1355 |
+
margin-left: 5%;
|
1356 |
+
}
|
1357 |
+
.col-lg-offset-4 {
|
1358 |
+
margin-left: 6.666666666666667%;
|
1359 |
+
}
|
1360 |
+
.col-lg-offset-5 {
|
1361 |
+
margin-left: 8.333333333333333%;
|
1362 |
+
}
|
1363 |
+
.col-lg-offset-6 {
|
1364 |
+
margin-left: 10%;
|
1365 |
+
}
|
1366 |
+
.col-lg-offset-7 {
|
1367 |
+
margin-left: 11.66666666666667%;
|
1368 |
+
}
|
1369 |
+
.col-lg-offset-8 {
|
1370 |
+
margin-left: 13.33333333333333%;
|
1371 |
+
}
|
1372 |
+
.col-lg-offset-9 {
|
1373 |
+
margin-left: 15%;
|
1374 |
+
}
|
1375 |
+
.col-lg-offset-10 {
|
1376 |
+
margin-left: 16.66666666666667%;
|
1377 |
+
}
|
1378 |
+
.col-lg-offset-11 {
|
1379 |
+
margin-left: 18.33333333333333%;
|
1380 |
+
}
|
1381 |
+
.col-lg-offset-12 {
|
1382 |
+
margin-left: 20%;
|
1383 |
+
}
|
1384 |
+
.col-lg-offset-13 {
|
1385 |
+
margin-left: 21.66666666666667%;
|
1386 |
+
}
|
1387 |
+
.col-lg-offset-14 {
|
1388 |
+
margin-left: 23.33333333333333%;
|
1389 |
+
}
|
1390 |
+
.col-lg-offset-15 {
|
1391 |
+
margin-left: 25%;
|
1392 |
+
}
|
1393 |
+
.col-lg-offset-16 {
|
1394 |
+
margin-left: 26.66666666666667%;
|
1395 |
+
}
|
1396 |
+
.col-lg-offset-17 {
|
1397 |
+
margin-left: 28.33333333333333%;
|
1398 |
+
}
|
1399 |
+
.col-lg-offset-18 {
|
1400 |
+
margin-left: 30%;
|
1401 |
+
}
|
1402 |
+
.col-lg-offset-19 {
|
1403 |
+
margin-left: 31.66666666666667%;
|
1404 |
+
}
|
1405 |
+
.col-lg-offset-20 {
|
1406 |
+
margin-left: 33.33333333333333%;
|
1407 |
+
}
|
1408 |
+
.col-lg-offset-21 {
|
1409 |
+
margin-left: 35%;
|
1410 |
+
}
|
1411 |
+
.col-lg-offset-22 {
|
1412 |
+
margin-left: 36.66666666666667%;
|
1413 |
+
}
|
1414 |
+
.col-lg-offset-23 {
|
1415 |
+
margin-left: 38.33333333333333%;
|
1416 |
+
}
|
1417 |
+
.col-lg-offset-24 {
|
1418 |
+
margin-left: 40%;
|
1419 |
+
}
|
1420 |
+
.col-lg-offset-25 {
|
1421 |
+
margin-left: 41.66666666666667%;
|
1422 |
+
}
|
1423 |
+
.col-lg-offset-26 {
|
1424 |
+
margin-left: 43.33333333333333%;
|
1425 |
+
}
|
1426 |
+
.col-lg-offset-27 {
|
1427 |
+
margin-left: 45%;
|
1428 |
+
}
|
1429 |
+
.col-lg-offset-28 {
|
1430 |
+
margin-left: 46.66666666666667%;
|
1431 |
+
}
|
1432 |
+
.col-lg-offset-29 {
|
1433 |
+
margin-left: 48.33333333333333%;
|
1434 |
+
}
|
1435 |
+
.col-lg-offset-30 {
|
1436 |
+
margin-left: 50%;
|
1437 |
+
}
|
1438 |
+
.col-lg-offset-31 {
|
1439 |
+
margin-left: 51.66666666666667%;
|
1440 |
+
}
|
1441 |
+
.col-lg-offset-32 {
|
1442 |
+
margin-left: 53.33333333333333%;
|
1443 |
+
}
|
1444 |
+
.col-lg-offset-33 {
|
1445 |
+
margin-left: 55%;
|
1446 |
+
}
|
1447 |
+
.col-lg-offset-34 {
|
1448 |
+
margin-left: 56.66666666666667%;
|
1449 |
+
}
|
1450 |
+
.col-lg-offset-35 {
|
1451 |
+
margin-left: 58.33333333333333%;
|
1452 |
+
}
|
1453 |
+
.col-lg-offset-36 {
|
1454 |
+
margin-left: 60%;
|
1455 |
+
}
|
1456 |
+
.col-lg-offset-37 {
|
1457 |
+
margin-left: 61.66666666666667%;
|
1458 |
+
}
|
1459 |
+
.col-lg-offset-38 {
|
1460 |
+
margin-left: 63.33333333333333%;
|
1461 |
+
}
|
1462 |
+
.col-lg-offset-39 {
|
1463 |
+
margin-left: 65%;
|
1464 |
+
}
|
1465 |
+
.col-lg-offset-40 {
|
1466 |
+
margin-left: 66.66666666666667%;
|
1467 |
+
}
|
1468 |
+
.col-lg-offset-41 {
|
1469 |
+
margin-left: 68.33333333333333%;
|
1470 |
+
}
|
1471 |
+
.col-lg-offset-42 {
|
1472 |
+
margin-left: 70%;
|
1473 |
+
}
|
1474 |
+
.col-lg-offset-43 {
|
1475 |
+
margin-left: 71.66666666666667%;
|
1476 |
+
}
|
1477 |
+
.col-lg-offset-44 {
|
1478 |
+
margin-left: 73.33333333333333%;
|
1479 |
+
}
|
1480 |
+
.col-lg-offset-45 {
|
1481 |
+
margin-left: 75%;
|
1482 |
+
}
|
1483 |
+
.col-lg-offset-46 {
|
1484 |
+
margin-left: 76.66666666666667%;
|
1485 |
+
}
|
1486 |
+
.col-lg-offset-47 {
|
1487 |
+
margin-left: 78.33333333333333%;
|
1488 |
+
}
|
1489 |
+
.col-lg-offset-48 {
|
1490 |
+
margin-left: 80%;
|
1491 |
+
}
|
1492 |
+
.col-lg-offset-49 {
|
1493 |
+
margin-left: 81.66666666666667%;
|
1494 |
+
}
|
1495 |
+
.col-lg-offset-50 {
|
1496 |
+
margin-left: 83.33333333333333%;
|
1497 |
+
}
|
1498 |
+
.col-lg-offset-51 {
|
1499 |
+
margin-left: 85%;
|
1500 |
+
}
|
1501 |
+
.col-lg-offset-52 {
|
1502 |
+
margin-left: 86.66666666666667%;
|
1503 |
+
}
|
1504 |
+
.col-lg-offset-53 {
|
1505 |
+
margin-left: 88.33333333333333%;
|
1506 |
+
}
|
1507 |
+
.col-lg-offset-54 {
|
1508 |
+
margin-left: 90%;
|
1509 |
+
}
|
1510 |
+
.col-lg-offset-55 {
|
1511 |
+
margin-left: 91.66666666666667%;
|
1512 |
+
}
|
1513 |
+
.col-lg-offset-56 {
|
1514 |
+
margin-left: 93.33333333333333%;
|
1515 |
+
}
|
1516 |
+
.col-lg-offset-57 {
|
1517 |
+
margin-left: 95%;
|
1518 |
+
}
|
1519 |
+
.col-lg-offset-58 {
|
1520 |
+
margin-left: 96.66666666666667%;
|
1521 |
+
}
|
1522 |
+
.col-lg-offset-59 {
|
1523 |
+
margin-left: 98.33333333333333%;
|
1524 |
+
}
|
1525 |
+
{
|
1526 |
+
|
1527 |
+
}
|
1528 |
+
|
1529 |
+
.magento-autosuggest-head
|
1530 |
+
{
|
1531 |
+
color: #3c3f40;
|
1532 |
+
font-size:18px;
|
1533 |
+
font-weight:400;
|
1534 |
+
text-align: left;
|
1535 |
+
}
|
1536 |
+
.skin_color {
|
1537 |
+
cursor: pointer;
|
1538 |
+
padding: 0 0.5%;
|
1539 |
+
}
|
1540 |
+
.magento-templates{
|
1541 |
+
cursor:pointer; position:relative;
|
1542 |
+
}
|
1543 |
+
.fuelux .form-control {
|
1544 |
+
height: 30px;
|
1545 |
+
text-align: left;
|
1546 |
+
width: 85px;
|
1547 |
+
}
|
1548 |
+
.fuelux .spinbox .spinbox-input {
|
1549 |
+
float: left;
|
1550 |
+
padding: 0 20px !important;
|
1551 |
+
}
|
1552 |
+
.fuelux .btn-group {
|
1553 |
+
width: auto !important;
|
1554 |
+
}
|
1555 |
+
.fuelux .spinbox .spinbox-buttons {
|
1556 |
+
height: 28px;
|
1557 |
+
position: relative !important;
|
1558 |
+
left: -31px !important;
|
1559 |
+
width: 20px;
|
1560 |
+
}
|
1561 |
+
.thumb-spin{
|
1562 |
+
margin-left: 34%;
|
1563 |
+
}
|
1564 |
+
.brd-none{
|
1565 |
+
border:none;
|
1566 |
+
}
|
1567 |
+
.clear{clear:both;}
|
1568 |
+
.pad-20{padding:20px;}
|
1569 |
+
.pad-30{padding:30px;}
|
1570 |
+
.autosuggest-inner-block{margin:20px 50px; border-bottom: 1px solid #b0b6b9;}
|
1571 |
+
.autosuggest-text{color:#000;}
|
1572 |
+
|
1573 |
+
.bootstrap-switch-id-api_intg_switch.bootstrap-switch.bootstrap-switch .bootstrap-switch-container, .bootstrap-switch-id-support_intg_switch.bootstrap-switch.bootstrap-switch .bootstrap-switch-container{
|
1574 |
+
background: none repeat scroll 0 0 #f3f6f6;
|
1575 |
+
}
|
1576 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary{
|
1577 |
+
background: none repeat scroll 0 0 #48bc8a;
|
1578 |
+
border-radius: 1px;
|
1579 |
+
width: 56px !important;
|
1580 |
+
}
|
1581 |
+
.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label, .bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label{
|
1582 |
+
width: 29px !important; background: none repeat scroll 0 0 #f3f6f6;
|
1583 |
+
}
|
1584 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default{
|
1585 |
+
background: none repeat scroll 0 0 #9a9a9a; text-shadow:none;
|
1586 |
+
}
|
1587 |
+
.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{
|
1588 |
+
background: none repeat scroll 0 0 #f3f6f6;
|
1589 |
+
width: 185px !important;
|
1590 |
+
}
|
1591 |
+
.bootstrap-switch{
|
1592 |
+
width: 85px !important;
|
1593 |
+
border: 1px solid #a0a0a0;
|
1594 |
+
border-radius: 3px;
|
1595 |
+
box-shadow: none;
|
1596 |
+
margin-left: 8px;
|
1597 |
+
}
|
1598 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:hover, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:hover, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:focus, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:focus, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:active, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:active, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary.active, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary.active, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary.disabled, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary.disabled, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary[disabled], .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary[disabled]{
|
1599 |
+
background-color:#48bc8a; color:#fff;
|
1600 |
+
}
|
1601 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default:hover, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default:hover, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default:focus, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default:focus, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default:active, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default:active, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default.active, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default.active, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default.disabled, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default.disabled, .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default[disabled], .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default[disabled]{
|
1602 |
+
background: none repeat scroll 0 0 #9a9a9a;
|
1603 |
+
}
|
1604 |
+
.autosuggest_info_box{
|
1605 |
+
border: 1px solid #dae0e0;
|
1606 |
+
font-size:0.86em;
|
1607 |
+
color:#929494;
|
1608 |
+
margin:0 50px 20px;
|
1609 |
+
padding: 10px;
|
1610 |
+
}
|
1611 |
+
.preview_template{
|
1612 |
+
background: rgba(0,0,0,0.3);
|
1613 |
+
position:absolute;
|
1614 |
+
top:0;
|
1615 |
+
left:0;
|
1616 |
+
width:100%;
|
1617 |
+
height:100%
|
1618 |
+
}
|
1619 |
+
.magento-breadcrum{
|
1620 |
+
padding:15px;
|
1621 |
+
}
|
1622 |
+
/*.magento-breadcrum span{
|
1623 |
+
padding-right:5px;
|
1624 |
+
}*/
|
1625 |
+
.breadcrum-prev{
|
1626 |
+
color: #929494;
|
1627 |
+
}
|
1628 |
+
.magento-text2 ul li{
|
1629 |
+
list-style-type:none;
|
1630 |
+
padding-bottom:3px;
|
1631 |
+
background: url("../img/list_bullet.png") no-repeat scroll 0 14px rgba(0, 0, 0, 0);
|
1632 |
+
padding: 10px 0 10px 25px;
|
1633 |
+
font-size: 15px
|
1634 |
+
}
|
1635 |
+
.magento-text2 ul li img{
|
1636 |
+
padding-right: 10px;
|
1637 |
+
}
|
1638 |
+
|
1639 |
+
.magento-text2 ul{
|
1640 |
+
padding-left: 20px;
|
1641 |
+
margin-top:20px;
|
1642 |
+
}
|
1643 |
+
.brd-top-0{
|
1644 |
+
border-top:none !important;
|
1645 |
+
}
|
1646 |
+
.search_info_box{
|
1647 |
+
background: #f2f5f5;
|
1648 |
+
padding:10px;
|
1649 |
+
border:1px solid #dae0e0;
|
1650 |
+
color: #929494;
|
1651 |
+
line-height: 1em;
|
1652 |
+
}
|
1653 |
+
.search_info_box > img {
|
1654 |
+
float: left;
|
1655 |
+
padding-right: 5px;
|
1656 |
+
}
|
1657 |
+
.search_info_box > span {
|
1658 |
+
color:#000;
|
1659 |
+
}
|
1660 |
+
.magento-text a, .magento-text a:hover.search_info_box a, .search_info_box a:hover{
|
1661 |
+
color: #05b3aa !important;
|
1662 |
+
}
|
1663 |
+
.btn-magento-blue{
|
1664 |
+
color:#fff; background:#05b3aa; border-radius:4px; border:none; height: 30px; width: 150px;
|
1665 |
+
}
|
1666 |
+
.magento-head {
|
1667 |
+
padding: 15px 10px 15px 10px;
|
1668 |
+
border: 1px solid #cddbde;
|
1669 |
+
border-radius: 3px;
|
1670 |
+
}
|
1671 |
+
.unbxd-head-div{
|
1672 |
+
height:90px !important;
|
1673 |
+
}
|
1674 |
+
|
1675 |
+
@media (min-width: 1600px) {
|
1676 |
+
.contact-us-footer{
|
1677 |
+
width:12.25% !important;
|
1678 |
+
}
|
1679 |
+
.spinbox {
|
1680 |
+
margin-right: 33.5%;
|
1681 |
+
}
|
1682 |
+
.thumb-spin{
|
1683 |
+
margin-left: 32%;
|
1684 |
+
}
|
1685 |
+
}
|
skin/adminhtml/default/default/unbxd/recscore/css/bootstrap-switch.css
ADDED
@@ -0,0 +1,519 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* ========================================================================
|
2 |
+
* bootstrap-switch - v3.3.2
|
3 |
+
* http://www.bootstrap-switch.org
|
4 |
+
* ========================================================================
|
5 |
+
* Copyright 2012-2013 Mattia Larentis
|
6 |
+
*
|
7 |
+
* ========================================================================
|
8 |
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
9 |
+
* you may not use this file except in compliance with the License.
|
10 |
+
* You may obtain a copy of the License at
|
11 |
+
*
|
12 |
+
* http://www.apache.org/licenses/LICENSE-2.0
|
13 |
+
*
|
14 |
+
* Unless required by applicable law or agreed to in writing, software
|
15 |
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
16 |
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
17 |
+
* See the License for the specific language governing permissions and
|
18 |
+
* limitations under the License.
|
19 |
+
* ========================================================================
|
20 |
+
*/
|
21 |
+
|
22 |
+
.clearfix {
|
23 |
+
*zoom: 1;
|
24 |
+
}
|
25 |
+
.clearfix:before,
|
26 |
+
.clearfix:after {
|
27 |
+
display: table;
|
28 |
+
content: "";
|
29 |
+
line-height: 0;
|
30 |
+
}
|
31 |
+
.clearfix:after {
|
32 |
+
clear: both;
|
33 |
+
}
|
34 |
+
.hide-text {
|
35 |
+
font: 0/0 a;
|
36 |
+
color: transparent;
|
37 |
+
text-shadow: none;
|
38 |
+
background-color: transparent;
|
39 |
+
border: 0;
|
40 |
+
}
|
41 |
+
.input-block-level {
|
42 |
+
display: block;
|
43 |
+
width: 100%;
|
44 |
+
min-height: 30px;
|
45 |
+
-webkit-box-sizing: border-box;
|
46 |
+
-moz-box-sizing: border-box;
|
47 |
+
box-sizing: border-box;
|
48 |
+
}
|
49 |
+
.bootstrap-switch {
|
50 |
+
display: inline-block;
|
51 |
+
direction: ltr;
|
52 |
+
cursor: pointer;
|
53 |
+
-webkit-border-radius: 5px;
|
54 |
+
-moz-border-radius: 5px;
|
55 |
+
border-radius: 5px;
|
56 |
+
border: 1px solid;
|
57 |
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
58 |
+
position: relative;
|
59 |
+
text-align: left;
|
60 |
+
overflow: hidden;
|
61 |
+
line-height: 8px;
|
62 |
+
z-index: 0;
|
63 |
+
-webkit-user-select: none;
|
64 |
+
-moz-user-select: none;
|
65 |
+
-ms-user-select: none;
|
66 |
+
-o-user-select: none;
|
67 |
+
user-select: none;
|
68 |
+
vertical-align: middle;
|
69 |
+
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
70 |
+
-moz-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
71 |
+
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
72 |
+
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
73 |
+
}
|
74 |
+
.bootstrap-switch .bootstrap-switch-container {
|
75 |
+
display: inline-block;
|
76 |
+
top: 0;
|
77 |
+
-webkit-border-radius: 4px;
|
78 |
+
-moz-border-radius: 4px;
|
79 |
+
border-radius: 4px;
|
80 |
+
-webkit-transform: translate3d(0, 0, 0);
|
81 |
+
-moz-transform: translate3d(0, 0, 0);
|
82 |
+
-o-transform: translate3d(0, 0, 0);
|
83 |
+
transform: translate3d(0, 0, 0);
|
84 |
+
}
|
85 |
+
.bootstrap-switch .bootstrap-switch-handle-on,
|
86 |
+
.bootstrap-switch .bootstrap-switch-handle-off,
|
87 |
+
.bootstrap-switch .bootstrap-switch-label {
|
88 |
+
-webkit-box-sizing: border-box;
|
89 |
+
-moz-box-sizing: border-box;
|
90 |
+
box-sizing: border-box;
|
91 |
+
cursor: pointer;
|
92 |
+
display: inline-block !important;
|
93 |
+
height: 100%;
|
94 |
+
padding-top: 4px;
|
95 |
+
padding-bottom: 4px;
|
96 |
+
padding-left: 8px;
|
97 |
+
padding-right: 8px;
|
98 |
+
font-size: 14px;
|
99 |
+
line-height: 20px;
|
100 |
+
}
|
101 |
+
.bootstrap-switch .bootstrap-switch-handle-on,
|
102 |
+
.bootstrap-switch .bootstrap-switch-handle-off {
|
103 |
+
text-align: center;
|
104 |
+
z-index: 1;
|
105 |
+
}
|
106 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
|
107 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary {
|
108 |
+
color: #ffffff;
|
109 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
110 |
+
background-color: #005fcc;
|
111 |
+
background-image: -moz-linear-gradient(top, #0044cc, #0088cc);
|
112 |
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0044cc), to(#0088cc));
|
113 |
+
background-image: -webkit-linear-gradient(top, #0044cc, #0088cc);
|
114 |
+
background-image: -o-linear-gradient(top, #0044cc, #0088cc);
|
115 |
+
background-image: linear-gradient(to bottom, #0044cc, #0088cc);
|
116 |
+
background-repeat: repeat-x;
|
117 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0044cc', endColorstr='#ff0088cc', GradientType=0);
|
118 |
+
border-color: #0088cc #0088cc #005580;
|
119 |
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
120 |
+
*background-color: #0088cc;
|
121 |
+
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
122 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
123 |
+
}
|
124 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:hover,
|
125 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:hover,
|
126 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:focus,
|
127 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:focus,
|
128 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:active,
|
129 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:active,
|
130 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary.active,
|
131 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary.active,
|
132 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary.disabled,
|
133 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary.disabled,
|
134 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary[disabled],
|
135 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary[disabled] {
|
136 |
+
color: #ffffff;
|
137 |
+
background-color: #0088cc;
|
138 |
+
*background-color: #0077b3;
|
139 |
+
}
|
140 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary:active,
|
141 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary:active,
|
142 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary.active,
|
143 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary.active {
|
144 |
+
background-color: #006699 \9;
|
145 |
+
}
|
146 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info,
|
147 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info {
|
148 |
+
color: #ffffff;
|
149 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
150 |
+
background-color: #41a7c5;
|
151 |
+
background-image: -moz-linear-gradient(top, #2f96b4, #5bc0de);
|
152 |
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#2f96b4), to(#5bc0de));
|
153 |
+
background-image: -webkit-linear-gradient(top, #2f96b4, #5bc0de);
|
154 |
+
background-image: -o-linear-gradient(top, #2f96b4, #5bc0de);
|
155 |
+
background-image: linear-gradient(to bottom, #2f96b4, #5bc0de);
|
156 |
+
background-repeat: repeat-x;
|
157 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2f96b4', endColorstr='#ff5bc0de', GradientType=0);
|
158 |
+
border-color: #5bc0de #5bc0de #28a1c5;
|
159 |
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
160 |
+
*background-color: #5bc0de;
|
161 |
+
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
162 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
163 |
+
}
|
164 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info:hover,
|
165 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info:hover,
|
166 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info:focus,
|
167 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info:focus,
|
168 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info:active,
|
169 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info:active,
|
170 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info.active,
|
171 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info.active,
|
172 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info.disabled,
|
173 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info.disabled,
|
174 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info[disabled],
|
175 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info[disabled] {
|
176 |
+
color: #ffffff;
|
177 |
+
background-color: #5bc0de;
|
178 |
+
*background-color: #46b8da;
|
179 |
+
}
|
180 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info:active,
|
181 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info:active,
|
182 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info.active,
|
183 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info.active {
|
184 |
+
background-color: #31b0d5 \9;
|
185 |
+
}
|
186 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
|
187 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success {
|
188 |
+
color: #ffffff;
|
189 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
190 |
+
background-color: #58b058;
|
191 |
+
background-image: -moz-linear-gradient(top, #51a351, #62c462);
|
192 |
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#51a351), to(#62c462));
|
193 |
+
background-image: -webkit-linear-gradient(top, #51a351, #62c462);
|
194 |
+
background-image: -o-linear-gradient(top, #51a351, #62c462);
|
195 |
+
background-image: linear-gradient(to bottom, #51a351, #62c462);
|
196 |
+
background-repeat: repeat-x;
|
197 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff51a351', endColorstr='#ff62c462', GradientType=0);
|
198 |
+
border-color: #62c462 #62c462 #3b9e3b;
|
199 |
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
200 |
+
*background-color: #62c462;
|
201 |
+
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
202 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
203 |
+
}
|
204 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success:hover,
|
205 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success:hover,
|
206 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success:focus,
|
207 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success:focus,
|
208 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success:active,
|
209 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success:active,
|
210 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success.active,
|
211 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success.active,
|
212 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success.disabled,
|
213 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success.disabled,
|
214 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success[disabled],
|
215 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success[disabled] {
|
216 |
+
color: #ffffff;
|
217 |
+
background-color: #62c462;
|
218 |
+
*background-color: #4fbd4f;
|
219 |
+
}
|
220 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success:active,
|
221 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success:active,
|
222 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success.active,
|
223 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success.active {
|
224 |
+
background-color: #42b142 \9;
|
225 |
+
}
|
226 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning,
|
227 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning {
|
228 |
+
color: #ffffff;
|
229 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
230 |
+
background-color: #f9a123;
|
231 |
+
background-image: -moz-linear-gradient(top, #f89406, #fbb450);
|
232 |
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f89406), to(#fbb450));
|
233 |
+
background-image: -webkit-linear-gradient(top, #f89406, #fbb450);
|
234 |
+
background-image: -o-linear-gradient(top, #f89406, #fbb450);
|
235 |
+
background-image: linear-gradient(to bottom, #f89406, #fbb450);
|
236 |
+
background-repeat: repeat-x;
|
237 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff89406', endColorstr='#fffbb450', GradientType=0);
|
238 |
+
border-color: #fbb450 #fbb450 #f89406;
|
239 |
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
240 |
+
*background-color: #fbb450;
|
241 |
+
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
242 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
243 |
+
}
|
244 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning:hover,
|
245 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning:hover,
|
246 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning:focus,
|
247 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning:focus,
|
248 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning:active,
|
249 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning:active,
|
250 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning.active,
|
251 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning.active,
|
252 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning.disabled,
|
253 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning.disabled,
|
254 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning[disabled],
|
255 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning[disabled] {
|
256 |
+
color: #ffffff;
|
257 |
+
background-color: #fbb450;
|
258 |
+
*background-color: #faa937;
|
259 |
+
}
|
260 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning:active,
|
261 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning:active,
|
262 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning.active,
|
263 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning.active {
|
264 |
+
background-color: #fa9f1e \9;
|
265 |
+
}
|
266 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger,
|
267 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger {
|
268 |
+
color: #ffffff;
|
269 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
270 |
+
background-color: #d14641;
|
271 |
+
background-image: -moz-linear-gradient(top, #bd362f, #ee5f5b);
|
272 |
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bd362f), to(#ee5f5b));
|
273 |
+
background-image: -webkit-linear-gradient(top, #bd362f, #ee5f5b);
|
274 |
+
background-image: -o-linear-gradient(top, #bd362f, #ee5f5b);
|
275 |
+
background-image: linear-gradient(to bottom, #bd362f, #ee5f5b);
|
276 |
+
background-repeat: repeat-x;
|
277 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbd362f', endColorstr='#ffee5f5b', GradientType=0);
|
278 |
+
border-color: #ee5f5b #ee5f5b #e51d18;
|
279 |
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
280 |
+
*background-color: #ee5f5b;
|
281 |
+
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
282 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
283 |
+
}
|
284 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger:hover,
|
285 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger:hover,
|
286 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger:focus,
|
287 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger:focus,
|
288 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger:active,
|
289 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger:active,
|
290 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger.active,
|
291 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger.active,
|
292 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger.disabled,
|
293 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger.disabled,
|
294 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger[disabled],
|
295 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger[disabled] {
|
296 |
+
color: #ffffff;
|
297 |
+
background-color: #ee5f5b;
|
298 |
+
*background-color: #ec4844;
|
299 |
+
}
|
300 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger:active,
|
301 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger:active,
|
302 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger.active,
|
303 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger.active {
|
304 |
+
background-color: #e9322d \9;
|
305 |
+
}
|
306 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,
|
307 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default {
|
308 |
+
color: #333333;
|
309 |
+
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
310 |
+
background-color: #f0f0f0;
|
311 |
+
background-image: -moz-linear-gradient(top, #e6e6e6, #ffffff);
|
312 |
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#ffffff));
|
313 |
+
background-image: -webkit-linear-gradient(top, #e6e6e6, #ffffff);
|
314 |
+
background-image: -o-linear-gradient(top, #e6e6e6, #ffffff);
|
315 |
+
background-image: linear-gradient(to bottom, #e6e6e6, #ffffff);
|
316 |
+
background-repeat: repeat-x;
|
317 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe6e6e6', endColorstr='#ffffffff', GradientType=0);
|
318 |
+
border-color: #ffffff #ffffff #d9d9d9;
|
319 |
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
320 |
+
*background-color: #ffffff;
|
321 |
+
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
322 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
323 |
+
}
|
324 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default:hover,
|
325 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default:hover,
|
326 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default:focus,
|
327 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default:focus,
|
328 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default:active,
|
329 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default:active,
|
330 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default.active,
|
331 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default.active,
|
332 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default.disabled,
|
333 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default.disabled,
|
334 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default[disabled],
|
335 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default[disabled] {
|
336 |
+
color: #333333;
|
337 |
+
background-color: #ffffff;
|
338 |
+
*background-color: #f2f2f2;
|
339 |
+
}
|
340 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default:active,
|
341 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default:active,
|
342 |
+
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default.active,
|
343 |
+
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default.active {
|
344 |
+
background-color: #e6e6e6 \9;
|
345 |
+
}
|
346 |
+
.bootstrap-switch .bootstrap-switch-label {
|
347 |
+
text-align: center;
|
348 |
+
margin-top: -1px;
|
349 |
+
margin-bottom: -1px;
|
350 |
+
z-index: 100;
|
351 |
+
border-left: 1px solid #cccccc;
|
352 |
+
border-right: 1px solid #cccccc;
|
353 |
+
color: #333333;
|
354 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
355 |
+
background-color: #f5f5f5;
|
356 |
+
background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
|
357 |
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
|
358 |
+
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
|
359 |
+
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
|
360 |
+
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
|
361 |
+
background-repeat: repeat-x;
|
362 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
|
363 |
+
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
|
364 |
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
365 |
+
*background-color: #e6e6e6;
|
366 |
+
/* Darken IE7 buttons by default so they stand out more given they won't have borders */
|
367 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
368 |
+
}
|
369 |
+
.bootstrap-switch .bootstrap-switch-label:hover,
|
370 |
+
.bootstrap-switch .bootstrap-switch-label:focus,
|
371 |
+
.bootstrap-switch .bootstrap-switch-label:active,
|
372 |
+
.bootstrap-switch .bootstrap-switch-label.active,
|
373 |
+
.bootstrap-switch .bootstrap-switch-label.disabled,
|
374 |
+
.bootstrap-switch .bootstrap-switch-label[disabled] {
|
375 |
+
color: #333333;
|
376 |
+
background-color: #e6e6e6;
|
377 |
+
*background-color: #d9d9d9;
|
378 |
+
}
|
379 |
+
.bootstrap-switch .bootstrap-switch-label:active,
|
380 |
+
.bootstrap-switch .bootstrap-switch-label.active {
|
381 |
+
background-color: #cccccc \9;
|
382 |
+
}
|
383 |
+
.bootstrap-switch .bootstrap-switch-handle-on {
|
384 |
+
-webkit-border-top-left-radius: 4px;
|
385 |
+
-moz-border-radius-topleft: 4px;
|
386 |
+
border-top-left-radius: 4px;
|
387 |
+
-webkit-border-bottom-left-radius: 4px;
|
388 |
+
-moz-border-radius-bottomleft: 4px;
|
389 |
+
border-bottom-left-radius: 4px;
|
390 |
+
}
|
391 |
+
.bootstrap-switch .bootstrap-switch-handle-off {
|
392 |
+
-webkit-border-top-right-radius: 4px;
|
393 |
+
-moz-border-radius-topright: 4px;
|
394 |
+
border-top-right-radius: 4px;
|
395 |
+
-webkit-border-bottom-right-radius: 4px;
|
396 |
+
-moz-border-radius-bottomright: 4px;
|
397 |
+
border-bottom-right-radius: 4px;
|
398 |
+
}
|
399 |
+
.bootstrap-switch input[type='radio'],
|
400 |
+
.bootstrap-switch input[type='checkbox'] {
|
401 |
+
position: absolute !important;
|
402 |
+
top: 0;
|
403 |
+
left: 0;
|
404 |
+
opacity: 0;
|
405 |
+
filter: alpha(opacity=0);
|
406 |
+
z-index: -1;
|
407 |
+
}
|
408 |
+
.bootstrap-switch input[type='radio'].form-control,
|
409 |
+
.bootstrap-switch input[type='checkbox'].form-control {
|
410 |
+
height: auto;
|
411 |
+
}
|
412 |
+
.bootstrap-switch.bootstrap-switch-mini {
|
413 |
+
min-width: 71px;
|
414 |
+
}
|
415 |
+
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,
|
416 |
+
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,
|
417 |
+
.bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label {
|
418 |
+
padding: 3px 6px;
|
419 |
+
font-size: 10px;
|
420 |
+
line-height: 9px;
|
421 |
+
}
|
422 |
+
.bootstrap-switch.bootstrap-switch-small {
|
423 |
+
min-width: 79px;
|
424 |
+
}
|
425 |
+
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,
|
426 |
+
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,
|
427 |
+
.bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label {
|
428 |
+
padding: 3px 6px;
|
429 |
+
font-size: 12px;
|
430 |
+
line-height: 18px;
|
431 |
+
}
|
432 |
+
.bootstrap-switch.bootstrap-switch-large {
|
433 |
+
min-width: 120px;
|
434 |
+
}
|
435 |
+
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,
|
436 |
+
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,
|
437 |
+
.bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label {
|
438 |
+
padding: 9px 12px;
|
439 |
+
font-size: 16px;
|
440 |
+
line-height: normal;
|
441 |
+
}
|
442 |
+
.bootstrap-switch.bootstrap-switch-disabled,
|
443 |
+
.bootstrap-switch.bootstrap-switch-readonly,
|
444 |
+
.bootstrap-switch.bootstrap-switch-indeterminate {
|
445 |
+
cursor: default !important;
|
446 |
+
}
|
447 |
+
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,
|
448 |
+
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,
|
449 |
+
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,
|
450 |
+
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,
|
451 |
+
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,
|
452 |
+
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,
|
453 |
+
.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,
|
454 |
+
.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,
|
455 |
+
.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label {
|
456 |
+
opacity: 0.5;
|
457 |
+
filter: alpha(opacity=50);
|
458 |
+
cursor: default !important;
|
459 |
+
}
|
460 |
+
.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container {
|
461 |
+
-webkit-transition: margin-left 0.5s;
|
462 |
+
-moz-transition: margin-left 0.5s;
|
463 |
+
-o-transition: margin-left 0.5s;
|
464 |
+
transition: margin-left 0.5s;
|
465 |
+
}
|
466 |
+
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on {
|
467 |
+
-webkit-border-top-left-radius: 0;
|
468 |
+
-moz-border-radius-topleft: 0;
|
469 |
+
border-top-left-radius: 0;
|
470 |
+
-webkit-border-bottom-left-radius: 0;
|
471 |
+
-moz-border-radius-bottomleft: 0;
|
472 |
+
border-bottom-left-radius: 0;
|
473 |
+
-webkit-border-top-right-radius: 4px;
|
474 |
+
-moz-border-radius-topright: 4px;
|
475 |
+
border-top-right-radius: 4px;
|
476 |
+
-webkit-border-bottom-right-radius: 4px;
|
477 |
+
-moz-border-radius-bottomright: 4px;
|
478 |
+
border-bottom-right-radius: 4px;
|
479 |
+
}
|
480 |
+
.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off {
|
481 |
+
-webkit-border-top-right-radius: 0;
|
482 |
+
-moz-border-radius-topright: 0;
|
483 |
+
border-top-right-radius: 0;
|
484 |
+
-webkit-border-bottom-right-radius: 0;
|
485 |
+
-moz-border-radius-bottomright: 0;
|
486 |
+
border-bottom-right-radius: 0;
|
487 |
+
-webkit-border-top-left-radius: 4px;
|
488 |
+
-moz-border-radius-topleft: 4px;
|
489 |
+
border-top-left-radius: 4px;
|
490 |
+
-webkit-border-bottom-left-radius: 4px;
|
491 |
+
-moz-border-radius-bottomleft: 4px;
|
492 |
+
border-bottom-left-radius: 4px;
|
493 |
+
}
|
494 |
+
.bootstrap-switch.bootstrap-switch-focused {
|
495 |
+
border-color: rgba(82, 168, 236, 0.8);
|
496 |
+
outline: 0;
|
497 |
+
outline: thin dotted \9;
|
498 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82, 168, 236, .6);
|
499 |
+
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82, 168, 236, .6);
|
500 |
+
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82, 168, 236, .6);
|
501 |
+
}
|
502 |
+
.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label,
|
503 |
+
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label {
|
504 |
+
-webkit-border-top-right-radius: 4px;
|
505 |
+
-moz-border-radius-topright: 4px;
|
506 |
+
border-top-right-radius: 4px;
|
507 |
+
-webkit-border-bottom-right-radius: 4px;
|
508 |
+
-moz-border-radius-bottomright: 4px;
|
509 |
+
border-bottom-right-radius: 4px;
|
510 |
+
}
|
511 |
+
.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label,
|
512 |
+
.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label {
|
513 |
+
-webkit-border-top-left-radius: 4px;
|
514 |
+
-moz-border-radius-topleft: 4px;
|
515 |
+
border-top-left-radius: 4px;
|
516 |
+
-webkit-border-bottom-left-radius: 4px;
|
517 |
+
-moz-border-radius-bottomleft: 4px;
|
518 |
+
border-bottom-left-radius: 4px;
|
519 |
+
}
|
skin/adminhtml/default/default/unbxd/{css → recscore/css}/bootstrap-them.css
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/{css → recscore/css}/bootstrap.css
RENAMED
@@ -7,7 +7,9 @@
|
|
7 |
*
|
8 |
* Designed and built with all the love in the world by @mdo and @fat.
|
9 |
*//*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}
|
10 |
-
p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}
|
|
|
|
|
11 |
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6
|
12 |
{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1}
|
13 |
h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:normal;line-height:1;color:#999}
|
7 |
*
|
8 |
* Designed and built with all the love in the world by @mdo and @fat.
|
9 |
*//*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}
|
10 |
+
p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}
|
11 |
+
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.428571429;color:#333;background-color:#fff}
|
12 |
+
input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select[multiple],textarea{background-image:none}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16.099999999999998px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-warning{color:#c09853}.text-danger{color:#b94a48}.text-success{color:#468847}.text-info{color:#3a87ad}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}
|
13 |
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6
|
14 |
{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1}
|
15 |
h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:normal;line-height:1;color:#999}
|
skin/adminhtml/default/default/unbxd/recscore/css/chosen.css
ADDED
@@ -0,0 +1,450 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
Chosen, a Select Box Enhancer for jQuery and Prototype
|
3 |
+
by Patrick Filler for Harvest, http://getharvest.com
|
4 |
+
|
5 |
+
Version 1.4.2
|
6 |
+
Full source at https://github.com/harvesthq/chosen
|
7 |
+
Copyright (c) 2011-2015 Harvest http://getharvest.com
|
8 |
+
|
9 |
+
MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
|
10 |
+
This file is generated by `grunt build`, do not edit it by hand.
|
11 |
+
*/
|
12 |
+
|
13 |
+
/* @group Base */
|
14 |
+
.chosen-container {
|
15 |
+
position: relative;
|
16 |
+
display: inline-block;
|
17 |
+
vertical-align: middle;
|
18 |
+
font-size: 13px;
|
19 |
+
zoom: 1;
|
20 |
+
*display: inline;
|
21 |
+
-webkit-user-select: none;
|
22 |
+
-moz-user-select: none;
|
23 |
+
user-select: none;
|
24 |
+
}
|
25 |
+
.chosen-container * {
|
26 |
+
-webkit-box-sizing: border-box;
|
27 |
+
-moz-box-sizing: border-box;
|
28 |
+
box-sizing: border-box;
|
29 |
+
}
|
30 |
+
.chosen-container .chosen-drop {
|
31 |
+
position: absolute;
|
32 |
+
top: 100%;
|
33 |
+
left: -9999px;
|
34 |
+
z-index: 1010;
|
35 |
+
width: 100%;
|
36 |
+
border: 1px solid #ece7e7;
|
37 |
+
border-top: 0;
|
38 |
+
background: #fff;
|
39 |
+
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
|
40 |
+
}
|
41 |
+
.chosen-container.chosen-with-drop .chosen-drop {
|
42 |
+
left: 0;
|
43 |
+
}
|
44 |
+
.chosen-container a {
|
45 |
+
cursor: pointer;
|
46 |
+
}
|
47 |
+
.chosen-container .search-choice .group-name, .chosen-container .chosen-single .group-name {
|
48 |
+
margin-right: 4px;
|
49 |
+
overflow: hidden;
|
50 |
+
white-space: nowrap;
|
51 |
+
text-overflow: ellipsis;
|
52 |
+
font-weight: normal;
|
53 |
+
color: #999999;
|
54 |
+
}
|
55 |
+
.chosen-container .search-choice .group-name:after, .chosen-container .chosen-single .group-name:after {
|
56 |
+
content: ":";
|
57 |
+
padding-left: 2px;
|
58 |
+
vertical-align: top;
|
59 |
+
}
|
60 |
+
|
61 |
+
/* @end */
|
62 |
+
/* @group Single Chosen */
|
63 |
+
.chosen-container-single .chosen-single {
|
64 |
+
position: relative;
|
65 |
+
display: block;
|
66 |
+
overflow: hidden;
|
67 |
+
padding: 0 0 0 8px;
|
68 |
+
height: 25px;
|
69 |
+
border: 1px solid #aaa;
|
70 |
+
border-radius: 5px;
|
71 |
+
background-color: #fff;
|
72 |
+
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
|
73 |
+
background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
74 |
+
background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
75 |
+
background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
76 |
+
background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
|
77 |
+
background-clip: padding-box;
|
78 |
+
box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1);
|
79 |
+
color: #444;
|
80 |
+
text-decoration: none;
|
81 |
+
white-space: nowrap;
|
82 |
+
line-height: 24px;
|
83 |
+
}
|
84 |
+
.chosen-container-single .chosen-default {
|
85 |
+
color: #999;
|
86 |
+
}
|
87 |
+
.chosen-container-single .chosen-single span {
|
88 |
+
display: block;
|
89 |
+
overflow: hidden;
|
90 |
+
margin-right: 26px;
|
91 |
+
text-overflow: ellipsis;
|
92 |
+
white-space: nowrap;
|
93 |
+
}
|
94 |
+
.chosen-container-single .chosen-single-with-deselect span {
|
95 |
+
margin-right: 38px;
|
96 |
+
}
|
97 |
+
.chosen-container-single .chosen-single abbr {
|
98 |
+
position: absolute;
|
99 |
+
top: 6px;
|
100 |
+
right: 26px;
|
101 |
+
display: block;
|
102 |
+
width: 12px;
|
103 |
+
height: 12px;
|
104 |
+
background: url('chosen-sprite.png') -42px 1px no-repeat;
|
105 |
+
font-size: 1px;
|
106 |
+
}
|
107 |
+
.chosen-container-single .chosen-single abbr:hover {
|
108 |
+
background-position: -42px -10px;
|
109 |
+
}
|
110 |
+
.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
|
111 |
+
background-position: -42px -10px;
|
112 |
+
}
|
113 |
+
.chosen-container-single .chosen-single div {
|
114 |
+
position: absolute;
|
115 |
+
top: 0;
|
116 |
+
right: 0;
|
117 |
+
display: block;
|
118 |
+
width: 18px;
|
119 |
+
height: 100%;
|
120 |
+
}
|
121 |
+
.chosen-container-single .chosen-single div b {
|
122 |
+
display: block;
|
123 |
+
width: 100%;
|
124 |
+
height: 100%;
|
125 |
+
background: url('chosen-sprite.png') no-repeat 0px 2px;
|
126 |
+
}
|
127 |
+
.chosen-container-single .chosen-search {
|
128 |
+
position: relative;
|
129 |
+
z-index: 1010;
|
130 |
+
margin: 0;
|
131 |
+
padding: 3px 4px;
|
132 |
+
white-space: nowrap;
|
133 |
+
}
|
134 |
+
.chosen-container-single .chosen-search input[type="text"] {
|
135 |
+
margin: 1px 0;
|
136 |
+
padding: 4px 20px 4px 5px;
|
137 |
+
width: 100%;
|
138 |
+
height: auto;
|
139 |
+
outline: 0;
|
140 |
+
border: 1px solid #aaa;
|
141 |
+
background: white url('chosen-sprite.png') no-repeat 100% -20px;
|
142 |
+
background: url('chosen-sprite.png') no-repeat 100% -20px;
|
143 |
+
font-size: 1em;
|
144 |
+
font-family: sans-serif;
|
145 |
+
line-height: normal;
|
146 |
+
border-radius: 0;
|
147 |
+
}
|
148 |
+
.chosen-container-single .chosen-drop {
|
149 |
+
margin-top: -1px;
|
150 |
+
border-radius: 0 0 4px 4px;
|
151 |
+
background-clip: padding-box;
|
152 |
+
}
|
153 |
+
.chosen-container-single.chosen-container-single-nosearch .chosen-search {
|
154 |
+
position: absolute;
|
155 |
+
left: -9999px;
|
156 |
+
}
|
157 |
+
|
158 |
+
/* @end */
|
159 |
+
/* @group Results */
|
160 |
+
.chosen-container .chosen-results {
|
161 |
+
color: #444;
|
162 |
+
position: relative;
|
163 |
+
overflow-x: hidden;
|
164 |
+
overflow-y: auto;
|
165 |
+
margin: 0 4px 4px 0;
|
166 |
+
padding: 0 0 0 4px;
|
167 |
+
max-height: 240px;
|
168 |
+
-webkit-overflow-scrolling: touch;
|
169 |
+
}
|
170 |
+
.chosen-container .chosen-results li {
|
171 |
+
display: none;
|
172 |
+
margin: 0;
|
173 |
+
padding: 5px 6px;
|
174 |
+
list-style: none;
|
175 |
+
line-height: 15px;
|
176 |
+
word-wrap: break-word;
|
177 |
+
-webkit-touch-callout: none;
|
178 |
+
}
|
179 |
+
.chosen-container .chosen-results li.active-result {
|
180 |
+
display: list-item;
|
181 |
+
cursor: pointer;
|
182 |
+
}
|
183 |
+
.chosen-container .chosen-results li.disabled-result {
|
184 |
+
display: list-item;
|
185 |
+
color: #ccc;
|
186 |
+
cursor: default;
|
187 |
+
}
|
188 |
+
.chosen-container .chosen-results li.highlighted {
|
189 |
+
background-color: #3875d7;
|
190 |
+
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
|
191 |
+
background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%);
|
192 |
+
background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%);
|
193 |
+
background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%);
|
194 |
+
background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
|
195 |
+
color: #fff;
|
196 |
+
}
|
197 |
+
.chosen-container .chosen-results li.no-results {
|
198 |
+
color: #777;
|
199 |
+
display: list-item;
|
200 |
+
background: #f4f4f4;
|
201 |
+
}
|
202 |
+
.chosen-container .chosen-results li.group-result {
|
203 |
+
display: list-item;
|
204 |
+
font-weight: bold;
|
205 |
+
cursor: default;
|
206 |
+
}
|
207 |
+
.chosen-container .chosen-results li.group-option {
|
208 |
+
padding-left: 15px;
|
209 |
+
}
|
210 |
+
.chosen-container .chosen-results li em {
|
211 |
+
font-style: normal;
|
212 |
+
text-decoration: underline;
|
213 |
+
}
|
214 |
+
|
215 |
+
/* @end */
|
216 |
+
/* @group Multi Chosen */
|
217 |
+
.chosen-container-multi .chosen-choices {
|
218 |
+
position: relative;
|
219 |
+
overflow: hidden;
|
220 |
+
margin: 0;
|
221 |
+
padding: 0 5px;
|
222 |
+
width: 100%;
|
223 |
+
height: auto !important;
|
224 |
+
height: 1%;
|
225 |
+
border: 1px solid #aaa;
|
226 |
+
background-color: #fff;
|
227 |
+
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
|
228 |
+
background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
229 |
+
background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
230 |
+
background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
|
231 |
+
background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
|
232 |
+
cursor: text;
|
233 |
+
}
|
234 |
+
.chosen-container-multi .chosen-choices li {
|
235 |
+
float: left;
|
236 |
+
list-style: none;
|
237 |
+
}
|
238 |
+
.chosen-container-multi .chosen-choices li.search-field {
|
239 |
+
margin: 0;
|
240 |
+
padding: 0;
|
241 |
+
white-space: nowrap;
|
242 |
+
}
|
243 |
+
.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
|
244 |
+
margin: 1px 0;
|
245 |
+
padding: 0;
|
246 |
+
height: 25px;
|
247 |
+
outline: 0;
|
248 |
+
border: 0 !important;
|
249 |
+
background: transparent !important;
|
250 |
+
box-shadow: none;
|
251 |
+
color: #999;
|
252 |
+
font-size: 100%;
|
253 |
+
font-family: sans-serif;
|
254 |
+
line-height: normal;
|
255 |
+
border-radius: 0;
|
256 |
+
}
|
257 |
+
.chosen-container-multi .chosen-choices li.search-choice {
|
258 |
+
position: relative;
|
259 |
+
margin: 3px 5px 3px 0;
|
260 |
+
padding: 3px 20px 3px 5px;
|
261 |
+
border: 1px solid #aaa;
|
262 |
+
max-width: 100%;
|
263 |
+
border-radius: 3px;
|
264 |
+
background-color: #eeeeee;
|
265 |
+
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
|
266 |
+
background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
267 |
+
background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
268 |
+
background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
269 |
+
background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
270 |
+
background-size: 100% 19px;
|
271 |
+
background-repeat: repeat-x;
|
272 |
+
background-clip: padding-box;
|
273 |
+
box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
274 |
+
color: #333;
|
275 |
+
line-height: 13px;
|
276 |
+
cursor: default;
|
277 |
+
}
|
278 |
+
.chosen-container-multi .chosen-choices li.search-choice span {
|
279 |
+
word-wrap: break-word;
|
280 |
+
}
|
281 |
+
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
|
282 |
+
position: absolute;
|
283 |
+
top: 4px;
|
284 |
+
right: 3px;
|
285 |
+
display: block;
|
286 |
+
width: 12px;
|
287 |
+
height: 12px;
|
288 |
+
background: url('chosen-sprite.png') -42px 1px no-repeat;
|
289 |
+
font-size: 1px;
|
290 |
+
}
|
291 |
+
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
|
292 |
+
background-position: -42px -10px;
|
293 |
+
}
|
294 |
+
.chosen-container-multi .chosen-choices li.search-choice-disabled {
|
295 |
+
padding-right: 5px;
|
296 |
+
border: 1px solid #ccc;
|
297 |
+
background-color: #e4e4e4;
|
298 |
+
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
|
299 |
+
background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
300 |
+
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
301 |
+
background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
302 |
+
background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
303 |
+
color: #666;
|
304 |
+
}
|
305 |
+
.chosen-container-multi .chosen-choices li.search-choice-focus {
|
306 |
+
background: #d4d4d4;
|
307 |
+
}
|
308 |
+
.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
|
309 |
+
background-position: -42px -10px;
|
310 |
+
}
|
311 |
+
.chosen-container-multi .chosen-results {
|
312 |
+
margin: 0;
|
313 |
+
padding: 0;
|
314 |
+
}
|
315 |
+
.chosen-container-multi .chosen-drop .result-selected {
|
316 |
+
display: list-item;
|
317 |
+
color: #ccc;
|
318 |
+
cursor: default;
|
319 |
+
}
|
320 |
+
|
321 |
+
/* @end */
|
322 |
+
/* @group Active */
|
323 |
+
.chosen-container-active .chosen-single {
|
324 |
+
border: 1px solid #5897fb;
|
325 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
326 |
+
}
|
327 |
+
.chosen-container-active.chosen-with-drop .chosen-single {
|
328 |
+
border: 1px solid #aaa;
|
329 |
+
-moz-border-radius-bottomright: 0;
|
330 |
+
border-bottom-right-radius: 0;
|
331 |
+
-moz-border-radius-bottomleft: 0;
|
332 |
+
border-bottom-left-radius: 0;
|
333 |
+
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff));
|
334 |
+
background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%);
|
335 |
+
background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%);
|
336 |
+
background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%);
|
337 |
+
background-image: linear-gradient(#eeeeee 20%, #ffffff 80%);
|
338 |
+
box-shadow: 0 1px 0 #fff inset;
|
339 |
+
}
|
340 |
+
.chosen-container-active.chosen-with-drop .chosen-single div {
|
341 |
+
border-left: none;
|
342 |
+
background: transparent;
|
343 |
+
}
|
344 |
+
.chosen-container-active.chosen-with-drop .chosen-single div b {
|
345 |
+
background-position: -18px 2px;
|
346 |
+
}
|
347 |
+
.chosen-container-active .chosen-choices {
|
348 |
+
border: 1px solid #5897fb;
|
349 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
|
350 |
+
}
|
351 |
+
.chosen-container-active .chosen-choices li.search-field input[type="text"] {
|
352 |
+
color: #222 !important;
|
353 |
+
}
|
354 |
+
|
355 |
+
/* @end */
|
356 |
+
/* @group Disabled Support */
|
357 |
+
.chosen-disabled {
|
358 |
+
opacity: 0.5 !important;
|
359 |
+
cursor: default;
|
360 |
+
}
|
361 |
+
.chosen-disabled .chosen-single {
|
362 |
+
cursor: default;
|
363 |
+
}
|
364 |
+
.chosen-disabled .chosen-choices .search-choice .search-choice-close {
|
365 |
+
cursor: default;
|
366 |
+
}
|
367 |
+
|
368 |
+
/* @end */
|
369 |
+
/* @group Right to Left */
|
370 |
+
.chosen-rtl {
|
371 |
+
text-align: right;
|
372 |
+
}
|
373 |
+
.chosen-rtl .chosen-single {
|
374 |
+
overflow: visible;
|
375 |
+
padding: 0 8px 0 0;
|
376 |
+
}
|
377 |
+
.chosen-rtl .chosen-single span {
|
378 |
+
margin-right: 0;
|
379 |
+
margin-left: 26px;
|
380 |
+
direction: rtl;
|
381 |
+
}
|
382 |
+
.chosen-rtl .chosen-single-with-deselect span {
|
383 |
+
margin-left: 38px;
|
384 |
+
}
|
385 |
+
.chosen-rtl .chosen-single div {
|
386 |
+
right: auto;
|
387 |
+
left: 3px;
|
388 |
+
}
|
389 |
+
.chosen-rtl .chosen-single abbr {
|
390 |
+
right: auto;
|
391 |
+
left: 26px;
|
392 |
+
}
|
393 |
+
.chosen-rtl .chosen-choices li {
|
394 |
+
float: right;
|
395 |
+
}
|
396 |
+
.chosen-rtl .chosen-choices li.search-field input[type="text"] {
|
397 |
+
direction: rtl;
|
398 |
+
}
|
399 |
+
.chosen-rtl .chosen-choices li.search-choice {
|
400 |
+
margin: 3px 5px 3px 0;
|
401 |
+
padding: 3px 5px 3px 19px;
|
402 |
+
}
|
403 |
+
.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
|
404 |
+
right: auto;
|
405 |
+
left: 4px;
|
406 |
+
}
|
407 |
+
.chosen-rtl.chosen-container-single-nosearch .chosen-search,
|
408 |
+
.chosen-rtl .chosen-drop {
|
409 |
+
left: 9999px;
|
410 |
+
}
|
411 |
+
.chosen-rtl.chosen-container-single .chosen-results {
|
412 |
+
margin: 0 0 4px 4px;
|
413 |
+
padding: 0 4px 0 0;
|
414 |
+
}
|
415 |
+
.chosen-rtl .chosen-results li.group-option {
|
416 |
+
padding-right: 15px;
|
417 |
+
padding-left: 0;
|
418 |
+
}
|
419 |
+
.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
|
420 |
+
border-right: none;
|
421 |
+
}
|
422 |
+
.chosen-rtl .chosen-search input[type="text"] {
|
423 |
+
padding: 4px 5px 4px 20px;
|
424 |
+
background: white url('chosen-sprite.png') no-repeat -30px -20px;
|
425 |
+
background: url('chosen-sprite.png') no-repeat -30px -20px;
|
426 |
+
direction: rtl;
|
427 |
+
}
|
428 |
+
.chosen-rtl.chosen-container-single .chosen-single div b {
|
429 |
+
background-position: 6px 2px;
|
430 |
+
}
|
431 |
+
.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
|
432 |
+
background-position: -12px 2px;
|
433 |
+
}
|
434 |
+
|
435 |
+
/* @end */
|
436 |
+
/* @group Retina compatibility */
|
437 |
+
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
|
438 |
+
.chosen-rtl .chosen-search input[type="text"],
|
439 |
+
.chosen-container-single .chosen-single abbr,
|
440 |
+
.chosen-container-single .chosen-single div b,
|
441 |
+
.chosen-container-single .chosen-search input[type="text"],
|
442 |
+
.chosen-container-multi .chosen-choices .search-choice .search-choice-close,
|
443 |
+
.chosen-container .chosen-results-scroll-down span,
|
444 |
+
.chosen-container .chosen-results-scroll-up span {
|
445 |
+
background-image: url('chosen-sprite@2x.png') !important;
|
446 |
+
background-size: 52px 37px !important;
|
447 |
+
background-repeat: no-repeat !important;
|
448 |
+
}
|
449 |
+
}
|
450 |
+
/* @end */
|
skin/adminhtml/default/default/unbxd/recscore/css/colpick.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.colpick{position:absolute;width:346px;height:170px;overflow:hidden;display:none;font-family:Arial,Helvetica,sans-serif;background:#ebebeb;border:1px solid #bbb;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.colpick_color{position:absolute;left:7px;top:7px;width:156px;height:156px;overflow:hidden;outline:1px solid #aaa;cursor:crosshair}.colpick_color_overlay1{position:absolute;left:0;top:0;width:156px;height:156px;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:-moz-linear-gradient(left,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0%,rgba(255,255,255,1)),color-stop(100%,rgba(255,255,255,0)));background:-webkit-linear-gradient(left,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);background:-o-linear-gradient(left,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);background:linear-gradient(to right,rgba(255,255,255,1) 0,rgba(255,255,255,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff',endColorstr='#00ffffff')}.colpick_color_overlay2{position:absolute;left:0;top:0;width:156px;height:156px;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:-moz-linear-gradient(top,rgba(0,0,0,0) 0,rgba(0,0,0,1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(0,0,0,0)),color-stop(100%,rgba(0,0,0,1)));background:-webkit-linear-gradient(top,rgba(0,0,0,0) 0,rgba(0,0,0,1) 100%);background:-o-linear-gradient(top,rgba(0,0,0,0) 0,rgba(0,0,0,1) 100%);background:-ms-linear-gradient(top,rgba(0,0,0,0) 0,rgba(0,0,0,1) 100%);background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,1) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#000000',GradientType=0)}.colpick_selector_outer{background:0;position:absolute;width:11px;height:11px;margin:-6px 0 0 -6px;border:1px solid black;border-radius:50%}.colpick_selector_inner{position:absolute;width:9px;height:9px;border:1px solid white;border-radius:50%}.colpick_hue{position:absolute;top:6px;left:175px;width:19px;height:156px;border:1px solid #aaa;cursor:n-resize}.colpick_hue_arrs{position:absolute;left:-8px;width:35px;height:7px;margin:-7px 0 0 0}.colpick_hue_larr{position:absolute;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:7px solid #858585}.colpick_hue_rarr{position:absolute;right:0;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:7px solid #858585}.colpick_new_color{position:absolute;left:207px;top:6px;width:60px;height:27px;background:#f00;border:1px solid #8f8f8f}.colpick_current_color{position:absolute;left:277px;top:6px;width:60px;height:27px;background:#f00;border:1px solid #8f8f8f}.colpick_field,.colpick_hex_field{position:absolute;height:20px;width:60px;overflow:hidden;background:#f3f3f3;color:#b8b8b8;font-size:12px;border:1px solid #bdbdbd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.colpick_rgb_r{top:40px;left:207px}.colpick_rgb_g{top:67px;left:207px}.colpick_rgb_b{top:94px;left:207px}.colpick_hsb_h{top:40px;left:277px}.colpick_hsb_s{top:67px;left:277px}.colpick_hsb_b{top:94px;left:277px}.colpick_hex_field{width:68px;left:207px;top:121px}.colpick_focus{border-color:#999}.colpick_field_letter{position:absolute;width:12px;height:20px;line-height:20px;padding-left:4px;background:#efefef;border-right:1px solid #bdbdbd;font-weight:bold;color:#777}.colpick_field input,.colpick_hex_field input{position:absolute;right:11px;margin:0;padding:0;height:20px;line-height:20px;background:transparent;border:0;font-size:12px;font-family:Arial,Helvetica,sans-serif;color:#555;text-align:right;outline:0}.colpick_hex_field input{right:4px}.colpick_field_arrs{position:absolute;top:0;right:0;width:9px;height:21px;cursor:n-resize}.colpick_field_uarr{position:absolute;top:5px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid #959595}.colpick_field_darr{position:absolute;bottom:5px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #959595}.colpick_submit{position:absolute;left:207px;top:149px;width:130px;height:22px;line-height:22px;background:#efefef;text-align:center;color:#555;font-size:12px;font-weight:bold;border:1px solid #bdbdbd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.colpick_submit:hover{background:#f3f3f3;border-color:#999;cursor:pointer}.colpick_full_ns .colpick_submit,.colpick_full_ns .colpick_current_color{display:none}.colpick_full_ns .colpick_new_color{width:130px;height:25px}.colpick_full_ns .colpick_rgb_r,.colpick_full_ns .colpick_hsb_h{top:42px}.colpick_full_ns .colpick_rgb_g,.colpick_full_ns .colpick_hsb_s{top:73px}.colpick_full_ns .colpick_rgb_b,.colpick_full_ns .colpick_hsb_b{top:104px}.colpick_full_ns .colpick_hex_field{top:135px}.colpick_rgbhex .colpick_hsb_h,.colpick_rgbhex .colpick_hsb_s,.colpick_rgbhex .colpick_hsb_b{display:none}.colpick_rgbhex{width:282px}.colpick_rgbhex .colpick_field,.colpick_rgbhex .colpick_submit{width:68px}.colpick_rgbhex .colpick_new_color{width:34px;border-right:0}.colpick_rgbhex .colpick_current_color{width:34px;left:240px;border-left:none}.colpick_rgbhex_ns .colpick_submit,.colpick_rgbhex_ns .colpick_current_color{display:none}.colpick_rgbhex_ns .colpick_new_color{width:68px;border:1px solid #8f8f8f}.colpick_rgbhex_ns .colpick_rgb_r{top:42px}.colpick_rgbhex_ns .colpick_rgb_g{top:73px}.colpick_rgbhex_ns .colpick_rgb_b{top:104px}.colpick_rgbhex_ns .colpick_hex_field{top:135px}.colpick_hex .colpick_hsb_h,.colpick_hex .colpick_hsb_s,.colpick_hex .colpick_hsb_b,.colpick_hex .colpick_rgb_r,.colpick_hex .colpick_rgb_g,.colpick_hex .colpick_rgb_b{display:none}.colpick_hex{width:206px;height:201px}.colpick_hex .colpick_hex_field{width:72px;height:25px;top:168px;left:80px}.colpick_hex .colpick_hex_field div,.colpick_hex .colpick_hex_field input{height:25px;line-height:25px}.colpick_hex .colpick_new_color{left:9px;top:168px;width:30px;border-right:0}.colpick_hex .colpick_current_color{left:39px;top:168px;width:30px;border-left:none}.colpick_hex .colpick_submit{left:164px;top:168px;width:30px;height:25px;line-height:25px}.colpick_hex_ns .colpick_submit,.colpick_hex_ns .colpick_current_color{display:none}.colpick_hex_ns .colpick_hex_field{width:80px}.colpick_hex_ns .colpick_new_color{width:60px;border:1px solid #8f8f8f}.colpick_dark{background:#161616;border-color:#2a2a2a}.colpick_dark .colpick_color{outline-color:#333}.colpick_dark .colpick_hue{border-color:#555}.colpick_dark .colpick_field,.colpick_dark .colpick_hex_field{background:#101010;border-color:#2d2d2d}.colpick_dark .colpick_field_letter{background:#131313;border-color:#2d2d2d;color:#696969}.colpick_dark .colpick_field input,.colpick_dark .colpick_hex_field input{color:#7a7a7a}.colpick_dark .colpick_field_uarr{border-bottom-color:#696969}.colpick_dark .colpick_field_darr{border-top-color:#696969}.colpick_dark .colpick_focus{border-color:#444}.colpick_dark .colpick_submit{background:#131313;border-color:#2d2d2d;color:#7a7a7a}.colpick_dark .colpick_submit:hover{background-color:#101010;border-color:#444}
|
skin/adminhtml/default/default/unbxd/recscore/css/magento-app.css
ADDED
@@ -0,0 +1,270 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* CSS for new rollling of Magento App */
|
2 |
+
/* Author : Vinay */
|
3 |
+
|
4 |
+
|
5 |
+
.magento-row-tabs {
|
6 |
+
background-color: #fff;
|
7 |
+
border: 1px solid #c6d1d3;
|
8 |
+
border-radius: 4px;
|
9 |
+
float: left;
|
10 |
+
padding: 5px 0 5px 10px;
|
11 |
+
width: 100%;
|
12 |
+
}
|
13 |
+
.catalog-table tbody tr:nth-child(even){
|
14 |
+
background:#f2f5f5;
|
15 |
+
}
|
16 |
+
.table-magento.table-magento1 > tbody > tr > td {
|
17 |
+
border-right: 1px solid #dee2e4 !important;
|
18 |
+
color: #5c656a;
|
19 |
+
font-size: 16px;
|
20 |
+
font-weight: 400;
|
21 |
+
height: 50px !important;
|
22 |
+
padding: 10px 10px 10px 20px;
|
23 |
+
vertical-align: middle;
|
24 |
+
}
|
25 |
+
|
26 |
+
.info-td-magento {
|
27 |
+
background: url("../img/info-small.png") no-repeat scroll 0 0 / 100% 100% rgba(0, 0, 0, 0);
|
28 |
+
display: inline-block;
|
29 |
+
float: right;
|
30 |
+
height: 20px;
|
31 |
+
margin-right: 5px;
|
32 |
+
width: 20px;
|
33 |
+
}
|
34 |
+
|
35 |
+
.table-magento1{
|
36 |
+
margin-bottom: 0;
|
37 |
+
}
|
38 |
+
.width-100{
|
39 |
+
width:100% !important;
|
40 |
+
}
|
41 |
+
.pad-rgt-200{
|
42 |
+
padding-right:200px;
|
43 |
+
}
|
44 |
+
.dblock{
|
45 |
+
display:block;
|
46 |
+
}
|
47 |
+
.saved-msg{
|
48 |
+
background: url("../img/saved.png") no-repeat scroll 10% center #fff;
|
49 |
+
border:none;
|
50 |
+
color:#0da670 !important;
|
51 |
+
}
|
52 |
+
.magento-row-tabs span{
|
53 |
+
color:#a6a6a6 ;
|
54 |
+
}
|
55 |
+
.wht-font{
|
56 |
+
color:#FFF;
|
57 |
+
}
|
58 |
+
.button-black-magento1 ,.button-black-magento1:hover{
|
59 |
+
background-image: none;
|
60 |
+
border-radius: 3px;
|
61 |
+
color: #fdfdfd !important;
|
62 |
+
}
|
63 |
+
.button-black-magento1 a:hover, .button-black-magento1 a:visited, .button-black-magento1 a:active{
|
64 |
+
color:#FFF !important;
|
65 |
+
}
|
66 |
+
.width-40{
|
67 |
+
width:40px;
|
68 |
+
}
|
69 |
+
.magento-plus-btn, .magento-plus-btn:hover{
|
70 |
+
background: url("../img/add-icon.png") no-repeat scroll 50% center #3b3e40;
|
71 |
+
border-bottom-right-radius: 3px;
|
72 |
+
border-top-right-radius: 3px;
|
73 |
+
border-bottom-left-radius: 0px;
|
74 |
+
border-top-left-radius: 0px;
|
75 |
+
}
|
76 |
+
.btn-group{
|
77 |
+
width:100% !important;
|
78 |
+
}
|
79 |
+
|
80 |
+
.table-magento.table-magento1 > tbody > tr > td{
|
81 |
+
width:auto;
|
82 |
+
}
|
83 |
+
.dropdown-toggle-magento{
|
84 |
+
width:auto;
|
85 |
+
}
|
86 |
+
.attribute-td {
|
87 |
+
width: 250px !important;
|
88 |
+
}
|
89 |
+
.dropdown-menu-magento{
|
90 |
+
width:auto !important;
|
91 |
+
}
|
92 |
+
.dropdown-menu-magento > li > a{
|
93 |
+
width:auto!important;
|
94 |
+
}
|
95 |
+
|
96 |
+
.btn-group.open{
|
97 |
+
width:30% !important;
|
98 |
+
}
|
99 |
+
.btn-group.open .dropdown-toggle-magento{
|
100 |
+
width:160px !important;
|
101 |
+
}
|
102 |
+
.search_info_box > img{float:none !important;}
|
103 |
+
.search_info_box a{color:#05b3aa;}
|
104 |
+
.clear{clear:both;}
|
105 |
+
.magento-search-type{
|
106 |
+
border:1px solid #c6d1d3;
|
107 |
+
border-radius: 3px;
|
108 |
+
margin:10px 0px 10px;
|
109 |
+
cursor:pointer;
|
110 |
+
}
|
111 |
+
.magento-search-copy {
|
112 |
+
padding: 30px 20px;
|
113 |
+
min-height: 136px;
|
114 |
+
padding-top: 20px;
|
115 |
+
border-right:1px solid #c6d1d3;
|
116 |
+
position: relative;
|
117 |
+
/*resize: vertical;*/
|
118 |
+
overflow: auto;
|
119 |
+
}
|
120 |
+
|
121 |
+
.magento-search-copy > div {
|
122 |
+
position: absolute;
|
123 |
+
top: 50%;
|
124 |
+
left: 20px;
|
125 |
+
right: 20px;
|
126 |
+
padding: 20px;
|
127 |
+
transform: translateY(-50%);
|
128 |
+
/*resize: vertical;*/
|
129 |
+
overflow: auto;
|
130 |
+
}
|
131 |
+
|
132 |
+
.search-head {
|
133 |
+
color: #4e5356;
|
134 |
+
font-weight: 400;
|
135 |
+
font-size: 21px;
|
136 |
+
margin-bottom: 5px;
|
137 |
+
}
|
138 |
+
|
139 |
+
.search-desc {
|
140 |
+
color: #929494;
|
141 |
+
width: 85%;
|
142 |
+
float:left;
|
143 |
+
font-size: 14px;
|
144 |
+
font-weight: 300;
|
145 |
+
letter-spacing:1px;
|
146 |
+
}
|
147 |
+
|
148 |
+
.search-desc a, .search-desc a:hover{
|
149 |
+
color: #05b3aa !important;
|
150 |
+
}
|
151 |
+
|
152 |
+
.magento-search-type:hover,
|
153 |
+
.active-search{
|
154 |
+
border: 1px solid #05b3aa;
|
155 |
+
background:#f2f5f5;
|
156 |
+
}
|
157 |
+
.magento-search-type-arrow {
|
158 |
+
padding: 42px 0;
|
159 |
+
height: 136px;
|
160 |
+
}
|
161 |
+
.magento-search-type-arrow div{
|
162 |
+
background:url('../img/arrow_grey.png') no-repeat center;
|
163 |
+
height:45px;
|
164 |
+
width:21px;
|
165 |
+
margin:auto;
|
166 |
+
}
|
167 |
+
.magento-search-type:hover .magento-search-type-arrow,
|
168 |
+
.active-arrow{
|
169 |
+
background:#05b3aa;
|
170 |
+
}
|
171 |
+
.magento-search-type:hover .magento-search-type-arrow div,
|
172 |
+
.active-arrow div{
|
173 |
+
background:url('../img/arrow_white.png') no-repeat center;
|
174 |
+
}
|
175 |
+
.search-active-btn{
|
176 |
+
background: url("../img/active.png") no-repeat scroll 3px 4px rgba(0, 0, 0, 0);
|
177 |
+
border: 1px solid #05b3aa;
|
178 |
+
border-radius: 3px;
|
179 |
+
color: #05b3aa;
|
180 |
+
float: right;
|
181 |
+
height: 25px;
|
182 |
+
line-height: 23px;
|
183 |
+
width: 85px;
|
184 |
+
background-position: 10px;
|
185 |
+
padding-left: 30px;
|
186 |
+
}
|
187 |
+
|
188 |
+
.mail-popup-bg {
|
189 |
+
background: none repeat scroll 0 0 rgba(0, 0, 0, 0.5);
|
190 |
+
height: 100%;
|
191 |
+
left: 0;
|
192 |
+
position: fixed;
|
193 |
+
top: 0;
|
194 |
+
width: 100%;
|
195 |
+
display:none;
|
196 |
+
z-index: 10;
|
197 |
+
}
|
198 |
+
.mail-popup {
|
199 |
+
background: none repeat scroll 0 0 #fff;
|
200 |
+
position: absolute;
|
201 |
+
width: 85%;
|
202 |
+
display:none;
|
203 |
+
z-index: 11;
|
204 |
+
}
|
205 |
+
.mail-popup-head {
|
206 |
+
background: none repeat scroll 0 0 #05b3aa;
|
207 |
+
color: #fff;
|
208 |
+
font-size: 1.25em;
|
209 |
+
padding: 15px 40px;
|
210 |
+
}
|
211 |
+
.mail-popup-content {
|
212 |
+
padding: 25px;
|
213 |
+
}
|
214 |
+
.mail-popup-content input, .mail-popup-content input:focus {
|
215 |
+
vertical-align: baseline;
|
216 |
+
border: 0px solid #FFF;
|
217 |
+
}
|
218 |
+
.mail-popup-content textarea{
|
219 |
+
color: #636769;
|
220 |
+
font-size: 13px;
|
221 |
+
overflow: visible;
|
222 |
+
}
|
223 |
+
.to-holder > span {
|
224 |
+
font-size: 1.25em;
|
225 |
+
}
|
226 |
+
.to-holder, .cc-holder {
|
227 |
+
border: 1px solid #c6d1d3;
|
228 |
+
color: #929494;
|
229 |
+
padding: 10px;
|
230 |
+
padding-top: 5px;
|
231 |
+
padding-bottom: 5px;
|
232 |
+
}
|
233 |
+
|
234 |
+
.to-holder > input:focus, .cc-holder > input:focus{
|
235 |
+
border:none;
|
236 |
+
}
|
237 |
+
|
238 |
+
.to-holder > input {
|
239 |
+
border: medium none;
|
240 |
+
color: #929494;
|
241 |
+
margin-left: 5px;
|
242 |
+
padding-left: 5px;
|
243 |
+
}
|
244 |
+
.cc-holder , .cc-holder > input {color:#000;}
|
245 |
+
|
246 |
+
.body-holder{
|
247 |
+
min-height:200px;
|
248 |
+
}
|
249 |
+
.mail-send-btn {
|
250 |
+
background: none repeat scroll 0 0 #05b3aa;
|
251 |
+
border: medium none;
|
252 |
+
color: #fff;
|
253 |
+
font-size: 1.25em;
|
254 |
+
padding: 10px 40px;
|
255 |
+
}
|
256 |
+
.pad-top-6p{
|
257 |
+
padding-top: 6%;
|
258 |
+
}
|
259 |
+
.pad-left-10p{
|
260 |
+
padding-left: 10%;
|
261 |
+
}
|
262 |
+
.mail-popup .mail-body{
|
263 |
+
border: 0px;
|
264 |
+
width: 100%;
|
265 |
+
}
|
266 |
+
.cc-div{
|
267 |
+
padding-top: 8px;
|
268 |
+
padding-bottom: 5px;
|
269 |
+
overflow: auto;
|
270 |
+
}
|
skin/adminhtml/default/default/unbxd/recscore/css/unbxd-magento.css
ADDED
@@ -0,0 +1,1778 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.unbxd-container a, .unbxd-container a:hover{
|
2 |
+
text-decoration: none;
|
3 |
+
}
|
4 |
+
.container{
|
5 |
+
background-color: #f3f6f6;
|
6 |
+
}
|
7 |
+
.middle-nav-magento-dropdown, .background-grey{
|
8 |
+
background-color: #f3f6f6;
|
9 |
+
}
|
10 |
+
.middle-nav-magento-dropdown{
|
11 |
+
/*top: 185px;*/
|
12 |
+
width: 100%;
|
13 |
+
}
|
14 |
+
.top-200{
|
15 |
+
top:200px !important;
|
16 |
+
}
|
17 |
+
.top-185{
|
18 |
+
top: 185px !important;
|
19 |
+
}
|
20 |
+
.clickable-btn,.clickable{
|
21 |
+
cursor: pointer;
|
22 |
+
}
|
23 |
+
.magento-active{
|
24 |
+
border-top: 0;
|
25 |
+
border-bottom: 1px solid #4e5253;
|
26 |
+
background: #05b4ae url('../img/arrow-white.png') no-repeat 90%;
|
27 |
+
cursor: default;
|
28 |
+
pointer-events: none;
|
29 |
+
border: 0;
|
30 |
+
}
|
31 |
+
.site-key-help {
|
32 |
+
display: none;
|
33 |
+
top: 329px;
|
34 |
+
position: absolute;
|
35 |
+
left: 470px;
|
36 |
+
}
|
37 |
+
.secret-key-help{
|
38 |
+
display: none;
|
39 |
+
top: 329px;
|
40 |
+
position: absolute;
|
41 |
+
left: 870px;
|
42 |
+
}
|
43 |
+
.blue-link{
|
44 |
+
color: #11b3c7;
|
45 |
+
cursor: pointer;
|
46 |
+
padding-top: 13px;
|
47 |
+
padding-left: 10px;
|
48 |
+
}
|
49 |
+
.custom-attributes{
|
50 |
+
display: none;
|
51 |
+
}
|
52 |
+
.middle-nav-text {
|
53 |
+
padding-left: 5px;
|
54 |
+
color: #3c3f40;
|
55 |
+
font-size: 16px;
|
56 |
+
font-weight: 400;
|
57 |
+
padding-top: 5px;
|
58 |
+
padding-bottom: 5px;
|
59 |
+
margin-bottom: 0;
|
60 |
+
}
|
61 |
+
.chosen-drop{
|
62 |
+
z-index: 999999 !important;
|
63 |
+
}
|
64 |
+
.capitalize{
|
65 |
+
text-transform: capitalize;
|
66 |
+
}
|
67 |
+
.unbxd-table{
|
68 |
+
|
69 |
+
border-right-style: solid;
|
70 |
+
border-right-width: 1px;
|
71 |
+
border-top-color: rgb(222, 226, 228);
|
72 |
+
border-top-left-radius: 5px;
|
73 |
+
border-top-right-radius: 5px;
|
74 |
+
border-top-style: solid;
|
75 |
+
border-top-width: 1px;
|
76 |
+
box-sizing: border-box;
|
77 |
+
color: #5c656a;
|
78 |
+
font-family: "Helvetica Neue", Helvetica, Sans-Serif;
|
79 |
+
font-size: 14px;
|
80 |
+
font-style: normal;
|
81 |
+
font-variant: normal;
|
82 |
+
font-weight: normal;
|
83 |
+
line-height: 20px;
|
84 |
+
margin-bottom: 20px;
|
85 |
+
margin-left: 0px;
|
86 |
+
margin-right: 0px;
|
87 |
+
margin-top: 0px;
|
88 |
+
max-width: 100%;
|
89 |
+
padding-bottom: 0px;
|
90 |
+
padding-left: 0px;
|
91 |
+
padding-right: 0px;
|
92 |
+
padding-top: 0px;
|
93 |
+
width: 100%;
|
94 |
+
}
|
95 |
+
.unbxd-thead{
|
96 |
+
color: rgb(51, 51, 51);
|
97 |
+
font-family: "Helvetica Neue", Helvetica, Sans-Serif;
|
98 |
+
font-size: 14px;
|
99 |
+
font-style: normal;
|
100 |
+
font-variant: normal;
|
101 |
+
font-weight: normal;
|
102 |
+
height: 42px;
|
103 |
+
line-height: 20px;
|
104 |
+
|
105 |
+
}
|
106 |
+
.unbxd-tr{
|
107 |
+
border-bottom-color: rgb(222, 226, 228);
|
108 |
+
border-collapse: separate;
|
109 |
+
border-left-color: rgb(222, 226, 228);
|
110 |
+
border-right-color: rgb(222, 226, 228);
|
111 |
+
border-top-color: rgb(222, 226, 228);
|
112 |
+
box-sizing: border-box;
|
113 |
+
color: rgb(51, 51, 51);
|
114 |
+
font-family: "Helvetica Neue", Helvetica, Sans-Serif;
|
115 |
+
font-size: 14px;
|
116 |
+
font-style: normal;
|
117 |
+
font-variant: normal;
|
118 |
+
font-weight: normal;
|
119 |
+
height: 42px;
|
120 |
+
line-height: 20px;
|
121 |
+
margin-bottom: 0px;
|
122 |
+
margin-left: 0px;
|
123 |
+
margin-right: 0px;
|
124 |
+
margin-top: 0px;
|
125 |
+
padding-bottom: 0px;
|
126 |
+
padding-left: 0px;
|
127 |
+
padding-right: 0px;
|
128 |
+
padding-top: 0px;
|
129 |
+
vertical-align: middle;
|
130 |
+
}
|
131 |
+
.unbxd-th{
|
132 |
+
|
133 |
+
background-color: rgb(60, 63, 64);
|
134 |
+
border-bottom-left-radius: 0px;
|
135 |
+
border-bottom-right-radius: 0px;
|
136 |
+
border-bottom-style: none;
|
137 |
+
border-bottom-width: 0px;
|
138 |
+
border-collapse: separate;
|
139 |
+
border-right-color: rgb(255, 255, 255);
|
140 |
+
border-right-style: solid;
|
141 |
+
border-right-width: 1px;
|
142 |
+
border-top-color: rgb(255, 255, 255);
|
143 |
+
border-top-left-radius: 5px;
|
144 |
+
border-top-right-radius: 0px;
|
145 |
+
border-top-style: none;
|
146 |
+
border-top-width: 0px;
|
147 |
+
box-sizing: border-box;
|
148 |
+
color: rgb(255, 255, 255);
|
149 |
+
font-family: "Helvetica Neue", Helvetica, Sans-Serif;
|
150 |
+
font-size: 18px;
|
151 |
+
font-style: normal;
|
152 |
+
font-variant: normal;
|
153 |
+
font-weight: normal;
|
154 |
+
height: 42px;
|
155 |
+
line-height: 42pxpx;
|
156 |
+
margin-bottom: 0px;
|
157 |
+
margin-left: 0px;
|
158 |
+
margin-right: 0px;
|
159 |
+
margin-top: 0px;
|
160 |
+
padding-bottom: 8px;
|
161 |
+
padding-left: 20px;
|
162 |
+
padding-right: 0px;
|
163 |
+
padding-top: 10px;
|
164 |
+
text-align: left;
|
165 |
+
}
|
166 |
+
.unbxd-tbody{
|
167 |
+
border-bottom-color: rgb(222, 226, 228);
|
168 |
+
border-collapse: separate;
|
169 |
+
border-left-color: rgb(222, 226, 228);
|
170 |
+
border-right-color: rgb(222, 226, 228);
|
171 |
+
border-top-color: rgb(222, 226, 228);
|
172 |
+
box-sizing: border-box;
|
173 |
+
color: rgb(51, 51, 51);
|
174 |
+
display: table-row-group;
|
175 |
+
font-family: "Helvetica Neue", Helvetica, Sans-Serif;
|
176 |
+
font-size: 14px;
|
177 |
+
font-style: normal;
|
178 |
+
font-variant: normal;
|
179 |
+
font-weight: normal;
|
180 |
+
height: 549px;
|
181 |
+
line-height: 20px;
|
182 |
+
margin-bottom: 0px;
|
183 |
+
margin-left: 0px;
|
184 |
+
margin-right: 0px;
|
185 |
+
margin-top: 0px;
|
186 |
+
padding-bottom: 0px;
|
187 |
+
padding-left: 0px;
|
188 |
+
padding-right: 0px;
|
189 |
+
padding-top: 0px;
|
190 |
+
vertical-align: middle;
|
191 |
+
width: 666px;
|
192 |
+
}
|
193 |
+
.unbxd-td{
|
194 |
+
border-collapse: separate;
|
195 |
+
border-right-color: rgb(222, 226, 228);
|
196 |
+
border-right-style: solid;
|
197 |
+
border-right-width: 1px;
|
198 |
+
border-top-color: rgb(221, 221, 221);
|
199 |
+
border-top-style: solid;
|
200 |
+
border-top-width: 1px;
|
201 |
+
box-sizing: border-box;
|
202 |
+
color: rgb(92, 101, 106);
|
203 |
+
display: table-cell;
|
204 |
+
font-family: "Helvetica Neue", Helvetica, Sans-Serif;
|
205 |
+
font-size: 16px;
|
206 |
+
font-style: normal;
|
207 |
+
font-variant: normal;
|
208 |
+
font-weight: normal;
|
209 |
+
height: 72px;
|
210 |
+
line-height: 22.8571434020996px;
|
211 |
+
margin-bottom: 0px;
|
212 |
+
margin-left: 0px;
|
213 |
+
margin-right: 0px;
|
214 |
+
margin-top: 0px;
|
215 |
+
padding-bottom: 15px;
|
216 |
+
padding-left: 23px;
|
217 |
+
padding-right: 100px;
|
218 |
+
padding-top: 15px;
|
219 |
+
text-transform: capitalize;
|
220 |
+
|
221 |
+
}
|
222 |
+
.width-45{
|
223 |
+
width: 45%;
|
224 |
+
}
|
225 |
+
.width-55{
|
226 |
+
width: 55%;
|
227 |
+
}
|
228 |
+
.width-50{
|
229 |
+
width: 50%;
|
230 |
+
}
|
231 |
+
.tr-row{
|
232 |
+
width: 100%;
|
233 |
+
height: 42px;
|
234 |
+
line-height: 42px;
|
235 |
+
}
|
236 |
+
.td-right{
|
237 |
+
float: right;
|
238 |
+
border-left: 1px solid #dee2e4 !important;
|
239 |
+
border-bottom: 1px solid #dee2e4 !important;
|
240 |
+
height: 100%;
|
241 |
+
}
|
242 |
+
.td-left{
|
243 |
+
float: left;
|
244 |
+
height: 100%;
|
245 |
+
/*padding-top: 19px;*/
|
246 |
+
padding-left: 32px;
|
247 |
+
font-size: 16px;
|
248 |
+
border-bottom: 1px solid #dee2e4 !important;
|
249 |
+
}
|
250 |
+
.magento-border-left{
|
251 |
+
border-left: 1px solid #dee2e4 !important;
|
252 |
+
}
|
253 |
+
.magento-border-right{
|
254 |
+
border-right: 1px solid #dee2e4 !important;
|
255 |
+
}
|
256 |
+
.unbxd-err{
|
257 |
+
float: right;
|
258 |
+
position: absolute;
|
259 |
+
left: 694px;
|
260 |
+
width: 200px;
|
261 |
+
padding-top: 7px;
|
262 |
+
color: red;
|
263 |
+
}
|
264 |
+
#selectSites + div.chosen-container {
|
265 |
+
width: 100% !important;
|
266 |
+
}
|
267 |
+
.width-70{
|
268 |
+
width: 70% !important;
|
269 |
+
}
|
270 |
+
.width-100 > .chosen-container{
|
271 |
+
width: 100% !important;
|
272 |
+
}
|
273 |
+
.custom-attributes-td{
|
274 |
+
padding: 0;
|
275 |
+
/*padding-top: 4px;*/
|
276 |
+
padding-right: 3px;
|
277 |
+
}
|
278 |
+
.remove-row{
|
279 |
+
margin-top: 2px;
|
280 |
+
margin-left: 5px;
|
281 |
+
width: 21%;
|
282 |
+
height: 35px;
|
283 |
+
background-color: #dae0e0;
|
284 |
+
background-image: url("../img/delete-raw.png");
|
285 |
+
background-repeat: no-repeat;
|
286 |
+
background-position: center;
|
287 |
+
min-width: 32px;
|
288 |
+
min-height: 36px;
|
289 |
+
border-radius: 3px;
|
290 |
+
}
|
291 |
+
.remove-row:hover{
|
292 |
+
background-image: url("../img/delete-raw-hover.png");
|
293 |
+
background-color: #fc6956;
|
294 |
+
}
|
295 |
+
.add-row{
|
296 |
+
margin-top: 2px;
|
297 |
+
margin-left: 5px;
|
298 |
+
width: 21%;
|
299 |
+
height: 35px;
|
300 |
+
background-color: #dae0e0;
|
301 |
+
background-image: url("../img/add-raw.png");
|
302 |
+
background-repeat: no-repeat;
|
303 |
+
background-position: center;
|
304 |
+
border-radius: 3px;
|
305 |
+
min-width: 32px;
|
306 |
+
min-height: 36px;
|
307 |
+
}
|
308 |
+
.add-row:hover{
|
309 |
+
background-image: url("../img/add-raw-hover.png");
|
310 |
+
background-color: #3c3f40;
|
311 |
+
}
|
312 |
+
.disabled-btn{
|
313 |
+
opacity: 0.5;
|
314 |
+
cursor: default;
|
315 |
+
pointer-events: none;
|
316 |
+
}
|
317 |
+
.width-62{
|
318 |
+
width: 62%;
|
319 |
+
}
|
320 |
+
.unbxd-div-td{
|
321 |
+
float: left;
|
322 |
+
height: 100%;
|
323 |
+
/* padding-top: 19px;
|
324 |
+
padding-left: 32px;*/
|
325 |
+
font-size: 15px;
|
326 |
+
border-bottom: 1px solid #dee2e4 !important;
|
327 |
+
border-left: 1px solid #dee2e4 !important;
|
328 |
+
font-weight: 300;
|
329 |
+
}
|
330 |
+
.width-28{
|
331 |
+
width: 28%;
|
332 |
+
}
|
333 |
+
.width-30{
|
334 |
+
width: 30%;
|
335 |
+
}
|
336 |
+
.width-42{
|
337 |
+
width: 42%;
|
338 |
+
}
|
339 |
+
.unbxd-hide{
|
340 |
+
display: none !important;
|
341 |
+
}
|
342 |
+
.pad-top{
|
343 |
+
padding-top: 20px;
|
344 |
+
}
|
345 |
+
.border-left-color{
|
346 |
+
margin-left: 25px;
|
347 |
+
margin-right: 25px;
|
348 |
+
width: 96%;
|
349 |
+
}
|
350 |
+
.background-white{
|
351 |
+
background-color: #FFF !important;
|
352 |
+
}
|
353 |
+
.pad-left-45{
|
354 |
+
padding-left: 45px;
|
355 |
+
}
|
356 |
+
.footer{
|
357 |
+
position: fixed;
|
358 |
+
width: 100%;
|
359 |
+
padding-top: 19px;
|
360 |
+
background: #efefef;
|
361 |
+
bottom: -55px;
|
362 |
+
}
|
363 |
+
.footer:hover{
|
364 |
+
/*bottom: -5px !important;*/
|
365 |
+
}
|
366 |
+
.pad-btm-10p{
|
367 |
+
padding-bottom: 10%;
|
368 |
+
}
|
369 |
+
.chosen-container{
|
370 |
+
width: 354px !important;
|
371 |
+
}
|
372 |
+
._unbxd-err{
|
373 |
+
color: red;
|
374 |
+
padding-left: 13%;
|
375 |
+
font-weight: bold;
|
376 |
+
}
|
377 |
+
._unbxd-success{
|
378 |
+
color: #0ca672;
|
379 |
+
padding-left: 4%;
|
380 |
+
font-weight: bold;
|
381 |
+
}
|
382 |
+
.unbxd-disabler{
|
383 |
+
opacity: 0.5;
|
384 |
+
margin-bottom: 5%;
|
385 |
+
}
|
386 |
+
.pad-left-msg{
|
387 |
+
padding-left: 35%;
|
388 |
+
}
|
389 |
+
.width-25{
|
390 |
+
width: 25%;
|
391 |
+
}
|
392 |
+
.width-35{
|
393 |
+
width: 35%;
|
394 |
+
}
|
395 |
+
.width-40{
|
396 |
+
width: 40%;
|
397 |
+
}
|
398 |
+
.pad-left-10{
|
399 |
+
padding-left: 13px;
|
400 |
+
}
|
401 |
+
.pad-btm-0{
|
402 |
+
padding-bottom: 0 !important;
|
403 |
+
}
|
404 |
+
.height-100{
|
405 |
+
height: 100%;
|
406 |
+
}
|
407 |
+
.unbxd-success-msg{
|
408 |
+
color: green;
|
409 |
+
font-weight: bold;
|
410 |
+
font-size: 13px;
|
411 |
+
}
|
412 |
+
.unbxd-error-msg{
|
413 |
+
color: red;
|
414 |
+
font-weight: bold;
|
415 |
+
font-size: 13px;
|
416 |
+
}
|
417 |
+
.unbxd-center-div{
|
418 |
+
margin: 0 auto;
|
419 |
+
width: 50%;
|
420 |
+
text-align: center;
|
421 |
+
}
|
422 |
+
.pad-top-20{
|
423 |
+
padding-top: 20px;
|
424 |
+
}
|
425 |
+
.pad-top-30{
|
426 |
+
padding-top: 30px;
|
427 |
+
}
|
428 |
+
.inner-container-magento .popover, .inner-container-magento .popover-title, .inner-container-magento .popover-content {
|
429 |
+
background: #3c3f40;
|
430 |
+
color: rgb(255, 255, 255);
|
431 |
+
font-family: "Helvetica Neue", Helvetica, Sans-Serif;
|
432 |
+
font-size: 12px;
|
433 |
+
font-style: normal;
|
434 |
+
font-weight: 100;
|
435 |
+
border: none;
|
436 |
+
letter-spacing: 1px;
|
437 |
+
line-height: 20px;
|
438 |
+
}
|
439 |
+
.magento-number-text {
|
440 |
+
width: 109px;
|
441 |
+
}
|
442 |
+
.box-35{
|
443 |
+
width: 35px;
|
444 |
+
height: 35px;
|
445 |
+
}
|
446 |
+
div.chosen-disabled > a.chosen-single > div {
|
447 |
+
display: none;
|
448 |
+
}
|
449 |
+
div.chosen-container-single ,div.chosen-container-single > a.chosen-single {
|
450 |
+
border: 0;
|
451 |
+
background-color: inherit;
|
452 |
+
}
|
453 |
+
div.middle-nav-dropdown a.chosen-single {
|
454 |
+
background-color: #FFF;
|
455 |
+
}
|
456 |
+
div.chosen-container-single > a.chosen-single > div b {
|
457 |
+
background: url(../img/drop-down.png) no-repeat 50%!important;
|
458 |
+
width: 28px!important;
|
459 |
+
|
460 |
+
}
|
461 |
+
.bord-right{
|
462 |
+
border-right: 1px solid #dee2e4 !important;
|
463 |
+
}
|
464 |
+
.chosen-disabled{
|
465 |
+
opacity: 1 !important;
|
466 |
+
}
|
467 |
+
.delete-row{
|
468 |
+
float: left;
|
469 |
+
}
|
470 |
+
.width-80{
|
471 |
+
width: 80% !important;
|
472 |
+
}
|
473 |
+
.width-20{
|
474 |
+
width: 20%;
|
475 |
+
}
|
476 |
+
div.cudtom-attr-rows div div.add-row{
|
477 |
+
display: none;
|
478 |
+
}
|
479 |
+
div.cudtom-attr-rows > div:last-child div.add-row{
|
480 |
+
display: block;
|
481 |
+
}
|
482 |
+
.width-38{
|
483 |
+
width: 38%;
|
484 |
+
}
|
485 |
+
.pad-top-5{
|
486 |
+
padding-top: 5px !important;
|
487 |
+
}
|
488 |
+
.width-64{
|
489 |
+
width: 64%
|
490 |
+
}
|
491 |
+
.width-36{
|
492 |
+
width: 36%
|
493 |
+
}
|
494 |
+
.btn-add-attribute, .btn-add-attribute:hover{
|
495 |
+
background: #3b3e40 url('../img/add.png') no-repeat 97%;
|
496 |
+
}
|
497 |
+
.magento-analytics-tick
|
498 |
+
{
|
499 |
+
background:#45b5c1 url('../img/DONE.png') no-repeat 50%;
|
500 |
+
}
|
501 |
+
.magento-analytics-cross
|
502 |
+
{
|
503 |
+
background: url('../img/red-loading.gif') no-repeat;
|
504 |
+
background-size: 100%;
|
505 |
+
background-position: center;
|
506 |
+
}
|
507 |
+
.unbxd-top-strip{
|
508 |
+
/*border-top: 2px solid #45b5c1;*/
|
509 |
+
}
|
510 |
+
.unbxd-green-border{
|
511 |
+
border: 1px solid #47b28e;
|
512 |
+
}
|
513 |
+
.unbxd-green-border{
|
514 |
+
border: 1px solid #db2727;
|
515 |
+
}
|
516 |
+
.magento-analytics-block{
|
517 |
+
border: 1px solid #47b28e
|
518 |
+
}
|
519 |
+
.magento-analytics-block1 {
|
520 |
+
border: 1px solid #db2727;
|
521 |
+
}
|
522 |
+
.word-break{
|
523 |
+
word-wrap:break-word;
|
524 |
+
}
|
525 |
+
.height-75p{
|
526 |
+
height: 95px;
|
527 |
+
}
|
528 |
+
.unbxd-text-center{
|
529 |
+
padding-top: 10px;
|
530 |
+
}
|
531 |
+
.pad-left-15{
|
532 |
+
padding-left: 15px;
|
533 |
+
}
|
534 |
+
.unbxd-text-verticle-center{
|
535 |
+
display: flex;
|
536 |
+
align-items: center;
|
537 |
+
}
|
538 |
+
.background-success{
|
539 |
+
background-color: #47b28e;
|
540 |
+
height: 102px;
|
541 |
+
}
|
542 |
+
.background-success div.magento-text{
|
543 |
+
color: #FFF;
|
544 |
+
}
|
545 |
+
.succes-div{
|
546 |
+
background:#47b28e url('../img/congrats.png') no-repeat 50%;
|
547 |
+
width: 13%;
|
548 |
+
height: 90px;
|
549 |
+
}
|
550 |
+
.pad-10{
|
551 |
+
padding: 10px;
|
552 |
+
}
|
553 |
+
.success-head{
|
554 |
+
font-weight: bold;
|
555 |
+
font-size: 20px;
|
556 |
+
}
|
557 |
+
.magento-landing-block{
|
558 |
+
background-color: rgb(60, 63, 64);
|
559 |
+
}
|
560 |
+
.blue-link-help{
|
561 |
+
color: #05b4ae;
|
562 |
+
cursor: pointer;
|
563 |
+
}
|
564 |
+
.cms-help{
|
565 |
+
padding-bottom: 20px;
|
566 |
+
font-size: 16px;
|
567 |
+
padding-left: 30px;
|
568 |
+
padding-top: 5px;
|
569 |
+
}
|
570 |
+
.hide-over-flow{
|
571 |
+
overflow: hidden;
|
572 |
+
}
|
573 |
+
.width-60{
|
574 |
+
width: 60%;
|
575 |
+
}
|
576 |
+
.unbxd-caps{
|
577 |
+
text-transform: capitalize;
|
578 |
+
}
|
579 |
+
.pad-top-32{
|
580 |
+
padding-top: 32px;
|
581 |
+
}
|
582 |
+
.background-dark-grey{
|
583 |
+
background-color: rgba(210, 216, 216, 1) !important;
|
584 |
+
}
|
585 |
+
.unbxd-border{
|
586 |
+
border: 1px solid #cddbde;
|
587 |
+
}
|
588 |
+
.z99{
|
589 |
+
z-index: 99;
|
590 |
+
}
|
591 |
+
|
592 |
+
ul.magento-conf-tabs li a {
|
593 |
+
width: 25%;
|
594 |
+
padding-left: 0 !important;
|
595 |
+
font-weight: 400;
|
596 |
+
font-size: 16px;
|
597 |
+
border-right: 2px solid #B6BCBD;
|
598 |
+
padding-left: 2% !important;
|
599 |
+
cursor: pointer;
|
600 |
+
}
|
601 |
+
ul.magento-conf-tabs li:last-child > a{
|
602 |
+
border-right: 0;
|
603 |
+
}
|
604 |
+
.magento-head-active{
|
605 |
+
background-color: #FFF !important;
|
606 |
+
}
|
607 |
+
.txt-center{
|
608 |
+
text-align: center;
|
609 |
+
}
|
610 |
+
.height-80{
|
611 |
+
height: 80%;
|
612 |
+
}
|
613 |
+
.unbxd-bold{
|
614 |
+
font-weight: bold;
|
615 |
+
}
|
616 |
+
.help-table-head{
|
617 |
+
background-color: #FFF;
|
618 |
+
color: black;
|
619 |
+
}
|
620 |
+
div#unbxdHelpRows div div {
|
621 |
+
padding-left: 4%;
|
622 |
+
}
|
623 |
+
.border-right-rad{
|
624 |
+
border-radius: 0;
|
625 |
+
border-top-right-radius: 5px;
|
626 |
+
}
|
627 |
+
.unbxd-mar-left-30 {
|
628 |
+
margin-left: 30% !important;
|
629 |
+
}
|
630 |
+
.unbxd-mar-btm-20{
|
631 |
+
margin-bottom: 20px !important;
|
632 |
+
}
|
633 |
+
.note-head{
|
634 |
+
color: black;
|
635 |
+
font-weight: bold;
|
636 |
+
}
|
637 |
+
.font17{
|
638 |
+
font-size: 17px;
|
639 |
+
}
|
640 |
+
div.middle{
|
641 |
+
padding: 0;
|
642 |
+
}
|
643 |
+
.unbxd-container{
|
644 |
+
border-top: 6px solid #45b5c1;
|
645 |
+
background-color: #f3f6f6;
|
646 |
+
float: left;
|
647 |
+
overflow: hidden;
|
648 |
+
width: 100%;
|
649 |
+
width:100%;
|
650 |
+
overflow:hidden;
|
651 |
+
font-family: "Helvetica Neue", Helvetica, Sans-Serif;
|
652 |
+
}
|
653 |
+
.width-17{
|
654 |
+
width:17%;
|
655 |
+
}
|
656 |
+
.width-82{
|
657 |
+
width: 82%;
|
658 |
+
}
|
659 |
+
.unbxd-left {
|
660 |
+
float:left;
|
661 |
+
position:relative;
|
662 |
+
min-width: 205px;
|
663 |
+
}
|
664 |
+
.unbxd-right {
|
665 |
+
float:right;
|
666 |
+
position: relative;
|
667 |
+
padding:3px;
|
668 |
+
}
|
669 |
+
/*.magento-success-block, .magento-label{
|
670 |
+
font-weight: 300;
|
671 |
+
}*/
|
672 |
+
.chosen-drop, .no-radius{
|
673 |
+
border-radius: 0px !important;
|
674 |
+
}
|
675 |
+
.weight300{
|
676 |
+
font-weight: 300;
|
677 |
+
}
|
678 |
+
.width-220{
|
679 |
+
width: 220px;
|
680 |
+
}
|
681 |
+
.no-border-right{
|
682 |
+
border-right: 0px !important;
|
683 |
+
}
|
684 |
+
.no-left-top-rad{
|
685 |
+
border-top-left-radius: 0px;
|
686 |
+
}
|
687 |
+
div.popover div.arrow{
|
688 |
+
background: transparent !important;
|
689 |
+
}
|
690 |
+
.popover.right .arrow:after {
|
691 |
+
border-right-color: rgb(60, 63, 64) !important;
|
692 |
+
}
|
693 |
+
.popover-content{
|
694 |
+
color: #F3F6F6;
|
695 |
+
font-size: 14px;
|
696 |
+
}
|
697 |
+
ul.magento-conf-tabs .magento-head-active {
|
698 |
+
background-color: #E1E6E6;
|
699 |
+
}
|
700 |
+
a.magento-head-active {
|
701 |
+
color: #4e5356 !important;
|
702 |
+
background: url('../img/level-arrow-active.png') no-repeat 92% !important;
|
703 |
+
background-color: #FFF !important;
|
704 |
+
}
|
705 |
+
.pad-top-34{
|
706 |
+
padding-top: 34px;
|
707 |
+
}
|
708 |
+
.table-magento div.tr-row:nth-child(even) {
|
709 |
+
background-color: #f3f6f6;;
|
710 |
+
}
|
711 |
+
.unbxd-saved{
|
712 |
+
width: 21px;
|
713 |
+
height: 21px;
|
714 |
+
float: left;
|
715 |
+
margin-right: 5px;
|
716 |
+
background: url('../img/saved.png') no-repeat !important;
|
717 |
+
}
|
718 |
+
.header-border{
|
719 |
+
border: 1px solid #dee2e4;
|
720 |
+
padding: 2px 2px 2px 9px;
|
721 |
+
}
|
722 |
+
.grey-text{
|
723 |
+
color: #929494;
|
724 |
+
}
|
725 |
+
.info-icon-big{
|
726 |
+
background: url('../img/info-icon-big.png') no-repeat 92%;
|
727 |
+
width: 35px;
|
728 |
+
height: 40px;
|
729 |
+
}
|
730 |
+
.mar-right-10{
|
731 |
+
margin-right: 10px;
|
732 |
+
}
|
733 |
+
.pad-top-10{
|
734 |
+
padding-top: 10px;
|
735 |
+
}
|
736 |
+
.mar-top-10{
|
737 |
+
margin-top: 10px;
|
738 |
+
}
|
739 |
+
.height-250{
|
740 |
+
height: 250px
|
741 |
+
}
|
742 |
+
.add-filter{
|
743 |
+
/*width: 275px;*/
|
744 |
+
height: 187px;
|
745 |
+
border: 1px solid #dee2e4;
|
746 |
+
position: relative;
|
747 |
+
text-align: center;
|
748 |
+
border-radius: 4px;
|
749 |
+
}
|
750 |
+
.mar-top-15{
|
751 |
+
margin-top: 15px;
|
752 |
+
}
|
753 |
+
.add-icon{
|
754 |
+
background: url('../img/add-rule.png') no-repeat 55%;
|
755 |
+
width: 40px;
|
756 |
+
height: 40px;
|
757 |
+
}
|
758 |
+
.mar-0-auto{
|
759 |
+
margin: 0 auto;
|
760 |
+
}
|
761 |
+
.width-40p{
|
762 |
+
width: 40%;
|
763 |
+
}
|
764 |
+
.bolder-grey{
|
765 |
+
border: 1px solid #dee2e4;
|
766 |
+
}
|
767 |
+
.after-rule{
|
768 |
+
height: 150px;
|
769 |
+
}
|
770 |
+
.mar-left-10{
|
771 |
+
margin-left: 10px;
|
772 |
+
}
|
773 |
+
.pad-top-5p{
|
774 |
+
padding-top: 5%;
|
775 |
+
}
|
776 |
+
.rule-after-text{
|
777 |
+
text-align: center;
|
778 |
+
}
|
779 |
+
.hr-line{
|
780 |
+
display: block;
|
781 |
+
height: 1px;
|
782 |
+
border: 0;
|
783 |
+
border-top: 2px dotted #dee2e4;
|
784 |
+
margin: 1em 0;
|
785 |
+
padding: 0;
|
786 |
+
}
|
787 |
+
.width-25p{
|
788 |
+
width: 25%;
|
789 |
+
}
|
790 |
+
.width-50p{
|
791 |
+
width: 50%;
|
792 |
+
}
|
793 |
+
.close-icon{
|
794 |
+
width: 30px;
|
795 |
+
height: 30px;
|
796 |
+
background:url('../img/close.png') no-repeat center center;
|
797 |
+
}
|
798 |
+
.close-icon-round{
|
799 |
+
width: 30px;
|
800 |
+
height: 30px;
|
801 |
+
background:url('../img/close-round.png') no-repeat center center;
|
802 |
+
}
|
803 |
+
.right-top-edge{
|
804 |
+
position: absolute;
|
805 |
+
top: -10px;
|
806 |
+
right: -10px;
|
807 |
+
}
|
808 |
+
.box-35{
|
809 |
+
width: 30px;
|
810 |
+
height: 35px;
|
811 |
+
}
|
812 |
+
.skins{
|
813 |
+
text-align: center;
|
814 |
+
}
|
815 |
+
.skins div{
|
816 |
+
display: inline-block;
|
817 |
+
color: white;
|
818 |
+
margin-right: 10px;
|
819 |
+
}
|
820 |
+
.background-295-247{
|
821 |
+
background-size: 295px 247px !important;
|
822 |
+
}
|
823 |
+
.box-200{
|
824 |
+
width: 200px;
|
825 |
+
height: 200px;
|
826 |
+
}
|
827 |
+
.template-box{
|
828 |
+
width: 296.046875px !important;
|
829 |
+
height: 255px;
|
830 |
+
}
|
831 |
+
.fuelux .spinbox .spinbox-buttons {
|
832 |
+
position: absolute;
|
833 |
+
height: 28px;
|
834 |
+
width: 20px;
|
835 |
+
right: 2px;
|
836 |
+
top: 1px;
|
837 |
+
}
|
838 |
+
.fuelux .spinbox .btn-group > .btn.spinbox-up {
|
839 |
+
background: url("../img/spinner_up.png") repeat scroll 0 0 / 100% 100% rgba(0, 0, 0, 0);
|
840 |
+
border-top-right-radius: 4px;
|
841 |
+
}
|
842 |
+
.fuelux .spinbox .spinbox-down {
|
843 |
+
background: url("../img/spinner_down.png") repeat scroll 0 0 / 100% 100% rgba(0, 0, 0, 0);
|
844 |
+
border-bottom-left-radius: 4px;
|
845 |
+
top: 4px;
|
846 |
+
}
|
847 |
+
.fuelux .spinbox .btn {
|
848 |
+
height: 11px;
|
849 |
+
padding-left: 9px;
|
850 |
+
padding-right: 9px;
|
851 |
+
padding-top: 0;
|
852 |
+
position: relative;
|
853 |
+
width: 28px;
|
854 |
+
}
|
855 |
+
.fuelux .spinbox .spinbox-up {
|
856 |
+
top: 2px;
|
857 |
+
}
|
858 |
+
.magento-row-tabs {
|
859 |
+
float: left;
|
860 |
+
width: 100%;
|
861 |
+
background-color: #f3f6f6;
|
862 |
+
padding: 8px 0px;
|
863 |
+
border: 1px solid #c6d1d3;
|
864 |
+
color: #929494;
|
865 |
+
}
|
866 |
+
.info-icon-small{
|
867 |
+
background: url('../img/info-small.png') no-repeat;
|
868 |
+
width: 20px;
|
869 |
+
height: 20px;
|
870 |
+
}
|
871 |
+
.pad-right-10{
|
872 |
+
padding-right: 10px;
|
873 |
+
}
|
874 |
+
.pad-btm-25{
|
875 |
+
padding-bottom: 25px;
|
876 |
+
}
|
877 |
+
.autosuggest-text {
|
878 |
+
color: #4e5356;
|
879 |
+
}
|
880 |
+
.magento-text {
|
881 |
+
|
882 |
+
}
|
883 |
+
.dummy{
|
884 |
+
|
885 |
+
}
|
886 |
+
.mar-btm-20 {
|
887 |
+
margin-bottom: 20px;
|
888 |
+
}
|
889 |
+
.autosuggest-inner-block {
|
890 |
+
margin: 20px 50px;
|
891 |
+
border-bottom: 1px solid #b0b6b9;
|
892 |
+
}
|
893 |
+
.height-20{
|
894 |
+
height: 20px;
|
895 |
+
}
|
896 |
+
.box-30{
|
897 |
+
width: 30px;
|
898 |
+
height: 30px;
|
899 |
+
}
|
900 |
+
.pad-right-20{
|
901 |
+
padding-right: 20px;
|
902 |
+
}
|
903 |
+
.height-50{
|
904 |
+
height: 50px;
|
905 |
+
}
|
906 |
+
.pad-top-1p{
|
907 |
+
padding-top: 1%;
|
908 |
+
}
|
909 |
+
.preview_btn_holder {
|
910 |
+
background: url("../img/view.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
|
911 |
+
background-position: 47%;
|
912 |
+
}
|
913 |
+
.preview_btn_holder:hover{
|
914 |
+
background: url("../img/view-hover.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
|
915 |
+
background-position: 47%;
|
916 |
+
}
|
917 |
+
.display-inline{
|
918 |
+
display: inline-block;
|
919 |
+
}
|
920 |
+
.pad-top-40p{
|
921 |
+
padding-top: 40%;
|
922 |
+
}
|
923 |
+
.width-170{
|
924 |
+
width: 170px;
|
925 |
+
}
|
926 |
+
.mar-left-56n{
|
927 |
+
margin-left: -56px;
|
928 |
+
}
|
929 |
+
.width-56 {
|
930 |
+
width: 56px;
|
931 |
+
}
|
932 |
+
.mar-left-32p{
|
933 |
+
margin-left: 32%;
|
934 |
+
}
|
935 |
+
.box-40{
|
936 |
+
height: 40px;
|
937 |
+
width: 40px;
|
938 |
+
}
|
939 |
+
.back-white-circle, .back-white-circle:hover{
|
940 |
+
background-color: #FFF;
|
941 |
+
border-radius: 100%;
|
942 |
+
}
|
943 |
+
.pad-top-35p{
|
944 |
+
padding-top: 35%;
|
945 |
+
}
|
946 |
+
.mar-right-20{
|
947 |
+
margin-right: 20px;
|
948 |
+
}
|
949 |
+
.hexagon {
|
950 |
+
background: red;
|
951 |
+
position: relative;
|
952 |
+
height: 15px;
|
953 |
+
}
|
954 |
+
.hexagon:before {
|
955 |
+
content: "";
|
956 |
+
position: absolute;
|
957 |
+
top: -10px;
|
958 |
+
left: 0;
|
959 |
+
width: 0;
|
960 |
+
height: 0;
|
961 |
+
border-left: 15px solid transparent;
|
962 |
+
border-right: 15px solid transparent;
|
963 |
+
|
964 |
+
}
|
965 |
+
.hexagon:after {
|
966 |
+
content: "";
|
967 |
+
position: absolute;
|
968 |
+
bottom: -10px;
|
969 |
+
left: 0;
|
970 |
+
width: 0;
|
971 |
+
height: 0;
|
972 |
+
border-left: 15px solid transparent;
|
973 |
+
border-right: 15px solid transparent;
|
974 |
+
|
975 |
+
}
|
976 |
+
.hexagon-orange{
|
977 |
+
background: #ff7800;
|
978 |
+
}
|
979 |
+
.hexagon-orange:before{
|
980 |
+
border-bottom: 10px solid #ff7800;
|
981 |
+
}
|
982 |
+
.hexagon-orange:after{
|
983 |
+
border-top: 10px solid #ff7800;
|
984 |
+
}
|
985 |
+
|
986 |
+
.hexagon-green{
|
987 |
+
background: #29BD9F;
|
988 |
+
}
|
989 |
+
.hexagon-green:before{
|
990 |
+
border-bottom: 10px solid #29BD9F;
|
991 |
+
}
|
992 |
+
.hexagon-green:after{
|
993 |
+
border-top: 10px solid #29BD9F;
|
994 |
+
}
|
995 |
+
|
996 |
+
.hexagon-red{
|
997 |
+
background: #dd424f;
|
998 |
+
}
|
999 |
+
.hexagon-red:before{
|
1000 |
+
border-bottom: 10px solid #dd424f;
|
1001 |
+
}
|
1002 |
+
.hexagon-red:after{
|
1003 |
+
border-top: 10px solid #dd424f;
|
1004 |
+
}
|
1005 |
+
|
1006 |
+
.hexagon-blue{
|
1007 |
+
background: #004C92;
|
1008 |
+
}
|
1009 |
+
.hexagon-blue:before{
|
1010 |
+
border-bottom: 10px solid #004C92;
|
1011 |
+
}
|
1012 |
+
.hexagon-blue:after{
|
1013 |
+
border-top: 10px solid #004C92;
|
1014 |
+
}
|
1015 |
+
.box-32{
|
1016 |
+
width:32px;
|
1017 |
+
}
|
1018 |
+
.cursor-default{
|
1019 |
+
cursor: default !important;
|
1020 |
+
}
|
1021 |
+
.magento-templates{
|
1022 |
+
border: 1px dashed;
|
1023 |
+
height: 248px;
|
1024 |
+
text-align: center;
|
1025 |
+
}
|
1026 |
+
.magento-templates > div:first-child{
|
1027 |
+
margin: 0 auto;
|
1028 |
+
height: 99%;
|
1029 |
+
background-position: center center;
|
1030 |
+
width: 100%;
|
1031 |
+
}
|
1032 |
+
.width-70p{
|
1033 |
+
width: 70%;
|
1034 |
+
}
|
1035 |
+
.width-92p{
|
1036 |
+
width: 92%;
|
1037 |
+
}
|
1038 |
+
.width-84p{
|
1039 |
+
width: 84%;
|
1040 |
+
}
|
1041 |
+
.skin1{
|
1042 |
+
background: url('../img/skin1.png') no-repeat center center;
|
1043 |
+
}
|
1044 |
+
.skin2{
|
1045 |
+
background: url('../img/skin2.png') no-repeat center center;
|
1046 |
+
}
|
1047 |
+
.skin3{
|
1048 |
+
background: url('../img/skin3.png') no-repeat center center;
|
1049 |
+
}
|
1050 |
+
.skin4{
|
1051 |
+
background: url('../img/skin4.png') no-repeat center center;
|
1052 |
+
}
|
1053 |
+
.skin1-orange{
|
1054 |
+
background: url('../img/orange-selected.png') no-repeat center center;
|
1055 |
+
}
|
1056 |
+
.skin2-green{
|
1057 |
+
background: url('../img/green-selected.png') no-repeat center center;
|
1058 |
+
}
|
1059 |
+
.skin3-grey{
|
1060 |
+
background: url('../img/grey-selected.png') no-repeat center center;
|
1061 |
+
}
|
1062 |
+
.skin4-blue{
|
1063 |
+
background: url('../img/blue-selected.png') no-repeat center center;
|
1064 |
+
}
|
1065 |
+
.custom-skin{
|
1066 |
+
background-image: url('../img/custom-color.png');
|
1067 |
+
background-repeat: no-repeat;
|
1068 |
+
background-position: center center;
|
1069 |
+
}
|
1070 |
+
.custom-skin.selected{
|
1071 |
+
background-image: url('../img/custom-color-selected.png');
|
1072 |
+
}
|
1073 |
+
.template-coming{
|
1074 |
+
background: url('../img/temp-6.png') no-repeat center center;
|
1075 |
+
}
|
1076 |
+
.template1-orange{
|
1077 |
+
background: url('../img/temp-1-orange.png') no-repeat;
|
1078 |
+
}
|
1079 |
+
.template2-orange{
|
1080 |
+
background: url('../img/temp-2-orange.png') no-repeat;
|
1081 |
+
}
|
1082 |
+
.template3-orange{
|
1083 |
+
background: url('../img/temp-3-orange.png') no-repeat;
|
1084 |
+
}
|
1085 |
+
.template4-orange{
|
1086 |
+
background: url('../img/temp-4-orange.png') no-repeat;
|
1087 |
+
}
|
1088 |
+
.template5-orange{
|
1089 |
+
background: url('../img/temp-5-orange.png') no-repeat;
|
1090 |
+
}
|
1091 |
+
.template6-orange{
|
1092 |
+
background: url('../img/temp-6-orange.png') no-repeat;
|
1093 |
+
}
|
1094 |
+
|
1095 |
+
.template1-green{
|
1096 |
+
background: url('../img/temp-1-green.png') no-repeat;
|
1097 |
+
}
|
1098 |
+
.template2-green{
|
1099 |
+
background: url('../img/temp-2-green.png') no-repeat;
|
1100 |
+
}
|
1101 |
+
.template3-green{
|
1102 |
+
background: url('../img/temp-3-green.png') no-repeat;
|
1103 |
+
}
|
1104 |
+
.template4-green{
|
1105 |
+
background: url('../img/temp-4-green.png') no-repeat;
|
1106 |
+
}
|
1107 |
+
.template5-green{
|
1108 |
+
background: url('../img/temp-5-green.png') no-repeat;
|
1109 |
+
}
|
1110 |
+
|
1111 |
+
.template1-grey{
|
1112 |
+
background: url('../img/temp-1-grey.png') no-repeat;
|
1113 |
+
}
|
1114 |
+
.template2-grey{
|
1115 |
+
background: url('../img/temp-2-grey.png') no-repeat;
|
1116 |
+
}
|
1117 |
+
.template3-grey{
|
1118 |
+
background: url('../img/temp-3-grey.png') no-repeat;
|
1119 |
+
}
|
1120 |
+
.template4-grey{
|
1121 |
+
background: url('../img/temp-4-grey.png') no-repeat;
|
1122 |
+
}
|
1123 |
+
.template5-grey{
|
1124 |
+
background: url('../img/temp-5-grey.png') no-repeat;
|
1125 |
+
}
|
1126 |
+
|
1127 |
+
.template1-blue{
|
1128 |
+
background: url('../img/temp-1-blue.png') no-repeat;
|
1129 |
+
}
|
1130 |
+
.template2-blue{
|
1131 |
+
background: url('../img/temp-2-blue.png') no-repeat;
|
1132 |
+
}
|
1133 |
+
.template3-blue{
|
1134 |
+
background: url('../img/temp-3-blue.png') no-repeat;
|
1135 |
+
}
|
1136 |
+
.template4-blue{
|
1137 |
+
background: url('../img/temp-4-blue.png') no-repeat;
|
1138 |
+
}
|
1139 |
+
.template5-blue{
|
1140 |
+
background: url('../img/temp-5-blue.png') no-repeat;
|
1141 |
+
}
|
1142 |
+
.custom-template1-true{
|
1143 |
+
background-image: url('../img/custom-temp-1.png');
|
1144 |
+
background-repeat: no-repeat;
|
1145 |
+
}
|
1146 |
+
.custom-template2-true{
|
1147 |
+
background-image: url('../img/custom-temp-2.png');
|
1148 |
+
background-repeat: no-repeat;
|
1149 |
+
}
|
1150 |
+
.custom-template3-true{
|
1151 |
+
background-image: url('../img/custom-temp-3.png');
|
1152 |
+
background-repeat: no-repeat;
|
1153 |
+
}
|
1154 |
+
.custom-template4-true{
|
1155 |
+
background-image: url('../img/custom-temp-4.png');
|
1156 |
+
background-repeat: no-repeat;
|
1157 |
+
}
|
1158 |
+
|
1159 |
+
|
1160 |
+
.preview_template{
|
1161 |
+
display: none;
|
1162 |
+
cursor: default;
|
1163 |
+
}
|
1164 |
+
.preview_template div{
|
1165 |
+
cursor: pointer;
|
1166 |
+
}
|
1167 |
+
.template1-1-selected ,
|
1168 |
+
.template2-2-selected ,
|
1169 |
+
.template3-3-selected ,
|
1170 |
+
.template4-4-selected {
|
1171 |
+
display: block !important;
|
1172 |
+
}
|
1173 |
+
.tick-mark{
|
1174 |
+
background: url("../img/tick.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
|
1175 |
+
background-position: 47%;
|
1176 |
+
background-color: #FFF;
|
1177 |
+
border-radius: 100%;
|
1178 |
+
}
|
1179 |
+
.tick-mark:hover,
|
1180 |
+
.template1-1-selected .tick-mark,
|
1181 |
+
.template2-2-selected .tick-mark,
|
1182 |
+
.template3-3-selected .tick-mark ,
|
1183 |
+
.template4-4-selected .tick-mark{
|
1184 |
+
background: url("../img/tick-orange.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
|
1185 |
+
background-position: 47%;
|
1186 |
+
background-color: #FFF;
|
1187 |
+
border-radius: 100%;
|
1188 |
+
}
|
1189 |
+
.pad-left-12{
|
1190 |
+
padding-left: 12px;
|
1191 |
+
}
|
1192 |
+
.magento-heading{
|
1193 |
+
color:#4e5356;
|
1194 |
+
font-size: 27.41px;
|
1195 |
+
}
|
1196 |
+
.width-50p{
|
1197 |
+
width: 50%;
|
1198 |
+
}
|
1199 |
+
.height-70p {
|
1200 |
+
height: 70%;
|
1201 |
+
}
|
1202 |
+
.width-40p{
|
1203 |
+
width: 40%;
|
1204 |
+
}
|
1205 |
+
.template-preview-modal .modal-dialog{
|
1206 |
+
position: relative;
|
1207 |
+
margin: 0 auto;
|
1208 |
+
right: inherit !important;
|
1209 |
+
left: initial !important;
|
1210 |
+
width: 65%;
|
1211 |
+
height: 100%;
|
1212 |
+
}
|
1213 |
+
.contact-us-modal .modal-dialog{
|
1214 |
+
width: 55%;
|
1215 |
+
}
|
1216 |
+
.template-preview-modal .image-div {
|
1217 |
+
height: 106%;
|
1218 |
+
margin: 0 auto;
|
1219 |
+
background-position: center center;
|
1220 |
+
background-repeat: no-repeat;
|
1221 |
+
/*background-size: 100% 100%;*/
|
1222 |
+
}
|
1223 |
+
|
1224 |
+
|
1225 |
+
.template-preview-modal-1orange{
|
1226 |
+
background: url("../img/temp-1-preview-orange.png") no-repeat;
|
1227 |
+
}
|
1228 |
+
.template-preview-modal-2orange{
|
1229 |
+
background: url("../img/temp-2-preview-orange.png") no-repeat;
|
1230 |
+
}
|
1231 |
+
.template-preview-modal-3orange{
|
1232 |
+
background: url("../img/temp-3-preview-orange.png") no-repeat;
|
1233 |
+
}
|
1234 |
+
.template-preview-modal-4orange{
|
1235 |
+
background: url("../img/temp-4-preview-orange.png") no-repeat;
|
1236 |
+
}
|
1237 |
+
|
1238 |
+
.template-preview-modal-1green{
|
1239 |
+
background: url("../img/temp-1-preview-green.png") no-repeat;
|
1240 |
+
}
|
1241 |
+
.template-preview-modal-2green{
|
1242 |
+
background: url("../img/temp-2-preview-green.png") no-repeat;
|
1243 |
+
}
|
1244 |
+
.template-preview-modal-3green{
|
1245 |
+
background: url("../img/temp-3-preview-green.png") no-repeat;
|
1246 |
+
}
|
1247 |
+
.template-preview-modal-4green{
|
1248 |
+
background: url("../img/temp-4-preview-green.png") no-repeat;
|
1249 |
+
}
|
1250 |
+
|
1251 |
+
.template-preview-modal-1grey{
|
1252 |
+
background: url("../img/temp-1-preview-grey.png") no-repeat;
|
1253 |
+
}
|
1254 |
+
.template-preview-modal-2grey{
|
1255 |
+
background: url("../img/temp-2-preview-grey.png") no-repeat;
|
1256 |
+
}
|
1257 |
+
.template-preview-modal-3grey{
|
1258 |
+
background: url("../img/temp-3-preview-grey.png") no-repeat;
|
1259 |
+
}
|
1260 |
+
.template-preview-modal-4grey{
|
1261 |
+
background: url("../img/temp-4-preview-grey.png") no-repeat;
|
1262 |
+
}
|
1263 |
+
|
1264 |
+
.template-preview-modal-1blue{
|
1265 |
+
background: url("../img/temp-1-preview-blue.png") no-repeat;
|
1266 |
+
}
|
1267 |
+
.template-preview-modal-2blue{
|
1268 |
+
background: url("../img/temp-2-preview-blue.png") no-repeat;
|
1269 |
+
}
|
1270 |
+
.template-preview-modal-3blue{
|
1271 |
+
background: url("../img/temp-3-preview-blue.png") no-repeat;
|
1272 |
+
}
|
1273 |
+
.template-preview-modal-4blue{
|
1274 |
+
background: url("../img/temp-4-preview-blue.png") no-repeat;
|
1275 |
+
}
|
1276 |
+
.add-filter,
|
1277 |
+
.add-filter .chosen-container-single .chosen-single,
|
1278 |
+
.add-filter input
|
1279 |
+
{
|
1280 |
+
color: #929494;
|
1281 |
+
/*font-size: 16.45px;*/
|
1282 |
+
}
|
1283 |
+
|
1284 |
+
.filter-select-box{
|
1285 |
+
/*padding-left: 12px;*/
|
1286 |
+
padding-top: 12px;
|
1287 |
+
margin-bottom: 10px;
|
1288 |
+
}
|
1289 |
+
.filter-select-box .chosen-container{
|
1290 |
+
width: 90% !important;
|
1291 |
+
height: 40px !important;
|
1292 |
+
border: 1px solid #dee2e4;
|
1293 |
+
border-radius: 2em/2em;
|
1294 |
+
margin: 0 auto;
|
1295 |
+
text-align: left;
|
1296 |
+
}
|
1297 |
+
.filter-input-box{
|
1298 |
+
width: 100%;
|
1299 |
+
height: 63px;
|
1300 |
+
background-color: #dae1e1;
|
1301 |
+
text-align: center;
|
1302 |
+
text-align: center;
|
1303 |
+
padding-top: 4%;
|
1304 |
+
}
|
1305 |
+
.filter-input-box input{
|
1306 |
+
width: 90%;
|
1307 |
+
height: 40px;
|
1308 |
+
border-radius: 3px;
|
1309 |
+
border: 1px solid #FFF;
|
1310 |
+
padding-left: 3px;
|
1311 |
+
}
|
1312 |
+
.filter-input-box input:focus{width:90%;}
|
1313 |
+
.filter-input-box-number input:focus{width:44%; border:1px solid #05b4ae;}
|
1314 |
+
.filter-input-box-number input{
|
1315 |
+
width: 44%;
|
1316 |
+
height: 40px;
|
1317 |
+
border-radius: 3px;
|
1318 |
+
border: 1px solid #FFF;
|
1319 |
+
padding-left: 3px;
|
1320 |
+
}
|
1321 |
+
.filter-input-box-number input:last-child{
|
1322 |
+
margin-left: 2%;
|
1323 |
+
content: 'test'
|
1324 |
+
}
|
1325 |
+
.breadcrumb-arrow{
|
1326 |
+
padding-left: 20px;
|
1327 |
+
padding-right: 20px;
|
1328 |
+
background:url('../img/breadcrumb_arrow.png') no-repeat center;
|
1329 |
+
}
|
1330 |
+
.brd-btm-0{
|
1331 |
+
border-bottom: 0 !important;
|
1332 |
+
}
|
1333 |
+
.pad-left-3p{
|
1334 |
+
padding-left: 3%;
|
1335 |
+
}
|
1336 |
+
.contact-us-footer{
|
1337 |
+
background-color: #05b4ae;
|
1338 |
+
width: 15.8%;
|
1339 |
+
height: 45px;
|
1340 |
+
left: 6px;
|
1341 |
+
color: #ffffff;
|
1342 |
+
font-size: 16px;
|
1343 |
+
bottom: 45px !important;
|
1344 |
+
padding-top: 0.7%;
|
1345 |
+
padding-right: 1%;
|
1346 |
+
padding-left: 1.5%;
|
1347 |
+
text-align: left;
|
1348 |
+
border-radius: 3px;
|
1349 |
+
max-width: 250px;
|
1350 |
+
}
|
1351 |
+
.contact-us-footer:hover{
|
1352 |
+
bottom: 45px !important;
|
1353 |
+
cursor: pointer;
|
1354 |
+
}
|
1355 |
+
.mail-box{
|
1356 |
+
margin-right: 10px;
|
1357 |
+
width: 25px;
|
1358 |
+
height: 20px;
|
1359 |
+
background: url("../img/mail-box.png") no-repeat center;
|
1360 |
+
}
|
1361 |
+
.pad-top-4p{
|
1362 |
+
padding-top: 4%;
|
1363 |
+
}
|
1364 |
+
.back-pos-0-0{
|
1365 |
+
background-position: 0px 0px;
|
1366 |
+
}
|
1367 |
+
.pad-left-50{
|
1368 |
+
padding-left: 50px !important;
|
1369 |
+
}
|
1370 |
+
.pad-right-50{
|
1371 |
+
padding-right: 50px;
|
1372 |
+
}
|
1373 |
+
.mar-left-50{
|
1374 |
+
margin-left: 50px;
|
1375 |
+
}
|
1376 |
+
.mar-right-50{
|
1377 |
+
margin-right: 50px;
|
1378 |
+
}
|
1379 |
+
.pad-right-15{
|
1380 |
+
padding-right: 15px;
|
1381 |
+
}
|
1382 |
+
.optional-text{
|
1383 |
+
color: #a6a6a6;
|
1384 |
+
}
|
1385 |
+
.pad-top-7p{
|
1386 |
+
padding-top: 7%;
|
1387 |
+
}
|
1388 |
+
.pad-left-right-0{
|
1389 |
+
padding-left: 0;
|
1390 |
+
padding-right: 0;
|
1391 |
+
}
|
1392 |
+
.rules-block > div.after-rule:nth-child(n+6) {
|
1393 |
+
display: none;
|
1394 |
+
}
|
1395 |
+
.rules-block div.add-filter:last-child{
|
1396 |
+
border: 2px dotted #dee2e4;
|
1397 |
+
}
|
1398 |
+
.rules-block{
|
1399 |
+
margin-left:0;
|
1400 |
+
}
|
1401 |
+
div.after-rule + .rules-block div.add-filter:last-child {
|
1402 |
+
display: none;
|
1403 |
+
}
|
1404 |
+
.clear-both{
|
1405 |
+
clear: both;
|
1406 |
+
}
|
1407 |
+
.width-270{
|
1408 |
+
width: 270px;
|
1409 |
+
}
|
1410 |
+
.border-grey{
|
1411 |
+
border: 1px solid #dee2e4;
|
1412 |
+
}
|
1413 |
+
.border-0{
|
1414 |
+
border: 0;
|
1415 |
+
}
|
1416 |
+
.unbxd-input-error{
|
1417 |
+
border: 1px solid #FE6A56 !important;
|
1418 |
+
}
|
1419 |
+
.unbxd-input-error-parent > .chosen-container{
|
1420 |
+
border: 1px solid #FE6A56 !important;
|
1421 |
+
}
|
1422 |
+
.float-none{
|
1423 |
+
float: none !important;
|
1424 |
+
}
|
1425 |
+
.width-100px{
|
1426 |
+
width: 100px;
|
1427 |
+
}
|
1428 |
+
.filters-saved{
|
1429 |
+
padding-top: 3%;
|
1430 |
+
width: 100px;
|
1431 |
+
height: 40px;
|
1432 |
+
padding-left: 10%;
|
1433 |
+
background: url('../img/saved.png') no-repeat;
|
1434 |
+
background-position: 15px 8px;
|
1435 |
+
text-align: center;
|
1436 |
+
}
|
1437 |
+
.filter_toggle{
|
1438 |
+
display: none;
|
1439 |
+
}
|
1440 |
+
|
1441 |
+
.filters-saved-div{
|
1442 |
+
background: white;
|
1443 |
+
text-align: center;
|
1444 |
+
height: 40px;
|
1445 |
+
padding-left: 10%;
|
1446 |
+
width:28.33%;
|
1447 |
+
}
|
1448 |
+
.filters-saved-div > div{
|
1449 |
+
height: 40px;
|
1450 |
+
width: 15%;
|
1451 |
+
float: left;
|
1452 |
+
line-height: 40px;
|
1453 |
+
}
|
1454 |
+
.filters-saved-div div:last-child{
|
1455 |
+
padding-left: 2%;
|
1456 |
+
color: #5c656a !important
|
1457 |
+
}
|
1458 |
+
.save-icon{
|
1459 |
+
background: url('../img/save.png') ;
|
1460 |
+
background-position: center ;
|
1461 |
+
background-repeat: no-repeat ;
|
1462 |
+
}
|
1463 |
+
.success-icon-big{
|
1464 |
+
background: url('../img/success-icon-big.png') ;
|
1465 |
+
background-position: center ;
|
1466 |
+
background-repeat: no-repeat ;
|
1467 |
+
}
|
1468 |
+
.success-icon{
|
1469 |
+
background: url('../img/saved.png');
|
1470 |
+
background-position: center ;
|
1471 |
+
background-repeat: no-repeat ;
|
1472 |
+
}
|
1473 |
+
.mar-top-30{
|
1474 |
+
margin-top: 30px;
|
1475 |
+
}
|
1476 |
+
.box-50{
|
1477 |
+
width: 50px;
|
1478 |
+
height: 50px;
|
1479 |
+
}
|
1480 |
+
.sync-success{
|
1481 |
+
color: #20af7f;
|
1482 |
+
font-size: 14px;
|
1483 |
+
font-weight: 400;
|
1484 |
+
}
|
1485 |
+
.success-second-text{
|
1486 |
+
font-size: 10.96px;
|
1487 |
+
}
|
1488 |
+
.emailid-collection{
|
1489 |
+
float: left;
|
1490 |
+
max-width: 92%;
|
1491 |
+
}
|
1492 |
+
.emailid-collection div{
|
1493 |
+
background-color: #f5f5f5;
|
1494 |
+
border: 1px solid #d9d9d9;
|
1495 |
+
cursor: default;
|
1496 |
+
display: block;
|
1497 |
+
height: 22px;
|
1498 |
+
border-radius: 3px;
|
1499 |
+
color: #222;
|
1500 |
+
max-width: 325px;
|
1501 |
+
max-height: 25px;
|
1502 |
+
display: inline-block;
|
1503 |
+
padding-left: 5px;
|
1504 |
+
margin-right: 5px;
|
1505 |
+
margin-bottom: 5px;
|
1506 |
+
}
|
1507 |
+
.remove-id{
|
1508 |
+
float: right;
|
1509 |
+
background: url('../img/mail-id-sprite.png');
|
1510 |
+
width: 20px;
|
1511 |
+
height: 20px;
|
1512 |
+
background-position: 0px -22px;
|
1513 |
+
}
|
1514 |
+
.remove-id:hover{
|
1515 |
+
cursor: pointer;
|
1516 |
+
background-position: 0px 0px;
|
1517 |
+
}
|
1518 |
+
.modal-dialog {
|
1519 |
+
overflow: visible;
|
1520 |
+
}
|
1521 |
+
.mar-top-0{
|
1522 |
+
margin-top: 0 !important;
|
1523 |
+
}
|
1524 |
+
.font-15{
|
1525 |
+
font-size: 15px;
|
1526 |
+
}
|
1527 |
+
.font-16{
|
1528 |
+
font-size: 16px;
|
1529 |
+
}
|
1530 |
+
.font-17{
|
1531 |
+
font-size: 17px;
|
1532 |
+
}
|
1533 |
+
.second-level-head{
|
1534 |
+
color: #4e5356;
|
1535 |
+
}
|
1536 |
+
.unbxd-md-offset-2{
|
1537 |
+
margin-left: 2.22%;
|
1538 |
+
}
|
1539 |
+
.unbxd-code{
|
1540 |
+
height: 37px;
|
1541 |
+
text-align: left;
|
1542 |
+
padding-top: 10px;
|
1543 |
+
color: #05b4ae;
|
1544 |
+
margin-top: 10px
|
1545 |
+
}
|
1546 |
+
.magento-redbar {
|
1547 |
+
background-color: rgba(254, 106, 86, 0.9);
|
1548 |
+
opacity: 0.9;
|
1549 |
+
padding:35px 0px;
|
1550 |
+
text-align: center;
|
1551 |
+
font-size:15px;
|
1552 |
+
font-weight:400;
|
1553 |
+
color: #fff;
|
1554 |
+
position: absolute;
|
1555 |
+
top:0;
|
1556 |
+
left:0;
|
1557 |
+
z-index:2;
|
1558 |
+
top: 38px;
|
1559 |
+
height: 1%;
|
1560 |
+
margin-left: 54px;
|
1561 |
+
width: 89.5%;
|
1562 |
+
background-color: rgba(254, 106, 86, 0.9);
|
1563 |
+
}
|
1564 |
+
.unbxd-disabled-cover {
|
1565 |
+
height: 110%;
|
1566 |
+
position: absolute;
|
1567 |
+
cursor: default;
|
1568 |
+
margin-left: 54px;
|
1569 |
+
width: 89.5%;
|
1570 |
+
background-color: rgba(0, 0, 0, 0.2);
|
1571 |
+
left: 0;
|
1572 |
+
}
|
1573 |
+
.minus-icon{
|
1574 |
+
background: url('../img/minus.png');
|
1575 |
+
background-repeat: no-repeat;
|
1576 |
+
width: 25px;
|
1577 |
+
height: 36px;
|
1578 |
+
background-position: center;
|
1579 |
+
}
|
1580 |
+
.plus-icon{
|
1581 |
+
background: url('../img/plus.png');
|
1582 |
+
background-repeat: no-repeat;
|
1583 |
+
width: 25px;
|
1584 |
+
height: 36px;
|
1585 |
+
background-position: center;
|
1586 |
+
}
|
1587 |
+
.background-inactive{
|
1588 |
+
background-color: #f9f9f9;
|
1589 |
+
}
|
1590 |
+
.background-center{
|
1591 |
+
background-position: center;
|
1592 |
+
}
|
1593 |
+
.background-disabled{
|
1594 |
+
pointer-events: none;
|
1595 |
+
background-color: #f3f6f6;
|
1596 |
+
}
|
1597 |
+
.info-note{
|
1598 |
+
font-size: 12px;
|
1599 |
+
}
|
1600 |
+
.unhoverd-btn{
|
1601 |
+
opacity: 0.6;
|
1602 |
+
}
|
1603 |
+
.unhoverd-btn:hover{
|
1604 |
+
opacity: 1;
|
1605 |
+
}
|
1606 |
+
.rec-code-eg{
|
1607 |
+
padding: 30px 20px;
|
1608 |
+
padding-top: 4px;
|
1609 |
+
width: 44%;
|
1610 |
+
margin-top: 10px;
|
1611 |
+
border: 0px;
|
1612 |
+
margin-bottom: 10px;
|
1613 |
+
}
|
1614 |
+
.chosen-container-active > a{
|
1615 |
+
border: 0px !important;
|
1616 |
+
}
|
1617 |
+
.middle-nav-dropdown .unbxd-border:hover{
|
1618 |
+
border: 1px solid #ABB8BB;
|
1619 |
+
}
|
1620 |
+
.middle-nav-dropdown .chosen-results{
|
1621 |
+
border: 1px solid #ABB8BB;
|
1622 |
+
border-top: 0;
|
1623 |
+
}
|
1624 |
+
.magent0-left-nav{
|
1625 |
+
max-width: 250px;
|
1626 |
+
overflow: hidden !important;
|
1627 |
+
}
|
1628 |
+
.width-83{
|
1629 |
+
width: 83%;
|
1630 |
+
}
|
1631 |
+
.unbxd-head-div{
|
1632 |
+
height: 60px;
|
1633 |
+
padding-top: 12px;
|
1634 |
+
}
|
1635 |
+
.brd-top-btm-0{
|
1636 |
+
border-top: 0;
|
1637 |
+
border-bottom: 0;
|
1638 |
+
}
|
1639 |
+
.height-100px{
|
1640 |
+
height: 100px;
|
1641 |
+
}
|
1642 |
+
.overflow-auto{
|
1643 |
+
overflow: auto;
|
1644 |
+
}
|
1645 |
+
.unbxd-outer-block {
|
1646 |
+
|
1647 |
+
}
|
1648 |
+
.unbxd-outer-block > div:not(.unbxd-outer-block) {
|
1649 |
+
width: 100%;
|
1650 |
+
padding: 15px 50px 10px 50px;
|
1651 |
+
background-color: #fff;
|
1652 |
+
border-left: 1px solid #cddbde;
|
1653 |
+
border-right: 1px solid #cddbde;
|
1654 |
+
}
|
1655 |
+
.inner-container-magento .unbxd-outer-block:first-child{
|
1656 |
+
/*border: 1px solid #cddbde;*/
|
1657 |
+
border-top: 0;
|
1658 |
+
}
|
1659 |
+
.bordered-div{
|
1660 |
+
border-top: 1px solid #cddbde;
|
1661 |
+
border-bottom: 1px solid #cddbde;
|
1662 |
+
}
|
1663 |
+
.unbxd-info-text{
|
1664 |
+
padding-top: 20px;
|
1665 |
+
padding-bottom: 20px;
|
1666 |
+
height: 58px;
|
1667 |
+
}
|
1668 |
+
.cudtom-attr-rows .chosen-container{
|
1669 |
+
vertical-align: initial;
|
1670 |
+
}
|
1671 |
+
.cudtom-attr-rows .chosen-drop{
|
1672 |
+
margin-left: 0px !important;
|
1673 |
+
width: 101%;
|
1674 |
+
margin-top: 0px;
|
1675 |
+
}
|
1676 |
+
.unbxd-cat-table .chosen-drop{
|
1677 |
+
width: 101%;
|
1678 |
+
margin-top: 0px;
|
1679 |
+
}
|
1680 |
+
.width-88{
|
1681 |
+
width: 88%;
|
1682 |
+
}
|
1683 |
+
.unbxd-filter-cat{
|
1684 |
+
background-color: #F3F6F6 !important;
|
1685 |
+
}
|
1686 |
+
.unbxd-success-msg{
|
1687 |
+
color: #20af7f;
|
1688 |
+
font-size: 14px;
|
1689 |
+
font-weight: 400;
|
1690 |
+
}
|
1691 |
+
.unbxd-err-msg{
|
1692 |
+
color: #FE6A56;
|
1693 |
+
font-size: 14px;
|
1694 |
+
font-weight: 400;
|
1695 |
+
}
|
1696 |
+
.unbxd-table-head{
|
1697 |
+
font-weight: 300;
|
1698 |
+
font-size: 16px;
|
1699 |
+
}
|
1700 |
+
/*style which shd be avoided*/
|
1701 |
+
.mar-btm-n10 {
|
1702 |
+
margin-bottom: -10px;
|
1703 |
+
}
|
1704 |
+
.unbxd-container .top-rad{
|
1705 |
+
border-top-left-radius: 3px;
|
1706 |
+
border-top-right-radius: 3px;
|
1707 |
+
}
|
1708 |
+
.unbxd-container .btm-rad{
|
1709 |
+
border-bottom-left-radius: 3px;
|
1710 |
+
border-bottom-right-radius: 3px;
|
1711 |
+
}
|
1712 |
+
.brd-btm{
|
1713 |
+
border-bottom: 1px solid #cddbde;
|
1714 |
+
}
|
1715 |
+
#profiler_section{
|
1716 |
+
display: none !important;
|
1717 |
+
}
|
1718 |
+
.button-cancel-magento
|
1719 |
+
{
|
1720 |
+
background: #fff url('../img/cancel.png') no-repeat;
|
1721 |
+
background-position:10px;
|
1722 |
+
}
|
1723 |
+
.unbxd-btn-outer{
|
1724 |
+
border: 1px solid #cddbde;
|
1725 |
+
border-radius: 3px;
|
1726 |
+
}
|
1727 |
+
.unbxd-btn-outer > div {
|
1728 |
+
|
1729 |
+
}
|
1730 |
+
.width-90p{
|
1731 |
+
width: 90%;
|
1732 |
+
}
|
1733 |
+
.mar-left-5{
|
1734 |
+
margin-left: 5px;
|
1735 |
+
}
|
1736 |
+
.mar-left-15{
|
1737 |
+
margin-left: 15px;
|
1738 |
+
}
|
1739 |
+
.unbxd-left, .unbxd-right {
|
1740 |
+
/*padding-bottom:8000px;
|
1741 |
+
margin-bottom:-8000px;*/
|
1742 |
+
}
|
1743 |
+
.unbxd-scrollable-div{
|
1744 |
+
overflow-y: auto;
|
1745 |
+
height: 105vh;
|
1746 |
+
padding-bottom: 5% !important;
|
1747 |
+
}
|
1748 |
+
div.unbxd-rows div.tr-row:last-child > div{
|
1749 |
+
border-bottom: 0 !important;
|
1750 |
+
}
|
1751 |
+
.brd-lft{
|
1752 |
+
border-left: 1px solid #cddbde;
|
1753 |
+
}
|
1754 |
+
.brd-rgt{
|
1755 |
+
border-right: 1px solid #cddbde;
|
1756 |
+
}
|
1757 |
+
.pad-0{
|
1758 |
+
padding:0;
|
1759 |
+
}
|
1760 |
+
.mar-mtop-30{
|
1761 |
+
margin-top: -30px;
|
1762 |
+
}
|
1763 |
+
.mar-mtop-20{
|
1764 |
+
margin-top: -20px;
|
1765 |
+
}
|
1766 |
+
.spinbox{
|
1767 |
+
margin-right: 22px;
|
1768 |
+
}
|
1769 |
+
.table-widget{
|
1770 |
+
border: 1px solid #cddbde;
|
1771 |
+
border-radius: 3px;
|
1772 |
+
}
|
1773 |
+
.table-widget:hover{
|
1774 |
+
background: #cddbde;
|
1775 |
+
}
|
1776 |
+
.table-widget-data{
|
1777 |
+
display:none;
|
1778 |
+
}
|
skin/adminhtml/default/default/unbxd/recscore/img/Custom-platform.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/DONE.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/HEXAGON-Only.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/Magento-small.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/Magento.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/Powered_by_unbxd copy.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/X-popup-hover.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/X-popup.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/X-pricing.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/active.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/add-actv.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/add-icon.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/add-inactv.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/add-raw-hover.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/add-raw.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/add-rule.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/add.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/api_int_info.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-2.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-calendar-down.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-calendar-down1.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-down-disabled.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-down-enabled.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-down-white.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-down-white1.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-down-white2.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-down.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-gray.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/{img/arrow.png → recscore/img/arrow-inactive.png}
RENAMED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-left-inactive.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-left-white.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-left.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-left.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-mail-developer).png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-right-blue.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-right-gray.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-right-inactive.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-right-white.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-right.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-right.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-up-black.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-up-disabled.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-up-enabled.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-up-red.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-up-white.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-up-white1.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-up.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow-white.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow_grey.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/arrow_white.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/authenticated.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/back.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/{img → recscore/img}/bg.jpg
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/recscore/img/big-arrow-gray.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/bigcommerce.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/black-right-small.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/black-right-thick.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/blue-selected.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/breadcrumb_arrow.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/btn-arrow-top.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/btn-arrow.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/button-arrow-blue.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/button-arrow-grey.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/button-arrow-red.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/cancel.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/card-image.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/card-image1.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/card-image2.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/card-image3.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/checkmark.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/{img → recscore/img}/chosen-sprite.png
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/recscore/img/close-analytics.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/close-round.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/close.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/color-pic-black.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/color-pic.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/congrats-magento.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/congrats.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/copy-black.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/copy-white.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/cros.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/cross-2.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/custom-color-selected.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/custom-color.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/custom-temp-1.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/custom-temp-2.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/custom-temp-3.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/custom-temp-4.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/cvv-number.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/delete-raw-hover.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/delete-raw.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/delete-red.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/delete.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/detect.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/dot-border.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/down-arrow.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/down-black.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/down-gray.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/drop-down.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/dropdown-arrow.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/edit-magento.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/edit.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/eye-hover.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/eye.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/favicon.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/fill.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/green-selected.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/grey-selected.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/group-arrow.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/help.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/icon-analytics.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/icon-info.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/icon-widget.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/info-icon-big.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/info-small.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/install.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/integration-gray.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/introduction-gray.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/left-black.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/left-gray.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/level-arrow-active.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/level-arrow.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/link-arrow.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/list_bullet.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/{img → recscore/img}/loader-16x16.gif
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/{img → recscore/img}/loader-24x24.gif
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/recscore/img/loader-32x32.gif
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/{img → recscore/img}/loader.gif
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/{img → recscore/img}/loader_black.gif
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/recscore/img/lock-image.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/logo-unbxd.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/logo.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/mail-box.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/mail-id-sprite.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/mail-new.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/mail.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/minus.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/{img/dropdown-arrow.png → recscore/img/minus.png}
RENAMED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/nav-highlight-arrow.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/not-detected.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/oops.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/or.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/orange-selected.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/orange.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/other-gray.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/overview-gray.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/{img/down-black.png → recscore/img/plus.png}
RENAMED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/preview.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/question-mark2.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/red-cross.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/red-loading.gif
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/remove.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/right-black.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/right-gray.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/rules.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/save.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/saved.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/search.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/settings.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/shopify.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/site-dropdownarrow-down.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/site-dropdownarrow-up.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/skin1-trans.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/skin1.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/skin2.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/skin3.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/skin4.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/slider-bg.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/slider-button.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/sort-arrow-blue-down.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/sort-arrow-blue-up.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/sort-arrow-grey-down.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/sort-arrow-grey-up.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/spinner_down.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/spinner_up.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/spree.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/start-gray.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/step-arrow.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/success-icon-big.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/success.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-1-blue.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-1-green.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-1-grey.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-1-orange.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-1-preview-blue.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-1-preview-green.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-1-preview-grey.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-1-preview-orange.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-1.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-2-blue.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-2-green.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-2-grey.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-2-orange.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-2-preview-blue.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-2-preview-green.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-2-preview-grey.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-2-preview-orange.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-2.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-3-blue.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-3-green.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-3-grey.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-3-orange.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-3-preview-blue.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-3-preview-green.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-3-preview-grey.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-3-preview-orange.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-3.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-4-blue.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-4-green.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-4-grey.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-4-orange.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-4-preview-blue.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-4-preview-green.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-4-preview-grey.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-4-preview-orange.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-5-blue.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-5-green.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-5-orange.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-5-preview-blue.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-5-preview-gray.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-5-preview-green.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-5-preview-orange.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-5.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/temp-6.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/templates.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/tick-analytics.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/tick-green.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/tick-orange.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/tick-pricing.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/tick.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/tooltip-arrow.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/tooltip-left-arrow.jpg
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/tooltip.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/up-arrow.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/up-black.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/up-gray.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/user.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/view-hover.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/view.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/warning.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/x-widget.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/recscore/img/x.png
ADDED
Binary file
|
skin/adminhtml/default/default/unbxd/{js → recscore/js}/app.js
RENAMED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
(function($) {
|
2 |
|
3 |
var baseUrl = _unbxdSkinurl +'unbxd/templates/';
|
1 |
+
// code, which is in a single file
|
2 |
(function($) {
|
3 |
|
4 |
var baseUrl = _unbxdSkinurl +'unbxd/templates/';
|
skin/adminhtml/default/default/unbxd/recscore/js/app/analytics.js
ADDED
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
define([
|
2 |
+
"jquery",
|
3 |
+
"app/config",
|
4 |
+
"app/utils",
|
5 |
+
'rv!templates/analytics'],
|
6 |
+
function( $,
|
7 |
+
Config,
|
8 |
+
Utils,
|
9 |
+
Template ){
|
10 |
+
|
11 |
+
var Analytics = {
|
12 |
+
|
13 |
+
|
14 |
+
|
15 |
+
loadAnalyticsTab : function(){
|
16 |
+
var self = this;
|
17 |
+
this.site = Config.site;
|
18 |
+
|
19 |
+
this.ractiveAnalytics = new Ractive({
|
20 |
+
el: 'innerContainr',
|
21 |
+
template: Template,
|
22 |
+
data:{
|
23 |
+
searchHits : _unbxdObject.ractiveAnalytics.SEARCHHITS || false,
|
24 |
+
productClick : _unbxdObject.ractiveAnalytics.CLICKRANK || false,
|
25 |
+
addToCartClick : _unbxdObject.ractiveAnalytics.ADDTOCART || false,
|
26 |
+
productBuysClick : _unbxdObject.ractiveAnalytics.ORDER || false,
|
27 |
+
_unbxdObject : _unbxdObject,
|
28 |
+
config:Config
|
29 |
+
}
|
30 |
+
});
|
31 |
+
|
32 |
+
|
33 |
+
if( _unbxdObject.step2 )
|
34 |
+
this.poll();
|
35 |
+
|
36 |
+
|
37 |
+
this.ractiveAnalytics.on({
|
38 |
+
showWidgets:function( event ){
|
39 |
+
activateLink( "four" );
|
40 |
+
loadWidgetsTab();
|
41 |
+
clearInterval( Config.pollingId );
|
42 |
+
}
|
43 |
+
});
|
44 |
+
|
45 |
+
|
46 |
+
},
|
47 |
+
|
48 |
+
poll:function(){
|
49 |
+
|
50 |
+
var self = this;
|
51 |
+
|
52 |
+
Config.pollingId = window.setInterval(function(){
|
53 |
+
|
54 |
+
Utils.getAnalytics()
|
55 |
+
.then(
|
56 |
+
function(data){
|
57 |
+
if(data.success){
|
58 |
+
var obj = data.IntegrationDetails[0];
|
59 |
+
self.ractiveAnalytics.set({
|
60 |
+
productClick : obj.CLICKRANK,
|
61 |
+
addToCartClick : obj.ADDTOCART,
|
62 |
+
productBuysClick : obj.ORDER,
|
63 |
+
searchHits : obj.SEARCHHITS
|
64 |
+
})
|
65 |
+
_unbxdObject.ractiveAnalytics = data;
|
66 |
+
|
67 |
+
if(data.CLICKRANK && data.ADDTOCART && data.ORDER)
|
68 |
+
clearInterval( pollingId.pollingId );
|
69 |
+
}
|
70 |
+
},
|
71 |
+
function(error){
|
72 |
+
clearInterval( Config.pollingId );
|
73 |
+
});
|
74 |
+
}, 3000);
|
75 |
+
|
76 |
+
}
|
77 |
+
|
78 |
+
};
|
79 |
+
|
80 |
+
return Analytics;
|
81 |
+
|
82 |
+
});
|
skin/adminhtml/default/default/unbxd/recscore/js/app/autosuggest.js
ADDED
@@ -0,0 +1,206 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
define([
|
2 |
+
"jquery",
|
3 |
+
"colpick",
|
4 |
+
'app/config',
|
5 |
+
'rv!templates/auto-suggest',
|
6 |
+
'app/utils',
|
7 |
+
'rv!partials/preview-modal',
|
8 |
+
'rv!partials/switch-on',
|
9 |
+
'rv!partials/switch-off',
|
10 |
+
'bootstrap-modal'],
|
11 |
+
function( $,
|
12 |
+
ColorPicker,
|
13 |
+
Config ,
|
14 |
+
Template,
|
15 |
+
Utils,
|
16 |
+
ModalTemplate,
|
17 |
+
SwitchonTemplate,
|
18 |
+
SwitchoffTemplate){
|
19 |
+
|
20 |
+
var AutoSuggest = {
|
21 |
+
|
22 |
+
loadAutosuggest : function(){
|
23 |
+
|
24 |
+
if( typeof this.autosuggestData === "undefined" ){
|
25 |
+
var self = this;
|
26 |
+
Utils.getConfigData( 'autosuggest')
|
27 |
+
.then(
|
28 |
+
function( data ){
|
29 |
+
if(data.success === true){
|
30 |
+
self.autosuggestData = self.setDefaults( data.config );
|
31 |
+
self.showAutosuggest();
|
32 |
+
}
|
33 |
+
|
34 |
+
},
|
35 |
+
function( error ){
|
36 |
+
|
37 |
+
})
|
38 |
+
}else{
|
39 |
+
this.showAutosuggest();
|
40 |
+
}
|
41 |
+
},
|
42 |
+
|
43 |
+
setDefaults:function( data ){
|
44 |
+
for(key in data){
|
45 |
+
if(data[key] === "" || data[key] === "false"){
|
46 |
+
data[key] = false;
|
47 |
+
}else if( key === "autosuggest_skin" ){
|
48 |
+
if( !Config.colorMap[ data[key] ] ){
|
49 |
+
data['skinBackground'] = data[key];
|
50 |
+
data['customColor'] = true;
|
51 |
+
}else{
|
52 |
+
data[key] = Config.colorMap[ data[key] ];
|
53 |
+
data['customColor'] = false;
|
54 |
+
}
|
55 |
+
|
56 |
+
}else if( key === "autosuggest_template" ){
|
57 |
+
data[key] = Config.templateMap[ data[key] ];
|
58 |
+
}
|
59 |
+
}
|
60 |
+
var obj = $.extend( Config.autoSuggestDefaults, data);
|
61 |
+
obj['config'] = Config;
|
62 |
+
return obj;
|
63 |
+
},
|
64 |
+
|
65 |
+
showAutosuggest:function( ){
|
66 |
+
|
67 |
+
this.ractiveAutosuggest = new Ractive({
|
68 |
+
el: 'innerContainr',
|
69 |
+
template: Template,
|
70 |
+
partials: {
|
71 |
+
modal: ModalTemplate,
|
72 |
+
switchon:SwitchonTemplate,
|
73 |
+
switchoff:SwitchoffTemplate },
|
74 |
+
data: this.autosuggestData,
|
75 |
+
computed: {
|
76 |
+
hideSuggestions: function () { return this.get( 'autosuggest_template' ) === 4 }
|
77 |
+
}
|
78 |
+
});
|
79 |
+
|
80 |
+
|
81 |
+
this.ractiveAutosuggest.on({
|
82 |
+
|
83 |
+
autosuggestToggle:function(){
|
84 |
+
this.set('autosuggest_status', !this.get("autosuggest_status"));
|
85 |
+
},
|
86 |
+
|
87 |
+
selectSkin:function( event, color ){
|
88 |
+
this.set("autosuggest_skin", color);
|
89 |
+
this.set('customColor', false);
|
90 |
+
},
|
91 |
+
|
92 |
+
selectTemplate:function( event, template ){
|
93 |
+
this.set("autosuggest_template", template);
|
94 |
+
},
|
95 |
+
|
96 |
+
noOfSuggestionsUp:function(){
|
97 |
+
var noOfSuggestions = parseInt(this.get("autosuggest_max_suggestion")) + 1;
|
98 |
+
noOfSuggestions = noOfSuggestions > Config.maxSuggestions ? Config.maxSuggestions : noOfSuggestions;
|
99 |
+
this.set("autosuggest_max_suggestion", noOfSuggestions );
|
100 |
+
},
|
101 |
+
|
102 |
+
noOfSuggestionsDown:function(){
|
103 |
+
var noOfSuggestions = parseInt(this.get("autosuggest_max_suggestion")) - 1;
|
104 |
+
noOfSuggestions = noOfSuggestions > 0 ? noOfSuggestions : 0;
|
105 |
+
this.set("autosuggest_max_suggestion", noOfSuggestions );
|
106 |
+
},
|
107 |
+
|
108 |
+
topqueriesToggle:function(){
|
109 |
+
this.set('autosuggest_top_queries_status', !this.get("autosuggest_top_queries_status"));
|
110 |
+
},
|
111 |
+
|
112 |
+
keywordsToggle:function(){
|
113 |
+
this.set('autosuggest_keyword_status', !this.get("autosuggest_keyword_status"));
|
114 |
+
},
|
115 |
+
|
116 |
+
searchscopeToggle:function(){
|
117 |
+
this.set('autosuggest_search_scope_status', !this.get("autosuggest_search_scope_status"));
|
118 |
+
},
|
119 |
+
|
120 |
+
noOfPopularProductsUp:function(){
|
121 |
+
var noOfPopularProducts = parseInt(this.get("autosuggest_max_products")) + 1;
|
122 |
+
noOfPopularProducts = noOfPopularProducts > Config.maxPopularProducts ? Config.maxPopularProducts : noOfPopularProducts;
|
123 |
+
this.set("autosuggest_max_products", noOfPopularProducts );
|
124 |
+
},
|
125 |
+
|
126 |
+
noOfPopularProductsDown:function(){
|
127 |
+
var noOfPopularProducts = parseInt(this.get("autosuggest_max_products")) - 1;
|
128 |
+
noOfPopularProducts = noOfPopularProducts > 0 ? noOfPopularProducts : 0;
|
129 |
+
this.set("autosuggest_max_products", noOfPopularProducts );
|
130 |
+
}
|
131 |
+
|
132 |
+
});
|
133 |
+
|
134 |
+
this.ractiveAutosuggest.observe('*', function(newValue, oldValue, property) {
|
135 |
+
if(typeof oldValue === "undefined" || property === "templatePreview" || property==="hideSuggestions")
|
136 |
+
return;
|
137 |
+
console.log("newValue "+ newValue);
|
138 |
+
if( property === "autosuggest_skin")
|
139 |
+
newValue = Config.colorMap[newValue]
|
140 |
+
else if( property === "autosuggest_template" )
|
141 |
+
newValue = Config.templateMap[newValue]
|
142 |
+
else if( property === 'skinBackground')
|
143 |
+
property = 'autosuggest_skin';
|
144 |
+
|
145 |
+
|
146 |
+
|
147 |
+
var data = {};
|
148 |
+
data[property] = newValue;
|
149 |
+
Utils.saveConfigs( data )
|
150 |
+
.then(function(){
|
151 |
+
|
152 |
+
},function(){
|
153 |
+
|
154 |
+
});
|
155 |
+
|
156 |
+
});
|
157 |
+
|
158 |
+
this.ractiveAutosuggest.observe('customColor', function(newValue, oldValue, property) {
|
159 |
+
if(typeof oldValue === "undefined" )
|
160 |
+
return;
|
161 |
+
if( this.get('customColor') === false )
|
162 |
+
this.set('skinBackground', '#FFF');
|
163 |
+
});
|
164 |
+
|
165 |
+
|
166 |
+
$('.magento-templates').hover(function(){
|
167 |
+
$(this).find('.preview_template').show();
|
168 |
+
}, function(){
|
169 |
+
$(this).find('.preview_template').hide();
|
170 |
+
});
|
171 |
+
|
172 |
+
this.eventBindings();
|
173 |
+
},
|
174 |
+
|
175 |
+
eventBindings:function(){
|
176 |
+
var self = this;
|
177 |
+
$('#previewModal').on('show.bs.modal', function (event) {
|
178 |
+
|
179 |
+
var button = $(event.relatedTarget)
|
180 |
+
var template = button.data('template');
|
181 |
+
var skin = $(event.relatedTarget).attr("data-skin")
|
182 |
+
self.ractiveAutosuggest.set('templatePreview', template + skin );
|
183 |
+
|
184 |
+
|
185 |
+
});
|
186 |
+
|
187 |
+
$("#colorPicker").colpick({
|
188 |
+
layout:'hex',
|
189 |
+
onSubmit:function( hsb,hex,rgb,el,bySetColor ){
|
190 |
+
$("#colorPicker").colpickHide();
|
191 |
+
self.ractiveAutosuggest.set('skinBackground', '#'+hex);
|
192 |
+
self.ractiveAutosuggest.set('autosuggest_skin', '#'+hex);
|
193 |
+
self.ractiveAutosuggest.set('customColor', true);
|
194 |
+
}
|
195 |
+
}).keyup(function(){
|
196 |
+
$(this).colpickSetColor(this.value);
|
197 |
+
});
|
198 |
+
|
199 |
+
$(".magento-tooltip").popover({ trigger:'hover' });
|
200 |
+
}
|
201 |
+
|
202 |
+
};
|
203 |
+
|
204 |
+
return AutoSuggest;
|
205 |
+
|
206 |
+
});
|
skin/adminhtml/default/default/unbxd/{js → recscore/js}/app/catalog.js
RENAMED
@@ -1,18 +1,44 @@
|
|
1 |
-
define([ "jquery",
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
var Catalog = {
|
5 |
|
|
|
|
|
|
|
|
|
|
|
6 |
loadCatalogTab : function( _unbxdObject ){
|
7 |
|
8 |
var mappedAttributes = _unbxdObject.originalMapping, //catalog map first table
|
9 |
-
magentoFields = [ {value:'', disabled:false}],
|
10 |
customAttributes = [],
|
11 |
-
dataTypes = []
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
var RactiveCatalog = Ractive.extend({
|
14 |
-
template:
|
15 |
-
partials: { item:
|
|
|
|
|
|
|
16 |
|
17 |
addItem: function ( description ) {
|
18 |
this.push( 'customAttributes', {
|
@@ -41,7 +67,7 @@ function( $, Utils ){
|
|
41 |
el: 'innerContainr',
|
42 |
data : _unbxdObject.catalogData ||
|
43 |
{
|
44 |
-
magentoFields : [{disabled:false,
|
45 |
mappedAttributes : mappedAttributes,
|
46 |
customAttributes : customAttributes,
|
47 |
enableEdit : false,
|
@@ -56,11 +82,16 @@ function( $, Utils ){
|
|
56 |
dataErrorMsg:null,
|
57 |
dataSuccessMsg:null,
|
58 |
dataWaitMsg:null,
|
59 |
-
disableButton:false
|
|
|
|
|
60 |
},
|
61 |
|
62 |
});
|
63 |
|
|
|
|
|
|
|
64 |
$(".magento-tooltip").popover({ trigger:'hover' });
|
65 |
|
66 |
|
@@ -75,17 +106,17 @@ function( $, Utils ){
|
|
75 |
magentoFields = this.get("magentoFields"),
|
76 |
self = this;
|
77 |
|
78 |
-
|
79 |
magentoFields.each(function(obj, i){
|
80 |
-
if(obj.
|
81 |
obj.disabled = 'unbxd-hide';
|
82 |
}
|
83 |
-
if( obj.
|
84 |
obj.disabled = '';
|
85 |
}
|
86 |
|
87 |
})
|
88 |
this.set('magentoFields', magentoFields);
|
|
|
89 |
ractiveCatalog.update();
|
90 |
_unbxdObject.catalogData = ractiveCatalog.data;
|
91 |
Utils.updateAllSelect();
|
@@ -105,10 +136,10 @@ function( $, Utils ){
|
|
105 |
this.set('disableSaveCustomAttr', null);
|
106 |
|
107 |
magentoFields.each(function(obj, i){
|
108 |
-
if(obj.
|
109 |
obj.disabled = 'unbxd-hide';
|
110 |
}
|
111 |
-
if(obj.
|
112 |
obj.disabled = '';
|
113 |
})
|
114 |
|
@@ -130,72 +161,75 @@ function( $, Utils ){
|
|
130 |
});
|
131 |
|
132 |
if( !_unbxdObject.catalogData ){
|
133 |
-
var
|
|
|
134 |
$obj.then(function( data ){
|
135 |
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
$.each(data.fields, function(a, val){
|
140 |
-
magentoFields.push({ value:val, disabled:false} );
|
141 |
-
});
|
142 |
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
|
153 |
-
|
154 |
-
if(obj.field_name === item.value)
|
155 |
-
item.disabled = 'unbxd-hide';
|
156 |
|
157 |
-
|
|
|
|
|
158 |
|
159 |
-
|
160 |
-
|
161 |
-
|
|
|
162 |
|
163 |
-
|
164 |
-
magentoFields.push({value:obj.field_name, disabled:'unbxd-hide'});
|
165 |
-
|
166 |
-
});
|
167 |
-
|
168 |
-
//data = JSON.parse(data);
|
169 |
-
|
170 |
-
_unbxdObject.originalMapping = $.map( mappedAttributes, function(obj){
|
171 |
-
return $.extend({}, obj);
|
172 |
-
})
|
173 |
-
if(customAttributes.length < 1)
|
174 |
-
customAttributes = [{ field_name: '', datatype: '', canRemove:true }];
|
175 |
-
|
176 |
-
try{
|
177 |
-
mappedAttributes.forEach(function(obj, i){
|
178 |
-
obj.tooltip = unbxdDimensions.filter(
|
179 |
-
function( dimension ){
|
180 |
-
return dimension.value === obj.featured_field;
|
181 |
-
})[0].helpText;
|
182 |
-
});
|
183 |
-
}catch(e){}
|
184 |
-
|
185 |
-
|
186 |
-
ractiveCatalog.set({
|
187 |
-
mappedAttributes: mappedAttributes,
|
188 |
-
magentoFields: magentoFields,
|
189 |
-
customAttributes:customAttributes,
|
190 |
-
dataTypes : data.datatype
|
191 |
-
});
|
192 |
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
})
|
200 |
}
|
201 |
|
@@ -211,26 +245,35 @@ function( $, Utils ){
|
|
211 |
},
|
212 |
|
213 |
removeRow:function ( event ) {
|
214 |
-
var obj = this.get('customAttributes')[event.index.i]
|
215 |
-
|
|
|
|
|
216 |
result = window.confirm("Are you sure, you want to delete "+obj.field_name );
|
217 |
if(result){
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
});
|
223 |
this.get('customAttributes').splice(event.index.i, 1);
|
224 |
}
|
225 |
}else{
|
226 |
this.get('customAttributes').splice(event.index.i, 1);
|
227 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
|
229 |
},
|
230 |
|
231 |
saveMapping:function(event){
|
232 |
var mapping = this.get('mappedAttributes'),
|
233 |
-
self = this, data = [];
|
234 |
|
235 |
this.set( {'saveMapping':'disabled-btn',
|
236 |
'successMsg':null,
|
@@ -241,7 +284,8 @@ function( $, Utils ){
|
|
241 |
data.push(obj);
|
242 |
})
|
243 |
|
244 |
-
|
|
|
245 |
function( data ){
|
246 |
if(data.success){
|
247 |
self.set({
|
@@ -265,22 +309,29 @@ function( $, Utils ){
|
|
265 |
saveCustomAttribute : function(){
|
266 |
var customMapping = this.get('customAttributes'),
|
267 |
self = this,
|
268 |
-
data = []
|
|
|
269 |
customMapping.each(function(obj, i){
|
270 |
if( obj.field_name )
|
271 |
data.push(obj);
|
272 |
});
|
273 |
|
274 |
this.set("disableSaveCustomAttr", "disabled-btn");
|
275 |
-
|
|
|
|
|
|
|
276 |
function( response ){
|
|
|
277 |
if(response.success){
|
278 |
self.set("customAttrSucessMsg", "Saved");
|
279 |
data.each(function(obj){
|
280 |
obj.canRemove = false;
|
281 |
})
|
282 |
}else{
|
283 |
-
|
|
|
|
|
284 |
}
|
285 |
|
286 |
self.set("disableSaveCustomAttr", null);
|
@@ -337,12 +388,8 @@ function( $, Utils ){
|
|
337 |
});
|
338 |
var self = this;
|
339 |
|
340 |
-
|
341 |
-
|
342 |
-
url:_unbxdBaseurl + "unbxd/config/productsync?site=" +site,
|
343 |
-
type:"GET",
|
344 |
-
success : function(data){
|
345 |
-
|
346 |
if(data.success){
|
347 |
self.set({
|
348 |
dataSuccessMsg:unbxdMessages.uploadSuccess,
|
@@ -357,26 +404,36 @@ function( $, Utils ){
|
|
357 |
});
|
358 |
}
|
359 |
ractiveParent.update();
|
360 |
-
|
361 |
-
|
362 |
-
self.set({
|
363 |
dataErrorMsg : "Some error, please try again"
|
364 |
});
|
365 |
-
|
366 |
-
|
367 |
-
self.set({
|
368 |
disableButton:false,
|
369 |
dataWaitMsg:""
|
370 |
});
|
371 |
-
}
|
372 |
-
|
373 |
});
|
374 |
-
|
375 |
}
|
376 |
|
377 |
});
|
|
|
378 |
|
379 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
380 |
|
381 |
};
|
382 |
|
1 |
+
define([ "jquery",
|
2 |
+
"app/utils",
|
3 |
+
"app/config",
|
4 |
+
"app/filter-catalogue",
|
5 |
+
"rv!templates/catalog",
|
6 |
+
"rv!partials/row",
|
7 |
+
"rv!partials/custom-attr",
|
8 |
+
"rv!partials/catalogue"],
|
9 |
+
function( $,
|
10 |
+
Utils,
|
11 |
+
Config,
|
12 |
+
Filters,
|
13 |
+
Template,
|
14 |
+
RowTemplate,
|
15 |
+
CustomAttrTemplate,
|
16 |
+
CatalogueTemplate ){
|
17 |
|
18 |
var Catalog = {
|
19 |
|
20 |
+
loadChilds:function(){
|
21 |
+
if(this.fields)
|
22 |
+
Filters.load(this.fields);
|
23 |
+
},
|
24 |
+
|
25 |
loadCatalogTab : function( _unbxdObject ){
|
26 |
|
27 |
var mappedAttributes = _unbxdObject.originalMapping, //catalog map first table
|
|
|
28 |
customAttributes = [],
|
29 |
+
dataTypes = [],
|
30 |
+
site = Config.site,
|
31 |
+
unbxdMessages = Config.unbxdMessages;
|
32 |
+
|
33 |
+
this.magentoFields = [ {field_name:'', disabled:false}];
|
34 |
+
|
35 |
|
36 |
var RactiveCatalog = Ractive.extend({
|
37 |
+
template: Template,
|
38 |
+
partials: { item:RowTemplate,
|
39 |
+
catalogue:CatalogueTemplate,
|
40 |
+
customAttr:CustomAttrTemplate
|
41 |
+
},
|
42 |
|
43 |
addItem: function ( description ) {
|
44 |
this.push( 'customAttributes', {
|
67 |
el: 'innerContainr',
|
68 |
data : _unbxdObject.catalogData ||
|
69 |
{
|
70 |
+
magentoFields : [{disabled:false, field_name:"", test:"test"}],
|
71 |
mappedAttributes : mappedAttributes,
|
72 |
customAttributes : customAttributes,
|
73 |
enableEdit : false,
|
82 |
dataErrorMsg:null,
|
83 |
dataSuccessMsg:null,
|
84 |
dataWaitMsg:null,
|
85 |
+
disableButton:false,
|
86 |
+
config:Config,
|
87 |
+
lastSyncTime:''
|
88 |
},
|
89 |
|
90 |
});
|
91 |
|
92 |
+
this.loadFeedStatus( ractiveCatalog );
|
93 |
+
|
94 |
+
this.loadChilds();
|
95 |
$(".magento-tooltip").popover({ trigger:'hover' });
|
96 |
|
97 |
|
106 |
magentoFields = this.get("magentoFields"),
|
107 |
self = this;
|
108 |
|
|
|
109 |
magentoFields.each(function(obj, i){
|
110 |
+
if(obj.field_name === newValue){
|
111 |
obj.disabled = 'unbxd-hide';
|
112 |
}
|
113 |
+
if( obj.field_name === oldValue ){
|
114 |
obj.disabled = '';
|
115 |
}
|
116 |
|
117 |
})
|
118 |
this.set('magentoFields', magentoFields);
|
119 |
+
|
120 |
ractiveCatalog.update();
|
121 |
_unbxdObject.catalogData = ractiveCatalog.data;
|
122 |
Utils.updateAllSelect();
|
136 |
this.set('disableSaveCustomAttr', null);
|
137 |
|
138 |
magentoFields.each(function(obj, i){
|
139 |
+
if(obj.field_name === newValue ){
|
140 |
obj.disabled = 'unbxd-hide';
|
141 |
}
|
142 |
+
if(obj.field_name === oldValue)
|
143 |
obj.disabled = '';
|
144 |
})
|
145 |
|
161 |
});
|
162 |
|
163 |
if( !_unbxdObject.catalogData ){
|
164 |
+
var self = this;
|
165 |
+
var $obj = Utils.getFields();
|
166 |
$obj.then(function( data ){
|
167 |
|
168 |
+
var allFields = data.fields,
|
169 |
+
field = null;
|
|
|
|
|
|
|
|
|
170 |
|
171 |
+
self.fields = data.fields;
|
172 |
+
$.each(data.fields, function(a, val){
|
173 |
+
self.magentoFields.push({ field_name:val.field_name, disabled:false} );
|
174 |
+
});
|
175 |
+
|
176 |
+
$.each(data.mappedFields, function(a, obj){
|
177 |
+
if(obj.featured_field){
|
178 |
+
if(!obj.field_name)
|
179 |
+
obj.field_name = "";
|
180 |
+
mappedAttributes.push(obj );
|
181 |
+
}else{
|
182 |
+
obj.disabled = "disabled";
|
183 |
+
customAttributes.push(obj)
|
184 |
+
}
|
185 |
+
|
186 |
+
self.magentoFields.each( function(item, j){
|
187 |
+
if(obj.field_name === item.field_name)
|
188 |
+
item.disabled = 'unbxd-hide';
|
189 |
|
190 |
+
});
|
|
|
|
|
191 |
|
192 |
+
field = self.magentoFields.find(function( item ){
|
193 |
+
return item.value === obj.field_name
|
194 |
+
})
|
195 |
|
196 |
+
if(!field)
|
197 |
+
self.magentoFields.push({value:obj.field_name, disabled:'unbxd-hide'});
|
198 |
+
|
199 |
+
});
|
200 |
|
201 |
+
//data = JSON.parse(data);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
|
203 |
+
_unbxdObject.originalMapping = $.map( mappedAttributes, function(obj){
|
204 |
+
return $.extend({}, obj);
|
205 |
+
})
|
206 |
+
if(customAttributes.length < 1)
|
207 |
+
customAttributes = [{ field_name: '', datatype: '', canRemove:true }];
|
208 |
+
|
209 |
+
// try{
|
210 |
+
// mappedAttributes.forEach(function(obj, i){
|
211 |
+
// obj.tooltip = Config.unbxdDimensions.filter(
|
212 |
+
// function( dimension ){
|
213 |
+
// return dimension.value === obj.featured_field;
|
214 |
+
// })[0].helpText;
|
215 |
+
// });
|
216 |
+
//}catch(e){}
|
217 |
+
|
218 |
+
data.datatype.unshift("");
|
219 |
+
ractiveCatalog.set({
|
220 |
+
mappedAttributes: mappedAttributes,
|
221 |
+
magentoFields: self.magentoFields,
|
222 |
+
customAttributes:customAttributes,
|
223 |
+
dataTypes : data.datatype
|
224 |
+
});
|
225 |
+
|
226 |
+
_unbxdObject.catalogData = ractiveCatalog.data;
|
227 |
+
$("._tooltip").popover({ trigger:'hover' });
|
228 |
+
$('select[name="unbxd-customattr"]').chosen('chosen:updated');
|
229 |
+
$('select[name="unbxd-select"]').prop('disabled', true).trigger("chosen:updated");
|
230 |
+
Utils.updateAllSelect();
|
231 |
+
ractiveCatalog.update();
|
232 |
+
self.loadChilds();
|
233 |
})
|
234 |
}
|
235 |
|
245 |
},
|
246 |
|
247 |
removeRow:function ( event ) {
|
248 |
+
var obj = this.get('customAttributes')[event.index.i],
|
249 |
+
len = this.get('customAttributes').length;
|
250 |
+
|
251 |
+
if( !obj.canRemove ){
|
252 |
result = window.confirm("Are you sure, you want to delete "+obj.field_name );
|
253 |
if(result){
|
254 |
+
var data = { fields:[obj] };
|
255 |
+
Utils.saveFields( data, 'PUT' )
|
256 |
+
.then(function(){
|
257 |
+
},function(){
|
258 |
});
|
259 |
this.get('customAttributes').splice(event.index.i, 1);
|
260 |
}
|
261 |
}else{
|
262 |
this.get('customAttributes').splice(event.index.i, 1);
|
263 |
}
|
264 |
+
|
265 |
+
if(len === 1){
|
266 |
+
$(".add-attr").toggle();
|
267 |
+
$(".custom-attributes").toggle();
|
268 |
+
this.addItem();
|
269 |
+
}
|
270 |
+
|
271 |
|
272 |
},
|
273 |
|
274 |
saveMapping:function(event){
|
275 |
var mapping = this.get('mappedAttributes'),
|
276 |
+
self = this, data = [], obj = {};
|
277 |
|
278 |
this.set( {'saveMapping':'disabled-btn',
|
279 |
'successMsg':null,
|
284 |
data.push(obj);
|
285 |
})
|
286 |
|
287 |
+
obj["fields"] = data;
|
288 |
+
Utils.saveFields( obj ).then(
|
289 |
function( data ){
|
290 |
if(data.success){
|
291 |
self.set({
|
309 |
saveCustomAttribute : function(){
|
310 |
var customMapping = this.get('customAttributes'),
|
311 |
self = this,
|
312 |
+
data = [],
|
313 |
+
obj = {};
|
314 |
customMapping.each(function(obj, i){
|
315 |
if( obj.field_name )
|
316 |
data.push(obj);
|
317 |
});
|
318 |
|
319 |
this.set("disableSaveCustomAttr", "disabled-btn");
|
320 |
+
this.set('customAttrSucessMsg', null);
|
321 |
+
this.set('customAttrErrorMsg', null);
|
322 |
+
obj["fields"] = data;
|
323 |
+
Utils.saveFields( obj ).then(
|
324 |
function( response ){
|
325 |
+
|
326 |
if(response.success){
|
327 |
self.set("customAttrSucessMsg", "Saved");
|
328 |
data.each(function(obj){
|
329 |
obj.canRemove = false;
|
330 |
})
|
331 |
}else{
|
332 |
+
for(key in response.errors)
|
333 |
+
self.set("customAttrErrorMsg", key +" "+response.errors[key] );
|
334 |
+
return;
|
335 |
}
|
336 |
|
337 |
self.set("disableSaveCustomAttr", null);
|
388 |
});
|
389 |
var self = this;
|
390 |
|
391 |
+
Utils.productSync()
|
392 |
+
.then(function( data ){
|
|
|
|
|
|
|
|
|
393 |
if(data.success){
|
394 |
self.set({
|
395 |
dataSuccessMsg:unbxdMessages.uploadSuccess,
|
404 |
});
|
405 |
}
|
406 |
ractiveParent.update();
|
407 |
+
},function( error ){
|
408 |
+
self.set({
|
|
|
409 |
dataErrorMsg : "Some error, please try again"
|
410 |
});
|
411 |
+
}).always(function(){
|
412 |
+
self.set({
|
|
|
413 |
disableButton:false,
|
414 |
dataWaitMsg:""
|
415 |
});
|
|
|
|
|
416 |
});
|
417 |
+
|
418 |
}
|
419 |
|
420 |
});
|
421 |
+
|
422 |
|
423 |
+
},
|
424 |
+
|
425 |
+
loadFeedStatus:function( ractiveCatalog ){
|
426 |
+
Utils.feedStatus()
|
427 |
+
.then(function( data ){
|
428 |
+
if( data.success )
|
429 |
+
ractiveCatalog.set({
|
430 |
+
dataSuccessMsg:"Successfully uploaded",
|
431 |
+
lastSyncTime : data.lastUpload
|
432 |
+
});
|
433 |
+
},function( error ){
|
434 |
+
|
435 |
+
});
|
436 |
+
}
|
437 |
|
438 |
};
|
439 |
|
skin/adminhtml/default/default/unbxd/recscore/js/app/config.js
ADDED
@@ -0,0 +1,120 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
define([],
|
2 |
+
function(){
|
3 |
+
|
4 |
+
var Config = {
|
5 |
+
pdn:true,
|
6 |
+
maxSuggestions:30,
|
7 |
+
maxPopularProducts:20,
|
8 |
+
site:"",
|
9 |
+
|
10 |
+
|
11 |
+
tooltips:{
|
12 |
+
topqueries:"Top queries refer to the best performing search queries for your site. Enabling this will make sure your visitors see these queries first within your autocomplete widget. Preview template to see it in action",
|
13 |
+
keywords:"We generate intelligent keyword suggestions & combinations based on your catalog & worldwide shopping data. Preview template to see it in action",
|
14 |
+
searchscope:"Enable to display scope suggestions within the autosuggest widget",
|
15 |
+
popularProducts:"Display thumbnails of popular products within the autocomplete widget. Preview template to see it in action",
|
16 |
+
unbxdAttribute:"Unbxd attributes are fields which are identified by the Unbxd Smartengage Engine and are required for our algorithms and reporting",
|
17 |
+
sitekey:"Receive the Site Key in a mail or find it in the Info Section of the Unbxd Dashboard by providing your Site URL after creating an Account on Unbxd Dashboard",
|
18 |
+
secretkey:"Receive the Secret Key in a mail or find it in the Accounts Section of the Unbxd Dashboard by providing your Site URL after creating an Account on Unbxd Dashboard",
|
19 |
+
|
20 |
+
},
|
21 |
+
|
22 |
+
unbxdDimensions : [
|
23 |
+
{
|
24 |
+
"value": "brand",
|
25 |
+
"helpText": "The brand to which a product belongs to"
|
26 |
+
},
|
27 |
+
{
|
28 |
+
"value": "imageUrl",
|
29 |
+
"helpText": "Thumbnail - the URL of the image of a product that needs to be displayed in the recommendation widget, normally the thumnail"
|
30 |
+
},
|
31 |
+
{
|
32 |
+
"value": "title",
|
33 |
+
"helpText": "The title or name of the product e.g 'Blue Nike Shoe' "
|
34 |
+
},
|
35 |
+
{
|
36 |
+
"value": "price",
|
37 |
+
"helpText": "The display price of the product e.g $499"
|
38 |
+
},
|
39 |
+
{
|
40 |
+
"value": "color",
|
41 |
+
"helpText": "The color of the product e.g. 'Green t-shirt' "
|
42 |
+
},
|
43 |
+
{
|
44 |
+
"value": "productUrl",
|
45 |
+
"helpText": "The material the product is made of e.g. 'Cotton trousers' "
|
46 |
+
},
|
47 |
+
{
|
48 |
+
"value": "sellingPrice",
|
49 |
+
"helpText": "The display price of the product e.g $499"
|
50 |
+
},
|
51 |
+
{
|
52 |
+
"value": "size",
|
53 |
+
"helpText": "The size of the product e.g. 'Size 10' shoes"
|
54 |
+
}
|
55 |
+
],
|
56 |
+
|
57 |
+
unbxdMessages : {
|
58 |
+
authSuccess:"The Unbxd Module has been authenticated. Proceed to Catalog Configuration",
|
59 |
+
uploadSuccess:"Uploaded Catalog Data successfully. Proceed to Analytics integration",
|
60 |
+
syncSuccess:'Successfully uploaded'
|
61 |
+
},
|
62 |
+
|
63 |
+
autoSuggestDefaults:{
|
64 |
+
autosuggest_status: true,
|
65 |
+
autosuggest_skin: "green",
|
66 |
+
autosuggest_template: 1,
|
67 |
+
autosuggest_max_suggestion: 12,
|
68 |
+
autosuggest_top_queries_status: false,
|
69 |
+
autosuggest_keyword_status: true,
|
70 |
+
autosuggest_search_scope_status: false,
|
71 |
+
autosuggest_max_products: 2,
|
72 |
+
skinBackground:'#FFF'
|
73 |
+
},
|
74 |
+
|
75 |
+
colorMap:{
|
76 |
+
'#FF8400':'orange',
|
77 |
+
'orange':'#FF8400',
|
78 |
+
|
79 |
+
"#29BD9F":'green',
|
80 |
+
'green':'#29BD9F',
|
81 |
+
|
82 |
+
'#6F6F6F':'grey',
|
83 |
+
'grey':'#6F6F6F',
|
84 |
+
|
85 |
+
'#004C92':'blue',
|
86 |
+
'blue':'#004C92'
|
87 |
+
},
|
88 |
+
|
89 |
+
templateMap:{
|
90 |
+
'1column':1,
|
91 |
+
'2column-right':2,
|
92 |
+
'2column-left':3,
|
93 |
+
'1column-addToCart':4,
|
94 |
+
|
95 |
+
1:'1column',
|
96 |
+
2:'2column-right',
|
97 |
+
3:'2column-left',
|
98 |
+
4:'1column-addToCart'
|
99 |
+
},
|
100 |
+
|
101 |
+
mail:{
|
102 |
+
to:'support@unbxd.com'
|
103 |
+
},
|
104 |
+
|
105 |
+
status:{
|
106 |
+
requested:'requested',
|
107 |
+
ready:'complete'
|
108 |
+
},
|
109 |
+
|
110 |
+
states:{
|
111 |
+
analytics:false,
|
112 |
+
catalog:false,
|
113 |
+
credentials:false
|
114 |
+
}
|
115 |
+
|
116 |
+
|
117 |
+
};
|
118 |
+
|
119 |
+
return Config;
|
120 |
+
});
|
skin/adminhtml/default/default/unbxd/{js/app/credentails.js → recscore/js/app/credentials.js}
RENAMED
@@ -1,15 +1,22 @@
|
|
1 |
|
2 |
-
define([ "jquery"
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
var credentails = {
|
6 |
|
7 |
//credentials view
|
8 |
loadCredentailsTab : function( _unbxdObject ){
|
|
|
9 |
|
10 |
var ractiveCredentials = new Ractive({
|
11 |
el: 'innerContainr',
|
12 |
-
template:
|
13 |
data : {
|
14 |
site_key : _unbxdObject.siteKey,
|
15 |
secret_key : _unbxdObject.secretKey,
|
@@ -17,14 +24,15 @@ function( $ ) {
|
|
17 |
_unbxdObject:_unbxdObject,
|
18 |
btnDisabled:false,
|
19 |
errorMsg:null,
|
20 |
-
successMsg:null
|
|
|
21 |
}
|
22 |
});
|
23 |
|
24 |
-
site = jQuery("#selectSites").chosen().val();
|
25 |
_unbxdObject.siteName = site;
|
26 |
|
27 |
-
var $keys =
|
28 |
|
29 |
$keys.then(function( data ){
|
30 |
if( !data.success) {
|
@@ -67,36 +75,30 @@ function( $ ) {
|
|
67 |
site_key: this.get("site_key"),
|
68 |
secret_key:this.get("secret_key")
|
69 |
};
|
70 |
-
|
71 |
var self = this;
|
72 |
this.set({
|
73 |
btnDisabled : true,
|
74 |
errorMsg : null,
|
75 |
successMsg:null
|
76 |
});
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
data:data,
|
82 |
-
success:function( data ){
|
83 |
-
if(!data.success){
|
84 |
self.set('errorMsg', data.errors.message);
|
85 |
return;
|
86 |
}
|
87 |
_unbxdObject.step1 = true;
|
88 |
self.set({
|
89 |
step1 : true,
|
90 |
-
successMsg:unbxdMessages.authSuccess
|
91 |
});
|
92 |
-
|
93 |
-
error:function(){
|
94 |
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
}
|
99 |
-
})
|
100 |
|
101 |
},
|
102 |
|
1 |
|
2 |
+
define([ "jquery",
|
3 |
+
"app/config",
|
4 |
+
"app/utils",
|
5 |
+
"rv!templates/credentails" ],
|
6 |
+
function( $ ,
|
7 |
+
Config,
|
8 |
+
Utils,
|
9 |
+
Template) {
|
10 |
|
11 |
var credentails = {
|
12 |
|
13 |
//credentials view
|
14 |
loadCredentailsTab : function( _unbxdObject ){
|
15 |
+
var site = Config.site;
|
16 |
|
17 |
var ractiveCredentials = new Ractive({
|
18 |
el: 'innerContainr',
|
19 |
+
template: Template,
|
20 |
data : {
|
21 |
site_key : _unbxdObject.siteKey,
|
22 |
secret_key : _unbxdObject.secretKey,
|
24 |
_unbxdObject:_unbxdObject,
|
25 |
btnDisabled:false,
|
26 |
errorMsg:null,
|
27 |
+
successMsg:null,
|
28 |
+
config:Config
|
29 |
}
|
30 |
});
|
31 |
|
32 |
+
Config.site = jQuery("#selectSites").chosen().val();
|
33 |
_unbxdObject.siteName = site;
|
34 |
|
35 |
+
var $keys = Utils.getKeys();
|
36 |
|
37 |
$keys.then(function( data ){
|
38 |
if( !data.success) {
|
75 |
site_key: this.get("site_key"),
|
76 |
secret_key:this.get("secret_key")
|
77 |
};
|
78 |
+
|
79 |
var self = this;
|
80 |
this.set({
|
81 |
btnDisabled : true,
|
82 |
errorMsg : null,
|
83 |
successMsg:null
|
84 |
});
|
85 |
+
|
86 |
+
Utils.authenticateKeys( data )
|
87 |
+
.then(function( data ){
|
88 |
+
if(!data.success){
|
|
|
|
|
|
|
89 |
self.set('errorMsg', data.errors.message);
|
90 |
return;
|
91 |
}
|
92 |
_unbxdObject.step1 = true;
|
93 |
self.set({
|
94 |
step1 : true,
|
95 |
+
successMsg:Config.unbxdMessages.authSuccess
|
96 |
});
|
97 |
+
},function( error ){
|
|
|
98 |
|
99 |
+
},function(){
|
100 |
+
self.set('btnDisabled', false);
|
101 |
+
});
|
|
|
|
|
102 |
|
103 |
},
|
104 |
|
skin/adminhtml/default/default/unbxd/recscore/js/app/filter-catalogue.js
ADDED
@@ -0,0 +1,320 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
define([ "jquery",
|
2 |
+
"app/utils",
|
3 |
+
"app/config",
|
4 |
+
"rv!partials/filters"],
|
5 |
+
function( $,
|
6 |
+
Utils,
|
7 |
+
Config,
|
8 |
+
FiltersTemplate){
|
9 |
+
|
10 |
+
var FiltersCatalog = {
|
11 |
+
|
12 |
+
runCunstructor:function( magentoFileds ){
|
13 |
+
if(this.initialized === true)
|
14 |
+
return;
|
15 |
+
|
16 |
+
|
17 |
+
magentoFileds.unshift({field_name:"Field", field_type: "string", disabled:"unbxd-hide"});
|
18 |
+
this.magentoFileds = magentoFileds;
|
19 |
+
this.nomoreFilters = false;
|
20 |
+
this.filterSaveDisabled = true;
|
21 |
+
this.initialized = true;
|
22 |
+
this.filterShown = false;
|
23 |
+
this.include_out_of_stock = false;
|
24 |
+
},
|
25 |
+
|
26 |
+
load : function( magentoFileds ){
|
27 |
+
this.runCunstructor( magentoFileds );
|
28 |
+
if(this.filters)
|
29 |
+
this.show();
|
30 |
+
else
|
31 |
+
this.loadFilters();
|
32 |
+
},
|
33 |
+
|
34 |
+
show : function(){
|
35 |
+
var self = this;
|
36 |
+
|
37 |
+
this.ractiveCatlogueFilter = new Ractive({
|
38 |
+
el: 'unbxdFilters',
|
39 |
+
template: FiltersTemplate,
|
40 |
+
data: {
|
41 |
+
filters : this.filters,
|
42 |
+
magentoFileds : this.magentoFileds,
|
43 |
+
nomoreFilters : this.nomoreFilters,
|
44 |
+
filterSaveDisabled : this.filterSaveDisabled,
|
45 |
+
saveSuccess:false,
|
46 |
+
filterShown:this.filterShown,
|
47 |
+
include_out_of_stock:this.include_out_of_stock
|
48 |
+
}
|
49 |
+
});
|
50 |
+
|
51 |
+
$(".magento-tooltip").popover({ trigger:'hover' });
|
52 |
+
|
53 |
+
this.ractiveCatlogueFilter.on({
|
54 |
+
|
55 |
+
showFilters:function(){
|
56 |
+
this.set('filterShown', !this.get('filterShown'));
|
57 |
+
if(this.get('filterShown')){
|
58 |
+
$(".filter_toggle").slideToggle();
|
59 |
+
}
|
60 |
+
else{
|
61 |
+
$(".filter_toggle").slideToggle();
|
62 |
+
}
|
63 |
+
},
|
64 |
+
|
65 |
+
|
66 |
+
addFilter:function(){
|
67 |
+
this.get( 'filters').push({
|
68 |
+
field_name : 'Field',
|
69 |
+
field_type:'',
|
70 |
+
rule: '',
|
71 |
+
value:'',
|
72 |
+
from:'',
|
73 |
+
to:''
|
74 |
+
});
|
75 |
+
|
76 |
+
},
|
77 |
+
|
78 |
+
removeFilter:function( event ){
|
79 |
+
var index = this.get('filters').indexOf(event.context);
|
80 |
+
var obj = this.get('filters').splice(index, 1);
|
81 |
+
if( obj && obj[0].field_name !== "Field" )
|
82 |
+
this.set('filterSaveDisabled', false);
|
83 |
+
},
|
84 |
+
|
85 |
+
saveFilters:this.saveFilters,
|
86 |
+
|
87 |
+
valueChange:function( event ){
|
88 |
+
var index = this.get('filters').indexOf(event.context),
|
89 |
+
filters = this.get("filters");
|
90 |
+
|
91 |
+
filters[index].noValue = false;
|
92 |
+
this.set("filters",filters);
|
93 |
+
this.set('filterSaveDisabled', false);
|
94 |
+
},
|
95 |
+
|
96 |
+
toValueChange:function( event ){
|
97 |
+
if( !self.isNumber(event) )
|
98 |
+
return false;
|
99 |
+
var index = this.get('filters').indexOf(event.context),
|
100 |
+
filters = this.get("filters");
|
101 |
+
|
102 |
+
filters[index].noTo = false;
|
103 |
+
this.set("filters",filters);
|
104 |
+
this.set('filterSaveDisabled', false);
|
105 |
+
},
|
106 |
+
|
107 |
+
fromValueChange:function( event ){
|
108 |
+
if( !self.isNumber(event) )
|
109 |
+
return false;
|
110 |
+
var index = this.get('filters').indexOf(event.context),
|
111 |
+
filters = this.get("filters");
|
112 |
+
|
113 |
+
filters[index].noFrom = false;
|
114 |
+
this.set("filters",filters);
|
115 |
+
this.set('filterSaveDisabled', false);
|
116 |
+
}
|
117 |
+
|
118 |
+
});
|
119 |
+
|
120 |
+
this.ractiveCatlogueFilter.observe('filters.*.field_name', function(newValue, oldValue, keypath, s) {
|
121 |
+
|
122 |
+
var filters = this.get('filters'),
|
123 |
+
magentoFileds = this.get("magentoFileds");
|
124 |
+
|
125 |
+
if( filters.length == 0)
|
126 |
+
return;
|
127 |
+
|
128 |
+
if(typeof oldValue !=='undefined' && newValue && newValue!= 'Field' && oldValue !== newValue ){
|
129 |
+
this.set('filterSaveDisabled', false);
|
130 |
+
filters[s].noField = false;
|
131 |
+
this.set('filters', filters);
|
132 |
+
}
|
133 |
+
|
134 |
+
|
135 |
+
if(filters.length === 3 ){
|
136 |
+
this.set('nomoreFilters', true);
|
137 |
+
}else{
|
138 |
+
this.set('nomoreFilters', false);
|
139 |
+
}
|
140 |
+
|
141 |
+
|
142 |
+
|
143 |
+
for(var k=0; k<magentoFileds.length; k++){
|
144 |
+
if(magentoFileds[k].field_name === newValue){
|
145 |
+
for(var j=0; j<filters.length; j++){
|
146 |
+
if(filters[j].field_name === newValue)
|
147 |
+
filters[j].field_type = magentoFileds[k].field_type;
|
148 |
+
}
|
149 |
+
break;
|
150 |
+
}
|
151 |
+
}
|
152 |
+
this.set('filters', filters);
|
153 |
+
Utils.updateAllSelect();
|
154 |
+
|
155 |
+
});
|
156 |
+
|
157 |
+
this.ractiveCatlogueFilter.observe('filterSaveDisabled', function(newValue, oldValue, keypath ){
|
158 |
+
if( this.get('filterSaveDisabled') === false ){
|
159 |
+
this.set('saveSuccess', false);
|
160 |
+
}
|
161 |
+
});
|
162 |
+
|
163 |
+
this.ractiveCatlogueFilter.observe('include_out_of_stock', function(newValue, oldValue, property ){
|
164 |
+
if(typeof newValue === 'undefined' || newValue === oldValue)
|
165 |
+
return;
|
166 |
+
|
167 |
+
var data = {};
|
168 |
+
data[property] = newValue;
|
169 |
+
Utils.saveConfigs( data )
|
170 |
+
.then(function(){
|
171 |
+
|
172 |
+
},function(){
|
173 |
+
|
174 |
+
});
|
175 |
+
|
176 |
+
});
|
177 |
+
|
178 |
+
|
179 |
+
},
|
180 |
+
|
181 |
+
saveFilters:function(){
|
182 |
+
var filters = this.get('filters'),
|
183 |
+
isValid = false,
|
184 |
+
data = {},
|
185 |
+
self = this;
|
186 |
+
|
187 |
+
for(var k=0; k<filters.length; k++){
|
188 |
+
|
189 |
+
if( filters[k].field_type === 'string' ){
|
190 |
+
isValid = true;
|
191 |
+
if( filters[k].field_name =='Field' ){
|
192 |
+
filters[k].noField = true;
|
193 |
+
isValid = false;
|
194 |
+
}
|
195 |
+
if( filters[k].value=='' ){
|
196 |
+
filters[k].noValue = true;
|
197 |
+
isValid = false;
|
198 |
+
}
|
199 |
+
}
|
200 |
+
|
201 |
+
if( filters[k].field_type === 'number' ){
|
202 |
+
isValid = true;
|
203 |
+
if( filters[k].field_name =='Field' ){
|
204 |
+
filters[k].noField = true;
|
205 |
+
isValid = false;
|
206 |
+
}
|
207 |
+
|
208 |
+
if(!filters[k].from || filters[k].from > filters[k].to ){
|
209 |
+
filters[k].noFrom=true;
|
210 |
+
isValid = false;
|
211 |
+
}
|
212 |
+
|
213 |
+
if(!filters[k].to ){
|
214 |
+
filters[k].noTo=true;
|
215 |
+
isValid = false;
|
216 |
+
}
|
217 |
+
|
218 |
+
}
|
219 |
+
|
220 |
+
};
|
221 |
+
|
222 |
+
|
223 |
+
if(!isValid && filters.length !== 0){
|
224 |
+
this.set('filters', filters);
|
225 |
+
return;
|
226 |
+
}
|
227 |
+
|
228 |
+
for(var k=0; k<filters.length; k++){
|
229 |
+
var key = filters[k].field_name
|
230 |
+
if( filters[k].field_type === 'string')
|
231 |
+
data[ key ] = filters[k].value;
|
232 |
+
else
|
233 |
+
data[ key ] = filters[k].from +"||"+filters[k].to
|
234 |
+
}
|
235 |
+
|
236 |
+
Utils.postData(data).then(
|
237 |
+
function( data ){
|
238 |
+
self.set('filterSaveDisabled', true);
|
239 |
+
self.set('saveSuccess', true);
|
240 |
+
},function( error ){
|
241 |
+
|
242 |
+
});
|
243 |
+
|
244 |
+
|
245 |
+
|
246 |
+
},
|
247 |
+
|
248 |
+
loadFilters:function(){
|
249 |
+
var self = this;
|
250 |
+
this.filters = [];
|
251 |
+
|
252 |
+
Utils.getFilters().then(
|
253 |
+
function( data ){
|
254 |
+
if( data && data.filters ){
|
255 |
+
data = data.filters;
|
256 |
+
if(data.length === 0)
|
257 |
+
return;
|
258 |
+
|
259 |
+
for( var key in data ){
|
260 |
+
var obj = {
|
261 |
+
field_name:key,
|
262 |
+
value:data[key],
|
263 |
+
to:'',
|
264 |
+
from:''
|
265 |
+
};
|
266 |
+
if(data[key].indexOf('||') > 0){
|
267 |
+
var values = data[key].split('||');
|
268 |
+
obj['field_type']='number';
|
269 |
+
obj['from'] = values[0];
|
270 |
+
obj['to'] = values[1];
|
271 |
+
}else{
|
272 |
+
obj['field_type']='string';
|
273 |
+
}
|
274 |
+
|
275 |
+
|
276 |
+
self.filters.push(obj);
|
277 |
+
}
|
278 |
+
};
|
279 |
+
}, function( error ){
|
280 |
+
|
281 |
+
}).always(function(){
|
282 |
+
self.show();
|
283 |
+
});
|
284 |
+
|
285 |
+
Utils.getConfigData('include_out_of_stock')
|
286 |
+
.then(function( data ){
|
287 |
+
if(data.success && data.success === true){
|
288 |
+
if( data.config.include_out_of_stock === "1" || data.config.include_out_of_stock === 'true' )
|
289 |
+
self.setData('include_out_of_stock', true );
|
290 |
+
else
|
291 |
+
self.setData('include_out_of_stock', false );
|
292 |
+
}
|
293 |
+
|
294 |
+
},function( error ){
|
295 |
+
|
296 |
+
});
|
297 |
+
|
298 |
+
},
|
299 |
+
|
300 |
+
setData:function(key, val){
|
301 |
+
if(this.ractiveCatlogueFilter)
|
302 |
+
this.ractiveCatlogueFilter.set(key,val);
|
303 |
+
else
|
304 |
+
this[key] = val;
|
305 |
+
},
|
306 |
+
|
307 |
+
isNumber:function( evt ){
|
308 |
+
if(evt.original.shiftKey)
|
309 |
+
return false;
|
310 |
+
var charCode = (evt.which) ? evt.which : event.keyCode
|
311 |
+
if (charCode > 31 && (charCode < 48 || charCode > 57))
|
312 |
+
return false;
|
313 |
+
return true;
|
314 |
+
}
|
315 |
+
|
316 |
+
};
|
317 |
+
|
318 |
+
|
319 |
+
return FiltersCatalog;
|
320 |
+
});
|
skin/adminhtml/default/default/unbxd/recscore/js/app/search/api.js
ADDED
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
define([
|
2 |
+
"jquery",
|
3 |
+
'app/config',
|
4 |
+
'app/utils',
|
5 |
+
'rv!templates/search/api',
|
6 |
+
'rv!partials/switch-on',
|
7 |
+
'rv!partials/switch-off'],
|
8 |
+
function(
|
9 |
+
$,
|
10 |
+
Config ,
|
11 |
+
Utils,
|
12 |
+
APISearchTemplate,
|
13 |
+
SwitchonTemplate,
|
14 |
+
SwitchoffTemplate){
|
15 |
+
|
16 |
+
var APISearch = {
|
17 |
+
|
18 |
+
runConstructor:function( searchConfig ){
|
19 |
+
if(this.initialized)
|
20 |
+
return;
|
21 |
+
|
22 |
+
if(searchConfig && searchConfig.search_mod_status ){
|
23 |
+
for(key in searchConfig){
|
24 |
+
this[key] = searchConfig[key];
|
25 |
+
}
|
26 |
+
}else{
|
27 |
+
this.loadConfigs();
|
28 |
+
}
|
29 |
+
|
30 |
+
this.initialized = true;
|
31 |
+
},
|
32 |
+
|
33 |
+
load : function( searchConfig ){
|
34 |
+
this.runConstructor(searchConfig);
|
35 |
+
this.show();
|
36 |
+
this.reset();
|
37 |
+
this.parentView = require('app/search/landing');
|
38 |
+
},
|
39 |
+
|
40 |
+
show:function( ){
|
41 |
+
var self = this;
|
42 |
+
|
43 |
+
this.ractiveSearch = new Ractive({
|
44 |
+
el: 'innerContainr',
|
45 |
+
template: APISearchTemplate,
|
46 |
+
partials: {
|
47 |
+
switchon:SwitchonTemplate,
|
48 |
+
switchoff:SwitchoffTemplate
|
49 |
+
},
|
50 |
+
data:{
|
51 |
+
search_mod_status:this.search_mod_status
|
52 |
+
}
|
53 |
+
});
|
54 |
+
|
55 |
+
|
56 |
+
this.ractiveSearch.on({
|
57 |
+
toggleAPIIntegration:function(){
|
58 |
+
this.set('search_mod_status', !this.get('search_mod_status'));
|
59 |
+
},
|
60 |
+
|
61 |
+
goBack:function(){
|
62 |
+
self.parentView.load();
|
63 |
+
}
|
64 |
+
});
|
65 |
+
|
66 |
+
this.ractiveSearch.observe('search_mod_status', function(newValue, oldValue, property) {
|
67 |
+
if( typeof newValue !== 'undefined' && oldValue !== newValue ){
|
68 |
+
var data = {};
|
69 |
+
data[property] = newValue;
|
70 |
+
Utils.saveConfigs( data )
|
71 |
+
.then(function( data ){
|
72 |
+
if( data && data.success){
|
73 |
+
self.search_mod_status = newValue;
|
74 |
+
self.parentView.setData('search_mod_status', newValue);
|
75 |
+
}else{
|
76 |
+
self.ractiveSearch.set({
|
77 |
+
search_mod_status:oldValue,
|
78 |
+
errorMsg:data.search_mod_status
|
79 |
+
});
|
80 |
+
}
|
81 |
+
|
82 |
+
});
|
83 |
+
|
84 |
+
}
|
85 |
+
});
|
86 |
+
|
87 |
+
},
|
88 |
+
|
89 |
+
eventBindings:function(){
|
90 |
+
|
91 |
+
},
|
92 |
+
|
93 |
+
loadConfigs:function(){
|
94 |
+
var self = this;
|
95 |
+
|
96 |
+
Utils.getConfigData('search')
|
97 |
+
.then(function( data ){
|
98 |
+
if(data.success && data.success===true){
|
99 |
+
var config = self.setData( data.config );
|
100 |
+
self.ractiveSearch.set( data );
|
101 |
+
}
|
102 |
+
},function( error ){
|
103 |
+
|
104 |
+
});
|
105 |
+
},
|
106 |
+
|
107 |
+
setData:function( data ){
|
108 |
+
for(key in data){
|
109 |
+
if( data[key] === "false" || data[key] === ""){
|
110 |
+
data[key] = false;
|
111 |
+
}else if( data[key] === "true" || data[key] === "1" ){
|
112 |
+
data[key] = true;
|
113 |
+
}
|
114 |
+
}
|
115 |
+
|
116 |
+
return data;
|
117 |
+
},
|
118 |
+
|
119 |
+
//to clear error msgs
|
120 |
+
reset:function(){
|
121 |
+
this.ractiveSearch.set('errorMsg', null)
|
122 |
+
}
|
123 |
+
|
124 |
+
};
|
125 |
+
|
126 |
+
return APISearch;
|
127 |
+
|
128 |
+
});
|
skin/adminhtml/default/default/unbxd/recscore/js/app/search/hosted.js
ADDED
@@ -0,0 +1,150 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
define([
|
2 |
+
"jquery",
|
3 |
+
'app/config',
|
4 |
+
'app/utils',
|
5 |
+
'rv!templates/search/hosted',
|
6 |
+
'rv!partials/switch-on',
|
7 |
+
'rv!partials/switch-off'],
|
8 |
+
function(
|
9 |
+
$,
|
10 |
+
Config ,
|
11 |
+
Utils,
|
12 |
+
HostedTemplate,
|
13 |
+
SwitchonTemplate,
|
14 |
+
SwitchoffTemplate){
|
15 |
+
|
16 |
+
var HostedSearch = {
|
17 |
+
|
18 |
+
runConstructor:function( searchConfig ){
|
19 |
+
if(this.initialized)
|
20 |
+
return;
|
21 |
+
|
22 |
+
if(searchConfig && searchConfig.search_hosted_int_status){
|
23 |
+
for(key in searchConfig){
|
24 |
+
this[key] = searchConfig[key];
|
25 |
+
}
|
26 |
+
}else{
|
27 |
+
this.loadConfigs();
|
28 |
+
}
|
29 |
+
|
30 |
+
this.initialized = true;
|
31 |
+
},
|
32 |
+
|
33 |
+
load : function( searchConfig ){
|
34 |
+
this.runConstructor(searchConfig);
|
35 |
+
this.show();
|
36 |
+
this.reset();
|
37 |
+
this.parentView = require('app/search/landing');
|
38 |
+
},
|
39 |
+
|
40 |
+
show:function( ){
|
41 |
+
var self = this;
|
42 |
+
|
43 |
+
this.ractiveSearch = new Ractive({
|
44 |
+
el: 'innerContainr',
|
45 |
+
template: HostedTemplate,
|
46 |
+
partials: {
|
47 |
+
switchon:SwitchonTemplate,
|
48 |
+
switchoff:SwitchoffTemplate
|
49 |
+
},
|
50 |
+
data:{
|
51 |
+
search_hosted_status : this.search_hosted_status,
|
52 |
+
search_hosted_int_status : this.search_hosted_int_status,
|
53 |
+
search_hosted_redirect_url : this.search_hosted_redirect_url
|
54 |
+
},
|
55 |
+
computed: {
|
56 |
+
hostedSearch: function () { return this.get( 'search_hosted_int_status' ) === Config.status.ready },
|
57 |
+
requestedSetup:function() { return this.get('search_hosted_int_status') === Config.status.requested}
|
58 |
+
}
|
59 |
+
});
|
60 |
+
|
61 |
+
this.ractiveSearch.observe('search_hosted_int_status', function(newValue, oldValue, keypath, s){
|
62 |
+
|
63 |
+
if( typeof newValue !== 'undefined' && typeof oldValue !== 'undefined' && oldValue !== newValue ){
|
64 |
+
var data = {};
|
65 |
+
data[keypath] = newValue;
|
66 |
+
Utils.saveConfigs( data );
|
67 |
+
}
|
68 |
+
});
|
69 |
+
|
70 |
+
|
71 |
+
this.ractiveSearch.observe('search_hosted_status', function(newValue, oldValue, keypath, s){
|
72 |
+
if( typeof newValue !== 'undefined' && typeof oldValue !== 'undefined' && oldValue !== newValue ){
|
73 |
+
var data = {};
|
74 |
+
data[keypath] = newValue;
|
75 |
+
Utils.saveConfigs( data )
|
76 |
+
.then(function( data ){
|
77 |
+
if( data && data.success ){
|
78 |
+
self.search_hosted_status = newValue;
|
79 |
+
self.parentView.setData('search_hosted_status', newValue);
|
80 |
+
}else{
|
81 |
+
self.ractiveSearch.set({
|
82 |
+
search_hosted_status : oldValue,
|
83 |
+
errorMsg : data.search_hosted_status});
|
84 |
+
}
|
85 |
+
},function(){
|
86 |
+
|
87 |
+
});
|
88 |
+
}
|
89 |
+
});
|
90 |
+
|
91 |
+
this.ractiveSearch.on({
|
92 |
+
toggleSearchIntegration:function(){
|
93 |
+
this.set('search_hosted_status', !this.get('search_hosted_status'));
|
94 |
+
},
|
95 |
+
|
96 |
+
goBack:function(){
|
97 |
+
self.parentView.load();
|
98 |
+
}
|
99 |
+
});
|
100 |
+
|
101 |
+
this.eventBindings();
|
102 |
+
},
|
103 |
+
|
104 |
+
eventBindings:function(){
|
105 |
+
|
106 |
+
$('#contactModal').on('show.bs.modal', function (event) {
|
107 |
+
var button = $(event.relatedTarget);
|
108 |
+
var modal = $(this);
|
109 |
+
modal.find('#unbxdSend').attr('data-hostedsearch', false);
|
110 |
+
modal.find('#unbxdSend').attr('data-hostedsearch', button.data().hostedsearch);
|
111 |
+
});
|
112 |
+
},
|
113 |
+
|
114 |
+
loadConfigs:function(){
|
115 |
+
var self = this;
|
116 |
+
|
117 |
+
Utils.getConfigData('search_host')
|
118 |
+
.then(function( data ){
|
119 |
+
if(data.success && data.success===true){
|
120 |
+
var config = data.config;
|
121 |
+
for(key in config){
|
122 |
+
if(config[key] === "false")
|
123 |
+
config[key] = false;
|
124 |
+
|
125 |
+
self.ractiveSearch.set( key , config[key] );
|
126 |
+
}
|
127 |
+
}
|
128 |
+
},function( error ){
|
129 |
+
|
130 |
+
});
|
131 |
+
},
|
132 |
+
|
133 |
+
//called from main
|
134 |
+
setData:function( obj ){
|
135 |
+
for( key in obj ){
|
136 |
+
this[key] = obj[key];
|
137 |
+
this.ractiveSearch.set(key, obj[key]);
|
138 |
+
}
|
139 |
+
},
|
140 |
+
|
141 |
+
//to clear error msgs
|
142 |
+
reset:function(){
|
143 |
+
this.ractiveSearch.set('errorMsg', null)
|
144 |
+
}
|
145 |
+
|
146 |
+
};
|
147 |
+
|
148 |
+
return HostedSearch;
|
149 |
+
|
150 |
+
});
|
skin/adminhtml/default/default/unbxd/recscore/js/app/search/landing.js
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
define([
|
2 |
+
"jquery",
|
3 |
+
'app/config',
|
4 |
+
'app/utils',
|
5 |
+
'app/search/hosted',
|
6 |
+
'app/search/api',
|
7 |
+
'rv!templates/search/landing'],
|
8 |
+
function(
|
9 |
+
$,
|
10 |
+
Config ,
|
11 |
+
Utils,
|
12 |
+
HostedSearch,
|
13 |
+
APISearch,
|
14 |
+
SearchTemplate){
|
15 |
+
|
16 |
+
var SearchLanding = {
|
17 |
+
|
18 |
+
runCunstructor:function(){
|
19 |
+
|
20 |
+
if(this.data){
|
21 |
+
for(key in this.data){
|
22 |
+
if(this.data[key] ==='false' || this.data[key] ==='')
|
23 |
+
this.data[key] = false;
|
24 |
+
else if (this.data[key] ==='1' || this.data[key] ==='true')
|
25 |
+
this.data[key] = true;
|
26 |
+
|
27 |
+
this[key] = this.data[key];
|
28 |
+
}
|
29 |
+
|
30 |
+
}else{
|
31 |
+
this.search_hosted_status = false;
|
32 |
+
this.search_mod_status = false;
|
33 |
+
this.search_hosted_int_status = false;
|
34 |
+
this.search_hosted_redirect_url = false;
|
35 |
+
}
|
36 |
+
this.show();
|
37 |
+
this.initialized = true;
|
38 |
+
},
|
39 |
+
|
40 |
+
load : function(){
|
41 |
+
if(typeof this.initialized === 'undefined')
|
42 |
+
this.loadSearchStatus();
|
43 |
+
else
|
44 |
+
this.show();
|
45 |
+
},
|
46 |
+
|
47 |
+
setDefaults:function( data ){
|
48 |
+
|
49 |
+
},
|
50 |
+
|
51 |
+
show:function( ){
|
52 |
+
|
53 |
+
this.ractiveSearch = new Ractive({
|
54 |
+
el: 'innerContainr',
|
55 |
+
template: SearchTemplate,
|
56 |
+
data:{
|
57 |
+
search_hosted_status : this.search_hosted_status,
|
58 |
+
search_mod_status : this.search_mod_status,
|
59 |
+
search_hosted_int_status : this.search_hosted_int_status,
|
60 |
+
search_hosted_redirect_url : this.search_hosted_redirect_url
|
61 |
+
}
|
62 |
+
});
|
63 |
+
|
64 |
+
|
65 |
+
this.ractiveSearch.on({
|
66 |
+
showHostedSearch:function(){
|
67 |
+
HostedSearch.load( this.data );
|
68 |
+
},
|
69 |
+
|
70 |
+
showAPISearch:function(){
|
71 |
+
APISearch.load( this.data );
|
72 |
+
},
|
73 |
+
});
|
74 |
+
|
75 |
+
// this.ractiveSearch.observe('*', function(newValue, oldValue, property) {
|
76 |
+
|
77 |
+
// });
|
78 |
+
|
79 |
+
},
|
80 |
+
|
81 |
+
eventBindings:function(){
|
82 |
+
|
83 |
+
},
|
84 |
+
|
85 |
+
loadSearchStatus:function(){
|
86 |
+
var self = this;
|
87 |
+
Utils.getConfigData('search')
|
88 |
+
.then(function( data ){
|
89 |
+
if(data.success && data.success === true){
|
90 |
+
self.data = data.config;
|
91 |
+
}
|
92 |
+
},function( error ){
|
93 |
+
|
94 |
+
}).always(function(){
|
95 |
+
self.runCunstructor();
|
96 |
+
});
|
97 |
+
},
|
98 |
+
//method child views can use to set data
|
99 |
+
setData:function(key, value){
|
100 |
+
this[key] = value;
|
101 |
+
}
|
102 |
+
|
103 |
+
};
|
104 |
+
|
105 |
+
return SearchLanding;
|
106 |
+
|
107 |
+
});
|
skin/adminhtml/default/default/unbxd/recscore/js/app/utils.js
ADDED
@@ -0,0 +1,147 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
define([ "jquery", "app/config"],
|
2 |
+
function( $, Config ){
|
3 |
+
|
4 |
+
var Utils = {
|
5 |
+
|
6 |
+
endpoints:{
|
7 |
+
sites:'/config/site',
|
8 |
+
keys:'/config/keys?site=',
|
9 |
+
fields:'/config/fields?site=',
|
10 |
+
productsync:'/config/productsync?site=',
|
11 |
+
analytics : "/config/analyticsimpression?site=",
|
12 |
+
globalConfigs:'/config/global?site=',
|
13 |
+
supportMail:'/config/supportmail?site=',
|
14 |
+
filters:'/catalog/filter?site=',
|
15 |
+
feedStatus : "/config/feedstatus?site=",
|
16 |
+
states:"/config/state?site="
|
17 |
+
},
|
18 |
+
|
19 |
+
addAuth:function( url ){
|
20 |
+
if(url.indexOf('?') > -1 )
|
21 |
+
return url + "&auth=" + Config.authValue;
|
22 |
+
else
|
23 |
+
return url + "?auth=" + Config.authValue;
|
24 |
+
},
|
25 |
+
|
26 |
+
activateLink : function( step ){
|
27 |
+
_unbxdObject.activeStep = {};
|
28 |
+
_unbxdObject.activeStep[step] = true;
|
29 |
+
ractiveParent.update();
|
30 |
+
},
|
31 |
+
|
32 |
+
configureSelect : function(){
|
33 |
+
var chosenObj = $('select[name="unbxd-select"]').chosen();
|
34 |
+
chosenObj.trigger('chosen:updated');
|
35 |
+
},
|
36 |
+
//re render all chosen selects
|
37 |
+
updateAllSelect : function(){
|
38 |
+
$('select').trigger('chosen:updated');
|
39 |
+
},
|
40 |
+
|
41 |
+
getStates:function(){
|
42 |
+
var url = _unbxdBaseurl + this.endpoints.states + Config.site;
|
43 |
+
return this.ajaxGet( url );
|
44 |
+
},
|
45 |
+
|
46 |
+
getSites:function(){
|
47 |
+
var url = _unbxdBaseurl + this.endpoints.sites;
|
48 |
+
return this.ajaxGet( url );
|
49 |
+
},
|
50 |
+
|
51 |
+
authenticateKeys:function( data ){
|
52 |
+
var url = _unbxdBaseurl + this.endpoints.keys + Config.site;
|
53 |
+
return this.ajaxPost(url, data );
|
54 |
+
},
|
55 |
+
|
56 |
+
getKeys:function(){
|
57 |
+
var url = _unbxdBaseurl + this.endpoints.keys + Config.site;
|
58 |
+
return this.ajaxGet( url );
|
59 |
+
},
|
60 |
+
|
61 |
+
saveFields : function( data, TYPE ){
|
62 |
+
var url = _unbxdBaseurl + this.endpoints.fields + Config.site;
|
63 |
+
return this.ajaxPost( url, data, TYPE);
|
64 |
+
},
|
65 |
+
|
66 |
+
getFields:function(){
|
67 |
+
var url = _unbxdBaseurl + this.endpoints.fields + Config.site;
|
68 |
+
return this.ajaxGet( url );
|
69 |
+
},
|
70 |
+
|
71 |
+
productSync:function(){
|
72 |
+
var url = _unbxdBaseurl + this.endpoints.productsync + Config.site;
|
73 |
+
return this.ajaxGet( url);
|
74 |
+
},
|
75 |
+
|
76 |
+
saveConfigs:function( data ){
|
77 |
+
var url = _unbxdBaseurl + this.endpoints.globalConfigs + Config.site;
|
78 |
+
return this.ajaxPost( url, data );
|
79 |
+
},
|
80 |
+
|
81 |
+
getConfigData:function( key ){
|
82 |
+
var url = _unbxdBaseurl + this.endpoints.globalConfigs + Config.site+'&key='+key;
|
83 |
+
return this.ajaxGet( url );
|
84 |
+
},
|
85 |
+
|
86 |
+
sendMail:function(data){
|
87 |
+
var url = _unbxdBaseurl + this.endpoints.supportMail + Config.site;
|
88 |
+
return this.ajaxPost( url, data);
|
89 |
+
},
|
90 |
+
|
91 |
+
postData:function(data){
|
92 |
+
var url = _unbxdBaseurl + this.endpoints.filters + Config.site;
|
93 |
+
return this.ajaxPost( url, data );
|
94 |
+
},
|
95 |
+
|
96 |
+
validateEmail:function(email) {
|
97 |
+
var re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
98 |
+
return re.test(email);
|
99 |
+
},
|
100 |
+
|
101 |
+
feedStatus:function(){
|
102 |
+
var url = _unbxdBaseurl + this.endpoints.feedStatus + Config.site;
|
103 |
+
return this.ajaxGet(url);
|
104 |
+
},
|
105 |
+
|
106 |
+
getAnalytics:function(){
|
107 |
+
var url = _unbxdBaseurl + this.endpoints.analytics + Config.site;
|
108 |
+
return this.ajaxGet(url);
|
109 |
+
},
|
110 |
+
|
111 |
+
getFilters:function( url ){
|
112 |
+
var url = _unbxdBaseurl + this.endpoints.filters + Config.site
|
113 |
+
return this.ajaxGet( url );
|
114 |
+
},
|
115 |
+
|
116 |
+
ajaxGet:function( url ){
|
117 |
+
url = this.addAuth(url);
|
118 |
+
|
119 |
+
return $.ajax({
|
120 |
+
contentType:'application/json',
|
121 |
+
type:'GET',
|
122 |
+
url: url
|
123 |
+
});
|
124 |
+
},
|
125 |
+
|
126 |
+
ajaxPost:function( url, data, TYPE ){
|
127 |
+
url = this.addAuth(url);
|
128 |
+
|
129 |
+
for(key in data){
|
130 |
+
if(data[key] === true)
|
131 |
+
data[key] = "true";
|
132 |
+
else if( data[key] === false )
|
133 |
+
data[key] = "false";
|
134 |
+
};
|
135 |
+
return $.ajax({
|
136 |
+
contentType:'application/json',
|
137 |
+
type: TYPE || 'POST',
|
138 |
+
url: url,
|
139 |
+
data:JSON.stringify( data )
|
140 |
+
});
|
141 |
+
}
|
142 |
+
|
143 |
+
|
144 |
+
};
|
145 |
+
|
146 |
+
return Utils;
|
147 |
+
});
|
skin/adminhtml/default/default/unbxd/{js → recscore/js}/app/widgets.js
RENAMED
@@ -1,13 +1,13 @@
|
|
1 |
-
define([ "jquery"],
|
2 |
-
function(
|
3 |
-
|
4 |
var Widgets = {
|
5 |
|
6 |
loadWidgetsTab : function(){
|
7 |
|
8 |
var ractiveWidgets = new Ractive({
|
9 |
el: 'innerContainr',
|
10 |
-
template:
|
11 |
});
|
12 |
|
13 |
ractiveWidgets.on({
|
@@ -17,9 +17,11 @@ function( $ ){
|
|
17 |
});
|
18 |
|
19 |
$(".magento-tooltip").popover({ trigger:'hover' });
|
|
|
20 |
}
|
21 |
|
22 |
};
|
23 |
|
24 |
return Widgets;
|
25 |
-
});
|
|
1 |
+
define([ "jquery", "rv!templates/widgets"],
|
2 |
+
function( $, Template ){
|
3 |
+
|
4 |
var Widgets = {
|
5 |
|
6 |
loadWidgetsTab : function(){
|
7 |
|
8 |
var ractiveWidgets = new Ractive({
|
9 |
el: 'innerContainr',
|
10 |
+
template: Template
|
11 |
});
|
12 |
|
13 |
ractiveWidgets.on({
|
17 |
});
|
18 |
|
19 |
$(".magento-tooltip").popover({ trigger:'hover' });
|
20 |
+
$(".table-widget").popover({ trigger:'click' });
|
21 |
}
|
22 |
|
23 |
};
|
24 |
|
25 |
return Widgets;
|
26 |
+
});
|
27 |
+
|
skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/backbone.js
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/recscore/js/lib/bootstrap-modal.js
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.3.2 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2015 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/
|
6 |
+
|
7 |
+
/*!
|
8 |
+
* Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=2f734528959a2b1db297)
|
9 |
+
* Config saved to config.json and https://gist.github.com/2f734528959a2b1db297
|
10 |
+
*/
|
11 |
+
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(t){"use strict";function e(e,s){return this.each(function(){var i=t(this),n=i.data("bs.modal"),r=t.extend({},o.DEFAULTS,i.data(),"object"==typeof e&&e);n||i.data("bs.modal",n=new o(this,r)),"string"==typeof e?n[e](s):r.show&&n.show(s)})}var o=function(e,o){this.options=o,this.$body=t(document.body),this.$element=t(e),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,t.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};o.VERSION="3.3.2",o.TRANSITION_DURATION=300,o.BACKDROP_TRANSITION_DURATION=150,o.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},o.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},o.prototype.show=function(e){var s=this,i=t.Event("show.bs.modal",{relatedTarget:e});this.$element.trigger(i),this.isShown||i.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',t.proxy(this.hide,this)),this.backdrop(function(){var i=t.support.transition&&s.$element.hasClass("fade");s.$element.parent().length||s.$element.appendTo(s.$body),s.$element.show().scrollTop(0),s.options.backdrop&&s.adjustBackdrop(),s.adjustDialog(),i&&s.$element[0].offsetWidth,s.$element.addClass("in").attr("aria-hidden",!1),s.enforceFocus();var n=t.Event("shown.bs.modal",{relatedTarget:e});i?s.$element.find(".modal-dialog").one("bsTransitionEnd",function(){s.$element.trigger("focus").trigger(n)}).emulateTransitionEnd(o.TRANSITION_DURATION):s.$element.trigger("focus").trigger(n)}))},o.prototype.hide=function(e){e&&e.preventDefault(),e=t.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),t(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),t.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",t.proxy(this.hideModal,this)).emulateTransitionEnd(o.TRANSITION_DURATION):this.hideModal())},o.prototype.enforceFocus=function(){t(document).off("focusin.bs.modal").on("focusin.bs.modal",t.proxy(function(t){this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},o.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",t.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},o.prototype.resize=function(){this.isShown?t(window).on("resize.bs.modal",t.proxy(this.handleUpdate,this)):t(window).off("resize.bs.modal")},o.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},o.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},o.prototype.backdrop=function(e){var s=this,i=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var n=t.support.transition&&i;if(this.$backdrop=t('<div class="modal-backdrop '+i+'" />').prependTo(this.$element).on("click.dismiss.bs.modal",t.proxy(function(t){t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),n&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!e)return;n?this.$backdrop.one("bsTransitionEnd",e).emulateTransitionEnd(o.BACKDROP_TRANSITION_DURATION):e()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var r=function(){s.removeBackdrop(),e&&e()};t.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",r).emulateTransitionEnd(o.BACKDROP_TRANSITION_DURATION):r()}else e&&e()},o.prototype.handleUpdate=function(){this.options.backdrop&&this.adjustBackdrop(),this.adjustDialog()},o.prototype.adjustBackdrop=function(){this.$backdrop.css("height",0).css("height",this.$element[0].scrollHeight)},o.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},o.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},o.prototype.checkScrollbar=function(){this.bodyIsOverflowing=document.body.scrollHeight>document.documentElement.clientHeight,this.scrollbarWidth=this.measureScrollbar()},o.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.bodyIsOverflowing&&this.$body.css("padding-right",t+this.scrollbarWidth)},o.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},o.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var s=t.fn.modal;t.fn.modal=e,t.fn.modal.Constructor=o,t.fn.modal.noConflict=function(){return t.fn.modal=s,this},t(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(o){var s=t(this),i=s.attr("href"),n=t(s.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,"")),r=n.data("bs.modal")?"toggle":t.extend({remote:!/#/.test(i)&&i},n.data(),s.data());s.is("a")&&o.preventDefault(),n.one("show.bs.modal",function(t){t.isDefaultPrevented()||n.one("hidden.bs.modal",function(){s.is(":visible")&&s.trigger("focus")})}),e.call(n,r,this)})}(jQuery);
|
skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/bootstrap-tooltip.js
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/chosen.js
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/recscore/js/lib/colpick.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
(function($){var colpick=function(){var tpl='<div class="colpick"><div class="colpick_color"><div class="colpick_color_overlay1"><div class="colpick_color_overlay2"><div class="colpick_selector_outer"><div class="colpick_selector_inner"></div></div></div></div></div><div class="colpick_hue"><div class="colpick_hue_arrs"><div class="colpick_hue_larr"></div><div class="colpick_hue_rarr"></div></div></div><div class="colpick_new_color"></div><div class="colpick_current_color"></div><div class="colpick_hex_field"><div class="colpick_field_letter">#</div><input type="text" maxlength="6" size="6" /></div><div class="colpick_rgb_r colpick_field"><div class="colpick_field_letter">R</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_rgb_g colpick_field"><div class="colpick_field_letter">G</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_rgb_b colpick_field"><div class="colpick_field_letter">B</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_h colpick_field"><div class="colpick_field_letter">H</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_s colpick_field"><div class="colpick_field_letter">S</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_b colpick_field"><div class="colpick_field_letter">B</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_submit"></div></div>',defaults={showEvent:"click",onShow:function(){},onBeforeShow:function(){},onHide:function(){},onChange:function(){},onSubmit:function(){},colorScheme:"light",color:"3289c7",livePreview:true,flat:false,layout:"full",submit:1,submitText:"OK",height:156},fillRGBFields=function(hsb,cal){var rgb=hsbToRgb(hsb);$(cal).data("colpick").fields.eq(1).val(rgb.r).end().eq(2).val(rgb.g).end().eq(3).val(rgb.b).end()},fillHSBFields=function(hsb,cal){$(cal).data("colpick").fields.eq(4).val(Math.round(hsb.h)).end().eq(5).val(Math.round(hsb.s)).end().eq(6).val(Math.round(hsb.b)).end()},fillHexFields=function(hsb,cal){$(cal).data("colpick").fields.eq(0).val(hsbToHex(hsb))},setSelector=function(hsb,cal){$(cal).data("colpick").selector.css("backgroundColor","#"+hsbToHex({h:hsb.h,s:100,b:100}));$(cal).data("colpick").selectorIndic.css({left:parseInt($(cal).data("colpick").height*hsb.s/100,10),top:parseInt($(cal).data("colpick").height*(100-hsb.b)/100,10)})},setHue=function(hsb,cal){$(cal).data("colpick").hue.css("top",parseInt($(cal).data("colpick").height-$(cal).data("colpick").height*hsb.h/360,10))},setCurrentColor=function(hsb,cal){$(cal).data("colpick").currentColor.css("backgroundColor","#"+hsbToHex(hsb))},setNewColor=function(hsb,cal){$(cal).data("colpick").newColor.css("backgroundColor","#"+hsbToHex(hsb))},change=function(ev){var cal=$(this).parent().parent(),col;if(this.parentNode.className.indexOf("_hex")>0){cal.data("colpick").color=col=hexToHsb(fixHex(this.value));fillRGBFields(col,cal.get(0));fillHSBFields(col,cal.get(0))}else if(this.parentNode.className.indexOf("_hsb")>0){cal.data("colpick").color=col=fixHSB({h:parseInt(cal.data("colpick").fields.eq(4).val(),10),s:parseInt(cal.data("colpick").fields.eq(5).val(),10),b:parseInt(cal.data("colpick").fields.eq(6).val(),10)});fillRGBFields(col,cal.get(0));fillHexFields(col,cal.get(0))}else{cal.data("colpick").color=col=rgbToHsb(fixRGB({r:parseInt(cal.data("colpick").fields.eq(1).val(),10),g:parseInt(cal.data("colpick").fields.eq(2).val(),10),b:parseInt(cal.data("colpick").fields.eq(3).val(),10)}));fillHexFields(col,cal.get(0));fillHSBFields(col,cal.get(0))}setSelector(col,cal.get(0));setHue(col,cal.get(0));setNewColor(col,cal.get(0));cal.data("colpick").onChange.apply(cal.parent(),[col,hsbToHex(col),hsbToRgb(col),cal.data("colpick").el,0])},blur=function(ev){$(this).parent().removeClass("colpick_focus")},focus=function(){$(this).parent().parent().data("colpick").fields.parent().removeClass("colpick_focus");$(this).parent().addClass("colpick_focus")},downIncrement=function(ev){ev.preventDefault?ev.preventDefault():ev.returnValue=false;var field=$(this).parent().find("input").focus();var current={el:$(this).parent().addClass("colpick_slider"),max:this.parentNode.className.indexOf("_hsb_h")>0?360:this.parentNode.className.indexOf("_hsb")>0?100:255,y:ev.pageY,field:field,val:parseInt(field.val(),10),preview:$(this).parent().parent().data("colpick").livePreview};$(document).mouseup(current,upIncrement);$(document).mousemove(current,moveIncrement)},moveIncrement=function(ev){ev.data.field.val(Math.max(0,Math.min(ev.data.max,parseInt(ev.data.val-ev.pageY+ev.data.y,10))));if(ev.data.preview){change.apply(ev.data.field.get(0),[true])}return false},upIncrement=function(ev){change.apply(ev.data.field.get(0),[true]);ev.data.el.removeClass("colpick_slider").find("input").focus();$(document).off("mouseup",upIncrement);$(document).off("mousemove",moveIncrement);return false},downHue=function(ev){ev.preventDefault?ev.preventDefault():ev.returnValue=false;var current={cal:$(this).parent(),y:$(this).offset().top};$(document).on("mouseup touchend",current,upHue);$(document).on("mousemove touchmove",current,moveHue);var pageY=ev.type=="touchstart"?ev.originalEvent.changedTouches[0].pageY:ev.pageY;change.apply(current.cal.data("colpick").fields.eq(4).val(parseInt(360*(current.cal.data("colpick").height-(pageY-current.y))/current.cal.data("colpick").height,10)).get(0),[current.cal.data("colpick").livePreview]);return false},moveHue=function(ev){var pageY=ev.type=="touchmove"?ev.originalEvent.changedTouches[0].pageY:ev.pageY;change.apply(ev.data.cal.data("colpick").fields.eq(4).val(parseInt(360*(ev.data.cal.data("colpick").height-Math.max(0,Math.min(ev.data.cal.data("colpick").height,pageY-ev.data.y)))/ev.data.cal.data("colpick").height,10)).get(0),[ev.data.preview]);return false},upHue=function(ev){fillRGBFields(ev.data.cal.data("colpick").color,ev.data.cal.get(0));fillHexFields(ev.data.cal.data("colpick").color,ev.data.cal.get(0));$(document).off("mouseup touchend",upHue);$(document).off("mousemove touchmove",moveHue);return false},downSelector=function(ev){ev.preventDefault?ev.preventDefault():ev.returnValue=false;var current={cal:$(this).parent(),pos:$(this).offset()};current.preview=current.cal.data("colpick").livePreview;$(document).on("mouseup touchend",current,upSelector);$(document).on("mousemove touchmove",current,moveSelector);var payeX,pageY;if(ev.type=="touchstart"){pageX=ev.originalEvent.changedTouches[0].pageX,pageY=ev.originalEvent.changedTouches[0].pageY}else{pageX=ev.pageX;pageY=ev.pageY}change.apply(current.cal.data("colpick").fields.eq(6).val(parseInt(100*(current.cal.data("colpick").height-(pageY-current.pos.top))/current.cal.data("colpick").height,10)).end().eq(5).val(parseInt(100*(pageX-current.pos.left)/current.cal.data("colpick").height,10)).get(0),[current.preview]);return false},moveSelector=function(ev){var payeX,pageY;if(ev.type=="touchmove"){pageX=ev.originalEvent.changedTouches[0].pageX,pageY=ev.originalEvent.changedTouches[0].pageY}else{pageX=ev.pageX;pageY=ev.pageY}change.apply(ev.data.cal.data("colpick").fields.eq(6).val(parseInt(100*(ev.data.cal.data("colpick").height-Math.max(0,Math.min(ev.data.cal.data("colpick").height,pageY-ev.data.pos.top)))/ev.data.cal.data("colpick").height,10)).end().eq(5).val(parseInt(100*Math.max(0,Math.min(ev.data.cal.data("colpick").height,pageX-ev.data.pos.left))/ev.data.cal.data("colpick").height,10)).get(0),[ev.data.preview]);return false},upSelector=function(ev){fillRGBFields(ev.data.cal.data("colpick").color,ev.data.cal.get(0));fillHexFields(ev.data.cal.data("colpick").color,ev.data.cal.get(0));$(document).off("mouseup touchend",upSelector);$(document).off("mousemove touchmove",moveSelector);return false},clickSubmit=function(ev){var cal=$(this).parent();var col=cal.data("colpick").color;cal.data("colpick").origColor=col;setCurrentColor(col,cal.get(0));cal.data("colpick").onSubmit(col,hsbToHex(col),hsbToRgb(col),cal.data("colpick").el)},show=function(ev){ev.stopPropagation();var cal=$("#"+$(this).data("colpickId"));cal.data("colpick").onBeforeShow.apply(this,[cal.get(0)]);var pos=$(this).offset();var top=pos.top+this.offsetHeight;var left=pos.left;var viewPort=getViewport();var calW=cal.width();if(left+calW>viewPort.l+viewPort.w){left-=calW}cal.css({left:left+"px",top:top+"px"});if(cal.data("colpick").onShow.apply(this,[cal.get(0)])!=false){cal.show()}$("html").mousedown({cal:cal},hide);cal.mousedown(function(ev){ev.stopPropagation()})},hide=function(ev){if(ev.data.cal.data("colpick").onHide.apply(this,[ev.data.cal.get(0)])!=false){ev.data.cal.hide()}$("html").off("mousedown",hide)},getViewport=function(){var m=document.compatMode=="CSS1Compat";return{l:window.pageXOffset||(m?document.documentElement.scrollLeft:document.body.scrollLeft),w:window.innerWidth||(m?document.documentElement.clientWidth:document.body.clientWidth)}},fixHSB=function(hsb){return{h:Math.min(360,Math.max(0,hsb.h)),s:Math.min(100,Math.max(0,hsb.s)),b:Math.min(100,Math.max(0,hsb.b))}},fixRGB=function(rgb){return{r:Math.min(255,Math.max(0,rgb.r)),g:Math.min(255,Math.max(0,rgb.g)),b:Math.min(255,Math.max(0,rgb.b))}},fixHex=function(hex){var len=6-hex.length;if(len>0){var o=[];for(var i=0;i<len;i++){o.push("0")}o.push(hex);hex=o.join("")}return hex},restoreOriginal=function(){var cal=$(this).parent();var col=cal.data("colpick").origColor;cal.data("colpick").color=col;fillRGBFields(col,cal.get(0));fillHexFields(col,cal.get(0));fillHSBFields(col,cal.get(0));setSelector(col,cal.get(0));setHue(col,cal.get(0));setNewColor(col,cal.get(0))};return{init:function(opt){opt=$.extend({},defaults,opt||{});if(typeof opt.color=="string"){opt.color=hexToHsb(opt.color)}else if(opt.color.r!=undefined&&opt.color.g!=undefined&&opt.color.b!=undefined){opt.color=rgbToHsb(opt.color)}else if(opt.color.h!=undefined&&opt.color.s!=undefined&&opt.color.b!=undefined){opt.color=fixHSB(opt.color)}else{return this}return this.each(function(){if(!$(this).data("colpickId")){var options=$.extend({},opt);options.origColor=opt.color;var id="collorpicker_"+parseInt(Math.random()*1e3);$(this).data("colpickId",id);var cal=$(tpl).attr("id",id);cal.addClass("colpick_"+options.layout+(options.submit?"":" colpick_"+options.layout+"_ns"));if(options.colorScheme!="light"){cal.addClass("colpick_"+options.colorScheme)}cal.find("div.colpick_submit").html(options.submitText).click(clickSubmit);options.fields=cal.find("input").change(change).blur(blur).focus(focus);cal.find("div.colpick_field_arrs").mousedown(downIncrement).end().find("div.colpick_current_color").click(restoreOriginal);options.selector=cal.find("div.colpick_color").on("mousedown touchstart",downSelector);options.selectorIndic=options.selector.find("div.colpick_selector_outer");options.el=this;options.hue=cal.find("div.colpick_hue_arrs");huebar=options.hue.parent();var UA=navigator.userAgent.toLowerCase();var isIE=navigator.appName==="Microsoft Internet Explorer";var IEver=isIE?parseFloat(UA.match(/msie ([0-9]{1,}[\.0-9]{0,})/)[1]):0;var ngIE=isIE&&IEver<10;var stops=["#ff0000","#ff0080","#ff00ff","#8000ff","#0000ff","#0080ff","#00ffff","#00ff80","#00ff00","#80ff00","#ffff00","#ff8000","#ff0000"];if(ngIE){var i,div;for(i=0;i<=11;i++){div=$("<div></div>").attr("style","height:8.333333%; filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr="+stops[i]+", endColorstr="+stops[i+1]+'); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='+stops[i]+", endColorstr="+stops[i+1]+')";');huebar.append(div)}}else{stopList=stops.join(",");huebar.attr("style","background:-webkit-linear-gradient(top,"+stopList+"); background: -o-linear-gradient(top,"+stopList+"); background: -ms-linear-gradient(top,"+stopList+"); background:-moz-linear-gradient(top,"+stopList+"); -webkit-linear-gradient(top,"+stopList+"); background:linear-gradient(to bottom,"+stopList+"); ")}cal.find("div.colpick_hue").on("mousedown touchstart",downHue);options.newColor=cal.find("div.colpick_new_color");options.currentColor=cal.find("div.colpick_current_color");cal.data("colpick",options);fillRGBFields(options.color,cal.get(0));fillHSBFields(options.color,cal.get(0));fillHexFields(options.color,cal.get(0));setHue(options.color,cal.get(0));setSelector(options.color,cal.get(0));setCurrentColor(options.color,cal.get(0));setNewColor(options.color,cal.get(0));if(options.flat){cal.appendTo(this).show();cal.css({position:"relative",display:"block"})}else{cal.appendTo(document.body);$(this).on(options.showEvent,show);cal.css({position:"absolute"})}}})},showPicker:function(){return this.each(function(){if($(this).data("colpickId")){show.apply(this)}})},hidePicker:function(){return this.each(function(){if($(this).data("colpickId")){$("#"+$(this).data("colpickId")).hide()}})},setColor:function(col,setCurrent){setCurrent=typeof setCurrent==="undefined"?1:setCurrent;if(typeof col=="string"){col=hexToHsb(col)}else if(col.r!=undefined&&col.g!=undefined&&col.b!=undefined){col=rgbToHsb(col)}else if(col.h!=undefined&&col.s!=undefined&&col.b!=undefined){col=fixHSB(col)}else{return this}return this.each(function(){if($(this).data("colpickId")){var cal=$("#"+$(this).data("colpickId"));cal.data("colpick").color=col;cal.data("colpick").origColor=col;fillRGBFields(col,cal.get(0));fillHSBFields(col,cal.get(0));fillHexFields(col,cal.get(0));setHue(col,cal.get(0));setSelector(col,cal.get(0));setNewColor(col,cal.get(0));cal.data("colpick").onChange.apply(cal.parent(),[col,hsbToHex(col),hsbToRgb(col),cal.data("colpick").el,1]);if(setCurrent){setCurrentColor(col,cal.get(0))}}})}}}();var hexToRgb=function(hex){var hex=parseInt(hex.indexOf("#")>-1?hex.substring(1):hex,16);return{r:hex>>16,g:(hex&65280)>>8,b:hex&255}};var hexToHsb=function(hex){return rgbToHsb(hexToRgb(hex))};var rgbToHsb=function(rgb){var hsb={h:0,s:0,b:0};var min=Math.min(rgb.r,rgb.g,rgb.b);var max=Math.max(rgb.r,rgb.g,rgb.b);var delta=max-min;hsb.b=max;hsb.s=max!=0?255*delta/max:0;if(hsb.s!=0){if(rgb.r==max)hsb.h=(rgb.g-rgb.b)/delta;else if(rgb.g==max)hsb.h=2+(rgb.b-rgb.r)/delta;else hsb.h=4+(rgb.r-rgb.g)/delta}else hsb.h=-1;hsb.h*=60;if(hsb.h<0)hsb.h+=360;hsb.s*=100/255;hsb.b*=100/255;return hsb};var hsbToRgb=function(hsb){var rgb={};var h=hsb.h;var s=hsb.s*255/100;var v=hsb.b*255/100;if(s==0){rgb.r=rgb.g=rgb.b=v}else{var t1=v;var t2=(255-s)*v/255;var t3=(t1-t2)*(h%60)/60;if(h==360)h=0;if(h<60){rgb.r=t1;rgb.b=t2;rgb.g=t2+t3}else if(h<120){rgb.g=t1;rgb.b=t2;rgb.r=t1-t3}else if(h<180){rgb.g=t1;rgb.r=t2;rgb.b=t2+t3}else if(h<240){rgb.b=t1;rgb.r=t2;rgb.g=t1-t3}else if(h<300){rgb.b=t1;rgb.g=t2;rgb.r=t2+t3}else if(h<360){rgb.r=t1;rgb.g=t2;rgb.b=t1-t3}else{rgb.r=0;rgb.g=0;rgb.b=0}}return{r:Math.round(rgb.r),g:Math.round(rgb.g),b:Math.round(rgb.b)}};var rgbToHex=function(rgb){var hex=[rgb.r.toString(16),rgb.g.toString(16),rgb.b.toString(16)];$.each(hex,function(nr,val){if(val.length==1){hex[nr]="0"+val}});return hex.join("")};var hsbToHex=function(hsb){return rgbToHex(hsbToRgb(hsb))};$.fn.extend({colpick:colpick.init,colpickHide:colpick.hidePicker,colpickShow:colpick.showPicker,colpickSetColor:colpick.setColor});$.extend({colpick:{rgbToHex:rgbToHex,rgbToHsb:rgbToHsb,hsbToHex:hsbToHex,hsbToRgb:hsbToRgb,hexToHsb:hexToHsb,hexToRgb:hexToRgb}})})(jQuery);
|
skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/ractive-backbone.js
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/ractive-chosen.js
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/ractive.js
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/require.js
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/recscore/js/lib/routie.js
ADDED
@@ -0,0 +1,208 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* routie - a tiny hash router
|
3 |
+
* v0.3.2
|
4 |
+
* http://projects.jga.me/routie
|
5 |
+
* copyright Greg Allen 2013
|
6 |
+
* MIT License
|
7 |
+
*/
|
8 |
+
(function(w) {
|
9 |
+
|
10 |
+
var routes = [];
|
11 |
+
var map = {};
|
12 |
+
var reference = "UnbxdRouter";
|
13 |
+
var oldReference = w[reference];
|
14 |
+
|
15 |
+
var Route = function(path, name) {
|
16 |
+
this.name = name;
|
17 |
+
this.path = path;
|
18 |
+
this.keys = [];
|
19 |
+
this.fns = [];
|
20 |
+
this.params = {};
|
21 |
+
this.regex = pathToRegexp(this.path, this.keys, false, false);
|
22 |
+
|
23 |
+
};
|
24 |
+
|
25 |
+
Route.prototype.addHandler = function(fn) {
|
26 |
+
this.fns.push(fn);
|
27 |
+
};
|
28 |
+
|
29 |
+
Route.prototype.removeHandler = function(fn) {
|
30 |
+
for (var i = 0, c = this.fns.length; i < c; i++) {
|
31 |
+
var f = this.fns[i];
|
32 |
+
if (fn == f) {
|
33 |
+
this.fns.splice(i, 1);
|
34 |
+
return;
|
35 |
+
}
|
36 |
+
}
|
37 |
+
};
|
38 |
+
|
39 |
+
Route.prototype.run = function(params) {
|
40 |
+
for (var i = 0, c = this.fns.length; i < c; i++) {
|
41 |
+
this.fns[i].apply(this, params);
|
42 |
+
}
|
43 |
+
};
|
44 |
+
|
45 |
+
Route.prototype.match = function(path, params){
|
46 |
+
var m = this.regex.exec(path);
|
47 |
+
|
48 |
+
if (!m) return false;
|
49 |
+
|
50 |
+
|
51 |
+
for (var i = 1, len = m.length; i < len; ++i) {
|
52 |
+
var key = this.keys[i - 1];
|
53 |
+
|
54 |
+
var val = ('string' == typeof m[i]) ? decodeURIComponent(m[i]) : m[i];
|
55 |
+
|
56 |
+
if (key) {
|
57 |
+
this.params[key.name] = val;
|
58 |
+
}
|
59 |
+
params.push(val);
|
60 |
+
}
|
61 |
+
|
62 |
+
return true;
|
63 |
+
};
|
64 |
+
|
65 |
+
Route.prototype.toURL = function(params) {
|
66 |
+
var path = this.path;
|
67 |
+
for (var param in params) {
|
68 |
+
path = path.replace('/:'+param, '/'+params[param]);
|
69 |
+
}
|
70 |
+
path = path.replace(/\/:.*\?/g, '/').replace(/\?/g, '');
|
71 |
+
if (path.indexOf(':') != -1) {
|
72 |
+
throw new Error('missing parameters for url: '+path);
|
73 |
+
}
|
74 |
+
return path;
|
75 |
+
};
|
76 |
+
|
77 |
+
var pathToRegexp = function(path, keys, sensitive, strict) {
|
78 |
+
if (path instanceof RegExp) return path;
|
79 |
+
if (path instanceof Array) path = '(' + path.join('|') + ')';
|
80 |
+
path = path
|
81 |
+
.concat(strict ? '' : '/?')
|
82 |
+
.replace(/\/\(/g, '(?:/')
|
83 |
+
.replace(/\+/g, '__plus__')
|
84 |
+
.replace(/(\/)?(\.)?:(\w+)(?:(\(.*?\)))?(\?)?/g, function(_, slash, format, key, capture, optional){
|
85 |
+
keys.push({ name: key, optional: !! optional });
|
86 |
+
slash = slash || '';
|
87 |
+
return '' + (optional ? '' : slash) + '(?:' + (optional ? slash : '') + (format || '') + (capture || (format && '([^/.]+?)' || '([^/]+?)')) + ')' + (optional || '');
|
88 |
+
})
|
89 |
+
.replace(/([\/.])/g, '\\$1')
|
90 |
+
.replace(/__plus__/g, '(.+)')
|
91 |
+
.replace(/\*/g, '(.*)');
|
92 |
+
return new RegExp('^' + path + '$', sensitive ? '' : 'i');
|
93 |
+
};
|
94 |
+
|
95 |
+
var addHandler = function(path, fn) {
|
96 |
+
var s = path.split(' ');
|
97 |
+
var name = (s.length == 2) ? s[0] : null;
|
98 |
+
path = (s.length == 2) ? s[1] : s[0];
|
99 |
+
|
100 |
+
if (!map[path]) {
|
101 |
+
map[path] = new Route(path, name);
|
102 |
+
routes.push(map[path]);
|
103 |
+
}
|
104 |
+
map[path].addHandler(fn);
|
105 |
+
};
|
106 |
+
|
107 |
+
var routie = function(path, fn) {
|
108 |
+
if (typeof fn == 'function') {
|
109 |
+
addHandler(path, fn);
|
110 |
+
routie.reload();
|
111 |
+
} else if (typeof path == 'object') {
|
112 |
+
for (var p in path) {
|
113 |
+
addHandler(p, path[p]);
|
114 |
+
}
|
115 |
+
routie.reload();
|
116 |
+
} else if (typeof fn === 'undefined') {
|
117 |
+
routie.navigate(path);
|
118 |
+
}
|
119 |
+
};
|
120 |
+
|
121 |
+
routie.lookup = function(name, obj) {
|
122 |
+
for (var i = 0, c = routes.length; i < c; i++) {
|
123 |
+
var route = routes[i];
|
124 |
+
if (route.name == name) {
|
125 |
+
return route.toURL(obj);
|
126 |
+
}
|
127 |
+
}
|
128 |
+
};
|
129 |
+
|
130 |
+
routie.remove = function(path, fn) {
|
131 |
+
var route = map[path];
|
132 |
+
if (!route)
|
133 |
+
return;
|
134 |
+
route.removeHandler(fn);
|
135 |
+
};
|
136 |
+
|
137 |
+
routie.removeAll = function() {
|
138 |
+
map = {};
|
139 |
+
routes = [];
|
140 |
+
};
|
141 |
+
|
142 |
+
routie.navigate = function(path, options) {
|
143 |
+
options = options || {};
|
144 |
+
var silent = options.silent || false;
|
145 |
+
|
146 |
+
if (silent) {
|
147 |
+
removeListener();
|
148 |
+
}
|
149 |
+
setTimeout(function() {
|
150 |
+
window.location.hash = path;
|
151 |
+
|
152 |
+
if (silent) {
|
153 |
+
setTimeout(function() {
|
154 |
+
addListener();
|
155 |
+
}, 1);
|
156 |
+
}
|
157 |
+
|
158 |
+
}, 1);
|
159 |
+
};
|
160 |
+
|
161 |
+
routie.noConflict = function() {
|
162 |
+
w[reference] = oldReference;
|
163 |
+
return routie;
|
164 |
+
};
|
165 |
+
|
166 |
+
var getHash = function() {
|
167 |
+
return window.location.hash.substring(1);
|
168 |
+
};
|
169 |
+
|
170 |
+
var checkRoute = function(hash, route) {
|
171 |
+
var params = [];
|
172 |
+
if (route.match(hash, params)) {
|
173 |
+
route.run(params);
|
174 |
+
return true;
|
175 |
+
}
|
176 |
+
return false;
|
177 |
+
};
|
178 |
+
|
179 |
+
var hashChanged = routie.reload = function() {
|
180 |
+
var hash = getHash();
|
181 |
+
for (var i = 0, c = routes.length; i < c; i++) {
|
182 |
+
var route = routes[i];
|
183 |
+
if (checkRoute(hash, route)) {
|
184 |
+
return;
|
185 |
+
}
|
186 |
+
}
|
187 |
+
};
|
188 |
+
|
189 |
+
var addListener = function() {
|
190 |
+
if (w.addEventListener) {
|
191 |
+
w.addEventListener('hashchange', hashChanged, false);
|
192 |
+
} else {
|
193 |
+
w.attachEvent('onhashchange', hashChanged);
|
194 |
+
}
|
195 |
+
};
|
196 |
+
|
197 |
+
var removeListener = function() {
|
198 |
+
if (w.removeEventListener) {
|
199 |
+
w.removeEventListener('hashchange', hashChanged);
|
200 |
+
} else {
|
201 |
+
w.detachEvent('onhashchange', hashChanged);
|
202 |
+
}
|
203 |
+
};
|
204 |
+
addListener();
|
205 |
+
|
206 |
+
w[reference] = routie;
|
207 |
+
|
208 |
+
})(window);
|
skin/adminhtml/default/default/unbxd/recscore/js/lib/rv.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
define(["ractive"],function(Ractive){var amd_loader,tosource,rv;amd_loader=function(){var precompiled;var loader=function(pluginId,ext,allowExts,compile){if(arguments.length==3){compile=allowExts;allowExts=undefined}else if(arguments.length==2){compile=ext;ext=allowExts=undefined}return{buildCache:{},load:function(name,req,load,config){var path=req.toUrl(name);var queryString="";if(path.indexOf("?")!=-1){queryString=path.substr(path.indexOf("?"));path=path.substr(0,path.length-queryString.length)}if(config.precompiled instanceof Array){for(var i=0;i<config.precompiled.length;i++)if(path.substr(0,config.precompiled[i].length)==config.precompiled[i])return require([path+"."+pluginId+".js"+queryString],load,load.error)}else if(config.precompiled===true)return require([path+"."+pluginId+".js"+queryString],load,load.error);if(ext&&name.substr(0,1)!="/"&&!name.match(/:\/\//)){var validExt=false;if(allowExts){for(var i=0;i<allowExts.length;i++){if(name.substr(name.length-allowExts[i].length-1)=="."+allowExts[i])validExt=true}}if(!validExt)path+="."+ext+queryString;else path+=queryString}else{path+=queryString}var self=this;loader.fetch(path,function(source){compile(name,source,req,function(compiled){if(typeof compiled=="string"){if(config.isBuild)self.buildCache[name]=compiled;load.fromText(compiled)}else load(compiled)},load.error,config)},load.error)},write:function(pluginName,moduleName,write){var compiled=this.buildCache[moduleName];if(compiled)write.asModule(pluginName+"!"+moduleName,compiled)},writeFile:function(pluginName,name,req,write){write.asModule(pluginName+"!"+name,req.toUrl(name+"."+pluginId+".js"),this.buildCache[name])}}};if(typeof window!="undefined"){var progIds=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"];var getXhr=function(path){var sameDomain=true,domainCheck=/^(\w+:)?\/\/([^\/]+)/.exec(path);if(typeof window!="undefined"&&domainCheck){sameDomain=domainCheck[2]===window.location.host;if(domainCheck[1])sameDomain&=domainCheck[1]===window.location.protocol}var xhr;if(typeof XMLHttpRequest!=="undefined")xhr=new XMLHttpRequest;else{var progId;for(var i=0;i<3;i+=1){progId=progIds[i];try{xhr=new ActiveXObject(progId)}catch(e){}if(xhr){progIds=[progId];break}}}if(!sameDomain){if(typeof XDomainRequest!="undefined")xhr=new XDomainRequest;else if(!("withCredentials"in xhr))throw new Error("getXhr(): Cross Origin XHR not supported.")}if(!xhr)throw new Error("getXhr(): XMLHttpRequest not available");return xhr};loader.fetch=function(url,callback,errback){var xhr=getXhr(url);xhr.open("GET",url,!requirejs.inlineRequire);xhr.onreadystatechange=function(evt){var status,err;if(xhr.readyState===4){status=xhr.status;if(status>399&&status<600){err=new Error(url+" HTTP status: "+status);err.xhr=xhr;if(errback)errback(err)}else{if(xhr.responseText=="")return errback(new Error(url+" empty response"));callback(xhr.responseText)}}};xhr.send(null)}}else if(typeof process!=="undefined"&&process.versions&&!!process.versions.node){var fs=requirejs.nodeRequire("fs");loader.fetch=function(path,callback,errback){try{callback(fs.readFileSync(path,"utf8"))}catch(err){errback(err)}}}else if(typeof Packages!=="undefined"){loader.fetch=function(path,callback,errback){var stringBuffer,line,encoding="utf-8",file=new java.io.File(path),lineSeparator=java.lang.System.getProperty("line.separator"),input=new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(file),encoding)),content="";try{stringBuffer=new java.lang.StringBuffer;line=input.readLine();if(line&&line.length()&&line.charAt(0)===65279){line=line.substring(1)}stringBuffer.append(line);while((line=input.readLine())!==null){stringBuffer.append(lineSeparator);stringBuffer.append(line)}content=String(stringBuffer.toString())}catch(err){if(errback)errback(err)}finally{input.close()}callback(content)}}else{loader.fetch=function(){throw new Error("Environment unsupported.")}}return loader}();tosource=function(){var KEYWORD_REGEXP=/^(abstract|boolean|break|byte|case|catch|char|class|const|continue|debugger|default|delete|do|double|else|enum|export|extends|false|final|finally|float|for|function|goto|if|implements|import|in|instanceof|int|interface|long|native|new|null|package|private|protected|public|return|short|static|super|switch|synchronized|this|throw|throws|transient|true|try|typeof|undefined|var|void|volatile|while|with)$/;return function(object,filter,indent,startingIndent){var seen=[];return walk(object,filter,indent===undefined?" ":indent||"",startingIndent||"",seen);function walk(object,filter,indent,currentIndent,seen){var nextIndent=currentIndent+indent;object=filter?filter(object):object;switch(typeof object){case"string":return JSON.stringify(object);case"boolean":case"number":case"undefined":return""+object;case"function":return object.toString()}if(object===null)return"null";if(object instanceof RegExp)return object.toString();if(object instanceof Date)return"new Date("+object.getTime()+")";var seenIndex=seen.indexOf(object)+1;if(seenIndex>0)return"{$circularReference:"+seenIndex+"}";seen.push(object);function join(elements){return indent.slice(1)+elements.join(","+(indent&&"\n")+nextIndent)+(indent?" ":"")}if(Array.isArray(object)){return"["+join(object.map(function(element){return walk(element,filter,indent,nextIndent,seen.slice())}))+"]"}var keys=Object.keys(object);return keys.length?"{"+join(keys.map(function(key){return(legalKey(key)?key:JSON.stringify(key))+":"+walk(object[key],filter,indent,nextIndent,seen.slice())}))+"}":"{}"}};function legalKey(string){return/^[a-z_$][0-9a-z_$]*$/gi.test(string)&&!KEYWORD_REGEXP.test(string)}}();rv=function(amdLoader,toSource){return amdLoader("rv","html",function(name,source,req,callback,errback,config){var parsed=Ractive.parse(source);if(!config.isBuild){callback(parsed)}else{callback('define("rv!'+name+'",function(){return '+toSource(parsed)+";})")}})}(amd_loader,tosource);return rv});
|
skin/adminhtml/default/default/unbxd/{js → recscore/js}/lib/underscore.js
RENAMED
File without changes
|
skin/adminhtml/default/default/unbxd/recscore/js/main.js
ADDED
@@ -0,0 +1,292 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Array.prototype.map = function(callback, thisArg) {
|
2 |
+
|
3 |
+
var T, A, k;
|
4 |
+
|
5 |
+
if (this == null) {
|
6 |
+
throw new TypeError(" this is null or not defined");
|
7 |
+
}
|
8 |
+
|
9 |
+
var O = Object(this);
|
10 |
+
var len = O.length >>> 0;
|
11 |
+
|
12 |
+
if (typeof callback !== "function") {
|
13 |
+
throw new TypeError(callback + " is not a function");
|
14 |
+
}
|
15 |
+
|
16 |
+
if (arguments.length > 1) {
|
17 |
+
T = thisArg;
|
18 |
+
}
|
19 |
+
|
20 |
+
A = new Array(len);
|
21 |
+
k = 0;
|
22 |
+
while (k < len) {
|
23 |
+
var kValue, mappedValue;
|
24 |
+
if (k in O) {
|
25 |
+
kValue = O[k];
|
26 |
+
mappedValue = callback.call(T, kValue, k, O);
|
27 |
+
A[k] = mappedValue;
|
28 |
+
}
|
29 |
+
k++;
|
30 |
+
}
|
31 |
+
|
32 |
+
return A;
|
33 |
+
};
|
34 |
+
|
35 |
+
//using global jquery as requirejs module
|
36 |
+
define('jquery', [], function() {
|
37 |
+
return jQuery;
|
38 |
+
});
|
39 |
+
|
40 |
+
|
41 |
+
requirejs.config({
|
42 |
+
baseUrl: window._unbxdSkinurl + 'unbxd/recscore/js/lib',
|
43 |
+
paths: {
|
44 |
+
app: '../app',
|
45 |
+
templates:'../../templates',
|
46 |
+
partials:'../../templates/partials'
|
47 |
+
},
|
48 |
+
waitSeconds:50
|
49 |
+
});
|
50 |
+
|
51 |
+
// Start the main app logic.
|
52 |
+
requirejs([
|
53 |
+
'jquery',
|
54 |
+
'ractive',
|
55 |
+
'chosen',
|
56 |
+
'ractive-chosen',
|
57 |
+
'bootstrap-tooltip',
|
58 |
+
'app/credentials',
|
59 |
+
'app/catalog',
|
60 |
+
'app/analytics',
|
61 |
+
'app/widgets',
|
62 |
+
'app/autosuggest',
|
63 |
+
'app/search/landing',
|
64 |
+
'rv!templates/index',
|
65 |
+
'rv!partials/contact-form',
|
66 |
+
'app/utils',
|
67 |
+
'app/config',
|
68 |
+
'app/search/hosted',
|
69 |
+
'routie'],
|
70 |
+
|
71 |
+
function (
|
72 |
+
$,
|
73 |
+
Ractive,
|
74 |
+
Chosen,
|
75 |
+
RC,
|
76 |
+
BC,
|
77 |
+
Credentails,
|
78 |
+
Catalog,
|
79 |
+
Analytics,
|
80 |
+
Widgets,
|
81 |
+
Autosuggest,
|
82 |
+
SearchLanding,
|
83 |
+
IndexTemplate,
|
84 |
+
ContactUsModalTemplate,
|
85 |
+
Utils,
|
86 |
+
Config,
|
87 |
+
HostedSearch) {
|
88 |
+
|
89 |
+
for(key in _unbxdConfigs){
|
90 |
+
Config[key] = _unbxdConfigs[key];
|
91 |
+
|
92 |
+
if(_unbxdConfigs[key] === "1" || _unbxdConfigs[key] === "true" ){
|
93 |
+
Config[key] = true;
|
94 |
+
}else if( _unbxdConfigs[key] === "" || _unbxdConfigs[key] === "false" ){
|
95 |
+
Config[key] = false;
|
96 |
+
}
|
97 |
+
};
|
98 |
+
|
99 |
+
//set auth value from hidden field
|
100 |
+
Config.authValue = $("input#auth").val();
|
101 |
+
|
102 |
+
ractiveParent = {},
|
103 |
+
_unbxdObject = {
|
104 |
+
step1 : false,
|
105 |
+
step2 : true,
|
106 |
+
step3 : false,
|
107 |
+
step4 : false,
|
108 |
+
activeStep:{
|
109 |
+
one:true
|
110 |
+
},
|
111 |
+
originalMapping:[],
|
112 |
+
_unbxdSkinurl:_unbxdSkinurl,
|
113 |
+
siteName : Config.site,
|
114 |
+
ractiveAnalytics:{}
|
115 |
+
};
|
116 |
+
|
117 |
+
(function(){
|
118 |
+
|
119 |
+
Utils.getSites()
|
120 |
+
.then(function( data ){
|
121 |
+
|
122 |
+
ractiveParent = new Ractive({
|
123 |
+
el: 'container',
|
124 |
+
template: IndexTemplate,
|
125 |
+
partials:{
|
126 |
+
contactUsModal:ContactUsModalTemplate
|
127 |
+
},
|
128 |
+
data: { sites: ['a', 'b'],
|
129 |
+
site:data.sites[0].name,
|
130 |
+
_unbxdObject:_unbxdObject,
|
131 |
+
config:Config,
|
132 |
+
ccEmailIds:[]
|
133 |
+
}
|
134 |
+
});
|
135 |
+
|
136 |
+
ractiveParent.observe('site', function(newValue, oldValue, keypath, s) {
|
137 |
+
if( !oldValue)
|
138 |
+
return;
|
139 |
+
|
140 |
+
_unbxdObject.catalogData = null;
|
141 |
+
_unbxdObject.originalMapping = [];
|
142 |
+
_unbxdObject.secretKey = "";
|
143 |
+
_unbxdObject.siteKey = "";
|
144 |
+
_unbxdObject.step1 = false;
|
145 |
+
Utils.activateLink( "one" );
|
146 |
+
Credentails.loadCredentailsTab( _unbxdObject );
|
147 |
+
clearInterval( Config.pollingId );
|
148 |
+
|
149 |
+
});
|
150 |
+
|
151 |
+
|
152 |
+
ractiveParent.on({
|
153 |
+
|
154 |
+
showCredentials: function ( event ) {
|
155 |
+
Utils.activateLink( "one" );
|
156 |
+
Credentails.loadCredentailsTab( _unbxdObject );
|
157 |
+
clearInterval( Config.pollingId );
|
158 |
+
},
|
159 |
+
|
160 |
+
showCatalog:function( event ){
|
161 |
+
Utils.activateLink( "two" );
|
162 |
+
Catalog.loadCatalogTab( _unbxdObject );
|
163 |
+
clearInterval( Config.pollingId );
|
164 |
+
},
|
165 |
+
|
166 |
+
showAnalytics:function( event ){
|
167 |
+
Utils.activateLink( "three" );
|
168 |
+
Analytics.loadAnalyticsTab( _unbxdObject );
|
169 |
+
},
|
170 |
+
|
171 |
+
showWidgets:function( event ){
|
172 |
+
Utils.activateLink( "four" );
|
173 |
+
Widgets.loadWidgetsTab( _unbxdObject );
|
174 |
+
clearInterval( Config.pollingId );
|
175 |
+
},
|
176 |
+
|
177 |
+
showAutosuggest:function( event ){
|
178 |
+
Utils.activateLink( "five" );
|
179 |
+
Autosuggest.loadAutosuggest( _unbxdObject );
|
180 |
+
clearInterval( Config.pollingId );
|
181 |
+
},
|
182 |
+
|
183 |
+
showSearch:function( event ){
|
184 |
+
Utils.activateLink( "six" );
|
185 |
+
SearchLanding.load( _unbxdObject );
|
186 |
+
clearInterval( Config.pollingId );
|
187 |
+
},
|
188 |
+
|
189 |
+
addIdToCollection:function( event ){
|
190 |
+
var keycode = event.original.keyCode,
|
191 |
+
email = this.get('ccMailId').trim();
|
192 |
+
|
193 |
+
if( (keycode === 188 ||
|
194 |
+
keycode === 32 ||
|
195 |
+
keycode === 13) &&
|
196 |
+
email.length > 0 &&
|
197 |
+
Utils.validateEmail(email) ){
|
198 |
+
|
199 |
+
this.get("ccEmailIds").push({
|
200 |
+
id:this.get('ccMailId')
|
201 |
+
});
|
202 |
+
|
203 |
+
this.set('ccMailId', '');
|
204 |
+
}else if(keycode ===8 && email.length ===0 ){
|
205 |
+
this.get('ccEmailIds').splice(this.get('ccEmailIds').length-1, 1);
|
206 |
+
}
|
207 |
+
},
|
208 |
+
|
209 |
+
removeId:function( event ){
|
210 |
+
var index = this.get('ccEmailIds').indexOf(event.context);
|
211 |
+
this.get('ccEmailIds').splice(index, 1);
|
212 |
+
},
|
213 |
+
|
214 |
+
sendMail:function(){
|
215 |
+
var $sendButton = $("#unbxdSend");
|
216 |
+
|
217 |
+
if( this.get('ccMailId').trim().length > 0 )
|
218 |
+
this.get("ccEmailIds").push({id:this.get('ccMailId')});
|
219 |
+
|
220 |
+
if( this.get("ccEmailIds").length > 0 )
|
221 |
+
emailIds = this.get("ccEmailIds").join("||");
|
222 |
+
else
|
223 |
+
return;
|
224 |
+
|
225 |
+
var data = {
|
226 |
+
content:this.get('mailBody'),
|
227 |
+
cc : emailIds,
|
228 |
+
subject:'Support request - magent search'
|
229 |
+
};
|
230 |
+
|
231 |
+
this.set('ccEmailIds',[]);
|
232 |
+
this.set('ccMailId','');
|
233 |
+
this.set('mailBody', '');
|
234 |
+
|
235 |
+
Utils.sendMail(data).then(
|
236 |
+
function( data ){
|
237 |
+
if(data.success && data.success===true && $sendButton.data().hostedsearch === true)
|
238 |
+
HostedSearch.setData({search_hosted_int_status:Config.status.requested});
|
239 |
+
},function(){
|
240 |
+
|
241 |
+
});
|
242 |
+
}
|
243 |
+
|
244 |
+
});
|
245 |
+
|
246 |
+
Config.site = data.sites[0].name;
|
247 |
+
ractiveParent.set('sites', data.sites);
|
248 |
+
data = data.sites[0];
|
249 |
+
if(data.numDocs && data.numDocs > 0){
|
250 |
+
_unbxdObject.step2 = true;
|
251 |
+
_unbxdObject.products = data.numDocs
|
252 |
+
}
|
253 |
+
|
254 |
+
Credentails.loadCredentailsTab( _unbxdObject );
|
255 |
+
Utils.updateAllSelect();
|
256 |
+
|
257 |
+
Utils.getStates()
|
258 |
+
.then(function( data ){
|
259 |
+
for(key in Config.states){
|
260 |
+
Config.states[key] = data[key].status
|
261 |
+
}
|
262 |
+
},function( error ){
|
263 |
+
|
264 |
+
})
|
265 |
+
|
266 |
+
})
|
267 |
+
})();//load main
|
268 |
+
|
269 |
+
|
270 |
+
|
271 |
+
Ractive.decorators.chosen.type.site = function (node) {
|
272 |
+
return {
|
273 |
+
disable_search_threshold:5
|
274 |
+
}
|
275 |
+
};
|
276 |
+
|
277 |
+
|
278 |
+
});
|
279 |
+
|
280 |
+
|
281 |
+
|
282 |
+
|
283 |
+
|
284 |
+
|
285 |
+
|
286 |
+
|
287 |
+
|
288 |
+
|
289 |
+
|
290 |
+
|
291 |
+
|
292 |
+
|
skin/adminhtml/default/default/unbxd/recscore/templates/analytics.html
ADDED
@@ -0,0 +1,191 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{{^_unbxdObject.step2}}
|
2 |
+
<div class="row mar-0">
|
3 |
+
<div class=" magento-block pad-btm-20 magento-redbar">
|
4 |
+
PLEASE MAP CATALOG AND UPLOAD DATA FIRST
|
5 |
+
</div>
|
6 |
+
<div class="unbxd-disabled-cover">
|
7 |
+
</div>
|
8 |
+
</div>
|
9 |
+
|
10 |
+
{{/_unbxdObject.step2}}
|
11 |
+
|
12 |
+
<div class="row mar-0">
|
13 |
+
|
14 |
+
<div class="col-md-60 col-sm-60 magento-block pad-top-0">
|
15 |
+
<div class="row mar-0">
|
16 |
+
<div class="col-md-60 col-sm-60 col-xs-60 brd-btm-0 magento-inner-block pad-top-20 pad-btm-20 top-rad">
|
17 |
+
<div class="row mar-0">
|
18 |
+
<div class="col-md-60 border-0 pad-0 magento-head ">
|
19 |
+
Event Tracking Status
|
20 |
+
</div>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
|
24 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 pad-btm-20 btm-rad">
|
25 |
+
<div class="row mar-0">
|
26 |
+
|
27 |
+
<div class="col-md-60 magento-text pad-btm-20 magento-text">
|
28 |
+
Unbxd automatically adds event handling tags to important visitor events like search hits, product views, cart additions and orders.
|
29 |
+
We track these events in order to show comprehensive reports and personalized recommendations & search results.
|
30 |
+
</div>
|
31 |
+
|
32 |
+
<div class="row text-center pad-btm-10 font-15 grey-text">
|
33 |
+
See below if the anaytics integration is successful
|
34 |
+
<span class="blue-link-help">Trubleshoot here</span>
|
35 |
+
</div>
|
36 |
+
|
37 |
+
<div class="row text-center">
|
38 |
+
{{#if config.unbxdSearchenabled}}
|
39 |
+
<div class="col-md-14 col-sm-13 magento-analytics-block
|
40 |
+
{{^searchHits}} magento-analytics-block1 {{/searchHits}} pad-btm-20 float-none display-inline" >
|
41 |
+
<div class="row">
|
42 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-head mar-btm-20">
|
43 |
+
SEARCH HITS
|
44 |
+
</div>
|
45 |
+
</div>
|
46 |
+
<div class="row">
|
47 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-tick
|
48 |
+
{{^searchHits}} magento-analytics-cross{{/searchHits}} ">
|
49 |
+
|
50 |
+
</div>
|
51 |
+
</div>
|
52 |
+
<div class="row">
|
53 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text mar-top-20 ">
|
54 |
+
{{#if searchHits}}
|
55 |
+
Captured
|
56 |
+
{{else}}
|
57 |
+
Waiting for
|
58 |
+
{{/if}}
|
59 |
+
</div>
|
60 |
+
</div>
|
61 |
+
<div class="row">
|
62 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text">
|
63 |
+
search hits
|
64 |
+
</div>
|
65 |
+
</div>
|
66 |
+
</div>
|
67 |
+
{{/if}}
|
68 |
+
|
69 |
+
<div class="col-md-14 col-sm-13 magento-analytics-block
|
70 |
+
{{^productClick}} magento-analytics-block1 {{/productClick}} pad-btm-20 unbxd-md-offset-2 float-none display-inline">
|
71 |
+
<div class="row">
|
72 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-head mar-btm-20">
|
73 |
+
PRODUCT VIEWS
|
74 |
+
</div>
|
75 |
+
</div>
|
76 |
+
<div class="row">
|
77 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-tick
|
78 |
+
{{^productClick}} magento-analytics-cross{{/productClick}}">
|
79 |
+
|
80 |
+
</div>
|
81 |
+
</div>
|
82 |
+
<div class="row">
|
83 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text mar-top-20 ">
|
84 |
+
{{#if productClick}}
|
85 |
+
Captured
|
86 |
+
{{else}}
|
87 |
+
Waiting for
|
88 |
+
{{/if}}
|
89 |
+
</div>
|
90 |
+
</div>
|
91 |
+
<div class="row">
|
92 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text">
|
93 |
+
products clicks
|
94 |
+
</div>
|
95 |
+
</div>
|
96 |
+
|
97 |
+
</div>
|
98 |
+
|
99 |
+
<div class="col-md-14 col-sm-13 magento-analytics-block
|
100 |
+
{{^addToCartClick}}magento-analytics-block1{{/addToCartClick}} pad-btm-20 unbxd-md-offset-2 float-none display-inline">
|
101 |
+
<div class="row">
|
102 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-head mar-btm-20">
|
103 |
+
CART ADDITIONS
|
104 |
+
</div>
|
105 |
+
</div>
|
106 |
+
<div class="row">
|
107 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-tick {{^addToCartClick}}magento-analytics-cross{{/addToCartClick}}">
|
108 |
+
|
109 |
+
</div>
|
110 |
+
</div>
|
111 |
+
<div class="row">
|
112 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text mar-top-20 ">
|
113 |
+
{{#if addToCartClick}}
|
114 |
+
Captured
|
115 |
+
{{else}}
|
116 |
+
Waiting for
|
117 |
+
{{/if}}
|
118 |
+
</div>
|
119 |
+
</div>
|
120 |
+
<div class="row">
|
121 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text">
|
122 |
+
cart additions
|
123 |
+
</div>
|
124 |
+
</div>
|
125 |
+
|
126 |
+
</div>
|
127 |
+
<div class="col-md-13 col-sm-13 magento-analytics-block
|
128 |
+
{{^productBuysClick }} magento-analytics-block1 {{/productBuysClick}} pad-btm-20 unbxd-md-offset-2 float-none display-inline">
|
129 |
+
<div class="row">
|
130 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-head mar-btm-20">
|
131 |
+
ORDERS
|
132 |
+
</div>
|
133 |
+
</div>
|
134 |
+
<div class="row">
|
135 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-tick
|
136 |
+
{{^productBuysClick}} magento-analytics-cross{{/productBuysClick}} ">
|
137 |
+
|
138 |
+
</div>
|
139 |
+
</div>
|
140 |
+
<div class="row">
|
141 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text mar-top-20 ">
|
142 |
+
{{#if productBuysClick}}
|
143 |
+
Captured
|
144 |
+
{{else}}
|
145 |
+
Waiting for
|
146 |
+
{{/if}}
|
147 |
+
</div>
|
148 |
+
</div>
|
149 |
+
<div class="row">
|
150 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text">
|
151 |
+
orders
|
152 |
+
</div>
|
153 |
+
</div>
|
154 |
+
</div>
|
155 |
+
|
156 |
+
</div>
|
157 |
+
|
158 |
+
|
159 |
+
<div class="row background-grey mar-top-20 pad-5 pad-left-10">
|
160 |
+
<div class="info-icon-big pull-left mar-right-10 "></div>
|
161 |
+
<div class="pad-top-10 grey-text">Note: If the above events are mot being tracked, it could be because your Magento templates are heavily customized. Please contact support
|
162 |
+
</div>
|
163 |
+
</div>
|
164 |
+
|
165 |
+
{{#if config.unbxdSearchenabled}}
|
166 |
+
<div class="row background-grey mar-top-20 pad-btm-15 pad-left-10 pad-top-10 pad-right-10">
|
167 |
+
<div class="search-head">
|
168 |
+
Search results page tracking
|
169 |
+
</div>
|
170 |
+
<div class="grey-text mar-top-10 font-15">
|
171 |
+
To track product clicks on search results pages, you'll need to add the following code on the search results page. For more information, please refer to our documentation
|
172 |
+
</div>
|
173 |
+
<div class="pad-left-10 background-white unbxd-code">
|
174 |
+
<Mage::helper('unbxd_searchcore/analyticshelper')->getProductClickAttributes($product, $rank);>
|
175 |
+
</div>
|
176 |
+
</div>
|
177 |
+
|
178 |
+
<div class="row background-grey mar-top-20 pad-5 pad-left-10">
|
179 |
+
<div class="info-icon-big pull-left mar-right-10 background-center">
|
180 |
+
</div>
|
181 |
+
<div class="pad-top-10 grey-text">Note: We strongly suggest this step be implemented by a web developer. In case of any questions, please contact support
|
182 |
+
</div>
|
183 |
+
</div>
|
184 |
+
{{/if}}
|
185 |
+
|
186 |
+
</div>
|
187 |
+
</div>
|
188 |
+
</div>
|
189 |
+
</div>
|
190 |
+
|
191 |
+
</div>
|
skin/adminhtml/default/default/unbxd/recscore/templates/auto-suggest.html
ADDED
@@ -0,0 +1,278 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="row mar-0">
|
2 |
+
<div class="col-md-60 col-sm-60 magento-block pad-btm-20 pad-top-0">
|
3 |
+
<div class="row mar-0">
|
4 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block top-rad btm-rad">
|
5 |
+
<div class="row mar-0">
|
6 |
+
<div class="col-md-40 magento-head pad-0 border-0 mar-btm-10">
|
7 |
+
Autosuggest
|
8 |
+
</div>
|
9 |
+
|
10 |
+
<div class="col-md-10 mar-top-30 pull-right">
|
11 |
+
<div on-click="autosuggestToggle">
|
12 |
+
{{#if autosuggest_status}}
|
13 |
+
{{>switchon}}
|
14 |
+
{{else}}
|
15 |
+
{{>switchoff}}
|
16 |
+
{{/if}}
|
17 |
+
</div>
|
18 |
+
</div>
|
19 |
+
|
20 |
+
</div>
|
21 |
+
|
22 |
+
<div class="row mar-0">
|
23 |
+
<div class="col-md-50 magento-text ">
|
24 |
+
Display keyword suggestions, top searches & popular products when a user searches on your site. Enabling Unbxd Autosuggest will override Magento's default autocomplete widget.
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
</div>
|
29 |
+
</div>
|
30 |
+
|
31 |
+
<div class="col-md-60 col-sm-60 magento-block pad-btm-0 pad-top-0 brd-btm-0">
|
32 |
+
<div class="row mar-0">
|
33 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block brd-btm-0 pad-top-20 pad-btm-20 top-rad">
|
34 |
+
<div class="row mar-0">
|
35 |
+
<div class="col-md-60 border-0 pad-0 magento-head ">
|
36 |
+
Select Template
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
+
</div>
|
40 |
+
|
41 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block brd-btm-0 pad-top-20 pad-btm-20">
|
42 |
+
<div class="row mar-0">
|
43 |
+
<div class="col-md-100 magento-analytics-head pad-btm-20">
|
44 |
+
Select Skin
|
45 |
+
</div>
|
46 |
+
</div>
|
47 |
+
<div class="row mar-0 skins">
|
48 |
+
<div on-click="selectSkin:orange" alt="" class="skin_color skin1 box-35 skin1-{{autosuggest_skin}}"></div>
|
49 |
+
<div on-click="selectSkin:green" alt="" class="skin_color skin2 box-35 skin2-{{autosuggest_skin}}"></div>
|
50 |
+
<div on-click="selectSkin:grey" alt="" class="skin_color skin3 box-35 skin3-{{autosuggest_skin}}"></div>
|
51 |
+
<div on-click="selectSkin:blue" alt="" class="skin_color skin4 box-35 skin4-{{autosuggest_skin}}"></div>
|
52 |
+
<div id="colorPicker" class="custom-skin skin_color box-35 {{#if customColor}} selected{{/if}} magento-tooltip" data-content="choose custom color" style="background-color:{{skinBackground}}"></div>
|
53 |
+
</div>
|
54 |
+
</div>
|
55 |
+
</div>
|
56 |
+
</div>
|
57 |
+
|
58 |
+
<div class="col-md-60 col-sm-60 magento-block pad-btm-20 pad-top-0">
|
59 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 pad-btm-0 pad-left-12 btm-rad">
|
60 |
+
<div class="row mar-0">
|
61 |
+
|
62 |
+
<div class="col-lg-18 col-md-18 col-xs-18 magento-text2 magento-templates mar-btm-20 pull-left col-md-offset-2 col-xs-offset-2">
|
63 |
+
<div class="template1-{{autosuggest_skin}} custom-template1-{{customColor}}" style="background-color:{{skinBackground}}">
|
64 |
+
</div>
|
65 |
+
<div class='preview_template template-preview txt-center pad-top-35p template1-{{autosuggest_template}}-selected'>
|
66 |
+
<div class='preview_btn_holder display-inline back-white-circle box-40 mar-right-20 {{#if customColor}} hide {{/if}}' data-toggle="modal" data-target="#previewModal"
|
67 |
+
data-template="1" data-skin={{autosuggest_skin}}></div>
|
68 |
+
<div on-click="selectTemplate:1" class="tick-mark display-inline back-white-circle box-40"></div>
|
69 |
+
</div>
|
70 |
+
</div>
|
71 |
+
|
72 |
+
<div class="col-lg-18 col-md-18 col-xs-18 magento-text2 magento-templates col-md-offset-2 col-xs-offset-2 mar-btm-20 pull-left">
|
73 |
+
<div class="template2-{{autosuggest_skin}} custom-template2-{{customColor}}" style="background-color:{{skinBackground}}">
|
74 |
+
</div>
|
75 |
+
|
76 |
+
<div class='preview_template template-preview txt-center pad-top-35p template2-{{autosuggest_template}}-selected'>
|
77 |
+
<div class='preview_btn_holder display-inline back-white-circle box-40 mar-right-20 {{#if customColor}} hide {{/if}}' data-toggle="modal" data-target="#previewModal"
|
78 |
+
data-template="2" data-skin={{autosuggest_skin}}></div>
|
79 |
+
<div on-click="selectTemplate:2" class="tick-mark display-inline back-white-circle box-40"></div>
|
80 |
+
</div>
|
81 |
+
</div>
|
82 |
+
|
83 |
+
<div class="col-lg-18 col-md-18 col-xs-18 magento-text2 magento-templates col-md-offset-2 col-xs-offset-2 mar-btm-20 pull-left">
|
84 |
+
<div class="template3-{{autosuggest_skin}} custom-template3-{{customColor}}" style="background-color:{{skinBackground}}">
|
85 |
+
</div>
|
86 |
+
|
87 |
+
<div class='preview_template template-preview txt-center pad-top-35p template3-{{autosuggest_template}}-selected'>
|
88 |
+
<div class='preview_btn_holder display-inline back-white-circle box-40 mar-right-20 {{#if customColor}} hide {{/if}}' data-toggle="modal" data-target="#previewModal"
|
89 |
+
data-template="3" data-skin={{autosuggest_skin}}
|
90 |
+
></div>
|
91 |
+
<div on-click="selectTemplate:3" class="tick-mark display-inline back-white-circle box-40"></div>
|
92 |
+
</div>
|
93 |
+
</div>
|
94 |
+
|
95 |
+
<div class="col-lg-18 col-md-18 col-xs-18 magento-text2 magento-templates col-md-offset-2 mar-btm-20 pull-left">
|
96 |
+
<div class="template4-{{autosuggest_skin}} custom-template4-{{customColor}}" style="background-color:{{skinBackground}}">
|
97 |
+
</div>
|
98 |
+
<div class='preview_template template-preview txt-center pad-top-35p template4-{{autosuggest_template}}-selected'>
|
99 |
+
<div class='preview_btn_holder display-inline back-white-circle box-40 mar-right-20 {{#if customColor}} hide {{/if}}' data-toggle="modal" data-target="#previewModal"
|
100 |
+
data-template="4" data-skin={{autosuggest_skin}}></div>
|
101 |
+
<div on-click="selectTemplate:4" class="tick-mark display-inline back-white-circle box-40"></div>
|
102 |
+
</div>
|
103 |
+
</div>
|
104 |
+
|
105 |
+
<div class="col-lg-18 col-md-18 col-xs-18 magento-text2 magento-templates col-md-offset-2 col-xs-offset-2 mar-btm-20 pull-left">
|
106 |
+
<div class="template-coming width-70p"></div>
|
107 |
+
</div>
|
108 |
+
</div>
|
109 |
+
</div>
|
110 |
+
</div>
|
111 |
+
|
112 |
+
<div class="col-md-60 col-sm-60 magento-block pad-btm-0 pad-top-0 brd-btm-0">
|
113 |
+
<div class="row mar-0">
|
114 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 pad-btm-10 brd-btm-0 top-rad">
|
115 |
+
<div class="row mar-0">
|
116 |
+
<div class="col-md-0 magento-head border-0 pad-0 mar-btm-10">
|
117 |
+
Configure template
|
118 |
+
</div>
|
119 |
+
</div>
|
120 |
+
</div>
|
121 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 pad-btm-0 brd-btm-0 {{#if hideSuggestions}} hide {{/if}}">
|
122 |
+
<div class="row mar-0">
|
123 |
+
<div class="col-md-100 magento-subhead pad-btm-10">
|
124 |
+
Search Suggestions
|
125 |
+
</div>
|
126 |
+
<div class="col-md-60 magento-text pad-btm-20">
|
127 |
+
Search suggestions are automatically generated based on visitor's search query.
|
128 |
+
</div>
|
129 |
+
|
130 |
+
<div class="row mar-0">
|
131 |
+
<div class="col-md-25 magento-text mar-btm-30">
|
132 |
+
Number of suggestions.
|
133 |
+
</div>
|
134 |
+
<div class="col-md-15 mar-btm-30 col-md-offset-20">
|
135 |
+
<div class="fuelux pull-right">
|
136 |
+
<div class="pull-right">
|
137 |
+
<div class="spinbox">
|
138 |
+
<input type="text" class="form-control input-mini spinbox-input cursor-default background-white" disabled=true value={{autosuggest_max_suggestion}}>
|
139 |
+
<div class="spinbox-buttons btn-group btn-group-vertical">
|
140 |
+
<button on-click="noOfSuggestionsUp" type="button" class="btn btn-default spinbox-up btn-xs">
|
141 |
+
</button>
|
142 |
+
<button on-click="noOfSuggestionsDown" type="button" class="btn btn-default spinbox-down btn-xs">
|
143 |
+
</button>
|
144 |
+
</div>
|
145 |
+
</div>
|
146 |
+
</div>
|
147 |
+
</div>
|
148 |
+
</div>
|
149 |
+
</div>
|
150 |
+
|
151 |
+
|
152 |
+
<div class="col-md-60 magento-row-tabs mar-btm-40 brd-none">
|
153 |
+
<div class="autosuggest-inner-block">
|
154 |
+
<div class="col-md-60 magento-text autosuggest-text mar-btm-20 height-20">
|
155 |
+
<div class="pull-left pad-right-10">Top Queries </div>
|
156 |
+
<div class="info-icon-small pull-left magento-tooltip" data-content={{config.tooltips.topqueries}}>
|
157 |
+
</div>
|
158 |
+
</div>
|
159 |
+
<div class="col-md-51 magento-text mar-btm-30">
|
160 |
+
Enable to display top performing search queries first
|
161 |
+
</div>
|
162 |
+
<div class="col-md-9 mar-btm-30">
|
163 |
+
|
164 |
+
<div on-click="topqueriesToggle">
|
165 |
+
{{#if autosuggest_top_queries_status}}
|
166 |
+
{{>switchon}}
|
167 |
+
{{else}}
|
168 |
+
{{>switchoff}}
|
169 |
+
{{/if}}
|
170 |
+
</div>
|
171 |
+
|
172 |
+
</div>
|
173 |
+
<div class="clear"></div>
|
174 |
+
</div>
|
175 |
+
|
176 |
+
<div class="autosuggest-inner-block">
|
177 |
+
<div class="col-md-60 magento-text autosuggest-text mar-btm-20 height-20">
|
178 |
+
<div class="pull-left pad-right-10">Keyword Suggestions </div>
|
179 |
+
<div class="info-icon-small pull-left magento-tooltip" data-content={{config.tooltips.keywords}}>
|
180 |
+
</div>
|
181 |
+
</div>
|
182 |
+
<div class="col-md-51 magento-text mar-btm-30">
|
183 |
+
Enable to display intelligent keyword suggestions
|
184 |
+
</div>
|
185 |
+
<div class="col-md-9 mar-btm-30">
|
186 |
+
|
187 |
+
<div on-click="keywordsToggle">
|
188 |
+
{{#if autosuggest_keyword_status}}
|
189 |
+
{{>switchon}}
|
190 |
+
{{else}}
|
191 |
+
{{>switchoff}}
|
192 |
+
{{/if}}
|
193 |
+
</div>
|
194 |
+
|
195 |
+
</div>
|
196 |
+
<div class="clear"></div>
|
197 |
+
</div>
|
198 |
+
|
199 |
+
<div class="autosuggest-inner-block brd-btm-0">
|
200 |
+
<div class="col-md-60 magento-text autosuggest-text mar-btm-20 height-20">
|
201 |
+
<div class="pull-left pad-right-10">
|
202 |
+
Search Scope
|
203 |
+
</div>
|
204 |
+
<div class="info-icon-small pull-left magento-tooltip" data-content={{config.tooltips.searchscope}}>
|
205 |
+
</div>
|
206 |
+
</div>
|
207 |
+
<div class="col-md-51 magento-text mar-btm-30">
|
208 |
+
Enable to display scope suggestions within the autosuggest widget
|
209 |
+
</div>
|
210 |
+
<div class="col-md-9 mar-btm-30">
|
211 |
+
|
212 |
+
<div on-click="searchscopeToggle">
|
213 |
+
{{#if autosuggest_search_scope_status}}
|
214 |
+
{{>switchon}}
|
215 |
+
{{else}}
|
216 |
+
{{>switchoff}}
|
217 |
+
{{/if}}
|
218 |
+
</div>
|
219 |
+
</div>
|
220 |
+
<div class="clear"></div>
|
221 |
+
</div>
|
222 |
+
<div class="autosuggest_info_box">
|
223 |
+
<div class="info-icon-big pull-left mar-right-10 "
|
224 |
+
style="height:55px"></div>
|
225 |
+
<div class="pad-left-10 info-note">
|
226 |
+
In order for scope suggestions to work, you need to write a callback function to specify the search filters that will be applied when a customer clicks on a scope suggestion.
|
227 |
+
|
228 |
+
For more information on how to write this function, please refer to our
|
229 |
+
<a target="_blank" href="https://github.com/unbxd/autosuggest" class="blue-link-help">Github repo</a>
|
230 |
+
<div>
|
231 |
+
Note: We strongly suggest this step be implemented by a web developer. In case of any questions, please contact support
|
232 |
+
</div>
|
233 |
+
|
234 |
+
</div>
|
235 |
+
</div>
|
236 |
+
</div>
|
237 |
+
</div>
|
238 |
+
</div>
|
239 |
+
</div>
|
240 |
+
</div>
|
241 |
+
|
242 |
+
<div class="col-md-60 col-sm-60 magento-block pad-btm-0 pad-top-0">
|
243 |
+
<div class="row mar-0">
|
244 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 pad-btm-0 btm-rad">
|
245 |
+
<div class="row mar-0">
|
246 |
+
<div class="col-md-100 magento-autosuggest-head pad-btm-10 clearfix">
|
247 |
+
<div class="pull-left pad-right-10">
|
248 |
+
Popular Product Suggestions
|
249 |
+
</div>
|
250 |
+
<div class="info-icon-small pull-left magento-tooltip" data-content={{config.tooltips.popularProducts}}>
|
251 |
+
</div>
|
252 |
+
</div>
|
253 |
+
<div class="col-md-0 magento-text pad-btm-20 ">
|
254 |
+
Choose the maximum number of popular product thumbnails to be displayed
|
255 |
+
</div>
|
256 |
+
<div class="col-md-45 magento-text mar-btm-30">
|
257 |
+
Number of thumbnails
|
258 |
+
</div>
|
259 |
+
<div class="col-md-15 mar-btm-30">
|
260 |
+
<div class="fuelux">
|
261 |
+
<div class="spinbox thumb-spin" data-initialize="spinbox">
|
262 |
+
<input type="text" class="form-control input-mini spinbox-input cursor-default background-white" disabled=true value={{autosuggest_max_products}}>
|
263 |
+
<div class="spinbox-buttons btn-group btn-group-vertical">
|
264 |
+
<button on-click="noOfPopularProductsUp" type="button" class="btn btn-default spinbox-up btn-xs">
|
265 |
+
</button>
|
266 |
+
<button on-click="noOfPopularProductsDown" type="button" class="btn btn-default spinbox-down btn-xs">
|
267 |
+
</button>
|
268 |
+
</div>
|
269 |
+
</div>
|
270 |
+
</div>
|
271 |
+
</div>
|
272 |
+
</div>
|
273 |
+
</div>
|
274 |
+
</div>
|
275 |
+
</div>
|
276 |
+
</div>
|
277 |
+
|
278 |
+
{{>modal}}
|
skin/adminhtml/default/default/unbxd/recscore/templates/catalog.html
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="row mar-0">
|
2 |
+
<div class="col-md-60 col-sm-60 magento-block pad-top-0">
|
3 |
+
<div class="row mar-0">
|
4 |
+
|
5 |
+
|
6 |
+
{{^_unbxdObject.step1}}
|
7 |
+
<div class="row mar-0">
|
8 |
+
<div class="col-md-60 magento-head mar-btm-30" style="color: red;font-size: 20px;">Please authenticate Unbxd module
|
9 |
+
</div>
|
10 |
+
</div>
|
11 |
+
<div on-click="disabledClick" class="unbxd-cover">
|
12 |
+
</div>
|
13 |
+
{{/_unbxdObject.step1}}
|
14 |
+
|
15 |
+
|
16 |
+
<div class="{{^_unbxdObject.step1}} unbxd-disabler {{/_unbxdObject.step1}} unbxd-outer-block">
|
17 |
+
|
18 |
+
{{>catalogue}}
|
19 |
+
|
20 |
+
{{>customAttr}}
|
21 |
+
|
22 |
+
<div id="unbxdFilters" class="unbxd-outer-block">
|
23 |
+
|
24 |
+
</div>
|
25 |
+
|
26 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 pad-btm-20">
|
27 |
+
<div class="row mar-0">
|
28 |
+
<div class="col-md-60 border-0 pad-0 magento-head ">
|
29 |
+
Sync The Catalog Data
|
30 |
+
</div>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
|
34 |
+
|
35 |
+
<div class="col-md-60 col-sm-60 col-xs-60 pad-top-20 overflow-auto brd-top-btm-0 pad-btm-5">
|
36 |
+
<div class="col-md-60 magento-text ">
|
37 |
+
Sync your catalog data with the Unbxd Smartengage Engine once.
|
38 |
+
</div>
|
39 |
+
</div>
|
40 |
+
|
41 |
+
<div class="col-md-60 col-sm-60 col-xs-60 pad-top-20 overflow-auto brd-top-btm-0">
|
42 |
+
<div on-click="uploadData" class="col-md-20 button-black-magento1 width-220 {{#if disableButton}}disabled-btn{{/if}} " >
|
43 |
+
<div class="clickable-btn weight300 " style="color: #fff !important;padding-right: 16px">
|
44 |
+
SYNC CATALOG
|
45 |
+
</div>
|
46 |
+
</div>
|
47 |
+
</div>
|
48 |
+
|
49 |
+
|
50 |
+
|
51 |
+
<div class="col-md-60 col-sm-60 col-xs-60 brd-top-btm-0 pad-0 pad-left-50">
|
52 |
+
<div class="unbxd-err-msg">
|
53 |
+
{{dataErrorMsg}}
|
54 |
+
</div>
|
55 |
+
<div class="unbxd-success-msg">
|
56 |
+
{{dataWaitMsg}}
|
57 |
+
</div>
|
58 |
+
{{#if dataSuccessMsg}}
|
59 |
+
<div class="row mar-0">
|
60 |
+
<div class="success-icon-big box-50 pull-left" >
|
61 |
+
</div>
|
62 |
+
<div class="pull-left width-200 pad-left-10 pad-top-5">
|
63 |
+
<div class="sync-success">{{config.unbxdMessages.syncSuccess}}</div>
|
64 |
+
<div class="grey-text success-second-text">Last synced on {{lastSyncTime}}</div>
|
65 |
+
</div>
|
66 |
+
</div>
|
67 |
+
{{/if}}
|
68 |
+
</div>
|
69 |
+
|
70 |
+
<div class="col-md-60 col-sm-60 col-xs-60 pad-top-20 pad-btm-20 overflow-auto brd-top-btm-0 pad-top-5 pad-btm-20 btm-rad brd-btm">
|
71 |
+
<div class="col-md-60 col-sm-60 col-xs-60 bordered-div brd-lft brd-rgt background-grey pad-left-10 overflow-auto brd-top-btm-0">
|
72 |
+
<div class="info-icon-big pull-left mar-right-10 background-center" style="height:58px;"></div>
|
73 |
+
<div class="pad-top-10 grey-text">
|
74 |
+
Note: Your site's catalog data needs to be regularly synced with the Unbxd Smartengage Engine for relevant results to be displayed. Set-up a cronjob which performs the regular sync. For more datils <a target="_blank" href="http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/how_to_setup_a_cron_job" class="blue-link-help">click here</a>
|
75 |
+
</div>
|
76 |
+
</div>
|
77 |
+
</div>
|
78 |
+
|
79 |
+
</div>
|
80 |
+
|
81 |
+
|
82 |
+
</div>
|
83 |
+
</div>
|
84 |
+
</div>
|
skin/adminhtml/default/default/unbxd/{templates → recscore/templates}/credentails.html
RENAMED
@@ -1,22 +1,22 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
<div class="row mar-0 border-left-color pad-btm-10p">
|
4 |
-
<div class="col-md-60 col-sm-60 pad-0">
|
5 |
<div class="row mar-0">
|
6 |
-
<div class="col-md-60 col-sm-60 col-xs-60
|
7 |
<div class="row mar-0">
|
8 |
-
<div class="col-md-60
|
9 |
Authenticate the Unbxd Module
|
10 |
</div>
|
11 |
</div>
|
|
|
|
|
12 |
<div class="row mar-0">
|
13 |
-
<div class="col-md-60 magento-text text1
|
14 |
-
You will need an Unbxd Account in order to authenticate the Unbxd module
|
15 |
</div>
|
16 |
</div>
|
17 |
<div class="row mar-0">
|
18 |
-
<div class="col-md-60 magento-text text1
|
19 |
-
Create an
|
20 |
</div>
|
21 |
</div>
|
22 |
|
@@ -24,37 +24,39 @@
|
|
24 |
</div>
|
25 |
|
26 |
<div class="row mar-0">
|
27 |
-
<div class="col-md-60 col-sm-60 col-xs-60
|
28 |
|
29 |
<div class="row mar-0">
|
30 |
-
<div class="col-md-23
|
31 |
-
<div class="row">
|
32 |
<div class="col-md-60 col-sm-60 col-xs-60 magento-label mar-btm-7">
|
33 |
Your Site Key
|
34 |
</div>
|
35 |
</div>
|
36 |
-
<div class="row">
|
37 |
<div class="col-md-48 col-sm-20 col-xs-60">
|
38 |
<input type="{{#if step1}}password{{else}}text{{/if}}" class="magento-input" placeholder="Eg: AHS234dhbcskdj23jsd" value={{site_key}}>
|
39 |
</div>
|
40 |
<div class="col-md-10 col-sm-20 col-xs-60 clickable-btn magento-tooltip box-35"
|
41 |
-
data-
|
|
|
42 |
|
43 |
</div>
|
44 |
</div>
|
45 |
</div>
|
46 |
-
<div class="col-md-23
|
47 |
-
<div class="row">
|
48 |
<div class="col-md-60 col-sm-60 col-xs-60 magento-label mar-btm-7">
|
49 |
Secret Key
|
50 |
</div>
|
51 |
</div>
|
52 |
-
<div class="row">
|
53 |
<div class="col-md-48 col-sm-20 col-xs-60">
|
54 |
<input type="{{#if step1}}password{{else}}text{{/if}}" class="magento-input" placeholder="Eg: AHS234dhbcskdj23jsd" value={{secret_key}} >
|
55 |
</div>
|
56 |
<div class="col-md-10 col-sm-20 col-xs-60 clickable-btn magento-tooltip box-35"
|
57 |
-
data-
|
|
|
58 |
|
59 |
</div>
|
60 |
</div>
|
@@ -67,44 +69,39 @@
|
|
67 |
|
68 |
{{#if step1}}
|
69 |
<div class="row mar-0">
|
70 |
-
<div class="col-md-60 magento-success-block mar-btm-20">
|
71 |
-
<div class="row">
|
72 |
-
<div class="col-md-10 magento-analytics-tick-green">
|
73 |
|
74 |
</div>
|
75 |
-
<div class="col-md-43 pad-rgt-0">
|
76 |
-
<div class="row">
|
77 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-success-block-head
|
78 |
-
Authentication
|
79 |
-
</div>
|
80 |
-
</div>
|
81 |
-
<div class="row">
|
82 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-success-block-text weight300">
|
83 |
-
The extension is successfully authenticated
|
84 |
</div>
|
85 |
</div>
|
86 |
</div>
|
87 |
-
<div class="col-md-13">
|
88 |
<div on-click="reauthenticate" class="button-reauth-magento mar-top-5 width-170 pull-right clickable-btn">
|
89 |
REAUTHENTICATE
|
90 |
</div>
|
91 |
</div>
|
92 |
</div>
|
93 |
</div>
|
94 |
-
</div>
|
95 |
{{else}}
|
96 |
<div class="row mar-0">
|
97 |
<div on-click="authenticate" class="col-md-20
|
98 |
button-black-magento
|
99 |
{{#if btnDisabled}}disabled-btn{{/if}}
|
100 |
{{#if step1}}disabled-btn{{/if}}
|
101 |
-
width-190 clickable-btn unbxd-mar-left-30 unbxd-mar-btm-20" style="margin:0px auto;float:none;">
|
102 |
|
103 |
<div style="color: #fff !important;">
|
104 |
AUTHENTICATE
|
105 |
</div>
|
106 |
</div>
|
107 |
-
<div class="unbxd-
|
108 |
{{errorMsg}}
|
109 |
</div>
|
110 |
<div class="unbxd-success-msg unbxd-center-div" style="margin-left: 14% !important;">
|
1 |
+
<div class="row mar-0 magento-block pad-top-0">
|
2 |
+
<div class="col-md-60 col-sm-60 ">
|
|
|
|
|
3 |
<div class="row mar-0">
|
4 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block brd-btm-0 pad-top-20 pad-btm-20 top-rad">
|
5 |
<div class="row mar-0">
|
6 |
+
<div class="col-md-60 border-0 pad-0 magento-head ">
|
7 |
Authenticate the Unbxd Module
|
8 |
</div>
|
9 |
</div>
|
10 |
+
</div>
|
11 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block brd-btm-none">
|
12 |
<div class="row mar-0">
|
13 |
+
<div class="col-md-60 magento-text text1 ">
|
14 |
+
You will need an Unbxd Account in order to authenticate the Unbxd module.
|
15 |
</div>
|
16 |
</div>
|
17 |
<div class="row mar-0">
|
18 |
+
<div class="col-md-60 magento-text text1 ">
|
19 |
+
Create an <a href="//dashboard.unbxd.com/recommendations/#/register" target="_blank" style="color:#45b5c1;"> Unbxd Account </a>
|
20 |
</div>
|
21 |
</div>
|
22 |
|
24 |
</div>
|
25 |
|
26 |
<div class="row mar-0">
|
27 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-landing-block mar-btm-20 btm-rad">
|
28 |
|
29 |
<div class="row mar-0">
|
30 |
+
<div class="col-md-23 ">
|
31 |
+
<div class="row mar-0">
|
32 |
<div class="col-md-60 col-sm-60 col-xs-60 magento-label mar-btm-7">
|
33 |
Your Site Key
|
34 |
</div>
|
35 |
</div>
|
36 |
+
<div class="row mar-0">
|
37 |
<div class="col-md-48 col-sm-20 col-xs-60">
|
38 |
<input type="{{#if step1}}password{{else}}text{{/if}}" class="magento-input" placeholder="Eg: AHS234dhbcskdj23jsd" value={{site_key}}>
|
39 |
</div>
|
40 |
<div class="col-md-10 col-sm-20 col-xs-60 clickable-btn magento-tooltip box-35"
|
41 |
+
data-content={{config.tooltips.sitekey}}
|
42 |
+
data-container="#innerContainr" >
|
43 |
|
44 |
</div>
|
45 |
</div>
|
46 |
</div>
|
47 |
+
<div class="col-md-23 ">
|
48 |
+
<div class="row mar-0">
|
49 |
<div class="col-md-60 col-sm-60 col-xs-60 magento-label mar-btm-7">
|
50 |
Secret Key
|
51 |
</div>
|
52 |
</div>
|
53 |
+
<div class="row mar-0">
|
54 |
<div class="col-md-48 col-sm-20 col-xs-60">
|
55 |
<input type="{{#if step1}}password{{else}}text{{/if}}" class="magento-input" placeholder="Eg: AHS234dhbcskdj23jsd" value={{secret_key}} >
|
56 |
</div>
|
57 |
<div class="col-md-10 col-sm-20 col-xs-60 clickable-btn magento-tooltip box-35"
|
58 |
+
data-content={{config.tooltips.secretkey}}
|
59 |
+
data-container="#innerContainr" >
|
60 |
|
61 |
</div>
|
62 |
</div>
|
69 |
|
70 |
{{#if step1}}
|
71 |
<div class="row mar-0">
|
72 |
+
<div class="col-md-60 magento-success-block mar-btm-20 pad-left-50">
|
73 |
+
<div class="row mar-0 ">
|
74 |
+
<div class="col-md-10 magento-analytics-tick-green pad-left-15 pad-right-15">
|
75 |
|
76 |
</div>
|
77 |
+
<div class="col-md-43 mar-top-10 pad-rgt-0 pad-left-15 pad-right-15">
|
78 |
+
<div class="row mar-0">
|
79 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-success-block-head">
|
80 |
+
Authentication has been succesful
|
|
|
|
|
|
|
|
|
|
|
81 |
</div>
|
82 |
</div>
|
83 |
</div>
|
84 |
+
<div class="col-md-13 pad-left-15 pad-right-15">
|
85 |
<div on-click="reauthenticate" class="button-reauth-magento mar-top-5 width-170 pull-right clickable-btn">
|
86 |
REAUTHENTICATE
|
87 |
</div>
|
88 |
</div>
|
89 |
</div>
|
90 |
</div>
|
91 |
+
</div>
|
92 |
{{else}}
|
93 |
<div class="row mar-0">
|
94 |
<div on-click="authenticate" class="col-md-20
|
95 |
button-black-magento
|
96 |
{{#if btnDisabled}}disabled-btn{{/if}}
|
97 |
{{#if step1}}disabled-btn{{/if}}
|
98 |
+
width-190 clickable-btn unbxd-mar-left-30 unbxd-mar-btm-20 " style="margin:0px auto;float:none;">
|
99 |
|
100 |
<div style="color: #fff !important;">
|
101 |
AUTHENTICATE
|
102 |
</div>
|
103 |
</div>
|
104 |
+
<div class="unbxd-err-msg unbxd-center-div " style="margin-left: 14% !important;">
|
105 |
{{errorMsg}}
|
106 |
</div>
|
107 |
<div class="unbxd-success-msg unbxd-center-div" style="margin-left: 14% !important;">
|
skin/adminhtml/default/default/unbxd/recscore/templates/index.html
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="unbxd-container height-100 parent">
|
2 |
+
<div class="magent0-left-nav width-17 pull-left height-100 unbxd-left">
|
3 |
+
<div class="middle-nav-magento-dropdown unbxd-top-strip mar-btm-20">
|
4 |
+
<div class="middle-nav-text mar-btm-10 pad-btm-0" style="padding-top: 10px;">
|
5 |
+
Choose Website
|
6 |
+
</div>
|
7 |
+
<div class="middle-nav-dropdown mar-top-5 no-radius">
|
8 |
+
<div class="btn-group width-100 unbxd-border">
|
9 |
+
<select decorator='chosen:site' value={{site}} name="unbxd-site" id="selectSites">
|
10 |
+
{{#sites}}
|
11 |
+
<option value="{{name}}">{{name}}</option>
|
12 |
+
{{/sites}}
|
13 |
+
</select>
|
14 |
+
</div>
|
15 |
+
</div>
|
16 |
+
</div>
|
17 |
+
<div class="middle-nav-magento unbxd-left">
|
18 |
+
<ul class="magento-nav">
|
19 |
+
<li on-click='showCredentials' class="clickable-btn
|
20 |
+
{{#if _unbxdObject.activeStep.one}} magento-active {{/if}}
|
21 |
+
{{^config.states.credentials}} unbxd-state-incomplete {{/config.states.credentials}}">
|
22 |
+
<a>Authentication</a>
|
23 |
+
</li>
|
24 |
+
<li on-click='showCatalog' class="clickable-btn
|
25 |
+
{{#if _unbxdObject.activeStep.two}} magento-active{{/if}}
|
26 |
+
{{^config.states.catalog}} unbxd-state-incomplete {{/config.states.catalog}}">
|
27 |
+
<a>Catalog</a>
|
28 |
+
</li>
|
29 |
+
<li on-click='showAnalytics' class="clickable-btn
|
30 |
+
{{#if _unbxdObject.activeStep.three}} magento-active{{/if}}
|
31 |
+
{{^config.states.analytics}} unbxd-state-incomplete {{/config.states.analytics}}">
|
32 |
+
<a>Analytics</a>
|
33 |
+
</li>
|
34 |
+
{{#if config.unbxdRecsenabled}}
|
35 |
+
<li on-click='showWidgets' class="clickable-btn
|
36 |
+
{{#if _unbxdObject.activeStep.four}} magento-active{{/if}}">
|
37 |
+
<a>Widgets</a>
|
38 |
+
</li>
|
39 |
+
{{/if}}
|
40 |
+
{{#if config.unbxdSearchenabled}}
|
41 |
+
<li on-click='showAutosuggest' class="clickable-btn
|
42 |
+
{{#if _unbxdObject.activeStep.five}} magento-active{{/if}}">
|
43 |
+
<a>Auto Suggest</a>
|
44 |
+
</li>
|
45 |
+
<li on-click='showSearch' class="clickable-btn
|
46 |
+
{{#if _unbxdObject.activeStep.six}} magento-active{{/if}}">
|
47 |
+
<a>Search</a>
|
48 |
+
</li>
|
49 |
+
{{/if}}
|
50 |
+
</ul>
|
51 |
+
<div class="footer bottom-55 contact-us-footer" data-toggle="modal" data-target="#contactModal">
|
52 |
+
<div class="mail-box pull-left">
|
53 |
+
</div>
|
54 |
+
<div class="">Contact Support</div>
|
55 |
+
</div>
|
56 |
+
</div>
|
57 |
+
</div>
|
58 |
+
<div class="unbxd-right-div pull-left width-83 unbxd-right unbxd-scrollable-div">
|
59 |
+
<div id="innerContainr" class="inner-container-magento pad-top-34 pad-btm-40">
|
60 |
+
</div>
|
61 |
+
</div>
|
62 |
+
{{>contactUsModal}}
|
63 |
+
</div>
|
skin/adminhtml/default/default/unbxd/recscore/templates/partials/catalogue.html
ADDED
@@ -0,0 +1,125 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 pad-btm-20 top-rad">
|
3 |
+
<div class="row mar-0">
|
4 |
+
<div class="col-md-60 border-0 pad-0 magento-head ">
|
5 |
+
Map Catalog Attributes
|
6 |
+
</div>
|
7 |
+
</div>
|
8 |
+
</div>
|
9 |
+
|
10 |
+
|
11 |
+
<div class="col-md-60 col-sm-60 col-xs-60 pad-top-20 brd-btm-0 pad-btm-0">
|
12 |
+
<div class="row mar-0">
|
13 |
+
<div class="col-md-60 magento-text mar-btm-10">
|
14 |
+
Unbxd needs your catalog data in order to show accurate results.
|
15 |
+
</div>
|
16 |
+
</div>
|
17 |
+
<div class="row mar-0">
|
18 |
+
<div class="col-md-60 magento-text ">
|
19 |
+
Help the Unbxd Smartengage Engine make sense of this data by mapping your catalog attributes to the <br>
|
20 |
+
respective Unbxd attributes.
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
</div>
|
24 |
+
|
25 |
+
<div class="col-md-60 col-sm-60 col-xs-60 pad-top-20 pad-btm-20 brd-btm-0">
|
26 |
+
<div class="col-md-60 col-sm-60 col-xs-60 ">
|
27 |
+
<div class="mar-btm-n10">
|
28 |
+
<div class="col-md-60 col-sm-60 ">
|
29 |
+
<div class="table unbxd-cat-table table-magento table-magento1 unbxd-table width-70">
|
30 |
+
<div class="unbxd-thead">
|
31 |
+
<div class="unbxd-tr">
|
32 |
+
<div class="magento-tooltip unbxd-th pull-left width-45 weight300 unbxd-table-head"
|
33 |
+
data-content={{config.tooltips.unbxdAttribute}} >
|
34 |
+
Unbxd Attribute
|
35 |
+
</div>
|
36 |
+
<div class="magento-tooltip unbxd-th pull-right width-55 border-right-rad weight300 no-border-right unbxd-table-head" data-content="These are fields from {{_unbxdObject.siteName}}'s catalog which need to be mapped to the relevant Unbxd attribute" >
|
37 |
+
Magento Attribute
|
38 |
+
</div>
|
39 |
+
</div>
|
40 |
+
</div>
|
41 |
+
|
42 |
+
<div class="unbxd-rows" >
|
43 |
+
{{#mappedAttributes}}
|
44 |
+
<div class="tr-row">
|
45 |
+
<div data-content="{{tooltip}}" class=" td-left width-45 _tooltip bord-right" >
|
46 |
+
{{featured_field}}
|
47 |
+
</div>
|
48 |
+
|
49 |
+
{{#if enableEdit}}
|
50 |
+
<div class="td-right width-55">
|
51 |
+
<div class="btn-group width-100" >
|
52 |
+
<select disabled=disabled decorator='chosen'
|
53 |
+
value={{field_name}} name="unbxd-select" id="">
|
54 |
+
{{#magentoFields}}
|
55 |
+
<option class={{disabled}}
|
56 |
+
disabled={{disabled}}
|
57 |
+
value="{{this.field_name}}">
|
58 |
+
{{this.field_name}}
|
59 |
+
</option>
|
60 |
+
{{/magentoFields}}
|
61 |
+
</select>
|
62 |
+
</div>
|
63 |
+
</div>
|
64 |
+
{{else}}
|
65 |
+
<div class=" td-left width-55 _tooltip chosen-padding" >
|
66 |
+
{{field_name}}
|
67 |
+
</div>
|
68 |
+
{{/if}}
|
69 |
+
</div>
|
70 |
+
{{/mappedAttributes}}
|
71 |
+
</div>
|
72 |
+
</div>
|
73 |
+
|
74 |
+
</div>
|
75 |
+
</div>
|
76 |
+
|
77 |
+
<div class="row mar-0 mar-btm-10">
|
78 |
+
<div class="width-70 pull-left">
|
79 |
+
{{^enableEdit}}
|
80 |
+
<div class="pull-right pad-left-10">
|
81 |
+
<div on-click="enableEdit" class="unbxd-btn-outer width-140 clickable-btn unhoverd-btn">
|
82 |
+
<div class="button-edit-magento">
|
83 |
+
Edit Attribute
|
84 |
+
</div>
|
85 |
+
</div>
|
86 |
+
</div>
|
87 |
+
{{/enableEdit}}
|
88 |
+
|
89 |
+
{{#if enableEdit}}
|
90 |
+
<div class="pull-right {{saveMapping}} pad-left-10">
|
91 |
+
<div on-click="saveMapping" class="width-140 unbxd-btn-outer clickable-btn">
|
92 |
+
<div class="button-edit-magento button-save-magento mar-0-auto width-70">
|
93 |
+
Save
|
94 |
+
</div>
|
95 |
+
</div>
|
96 |
+
</div>
|
97 |
+
|
98 |
+
<div class="pull-right pad-left-10">
|
99 |
+
<div on-click="disableEdit" class=" width-140 clickable-btn unbxd-btn-outer">
|
100 |
+
<div class="button-edit-magento button-cancel-magento mar-0-auto width-70">
|
101 |
+
Cancel
|
102 |
+
</div>
|
103 |
+
</div>
|
104 |
+
</div>
|
105 |
+
{{/if}}
|
106 |
+
</div>
|
107 |
+
|
108 |
+
<div class="width-30 pull-left pad-top-5">
|
109 |
+
{{#if successMsg}}
|
110 |
+
<div class="mar-left-15 unbxd-success-msg">
|
111 |
+
<div class="unbxd-saved"></div>
|
112 |
+
{{successMsg}}
|
113 |
+
</div>
|
114 |
+
{{/if}}
|
115 |
+
<div class="unbxd-err-msg">
|
116 |
+
{{errorMsg}}
|
117 |
+
</div>
|
118 |
+
</div>
|
119 |
+
|
120 |
+
</div>
|
121 |
+
|
122 |
+
|
123 |
+
|
124 |
+
</div>
|
125 |
+
</div>
|
skin/adminhtml/default/default/unbxd/recscore/templates/partials/contact-form.html
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="modal fade template-preview-modal contact-us-modal" id="contactModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
2 |
+
<div class="modal-dialog pad-left-10p">
|
3 |
+
|
4 |
+
<div class="mail-popup" style="display: block;">
|
5 |
+
<div class="mail-popup-head mail-box pull-left pad-top-6p">
|
6 |
+
</div>
|
7 |
+
<div class="mail-popup-head pad-right-10">
|
8 |
+
SEND MAIL
|
9 |
+
<span class="close-icon-round pull-right back-pos-0-0 clickable"
|
10 |
+
data-dismiss="modal" aria-label="Close">
|
11 |
+
</span>
|
12 |
+
</div>
|
13 |
+
|
14 |
+
<div class="mail-popup-content">
|
15 |
+
<div class="mar-btm-20 to-holder ">
|
16 |
+
<span>To</span>
|
17 |
+
<input type="text" title="" value={{config.mail.to}} readonly="readonly" >
|
18 |
+
</div>
|
19 |
+
<div class="mar-btm-20 to-holder cc-holder cc-div">
|
20 |
+
<span class="pull-left pad-right-10">Cc</span>
|
21 |
+
<div class="emailid-collection">
|
22 |
+
{{#each ccEmailIds}}
|
23 |
+
<div>{{id}} <span on-click="removeId" class="remove-id"></span></div>
|
24 |
+
{{/each}}
|
25 |
+
|
26 |
+
<input on-keydown="addIdToCollection" type="text" title="" value={{ccMailId}} >
|
27 |
+
</div>
|
28 |
+
|
29 |
+
</div>
|
30 |
+
<div class="mar-btm-20 to-holder body-holder">
|
31 |
+
<textarea name="" id="" cols="30" rows="10"
|
32 |
+
class="mail-body"
|
33 |
+
value={{mailBody}}>
|
34 |
+
</textarea>
|
35 |
+
</div>
|
36 |
+
<div>
|
37 |
+
<input type="submit" id="unbxdSend" class="mail-send-btn" title="send" value="SEND"
|
38 |
+
on-click="sendMail" data-dismiss="modal" aria-label="Close">
|
39 |
+
</div>
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
|
43 |
+
</div>
|
44 |
+
</div>
|
skin/adminhtml/default/default/unbxd/recscore/templates/partials/custom-attr.html
ADDED
@@ -0,0 +1,143 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 pad-btm-20">
|
2 |
+
<div class="row mar-0">
|
3 |
+
<div class="col-md-60 border-0 pad-0 magento-head ">
|
4 |
+
Add Custom Attributes <span class="grey-text">[Optional]</span>
|
5 |
+
</div>
|
6 |
+
</div>
|
7 |
+
</div>
|
8 |
+
|
9 |
+
|
10 |
+
<div class="col-md-60 col-sm-60 col-xs-60 pad-top-20 brd-btm-0 pad-btm-0">
|
11 |
+
<div class="col-md-60 magento-text ">
|
12 |
+
Certain fields like material, occasion, style may be present in {{_unbxdObject.siteName}}'s catalog and can be used to improve recommendations or be displayed in the search results. Since these are not default Unbxd attributes, please specify the data type for these fields.
|
13 |
+
</div>
|
14 |
+
</div>
|
15 |
+
|
16 |
+
<div class="col-md-60 col-sm-60 col-xs-60 pad-top-20 pad-btm-20 brd-top-btm-0 height-100px add-attr">
|
17 |
+
<div on-click="showCustomAttribute" class="col-md-20 button-black-magento1 width-220 btn-add-attribute">
|
18 |
+
<div class="clickable-btn weight300" style="color: #fff !important;padding-right:16px;">
|
19 |
+
ADD ATTRIBUTE
|
20 |
+
</div>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
<div class="col-md-60 col-sm-60 col-xs-60 pad-top-20 pad-btm-20 brd-top-btm-0 custom-attributes">
|
24 |
+
|
25 |
+
<div>
|
26 |
+
<div class="width-88 pad-btm-10">
|
27 |
+
<div class="tr-row">
|
28 |
+
<div class="magento-tooltip unbxd-th pull-left width-35 pad-top-0 unbxd-table-head" data-content="Custom attributes are fields specific to your product catalog which aren’t included in recommendations or search results by default">
|
29 |
+
Custom Attribute
|
30 |
+
</div>
|
31 |
+
<div class=" unbxd-th pull-left width-45 border-right-rad pad-top-0 unbxd-table-head">
|
32 |
+
Data-Type
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
<div class="cudtom-attr-rows">
|
36 |
+
{{#each customAttributes:i}} {{>item}} {{/each}}
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
+
|
40 |
+
|
41 |
+
<div class="row mar-0 ">
|
42 |
+
|
43 |
+
<div class="width-70 pull-left">
|
44 |
+
<div class="pull-right pad-left-10 mar-left-5">
|
45 |
+
<div on-click="saveCustomAttribute" class="unbxd-btn-outer width-140 clickable-btn {{disableSaveCustomAttr}}">
|
46 |
+
<div class="button-edit-magento button-save-magento mar-0-auto width-70">
|
47 |
+
Save
|
48 |
+
</div>
|
49 |
+
</div>
|
50 |
+
</div>
|
51 |
+
</div>
|
52 |
+
|
53 |
+
<div class="width-30 pull-left pad-top-5">
|
54 |
+
{{#if customAttrSucessMsg}}
|
55 |
+
<div class="_unbxd-success unbxd-success-msg">
|
56 |
+
<div class="unbxd-saved"></div>
|
57 |
+
{{customAttrSucessMsg}}
|
58 |
+
</div>
|
59 |
+
{{/if}}
|
60 |
+
<div class="_unbxd-err unbxd-err-msg">
|
61 |
+
{{customAttrErrorMsg}}
|
62 |
+
</div>
|
63 |
+
</div>
|
64 |
+
|
65 |
+
</div>
|
66 |
+
|
67 |
+
<div class="row mar-0">
|
68 |
+
<div class="col-md-60 magento-text mar-btm-20 mar-top-20">
|
69 |
+
For a detailed explanation of data-types, click
|
70 |
+
<a target="_blank" href="http://docs.unbxd.com/recommendations/platforms/magento/integration.html"
|
71 |
+
class="blue-link-help">here</a>
|
72 |
+
</div>
|
73 |
+
<div id="dataHelp" class="width-60" style="display:none">
|
74 |
+
<div class="tr-row">
|
75 |
+
<div class="unbxd-th pull-left width-40 help-table-head unbxd-border">
|
76 |
+
Data-type
|
77 |
+
</div>
|
78 |
+
<div class=" unbxd-th pull-left width-40 help-table-head unbxd-border border-right-rad" >
|
79 |
+
Description
|
80 |
+
</div>
|
81 |
+
</div>
|
82 |
+
<div id="unbxdHelpRows" class="cudtom-attr-rows">
|
83 |
+
<div class="tr-row" style="height:35px">
|
84 |
+
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left">
|
85 |
+
text
|
86 |
+
</div>
|
87 |
+
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
88 |
+
Any string value
|
89 |
+
</div>
|
90 |
+
</div>
|
91 |
+
<div class="tr-row" style="height:35px">
|
92 |
+
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left">
|
93 |
+
decimal
|
94 |
+
</div>
|
95 |
+
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
96 |
+
Any decimal
|
97 |
+
</div>
|
98 |
+
</div>
|
99 |
+
<div class="tr-row" style="height:35px">
|
100 |
+
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left">
|
101 |
+
number
|
102 |
+
</div>
|
103 |
+
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
104 |
+
Any integer
|
105 |
+
</div>
|
106 |
+
</div>
|
107 |
+
<div class="tr-row" style="height:35px">
|
108 |
+
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left">
|
109 |
+
longText
|
110 |
+
</div>
|
111 |
+
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
112 |
+
Any string value
|
113 |
+
</div>
|
114 |
+
</div>
|
115 |
+
<div class="tr-row" style="height:35px">
|
116 |
+
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left">
|
117 |
+
link
|
118 |
+
</div>
|
119 |
+
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
120 |
+
Any URL
|
121 |
+
</div>
|
122 |
+
</div>
|
123 |
+
<div class="tr-row" style="height:35px">
|
124 |
+
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left">
|
125 |
+
date
|
126 |
+
</div>
|
127 |
+
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
128 |
+
SO 8601 date (YYYYMMDDTHH:MM:SSZ)
|
129 |
+
</div>
|
130 |
+
</div>
|
131 |
+
<div class="tr-row" style="height:35px">
|
132 |
+
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left">
|
133 |
+
bool
|
134 |
+
</div>
|
135 |
+
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
136 |
+
Can be “true” OR “false”
|
137 |
+
</div>
|
138 |
+
</div>
|
139 |
+
</div>
|
140 |
+
</div>
|
141 |
+
</div>
|
142 |
+
</div>
|
143 |
+
</div>
|
skin/adminhtml/default/default/unbxd/recscore/templates/partials/filters.html
ADDED
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 pad-btm-20 brd-btm-0 clickable" on-click="showFilters">
|
2 |
+
<div class="row mar-0">
|
3 |
+
<div class="col-md-60 border-0 pad-0 magento-head" >
|
4 |
+
Filter Catalog Data
|
5 |
+
<span class="optional-text">[Optional]</span>
|
6 |
+
{{#if filterShown}}
|
7 |
+
<div class="minus-icon pull-right clickable"></div>
|
8 |
+
{{else}}
|
9 |
+
<div class="plus-icon pull-right clickable"></div>
|
10 |
+
{{/if}}
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
|
15 |
+
<div class="filter_toggle">
|
16 |
+
|
17 |
+
<div class="col-md-60 col-sm-60 col-xs-60 pad-top-20 pad-btm-20 bordered-div brd-btm-0 brd-top-0">
|
18 |
+
<div class="col-md-60 col-sm-60 col-xs-60 background-grey pad-left-10 overflow-auto brd-top-btm-0">
|
19 |
+
<div class="info-icon-big pull-left mar-right-10 background-center" style="height:58px;"></div>
|
20 |
+
<div class="pad-top-10 grey-text unbxd-info-text" >
|
21 |
+
Note: The products whose status is disabled will not be updated
|
22 |
+
</div>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
|
26 |
+
<div class="col-md-60 col-sm-60 col-xs-60 pad-top-20 pad-btm-20 brd-top-btm-0 rules-block">
|
27 |
+
<div class="row mar-0">
|
28 |
+
<div class="col-md-30">
|
29 |
+
<div class="grey-text" style="font-size:16.45px;">
|
30 |
+
Add filter:
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
<div class="col-md-30">
|
34 |
+
<div class="magento-text pull-right">
|
35 |
+
<input type="checkbox" id="chkOutofStock" checked='{{include_out_of_stock}}'
|
36 |
+
class="mar-top-0 pad-right-10">
|
37 |
+
Include out of stock products
|
38 |
+
</div>
|
39 |
+
</div>
|
40 |
+
</div>
|
41 |
+
|
42 |
+
<div class="row rules-block">
|
43 |
+
{{#each filters:i}}
|
44 |
+
<div class="add-filter mar-top-15 col-md-17">
|
45 |
+
<div class="close-icon-round pull-right right-top-edge clickable"
|
46 |
+
on-click="removeFilter">
|
47 |
+
</div>
|
48 |
+
<div class="filter-select-box {{#if noField}} unbxd-input-error-parent {{/if}}">
|
49 |
+
<select decorator='chosen:site' value={{field_name}} name="unbxd-site">
|
50 |
+
{{#magentoFileds}}
|
51 |
+
<option class={{disabled}}
|
52 |
+
disabled={{disabled}}
|
53 |
+
value="{{this.field_name}}">
|
54 |
+
{{this.field_name}}
|
55 |
+
</option>
|
56 |
+
{{/magentoFileds}}
|
57 |
+
</select>
|
58 |
+
</div>
|
59 |
+
<div class="filter-select-box ">
|
60 |
+
<select decorator='chosen:site' value="{{field_type}}" name="unbxd-site">
|
61 |
+
<option value="string">Equal to</option>
|
62 |
+
<option value="number">In between</option>
|
63 |
+
</select>
|
64 |
+
</div>
|
65 |
+
{{#if field_type === 'string'}}
|
66 |
+
<div class="filter-input-box">
|
67 |
+
<input type="text" class="{{#if noValue}} unbxd-input-error {{/if}}"
|
68 |
+
value="{{value}}" on-keyup="valueChange">
|
69 |
+
</div>
|
70 |
+
{{/if}}
|
71 |
+
|
72 |
+
{{#if field_type === 'number'}}
|
73 |
+
<div class="filter-input-box filter-input-box-number">
|
74 |
+
<input class="{{#if noFrom}} unbxd-input-error {{/if}}"
|
75 |
+
value="{{from}}" on-keydown="fromValueChange" placeholder="From">
|
76 |
+
<input class="{{#if noTo}} unbxd-input-error {{/if}}"
|
77 |
+
value="{{to}}" on-keydown="toValueChange" placeholder="To">
|
78 |
+
</div>
|
79 |
+
{{/if}}
|
80 |
+
|
81 |
+
</div>
|
82 |
+
|
83 |
+
<div class="after-rule mar-top-15 pad-top-7p col-md-4 pad-left-right-0">
|
84 |
+
<div class="hr-line pull-left width-25p"></div>
|
85 |
+
<div class="pull-left rule-after-text width-50p pad-top-6p grey-text">OR</div>
|
86 |
+
<div class="hr-line pull-left width-25p"></div>
|
87 |
+
</div>
|
88 |
+
{{/each}}
|
89 |
+
|
90 |
+
<div class="add-filter mar-top-15 clickable
|
91 |
+
col-md-17 {{#if nomoreFilters}} hide{{/if}}">
|
92 |
+
<div class="centered-div mar-0-auto width-40p" style="margin-top:17%">
|
93 |
+
<div on-click="addFilter">
|
94 |
+
<div class="add-icon mar-0-auto bolder-grey">
|
95 |
+
</div>
|
96 |
+
<div class="grey-text pad-top-10" >
|
97 |
+
Add a new rule
|
98 |
+
</div>
|
99 |
+
</div>
|
100 |
+
|
101 |
+
</div>
|
102 |
+
</div>
|
103 |
+
</div>
|
104 |
+
|
105 |
+
|
106 |
+
</div>
|
107 |
+
|
108 |
+
<div class="col-md-60 col-sm-60 col-xs-60 pad-top-20 pad-btm-20 brd-top-btm-0 overflow-auto pad-btm-20">
|
109 |
+
|
110 |
+
<div class="mar-0-auto border-grey filters-saved-div clickable
|
111 |
+
{{#if filterSaveDisabled}} hide {{/if}}" on-click="saveFilters">
|
112 |
+
<div class="save-icon">
|
113 |
+
</div>
|
114 |
+
<div>
|
115 |
+
Save
|
116 |
+
</div>
|
117 |
+
</div>
|
118 |
+
|
119 |
+
{{#if saveSuccess}}
|
120 |
+
<div class="width-270 mar-0-auto border-grey filters-saved-div
|
121 |
+
{{#unless saveSuccess}} hide {{/unless}} " >
|
122 |
+
<div class="success-icon">
|
123 |
+
</div>
|
124 |
+
<div class="unbxd-success-msg">
|
125 |
+
Saved
|
126 |
+
</div>
|
127 |
+
</div>
|
128 |
+
{{/if}}
|
129 |
+
|
130 |
+
</div>
|
131 |
+
</div>
|
skin/adminhtml/default/default/unbxd/recscore/templates/partials/preview-modal.html
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="modal fade template-preview-modal" id="previewModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
2 |
+
<div class="modal-dialog pad-top-10" data-dismiss="modal" aria-label="Close" >
|
3 |
+
|
4 |
+
<div id="test" class="image-div template-preview-modal-{{templatePreview}}">
|
5 |
+
</div>
|
6 |
+
|
7 |
+
</div>
|
8 |
+
</div>
|
9 |
+
|
10 |
+
|
skin/adminhtml/default/default/unbxd/{templates/custom.html → recscore/templates/partials/row.html}
RENAMED
@@ -1,16 +1,18 @@
|
|
1 |
<div class="tr-row">
|
2 |
|
3 |
-
<div class="td-left width-
|
4 |
<div class="btn-group width-100" >
|
5 |
<select disabled={{disabled}} decorator='chosen' value={{field_name}} name="unbxd-customattr" id="">
|
6 |
{{#magentoFields}}
|
7 |
-
<option class={{disabled}} value="{{
|
|
|
|
|
8 |
{{/magentoFields}}
|
9 |
</select>
|
10 |
</div>
|
11 |
</div>
|
12 |
|
13 |
-
<div class="td-right width-
|
14 |
<div class="btn-group width-100">
|
15 |
<select decorator='chosen' value="{{datatype}}"
|
16 |
on-change="changeOfUnbxdAttr" name="unbxd-customattr" id="">
|
@@ -24,8 +26,10 @@
|
|
24 |
<div class="pull-left width-20">
|
25 |
<div on-click="removeRow" class="remove-row clickable-btn pull-left">
|
26 |
</div>
|
|
|
27 |
<div on-click="newTodo" class="add-row clickable-btn pull-left">
|
28 |
</div>
|
|
|
29 |
</div>
|
30 |
|
31 |
</div>
|
1 |
<div class="tr-row">
|
2 |
|
3 |
+
<div class="td-left width-35 custom-attributes-td magento-border-left pull-left">
|
4 |
<div class="btn-group width-100" >
|
5 |
<select disabled={{disabled}} decorator='chosen' value={{field_name}} name="unbxd-customattr" id="">
|
6 |
{{#magentoFields}}
|
7 |
+
<option class={{disabled}} value="{{this.field_name}}">
|
8 |
+
{{this.field_name}}
|
9 |
+
</option>
|
10 |
{{/magentoFields}}
|
11 |
</select>
|
12 |
</div>
|
13 |
</div>
|
14 |
|
15 |
+
<div class="td-right width-45 custom-attributes-td magento-border-right pull-left">
|
16 |
<div class="btn-group width-100">
|
17 |
<select decorator='chosen' value="{{datatype}}"
|
18 |
on-change="changeOfUnbxdAttr" name="unbxd-customattr" id="">
|
26 |
<div class="pull-left width-20">
|
27 |
<div on-click="removeRow" class="remove-row clickable-btn pull-left">
|
28 |
</div>
|
29 |
+
{{#if field_name !== "" && datatype !== ""}}
|
30 |
<div on-click="newTodo" class="add-row clickable-btn pull-left">
|
31 |
</div>
|
32 |
+
{{/if}}
|
33 |
</div>
|
34 |
|
35 |
</div>
|
skin/adminhtml/default/default/unbxd/recscore/templates/partials/switch-off.html
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="bootstrap-switch bootstrap-switch-off pull-left">
|
2 |
+
<div class="width-170 mar-left-56n">
|
3 |
+
<span class="bootstrap-switch-label">
|
4 |
+
|
5 |
+
</span>
|
6 |
+
<span class="bootstrap-switch-handle-off bootstrap-switch-default width-56 mar-left-32p">
|
7 |
+
OFF
|
8 |
+
</span>
|
9 |
+
</div>
|
10 |
+
</div>
|
skin/adminhtml/default/default/unbxd/recscore/templates/partials/switch-on.html
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="bootstrap-switch pull-left">
|
2 |
+
<div class="width-170">
|
3 |
+
<span class="bootstrap-switch-handle-on bootstrap-switch-primary pull-left">
|
4 |
+
ON
|
5 |
+
</span>
|
6 |
+
<span class="bootstrap-switch-label pull-left width-60 height-30">
|
7 |
+
|
8 |
+
</span>
|
9 |
+
</div>
|
10 |
+
</div>
|
skin/adminhtml/default/default/unbxd/recscore/templates/search/api.html
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="row mar-0 magento-block pad-top-0">
|
2 |
+
<div class="row mar-0">
|
3 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block brd-btm-0 magento-breadcrum">
|
4 |
+
<div class="row mar-0">
|
5 |
+
<div class="col-md-40 magento-bread-text ">
|
6 |
+
<span class="breadcrum-prev clickable" on-click="goBack">Search</span>
|
7 |
+
<span class="breadcrumb-arrow"></span>
|
8 |
+
<span class="breadcrum-current">API Integration</span>
|
9 |
+
</div>
|
10 |
+
</div>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
|
14 |
+
<div class="row mar-0">
|
15 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20">
|
16 |
+
<div class="row mar-0">
|
17 |
+
<div class="col-md-60 border-0 pad-0 magento-head mar-btm-10">
|
18 |
+
API Integration
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
|
22 |
+
<div class="row mar-0">
|
23 |
+
<div class="col-md-60 magento-text2 magento-text">
|
24 |
+
UNBXD search will replace the default magento catalog search. Following search functionalities will be supported
|
25 |
+
<ul>
|
26 |
+
<li>Relevant Search</li>
|
27 |
+
<li>Pagination</li>
|
28 |
+
<li>Sorting</li>
|
29 |
+
<li>Spellcheck</li>
|
30 |
+
<li>Facets</li>
|
31 |
+
<li>Filters</li>
|
32 |
+
</ul>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
|
38 |
+
<div class="row mar-0">
|
39 |
+
|
40 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 brd-top-0 pad-top-0">
|
41 |
+
<div class="row mar-0">
|
42 |
+
<div class="col-md-50 border-0 magento-head pull-left mar-btm-10">
|
43 |
+
Activate or Deactivate API Integration
|
44 |
+
</div>
|
45 |
+
<div class="col-md-50 magento-text mar-btm-30 unbxd-error-msg ">
|
46 |
+
<div class="pull-right">{{errorMsg}}</div>
|
47 |
+
</div>
|
48 |
+
<div class="col-md-7 pad-btm-20 mar-mtop-30 pull-right col-md-offset-3">
|
49 |
+
<div on-click="toggleAPIIntegration">
|
50 |
+
{{#if search_mod_status}}
|
51 |
+
{{>switchon}}
|
52 |
+
{{else}}
|
53 |
+
{{>switchoff}}
|
54 |
+
{{/if}}
|
55 |
+
</div>
|
56 |
+
</div>
|
57 |
+
<div class="clear"></div>
|
58 |
+
|
59 |
+
<div class="search_info_box">
|
60 |
+
<div class="info-icon-big pull-left mar-right-10 box-30"></div>
|
61 |
+
<span>Note</span> : If you have implemented custom templates or installed third party modules some of the functionalities may not work. Please contact our support team at
|
62 |
+
<a href="mailto:support@unbxd.com">support@unbxd.com</a> and we will help you out to fix it.
|
63 |
+
</div>
|
64 |
+
</div>
|
65 |
+
</div>
|
66 |
+
</div>
|
67 |
+
|
68 |
+
</div>
|
skin/adminhtml/default/default/unbxd/recscore/templates/search/hosted.html
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="row mar-0 magento-block pad-top-0">
|
2 |
+
|
3 |
+
<div class="row mar-0">
|
4 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block brd-btm-0 magento-breadcrum top-rad">
|
5 |
+
<div class="row mar-0">
|
6 |
+
<div class="col-md-40 magento-bread-text ">
|
7 |
+
<span class="breadcrum-prev clickable" on-click="goBack">Search</span>
|
8 |
+
<span class="breadcrumb-arrow"></span>
|
9 |
+
<span class="breadcrum-current">Hosted Search</span>
|
10 |
+
</div>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
|
15 |
+
<div class="row mar-0">
|
16 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 pad-btm-20 rad-btm ">
|
17 |
+
<div class="row mar-0">
|
18 |
+
<div class="col-md-60 border-0 pad-0 magento-head mar-btm-10">
|
19 |
+
Hosted Search
|
20 |
+
</div>
|
21 |
+
</div>
|
22 |
+
|
23 |
+
<div class="row mar-0">
|
24 |
+
<div class="col-md-60 magento-text2 magento-text">
|
25 |
+
Redirect visitors to a subdomain (search.yoursite.com) when they search. To get started:
|
26 |
+
<ul>
|
27 |
+
<li>
|
28 |
+
The Unbxd team will create the hosted search results page for your site. This page will be identical to your site in styling & design
|
29 |
+
</li>
|
30 |
+
<li>
|
31 |
+
You’ll then need to add a CNAME record which will point to the UNBXD hosted search endpoint. Here are the steps to add the CNAME “search.yoursite.com”
|
32 |
+
<ul class="mar-top-0">
|
33 |
+
<li> Login to your domain management system </li>
|
34 |
+
<li> Navigate to DNS management </li>
|
35 |
+
<li> Find the CNAME records section and add a new CNAME record
|
36 |
+
</li>
|
37 |
+
<li>Enter the value for your subdomain in the host field. E.g. search.yoursite.com</li>
|
38 |
+
</ul>
|
39 |
+
</li>
|
40 |
+
</ul>
|
41 |
+
</div>
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
</div>
|
45 |
+
|
46 |
+
|
47 |
+
<div class="row mar-0 {{#if hostedSearch}} hide {{/if}}">
|
48 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 pad-top-20 txt-center">
|
49 |
+
<div class="row mar-0">
|
50 |
+
<div class="col-md-100 magento-text mar-btm-30">
|
51 |
+
To implement hosted search, please contact our support team. Once we receive a request, we’ll get back to you within 24 hours
|
52 |
+
</div>
|
53 |
+
<div class="">
|
54 |
+
<input class="btn-magento-blue
|
55 |
+
{{#if requestedSetup}} disabled-btn {{/if}}" type="button" id="contact_support"
|
56 |
+
value="{{#if requestedSetup}} Requested For Setup{{else}} Request For Setup {{/if}}" data-toggle="modal" data-hostedSearch=true
|
57 |
+
data-target="#contactModal">
|
58 |
+
</div>
|
59 |
+
<div class="magento-text pad-top-20">
|
60 |
+
To know more about hosted search, refer our <a href="#" title="documentation">documentation</a>
|
61 |
+
</div>
|
62 |
+
</div>
|
63 |
+
</div>
|
64 |
+
</div>
|
65 |
+
|
66 |
+
<div class="row mar-0 {{^hostedSearch}} hide {{/hostedSearch}}">
|
67 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block pad-top-20 brd-top-0 pad-top-0 btm-rad">
|
68 |
+
<div class="row mar-0">
|
69 |
+
<div class="col-md-50 border-0 magento-head pull-left mar-btm-10">
|
70 |
+
Activate or Deactivate Hosted Search
|
71 |
+
</div>
|
72 |
+
<div class="col-md-50 magento-text mar-mtop-20 unbxd-error-msg ">
|
73 |
+
<div class="pull-right">{{errorMsg}}</div>
|
74 |
+
</div>
|
75 |
+
<div class="col-md-7 pad-btm-20 mar-mtop-30 pull-right col-md-offset-3">
|
76 |
+
<div on-click="toggleSearchIntegration">
|
77 |
+
{{#if search_hosted_status}}
|
78 |
+
{{>switchon}}
|
79 |
+
{{else}}
|
80 |
+
{{>switchoff}}
|
81 |
+
{{/if}}
|
82 |
+
</div>
|
83 |
+
</div>
|
84 |
+
<div class="clear"></div>
|
85 |
+
|
86 |
+
<div class="search_info_box">
|
87 |
+
<div class="info-icon-big pull-left mar-right-10 box-30"></div>
|
88 |
+
<span>Note</span> : If you have implemented custom templates or installed third party modules some of the functionalities may not work. Please contact our support team at
|
89 |
+
<a href="mailto:support@unbxd.com">support@unbxd.com</a> and we will help you out to fix it.
|
90 |
+
</div>
|
91 |
+
</div>
|
92 |
+
</div>
|
93 |
+
</div>
|
94 |
+
|
95 |
+
</div>
|
skin/adminhtml/default/default/unbxd/recscore/templates/search/landing.html
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="row mar-0 magento-block pad-top-0">
|
2 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block top-rad btm-rad">
|
3 |
+
<div class="row mar-0">
|
4 |
+
<div class="col-md-60 border-0 pad-0 magento-head mar-btm-10">
|
5 |
+
Choose a method to implement search
|
6 |
+
</div>
|
7 |
+
</div>
|
8 |
+
|
9 |
+
|
10 |
+
|
11 |
+
<div class="row mar-0" on-click="showHostedSearch">
|
12 |
+
<div class="col-md-60 magento-search-type ">
|
13 |
+
<div class="row mar-0">
|
14 |
+
<div class="col-md-55 magento-search-copy ">
|
15 |
+
<div class="search-type">
|
16 |
+
<div class="search-head">
|
17 |
+
Hosted search
|
18 |
+
</div>
|
19 |
+
<div class="search-desc">
|
20 |
+
Use Unbxd to power your search results, with a hosted search result page. Redirect visitors to a <a href="#">search.yoursite.com</a> subdomain when they search, with identical styling and a seamless experience.
|
21 |
+
</div>
|
22 |
+
<div class="{{#if search_hosted_status}}search-active-btn{{else}}hide{{/if}}">
|
23 |
+
Active
|
24 |
+
</div>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
<div class="col-md-5 magento-search-type-arrow ">
|
28 |
+
<div>
|
29 |
+
|
30 |
+
</div>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
|
36 |
+
<div class="row mar-0" on-click="showAPISearch">
|
37 |
+
<div class="col-md-60 magento-search-type ">
|
38 |
+
<div class="row mar-0">
|
39 |
+
<div class="col-md-55 magento-search-copy ">
|
40 |
+
<div class="search-type">
|
41 |
+
<div class="search-head">
|
42 |
+
Magento API implementaion
|
43 |
+
</div>
|
44 |
+
<div class="search-desc">
|
45 |
+
Replace Magento's default site search with an Unbxd API integration. Use Unbxd to power relevant results and add several essential site search features like autocomplete, spellcheck, faceted search and more.
|
46 |
+
</div>
|
47 |
+
<div class="{{#if search_mod_status}}search-active-btn{{else}}hide{{/if}}">
|
48 |
+
Active
|
49 |
+
</div>
|
50 |
+
</div>
|
51 |
+
</div>
|
52 |
+
<div class="col-md-5 magento-search-type-arrow ">
|
53 |
+
<div>
|
54 |
+
|
55 |
+
</div>
|
56 |
+
</div>
|
57 |
+
</div>
|
58 |
+
</div>
|
59 |
+
</div>
|
60 |
+
|
61 |
+
<div class="row mar-0">
|
62 |
+
<div class="col-md-60 magento-search-type background-disabled">
|
63 |
+
<div class="row mar-0">
|
64 |
+
<div class="col-md-55 magento-search-copy ">
|
65 |
+
<div class="search-type">
|
66 |
+
<div class="search-head">
|
67 |
+
Instant search ( Coming Soon )
|
68 |
+
</div>
|
69 |
+
<div class="search-desc">
|
70 |
+
Add an instant, search-as-you-type experience to your site.
|
71 |
+
</div>
|
72 |
+
<div class="hide">
|
73 |
+
Active
|
74 |
+
</div>
|
75 |
+
</div>
|
76 |
+
</div>
|
77 |
+
<div class="col-md-5 magento-search-type-arrow " style="background-color:#e6ecec">
|
78 |
+
<div>
|
79 |
+
|
80 |
+
</div>
|
81 |
+
</div>
|
82 |
+
</div>
|
83 |
+
</div>
|
84 |
+
</div>
|
85 |
+
|
86 |
+
</div>
|
87 |
+
</div>
|
skin/adminhtml/default/default/unbxd/{templates → recscore/templates}/widgets.html
RENAMED
@@ -1,25 +1,24 @@
|
|
1 |
-
<div class="
|
2 |
-
|
3 |
-
<div class="
|
4 |
-
<div class="
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
<div class="row mar-0">
|
9 |
-
<div class="col-md-60 magento-text pad-0 ">
|
10 |
-
Recommendation widgets can be displayed on the Homepage, Category Page, Brand Pages, <br> on the Cart and Product Detail Pages.
|
11 |
</div>
|
12 |
</div>
|
13 |
-
<
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
|
|
17 |
</div>
|
18 |
-
</div>
|
19 |
<div class="row mar-0 magento-text">
|
20 |
<ul>
|
21 |
-
<li class="pad-btm-20">
|
22 |
-
|
|
|
23 |
<div id="cmsHelp" class="row mar-0 pad-left-30 cms-help" style="display:none">
|
24 |
<ul>
|
25 |
<li>a) On the Magento store admin, navigate to CMS -> Pages</li>
|
@@ -29,64 +28,47 @@
|
|
29 |
</ul>
|
30 |
</div>
|
31 |
<div style="padding-left:17px;">
|
32 |
-
Refer to table(a)
|
33 |
</div>
|
34 |
</li>
|
35 |
-
|
36 |
-
<li>
|
37 |
-
2) By pasting the snippets on the appropriate template files
|
38 |
-
<div class="row mar-0">
|
39 |
-
<div class="col-md-60 magento-text pad-0 cms-help" style="padding-bottom:0">
|
40 |
-
For eg – To display the <b>“Recently Viewed”</b> widget on the HomePage, place the below snippet in the app/design/frontend/{your_package}/{your_theme}/template/catalog/product/view.phtml file
|
41 |
-
</div>
|
42 |
-
</div>
|
43 |
-
<div class="row">
|
44 |
-
<div class="col-md-60 col-sm-60 col-xs-60">
|
45 |
-
<div class="script-block" style="border:0;padding-top:10px">
|
46 |
-
<pre class="prettyprint-dashboard"> <div id=<span class="pun">"unbxd_recently_viewed"></span></div>
|
47 |
-
</pre>
|
48 |
-
</div>
|
49 |
-
</div>
|
50 |
-
</div>
|
51 |
-
</li>
|
52 |
</ul>
|
53 |
</div>
|
54 |
-
<div class="row mar-0">
|
55 |
<b>Table (a)</b>
|
56 |
</div>
|
57 |
|
58 |
-
<div class="row mar-0">
|
59 |
-
<div class="col-md-60 col-sm-60 col-xs-60
|
60 |
<div class="row mar-0">
|
61 |
-
<div class="col-md-60 col-sm-60
|
62 |
-
<div class="table table-magento hide-over-flow" style="width:
|
63 |
<div style="width: 100%;height: 50px;">
|
64 |
-
<div class="unbxd-div-td unbxd-th width-
|
65 |
-
|
66 |
Widget Type
|
67 |
</div>
|
68 |
|
69 |
-
<div class="unbxd-div-td unbxd-th width-
|
70 |
HTML Snippet
|
71 |
</div>
|
72 |
|
73 |
-
<div class="unbxd-div-td unbxd-th width-30 unbxd-text-verticle-center no-left-top-rad no-border-right
|
74 |
Page Type
|
75 |
</div>
|
76 |
</div>
|
77 |
|
78 |
|
79 |
<div>
|
80 |
-
|
81 |
-
<div class="unbxd-div-td pad-left-10 width-
|
82 |
Recently Viewed
|
83 |
</div>
|
84 |
|
85 |
-
<div class="unbxd-div-td pad-left-10 width-
|
86 |
<div id="unbxd_recently_viewed"> </div>
|
87 |
</div>
|
88 |
|
89 |
-
<div class="unbxd-div-td pad-left-10 width-30 word-break
|
90 |
|
91 |
Home Page, Product Page
|
92 |
</div>
|
@@ -94,119 +76,120 @@
|
|
94 |
</div>
|
95 |
|
96 |
<div class="tr-row ">
|
97 |
-
<div class="unbxd-div-td pad-left-10 width-
|
98 |
</div>
|
99 |
|
100 |
-
<div class="unbxd-div-td pad-left-10 width-
|
101 |
<div id="unbxd_recommended_for_you"> </div>
|
102 |
</div>
|
103 |
|
104 |
-
<div class="unbxd-div-td pad-left-10 width-30 word-break child-right word-break
|
105 |
Home Page, Product Page
|
106 |
</div>
|
107 |
|
108 |
</div>
|
109 |
|
110 |
<div class="tr-row ">
|
111 |
-
<div class="unbxd-div-td pad-left-10 width-
|
112 |
More Like these
|
113 |
</div>
|
114 |
|
115 |
-
<div class="unbxd-div-td pad-left-10 width-
|
116 |
<div id="unbxd_more_like_these"> </div>
|
117 |
</div>
|
118 |
|
119 |
-
<div class="unbxd-div-td pad-left-10 width-30 word-break
|
120 |
Product Page
|
121 |
</div>
|
122 |
|
123 |
</div>
|
124 |
<div class="tr-row ">
|
125 |
-
<div class="unbxd-div-td pad-left-10 width-
|
126 |
Viewed also Viewed
|
127 |
</div>
|
128 |
-
<div class="unbxd-div-td pad-left-10 width-
|
129 |
<div id="unbxd_also_viewed"> </div>
|
130 |
</div>
|
131 |
-
<div class="unbxd-div-td pad-left-10 width-30 word-break
|
132 |
Product Page
|
133 |
</div>
|
134 |
|
135 |
</div>
|
136 |
|
137 |
-
|
138 |
-
<div class="unbxd-div-td pad-left-10 width-
|
139 |
</div>
|
140 |
|
141 |
-
<div class="unbxd-div-td pad-left-10 width-
|
142 |
<div id="unbxd_also_bought"> </div>
|
143 |
</div>
|
144 |
|
145 |
-
<div class="unbxd-div-td pad-left-10 width-30 word-break
|
146 |
</div>
|
147 |
</div>
|
148 |
|
149 |
<div class="tr-row ">
|
150 |
-
<div class="unbxd-div-td pad-left-10 width-
|
151 |
</div>
|
152 |
|
153 |
-
<div class="unbxd-div-td pad-left-10 width-
|
154 |
<div id="unbxd_cart_recommendations"> </div>
|
155 |
</div>
|
156 |
|
157 |
-
<div class="unbxd-div-td pad-left-10 width-30 word-break
|
158 |
</div>
|
159 |
</div>
|
160 |
|
161 |
-
|
162 |
-
<div class="unbxd-div-td pad-left-10 width-
|
163 |
HomePage Top Sellers
|
164 |
</div>
|
165 |
|
166 |
-
<div class="unbxd-div-td pad-left-10 width-
|
167 |
<div id="unbxd_top_sellers"> </div>
|
168 |
</div>
|
169 |
|
170 |
-
<div class="unbxd-div-td pad-left-10 width-30 word-break
|
|
|
171 |
</div>
|
172 |
|
173 |
<div class="tr-row ">
|
174 |
-
<div class="unbxd-div-td pad-left-10 width-
|
175 |
Category Top Sellers
|
176 |
</div>
|
177 |
|
178 |
-
<div class="unbxd-div-td pad-left-10 width-
|
179 |
<div id="unbxd_category_top_sellers"> </div>
|
180 |
</div>
|
181 |
|
182 |
|
183 |
-
<div class="unbxd-div-td pad-left-10 width-30 word-break
|
184 |
</div>
|
185 |
</div>
|
186 |
|
187 |
-
|
188 |
-
<div class="unbxd-div-td pad-left-10 width-
|
189 |
Brand Top Sellers
|
190 |
</div>
|
191 |
|
192 |
-
<div class="unbxd-div-td pad-left-10 width-
|
193 |
<div id="unbxd_brand_top_sellers"> </div>
|
194 |
</div>
|
195 |
|
196 |
-
<div class="unbxd-div-td pad-left-10 width-30 word-break
|
197 |
</div>
|
198 |
</div>
|
199 |
|
200 |
<div class="tr-row ">
|
201 |
-
<div class="unbxd-div-td pad-left-10 width-
|
202 |
PDP Top Sellers
|
203 |
</div>
|
204 |
|
205 |
-
<div class="unbxd-div-td pad-left-10 width-
|
206 |
<div id="unbxd_pdp_top_sellers"> </div>
|
207 |
</div>
|
208 |
|
209 |
-
<div class="unbxd-div-td pad-left-10 width-30 word-break
|
210 |
</div>
|
211 |
</div>
|
212 |
|
@@ -215,23 +198,52 @@
|
|
215 |
|
216 |
</div>
|
217 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
|
219 |
-
<div class="row mar-0">
|
220 |
<b>Table (b)</b>
|
221 |
</div>
|
222 |
|
223 |
-
<div class="row mar-0">
|
224 |
-
<div class="col-md-60 col-sm-60 col-xs-60
|
225 |
-
<div class="row mar-0" style="width:
|
226 |
-
<div class="col-md-60 col-sm-60
|
227 |
<div class="table table-magento hide-over-flow">
|
228 |
<div style="width: 100%;height: 50px;">
|
229 |
-
<div class="unbxd-div-td unbxd-th width-20 unbxd-text-verticle-center "
|
230 |
-
|
231 |
Page Type
|
232 |
</div>
|
233 |
|
234 |
-
<div class="unbxd-div-td unbxd-th width-80 unbxd-text-verticle-center no-left-top-rad no-border-right
|
235 |
Template File
|
236 |
</div>
|
237 |
</div>
|
@@ -239,49 +251,49 @@
|
|
239 |
|
240 |
<div>
|
241 |
<div class="tr-row ">
|
242 |
-
<div class="unbxd-div-td pad-left-10 width-20 child-right
|
243 |
|
244 |
-
<div class="unbxd-div-td pad-left-10 width-80 word-break child-right word-break
|
245 |
app/design/frontend/{your_package}/{your_theme}/template/sample/home.phtml
|
246 |
</div>
|
247 |
|
248 |
</div>
|
249 |
<div class="tr-row ">
|
250 |
-
<div class="unbxd-div-td pad-left-10 width-20
|
251 |
Product Page
|
252 |
</div>
|
253 |
|
254 |
-
<div class="unbxd-div-td pad-left-10 width-80 word-break
|
255 |
app/design/frontend/{your_package}/{your_theme}/template/catalog/product/view.phtml
|
256 |
</div>
|
257 |
</div>
|
258 |
|
259 |
<div class="tr-row ">
|
260 |
-
<div class="unbxd-div-td pad-left-10 width-20
|
261 |
Cart Page
|
262 |
</div>
|
263 |
|
264 |
-
<div class="unbxd-div-td pad-left-10 width-80 word-break
|
265 |
app/design/frontend/{your_package}/{your_theme}/template/checkout/cart.phtml
|
266 |
</div>
|
267 |
</div>
|
268 |
|
269 |
<div class="tr-row ">
|
270 |
-
<div class="unbxd-div-td pad-left-10 width-20
|
271 |
Category Listing Page
|
272 |
</div>
|
273 |
|
274 |
-
<div class="unbxd-div-td pad-left-10 width-80 word-break
|
275 |
app/design/frontend/{your_package}/{your_theme}/template/catalog/product/list.phtml
|
276 |
</div>
|
277 |
</div>
|
278 |
|
279 |
<div class="tr-row ">
|
280 |
-
<div class="unbxd-div-td pad-left-10 width-20
|
281 |
Brand Pages
|
282 |
</div>
|
283 |
|
284 |
-
<div class="unbxd-div-td pad-left-10 width-80 word-break
|
285 |
app/design/frontend/{your_package}/{your_theme}/template/catalog/product/list.phtml
|
286 |
</div>
|
287 |
</div>
|
@@ -295,9 +307,22 @@
|
|
295 |
|
296 |
|
297 |
<div class="row mar-0 magento-text">
|
298 |
-
In case you face any issues, please contact
|
299 |
</div>
|
300 |
|
|
|
301 |
</div>
|
302 |
</div>
|
303 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="row mar-0 magento-block pad-top-0">
|
2 |
+
|
3 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block brd-btm-0 pad-top-20 pad-btm-20 top-rad">
|
4 |
+
<div class="row mar-0">
|
5 |
+
<div class="col-md-60 border-0 pad-0 magento-head ">
|
6 |
+
Install Recommendation Widgets
|
7 |
+
</div>
|
|
|
|
|
|
|
8 |
</div>
|
9 |
</div>
|
10 |
+
<div class="col-md-60 col-sm-60 col-xs-60 magento-inner-block brd-btm-none btm-rad">
|
11 |
+
<div class="row mar-0">
|
12 |
+
<div class="col-md-60 magento-text mar-btm-20">
|
13 |
+
Unbxd recommendation widgets can be integrated by adding a one-line HTML snippet to the respective pages on your site.
|
14 |
+
These widgets can be installed in one of the follwoing ways:
|
15 |
+
</div>
|
16 |
</div>
|
|
|
17 |
<div class="row mar-0 magento-text">
|
18 |
<ul>
|
19 |
+
<li class="pad-btm-20">
|
20 |
+
1.Through the CMS
|
21 |
+
<span class="blue-link-help" on-click="showCMSHelp">know more</span>
|
22 |
<div id="cmsHelp" class="row mar-0 pad-left-30 cms-help" style="display:none">
|
23 |
<ul>
|
24 |
<li>a) On the Magento store admin, navigate to CMS -> Pages</li>
|
28 |
</ul>
|
29 |
</div>
|
30 |
<div style="padding-left:17px;">
|
31 |
+
Refer to table(a) for more information on where the HTML snippets need to be added on your site
|
32 |
</div>
|
33 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
</ul>
|
35 |
</div>
|
36 |
+
<div class="row mar-0 pad-10 table-widget clickable mar-btm-20" onclick="myFunction('table-data1')">
|
37 |
<b>Table (a)</b>
|
38 |
</div>
|
39 |
|
40 |
+
<div class="row mar-0 table-widget-data" id="table-data1">
|
41 |
+
<div class="col-md-60 col-sm-60 col-xs-60 ">
|
42 |
<div class="row mar-0">
|
43 |
+
<div class="col-md-60 col-sm-60 mar-btm-30 ">
|
44 |
+
<div class="table table-magento hide-over-flow" style="width: 100%;">
|
45 |
<div style="width: 100%;height: 50px;">
|
46 |
+
<div class="unbxd-div-td unbxd-th width-28 unbxd-text-verticle-center unbxd-table-head"
|
47 |
+
data-content="Magento fields in your feed" style="border-left: 0px !important;" >
|
48 |
Widget Type
|
49 |
</div>
|
50 |
|
51 |
+
<div class="unbxd-div-td unbxd-th width-42 unbxd-text-verticle-center no-left-top-rad unbxd-table-head" data-content="Magento fields in your feed" >
|
52 |
HTML Snippet
|
53 |
</div>
|
54 |
|
55 |
+
<div class="unbxd-div-td unbxd-th width-30 unbxd-text-verticle-center no-left-top-rad no-border-right unbxd-table-head" data-content="Magento fields in your feed" >
|
56 |
Page Type
|
57 |
</div>
|
58 |
</div>
|
59 |
|
60 |
|
61 |
<div>
|
62 |
+
<div class="tr-row ">
|
63 |
+
<div class="unbxd-div-td pad-left-10 width-28 unbxd-caps">
|
64 |
Recently Viewed
|
65 |
</div>
|
66 |
|
67 |
+
<div class="unbxd-div-td pad-left-10 width-42 word-break ">
|
68 |
<div id="unbxd_recently_viewed"> </div>
|
69 |
</div>
|
70 |
|
71 |
+
<div class="unbxd-div-td pad-left-10 width-30 word-break ">
|
72 |
|
73 |
Home Page, Product Page
|
74 |
</div>
|
76 |
</div>
|
77 |
|
78 |
<div class="tr-row ">
|
79 |
+
<div class="unbxd-div-td pad-left-10 width-28 child-right unbxd-caps">Recommended for you
|
80 |
</div>
|
81 |
|
82 |
+
<div class="unbxd-div-td pad-left-10 width-42 word-break child-right word-break ">
|
83 |
<div id="unbxd_recommended_for_you"> </div>
|
84 |
</div>
|
85 |
|
86 |
+
<div class="unbxd-div-td pad-left-10 width-30 word-break child-right word-break ">
|
87 |
Home Page, Product Page
|
88 |
</div>
|
89 |
|
90 |
</div>
|
91 |
|
92 |
<div class="tr-row ">
|
93 |
+
<div class="unbxd-div-td pad-left-10 width-28 unbxd-caps">
|
94 |
More Like these
|
95 |
</div>
|
96 |
|
97 |
+
<div class="unbxd-div-td pad-left-10 width-42 word-break child-right word-break ">
|
98 |
<div id="unbxd_more_like_these"> </div>
|
99 |
</div>
|
100 |
|
101 |
+
<div class="unbxd-div-td pad-left-10 width-30 word-break ">
|
102 |
Product Page
|
103 |
</div>
|
104 |
|
105 |
</div>
|
106 |
<div class="tr-row ">
|
107 |
+
<div class="unbxd-div-td pad-left-10 width-28 unbxd-caps">
|
108 |
Viewed also Viewed
|
109 |
</div>
|
110 |
+
<div class="unbxd-div-td pad-left-10 width-42 word-break child-right word-break ">
|
111 |
<div id="unbxd_also_viewed"> </div>
|
112 |
</div>
|
113 |
+
<div class="unbxd-div-td pad-left-10 width-30 word-break ">
|
114 |
Product Page
|
115 |
</div>
|
116 |
|
117 |
</div>
|
118 |
|
119 |
+
<div class="tr-row ">
|
120 |
+
<div class="unbxd-div-td pad-left-10 width-28 unbxd-caps">Bought Also Bought
|
121 |
</div>
|
122 |
|
123 |
+
<div class="unbxd-div-td pad-left-10 width-42 word-break child-right word-break ">
|
124 |
<div id="unbxd_also_bought"> </div>
|
125 |
</div>
|
126 |
|
127 |
+
<div class="unbxd-div-td pad-left-10 width-30 word-break "> Product Page
|
128 |
</div>
|
129 |
</div>
|
130 |
|
131 |
<div class="tr-row ">
|
132 |
+
<div class="unbxd-div-td pad-left-10 width-28 unbxd-caps">Cart Recommendations
|
133 |
</div>
|
134 |
|
135 |
+
<div class="unbxd-div-td pad-left-10 width-42 word-break child-right word-break ">
|
136 |
<div id="unbxd_cart_recommendations"> </div>
|
137 |
</div>
|
138 |
|
139 |
+
<div class="unbxd-div-td pad-left-10 width-30 word-break "> Cart Page
|
140 |
</div>
|
141 |
</div>
|
142 |
|
143 |
+
<div class="tr-row ">
|
144 |
+
<div class="unbxd-div-td pad-left-10 width-28 unbxd-caps">
|
145 |
HomePage Top Sellers
|
146 |
</div>
|
147 |
|
148 |
+
<div class="unbxd-div-td pad-left-10 width-42 word-break child-right word-break ">
|
149 |
<div id="unbxd_top_sellers"> </div>
|
150 |
</div>
|
151 |
|
152 |
+
<div class="unbxd-div-td pad-left-10 width-30 word-break "> Product Pages
|
153 |
+
</div>
|
154 |
</div>
|
155 |
|
156 |
<div class="tr-row ">
|
157 |
+
<div class="unbxd-div-td pad-left-10 width-28 unbxd-caps">
|
158 |
Category Top Sellers
|
159 |
</div>
|
160 |
|
161 |
+
<div class="unbxd-div-td pad-left-10 width-42 word-break child-right word-break ">
|
162 |
<div id="unbxd_category_top_sellers"> </div>
|
163 |
</div>
|
164 |
|
165 |
|
166 |
+
<div class="unbxd-div-td pad-left-10 width-30 word-break "> Category/Sub-category Pages
|
167 |
</div>
|
168 |
</div>
|
169 |
|
170 |
+
<div class="tr-row ">
|
171 |
+
<div class="unbxd-div-td pad-left-10 width-28 unbxd-caps">
|
172 |
Brand Top Sellers
|
173 |
</div>
|
174 |
|
175 |
+
<div class="unbxd-div-td pad-left-10 width-42 word-break child-right word-break ">
|
176 |
<div id="unbxd_brand_top_sellers"> </div>
|
177 |
</div>
|
178 |
|
179 |
+
<div class="unbxd-div-td pad-left-10 width-30 word-break "> Brand Pages
|
180 |
</div>
|
181 |
</div>
|
182 |
|
183 |
<div class="tr-row ">
|
184 |
+
<div class="unbxd-div-td pad-left-10 width-28 unbxd-caps">
|
185 |
PDP Top Sellers
|
186 |
</div>
|
187 |
|
188 |
+
<div class="unbxd-div-td pad-left-10 width-42 word-break child-right word-break ">
|
189 |
<div id="unbxd_pdp_top_sellers"> </div>
|
190 |
</div>
|
191 |
|
192 |
+
<div class="unbxd-div-td pad-left-10 width-30 word-break "> Product Pages
|
193 |
</div>
|
194 |
</div>
|
195 |
|
198 |
|
199 |
</div>
|
200 |
</div>
|
201 |
+
</div>
|
202 |
+
</div>
|
203 |
+
|
204 |
+
<div class="row mar-0 magento-text">
|
205 |
+
<ul>
|
206 |
+
|
207 |
+
<li>
|
208 |
+
2. Using a Magento Template
|
209 |
+
<div class="row mar-0">
|
210 |
+
<div class="col-md-60 magento-text cms-help" style="padding-bottom:0">
|
211 |
+
For eg – To display the <b>“Recently Viewed”</b> widget on the HomePage, place the below snippet in the app/design/frontend/{your_package}/{your_theme}/template/catalog/product/view.phtml file
|
212 |
+
|
213 |
+
<div class="row background-grey pad-btm-15 rec-code-eg">
|
214 |
+
<div class="pad-left-10 background-white unbxd-code">
|
215 |
+
<div id=<span class="pun">"unbxd_recently_viewed"></span></div>
|
216 |
+
</div>
|
217 |
+
</div>
|
218 |
+
|
219 |
+
</div>
|
220 |
+
</div>
|
221 |
+
<div class="row">
|
222 |
+
<div class="script-block hide" style="border:0;padding-top:10px">
|
223 |
+
<pre class="prettyprint-dashboard">
|
224 |
+
</pre>
|
225 |
+
</div>
|
226 |
+
</div>
|
227 |
+
</li>
|
228 |
+
</ul>
|
229 |
+
</div>
|
230 |
|
231 |
+
<div class="row mar-0 pad-10 table-widget clickable mar-btm-20" onclick="myFunction('table-data2')">
|
232 |
<b>Table (b)</b>
|
233 |
</div>
|
234 |
|
235 |
+
<div class="row mar-0 table-widget-data" id="table-data2">
|
236 |
+
<div class="col-md-60 col-sm-60 col-xs-60 ">
|
237 |
+
<div class="row mar-0" style="width: 100%;">
|
238 |
+
<div class="col-md-60 col-sm-60 mar-btm-30 ">
|
239 |
<div class="table table-magento hide-over-flow">
|
240 |
<div style="width: 100%;height: 50px;">
|
241 |
+
<div class="unbxd-div-td unbxd-th width-20 unbxd-text-verticle-center unbxd-table-head"
|
242 |
+
data-content="Magento fields in your feed" style="border-left: 0px !important;" >
|
243 |
Page Type
|
244 |
</div>
|
245 |
|
246 |
+
<div class="unbxd-div-td unbxd-th width-80 unbxd-text-verticle-center no-left-top-rad no-border-right unbxd-table-head" data-content="Magento fields in your feed" >
|
247 |
Template File
|
248 |
</div>
|
249 |
</div>
|
251 |
|
252 |
<div>
|
253 |
<div class="tr-row ">
|
254 |
+
<div class="unbxd-div-td pad-left-10 width-20 child-right ">Home Page</div>
|
255 |
|
256 |
+
<div class="unbxd-div-td pad-left-10 width-80 word-break child-right word-break ">
|
257 |
app/design/frontend/{your_package}/{your_theme}/template/sample/home.phtml
|
258 |
</div>
|
259 |
|
260 |
</div>
|
261 |
<div class="tr-row ">
|
262 |
+
<div class="unbxd-div-td pad-left-10 width-20 ">
|
263 |
Product Page
|
264 |
</div>
|
265 |
|
266 |
+
<div class="unbxd-div-td pad-left-10 width-80 word-break ">
|
267 |
app/design/frontend/{your_package}/{your_theme}/template/catalog/product/view.phtml
|
268 |
</div>
|
269 |
</div>
|
270 |
|
271 |
<div class="tr-row ">
|
272 |
+
<div class="unbxd-div-td pad-left-10 width-20 ">
|
273 |
Cart Page
|
274 |
</div>
|
275 |
|
276 |
+
<div class="unbxd-div-td pad-left-10 width-80 word-break ">
|
277 |
app/design/frontend/{your_package}/{your_theme}/template/checkout/cart.phtml
|
278 |
</div>
|
279 |
</div>
|
280 |
|
281 |
<div class="tr-row ">
|
282 |
+
<div class="unbxd-div-td pad-left-10 width-20 ">
|
283 |
Category Listing Page
|
284 |
</div>
|
285 |
|
286 |
+
<div class="unbxd-div-td pad-left-10 width-80 word-break ">
|
287 |
app/design/frontend/{your_package}/{your_theme}/template/catalog/product/list.phtml
|
288 |
</div>
|
289 |
</div>
|
290 |
|
291 |
<div class="tr-row ">
|
292 |
+
<div class="unbxd-div-td pad-left-10 width-20 ">
|
293 |
Brand Pages
|
294 |
</div>
|
295 |
|
296 |
+
<div class="unbxd-div-td pad-left-10 width-80 word-break ">
|
297 |
app/design/frontend/{your_package}/{your_theme}/template/catalog/product/list.phtml
|
298 |
</div>
|
299 |
</div>
|
307 |
|
308 |
|
309 |
<div class="row mar-0 magento-text">
|
310 |
+
In case you face any issues, please contact support
|
311 |
</div>
|
312 |
|
313 |
+
</div>
|
314 |
</div>
|
315 |
</div>
|
316 |
+
</div>
|
317 |
+
<script type="text/javascript">
|
318 |
+
function myFunction(id) {
|
319 |
+
var e = document.getElementById(id);
|
320 |
+
if (e.style.display == 'none' || e.style.display=='')
|
321 |
+
{
|
322 |
+
e.style.display = 'block';
|
323 |
+
}
|
324 |
+
else e.style.display = 'none';
|
325 |
+
}
|
326 |
+
|
327 |
+
|
328 |
+
</script>
|
skin/adminhtml/default/default/unbxd/templates/analytics.html
DELETED
@@ -1,155 +0,0 @@
|
|
1 |
-
<div class="col-md-60 col-sm-60 col-xs-60 pad-0 magento-inner-block pad-top-20 border-left-color pad-btm-10">
|
2 |
-
|
3 |
-
{{^_unbxdObject.step2}}
|
4 |
-
<div class="row mar-0">
|
5 |
-
<div class="col-md-60 magento-redbar pad-0 mar-btm-10">
|
6 |
-
PLEASE MAP CATALOG AND UPLOAD DATA FIRST
|
7 |
-
</div>
|
8 |
-
</div>
|
9 |
-
<div class="unbxd-cover">
|
10 |
-
</div>
|
11 |
-
{{/_unbxdObject.step2}}
|
12 |
-
|
13 |
-
<div on-click="disabledClick" class="{{^_unbxdObject.step2}} unbxd-disabler {{/_unbxdObject.step2}}">
|
14 |
-
|
15 |
-
<div class="row mar-0">
|
16 |
-
<div class="col-md-60 magento-head pad-0 mar-btm-20">
|
17 |
-
Event Tracking
|
18 |
-
</div>
|
19 |
-
</div>
|
20 |
-
<div class="row mar-0">
|
21 |
-
<div class="col-md-60 magento-text pad-0 mar-btm-30">
|
22 |
-
Unbxd Recommendations automatically tries to add event handling tags to important visitor events like Product Views, Additions to Cart and Orders.
|
23 |
-
</div>
|
24 |
-
</div>
|
25 |
-
<div class="row mar-0">
|
26 |
-
<div class="col-md-60 magento-text pad-0">
|
27 |
-
These are required for
|
28 |
-
</div>
|
29 |
-
</div>
|
30 |
-
<div class="row mar-0">
|
31 |
-
<div class="col-md-60 magento-text pad-0">
|
32 |
-
a) Reporting
|
33 |
-
</div>
|
34 |
-
</div>
|
35 |
-
<div class="row mar-0">
|
36 |
-
<div class="col-md-60 magento-text pad-0 mar-btm-30">
|
37 |
-
b) Tracking User-behavior for providing recommendations
|
38 |
-
</div>
|
39 |
-
</div>
|
40 |
-
<div class="row mar-0 unbxd-center-div pad-btm-20" style="color:#929494">
|
41 |
-
See below to check if the analytics integration is successful. Troubleshoot <a target="_blank" class="blue-link-help" href="http://unbxd.com/docs/product-recommendations/platforms/magento/integration.html#analytics">here</a>
|
42 |
-
</div>
|
43 |
-
<div class="row mar-0">
|
44 |
-
<div class="col-sm-60 col-xs-60 pad-0 fixed-width-800">
|
45 |
-
<div class="row">
|
46 |
-
<div class="col-md-60 col-sm-60 col-xs-60 mar-btm-30">
|
47 |
-
|
48 |
-
<div class="row mar-0">
|
49 |
-
<div class="col-md-17 col-sm-60 pad-0 magento-analytics-block
|
50 |
-
{{^productClick}} magento-analytics-block1 {{/productClick}} mar-rgt-52 pad-btm-20">
|
51 |
-
<div class="row">
|
52 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-head mar-btm-20">
|
53 |
-
PRODUCT VIEWS
|
54 |
-
</div>
|
55 |
-
</div>
|
56 |
-
<div class="row">
|
57 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-tick
|
58 |
-
{{^productClick}} magento-analytics-cross{{/productClick}} mar-btm-20">
|
59 |
-
|
60 |
-
</div>
|
61 |
-
</div>
|
62 |
-
<div class="row">
|
63 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text mar-top-20 ">
|
64 |
-
{{#if productClick}}
|
65 |
-
Captured
|
66 |
-
{{else}}
|
67 |
-
Waiting for
|
68 |
-
{{/if}}
|
69 |
-
</div>
|
70 |
-
</div>
|
71 |
-
<div class="row">
|
72 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text">
|
73 |
-
Product Click
|
74 |
-
</div>
|
75 |
-
</div>
|
76 |
-
|
77 |
-
</div>
|
78 |
-
|
79 |
-
<div class="col-md-17 col-sm-60 pad-0 magento-analytics-block
|
80 |
-
{{^addToCartClick}}magento-analytics-block1{{/addToCartClick}} mar-rgt-52 pad-btm-20">
|
81 |
-
<div class="row">
|
82 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-head mar-btm-20">
|
83 |
-
ADD TO CART
|
84 |
-
</div>
|
85 |
-
</div>
|
86 |
-
<div class="row">
|
87 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-tick {{^addToCartClick}}magento-analytics-cross{{/addToCartClick}} mar-btm-20">
|
88 |
-
|
89 |
-
</div>
|
90 |
-
</div>
|
91 |
-
<div class="row">
|
92 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text mar-top-20 ">
|
93 |
-
{{#if addToCartClick}}
|
94 |
-
Captured
|
95 |
-
{{else}}
|
96 |
-
Waiting for
|
97 |
-
{{/if}}
|
98 |
-
</div>
|
99 |
-
</div>
|
100 |
-
<div class="row">
|
101 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text">
|
102 |
-
Add to Cart
|
103 |
-
</div>
|
104 |
-
</div>
|
105 |
-
|
106 |
-
</div>
|
107 |
-
<div class="col-md-17 col-sm-60 pad-0 magento-analytics-block
|
108 |
-
{{^productBuysClick }} magento-analytics-block1 {{/productBuysClick}} mar-rgt-15 pad-btm-20">
|
109 |
-
<div class="row">
|
110 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-head mar-btm-20">
|
111 |
-
PRODUCT BUYS
|
112 |
-
</div>
|
113 |
-
</div>
|
114 |
-
<div class="row">
|
115 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-tick
|
116 |
-
{{^productBuysClick}} magento-analytics-cross{{/productBuysClick}} mar-btm-20">
|
117 |
-
|
118 |
-
</div>
|
119 |
-
</div>
|
120 |
-
<div class="row">
|
121 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text mar-top-20 ">
|
122 |
-
{{#if productBuysClick}}
|
123 |
-
Captured
|
124 |
-
{{else}}
|
125 |
-
Waiting for
|
126 |
-
{{/if}}
|
127 |
-
</div>
|
128 |
-
</div>
|
129 |
-
<div class="row">
|
130 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-analytics-text">
|
131 |
-
an Order
|
132 |
-
</div>
|
133 |
-
</div>
|
134 |
-
</div>
|
135 |
-
</div>
|
136 |
-
</div>
|
137 |
-
</div>
|
138 |
-
</div>
|
139 |
-
</div>
|
140 |
-
|
141 |
-
<div class="col-md-60 magento-text pad-0 mar-btm-30" >
|
142 |
-
The above images indicate the events Unbxd Recommendations is able to track.
|
143 |
-
If the events are not being tracked it could be because your Magento templates are customized. In case you face any issues, please contact us at support@unbxd.com
|
144 |
-
</div>
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
</div>
|
149 |
-
</div>
|
150 |
-
|
151 |
-
<div class="row mar-0 pad-top-20">
|
152 |
-
<div on-click="showWidgets" class="col-md-20 button-black-magento width-190 mar-btm-40 clickable-btn {{#if _unbxdObject.step2}}{{else}}disabled-btn{{/if}} weight300" style="margin:0px auto;float:none;">
|
153 |
-
NEXT
|
154 |
-
</div>
|
155 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
skin/adminhtml/default/default/unbxd/templates/catalog.html
DELETED
@@ -1,328 +0,0 @@
|
|
1 |
-
<div class="col-md-60 col-sm-60 col-xs-60 pad-0 magento-inner-block border-left-color pad-btm-10p">
|
2 |
-
|
3 |
-
{{^_unbxdObject.step1}}
|
4 |
-
<div class="row mar-0">
|
5 |
-
<div class="col-md-60 magento-head pad-0 mar-btm-30" style="color: red;font-size: 20px;">Please authenticate unbxd module
|
6 |
-
</div>
|
7 |
-
</div>
|
8 |
-
<div on-click="disabledClick" class="unbxd-cover">
|
9 |
-
</div>
|
10 |
-
{{/_unbxdObject.step1}}
|
11 |
-
|
12 |
-
<div class="{{^_unbxdObject.step1}} unbxd-disabler {{/_unbxdObject.step1}}">
|
13 |
-
<div class="row mar-0">
|
14 |
-
<div class="col-md-60 magento-head pad-0 mar-btm-20">
|
15 |
-
Map Catalog Attributes
|
16 |
-
</div>
|
17 |
-
</div>
|
18 |
-
<div class="row mar-0">
|
19 |
-
<div class="col-md-60 magento-text pad-0 mar-btm-10">
|
20 |
-
Unbxd needs your catalog data in order to show accurate recommendations.
|
21 |
-
</div>
|
22 |
-
</div>
|
23 |
-
<div class="row mar-0">
|
24 |
-
<div class="col-md-60 magento-text pad-0 mar-btm-30">
|
25 |
-
Help the Unbxd Recommendation Engine make sense of this data by mapping your catalog attributes to the <br>
|
26 |
-
respective Unbxd attributes.
|
27 |
-
</div>
|
28 |
-
</div>
|
29 |
-
<div class="row mar-0">
|
30 |
-
<div class="col-md-60 col-sm-60 col-xs-60 pad-0">
|
31 |
-
<div class="row mar-0">
|
32 |
-
<div class="col-md-60 col-sm-60 pad-0 mar-btm-20 ">
|
33 |
-
<div class="table table-magento table-magento1 unbxd-table width-62">
|
34 |
-
<div class="unbxd-thead">
|
35 |
-
<div class="unbxd-tr">
|
36 |
-
<div class="magento-tooltip unbxd-th pull-left width-45 weight300 " data-title="UNBXD Attribute" data-content=" Unbxd attributes are fields which are identified by the Unbxd Recommendation Engine and are required for the recommendation algorithms and reporting" >
|
37 |
-
UNBXD Attribute
|
38 |
-
</div>
|
39 |
-
<div class="magento-tooltip unbxd-th pull-right width-55 border-right-rad weight300 no-border-right"
|
40 |
-
data-title="{{_unbxdObject.siteName}} Catalog Fields" data-content="These are fields from {{_unbxdObject.siteName}}'s catalog which need to be mapped to the relevant Unbxd attribute. Skip the mapping for an Unbxd attribute if it cannot be mapped to a particular field in the {{_unbxdObject.siteName}} catalog" >
|
41 |
-
Magento Attribute
|
42 |
-
</div>
|
43 |
-
</div>
|
44 |
-
</div>
|
45 |
-
|
46 |
-
<div >
|
47 |
-
{{#mappedAttributes}}
|
48 |
-
<div class="tr-row">
|
49 |
-
<div data-content="{{tooltip}}" data-title="{{featured_field}}" class=" td-left width-45 _tooltip bord-right" >
|
50 |
-
{{featured_field}}
|
51 |
-
</div>
|
52 |
-
|
53 |
-
{{#if enableEdit}}
|
54 |
-
<div class="td-right width-55">
|
55 |
-
<div class="btn-group width-100" >
|
56 |
-
<select disabled=disabled decorator='chosen'
|
57 |
-
value={{field_name}} name="unbxd-select" id="">
|
58 |
-
{{#magentoFields}}
|
59 |
-
<option class={{disabled}} disabled={{disabled}} value="{{value}}">
|
60 |
-
{{value}}
|
61 |
-
</option>
|
62 |
-
{{/magentoFields}}
|
63 |
-
</select>
|
64 |
-
</div>
|
65 |
-
</div>
|
66 |
-
{{else}}
|
67 |
-
<div class=" td-left width-55 _tooltip chosen-padding" >
|
68 |
-
{{field_name}}
|
69 |
-
</div>
|
70 |
-
{{/if}}
|
71 |
-
</div>
|
72 |
-
{{/mappedAttributes}}
|
73 |
-
</div>
|
74 |
-
</div>
|
75 |
-
|
76 |
-
</div>
|
77 |
-
</div>
|
78 |
-
|
79 |
-
<div class="row mar-0 ">
|
80 |
-
<div class="width-62 pull-left">
|
81 |
-
{{^enableEdit}}
|
82 |
-
<div class="pull-right pad-left-10">
|
83 |
-
<div on-click="enableEdit" class="button-edit-magento width-140 clickable-btn">
|
84 |
-
Edit attribute
|
85 |
-
</div>
|
86 |
-
</div>
|
87 |
-
{{/enableEdit}}
|
88 |
-
|
89 |
-
{{#if enableEdit}}
|
90 |
-
<div class="pull-right {{saveMapping}} pad-left-10">
|
91 |
-
<div on-click="saveMapping" class="button-edit-magento button-save-magento width-140 clickable-btn">
|
92 |
-
Save attribute
|
93 |
-
</div>
|
94 |
-
</div>
|
95 |
-
|
96 |
-
<div class="pull-right pad-left-10">
|
97 |
-
<div on-click="disableEdit" class="button-edit-magento button-cancel-magento width-140 clickable-btn" style="padding-left: 54px;">
|
98 |
-
Cancel
|
99 |
-
</div>
|
100 |
-
</div>
|
101 |
-
{{/if}}
|
102 |
-
</div>
|
103 |
-
|
104 |
-
<div class="width-38 pull-left pad-top-5">
|
105 |
-
<div class="_unbxd-success">
|
106 |
-
{{successMsg}}
|
107 |
-
</div>
|
108 |
-
<div class="_unbxd-err">
|
109 |
-
{{errorMsg}}
|
110 |
-
</div>
|
111 |
-
</div>
|
112 |
-
|
113 |
-
</div>
|
114 |
-
|
115 |
-
|
116 |
-
<div class="row mar-0">
|
117 |
-
<div class="col-md-60 magento-head pad-0 mar-btm-30 float-left">
|
118 |
-
<div class="pull-left" >Add Custom attributes</div>
|
119 |
-
</div>
|
120 |
-
</div>
|
121 |
-
<div class="row mar-0">
|
122 |
-
<div class="col-md-60 magento-text pad-0 mar-btm-20">
|
123 |
-
Certain fields like material, occasion, type etc. might be fields in
|
124 |
-
{{_unbxdObject.siteName}}'s catalog. These are not default Unbxd attributes. Provide information of the data type of these fields if these fields need to be displayed to in the recommendations to the site visitors.
|
125 |
-
</div>
|
126 |
-
</div>
|
127 |
-
<div class="row mar-0 pad-btm-20 add-attr">
|
128 |
-
<div on-click="showCustomAttribute" class="col-md-20 button-black-magento1 width-220 btn-add-attribute" >
|
129 |
-
<div class="clickable-btn weight300" style="color: #fff !important;padding-right:16px;">
|
130 |
-
ADD ATTRIBUTE
|
131 |
-
</div>
|
132 |
-
</div>
|
133 |
-
</div>
|
134 |
-
|
135 |
-
<div class="custom-attributes">
|
136 |
-
|
137 |
-
<div>
|
138 |
-
<div class="width-80 pad-btm-20" >
|
139 |
-
<div class="tr-row">
|
140 |
-
<div class="magento-tooltip unbxd-th pull-left width-40" data-title="Custom attribute" data-content="Custom attributes are fields from the your product catalog which are, by default, not displayed in the Recommendation Widgets" >
|
141 |
-
Custom attribute
|
142 |
-
</div>
|
143 |
-
<div class=" unbxd-th pull-left width-40 border-right-rad" >
|
144 |
-
Data-type
|
145 |
-
</div>
|
146 |
-
<div class="pull-left width-20">
|
147 |
-
{{#if customAttributes.length === 0}}
|
148 |
-
<div on-click="newTodo" class="add-row clickable-btn pull-left">
|
149 |
-
</div>
|
150 |
-
{{/if}}
|
151 |
-
</div>
|
152 |
-
</div>
|
153 |
-
<div class="cudtom-attr-rows">
|
154 |
-
{{#each customAttributes:i}}
|
155 |
-
{{>item}}
|
156 |
-
{{/each}}
|
157 |
-
</div>
|
158 |
-
</div>
|
159 |
-
|
160 |
-
|
161 |
-
<div class="row mar-0 ">
|
162 |
-
|
163 |
-
<div class="width-64 pull-left">
|
164 |
-
<div class="pull-right pad-left-10">
|
165 |
-
<div on-click="saveCustomAttribute" class="button-edit-magento button-save-magento width-140 clickable-btn {{disableSaveCustomAttr}}" style="padding-left: 62px;" >
|
166 |
-
Save
|
167 |
-
</div>
|
168 |
-
</div>
|
169 |
-
</div>
|
170 |
-
|
171 |
-
<div class="width-36 pull-left pad-top-5">
|
172 |
-
<div class="_unbxd-success">
|
173 |
-
{{customAttrSucessMsg}}
|
174 |
-
</div>
|
175 |
-
<div class="_unbxd-err">
|
176 |
-
{{customAttrErrorMsg}}
|
177 |
-
</div>
|
178 |
-
</div>
|
179 |
-
|
180 |
-
</div>
|
181 |
-
|
182 |
-
<div class="row mar-0">
|
183 |
-
<div class="col-md-60 magento-text pad-0 mar-btm-20">
|
184 |
-
For a detailed explanation of data-types, click
|
185 |
-
<span on-click="showDataHelp" class="blue-link-help">here</span>
|
186 |
-
</div>
|
187 |
-
<div id="dataHelp" class="width-60" style="display:none" >
|
188 |
-
<div class="tr-row">
|
189 |
-
<div class="unbxd-th pull-left width-50 help-table-head unbxd-border" >
|
190 |
-
Data-type
|
191 |
-
</div>
|
192 |
-
<div class=" unbxd-th pull-left width-50 help-table-head unbxd-border border-right-rad" >
|
193 |
-
Description
|
194 |
-
</div>
|
195 |
-
</div>
|
196 |
-
<div id="unbxdHelpRows" class="cudtom-attr-rows">
|
197 |
-
<div class="tr-row" style="height:35px">
|
198 |
-
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left" >
|
199 |
-
text
|
200 |
-
</div>
|
201 |
-
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
202 |
-
Any string value
|
203 |
-
</div>
|
204 |
-
</div>
|
205 |
-
<div class="tr-row" style="height:35px">
|
206 |
-
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left" >
|
207 |
-
decimal
|
208 |
-
</div>
|
209 |
-
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
210 |
-
Any decimal
|
211 |
-
</div>
|
212 |
-
</div>
|
213 |
-
<div class="tr-row" style="height:35px">
|
214 |
-
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left" >
|
215 |
-
number
|
216 |
-
</div>
|
217 |
-
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
218 |
-
Any integer
|
219 |
-
</div>
|
220 |
-
</div>
|
221 |
-
<div class="tr-row" style="height:35px">
|
222 |
-
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left" >
|
223 |
-
longText
|
224 |
-
</div>
|
225 |
-
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
226 |
-
Any string value
|
227 |
-
</div>
|
228 |
-
</div>
|
229 |
-
<div class="tr-row" style="height:35px">
|
230 |
-
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left" >
|
231 |
-
link
|
232 |
-
</div>
|
233 |
-
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
234 |
-
Any URL
|
235 |
-
</div>
|
236 |
-
</div>
|
237 |
-
<div class="tr-row" style="height:35px">
|
238 |
-
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left" >
|
239 |
-
date
|
240 |
-
</div>
|
241 |
-
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
242 |
-
SO 8601 date (YYYYMMDDTHH:MM:SSZ)
|
243 |
-
</div>
|
244 |
-
</div>
|
245 |
-
<div class="tr-row" style="height:35px">
|
246 |
-
<div class="td-left width-50 custom-attributes-td magento-border-left pull-left" >
|
247 |
-
bool
|
248 |
-
</div>
|
249 |
-
<div class="td-right width-50 custom-attributes-td magento-border-right pull-left">
|
250 |
-
Can be “true” OR “false”
|
251 |
-
</div>
|
252 |
-
</div>
|
253 |
-
</div>
|
254 |
-
</div>
|
255 |
-
</div>
|
256 |
-
</div>
|
257 |
-
</div>
|
258 |
-
|
259 |
-
<div class="row mar-0 pad-top-10">
|
260 |
-
<div class="col-md-60 magento-head pad-0 weight300">
|
261 |
-
Sync the catalog data
|
262 |
-
</div>
|
263 |
-
</div>
|
264 |
-
<div class="row mar-0">
|
265 |
-
<div class="col-md-60 magento-text pad-0 mar-btm-10">
|
266 |
-
Sync your catalog data with the Unbxd Recommendation Engine once.
|
267 |
-
</div>
|
268 |
-
</div>
|
269 |
-
<div class="row mar-0 pad-top-30">
|
270 |
-
<div on-click="uploadData" class="col-md-20 button-black-magento1 width-220 {{#if disableButton}}disabled-btn{{/if}} " >
|
271 |
-
<div class="clickable-btn weight300" style="color: #fff !important;padding-right: 16px">
|
272 |
-
SYNC CATALOG
|
273 |
-
</div>
|
274 |
-
</div>
|
275 |
-
</div>
|
276 |
-
|
277 |
-
<!-- <div class="row mar-0 pad-10 background-success mar-top-10">
|
278 |
-
<div class="pull-left succes-div width-20">
|
279 |
-
|
280 |
-
</div>
|
281 |
-
<div class="magento-text width-80">
|
282 |
-
<div class="success-head">
|
283 |
-
Congratulations
|
284 |
-
</div>
|
285 |
-
{{_unbxdObject.siteName}}'s catalog has been successfully synced with Unbxd Recommendation Engine. Proceed to test for successful Analytics integration and widget integration.
|
286 |
-
</div>
|
287 |
-
</div> -->
|
288 |
-
|
289 |
-
<div style="padding-top: 9px;">
|
290 |
-
<div class="unbxd-error-msg">
|
291 |
-
{{dataErrorMsg}}
|
292 |
-
</div>
|
293 |
-
<div class="unbxd-success-msg">
|
294 |
-
{{dataWaitMsg}}
|
295 |
-
</div>
|
296 |
-
{{#if dataSuccessMsg}}
|
297 |
-
<div class="row mar-0">
|
298 |
-
<div class="col-md-60 magento-success-block">
|
299 |
-
<div class="row">
|
300 |
-
<div class="col-md-10 magento-analytics-tick-green mar-top-15">
|
301 |
-
|
302 |
-
</div>
|
303 |
-
<div class="col-md-55">
|
304 |
-
<div class="row">
|
305 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-success-block-head">
|
306 |
-
Congratulations,
|
307 |
-
</div>
|
308 |
-
</div>
|
309 |
-
<div class="row">
|
310 |
-
<div class="col-md-60 col-sm-60 col-xs-60 magento-success-block-text">
|
311 |
-
Your site's catalog has been successfully synced with the Unbxd Recommendation Engine. Proceed to test for successful analytics integration and widget integration
|
312 |
-
</div>
|
313 |
-
</div>
|
314 |
-
</div>
|
315 |
-
</div>
|
316 |
-
</div>
|
317 |
-
</div>
|
318 |
-
|
319 |
-
<div class="row mar-0 pad-top-10">
|
320 |
-
<div class="col-md-60 magento-text pad-0 mar-btm-30 font17">
|
321 |
-
<span class="note-head">Note:</span> Your site's catalog data needs to be regularly synced with the Unbxd Recommendation Engine for relevant recommendations to be displayed. Set-up a cronjob which performs the regular sync.
|
322 |
-
For more datils
|
323 |
-
<a target="_blank" href="http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/how_to_setup_a_cron_job" class="blue-link-help">click here</a>
|
324 |
-
</div>
|
325 |
-
</div>
|
326 |
-
{{/if}}
|
327 |
-
</div>
|
328 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|