Version Notes
Release
Download this release
Release Info
Developer | FACTFinder |
Extension | Flagbit_Factfinder |
Version | 4.1.9 |
Comparing to | |
See all releases |
Code changes from version 4.1.0 to 4.1.9
- app/code/community/FACTFinder/Asn/Block/Catalog/Layer/Factfinder.php +4 -4
- app/code/community/FACTFinder/Asn/Block/Catalog/Layer/State.php +4 -4
- app/code/community/FACTFinder/Asn/Block/Catalog/Product/List/Toolbar.php +4 -4
- app/code/community/FACTFinder/Asn/Block/Catalog/Product/Pager.php +4 -4
- app/code/community/FACTFinder/Asn/Helper/Data.php +4 -4
- app/code/community/FACTFinder/Asn/Model/Catalog/Layer.php +4 -4
- app/code/community/FACTFinder/Asn/Model/Handler/Search.php +4 -4
- app/code/community/FACTFinder/Asn/Model/Layer/Filter/Factfinder.php +4 -4
- app/code/community/FACTFinder/Asn/Model/Layer/Filter/Item.php +4 -4
- app/code/community/FACTFinder/Asn/Model/Observer.php +5 -4
- app/code/community/FACTFinder/Asn/Model/Resource/Product/Attribute/Collection.php +4 -4
- app/code/community/FACTFinder/Asn/Model/Resource/Search/Collection.php +4 -4
- app/code/community/FACTFinder/Asn/etc/config.xml +2 -2
- app/code/community/FACTFinder/Asn/etc/system.xml +2 -2
- app/code/community/FACTFinder/Campaigns/Block/Abstract.php +4 -4
- app/code/community/FACTFinder/Campaigns/Block/Advisory/Product.php +0 -87
- app/code/community/FACTFinder/Campaigns/Block/Advisory/Search.php +4 -4
- app/code/community/FACTFinder/Campaigns/Block/Feedback/Abstract.php +4 -4
- app/code/community/FACTFinder/Campaigns/Block/Feedback/Cart.php +4 -4
- app/code/community/FACTFinder/Campaigns/Block/Feedback/Product.php +4 -4
- app/code/community/FACTFinder/Campaigns/Block/Feedback/Search.php +4 -4
- app/code/community/FACTFinder/Campaigns/Block/Pushed/Abstract.php +4 -4
- app/code/community/FACTFinder/Campaigns/Block/Pushed/Cart.php +4 -4
- app/code/community/FACTFinder/Campaigns/Block/Pushed/Product.php +4 -4
- app/code/community/FACTFinder/Campaigns/Block/Pushed/Search.php +4 -4
- app/code/community/FACTFinder/Campaigns/Helper/Data.php +4 -4
- app/code/community/FACTFinder/Campaigns/Model/Facade.php +4 -4
- app/code/community/FACTFinder/Campaigns/Model/Handler/Abstract.php +4 -4
- app/code/community/FACTFinder/Campaigns/Model/Handler/Cart.php +9 -9
- app/code/community/FACTFinder/Campaigns/Model/Handler/Product.php +7 -5
- app/code/community/FACTFinder/Campaigns/Model/Handler/Search.php +4 -4
- app/code/community/FACTFinder/Campaigns/Model/Observer.php +4 -4
- app/code/community/FACTFinder/Campaigns/Model/Resource/Pushedproducts/Collection.php +5 -5
- app/code/community/FACTFinder/Campaigns/etc/config.xml +2 -2
- app/code/community/FACTFinder/Campaigns/etc/system.xml +2 -2
- app/code/community/FACTFinder/Core/Block/Adminhtml/Exportlink.php +4 -4
- app/code/community/FACTFinder/Core/Block/Adminhtml/Form/Field/Attribute.php +4 -4
- app/code/community/FACTFinder/Core/Block/Adminhtml/Form/Field/Attributes.php +4 -4
- app/code/community/FACTFinder/Core/Block/Catalog/Product/List/Toolbar.php +294 -34
- app/code/community/FACTFinder/Core/Block/Catalog/Product/Pager.php +4 -4
- app/code/community/FACTFinder/Core/Block/CatalogSearch/Layer.php +44 -0
- app/code/community/FACTFinder/Core/Block/EnterpriseSearch/Layer.php +44 -0
- app/code/community/FACTFinder/Core/Helper/Backend.php +7 -6
- app/code/community/FACTFinder/Core/Helper/Data.php +14 -56
- app/code/community/FACTFinder/Core/Helper/Debug.php +10 -9
- app/code/community/FACTFinder/Core/Helper/Export.php +274 -0
- app/code/community/FACTFinder/Core/Helper/Rewrite.php +119 -0
- app/code/community/FACTFinder/Core/Helper/Search.php +27 -5
- app/code/community/FACTFinder/Core/Model/Autoloader.php +8 -6
- app/code/community/FACTFinder/Core/Model/CatalogSearch/Layer.php +4 -4
- app/code/community/FACTFinder/Core/Model/CatalogSearch/Query.php +34 -0
- app/code/community/FACTFinder/Core/Model/Export/Observer.php +93 -0
- app/code/community/FACTFinder/Core/Model/Export/Price.php +43 -6
- app/code/community/FACTFinder/Core/Model/Export/Product.php +54 -26
- app/code/community/FACTFinder/Core/Model/Export/Stock.php +44 -7
- app/code/community/FACTFinder/Core/Model/Facade.php +21 -7
- app/code/community/FACTFinder/Core/Model/File.php +4 -4
- app/code/community/FACTFinder/Core/Model/Ftp.php +159 -0
- app/code/community/FACTFinder/Core/Model/Handler/Abstract.php +4 -4
- app/code/community/FACTFinder/Core/Model/Handler/Search.php +22 -5
- app/code/community/FACTFinder/Core/Model/Handler/Status.php +30 -4
- app/code/community/FACTFinder/Core/Model/Observer.php +98 -58
- app/code/community/FACTFinder/Core/Model/Resource/Fulltext.php +45 -0
- app/code/community/FACTFinder/Core/Model/Resource/Search/Collection.php +4 -4
- app/code/community/FACTFinder/Core/Model/Resource/Search/Engine.php +4 -4
- app/code/community/FACTFinder/Core/Model/System/Config/Backend/Attributes.php +4 -4
- app/code/community/FACTFinder/Core/Model/System/Config/Backend/Cron.php +4 -4
- app/code/community/FACTFinder/Core/Model/System/Config/Backend/Enabled.php +4 -4
- app/code/community/FACTFinder/Core/Model/System/Config/Backend/Engine.php +47 -0
- app/code/community/FACTFinder/Core/Model/System/Config/Source/Authtype.php +4 -4
- app/code/community/FACTFinder/Core/Model/System/Config/Source/Engine.php +55 -0
- app/code/community/FACTFinder/Core/Model/System/Config/Source/Identifier.php +4 -4
- app/code/community/FACTFinder/Core/Model/System/Config/Source/Protocol.php +4 -4
- app/code/community/FACTFinder/Core/Model/Url.php +62 -0
- app/code/community/FACTFinder/Core/controllers/ExportController.php +12 -4
- app/code/community/FACTFinder/Core/etc/adminhtml.xml +2 -2
- app/code/community/FACTFinder/Core/etc/config.xml +26 -10
- app/code/community/FACTFinder/Core/etc/system.xml +120 -74
- app/code/community/FACTFinder/Recommendation/Helper/Data.php +35 -4
- app/code/community/FACTFinder/Recommendation/Model/Facade.php +8 -7
- app/code/community/FACTFinder/Recommendation/Model/Handler/Recommendations.php +7 -4
- app/code/community/FACTFinder/Recommendation/Model/Observer.php +9 -9
- app/code/community/FACTFinder/Recommendation/etc/config.xml +2 -2
- app/code/community/FACTFinder/Suggest/Block/TopSearch.php +6 -5
- app/code/community/FACTFinder/Suggest/Block/XmlConnect/Catalog/Search/Suggest.php +4 -4
- app/code/community/FACTFinder/Suggest/Helper/Data.php +36 -4
- app/code/community/FACTFinder/Suggest/Model/Facade.php +8 -7
- app/code/community/FACTFinder/Suggest/Model/Handler/Suggest.php +25 -18
- app/code/community/FACTFinder/Suggest/Model/Observer.php +7 -9
- app/code/community/FACTFinder/Suggest/Model/Processor.php +4 -4
- app/code/community/FACTFinder/Suggest/Model/System/Config/Source/Imagetype.php +4 -4
- app/code/community/FACTFinder/Suggest/controllers/ProxyController.php +5 -5
- app/code/community/FACTFinder/Suggest/etc/config.xml +2 -2
- app/code/community/FACTFinder/Suggest/etc/system.xml +2 -2
- app/code/community/FACTFinder/Tagcloud/Block/TagCloud.php +4 -4
- app/code/community/FACTFinder/Tagcloud/Helper/Data.php +4 -4
- app/code/community/FACTFinder/Tagcloud/Model/Facade.php +4 -4
- app/code/community/FACTFinder/Tagcloud/Model/Handler/TagCloud.php +4 -4
- app/code/community/FACTFinder/Tagcloud/etc/config.xml +2 -2
- app/code/community/FACTFinder/Tracking/Block/Abstract.php +74 -0
- app/code/community/FACTFinder/Tracking/Block/Click.php +85 -0
- app/code/community/FACTFinder/Tracking/Block/Init.php +0 -101
- app/code/community/FACTFinder/Tracking/Block/Recommendation.php +83 -0
- app/code/community/FACTFinder/Tracking/Helper/Data.php +4 -4
- app/code/community/FACTFinder/Tracking/Model/Facade.php +4 -4
- app/code/community/FACTFinder/Tracking/Model/Handler/Tracking.php +39 -6
- app/code/community/FACTFinder/Tracking/Model/Observer.php +48 -30
- app/code/community/FACTFinder/Tracking/Model/Processor.php +16 -8
- app/code/community/FACTFinder/Tracking/Model/Queue.php +4 -4
- app/code/community/FACTFinder/Tracking/Model/Resource/Queue.php +4 -4
- app/code/community/FACTFinder/Tracking/Model/Resource/Queue/Collection.php +4 -4
- app/code/community/FACTFinder/Tracking/controllers/ProxyController.php +4 -4
- app/code/community/FACTFinder/Tracking/etc/config.xml +4 -4
- app/code/community/FACTFinder/Tracking/etc/system.xml +2 -2
- app/code/community/FACTFinder/Tracking/sql/factfinder_tracking_setup/{mysql4-install-1.0.0.php → install-1.0.0.php} +2 -2
- app/code/community/FACTFinder/Tracking/sql/factfinder_tracking_setup/upgrade-1.0.0-4.1.2.php +33 -0
- app/design/frontend/base/default/layout/factfinder/asn.xml +2 -2
- app/design/frontend/base/default/layout/factfinder/campaigns.xml +18 -5
- app/design/frontend/base/default/layout/factfinder/core.xml +3 -3
- app/design/frontend/base/default/layout/factfinder/suggest.xml +2 -2
- app/design/frontend/base/default/layout/factfinder/tagcloud.xml +2 -2
- app/design/frontend/base/default/layout/factfinder/tracking.xml +12 -3
- app/design/frontend/base/default/template/factfinder/asn/layer/filter/slider.phtml +2 -2
- app/design/frontend/base/default/template/factfinder/asn/layer/slider.phtml +2 -2
- app/design/frontend/base/default/template/factfinder/campaigns/advisory.phtml +2 -2
- app/design/frontend/base/default/template/factfinder/campaigns/feedback.phtml +2 -2
- app/design/frontend/base/default/template/factfinder/campaigns/pushed.phtml +2 -2
- app/design/frontend/base/default/template/factfinder/core/export/locked.phtml +2 -2
- app/design/frontend/base/default/template/factfinder/core/export/nofile.phtml +2 -2
- app/design/frontend/base/default/template/factfinder/suggest/advancedsuggest.phtml +2 -2
- app/design/frontend/base/default/template/factfinder/tracking/{init.phtml → click.phtml} +6 -5
- app/design/frontend/base/default/template/factfinder/tracking/recommendation.phtml +27 -0
- app/etc/modules/FACTFinder_Asn.xml +12 -0
- app/etc/modules/FACTFinder_Campaigns.xml +13 -0
- app/etc/modules/FACTFinder_Core.xml +9 -0
- app/etc/modules/FACTFinder_Recommendation.xml +12 -0
- app/etc/modules/FACTFinder_Suggest.xml +13 -0
- app/etc/modules/FACTFinder_Tagcloud.xml +12 -0
- app/etc/modules/FACTFinder_Tracking.xml +13 -0
- js/factfinder/suggest.js +2 -2
- js/factfinder/tracking.js +2 -2
- lib/FACTFinder/Adapter/AbstractAdapter.php +48 -6
- lib/FACTFinder/Adapter/Compare.php +17 -12
- lib/FACTFinder/Adapter/ProductCampaign.php +12 -31
- lib/FACTFinder/Adapter/Recommendation.php +25 -11
- lib/FACTFinder/Adapter/Search.php +116 -48
- lib/FACTFinder/Adapter/SimilarRecords.php +13 -7
- lib/FACTFinder/Adapter/Suggest.php +1 -1
- lib/FACTFinder/Adapter/TagCloud.php +1 -1
- lib/FACTFinder/Adapter/Tracking.php +43 -36
- lib/FACTFinder/Core/AbstractConfiguration.php +137 -6
- lib/FACTFinder/Core/ArrayConfiguration.php +324 -0
- lib/FACTFinder/Core/Server/EasyCurlDataProvider.php +1 -1
- lib/FACTFinder/Core/Server/FileSystemDataProvider.php +39 -15
- lib/FACTFinder/Core/XmlConfiguration.php +2 -2
- lib/FACTFinder/Data/BreadCrumbType.php +3 -0
- lib/FACTFinder/Data/FilterGroup.php +2 -12
- lib/FACTFinder/Data/FilterStyle.php +0 -3
- lib/FACTFinder/Data/Result.php +0 -15
- lib/FACTFinder/Data/SortingDirection.php +37 -0
- lib/FACTFinder/Data/SortingItem.php +65 -0
- lib/FACTFinder/Data/SortingItems.php +13 -0
- lib/FACTFinder/Util/Log4PhpLogger.php +48 -48
- lib/FACTFinder/Util/Parameters.php +1 -1
- lib/FACTFinderCustom/Configuration.php +36 -32
- package.xml +9 -9
- shell/factfinder.php +133 -33
- skin/frontend/base/default/js/factfinder_onetouchslider/234A0ACCECB3C19247FA8B7920453761.cache.js +477 -0
- skin/frontend/base/default/js/factfinder_onetouchslider/25E490B929D7CDBF44085E4E4D9D6F78.cache.js +476 -0
- skin/frontend/base/default/js/factfinder_onetouchslider/53ABFAE8983A4589B497F48695DB2A7C.cache.js +484 -0
- skin/frontend/base/default/js/factfinder_onetouchslider/75B23D057185BAB61CFE100CE08C4D84.cache.js +477 -0
- skin/frontend/base/default/js/factfinder_onetouchslider/79DD9AE9135ADFDE204324DA7F1B1405.cache.png +0 -0
- skin/frontend/base/default/js/factfinder_onetouchslider/9F0D0456482D7A7A901A2CD8F64EA019.cache.js +502 -0
- skin/frontend/base/default/js/factfinder_onetouchslider/clear.cache.gif +0 -0
- skin/frontend/base/default/js/factfinder_onetouchslider/de.factfinder.asn.slider.OneTouchSlider.nocache.js +16 -0
app/code/community/FACTFinder/Asn/Block/Catalog/Layer/Factfinder.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Asn
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Asn_Block_Catalog_Layer_Factfinder extends Mage_Catalog_Block_Layer_Filter_Attribute
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Asn
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Asn_Block_Catalog_Layer_Factfinder extends Mage_Catalog_Block_Layer_Filter_Attribute
|
app/code/community/FACTFinder/Asn/Block/Catalog/Layer/State.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Asn
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Asn_Block_Catalog_Layer_State extends Mage_Catalog_Block_Layer_State
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Asn
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Asn_Block_Catalog_Layer_State extends Mage_Catalog_Block_Layer_State
|
app/code/community/FACTFinder/Asn/Block/Catalog/Product/List/Toolbar.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -18,8 +18,8 @@
|
|
18 |
* @category Mage
|
19 |
* @package FACTFinder_Asn
|
20 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
-
* @copyright Copyright (c)
|
22 |
-
* @license
|
23 |
* @link http://www.flagbit.de
|
24 |
*/
|
25 |
class FACTFinder_Asn_Block_Catalog_Product_List_Toolbar extends FACTFinder_Core_Block_Catalog_Product_List_Toolbar
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
18 |
* @category Mage
|
19 |
* @package FACTFinder_Asn
|
20 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
22 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
23 |
* @link http://www.flagbit.de
|
24 |
*/
|
25 |
class FACTFinder_Asn_Block_Catalog_Product_List_Toolbar extends FACTFinder_Core_Block_Catalog_Product_List_Toolbar
|
app/code/community/FACTFinder/Asn/Block/Catalog/Product/Pager.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -18,8 +18,8 @@
|
|
18 |
* @category Mage
|
19 |
* @package FACTFinder_Asn
|
20 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
-
* @copyright Copyright (c)
|
22 |
-
* @license
|
23 |
* @link http://www.flagbit.de
|
24 |
*/
|
25 |
class FACTFinder_Asn_Block_Catalog_Product_Pager extends FACTFinder_Core_Block_Catalog_Product_Pager
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
18 |
* @category Mage
|
19 |
* @package FACTFinder_Asn
|
20 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
22 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
23 |
* @link http://www.flagbit.de
|
24 |
*/
|
25 |
class FACTFinder_Asn_Block_Catalog_Product_Pager extends FACTFinder_Core_Block_Catalog_Product_Pager
|
app/code/community/FACTFinder/Asn/Helper/Data.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Asn
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Asn_Helper_Data extends Mage_Core_Helper_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Asn
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Asn_Helper_Data extends Mage_Core_Helper_Abstract
|
app/code/community/FACTFinder/Asn/Model/Catalog/Layer.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -18,8 +18,8 @@
|
|
18 |
* @category Mage
|
19 |
* @package FACTFinder_Asn
|
20 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
-
* @copyright Copyright (c)
|
22 |
-
* @license
|
23 |
* @link http://www.flagbit.de
|
24 |
*/
|
25 |
class FACTFinder_Asn_Model_Catalog_Layer extends Mage_Catalog_Model_Layer
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
18 |
* @category Mage
|
19 |
* @package FACTFinder_Asn
|
20 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
22 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
23 |
* @link http://www.flagbit.de
|
24 |
*/
|
25 |
class FACTFinder_Asn_Model_Catalog_Layer extends Mage_Catalog_Model_Layer
|
app/code/community/FACTFinder/Asn/Model/Handler/Search.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -18,8 +18,8 @@
|
|
18 |
* @category Mage
|
19 |
* @package FACTFinder_Asn
|
20 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
-
* @copyright Copyright (c)
|
22 |
-
* @license
|
23 |
* @link http://www.flagbit.de
|
24 |
*/
|
25 |
class FACTFinder_Asn_Model_Handler_Search extends FACTFinder_Core_Model_Handler_Search
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
18 |
* @category Mage
|
19 |
* @package FACTFinder_Asn
|
20 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
22 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
23 |
* @link http://www.flagbit.de
|
24 |
*/
|
25 |
class FACTFinder_Asn_Model_Handler_Search extends FACTFinder_Core_Model_Handler_Search
|
app/code/community/FACTFinder/Asn/Model/Layer/Filter/Factfinder.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Asn
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Asn_Model_Layer_Filter_Factfinder extends Mage_Catalog_Model_Layer_Filter_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Asn
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Asn_Model_Layer_Filter_Factfinder extends Mage_Catalog_Model_Layer_Filter_Abstract
|
app/code/community/FACTFinder/Asn/Model/Layer/Filter/Item.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Asn
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Asn_Model_Layer_Filter_Item extends Mage_Catalog_Model_Layer_Filter_Item
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Asn
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Asn_Model_Layer_Filter_Item extends Mage_Catalog_Model_Layer_Filter_Item
|
app/code/community/FACTFinder/Asn/Model/Observer.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Asn
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Asn_Model_Observer
|
@@ -39,6 +39,7 @@ class FACTFinder_Asn_Model_Observer
|
|
39 |
$block->setChild('layer_state', $stateBlock);
|
40 |
|
41 |
$filterableAttributes = Mage::getResourceModel('factfinder_asn/product_attribute_collection');
|
|
|
42 |
foreach ($filterableAttributes as $index => $attribute) {
|
43 |
$filter = $block->getLayout()
|
44 |
->createBlock('factfinder_asn/catalog_layer_factfinder')
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Asn
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Asn_Model_Observer
|
39 |
$block->setChild('layer_state', $stateBlock);
|
40 |
|
41 |
$filterableAttributes = Mage::getResourceModel('factfinder_asn/product_attribute_collection');
|
42 |
+
$filterableAttributes->setStoreId(Mage::app()->getStore()->getStoreId());
|
43 |
foreach ($filterableAttributes as $index => $attribute) {
|
44 |
$filter = $block->getLayout()
|
45 |
->createBlock('factfinder_asn/catalog_layer_factfinder')
|
app/code/community/FACTFinder/Asn/Model/Resource/Product/Attribute/Collection.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -18,8 +18,8 @@
|
|
18 |
* @category Mage
|
19 |
* @package FACTFinder_Asn
|
20 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
-
* @copyright Copyright (c)
|
22 |
-
* @license
|
23 |
* @link http://www.flagbit.de
|
24 |
*/
|
25 |
class FACTFinder_Asn_Model_Resource_Product_Attribute_Collection
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
18 |
* @category Mage
|
19 |
* @package FACTFinder_Asn
|
20 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
22 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
23 |
* @link http://www.flagbit.de
|
24 |
*/
|
25 |
class FACTFinder_Asn_Model_Resource_Product_Attribute_Collection
|
app/code/community/FACTFinder/Asn/Model/Resource/Search/Collection.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Asn
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Asn_Model_Resource_Search_Collection extends FACTFinder_Core_Model_Resource_Search_Collection
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Asn
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Asn_Model_Resource_Search_Collection extends FACTFinder_Core_Model_Resource_Search_Collection
|
app/code/community/FACTFinder/Asn/etc/config.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Asn
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Asn
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
app/code/community/FACTFinder/Asn/etc/system.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Asn
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Asn
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
app/code/community/FACTFinder/Campaigns/Block/Abstract.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
abstract class FACTFinder_Campaigns_Block_Abstract extends Mage_Core_Block_Template
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
abstract class FACTFinder_Campaigns_Block_Abstract extends Mage_Core_Block_Template
|
app/code/community/FACTFinder/Campaigns/Block/Advisory/Product.php
DELETED
@@ -1,87 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* FACTFinder_Campaigns
|
4 |
-
*
|
5 |
-
* @category Mage
|
6 |
-
* @package FACTFinder_Campaigns
|
7 |
-
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c) 2015, Flagbit GmbH & Co. KG
|
9 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
-
* @link http://www.flagbit.de
|
11 |
-
*/
|
12 |
-
|
13 |
-
/**
|
14 |
-
* Class FACTFinder_Campaigns_Block_Advisory_Product
|
15 |
-
*
|
16 |
-
* Provides advisory hints to the product view page
|
17 |
-
*
|
18 |
-
* @category Mage
|
19 |
-
* @package FACTFinder_Campaigns
|
20 |
-
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
-
* @copyright Copyright (c) 2015, Flagbit GmbH & Co. KG
|
22 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
23 |
-
* @link http://www.flagbit.de
|
24 |
-
*/
|
25 |
-
class FACTFinder_Campaigns_Block_Advisory_Product extends FACTFinder_Campaigns_Block_Abstract
|
26 |
-
{
|
27 |
-
|
28 |
-
/**
|
29 |
-
* @var string
|
30 |
-
*/
|
31 |
-
protected $_handlerModel = 'factfinder_campaigns/handler_product';
|
32 |
-
|
33 |
-
|
34 |
-
/**
|
35 |
-
* @return \Mage_Core_Model_Abstract
|
36 |
-
*/
|
37 |
-
protected function _getHandler()
|
38 |
-
{
|
39 |
-
return Mage::getSingleton('factfinder_campaigns/handler_product', $this->_getProductIds());
|
40 |
-
}
|
41 |
-
|
42 |
-
|
43 |
-
/**
|
44 |
-
* @return array
|
45 |
-
*/
|
46 |
-
protected function _getProductIds()
|
47 |
-
{
|
48 |
-
$productIds = array();
|
49 |
-
if (Mage::registry('current_product')) {
|
50 |
-
$productIds = array(
|
51 |
-
Mage::registry('current_product')->getData(Mage::helper('factfinder_campaigns')->getIdFieldName())
|
52 |
-
);
|
53 |
-
}
|
54 |
-
|
55 |
-
return $productIds;
|
56 |
-
}
|
57 |
-
|
58 |
-
|
59 |
-
/**
|
60 |
-
* Get campaign questions and answers
|
61 |
-
*
|
62 |
-
* @return array
|
63 |
-
*/
|
64 |
-
public function getActiveQuestions()
|
65 |
-
{
|
66 |
-
$questions = array();
|
67 |
-
|
68 |
-
if ($this->canCampaignBeDisplay()) {
|
69 |
-
$questions = $this->_getHandler()->getActiveAdvisorQuestions();
|
70 |
-
}
|
71 |
-
|
72 |
-
return $questions;
|
73 |
-
}
|
74 |
-
|
75 |
-
|
76 |
-
/**
|
77 |
-
* Check if campaign can be displayed
|
78 |
-
*
|
79 |
-
* @return bool
|
80 |
-
*/
|
81 |
-
protected function canCampaignBeDisplay()
|
82 |
-
{
|
83 |
-
return (bool) Mage::registry('current_product');
|
84 |
-
}
|
85 |
-
|
86 |
-
|
87 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/FACTFinder/Campaigns/Block/Advisory/Search.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Block_Advisory_Search extends FACTFinder_Campaigns_Block_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Block_Advisory_Search extends FACTFinder_Campaigns_Block_Abstract
|
app/code/community/FACTFinder/Campaigns/Block/Feedback/Abstract.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
abstract class FACTFinder_Campaigns_Block_Feedback_Abstract extends FACTFinder_Campaigns_Block_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
abstract class FACTFinder_Campaigns_Block_Feedback_Abstract extends FACTFinder_Campaigns_Block_Abstract
|
app/code/community/FACTFinder/Campaigns/Block/Feedback/Cart.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -18,8 +18,8 @@
|
|
18 |
* @category Mage
|
19 |
* @package FACTFinder_Campaigns
|
20 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
-
* @copyright Copyright (c)
|
22 |
-
* @license
|
23 |
* @link http://www.flagbit.de
|
24 |
*/
|
25 |
class FACTFinder_Campaigns_Block_Feedback_Cart extends FACTFinder_Campaigns_Block_Feedback_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
18 |
* @category Mage
|
19 |
* @package FACTFinder_Campaigns
|
20 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
21 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
22 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
23 |
* @link http://www.flagbit.de
|
24 |
*/
|
25 |
class FACTFinder_Campaigns_Block_Feedback_Cart extends FACTFinder_Campaigns_Block_Feedback_Abstract
|
app/code/community/FACTFinder/Campaigns/Block/Feedback/Product.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Block_Feedback_Product extends FACTFinder_Campaigns_Block_Feedback_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Block_Feedback_Product extends FACTFinder_Campaigns_Block_Feedback_Abstract
|
app/code/community/FACTFinder/Campaigns/Block/Feedback/Search.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Block_Feedback_Search extends FACTFinder_Campaigns_Block_Feedback_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Block_Feedback_Search extends FACTFinder_Campaigns_Block_Feedback_Abstract
|
app/code/community/FACTFinder/Campaigns/Block/Pushed/Abstract.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
abstract class FACTFinder_Campaigns_Block_Pushed_Abstract extends Mage_Catalog_Block_Product_List_Upsell
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
abstract class FACTFinder_Campaigns_Block_Pushed_Abstract extends Mage_Catalog_Block_Product_List_Upsell
|
app/code/community/FACTFinder/Campaigns/Block/Pushed/Cart.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Block_Pushed_Cart extends FACTFinder_Campaigns_Block_Pushed_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Block_Pushed_Cart extends FACTFinder_Campaigns_Block_Pushed_Abstract
|
app/code/community/FACTFinder/Campaigns/Block/Pushed/Product.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Block_Pushed_Product extends FACTFinder_Campaigns_Block_Pushed_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Block_Pushed_Product extends FACTFinder_Campaigns_Block_Pushed_Abstract
|
app/code/community/FACTFinder/Campaigns/Block/Pushed/Search.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Block_Pushed_Search extends FACTFinder_Campaigns_Block_Pushed_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Block_Pushed_Search extends FACTFinder_Campaigns_Block_Pushed_Abstract
|
app/code/community/FACTFinder/Campaigns/Helper/Data.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Helper_Data extends Mage_Core_Helper_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Helper_Data extends Mage_Core_Helper_Abstract
|
app/code/community/FACTFinder/Campaigns/Model/Facade.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Model_Facade extends FACTFinder_Core_Model_Facade
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Model_Facade extends FACTFinder_Core_Model_Facade
|
app/code/community/FACTFinder/Campaigns/Model/Handler/Abstract.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
abstract class FACTFinder_Campaigns_Model_Handler_Abstract extends FACTFinder_Core_Model_Handler_Search
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
abstract class FACTFinder_Campaigns_Model_Handler_Abstract extends FACTFinder_Core_Model_Handler_Search
|
app/code/community/FACTFinder/Campaigns/Model/Handler/Cart.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Model_Handler_Cart extends FACTFinder_Campaigns_Model_Handler_Abstract
|
@@ -43,14 +43,12 @@ class FACTFinder_Campaigns_Model_Handler_Cart extends FACTFinder_Campaigns_Model
|
|
43 |
{
|
44 |
$quote = Mage::getSingleton('checkout/session')->getQuote();
|
45 |
|
46 |
-
$productIds = array();
|
47 |
-
|
48 |
/** @var Mage_Sales_Model_Quote_Item $item */
|
49 |
foreach ($quote->getAllItems() as $item) {
|
50 |
-
$
|
51 |
}
|
52 |
|
53 |
-
return $
|
54 |
}
|
55 |
|
56 |
|
@@ -61,7 +59,9 @@ class FACTFinder_Campaigns_Model_Handler_Cart extends FACTFinder_Campaigns_Model
|
|
61 |
*/
|
62 |
public function getCampaigns()
|
63 |
{
|
64 |
-
$this->
|
|
|
|
|
65 |
|
66 |
return parent::getCampaigns();
|
67 |
}
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Model_Handler_Cart extends FACTFinder_Campaigns_Model_Handler_Abstract
|
43 |
{
|
44 |
$quote = Mage::getSingleton('checkout/session')->getQuote();
|
45 |
|
|
|
|
|
46 |
/** @var Mage_Sales_Model_Quote_Item $item */
|
47 |
foreach ($quote->getAllItems() as $item) {
|
48 |
+
$this->_productIds[] = $item->getProduct()->getData(Mage::helper('factfinder_campaigns')->getIdFieldName());
|
49 |
}
|
50 |
|
51 |
+
return $this->_productIds;
|
52 |
}
|
53 |
|
54 |
|
59 |
*/
|
60 |
public function getCampaigns()
|
61 |
{
|
62 |
+
if (!empty($this->_productIds)) {
|
63 |
+
$this->_getFacade()->getProductCampaignAdapter()->makeShoppingCartCampaign();
|
64 |
+
}
|
65 |
|
66 |
return parent::getCampaigns();
|
67 |
}
|
app/code/community/FACTFinder/Campaigns/Model/Handler/Product.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Model_Handler_Product extends FACTFinder_Campaigns_Model_Handler_Abstract
|
@@ -56,7 +56,9 @@ class FACTFinder_Campaigns_Model_Handler_Product extends FACTFinder_Campaigns_Mo
|
|
56 |
*/
|
57 |
public function getCampaigns()
|
58 |
{
|
59 |
-
$this->
|
|
|
|
|
60 |
|
61 |
return parent::getCampaigns();
|
62 |
}
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Model_Handler_Product extends FACTFinder_Campaigns_Model_Handler_Abstract
|
56 |
*/
|
57 |
public function getCampaigns()
|
58 |
{
|
59 |
+
if (!empty($this->_productIds)) {
|
60 |
+
$this->_getFacade()->getProductCampaignAdapter()->makeProductCampaign();
|
61 |
+
}
|
62 |
|
63 |
return parent::getCampaigns();
|
64 |
}
|
app/code/community/FACTFinder/Campaigns/Model/Handler/Search.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Model_Handler_Search extends FACTFinder_Core_Model_Handler_Search
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Model_Handler_Search extends FACTFinder_Core_Model_Handler_Search
|
app/code/community/FACTFinder/Campaigns/Model/Observer.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Model_Observer
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Model_Observer
|
app/code/community/FACTFinder/Campaigns/Model/Resource/Pushedproducts/Collection.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
@@ -16,8 +16,8 @@
|
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
-
* @copyright Copyright (c)
|
20 |
-
* @license
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Model_Resource_Pushedproducts_Collection
|
@@ -109,7 +109,7 @@ class FACTFinder_Campaigns_Model_Resource_Pushedproducts_Collection
|
|
109 |
);
|
110 |
}
|
111 |
|
112 |
-
$idFieldName = Mage::helper('
|
113 |
|
114 |
if (!empty($productIds)) {
|
115 |
// add Filter to Query
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
|
16 |
* @category Mage
|
17 |
* @package FACTFinder_Campaigns
|
18 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
19 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
20 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
21 |
* @link http://www.flagbit.de
|
22 |
*/
|
23 |
class FACTFinder_Campaigns_Model_Resource_Pushedproducts_Collection
|
109 |
);
|
110 |
}
|
111 |
|
112 |
+
$idFieldName = Mage::helper('factfinder/search')->getIdFieldName();
|
113 |
|
114 |
if (!empty($productIds)) {
|
115 |
// add Filter to Query
|
app/code/community/FACTFinder/Campaigns/etc/config.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Campaigns
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Campaigns
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
app/code/community/FACTFinder/Campaigns/etc/system.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Campaigns
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Campaigns
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
app/code/community/FACTFinder/Core/Block/Adminhtml/Exportlink.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Block_Adminhtml_Exportlink extends Mage_Adminhtml_Block_System_Config_Form_Field
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Block_Adminhtml_Exportlink extends Mage_Adminhtml_Block_System_Config_Form_Field
|
app/code/community/FACTFinder/Core/Block/Adminhtml/Form/Field/Attribute.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Block_Adminhtml_Form_Field_Attribute extends Mage_Core_Block_Html_Select
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Block_Adminhtml_Form_Field_Attribute extends Mage_Core_Block_Html_Select
|
app/code/community/FACTFinder/Core/Block/Adminhtml/Form/Field/Attributes.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Block_Adminhtml_Form_Field_Attributes
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Block_Adminhtml_Form_Field_Attributes
|
app/code/community/FACTFinder/Core/Block/Catalog/Product/List/Toolbar.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,12 +17,13 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Block_Catalog_Product_List_Toolbar extends Mage_Catalog_Block_Product_List_Toolbar
|
25 |
{
|
|
|
26 |
|
27 |
/**
|
28 |
* @var bool
|
@@ -52,6 +53,17 @@ class FACTFinder_Core_Block_Catalog_Product_List_Toolbar extends Mage_Catalog_Bl
|
|
52 |
}
|
53 |
|
54 |
parent::_construct();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
}
|
56 |
|
57 |
|
@@ -64,27 +76,21 @@ class FACTFinder_Core_Block_Catalog_Product_List_Toolbar extends Mage_Catalog_Bl
|
|
64 |
*/
|
65 |
public function getPagerUrl($params=array())
|
66 |
{
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
$sortings = $this->_handler->getSorting();
|
71 |
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
} elseif (!isset($this->_sortings[$sortingId])) {
|
77 |
-
/** @var \FACTFinder\Data\Item $sorting */
|
78 |
-
foreach ($sortings as $sorting) {
|
79 |
-
$url = $sorting->getUrl();
|
80 |
-
if (strpos($url, $sortingId) !== false) {
|
81 |
-
$this->_sortings[$sortingId] = $sorting->getUrl();
|
82 |
-
break;
|
83 |
-
}
|
84 |
-
}
|
85 |
}
|
86 |
}
|
87 |
|
|
|
|
|
|
|
|
|
88 |
if (isset($this->_sortings[$sortingId])) {
|
89 |
return $this->_sortings[$sortingId];
|
90 |
} else {
|
@@ -100,8 +106,16 @@ class FACTFinder_Core_Block_Catalog_Product_List_Toolbar extends Mage_Catalog_Bl
|
|
100 |
*/
|
101 |
public function getLimitUrl($limit)
|
102 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
$params = array(
|
104 |
-
$this->getLimitVarName() => $limit
|
105 |
);
|
106 |
|
107 |
$query = http_build_query($params);
|
@@ -114,7 +128,7 @@ class FACTFinder_Core_Block_Catalog_Product_List_Toolbar extends Mage_Catalog_Bl
|
|
114 |
|
115 |
if (count($currentRequest) > 1) {
|
116 |
$params = array_pop($currentRequest);
|
117 |
-
$params = $this->_removeParam($params,
|
118 |
$params = $this->_removeParam($params, 'p');
|
119 |
|
120 |
$currentRequest = array_pop($currentRequest);
|
@@ -125,23 +139,27 @@ class FACTFinder_Core_Block_Catalog_Product_List_Toolbar extends Mage_Catalog_Bl
|
|
125 |
}
|
126 |
}
|
127 |
|
|
|
128 |
/**
|
129 |
* Uses a given base URL to remove subfolders from the current request path in case Magento is hosted in a
|
130 |
* subdirectory.
|
131 |
*
|
132 |
* @param string $fullPath The full request path.
|
133 |
-
* @param string $baseUrl
|
134 |
* @return string
|
135 |
*/
|
136 |
-
|
|
|
137 |
$basePath = parse_url($baseUrl, PHP_URL_PATH);
|
138 |
$pos = strpos($fullPath, $basePath);
|
139 |
if ($pos !== false) {
|
140 |
return substr_replace($fullPath, '', $pos, strlen($basePath));
|
141 |
}
|
|
|
142 |
return $fullPath;
|
143 |
}
|
144 |
|
|
|
145 |
/**
|
146 |
* Get sorting id
|
147 |
*
|
@@ -163,6 +181,28 @@ class FACTFinder_Core_Block_Catalog_Product_List_Toolbar extends Mage_Catalog_Bl
|
|
163 |
}
|
164 |
|
165 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
/**
|
167 |
* Get grit products sort order field
|
168 |
*
|
@@ -222,15 +262,20 @@ class FACTFinder_Core_Block_Catalog_Product_List_Toolbar extends Mage_Catalog_Bl
|
|
222 |
{
|
223 |
if ($this->_handler && $this->_handler->getSorting()) {
|
224 |
$sortings = $this->_handler->getSorting();
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
|
|
|
|
|
|
|
|
|
|
234 |
}
|
235 |
}
|
236 |
}
|
@@ -248,6 +293,13 @@ class FACTFinder_Core_Block_Catalog_Product_List_Toolbar extends Mage_Catalog_Bl
|
|
248 |
public function getDirectionVarName()
|
249 |
{
|
250 |
if ($this->_handler) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
return 'sort' . $this->getCurrentOrder();
|
252 |
}
|
253 |
|
@@ -277,4 +329,212 @@ class FACTFinder_Core_Block_Catalog_Product_List_Toolbar extends Mage_Catalog_Bl
|
|
277 |
}
|
278 |
|
279 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
280 |
}
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Block_Catalog_Product_List_Toolbar extends Mage_Catalog_Block_Product_List_Toolbar
|
25 |
{
|
26 |
+
const SORT_PARAM_PATTERN = 'sort([\w\-]*?)';
|
27 |
|
28 |
/**
|
29 |
* @var bool
|
53 |
}
|
54 |
|
55 |
parent::_construct();
|
56 |
+
|
57 |
+
// reset orders if we use the ones from FF
|
58 |
+
if ($this->_handler && Mage::helper('factfinder/search')->useSortings()) {
|
59 |
+
$this->_availableOrder = array();
|
60 |
+
$sortItems = $this->_handler->getSorting();
|
61 |
+
if ($sortItems != null) {
|
62 |
+
foreach ($sortItems as $item) {
|
63 |
+
$this->addOrderToAvailableOrders($item->getLabel(), $item->getLabel());
|
64 |
+
}
|
65 |
+
}
|
66 |
+
}
|
67 |
}
|
68 |
|
69 |
|
76 |
*/
|
77 |
public function getPagerUrl($params=array())
|
78 |
{
|
79 |
+
if (empty($this->_handler)) {
|
80 |
+
return parent::getPagerUrl($params);
|
81 |
+
}
|
|
|
82 |
|
83 |
+
if (Mage::helper('factfinder/search')->useSortings()) {
|
84 |
+
$sortingUrl = $this->getSortingUrl($params);
|
85 |
+
if ($sortingUrl) {
|
86 |
+
return $sortingUrl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
}
|
88 |
}
|
89 |
|
90 |
+
$sortingId = $this->_getSortingId($params);
|
91 |
+
|
92 |
+
$this->initSortings($sortingId);
|
93 |
+
|
94 |
if (isset($this->_sortings[$sortingId])) {
|
95 |
return $this->_sortings[$sortingId];
|
96 |
} else {
|
106 |
*/
|
107 |
public function getLimitUrl($limit)
|
108 |
{
|
109 |
+
$limitUrl = null;
|
110 |
+
if ($this->_handler && Mage::helper('factfinder/search')->useResultsPerPageOptions()) {
|
111 |
+
$limitUrl = $this->getResultsPerPageOptionUrl($limit);
|
112 |
+
if ($limitUrl != null) {
|
113 |
+
return $limitUrl;
|
114 |
+
}
|
115 |
+
}
|
116 |
+
|
117 |
$params = array(
|
118 |
+
$this->getLimitVarName() => $limit
|
119 |
);
|
120 |
|
121 |
$query = http_build_query($params);
|
128 |
|
129 |
if (count($currentRequest) > 1) {
|
130 |
$params = array_pop($currentRequest);
|
131 |
+
$params = $this->_removeParam($params, $this->getLimitVarName());
|
132 |
$params = $this->_removeParam($params, 'p');
|
133 |
|
134 |
$currentRequest = array_pop($currentRequest);
|
139 |
}
|
140 |
}
|
141 |
|
142 |
+
|
143 |
/**
|
144 |
* Uses a given base URL to remove subfolders from the current request path in case Magento is hosted in a
|
145 |
* subdirectory.
|
146 |
*
|
147 |
* @param string $fullPath The full request path.
|
148 |
+
* @param string $baseUrl The base URL of the Magento installation.
|
149 |
* @return string
|
150 |
*/
|
151 |
+
protected function removeBasePathByBaseUrl($fullPath, $baseUrl)
|
152 |
+
{
|
153 |
$basePath = parse_url($baseUrl, PHP_URL_PATH);
|
154 |
$pos = strpos($fullPath, $basePath);
|
155 |
if ($pos !== false) {
|
156 |
return substr_replace($fullPath, '', $pos, strlen($basePath));
|
157 |
}
|
158 |
+
|
159 |
return $fullPath;
|
160 |
}
|
161 |
|
162 |
+
|
163 |
/**
|
164 |
* Get sorting id
|
165 |
*
|
181 |
}
|
182 |
|
183 |
|
184 |
+
/**
|
185 |
+
* Get sorting Url
|
186 |
+
*
|
187 |
+
* @param array $params
|
188 |
+
*
|
189 |
+
* @return bool|string
|
190 |
+
*/
|
191 |
+
protected function getSortingUrl($params)
|
192 |
+
{
|
193 |
+
if (isset($params[$this->getOrderVarName()])) {
|
194 |
+
$sortItems = $this->_handler->getSorting();
|
195 |
+
foreach ($sortItems as $sortItem) {
|
196 |
+
if ($params[$this->getOrderVarName()] == $sortItem->getLabel()) {
|
197 |
+
return $sortItem->getUrl();
|
198 |
+
}
|
199 |
+
}
|
200 |
+
}
|
201 |
+
|
202 |
+
return false;
|
203 |
+
}
|
204 |
+
|
205 |
+
|
206 |
/**
|
207 |
* Get grit products sort order field
|
208 |
*
|
262 |
{
|
263 |
if ($this->_handler && $this->_handler->getSorting()) {
|
264 |
$sortings = $this->_handler->getSorting();
|
265 |
+
if ($sortings != null) {
|
266 |
+
$this->getRequest()->getQuery();
|
267 |
+
/** @var \FACTFinder\Data\Item $sorting */
|
268 |
+
foreach ($sortings as $sorting) {
|
269 |
+
if ($sorting->isSelected()) {
|
270 |
+
if (Mage::helper('factfinder/search')->useSortings()) {
|
271 |
+
return $sorting->getLabel();
|
272 |
+
}
|
273 |
+
|
274 |
+
$url = $sorting->getUrl();
|
275 |
+
preg_match('/[\?|\&]{1}'.self::SORT_PARAM_PATTERN.'=/', $url, $matches);
|
276 |
+
if (isset($matches[1])) {
|
277 |
+
return $matches[1];
|
278 |
+
}
|
279 |
}
|
280 |
}
|
281 |
}
|
293 |
public function getDirectionVarName()
|
294 |
{
|
295 |
if ($this->_handler) {
|
296 |
+
if (Mage::helper('factfinder/search')->useSortings()) {
|
297 |
+
foreach ($this->getRequest()->getParams() as $key => $value) {
|
298 |
+
if (preg_match('/'.self::SORT_PARAM_PATTERN.'/', $key)) {
|
299 |
+
return $key;
|
300 |
+
}
|
301 |
+
}
|
302 |
+
}
|
303 |
return 'sort' . $this->getCurrentOrder();
|
304 |
}
|
305 |
|
329 |
}
|
330 |
|
331 |
|
332 |
+
/**
|
333 |
+
* Avoid resetting orders by magento if we should use ours
|
334 |
+
*
|
335 |
+
* @param array $orders
|
336 |
+
*
|
337 |
+
* @return $this
|
338 |
+
*/
|
339 |
+
public function setAvailableOrders($orders)
|
340 |
+
{
|
341 |
+
if (Mage::helper('factfinder/search')->useSortings()) {
|
342 |
+
return $this;
|
343 |
+
}
|
344 |
+
|
345 |
+
return parent::setAvailableOrders($orders);
|
346 |
+
}
|
347 |
+
|
348 |
+
|
349 |
+
/**
|
350 |
+
* Init sortings and map them according to parameters in the query
|
351 |
+
*
|
352 |
+
* @param string $sortingId
|
353 |
+
*
|
354 |
+
* @return $this
|
355 |
+
*/
|
356 |
+
protected function initSortings($sortingId)
|
357 |
+
{
|
358 |
+
if (!$sortingId || !$this->_handler) {
|
359 |
+
return $this;
|
360 |
+
}
|
361 |
+
|
362 |
+
$sortings = $this->_handler->getSorting();
|
363 |
+
|
364 |
+
// relevance default and has no directions
|
365 |
+
if ($sortingId == $this->_orderField) {
|
366 |
+
$sorting = $sortings[0];
|
367 |
+
$this->_sortings[$sortingId] = $sorting->getUrl();
|
368 |
+
} elseif (!isset($this->_sortings[$sortingId])) {
|
369 |
+
/** @var \FACTFinder\Data\Item $sorting */
|
370 |
+
foreach ($sortings as $sorting) {
|
371 |
+
$url = $sorting->getUrl();
|
372 |
+
if (strpos($url, $sortingId) !== false) {
|
373 |
+
$this->_sortings[$sortingId] = $sorting->getUrl();
|
374 |
+
break;
|
375 |
+
}
|
376 |
+
}
|
377 |
+
}
|
378 |
+
|
379 |
+
return $this;
|
380 |
+
}
|
381 |
+
|
382 |
+
|
383 |
+
/**
|
384 |
+
* Returns url model class name
|
385 |
+
*
|
386 |
+
* @return string
|
387 |
+
*/
|
388 |
+
protected function _getUrlModelClass()
|
389 |
+
{
|
390 |
+
return 'factfinder/url';
|
391 |
+
}
|
392 |
+
|
393 |
+
|
394 |
+
/**
|
395 |
+
* Retrieve Pager URL
|
396 |
+
*
|
397 |
+
* @param string $order
|
398 |
+
* @param string $direction
|
399 |
+
*
|
400 |
+
* @return string
|
401 |
+
*/
|
402 |
+
public function getOrderUrl($order, $direction)
|
403 |
+
{
|
404 |
+
if ($order === null
|
405 |
+
&& Mage::helper('factfinder/search')->useSortings()
|
406 |
+
&& $this->getRequest()->getParam($this->getDirectionVarName())
|
407 |
+
) {
|
408 |
+
// we use raw value since the one from magento doesn't use redirect url
|
409 |
+
$url = trim(Mage::getBaseUrl('web'), '/');
|
410 |
+
$request = $this->removeBasePathByBaseUrl($_SERVER['REQUEST_URI'], $url);
|
411 |
+
$request = preg_replace(
|
412 |
+
"/{$this->getDirectionVarName()}=([^&]+)/",
|
413 |
+
$this->getDirectionVarName() . '=' . $direction,
|
414 |
+
$request
|
415 |
+
);
|
416 |
+
return trim(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB), '/') . $request;
|
417 |
+
}
|
418 |
+
|
419 |
+
return parent::getOrderUrl($order, $direction);
|
420 |
+
}
|
421 |
+
|
422 |
+
|
423 |
+
/**
|
424 |
+
* Retrieve available results per page values from search response.
|
425 |
+
*
|
426 |
+
* @return array
|
427 |
+
*/
|
428 |
+
public function getAvailableLimit()
|
429 |
+
{
|
430 |
+
if ($this->_handler && Mage::helper('factfinder/search')->useResultsPerPageOptions()) {
|
431 |
+
$resultsPerPageOptions = $this->_handler->getResultsPerPageOptions();
|
432 |
+
if ($resultsPerPageOptions != null) {
|
433 |
+
/** @var \FACTFinder\Data\Item $resultsPerPageOptions */
|
434 |
+
foreach ($resultsPerPageOptions as $option) {
|
435 |
+
$this->_availableLimit[] = $option->getLabel();
|
436 |
+
}
|
437 |
+
}
|
438 |
+
}
|
439 |
+
|
440 |
+
if (!empty($this->_availableLimit)) {
|
441 |
+
return $this->_availableLimit;
|
442 |
+
}
|
443 |
+
|
444 |
+
return parent::getAvailableLimit();
|
445 |
+
}
|
446 |
+
|
447 |
+
|
448 |
+
/**
|
449 |
+
* Get specified results per page value.
|
450 |
+
*
|
451 |
+
* @return string
|
452 |
+
*/
|
453 |
+
public function getLimit()
|
454 |
+
{
|
455 |
+
if ($this->_handler && Mage::helper('factfinder/search')->useResultsPerPageOptions()) {
|
456 |
+
$currentLimit = $this->getRequest()->getParam($this->getLimitVarName());
|
457 |
+
if ($currentLimit == null && $this->_handler->getResultsPerPageOptions() != null) {
|
458 |
+
$currentLimit = $this->_handler->getResultsPerPageOptions()->getDefaultOption()->getLabel();
|
459 |
+
}
|
460 |
+
|
461 |
+
return $currentLimit;
|
462 |
+
}
|
463 |
+
|
464 |
+
return parent::getLimit();
|
465 |
+
}
|
466 |
+
|
467 |
+
|
468 |
+
/**
|
469 |
+
* Checks if the given results per page value is selected.
|
470 |
+
*
|
471 |
+
* @param string $limit
|
472 |
+
*
|
473 |
+
* @return bool
|
474 |
+
*/
|
475 |
+
public function isLimitCurrent($limit)
|
476 |
+
{
|
477 |
+
if ($this->_handler && Mage::helper('factfinder/search')->useResultsPerPageOptions()) {
|
478 |
+
return $this->getResultsPerPageOptionLabel($limit) == $this->getLimit();
|
479 |
+
}
|
480 |
+
|
481 |
+
return parent::isLimitCurrent($limit);
|
482 |
+
}
|
483 |
+
|
484 |
+
|
485 |
+
/**
|
486 |
+
* Returns the results per page value for a key.
|
487 |
+
*
|
488 |
+
* @param string $limit
|
489 |
+
*
|
490 |
+
* @return string
|
491 |
+
*/
|
492 |
+
protected function getResultsPerPageOptionLabel($limit)
|
493 |
+
{
|
494 |
+
$resultsPerPageOptions = $this->_handler->getResultsPerPageOptions();
|
495 |
+
if ($resultsPerPageOptions != null) {
|
496 |
+
if (isset($resultsPerPageOptions[$limit])) {
|
497 |
+
return $resultsPerPageOptions[$limit]->getLabel();
|
498 |
+
}
|
499 |
+
}
|
500 |
+
|
501 |
+
return $limit;
|
502 |
+
}
|
503 |
+
|
504 |
+
|
505 |
+
/**
|
506 |
+
* Returns the results per page url for a key.
|
507 |
+
*
|
508 |
+
* @param string $limit
|
509 |
+
*
|
510 |
+
* @return string
|
511 |
+
*/
|
512 |
+
protected function getResultsPerPageOptionUrl($limit)
|
513 |
+
{
|
514 |
+
$resultsPerPageOptions = $this->_handler->getResultsPerPageOptions();
|
515 |
+
if ($resultsPerPageOptions != null && isset($resultsPerPageOptions[$limit])) {
|
516 |
+
return $resultsPerPageOptions[$limit]->getUrl();
|
517 |
+
}
|
518 |
+
|
519 |
+
return null;
|
520 |
+
}
|
521 |
+
|
522 |
+
|
523 |
+
/**
|
524 |
+
* Returns the default results per page value.
|
525 |
+
*
|
526 |
+
* @return string
|
527 |
+
*/
|
528 |
+
public function getDefaultPerPageValue()
|
529 |
+
{
|
530 |
+
if ($this->_handler && Mage::helper('factfinder/search')->useResultsPerPageOptions()
|
531 |
+
&& $this->_handler->getResultsPerPageOptions() != null
|
532 |
+
) {
|
533 |
+
return $this->_handler->getResultsPerPageOptions()->getDefaultOption()->getLabel();
|
534 |
+
}
|
535 |
+
|
536 |
+
return parent::getDefaultPerPageValue();
|
537 |
+
}
|
538 |
+
|
539 |
+
|
540 |
}
|
app/code/community/FACTFinder/Core/Block/Catalog/Product/Pager.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Block_Catalog_Product_Pager extends Mage_Page_Block_Html_Pager
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Block_Catalog_Product_Pager extends Mage_Page_Block_Html_Pager
|
app/code/community/FACTFinder/Core/Block/CatalogSearch/Layer.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* View.php
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package FACTFinder_Core
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*/
|
12 |
+
class FACTFinder_Core_Block_CatalogSearch_Layer extends Mage_CatalogSearch_Block_Layer
|
13 |
+
{
|
14 |
+
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Rewrite the block to prevent using default layer model
|
18 |
+
*
|
19 |
+
* @return FACTFinder_Core_Model_CatalogSearch_Layer|Mage_Catalog_Model_Layer
|
20 |
+
*/
|
21 |
+
public function getLayer()
|
22 |
+
{
|
23 |
+
if (Mage::helper('factfinder')->isEnabled()) {
|
24 |
+
return Mage::getSingleton('factfinder/catalogSearch_layer');
|
25 |
+
}
|
26 |
+
|
27 |
+
return parent::getLayer();
|
28 |
+
}
|
29 |
+
|
30 |
+
|
31 |
+
/**
|
32 |
+
* @return bool
|
33 |
+
*/
|
34 |
+
public function canShowBlock()
|
35 |
+
{
|
36 |
+
if (Mage::helper('factfinder')->isEnabled()) {
|
37 |
+
return (bool) $this->getLayer()->getProductCollection()->getSize();
|
38 |
+
}
|
39 |
+
|
40 |
+
return parent::canShowBlock();
|
41 |
+
}
|
42 |
+
|
43 |
+
|
44 |
+
}
|
app/code/community/FACTFinder/Core/Block/EnterpriseSearch/Layer.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* View.php
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package FACTFinder_Core
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*/
|
12 |
+
class FACTFinder_Core_Block_EnterpriseSearch_Layer extends Enterprise_Search_Block_Catalogsearch_Layer
|
13 |
+
{
|
14 |
+
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Rewrite the block to prevent using default layer model
|
18 |
+
*
|
19 |
+
* @return FACTFinder_Core_Model_CatalogSearch_Layer|Mage_Catalog_Model_Layer
|
20 |
+
*/
|
21 |
+
public function getLayer()
|
22 |
+
{
|
23 |
+
if (Mage::helper('factfinder')->isEnabled()) {
|
24 |
+
return Mage::getSingleton('factfinder/catalogSearch_layer');
|
25 |
+
}
|
26 |
+
|
27 |
+
return parent::getLayer();
|
28 |
+
}
|
29 |
+
|
30 |
+
|
31 |
+
/**
|
32 |
+
* @return bool
|
33 |
+
*/
|
34 |
+
public function canShowBlock()
|
35 |
+
{
|
36 |
+
if (Mage::helper('factfinder')->isEnabled()) {
|
37 |
+
return (bool) $this->getLayer()->getProductCollection()->getSize();
|
38 |
+
}
|
39 |
+
|
40 |
+
return parent::canShowBlock();
|
41 |
+
}
|
42 |
+
|
43 |
+
|
44 |
+
}
|
app/code/community/FACTFinder/Core/Helper/Backend.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Helper_Backend extends Mage_Core_Helper_Abstract
|
@@ -179,10 +179,11 @@ class FACTFinder_Core_Helper_Backend extends Mage_Core_Helper_Abstract
|
|
179 |
* Check configuration data by contacting FACT-Finder servers.
|
180 |
*
|
181 |
* @param array $configData
|
|
|
182 |
*
|
183 |
* @return array
|
184 |
*/
|
185 |
-
public function checkConfigData($configData)
|
186 |
{
|
187 |
$dataArray = $this->_getCompleteFieldsetData($configData);
|
188 |
$data = new Varien_Object($dataArray);
|
@@ -202,7 +203,7 @@ class FACTFinder_Core_Helper_Backend extends Mage_Core_Helper_Abstract
|
|
202 |
}
|
203 |
|
204 |
if (count($errors) == 0) {
|
205 |
-
$checkStatusHandler = Mage::getSingleton('factfinder/handler_status', $
|
206 |
if (!$checkStatusHandler->checkStatus()) {
|
207 |
$errors = $checkStatusHandler->getErrorMessages();
|
208 |
}
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Helper_Backend extends Mage_Core_Helper_Abstract
|
179 |
* Check configuration data by contacting FACT-Finder servers.
|
180 |
*
|
181 |
* @param array $configData
|
182 |
+
* @param int $storeId
|
183 |
*
|
184 |
* @return array
|
185 |
*/
|
186 |
+
public function checkConfigData($configData, $storeId = 0)
|
187 |
{
|
188 |
$dataArray = $this->_getCompleteFieldsetData($configData);
|
189 |
$data = new Varien_Object($dataArray);
|
203 |
}
|
204 |
|
205 |
if (count($errors) == 0) {
|
206 |
+
$checkStatusHandler = Mage::getSingleton('factfinder/handler_status', array('store_id' => $storeId));
|
207 |
if (!$checkStatusHandler->checkStatus()) {
|
208 |
$errors = $checkStatusHandler->getErrorMessages();
|
209 |
}
|
app/code/community/FACTFinder/Core/Helper/Data.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,14 +17,16 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Helper_Data extends Mage_Core_Helper_Abstract
|
25 |
{
|
26 |
|
27 |
const SKIP_FF_PARAM_NAME = 'skip_ff';
|
|
|
|
|
28 |
|
29 |
|
30 |
/**
|
@@ -36,7 +38,9 @@ class FACTFinder_Core_Helper_Data extends Mage_Core_Helper_Abstract
|
|
36 |
*/
|
37 |
public function isEnabled($feature = null)
|
38 |
{
|
39 |
-
if ($this->_getRequest()->getParam(
|
|
|
|
|
40 |
return false;
|
41 |
}
|
42 |
|
@@ -76,35 +80,6 @@ class FACTFinder_Core_Helper_Data extends Mage_Core_Helper_Abstract
|
|
76 |
}
|
77 |
|
78 |
|
79 |
-
/**
|
80 |
-
* Update xml file in etc/modules according to backend config
|
81 |
-
* Return true, if the file was written and false if an error occurred
|
82 |
-
*
|
83 |
-
* @param string $module
|
84 |
-
* @param bool $isActive
|
85 |
-
*
|
86 |
-
* @return bool
|
87 |
-
*/
|
88 |
-
public function updateModuleState($module, $isActive = true)
|
89 |
-
{
|
90 |
-
$dir = Mage::getBaseDir('etc') . DS . 'modules' . DS;
|
91 |
-
$file = $dir . $module . '.xml';
|
92 |
-
|
93 |
-
if (!file_exists($file)) {
|
94 |
-
return;
|
95 |
-
}
|
96 |
-
|
97 |
-
$xml = new DOMDocument();
|
98 |
-
$xml->load($file);
|
99 |
-
foreach ($xml->getElementsByTagName('active') as $item) {
|
100 |
-
$item->nodeValue = $isActive ? 'true' : 'false';
|
101 |
-
}
|
102 |
-
|
103 |
-
// silencing is not good, but we only need the result of the operation
|
104 |
-
return (bool) @$xml->save($file);
|
105 |
-
}
|
106 |
-
|
107 |
-
|
108 |
/**
|
109 |
* Redirect to the same url but with the skip parameter
|
110 |
*
|
@@ -113,7 +88,7 @@ class FACTFinder_Core_Helper_Data extends Mage_Core_Helper_Abstract
|
|
113 |
public function performFallbackRedirect()
|
114 |
{
|
115 |
if (!$this->_getRequest()->getParam(self::SKIP_FF_PARAM_NAME)
|
116 |
-
&& Mage::getStoreConfig(
|
117 |
) {
|
118 |
$url = Mage::helper('core/url')->getCurrentUrl();
|
119 |
$url .= strpos($url, '?') ? '&' : '?';
|
@@ -126,32 +101,15 @@ class FACTFinder_Core_Helper_Data extends Mage_Core_Helper_Abstract
|
|
126 |
|
127 |
|
128 |
/**
|
129 |
-
*
|
130 |
*
|
131 |
* @param null|int $storeId
|
132 |
*
|
133 |
-
* @return
|
134 |
*/
|
135 |
-
public function
|
136 |
{
|
137 |
-
return Mage::
|
138 |
-
}
|
139 |
-
|
140 |
-
|
141 |
-
/**
|
142 |
-
* Get list of channels for store
|
143 |
-
*
|
144 |
-
* @param null|int $storeId
|
145 |
-
*
|
146 |
-
* @return array
|
147 |
-
*/
|
148 |
-
public function getStoreChannels($storeId = null)
|
149 |
-
{
|
150 |
-
$primary = Mage::getStoreConfig('factfinder/search/channel', $storeId);
|
151 |
-
$secondary = Mage::getStoreConfig('factfinder/search/secondary_channels', $storeId);
|
152 |
-
$secondary = explode(';', $secondary);
|
153 |
-
|
154 |
-
return array_merge(array($primary), $secondary);
|
155 |
}
|
156 |
|
157 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Helper_Data extends Mage_Core_Helper_Abstract
|
25 |
{
|
26 |
|
27 |
const SKIP_FF_PARAM_NAME = 'skip_ff';
|
28 |
+
const USE_FALLBACK_CONFIG_PATH = 'factfinder/fallback/use_fallback';
|
29 |
+
const PRIMARY_CHANNEL_CONFIG_PATH = 'factfinder/search/channel';
|
30 |
|
31 |
|
32 |
/**
|
38 |
*/
|
39 |
public function isEnabled($feature = null)
|
40 |
{
|
41 |
+
if ($this->_getRequest()->getParam(self::SKIP_FF_PARAM_NAME)
|
42 |
+
&& Mage::getStoreConfig(self::USE_FALLBACK_CONFIG_PATH)
|
43 |
+
) {
|
44 |
return false;
|
45 |
}
|
46 |
|
80 |
}
|
81 |
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
/**
|
84 |
* Redirect to the same url but with the skip parameter
|
85 |
*
|
88 |
public function performFallbackRedirect()
|
89 |
{
|
90 |
if (!$this->_getRequest()->getParam(self::SKIP_FF_PARAM_NAME)
|
91 |
+
&& Mage::getStoreConfig(self::USE_FALLBACK_CONFIG_PATH)
|
92 |
) {
|
93 |
$url = Mage::helper('core/url')->getCurrentUrl();
|
94 |
$url .= strpos($url, '?') ? '&' : '?';
|
101 |
|
102 |
|
103 |
/**
|
104 |
+
* Get primary channel for store
|
105 |
*
|
106 |
* @param null|int $storeId
|
107 |
*
|
108 |
+
* @return string|null
|
109 |
*/
|
110 |
+
public function getPrimaryChannel($storeId = null)
|
111 |
{
|
112 |
+
return Mage::getStoreConfig(self::PRIMARY_CHANNEL_CONFIG_PATH, $storeId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
}
|
114 |
|
115 |
|
app/code/community/FACTFinder/Core/Helper/Debug.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Helper_Debug extends Mage_Core_Helper_Abstract
|
@@ -89,17 +89,18 @@ class FACTFinder_Core_Helper_Debug extends Mage_Core_Helper_Abstract
|
|
89 |
* Debug Log to file var/log/factfinder.log
|
90 |
*
|
91 |
* @param mixed $message
|
|
|
92 |
*
|
93 |
* @return $this
|
94 |
*/
|
95 |
-
public function log($message)
|
96 |
{
|
97 |
if (!Mage::getConfig()) {
|
98 |
return $this;
|
99 |
}
|
100 |
|
101 |
try {
|
102 |
-
if ($this->isDebugMode()) {
|
103 |
Mage::log($message, null, self::LOG_FILE_NAME, true);
|
104 |
}
|
105 |
} catch (Exception $e){
|
@@ -159,7 +160,7 @@ class FACTFinder_Core_Helper_Debug extends Mage_Core_Helper_Abstract
|
|
159 |
*/
|
160 |
public function warn($message)
|
161 |
{
|
162 |
-
return $this->log('WARNING: ' . $message);
|
163 |
}
|
164 |
|
165 |
|
@@ -172,7 +173,7 @@ class FACTFinder_Core_Helper_Debug extends Mage_Core_Helper_Abstract
|
|
172 |
*/
|
173 |
public function error($message)
|
174 |
{
|
175 |
-
return $this->log('ERROR: ' . $message);
|
176 |
}
|
177 |
|
178 |
|
@@ -185,7 +186,7 @@ class FACTFinder_Core_Helper_Debug extends Mage_Core_Helper_Abstract
|
|
185 |
*/
|
186 |
public function fatal($message)
|
187 |
{
|
188 |
-
return $this->log('FATAL ERROR: ' . $message);
|
189 |
}
|
190 |
|
191 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Helper_Debug extends Mage_Core_Helper_Abstract
|
89 |
* Debug Log to file var/log/factfinder.log
|
90 |
*
|
91 |
* @param mixed $message
|
92 |
+
* @param bool $ignoreDebugConfig pass true if debug mode configuration should be ignored
|
93 |
*
|
94 |
* @return $this
|
95 |
*/
|
96 |
+
public function log($message, $ignoreDebugConfig=false)
|
97 |
{
|
98 |
if (!Mage::getConfig()) {
|
99 |
return $this;
|
100 |
}
|
101 |
|
102 |
try {
|
103 |
+
if ($this->isDebugMode() || $ignoreDebugConfig) {
|
104 |
Mage::log($message, null, self::LOG_FILE_NAME, true);
|
105 |
}
|
106 |
} catch (Exception $e){
|
160 |
*/
|
161 |
public function warn($message)
|
162 |
{
|
163 |
+
return $this->log('WARNING: ' . $message, true);
|
164 |
}
|
165 |
|
166 |
|
173 |
*/
|
174 |
public function error($message)
|
175 |
{
|
176 |
+
return $this->log('ERROR: ' . $message, true);
|
177 |
}
|
178 |
|
179 |
|
186 |
*/
|
187 |
public function fatal($message)
|
188 |
{
|
189 |
+
return $this->log('FATAL ERROR: ' . $message, true);
|
190 |
}
|
191 |
|
192 |
|
app/code/community/FACTFinder/Core/Helper/Export.php
ADDED
@@ -0,0 +1,274 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Export.php
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package magento
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*/
|
12 |
+
class FACTFinder_Core_Helper_Export extends Mage_Core_Helper_Abstract
|
13 |
+
{
|
14 |
+
|
15 |
+
const EXPORT_CONFIG_PATH = 'factfinder/export';
|
16 |
+
const FTP_HOST = 'ftp_host';
|
17 |
+
const FTP_PASSWORD = 'ftp_password';
|
18 |
+
const FTP_USER = 'ftp_user';
|
19 |
+
const FTP_PORT = 'ftp_port';
|
20 |
+
const FTP_DIR = 'ftp_path';
|
21 |
+
const FTP_SECURE = 'ftp_ssl';
|
22 |
+
const FTP_ENABLED = 'use_ftp';
|
23 |
+
const IMPORT_DELAY_ENABLED = 'import_delay_enabled';
|
24 |
+
const IMPORT_DELAY_KEY = 'factfinder_import_delay';
|
25 |
+
const ARCHIVE_PATTERN = 'store_%s_export.zip';
|
26 |
+
const EXPORT_TRIGGER_DELAY = 90;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* @var int
|
30 |
+
*/
|
31 |
+
protected $_storeId = 0;
|
32 |
+
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param int $storeId
|
36 |
+
*
|
37 |
+
* @return $this
|
38 |
+
*/
|
39 |
+
public function setStoreId($storeId)
|
40 |
+
{
|
41 |
+
$this->_storeId = $storeId;
|
42 |
+
|
43 |
+
return $this;
|
44 |
+
}
|
45 |
+
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Get array of export types
|
49 |
+
* The order is normally important
|
50 |
+
*
|
51 |
+
* @return array
|
52 |
+
*/
|
53 |
+
public function getExportTypes()
|
54 |
+
{
|
55 |
+
return array(
|
56 |
+
'stock',
|
57 |
+
'price',
|
58 |
+
'product',
|
59 |
+
);
|
60 |
+
}
|
61 |
+
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Check if FTP upload is enabled for store
|
65 |
+
*
|
66 |
+
* @param int $storeId
|
67 |
+
*
|
68 |
+
* @return bool
|
69 |
+
*/
|
70 |
+
public function useFtp($storeId = 0)
|
71 |
+
{
|
72 |
+
return (bool) $this->getExportConfigValue(self::FTP_ENABLED, $storeId);
|
73 |
+
}
|
74 |
+
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Get export config value
|
78 |
+
*
|
79 |
+
* @param string $field
|
80 |
+
* @param int $storeId
|
81 |
+
*
|
82 |
+
* @return null|string
|
83 |
+
*/
|
84 |
+
public function getExportConfigValue($field, $storeId)
|
85 |
+
{
|
86 |
+
if (!$storeId) {
|
87 |
+
$storeId = $this->_storeId;
|
88 |
+
}
|
89 |
+
|
90 |
+
return Mage::app()->getStore($storeId)->getConfig(self::EXPORT_CONFIG_PATH . '/' . $field);
|
91 |
+
}
|
92 |
+
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Get FTP host from config
|
96 |
+
*
|
97 |
+
* @param int $storeId
|
98 |
+
*
|
99 |
+
* @return null|string
|
100 |
+
*/
|
101 |
+
public function getFtpHost($storeId = 0)
|
102 |
+
{
|
103 |
+
return $this->getExportConfigValue(self::FTP_HOST, $storeId);
|
104 |
+
}
|
105 |
+
|
106 |
+
|
107 |
+
/**
|
108 |
+
* Get FTP port from config
|
109 |
+
*
|
110 |
+
* @param int $storeId
|
111 |
+
*
|
112 |
+
* @return null|string
|
113 |
+
*/
|
114 |
+
public function getFtpPort($storeId = 0)
|
115 |
+
{
|
116 |
+
return $this->getExportConfigValue(self::FTP_PORT, $storeId);
|
117 |
+
}
|
118 |
+
|
119 |
+
|
120 |
+
/**
|
121 |
+
* Get FTP password from config
|
122 |
+
*
|
123 |
+
* @param int $storeId
|
124 |
+
*
|
125 |
+
* @return null|string
|
126 |
+
*/
|
127 |
+
public function getFtpPassword($storeId = 0)
|
128 |
+
{
|
129 |
+
return $this->getExportConfigValue(self::FTP_PASSWORD, $storeId);
|
130 |
+
}
|
131 |
+
|
132 |
+
|
133 |
+
/**
|
134 |
+
* Get FTP user from config
|
135 |
+
*
|
136 |
+
* @param int $storeId
|
137 |
+
*
|
138 |
+
* @return null|string
|
139 |
+
*/
|
140 |
+
public function getFtpUser($storeId = 0)
|
141 |
+
{
|
142 |
+
return $this->getExportConfigValue(self::FTP_USER, $storeId);
|
143 |
+
}
|
144 |
+
|
145 |
+
|
146 |
+
/**
|
147 |
+
* Get FTP directory from config
|
148 |
+
*
|
149 |
+
* @param int $storeId
|
150 |
+
*
|
151 |
+
* @return null|string
|
152 |
+
*/
|
153 |
+
public function getFtpDirectory($storeId = 0)
|
154 |
+
{
|
155 |
+
return $this->getExportConfigValue(self::FTP_DIR, $storeId);
|
156 |
+
}
|
157 |
+
|
158 |
+
|
159 |
+
/**
|
160 |
+
* Check if SSL should be used
|
161 |
+
*
|
162 |
+
* @param int $storeId
|
163 |
+
*
|
164 |
+
* @return null|string
|
165 |
+
*/
|
166 |
+
public function getFtpSecure($storeId = 0)
|
167 |
+
{
|
168 |
+
return $this->getExportConfigValue(self::FTP_SECURE, $storeId);
|
169 |
+
}
|
170 |
+
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Get export directory path
|
174 |
+
*
|
175 |
+
* @return string
|
176 |
+
*/
|
177 |
+
public function getExportDirectory()
|
178 |
+
{
|
179 |
+
return Mage::getBaseDir('var') . DS . 'factfinder';
|
180 |
+
}
|
181 |
+
|
182 |
+
|
183 |
+
/**
|
184 |
+
* Check whether import must be triggered
|
185 |
+
*
|
186 |
+
* @param null|int $storeId
|
187 |
+
*
|
188 |
+
* @return bool
|
189 |
+
*/
|
190 |
+
public function isImportTriggerEnabled($storeId = null)
|
191 |
+
{
|
192 |
+
return Mage::getStoreConfigFlag('factfinder/export/trigger_data_import', $storeId);
|
193 |
+
}
|
194 |
+
|
195 |
+
|
196 |
+
/**
|
197 |
+
* Check whether import trigger delay is enabled
|
198 |
+
*
|
199 |
+
* @param int $storeId
|
200 |
+
*
|
201 |
+
* @return bool
|
202 |
+
*/
|
203 |
+
public function isImportDelayEnabled($storeId)
|
204 |
+
{
|
205 |
+
// this usually returns false for WINDOWS,
|
206 |
+
// since forking processes is not supported there
|
207 |
+
if (!function_exists('pcntl_fork')) {
|
208 |
+
return false;
|
209 |
+
}
|
210 |
+
|
211 |
+
return (bool) $this->getExportConfigValue(self::IMPORT_DELAY_ENABLED, $storeId);
|
212 |
+
}
|
213 |
+
|
214 |
+
|
215 |
+
/**
|
216 |
+
* Create archive with export files for store.
|
217 |
+
* No archive will be created if no export files exist.
|
218 |
+
*
|
219 |
+
* @param int $storeId
|
220 |
+
*
|
221 |
+
* @return string Archive name, even if it was not created.
|
222 |
+
*/
|
223 |
+
public function archiveFiles($storeId)
|
224 |
+
{
|
225 |
+
$dir = $this->getExportDirectory();
|
226 |
+
|
227 |
+
$archiveName = sprintf(self::ARCHIVE_PATTERN, $storeId);
|
228 |
+
|
229 |
+
$zip = new ZipArchive();
|
230 |
+
$zip->open($dir . DS . $archiveName, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);
|
231 |
+
foreach ($this->getExportTypes() as $type) {
|
232 |
+
$model = Mage::getModel('factfinder/export_' . $type);
|
233 |
+
$filename = $model->getFilenameForStore($storeId);
|
234 |
+
$zip->addFile($dir . DS . $filename, $filename);
|
235 |
+
}
|
236 |
+
|
237 |
+
$zip->close();
|
238 |
+
|
239 |
+
return $dir . DS . $archiveName;
|
240 |
+
}
|
241 |
+
|
242 |
+
|
243 |
+
/**
|
244 |
+
* Get duration of import delay in seconds for import type
|
245 |
+
*
|
246 |
+
* @param string $type
|
247 |
+
*
|
248 |
+
* @return int
|
249 |
+
*/
|
250 |
+
public function getImportDelay($type)
|
251 |
+
{
|
252 |
+
$key = self::IMPORT_DELAY_KEY;
|
253 |
+
$delay = Mage::registry($key);
|
254 |
+
|
255 |
+
// if this type of import was already calculated
|
256 |
+
$typeKey = self::IMPORT_DELAY_KEY . '_' . $type;
|
257 |
+
if (Mage::registry($typeKey)) {
|
258 |
+
return Mage::registry($typeKey);
|
259 |
+
}
|
260 |
+
|
261 |
+
$delay +=self::EXPORT_TRIGGER_DELAY;
|
262 |
+
|
263 |
+
// save the new base value in registry
|
264 |
+
Mage::unregister($key);
|
265 |
+
Mage::register($key, $delay);
|
266 |
+
|
267 |
+
// save type
|
268 |
+
Mage::register($typeKey, $delay);
|
269 |
+
|
270 |
+
return $delay;
|
271 |
+
}
|
272 |
+
|
273 |
+
|
274 |
+
}
|
app/code/community/FACTFinder/Core/Helper/Rewrite.php
ADDED
@@ -0,0 +1,119 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Rewrite.php
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package magento
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*/
|
12 |
+
class FACTFinder_Core_Helper_Rewrite extends Mage_Core_Helper_Abstract
|
13 |
+
{
|
14 |
+
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Get all factfinder submodules
|
18 |
+
* Based on config values so can be a bit not exact
|
19 |
+
*
|
20 |
+
* @return array
|
21 |
+
*/
|
22 |
+
protected function getAllModules()
|
23 |
+
{
|
24 |
+
$modules = array(
|
25 |
+
'FACTFinder_Core',
|
26 |
+
);
|
27 |
+
|
28 |
+
foreach (Mage::app()->getStore()->getConfig('factfinder/modules') as $module => $status) {
|
29 |
+
$modules[] = 'FACTFinder_' . ucwords($module);
|
30 |
+
}
|
31 |
+
|
32 |
+
return $modules;
|
33 |
+
}
|
34 |
+
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Get rewritten blocks or models for module
|
38 |
+
*
|
39 |
+
* @param string $module
|
40 |
+
* @param string $type blocks|models
|
41 |
+
*
|
42 |
+
* @return array
|
43 |
+
*/
|
44 |
+
protected function getModuleRewrites($module, $type)
|
45 |
+
{
|
46 |
+
$result = array();
|
47 |
+
|
48 |
+
if (!Mage::helper('core')->isModuleEnabled($module)) {
|
49 |
+
return $result;
|
50 |
+
}
|
51 |
+
|
52 |
+
$file = Mage::getModuleDir('etc', $module) . DS . 'config.xml';
|
53 |
+
$configModel = new Varien_Simplexml_Config($file);
|
54 |
+
|
55 |
+
$rewrites = $configModel->getXpath("*/{$type}/*/rewrite");
|
56 |
+
if (empty($rewrites)) {
|
57 |
+
return $result;
|
58 |
+
}
|
59 |
+
|
60 |
+
/** @var Varien_Simplexml_Element $item */
|
61 |
+
foreach ( $rewrites as $item) {
|
62 |
+
$module = $item->getParent()->getName();
|
63 |
+
foreach ($item->children() as $child) {
|
64 |
+
$result[$module . '/' . $child->getName()] = $child->asArray();
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
return $result;
|
69 |
+
}
|
70 |
+
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Check all rewritten blocks and models
|
74 |
+
*
|
75 |
+
* @return array
|
76 |
+
*/
|
77 |
+
public function checkRewrites()
|
78 |
+
{
|
79 |
+
$result = array();
|
80 |
+
foreach ($this->getAllModules() as $module) {
|
81 |
+
// check blocks
|
82 |
+
$rewrittenBlocks = $this->getModuleRewrites($module, 'blocks');
|
83 |
+
foreach ($rewrittenBlocks as $block => $neededClassName) {
|
84 |
+
$actualClassName = Mage::getConfig()->getBlockClassName($block);
|
85 |
+
if ($neededClassName !== $actualClassName) {
|
86 |
+
$result[] = $this->getWrongRewriteMessage($neededClassName, $actualClassName);
|
87 |
+
}
|
88 |
+
}
|
89 |
+
|
90 |
+
// check models
|
91 |
+
$rewrittenModels = $this->getModuleRewrites($module, 'models');
|
92 |
+
foreach ($rewrittenModels as $model => $neededClassName) {
|
93 |
+
$actualClassName = Mage::getConfig()->getModelClassName($model);
|
94 |
+
if ($neededClassName !== $actualClassName) {
|
95 |
+
$result[] = $this->getWrongRewriteMessage($neededClassName, $actualClassName);
|
96 |
+
}
|
97 |
+
}
|
98 |
+
}
|
99 |
+
|
100 |
+
return $result;
|
101 |
+
}
|
102 |
+
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Get message about wrong class received (not rewritten or rewritten by a wrong module)
|
106 |
+
*
|
107 |
+
* @return string
|
108 |
+
*/
|
109 |
+
protected function getWrongRewriteMessage($neededClassName, $actualClassName)
|
110 |
+
{
|
111 |
+
return Mage::helper('factfinder')->__(
|
112 |
+
'Rewrite warning: instead of <i>%s</i> got <i>%s</i>',
|
113 |
+
$neededClassName,
|
114 |
+
$actualClassName
|
115 |
+
);
|
116 |
+
}
|
117 |
+
|
118 |
+
|
119 |
+
}
|
app/code/community/FACTFinder/Core/Helper/Search.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Helper_Search extends Mage_Core_Helper_Abstract
|
@@ -32,6 +32,8 @@ class FACTFinder_Core_Helper_Search extends Mage_Core_Helper_Abstract
|
|
32 |
|
33 |
const REQUEST_ID_PREFIX = 'FACTFINDER_';
|
34 |
|
|
|
|
|
35 |
|
36 |
/**
|
37 |
* Retrieve query model object
|
@@ -98,7 +100,7 @@ class FACTFinder_Core_Helper_Search extends Mage_Core_Helper_Abstract
|
|
98 |
{
|
99 |
$idFieldName = Mage::getStoreConfig(self::XML_CONFIG_PATH_PRODUCT_IDENTIFIER);
|
100 |
if (!$idFieldName) {
|
101 |
-
$idFieldName =
|
102 |
}
|
103 |
|
104 |
return $idFieldName;
|
@@ -181,6 +183,26 @@ class FACTFinder_Core_Helper_Search extends Mage_Core_Helper_Abstract
|
|
181 |
}
|
182 |
|
183 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
/**
|
185 |
* Redirect to product page
|
186 |
*
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Helper_Search extends Mage_Core_Helper_Abstract
|
32 |
|
33 |
const REQUEST_ID_PREFIX = 'FACTFINDER_';
|
34 |
|
35 |
+
const DEFAULT_ENTITY_ID_FIELD_NAME = 'entity_id';
|
36 |
+
|
37 |
|
38 |
/**
|
39 |
* Retrieve query model object
|
100 |
{
|
101 |
$idFieldName = Mage::getStoreConfig(self::XML_CONFIG_PATH_PRODUCT_IDENTIFIER);
|
102 |
if (!$idFieldName) {
|
103 |
+
$idFieldName = self::DEFAULT_ENTITY_ID_FIELD_NAME;
|
104 |
}
|
105 |
|
106 |
return $idFieldName;
|
183 |
}
|
184 |
|
185 |
|
186 |
+
/**
|
187 |
+
* Check if we should use sorting items delivered from FF
|
188 |
+
*
|
189 |
+
* @return bool
|
190 |
+
*/
|
191 |
+
public function useSortings()
|
192 |
+
{
|
193 |
+
return (bool) Mage::app()->getStore()->getConfig('factfinder/config/use_sortings');
|
194 |
+
}
|
195 |
+
|
196 |
+
/**
|
197 |
+
* Check if we should use results per page items delivered from FF
|
198 |
+
*
|
199 |
+
* @return bool
|
200 |
+
*/
|
201 |
+
public function useResultsPerPageOptions()
|
202 |
+
{
|
203 |
+
return (bool) Mage::app()->getStore()->getConfig('factfinder/config/use_resultsPerPage');
|
204 |
+
}
|
205 |
+
|
206 |
/**
|
207 |
* Redirect to product page
|
208 |
*
|
app/code/community/FACTFinder/Core/Model/Autoloader.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -20,8 +20,8 @@
|
|
20 |
* @category Mage
|
21 |
* @package FACTFinder_Core
|
22 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
23 |
-
* @copyright Copyright (c)
|
24 |
-
* @license
|
25 |
* @link http://www.flagbit.de
|
26 |
*/
|
27 |
class FACTFinder_Core_Model_Autoloader
|
@@ -63,9 +63,11 @@ class FACTFinder_Core_Model_Autoloader
|
|
63 |
$classFile = str_replace('\\', '/', $class) . '.php';
|
64 |
|
65 |
if (strpos($classFile, '/') !== false) {
|
66 |
-
|
|
|
|
|
67 |
}
|
68 |
}
|
69 |
|
70 |
|
71 |
-
}
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
20 |
* @category Mage
|
21 |
* @package FACTFinder_Core
|
22 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
23 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
24 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
25 |
* @link http://www.flagbit.de
|
26 |
*/
|
27 |
class FACTFinder_Core_Model_Autoloader
|
63 |
$classFile = str_replace('\\', '/', $class) . '.php';
|
64 |
|
65 |
if (strpos($classFile, '/') !== false) {
|
66 |
+
if (file_exists(stream_resolve_include_path($classFile))) {
|
67 |
+
include $classFile;
|
68 |
+
}
|
69 |
}
|
70 |
}
|
71 |
|
72 |
|
73 |
+
}
|
app/code/community/FACTFinder/Core/Model/CatalogSearch/Layer.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_CatalogSearch_Layer extends Mage_CatalogSearch_Model_Layer
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_CatalogSearch_Layer extends Mage_CatalogSearch_Model_Layer
|
app/code/community/FACTFinder/Core/Model/CatalogSearch/Query.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Query.php
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package FACTFinder_Core
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*/
|
12 |
+
|
13 |
+
class FACTFinder_Core_Model_CatalogSearch_Query extends Mage_CatalogSearch_Model_Query
|
14 |
+
{
|
15 |
+
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Rewrite the model to prevent savin data to the db if FF is enabled
|
19 |
+
*
|
20 |
+
* @return $this|\Mage_Core_Model_Abstract
|
21 |
+
*
|
22 |
+
* @throws \Exception
|
23 |
+
*/
|
24 |
+
public function save()
|
25 |
+
{
|
26 |
+
if (Mage::helper('factfinder')->isEnabled()) {
|
27 |
+
return $this;
|
28 |
+
}
|
29 |
+
|
30 |
+
return parent::save();
|
31 |
+
}
|
32 |
+
|
33 |
+
|
34 |
+
}
|
app/code/community/FACTFinder/Core/Model/Export/Observer.php
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Observer.php
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package magento
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*/
|
12 |
+
class FACTFinder_Core_Model_Export_Observer
|
13 |
+
{
|
14 |
+
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @param Varien_Object $observer
|
18 |
+
*
|
19 |
+
* @return void
|
20 |
+
*/
|
21 |
+
public function triggerImportAfterExport($observer)
|
22 |
+
{
|
23 |
+
$helper = Mage::helper('factfinder');
|
24 |
+
$storeId = $observer->getStoreId();
|
25 |
+
|
26 |
+
$this->uploadFileToFtp($observer);
|
27 |
+
|
28 |
+
if ($helper->isEnabled() && Mage::helper('factfinder/export')->isImportTriggerEnabled($storeId)) {
|
29 |
+
$channel = $helper->getPrimaryChannel($storeId);
|
30 |
+
$download = !Mage::helper('factfinder/export')->useFtp($storeId);
|
31 |
+
$facade = Mage::getModel('factfinder/facade');
|
32 |
+
$facade->setStoreId($storeId);
|
33 |
+
$facade->triggerDataImport($channel, $download);
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Archive and export files and upload them to FTP
|
40 |
+
*
|
41 |
+
* @param Varien_Object $observer
|
42 |
+
*
|
43 |
+
* @return void
|
44 |
+
*/
|
45 |
+
protected function uploadFileToFtp($observer)
|
46 |
+
{
|
47 |
+
$helper = Mage::helper('factfinder/export');
|
48 |
+
$storeId = $observer->getStoreId();
|
49 |
+
|
50 |
+
if (!$helper->useFtp($storeId)) {
|
51 |
+
return;
|
52 |
+
}
|
53 |
+
|
54 |
+
$file = $helper->archiveFiles($storeId);
|
55 |
+
|
56 |
+
if (!is_file($file)) {
|
57 |
+
return;
|
58 |
+
}
|
59 |
+
|
60 |
+
$helper->setStoreId($storeId);
|
61 |
+
|
62 |
+
try {
|
63 |
+
$ftp = Mage::getModel('factfinder/ftp', array(
|
64 |
+
$helper->getFtpHost(),
|
65 |
+
$helper->getFtpPort(),
|
66 |
+
$helper->getFtpSecure()
|
67 |
+
));
|
68 |
+
$ftp->login($helper->getFtpUser(), $helper->getFtpPassword())
|
69 |
+
->chDir($helper->getFtpDirectory())
|
70 |
+
->upload($file)
|
71 |
+
->close();
|
72 |
+
} catch (Exception $e) {
|
73 |
+
Mage::logException($e);
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Export all types for all stores
|
80 |
+
*
|
81 |
+
* @param Varien_Object $observer
|
82 |
+
*
|
83 |
+
* @return void
|
84 |
+
*/
|
85 |
+
public function exportAll($observer)
|
86 |
+
{
|
87 |
+
foreach (Mage::helper('factfinder/export')->getExportTypes() as $type) {
|
88 |
+
Mage::getModel('factfinder/export_' . $type)->saveAll();
|
89 |
+
}
|
90 |
+
}
|
91 |
+
|
92 |
+
|
93 |
+
}
|
app/code/community/FACTFinder/Core/Model/Export/Price.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,13 +19,15 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_Export_Price extends Mage_Core_Model_Resource_Db_Abstract
|
27 |
{
|
28 |
|
|
|
|
|
29 |
/**
|
30 |
* defines Export Columns
|
31 |
* @var array
|
@@ -53,6 +55,19 @@ class FACTFinder_Core_Model_Export_Price extends Mage_Core_Model_Resource_Db_Abs
|
|
53 |
}
|
54 |
|
55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
/**
|
57 |
* Get file handler instance for store
|
58 |
*
|
@@ -65,8 +80,8 @@ class FACTFinder_Core_Model_Export_Price extends Mage_Core_Model_Resource_Db_Abs
|
|
65 |
protected function _getFile($storeId)
|
66 |
{
|
67 |
if (!$this->_file) {
|
68 |
-
$dir = Mage::
|
69 |
-
$fileName =
|
70 |
$this->_file = Mage::getModel('factfinder/file');
|
71 |
$this->_file->open($dir, $fileName);
|
72 |
}
|
@@ -145,4 +160,26 @@ class FACTFinder_Core_Model_Export_Price extends Mage_Core_Model_Resource_Db_Abs
|
|
145 |
}
|
146 |
|
147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
}
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_Export_Price extends Mage_Core_Model_Resource_Db_Abstract
|
27 |
{
|
28 |
|
29 |
+
const FILENAME_PATTERN = 'store_%s_price.csv';
|
30 |
+
|
31 |
/**
|
32 |
* defines Export Columns
|
33 |
* @var array
|
55 |
}
|
56 |
|
57 |
|
58 |
+
/**
|
59 |
+
* Get export filename for store
|
60 |
+
*
|
61 |
+
* @param int $storeId
|
62 |
+
*
|
63 |
+
* @return string
|
64 |
+
*/
|
65 |
+
public function getFilenameForStore($storeId)
|
66 |
+
{
|
67 |
+
return sprintf(self::FILENAME_PATTERN, $storeId);
|
68 |
+
}
|
69 |
+
|
70 |
+
|
71 |
/**
|
72 |
* Get file handler instance for store
|
73 |
*
|
80 |
protected function _getFile($storeId)
|
81 |
{
|
82 |
if (!$this->_file) {
|
83 |
+
$dir = Mage::helper('factfinder/export')->getExportDirectory();
|
84 |
+
$fileName = $this->getFilenameForStore($storeId);
|
85 |
$this->_file = Mage::getModel('factfinder/file');
|
86 |
$this->_file->open($dir, $fileName);
|
87 |
}
|
160 |
}
|
161 |
|
162 |
|
163 |
+
/**
|
164 |
+
* Pre-Generate all price exports for all stores
|
165 |
+
*
|
166 |
+
* @return array
|
167 |
+
*/
|
168 |
+
public function saveAll()
|
169 |
+
{
|
170 |
+
$paths = array();
|
171 |
+
$stores = Mage::app()->getStores();
|
172 |
+
foreach ($stores as $id => $store) {
|
173 |
+
try {
|
174 |
+
$price = Mage::getModel('factfinder/export_price');
|
175 |
+
$paths[] = $price->saveExport($id);
|
176 |
+
} catch (Exception $e) {
|
177 |
+
Mage::logException($e);
|
178 |
+
}
|
179 |
+
}
|
180 |
+
|
181 |
+
return $paths;
|
182 |
+
}
|
183 |
+
|
184 |
+
|
185 |
}
|
app/code/community/FACTFinder/Core/Model/Export/Product.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,13 +19,15 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_Export_Product extends Mage_CatalogSearch_Model_Resource_Fulltext
|
27 |
{
|
28 |
|
|
|
|
|
29 |
/**
|
30 |
* Option ID to Value Mapping Array
|
31 |
* @var mixed
|
@@ -99,11 +101,37 @@ class FACTFinder_Core_Model_Export_Product extends Mage_CatalogSearch_Model_Reso
|
|
99 |
*/
|
100 |
protected function _writeCsvRow($data, $storeId)
|
101 |
{
|
|
|
|
|
|
|
|
|
102 |
$this->_getFile($storeId)->writeCsv($data, ';');
|
103 |
return $this;
|
104 |
}
|
105 |
|
106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
/**
|
108 |
* get Option Text by Option ID
|
109 |
*
|
@@ -225,8 +253,8 @@ class FACTFinder_Core_Model_Export_Product extends Mage_CatalogSearch_Model_Reso
|
|
225 |
*/
|
226 |
public function saveExport($storeId = 0)
|
227 |
{
|
228 |
-
$fileName =
|
229 |
-
$dir =
|
230 |
|
231 |
try {
|
232 |
$this->doExport($storeId);
|
@@ -251,9 +279,8 @@ class FACTFinder_Core_Model_Export_Product extends Mage_CatalogSearch_Model_Reso
|
|
251 |
protected function _getFile($storeId)
|
252 |
{
|
253 |
if (!isset($this->_file[$storeId])) {
|
254 |
-
$dir =
|
255 |
-
|
256 |
-
$fileName = 'store_' . $storeId . '_product.csv';
|
257 |
|
258 |
$this->_file[$storeId] = Mage::getModel('factfinder/file');
|
259 |
|
@@ -357,9 +384,9 @@ class FACTFinder_Core_Model_Export_Product extends Mage_CatalogSearch_Model_Reso
|
|
357 |
if ($productChildren) {
|
358 |
foreach ($productChildren as $productChild) {
|
359 |
if (isset($productAttributes[$productChild['entity_id']])) {
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
$subProductIndex = array(
|
364 |
$productChild['entity_id'],
|
365 |
$productData[$idFieldName],
|
@@ -931,7 +958,6 @@ class FACTFinder_Core_Model_Export_Product extends Mage_CatalogSearch_Model_Reso
|
|
931 |
foreach ($this->_getSearchableAttributes('static', 'system', $storeId) as $attribute) {
|
932 |
$staticFields[] = $attribute->getAttributeCode();
|
933 |
}
|
934 |
-
|
935 |
return $staticFields;
|
936 |
}
|
937 |
|
@@ -947,21 +973,23 @@ class FACTFinder_Core_Model_Export_Product extends Mage_CatalogSearch_Model_Reso
|
|
947 |
protected function _removeTags($value, $storeId)
|
948 |
{
|
949 |
if (Mage::getStoreConfig('factfinder/export/remove_tags', $storeId)) {
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
|
|
|
|
|
|
|
|
961 |
}
|
962 |
|
963 |
-
$value = addslashes($value);
|
964 |
-
|
965 |
return $value;
|
966 |
}
|
967 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_Export_Product extends Mage_CatalogSearch_Model_Resource_Fulltext
|
27 |
{
|
28 |
|
29 |
+
const FILENAME_PATTERN = 'store_%s_product.csv';
|
30 |
+
|
31 |
/**
|
32 |
* Option ID to Value Mapping Array
|
33 |
* @var mixed
|
101 |
*/
|
102 |
protected function _writeCsvRow($data, $storeId)
|
103 |
{
|
104 |
+
foreach ($data as &$item) {
|
105 |
+
$item = str_replace(array("\r", "\n", "\""), array(" ", " ", "\\\""), $item);
|
106 |
+
}
|
107 |
+
|
108 |
$this->_getFile($storeId)->writeCsv($data, ';');
|
109 |
return $this;
|
110 |
}
|
111 |
|
112 |
|
113 |
+
/**
|
114 |
+
* Get export filename for store
|
115 |
+
*
|
116 |
+
* @param int $storeId
|
117 |
+
*
|
118 |
+
* @return string
|
119 |
+
*/
|
120 |
+
public function getFilenameForStore($storeId)
|
121 |
+
{
|
122 |
+
return sprintf(self::FILENAME_PATTERN, $storeId);
|
123 |
+
}
|
124 |
+
|
125 |
+
|
126 |
+
/**
|
127 |
+
* @return string
|
128 |
+
*/
|
129 |
+
public function getExportDirectory()
|
130 |
+
{
|
131 |
+
return Mage::helper('factfinder/export')->getExportDirectory();
|
132 |
+
}
|
133 |
+
|
134 |
+
|
135 |
/**
|
136 |
* get Option Text by Option ID
|
137 |
*
|
253 |
*/
|
254 |
public function saveExport($storeId = 0)
|
255 |
{
|
256 |
+
$fileName = $this->getFilenameForStore($storeId);
|
257 |
+
$dir = $this->getExportDirectory();
|
258 |
|
259 |
try {
|
260 |
$this->doExport($storeId);
|
279 |
protected function _getFile($storeId)
|
280 |
{
|
281 |
if (!isset($this->_file[$storeId])) {
|
282 |
+
$dir = $this->getExportDirectory();
|
283 |
+
$fileName = $this->getFilenameForStore($storeId);
|
|
|
284 |
|
285 |
$this->_file[$storeId] = Mage::getModel('factfinder/file');
|
286 |
|
384 |
if ($productChildren) {
|
385 |
foreach ($productChildren as $productChild) {
|
386 |
if (isset($productAttributes[$productChild['entity_id']])) {
|
387 |
+
|
388 |
+
$productAttr = $productAttributes[$productChild['entity_id']];
|
389 |
+
|
390 |
$subProductIndex = array(
|
391 |
$productChild['entity_id'],
|
392 |
$productData[$idFieldName],
|
958 |
foreach ($this->_getSearchableAttributes('static', 'system', $storeId) as $attribute) {
|
959 |
$staticFields[] = $attribute->getAttributeCode();
|
960 |
}
|
|
|
961 |
return $staticFields;
|
962 |
}
|
963 |
|
973 |
protected function _removeTags($value, $storeId)
|
974 |
{
|
975 |
if (Mage::getStoreConfig('factfinder/export/remove_tags', $storeId)) {
|
976 |
+
$attributeValues = $value;
|
977 |
+
if (!is_array($attributeValues)) {
|
978 |
+
$attributeValues = array($value);
|
979 |
+
}
|
980 |
+
foreach ($attributeValues as &$attributeValue) {
|
981 |
+
// decode html entities
|
982 |
+
$attributeValue = html_entity_decode($attributeValue, null, 'UTF-8');
|
983 |
+
// Add spaces before HTML Tags, so that strip_tags() does not join word which were in different block elements
|
984 |
+
// Additional spaces are not an issue, because they will be removed in the next step anyway
|
985 |
+
$attributeValue = preg_replace('/</u', ' <', $attributeValue);
|
986 |
+
$attributeValue = preg_replace("#\s+#siu", ' ', trim(strip_tags($attributeValue)));
|
987 |
+
// remove rest html entities
|
988 |
+
$attributeValue = preg_replace("/&(?:[a-z\d]|#\d|#x[a-f\d]){2,8};/i", '', $attributeValue);
|
989 |
+
}
|
990 |
+
$value = implode("|", $attributeValues);
|
991 |
}
|
992 |
|
|
|
|
|
993 |
return $value;
|
994 |
}
|
995 |
|
app/code/community/FACTFinder/Core/Model/Export/Stock.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,13 +19,15 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_Export_Stock extends Mage_Core_Model_Resource_Db_Abstract
|
27 |
{
|
28 |
|
|
|
|
|
29 |
/**
|
30 |
* defines Export Columns
|
31 |
*
|
@@ -54,6 +56,19 @@ class FACTFinder_Core_Model_Export_Stock extends Mage_Core_Model_Resource_Db_Abs
|
|
54 |
}
|
55 |
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
/**
|
58 |
* Get file handler instance for store
|
59 |
*
|
@@ -66,8 +81,8 @@ class FACTFinder_Core_Model_Export_Stock extends Mage_Core_Model_Resource_Db_Abs
|
|
66 |
protected function _getFile($storeId)
|
67 |
{
|
68 |
if (!$this->_file) {
|
69 |
-
$dir = Mage::
|
70 |
-
$fileName =
|
71 |
$this->_file = Mage::getModel('factfinder/file');
|
72 |
$this->_file->open($dir, $fileName);
|
73 |
}
|
@@ -113,7 +128,7 @@ class FACTFinder_Core_Model_Export_Stock extends Mage_Core_Model_Resource_Db_Abs
|
|
113 |
$stocks = $this->_getStockData($storeId, $page++);
|
114 |
}
|
115 |
|
116 |
-
return $this->_getFile()->getPath();
|
117 |
}
|
118 |
|
119 |
|
@@ -147,4 +162,26 @@ class FACTFinder_Core_Model_Export_Stock extends Mage_Core_Model_Resource_Db_Abs
|
|
147 |
}
|
148 |
|
149 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
}
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_Export_Stock extends Mage_Core_Model_Resource_Db_Abstract
|
27 |
{
|
28 |
|
29 |
+
const FILENAME_PATTERN = 'store_%s_stock.csv';
|
30 |
+
|
31 |
/**
|
32 |
* defines Export Columns
|
33 |
*
|
56 |
}
|
57 |
|
58 |
|
59 |
+
/**
|
60 |
+
* Get export filename for store
|
61 |
+
*
|
62 |
+
* @param int $storeId
|
63 |
+
*
|
64 |
+
* @return string
|
65 |
+
*/
|
66 |
+
public function getFilenameForStore($storeId)
|
67 |
+
{
|
68 |
+
return sprintf(self::FILENAME_PATTERN, $storeId);
|
69 |
+
}
|
70 |
+
|
71 |
+
|
72 |
/**
|
73 |
* Get file handler instance for store
|
74 |
*
|
81 |
protected function _getFile($storeId)
|
82 |
{
|
83 |
if (!$this->_file) {
|
84 |
+
$dir = Mage::helper('factfinder/export')->getExportDirectory();
|
85 |
+
$fileName = $this->getFilenameForStore($storeId);
|
86 |
$this->_file = Mage::getModel('factfinder/file');
|
87 |
$this->_file->open($dir, $fileName);
|
88 |
}
|
128 |
$stocks = $this->_getStockData($storeId, $page++);
|
129 |
}
|
130 |
|
131 |
+
return $this->_getFile($storeId)->getPath();
|
132 |
}
|
133 |
|
134 |
|
162 |
}
|
163 |
|
164 |
|
165 |
+
/**
|
166 |
+
* Pre-Generate all stock exports for all stores
|
167 |
+
*
|
168 |
+
* @return array
|
169 |
+
*/
|
170 |
+
public function saveAll()
|
171 |
+
{
|
172 |
+
$paths = array();
|
173 |
+
$stores = Mage::app()->getStores();
|
174 |
+
foreach ($stores as $store) {
|
175 |
+
try {
|
176 |
+
$stock = Mage::getModel('factfinder/export_stock');
|
177 |
+
$paths[] = $stock->saveExport($store->getId());
|
178 |
+
} catch (Exception $e) {
|
179 |
+
Mage::logException($e);
|
180 |
+
}
|
181 |
+
}
|
182 |
+
|
183 |
+
return $paths;
|
184 |
+
}
|
185 |
+
|
186 |
+
|
187 |
}
|
app/code/community/FACTFinder/Core/Model/Facade.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -22,8 +22,8 @@ use FACTFinder\Loader as FF;
|
|
22 |
* @category Mage
|
23 |
* @package FACTFinder_Core
|
24 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
25 |
-
* @copyright Copyright (c)
|
26 |
-
* @license
|
27 |
* @link http://www.flagbit.de
|
28 |
*/
|
29 |
class FACTFinder_Core_Model_Facade
|
@@ -670,6 +670,19 @@ class FACTFinder_Core_Model_Facade
|
|
670 |
return $this->_getFactFinderObject('search', 'getSorting', $channel, $id);
|
671 |
}
|
672 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
673 |
/**
|
674 |
* Log stack trace if there is one in result
|
675 |
*/
|
@@ -694,14 +707,15 @@ class FACTFinder_Core_Model_Facade
|
|
694 |
* Trigger data import on FF side
|
695 |
*
|
696 |
* @param null|string $channel
|
|
|
697 |
*
|
698 |
-
* @return SimpleXMLElement
|
699 |
*/
|
700 |
-
public function triggerDataImport($channel = null)
|
701 |
{
|
702 |
$this->configureImportAdapter(array('channel' => $channel));
|
703 |
|
704 |
-
return $this->getImportAdapter($channel)->triggerDataImport(
|
705 |
}
|
706 |
|
707 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
22 |
* @category Mage
|
23 |
* @package FACTFinder_Core
|
24 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
25 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
26 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
27 |
* @link http://www.flagbit.de
|
28 |
*/
|
29 |
class FACTFinder_Core_Model_Facade
|
670 |
return $this->_getFactFinderObject('search', 'getSorting', $channel, $id);
|
671 |
}
|
672 |
|
673 |
+
/**
|
674 |
+
* Get results per page object (collection)
|
675 |
+
*
|
676 |
+
* @param string $channel
|
677 |
+
* @param int $id
|
678 |
+
*
|
679 |
+
* @return \FACTFinder\Data\ResultsPerPageOptions
|
680 |
+
*/
|
681 |
+
public function getResultsPerPageOptions($channel = null, $id = null)
|
682 |
+
{
|
683 |
+
return $this->_getFactFinderObject('search', 'getResultsPerPageOptions', $channel, $id);
|
684 |
+
}
|
685 |
+
|
686 |
/**
|
687 |
* Log stack trace if there is one in result
|
688 |
*/
|
707 |
* Trigger data import on FF side
|
708 |
*
|
709 |
* @param null|string $channel
|
710 |
+
* @param bool $download
|
711 |
*
|
712 |
+
* @return \SimpleXMLElement
|
713 |
*/
|
714 |
+
public function triggerDataImport($channel = null, $download = true)
|
715 |
{
|
716 |
$this->configureImportAdapter(array('channel' => $channel));
|
717 |
|
718 |
+
return $this->getImportAdapter($channel)->triggerDataImport($download);
|
719 |
}
|
720 |
|
721 |
|
app/code/community/FACTFinder/Core/Model/File.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_File
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_File
|
app/code/community/FACTFinder/Core/Model/Ftp.php
ADDED
@@ -0,0 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Ftp.php
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package magento
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*/
|
12 |
+
|
13 |
+
class FACTFinder_Core_Model_Ftp
|
14 |
+
{
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @var null|resource
|
18 |
+
*/
|
19 |
+
protected $_connection = null;
|
20 |
+
|
21 |
+
|
22 |
+
/**
|
23 |
+
* @param string $host
|
24 |
+
* @param int $port
|
25 |
+
* @param bool $secure
|
26 |
+
*/
|
27 |
+
public function __construct($host, $port = 21, $secure = false)
|
28 |
+
{
|
29 |
+
if (is_array($host)) {
|
30 |
+
list($host, $port, $secure) = $host;
|
31 |
+
}
|
32 |
+
|
33 |
+
$this->connect($host, $port, $secure);
|
34 |
+
}
|
35 |
+
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Create a connection to host
|
39 |
+
*
|
40 |
+
* @param string $host
|
41 |
+
* @param int $port
|
42 |
+
* @param bool $secure
|
43 |
+
*
|
44 |
+
* @return $this
|
45 |
+
* @throws \Mage_Core_Exception
|
46 |
+
*/
|
47 |
+
public function connect($host, $port = 21, $secure = false)
|
48 |
+
{
|
49 |
+
$port = (int) $port;
|
50 |
+
if ($secure) {
|
51 |
+
$this->_connection = ftp_ssl_connect($host, $port);
|
52 |
+
} else {
|
53 |
+
$this->_connection = ftp_connect($host, $port);
|
54 |
+
}
|
55 |
+
|
56 |
+
if (!$this->_connection) {
|
57 |
+
Mage::throwException('Unable to connect to FTP host');
|
58 |
+
}
|
59 |
+
|
60 |
+
return $this;
|
61 |
+
}
|
62 |
+
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Login to an already created connection
|
66 |
+
*
|
67 |
+
* @param string $user
|
68 |
+
* @param string $password
|
69 |
+
*
|
70 |
+
* @return $this
|
71 |
+
*
|
72 |
+
* @throws \Mage_Core_Exception
|
73 |
+
*/
|
74 |
+
public function login($user, $password)
|
75 |
+
{
|
76 |
+
$result = ftp_login($this->_connection, $user, $password);
|
77 |
+
|
78 |
+
if (!$result) {
|
79 |
+
Mage::throwException('Unable to login to FTP host');
|
80 |
+
}
|
81 |
+
|
82 |
+
return $this;
|
83 |
+
}
|
84 |
+
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Upload file to remote host
|
88 |
+
*
|
89 |
+
* @param string $file
|
90 |
+
* @param string $remoteFile
|
91 |
+
*
|
92 |
+
* @return $this
|
93 |
+
*
|
94 |
+
* @throws \Mage_Core_Exception
|
95 |
+
*/
|
96 |
+
public function upload($file, $remoteFile = '')
|
97 |
+
{
|
98 |
+
if (!$remoteFile) {
|
99 |
+
$remoteFile = pathinfo($file, PATHINFO_BASENAME);
|
100 |
+
}
|
101 |
+
|
102 |
+
$result = ftp_put($this->_connection, $remoteFile, $file, FTP_BINARY);
|
103 |
+
|
104 |
+
if (!$result) {
|
105 |
+
Mage::throwException('Unable to upload file to FTP');
|
106 |
+
}
|
107 |
+
|
108 |
+
return $this;
|
109 |
+
}
|
110 |
+
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Change directory on remote host
|
114 |
+
*
|
115 |
+
* @param string $path
|
116 |
+
*
|
117 |
+
* @return $this
|
118 |
+
*
|
119 |
+
* @throws \Mage_Core_Exception
|
120 |
+
*/
|
121 |
+
public function chDir($path)
|
122 |
+
{
|
123 |
+
if (!empty($path))
|
124 |
+
{
|
125 |
+
$result = ftp_chdir($this->_connection, $path);
|
126 |
+
|
127 |
+
if (!$result) {
|
128 |
+
Mage::throwException('Unable to change FTP directory');
|
129 |
+
}
|
130 |
+
}
|
131 |
+
return $this;
|
132 |
+
}
|
133 |
+
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Close existing connection
|
137 |
+
*
|
138 |
+
* @return $this
|
139 |
+
*/
|
140 |
+
public function close()
|
141 |
+
{
|
142 |
+
if ($this->_connection) {
|
143 |
+
@ftp_close($this->_connection);
|
144 |
+
}
|
145 |
+
|
146 |
+
return $this;
|
147 |
+
}
|
148 |
+
|
149 |
+
|
150 |
+
/**
|
151 |
+
* Destructor to close connection
|
152 |
+
*/
|
153 |
+
public function __destruct()
|
154 |
+
{
|
155 |
+
$this->close();
|
156 |
+
}
|
157 |
+
|
158 |
+
|
159 |
+
}
|
app/code/community/FACTFinder/Core/Model/Handler/Abstract.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
abstract class FACTFinder_Core_Model_Handler_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
abstract class FACTFinder_Core_Model_Handler_Abstract
|
app/code/community/FACTFinder/Core/Model/Handler/Search.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
|
@@ -93,7 +93,10 @@ class FACTFinder_Core_Model_Handler_Search extends FACTFinder_Core_Model_Handler
|
|
93 |
default:
|
94 |
// add Default Params
|
95 |
$params['idsOnly'] = $this->_getFacade()->getConfiguration()->getIdsOnly() ? 'true' : 'false';
|
96 |
-
$
|
|
|
|
|
|
|
97 |
|
98 |
if ($_request->getModuleName() == 'catalogsearch') {
|
99 |
$params['query'] = $helper->getQueryText();
|
@@ -218,6 +221,20 @@ class FACTFinder_Core_Model_Handler_Search extends FACTFinder_Core_Model_Handler
|
|
218 |
|
219 |
return $this->_getFacade()->getSorting();
|
220 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
|
222 |
|
223 |
/**
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
|
93 |
default:
|
94 |
// add Default Params
|
95 |
$params['idsOnly'] = $this->_getFacade()->getConfiguration()->getIdsOnly() ? 'true' : 'false';
|
96 |
+
$count = $searchParams->getProductsPerPage() ? $searchParams->getProductsPerPage() : 0;
|
97 |
+
if ($count <= 0 && !Mage::helper('factfinder/search')->useResultsPerPageOptions()){
|
98 |
+
$params['productsPerPage'] = $helper->getPageLimit();
|
99 |
+
}
|
100 |
|
101 |
if ($_request->getModuleName() == 'catalogsearch') {
|
102 |
$params['query'] = $helper->getQueryText();
|
221 |
|
222 |
return $this->_getFacade()->getSorting();
|
223 |
}
|
224 |
+
|
225 |
+
/**
|
226 |
+
* Get results per page options object from FF
|
227 |
+
*
|
228 |
+
* @return \FACTFinder\Data\ResultsPerPageOptions|null
|
229 |
+
*/
|
230 |
+
public function getResultsPerPageOptions()
|
231 |
+
{
|
232 |
+
if (!$this->isSearchHasResult()) {
|
233 |
+
return null;
|
234 |
+
}
|
235 |
+
|
236 |
+
return $this->_getFacade()->getResultsPerPageOptions();
|
237 |
+
}
|
238 |
|
239 |
|
240 |
/**
|
app/code/community/FACTFinder/Core/Model/Handler/Status.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -35,8 +35,8 @@ define('FFE_SERVER_TIME_MISMATCH', 16183003); // server time is not consistent w
|
|
35 |
* @category Mage
|
36 |
* @package FACTFinder_Core
|
37 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
38 |
-
* @copyright Copyright (c)
|
39 |
-
* @license
|
40 |
* @link http://www.flagbit.de
|
41 |
*/
|
42 |
class FACTFinder_Core_Model_Handler_Status extends FACTFinder_Core_Model_Handler_Search
|
@@ -63,6 +63,13 @@ class FACTFinder_Core_Model_Handler_Status extends FACTFinder_Core_Model_Handler
|
|
63 |
*/
|
64 |
protected $_secondaryChannels;
|
65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
/**
|
67 |
* Mapping of error codes and messages
|
68 |
*
|
@@ -81,6 +88,21 @@ class FACTFinder_Core_Model_Handler_Status extends FACTFinder_Core_Model_Handler
|
|
81 |
);
|
82 |
|
83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
/**
|
85 |
* prepares all request parameters for the primary search adapter
|
86 |
*
|
@@ -88,6 +110,10 @@ class FACTFinder_Core_Model_Handler_Status extends FACTFinder_Core_Model_Handler
|
|
88 |
*/
|
89 |
protected function _collectParams()
|
90 |
{
|
|
|
|
|
|
|
|
|
91 |
$this->_secondaryChannels = $this->_getFacade()->getConfiguration()->getSecondaryChannels();
|
92 |
|
93 |
$params = array();
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
35 |
* @category Mage
|
36 |
* @package FACTFinder_Core
|
37 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
38 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
39 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
40 |
* @link http://www.flagbit.de
|
41 |
*/
|
42 |
class FACTFinder_Core_Model_Handler_Status extends FACTFinder_Core_Model_Handler_Search
|
63 |
*/
|
64 |
protected $_secondaryChannels;
|
65 |
|
66 |
+
/**
|
67 |
+
* Store id for the config data
|
68 |
+
*
|
69 |
+
* @var int
|
70 |
+
*/
|
71 |
+
protected $_storeId = 0;
|
72 |
+
|
73 |
/**
|
74 |
* Mapping of error codes and messages
|
75 |
*
|
88 |
);
|
89 |
|
90 |
|
91 |
+
/**
|
92 |
+
* Receive store id parameter
|
93 |
+
*
|
94 |
+
* @param array $params
|
95 |
+
*/
|
96 |
+
public function __construct($params)
|
97 |
+
{
|
98 |
+
if (isset($params['store_id'])) {
|
99 |
+
$this->_storeId = $params['store_id'];
|
100 |
+
}
|
101 |
+
|
102 |
+
parent::__construct();
|
103 |
+
}
|
104 |
+
|
105 |
+
|
106 |
/**
|
107 |
* prepares all request parameters for the primary search adapter
|
108 |
*
|
110 |
*/
|
111 |
protected function _collectParams()
|
112 |
{
|
113 |
+
if ($this->_storeId) {
|
114 |
+
$this->_getFacade()->setStoreId($this->_storeId);
|
115 |
+
}
|
116 |
+
|
117 |
$this->_secondaryChannels = $this->_getFacade()->getConfiguration()->getSecondaryChannels();
|
118 |
|
119 |
$params = array();
|
app/code/community/FACTFinder/Core/Model/Observer.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_Observer
|
@@ -28,6 +28,8 @@ class FACTFinder_Core_Model_Observer
|
|
28 |
const SEARCH_ENGINE = 'factfinder/search_engine';
|
29 |
const DEFAULT_SEARCH_ENGINE = 'catalogsearch/fulltext_engine';
|
30 |
const REDIRECT_ALREADY_CHECKED_FLAG = 'factifinder_single_result_redirect_flag';
|
|
|
|
|
31 |
|
32 |
|
33 |
/**
|
@@ -65,17 +67,15 @@ class FACTFinder_Core_Model_Observer
|
|
65 |
return;
|
66 |
}
|
67 |
|
68 |
-
$
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
}
|
74 |
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
Mage::app()->getConfig()->saveConfig('catalog/search/engine', self::SEARCH_ENGINE);
|
79 |
}
|
80 |
|
81 |
// this also helps with module managing
|
@@ -131,6 +131,7 @@ class FACTFinder_Core_Model_Observer
|
|
131 |
}
|
132 |
}
|
133 |
|
|
|
134 |
/**
|
135 |
* Disable ConfigurableSwatches observer logic
|
136 |
*/
|
@@ -149,40 +150,6 @@ class FACTFinder_Core_Model_Observer
|
|
149 |
}
|
150 |
|
151 |
|
152 |
-
/**
|
153 |
-
* Manage modules availability
|
154 |
-
* Enable them only if they were enable in core configuration
|
155 |
-
*
|
156 |
-
* @param Varien_Object $observer
|
157 |
-
*
|
158 |
-
* @return void
|
159 |
-
*/
|
160 |
-
public function manageModules($observer)
|
161 |
-
{
|
162 |
-
$config = Mage::getConfig();
|
163 |
-
$modules = $config->getNode('modules');
|
164 |
-
|
165 |
-
$isConfigUpdated = false;
|
166 |
-
foreach ($modules->children() as $module => $data) {
|
167 |
-
if (strpos($module, 'FACTFinder_') === 0 && $module !== 'FACTFinder_Core') {
|
168 |
-
$configName = strtolower(str_replace('FACTFinder_', '', $module));
|
169 |
-
$isActivated = Mage::helper('factfinder')->isModuleActivated($configName);
|
170 |
-
|
171 |
-
$currentState = (string) $config->getNode("modules/{$module}/active");
|
172 |
-
if ((bool) $currentState === (bool) $isActivated) {
|
173 |
-
continue;
|
174 |
-
}
|
175 |
-
|
176 |
-
$isConfigUpdated = Mage::helper('factfinder')->updateModuleState($module, $isActivated);
|
177 |
-
}
|
178 |
-
}
|
179 |
-
|
180 |
-
if ($isConfigUpdated) {
|
181 |
-
Mage::app()->cleanCache();
|
182 |
-
}
|
183 |
-
}
|
184 |
-
|
185 |
-
|
186 |
/**
|
187 |
* Redirect to product page on single result
|
188 |
*
|
@@ -192,7 +159,7 @@ class FACTFinder_Core_Model_Observer
|
|
192 |
*/
|
193 |
public function handleSingleProductRedirect($observer)
|
194 |
{
|
195 |
-
if (!Mage::helper('factfinder/search')->getIsOnSearchPage()) {
|
196 |
return;
|
197 |
}
|
198 |
|
@@ -250,20 +217,93 @@ class FACTFinder_Core_Model_Observer
|
|
250 |
|
251 |
|
252 |
/**
|
253 |
-
*
|
254 |
*
|
255 |
-
* @
|
|
|
|
|
256 |
*/
|
257 |
-
|
258 |
{
|
259 |
-
$
|
260 |
-
$
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
266 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
}
|
268 |
|
269 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_Observer
|
28 |
const SEARCH_ENGINE = 'factfinder/search_engine';
|
29 |
const DEFAULT_SEARCH_ENGINE = 'catalogsearch/fulltext_engine';
|
30 |
const REDIRECT_ALREADY_CHECKED_FLAG = 'factifinder_single_result_redirect_flag';
|
31 |
+
const SCOPE_STORE = 'stores';
|
32 |
+
const SCOPE_WEBSITE = 'websites';
|
33 |
|
34 |
|
35 |
/**
|
67 |
return;
|
68 |
}
|
69 |
|
70 |
+
$storeIds = $this->getStoreIdsFromRequest($request);
|
71 |
+
foreach ($storeIds as $storeId) {
|
72 |
+
$errors = Mage::helper('factfinder/backend')->checkConfigData($groups['search']['fields'], $storeId);
|
73 |
+
$this->_handleEngine($errors, $this->getScope($request), $this->getScopeId($request));
|
74 |
+
}
|
|
|
75 |
|
76 |
+
// check rewrites and add warnings in case something is wrong
|
77 |
+
foreach (Mage::helper('factfinder/rewrite')->checkRewrites() as $warning) {
|
78 |
+
Mage::getSingleton('adminhtml/session')->addWarning($warning);
|
|
|
79 |
}
|
80 |
|
81 |
// this also helps with module managing
|
131 |
}
|
132 |
}
|
133 |
|
134 |
+
|
135 |
/**
|
136 |
* Disable ConfigurableSwatches observer logic
|
137 |
*/
|
150 |
}
|
151 |
|
152 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
/**
|
154 |
* Redirect to product page on single result
|
155 |
*
|
159 |
*/
|
160 |
public function handleSingleProductRedirect($observer)
|
161 |
{
|
162 |
+
if (!Mage::helper('factfinder')->isEnabled() || !Mage::helper('factfinder/search')->getIsOnSearchPage()) {
|
163 |
return;
|
164 |
}
|
165 |
|
217 |
|
218 |
|
219 |
/**
|
220 |
+
* Get scope from request
|
221 |
*
|
222 |
+
* @param Varien_Object $request
|
223 |
+
*
|
224 |
+
* @return string
|
225 |
*/
|
226 |
+
protected function getScope($request)
|
227 |
{
|
228 |
+
$website = $request->getParam('website');
|
229 |
+
$store = $request->getParam('store');
|
230 |
+
|
231 |
+
return $store ? self::SCOPE_STORE : ($website ? self::SCOPE_WEBSITE : 'default');
|
232 |
+
}
|
233 |
+
|
234 |
+
|
235 |
+
/**
|
236 |
+
* Get scope id from request
|
237 |
+
*
|
238 |
+
* @param Varien_Object $request
|
239 |
+
*
|
240 |
+
* @return int
|
241 |
+
*
|
242 |
+
* @throws \Mage_Core_Exception
|
243 |
+
*/
|
244 |
+
protected function getScopeId($request)
|
245 |
+
{
|
246 |
+
$scope = $this->getScope($request);
|
247 |
+
|
248 |
+
if ($scope === self::SCOPE_WEBSITE) {
|
249 |
+
return Mage::app()->getWebsite($request->getParam('website'))->getId();
|
250 |
+
} elseif ($scope === self::SCOPE_STORE) {
|
251 |
+
return Mage::app()->getStore($request->getParam('store'))->getId();
|
252 |
+
}
|
253 |
+
|
254 |
+
return 0;
|
255 |
+
}
|
256 |
+
|
257 |
+
|
258 |
+
/**
|
259 |
+
* Save engine configuration
|
260 |
+
*
|
261 |
+
* @param array $errors
|
262 |
+
* @param string $scope
|
263 |
+
* @param int $scopeId
|
264 |
+
*
|
265 |
+
* @return $this
|
266 |
+
*/
|
267 |
+
protected function _handleEngine($errors, $scope = 'default', $scopeId = 0)
|
268 |
+
{
|
269 |
+
if (!empty($errors)) {
|
270 |
+
foreach ($errors as $error) {
|
271 |
+
Mage::getSingleton('adminhtml/session')->addError($error);
|
272 |
}
|
273 |
+
|
274 |
+
Mage::app()->getConfig()
|
275 |
+
->saveConfig('catalog/search/engine', self::DEFAULT_SEARCH_ENGINE, $scope, $scopeId)
|
276 |
+
->saveConfig('factfinder/search/enabled', 0, $scope, $scopeId);
|
277 |
+
} else {
|
278 |
+
Mage::app()->getConfig()
|
279 |
+
->saveConfig('catalog/search/engine', self::SEARCH_ENGINE, $scope, $scopeId);
|
280 |
}
|
281 |
+
|
282 |
+
return $this;
|
283 |
+
}
|
284 |
+
|
285 |
+
|
286 |
+
/**
|
287 |
+
* Get store ids for scope
|
288 |
+
*
|
289 |
+
* @param Varien_Object $request
|
290 |
+
*
|
291 |
+
* @return array
|
292 |
+
*
|
293 |
+
* @throws \Mage_Core_Exception
|
294 |
+
*/
|
295 |
+
protected function getStoreIdsFromRequest($request)
|
296 |
+
{
|
297 |
+
$scope = $this->getScope($request);
|
298 |
+
$scopeId = $this->getScopeId($request);
|
299 |
+
|
300 |
+
if ($scope == self::SCOPE_STORE) {
|
301 |
+
return array($scopeId);
|
302 |
+
} elseif ($scope == self::SCOPE_WEBSITE) {
|
303 |
+
return Mage::app()->getWebsite($scopeId)->getStoreIds();
|
304 |
+
}
|
305 |
+
|
306 |
+
return array(0);
|
307 |
}
|
308 |
|
309 |
|
app/code/community/FACTFinder/Core/Model/Resource/Fulltext.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FACTFinder_Core
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package FACTFinder_Core
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*
|
12 |
+
*/
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Model class
|
16 |
+
*
|
17 |
+
* @category Mage
|
18 |
+
* @package FACTFinder_Core
|
19 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
+
* @link http://www.flagbit.de
|
23 |
+
*/
|
24 |
+
class FACTFinder_Core_Model_Resource_Fulltext extends Mage_CatalogSearch_Model_Resource_Fulltext
|
25 |
+
{
|
26 |
+
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Override this method to prevent making unnecessary sql requests if FF is enabled
|
30 |
+
*
|
31 |
+
* @param Mage_CatalogSearch_Model_Fulltext $object
|
32 |
+
* @param string $queryText
|
33 |
+
* @param Mage_CatalogSearch_Model_Query $query
|
34 |
+
*
|
35 |
+
* @return FACTFinder_Core_Model_Resource_Fulltext
|
36 |
+
*/
|
37 |
+
public function prepareResult($object, $queryText, $query)
|
38 |
+
{
|
39 |
+
if (Mage::helper('factfinder')->isEnabled()) {
|
40 |
+
return $this;
|
41 |
+
}
|
42 |
+
|
43 |
+
return parent::prepareResult($object, $queryText, $query);
|
44 |
+
}
|
45 |
+
}
|
app/code/community/FACTFinder/Core/Model/Resource/Search/Collection.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_Resource_Search_Collection extends Mage_Catalog_Model_Resource_Product_Collection
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_Resource_Search_Collection extends Mage_Catalog_Model_Resource_Product_Collection
|
app/code/community/FACTFinder/Core/Model/Resource/Search/Engine.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_Resource_Search_Engine extends Mage_CatalogSearch_Model_Resource_Fulltext_Engine
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_Resource_Search_Engine extends Mage_CatalogSearch_Model_Resource_Fulltext_Engine
|
app/code/community/FACTFinder/Core/Model/System/Config/Backend/Attributes.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_System_Config_Backend_Attributes extends Mage_Core_Model_Config_Data
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_System_Config_Backend_Attributes extends Mage_Core_Model_Config_Data
|
app/code/community/FACTFinder/Core/Model/System/Config/Backend/Cron.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_System_Config_Backend_Cron extends Mage_Core_Model_Config_Data
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_System_Config_Backend_Cron extends Mage_Core_Model_Config_Data
|
app/code/community/FACTFinder/Core/Model/System/Config/Backend/Enabled.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_System_Config_Backend_Enabled extends Mage_Core_Model_Config_Data
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_System_Config_Backend_Enabled extends Mage_Core_Model_Config_Data
|
app/code/community/FACTFinder/Core/Model/System/Config/Backend/Engine.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FACTFinder_Core
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package FACTFinder_Core
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*
|
12 |
+
*/
|
13 |
+
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Catalog search backend model
|
17 |
+
*
|
18 |
+
* @category Mage
|
19 |
+
* @package FACTFinder_Core
|
20 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
21 |
+
*/
|
22 |
+
class FACTFinder_Core_Model_System_Config_Backend_Engine extends Mage_Core_Model_Config_Data
|
23 |
+
{
|
24 |
+
|
25 |
+
|
26 |
+
/**
|
27 |
+
* After save call
|
28 |
+
* Invalidate catalog search index if engine was changed
|
29 |
+
*
|
30 |
+
* @return FACTFinder_Core_Model_System_Config_Backend_Engine
|
31 |
+
*/
|
32 |
+
protected function _afterSave()
|
33 |
+
{
|
34 |
+
parent::_afterSave();
|
35 |
+
|
36 |
+
if (Mage::helper('core')->isModuleEnabled('Enterprise_Search')) {
|
37 |
+
if ($this->isValueChanged()) {
|
38 |
+
Mage::getSingleton('index/indexer')->getProcessByCode('catalogsearch_fulltext')
|
39 |
+
->changeStatus(Mage_Index_Model_Process::STATUS_REQUIRE_REINDEX);
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
return $this;
|
44 |
+
}
|
45 |
+
|
46 |
+
|
47 |
+
}
|
app/code/community/FACTFinder/Core/Model/System/Config/Source/Authtype.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_System_Config_Source_Authtype
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Core
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Core_Model_System_Config_Source_Authtype
|
app/code/community/FACTFinder/Core/Model/System/Config/Source/Engine.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FACTFinder_Core
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package FACTFinder_Core
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*
|
12 |
+
*/
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Catalog search types
|
16 |
+
*
|
17 |
+
* @category Mage
|
18 |
+
* @package FACTFinder_Core
|
19 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
*/
|
21 |
+
class FACTFinder_Core_Model_System_Config_Source_Engine
|
22 |
+
{
|
23 |
+
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @return array
|
27 |
+
*/
|
28 |
+
public function toOptionArray()
|
29 |
+
{
|
30 |
+
$engines = array(
|
31 |
+
'factfinder/search_engine' => Mage::helper('factfinder')->__('FACT-Finder'),
|
32 |
+
'catalogsearch/fulltext_engine' => Mage::helper('factfinder')->__('MySql Fulltext'),
|
33 |
+
);
|
34 |
+
|
35 |
+
if (Mage::helper('core')->isModuleEnabled('Enterprise_Search')) {
|
36 |
+
$engines = array_merge($engines,
|
37 |
+
array(
|
38 |
+
'enterprise_search/engine' => Mage::helper('enterprise_search')->__('Solr'),
|
39 |
+
));
|
40 |
+
}
|
41 |
+
|
42 |
+
$options = array();
|
43 |
+
foreach ($engines as $k => $v) {
|
44 |
+
$options[] = array(
|
45 |
+
'value' => $k,
|
46 |
+
'label' => $v
|
47 |
+
);
|
48 |
+
}
|
49 |
+
|
50 |
+
return $options;
|
51 |
+
}
|
52 |
+
|
53 |
+
|
54 |
+
}
|
55 |
+
|
app/code/community/FACTFinder/Core/Model/System/Config/Source/Identifier.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_System_Config_Source_Identifier
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_System_Config_Source_Identifier
|
app/code/community/FACTFinder/Core/Model/System/Config/Source/Protocol.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_System_Config_Source_Protocol
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Core
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Core_Model_System_Config_Source_Protocol
|
app/code/community/FACTFinder/Core/Model/Url.php
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Url.php
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package FACTFinder
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*/
|
12 |
+
class FACTFinder_Core_Model_Url extends Mage_Core_Model_Url
|
13 |
+
{
|
14 |
+
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Build url by requested path and parameters
|
18 |
+
*
|
19 |
+
* FF uses spaces in the parameters names, which get transformed into underscores when they come to $_GET
|
20 |
+
* Standard magento function uses these modified parameter names, which causes to incorrect FF links.
|
21 |
+
* This function is a small newly invented bicycle to create more compatibility between Magento and FF
|
22 |
+
*
|
23 |
+
* @param string|null $routePath
|
24 |
+
* @param array|null $routeParams
|
25 |
+
*
|
26 |
+
* @return string
|
27 |
+
*/
|
28 |
+
public function getUrl($routePath = null, $routeParams = null)
|
29 |
+
{
|
30 |
+
// we only have to do something is the url is supposed to contain current parameters
|
31 |
+
if (!empty($routeParams['_current'])) {
|
32 |
+
// get raw query string since the one from magento contains underscores
|
33 |
+
$queryString = $_SERVER['QUERY_STRING'];
|
34 |
+
if (!empty($routeParams['_query'])) {
|
35 |
+
// remove parameters from current query string, which will be now set
|
36 |
+
$query = $routeParams['_query'];
|
37 |
+
foreach ($query as $key => $value) {
|
38 |
+
$pattern = '/' . $key . '=[^&]{1,}/';
|
39 |
+
$queryString = preg_replace($pattern, '', $queryString);
|
40 |
+
}
|
41 |
+
|
42 |
+
// no question marks, no extra ampersands
|
43 |
+
$queryString = str_replace('?', '', $queryString);
|
44 |
+
$queryString = trim($queryString, '&');
|
45 |
+
}
|
46 |
+
|
47 |
+
// to avoid getting underscored parameters we tell magento to skip them
|
48 |
+
$routeParams['_current'] = false;
|
49 |
+
$url = parent::getUrl($routePath, $routeParams);
|
50 |
+
|
51 |
+
// and now add our nice and correct query string
|
52 |
+
$url .= strpos($queryString, '?') !== false ? '?' : '&';
|
53 |
+
$url .= $queryString;
|
54 |
+
|
55 |
+
return $url;
|
56 |
+
}
|
57 |
+
|
58 |
+
return parent::getUrl($routePath, $routeParams);
|
59 |
+
}
|
60 |
+
|
61 |
+
|
62 |
+
}
|
app/code/community/FACTFinder/Core/controllers/ExportController.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -20,8 +20,8 @@
|
|
20 |
* @category Mage
|
21 |
* @package FACTFinder_Core
|
22 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
23 |
-
* @copyright Copyright (c)
|
24 |
-
* @license
|
25 |
* @link http://www.flagbit.de
|
26 |
*/
|
27 |
class FACTFinder_Core_ExportController extends Mage_Core_Controller_Front_Action
|
@@ -73,10 +73,13 @@ class FACTFinder_Core_ExportController extends Mage_Core_Controller_Front_Action
|
|
73 |
} catch (RuntimeException $e) {
|
74 |
$this->loadLayout()
|
75 |
->renderLayout();
|
|
|
76 |
return;
|
77 |
}
|
78 |
|
79 |
$resource = Mage::app()->getRequest()->getParam('resource', 'product');
|
|
|
|
|
80 |
|
81 |
try {
|
82 |
$exportModel = Mage::getModel('factfinder/export_' . $resource);
|
@@ -87,6 +90,7 @@ class FACTFinder_Core_ExportController extends Mage_Core_Controller_Front_Action
|
|
87 |
$this->releaseSemaphore(); // finally-workaround
|
88 |
} catch (Exception $e) {
|
89 |
$this->releaseSemaphore(); // finally-workaround
|
|
|
90 |
throw $e;
|
91 |
}
|
92 |
|
@@ -103,6 +107,7 @@ class FACTFinder_Core_ExportController extends Mage_Core_Controller_Front_Action
|
|
103 |
|
104 |
$fileName = 'store_' . $this->_getStoreId() . '_' . $resource . '.csv';
|
105 |
$filePath = Mage::getBaseDir() . DS . 'var' . DS . 'factfinder' . DS;
|
|
|
106 |
|
107 |
if (!file_exists($filePath . $fileName)) {
|
108 |
$this->loadLayout()
|
@@ -125,6 +130,7 @@ class FACTFinder_Core_ExportController extends Mage_Core_Controller_Front_Action
|
|
125 |
|
126 |
$fileName = 'store_' . $this->_getStoreId() . '_' . $resource . '.csv';
|
127 |
$filePath = Mage::getBaseDir() . DS . 'var' . DS . 'factfinder' . DS;
|
|
|
128 |
|
129 |
if (!file_exists($filePath . $fileName)) {
|
130 |
$this->loadLayout()
|
@@ -147,6 +153,7 @@ class FACTFinder_Core_ExportController extends Mage_Core_Controller_Front_Action
|
|
147 |
*/
|
148 |
public function scheduleExportAction()
|
149 |
{
|
|
|
150 |
$schedule = Mage::getModel('cron/schedule');
|
151 |
$schedule->setJobCode('factfinder_generate')
|
152 |
->setCreatedAt(time())
|
@@ -202,6 +209,7 @@ class FACTFinder_Core_ExportController extends Mage_Core_Controller_Front_Action
|
|
202 |
*/
|
203 |
protected function _forwardExport($resource)
|
204 |
{
|
|
|
205 |
$params = $this->getRequest()->getParams();
|
206 |
$params = array_merge($params, array(
|
207 |
'resource' => $resource,
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
20 |
* @category Mage
|
21 |
* @package FACTFinder_Core
|
22 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
23 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG (http://www.flagbit.de)
|
24 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
25 |
* @link http://www.flagbit.de
|
26 |
*/
|
27 |
class FACTFinder_Core_ExportController extends Mage_Core_Controller_Front_Action
|
73 |
} catch (RuntimeException $e) {
|
74 |
$this->loadLayout()
|
75 |
->renderLayout();
|
76 |
+
Mage::helper('factfinder/debug')->log('Export action was locked', true);
|
77 |
return;
|
78 |
}
|
79 |
|
80 |
$resource = Mage::app()->getRequest()->getParam('resource', 'product');
|
81 |
+
Mage::helper('factfinder/debug')->log(
|
82 |
+
'Export action called: resource=' . $resource . ', store='. $this->_getStoreId(), true);
|
83 |
|
84 |
try {
|
85 |
$exportModel = Mage::getModel('factfinder/export_' . $resource);
|
90 |
$this->releaseSemaphore(); // finally-workaround
|
91 |
} catch (Exception $e) {
|
92 |
$this->releaseSemaphore(); // finally-workaround
|
93 |
+
Mage::helper('factfinder/debug')->error('Export action ' . $e->__toString());
|
94 |
throw $e;
|
95 |
}
|
96 |
|
107 |
|
108 |
$fileName = 'store_' . $this->_getStoreId() . '_' . $resource . '.csv';
|
109 |
$filePath = Mage::getBaseDir() . DS . 'var' . DS . 'factfinder' . DS;
|
110 |
+
Mage::helper('factfinder/debug')->log('Get action called: ' . $fileName, true);
|
111 |
|
112 |
if (!file_exists($filePath . $fileName)) {
|
113 |
$this->loadLayout()
|
130 |
|
131 |
$fileName = 'store_' . $this->_getStoreId() . '_' . $resource . '.csv';
|
132 |
$filePath = Mage::getBaseDir() . DS . 'var' . DS . 'factfinder' . DS;
|
133 |
+
Mage::helper('factfinder/debug')->log('Download action called: ' . $fileName, true);
|
134 |
|
135 |
if (!file_exists($filePath . $fileName)) {
|
136 |
$this->loadLayout()
|
153 |
*/
|
154 |
public function scheduleExportAction()
|
155 |
{
|
156 |
+
Mage::helper('factfinder/debug')->log('ScheduleExport action called', true);
|
157 |
$schedule = Mage::getModel('cron/schedule');
|
158 |
$schedule->setJobCode('factfinder_generate')
|
159 |
->setCreatedAt(time())
|
209 |
*/
|
210 |
protected function _forwardExport($resource)
|
211 |
{
|
212 |
+
Mage::helper('factfinder/debug')->log($resource . ' export called', true);
|
213 |
$params = $this->getRequest()->getParams();
|
214 |
$params = array_merge($params, array(
|
215 |
'resource' => $resource,
|
app/code/community/FACTFinder/Core/etc/adminhtml.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Core
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Core
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
app/code/community/FACTFinder/Core/etc/config.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Core
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
@@ -27,11 +27,31 @@
|
|
27 |
<factfinder_core_resource>
|
28 |
<class>FACTFinder_Core_Model_Resource</class>
|
29 |
</factfinder_core_resource>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
</models>
|
31 |
<blocks>
|
32 |
<factfinder>
|
33 |
<class>FACTFinder_Core_Block</class>
|
34 |
</factfinder>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
</blocks>
|
36 |
<helpers>
|
37 |
<factfinder>
|
@@ -45,18 +65,14 @@
|
|
45 |
<class>factfinder/autoloader</class>
|
46 |
<method>addAutoloader</method>
|
47 |
</factfinder>
|
48 |
-
<factfinder_manage_modules>
|
49 |
-
<class>factfinder/observer</class>
|
50 |
-
<method>manageModules</method>
|
51 |
-
</factfinder_manage_modules>
|
52 |
</observers>
|
53 |
</controller_front_init_before>
|
54 |
<factfinder_export_after>
|
55 |
<observers>
|
56 |
-
<
|
57 |
-
<class>factfinder/
|
58 |
<method>triggerImportAfterExport</method>
|
59 |
-
</
|
60 |
</observers>
|
61 |
</factfinder_export_after>
|
62 |
</events>
|
@@ -176,7 +192,7 @@
|
|
176 |
<jobs>
|
177 |
<factfinder_generate>
|
178 |
<run>
|
179 |
-
<model>factfinder/
|
180 |
</run>
|
181 |
</factfinder_generate>
|
182 |
</jobs>
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Core
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
27 |
<factfinder_core_resource>
|
28 |
<class>FACTFinder_Core_Model_Resource</class>
|
29 |
</factfinder_core_resource>
|
30 |
+
<catalogsearch>
|
31 |
+
<rewrite>
|
32 |
+
<query>FACTFinder_Core_Model_CatalogSearch_Query</query>
|
33 |
+
</rewrite>
|
34 |
+
</catalogsearch>
|
35 |
+
<catalogsearch_resource>
|
36 |
+
<rewrite>
|
37 |
+
<fulltext>FACTFinder_Core_Model_Resource_Fulltext</fulltext>
|
38 |
+
</rewrite>
|
39 |
+
</catalogsearch_resource>
|
40 |
</models>
|
41 |
<blocks>
|
42 |
<factfinder>
|
43 |
<class>FACTFinder_Core_Block</class>
|
44 |
</factfinder>
|
45 |
+
<catalogsearch>
|
46 |
+
<rewrite>
|
47 |
+
<layer>FACTFinder_Core_Block_CatalogSearch_Layer</layer>
|
48 |
+
</rewrite>
|
49 |
+
</catalogsearch>
|
50 |
+
<enterprise_search>
|
51 |
+
<rewrite>
|
52 |
+
<catalogsearch_layer>FACTFinder_Core_Block_EnterpriseSearch_Layer</catalogsearch_layer>
|
53 |
+
</rewrite>
|
54 |
+
</enterprise_search>
|
55 |
</blocks>
|
56 |
<helpers>
|
57 |
<factfinder>
|
65 |
<class>factfinder/autoloader</class>
|
66 |
<method>addAutoloader</method>
|
67 |
</factfinder>
|
|
|
|
|
|
|
|
|
68 |
</observers>
|
69 |
</controller_front_init_before>
|
70 |
<factfinder_export_after>
|
71 |
<observers>
|
72 |
+
<factfinder_core_import_trigger>
|
73 |
+
<class>factfinder/export_observer</class>
|
74 |
<method>triggerImportAfterExport</method>
|
75 |
+
</factfinder_core_import_trigger>
|
76 |
</observers>
|
77 |
</factfinder_export_after>
|
78 |
</events>
|
192 |
<jobs>
|
193 |
<factfinder_generate>
|
194 |
<run>
|
195 |
+
<model>factfinder/export_observer::exportAll</model>
|
196 |
</run>
|
197 |
</factfinder_generate>
|
198 |
</jobs>
|
app/code/community/FACTFinder/Core/etc/system.xml
CHANGED
@@ -6,14 +6,33 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Core
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
14 |
-->
|
15 |
<config>
|
16 |
<sections>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
<factfinder translate="label" module="factfinder">
|
18 |
<label>FACT-Finder</label>
|
19 |
<tab>catalog</tab>
|
@@ -210,6 +229,82 @@
|
|
210 |
<show_in_store>1</show_in_store>
|
211 |
<comment><![CDATA[Start FACTFinder data import after each export]]></comment>
|
212 |
</trigger_data_import>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
</fields>
|
214 |
</export>
|
215 |
<config translate="label">
|
@@ -221,7 +316,7 @@
|
|
221 |
<show_in_store>1</show_in_store>
|
222 |
<fields>
|
223 |
<personalization translate="label">
|
224 |
-
<label>Enable Personalization (>=
|
225 |
<frontend_type>select</frontend_type>
|
226 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
227 |
<sort_order>5</sort_order>
|
@@ -247,11 +342,31 @@
|
|
247 |
<show_in_website>1</show_in_website>
|
248 |
<show_in_store>1</show_in_store>
|
249 |
</redirectOnSingleResult>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
<internal_ip translate="label">
|
251 |
<label>Internal IPs</label>
|
252 |
<comment>Enter your internal IP addresses. Multiple IP addresses should be separated by semicolons.</comment>
|
253 |
<frontend_type>text</frontend_type>
|
254 |
-
<sort_order>
|
255 |
<show_in_default>1</show_in_default>
|
256 |
<show_in_website>1</show_in_website>
|
257 |
<show_in_store>1</show_in_store>
|
@@ -260,7 +375,7 @@
|
|
260 |
<label>Debug Log</label>
|
261 |
<frontend_type>select</frontend_type>
|
262 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
263 |
-
<sort_order>
|
264 |
<show_in_default>1</show_in_default>
|
265 |
<show_in_website>1</show_in_website>
|
266 |
<show_in_store>1</show_in_store>
|
@@ -369,74 +484,5 @@
|
|
369 |
</modules>
|
370 |
</groups>
|
371 |
</factfinder>
|
372 |
-
<advanced>
|
373 |
-
<groups>
|
374 |
-
<ff_modules translate="label comment">
|
375 |
-
<label>Disable FACT-Finder Sub-Modules</label>
|
376 |
-
<comment><![CDATA[These settings allow to completely disable FACT-Finder sub-modules through changing xml files.<br />
|
377 |
-
To make this feature work the web-server should have the write permissions to the app/etc/modules directory]]></comment>
|
378 |
-
<sort_order>0</sort_order>
|
379 |
-
<show_in_default>1</show_in_default>
|
380 |
-
<show_in_website>0</show_in_website>
|
381 |
-
<show_in_store>0</show_in_store>
|
382 |
-
<fields>
|
383 |
-
<asn translate="label">
|
384 |
-
<label>FACT-Finder After Search Navigation</label>
|
385 |
-
<frontend_type>select</frontend_type>
|
386 |
-
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
387 |
-
<sort_order>10</sort_order>
|
388 |
-
<show_in_default>1</show_in_default>
|
389 |
-
<show_in_website>0</show_in_website>
|
390 |
-
<show_in_store>0</show_in_store>
|
391 |
-
</asn>
|
392 |
-
<suggest translate="label">
|
393 |
-
<label>FACT-Finder Suggest</label>
|
394 |
-
<frontend_type>select</frontend_type>
|
395 |
-
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
396 |
-
<sort_order>20</sort_order>
|
397 |
-
<show_in_default>1</show_in_default>
|
398 |
-
<show_in_website>0</show_in_website>
|
399 |
-
<show_in_store>0</show_in_store>
|
400 |
-
</suggest>
|
401 |
-
<recommendation translate="label">
|
402 |
-
<label>FACT-Finder Recommendation</label>
|
403 |
-
<frontend_type>select</frontend_type>
|
404 |
-
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
405 |
-
<sort_order>30</sort_order>
|
406 |
-
<show_in_default>1</show_in_default>
|
407 |
-
<show_in_website>0</show_in_website>
|
408 |
-
<show_in_store>0</show_in_store>
|
409 |
-
</recommendation>
|
410 |
-
<tagcloud translate="label">
|
411 |
-
<label>FACT-Finder Tag Cloud</label>
|
412 |
-
<frontend_type>select</frontend_type>
|
413 |
-
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
414 |
-
<sort_order>40</sort_order>
|
415 |
-
<show_in_default>1</show_in_default>
|
416 |
-
<show_in_website>0</show_in_website>
|
417 |
-
<show_in_store>0</show_in_store>
|
418 |
-
</tagcloud>
|
419 |
-
<tracking>
|
420 |
-
<label>FACT-Finder Tracking</label>
|
421 |
-
<frontend_type>select</frontend_type>
|
422 |
-
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
423 |
-
<sort_order>50</sort_order>
|
424 |
-
<show_in_default>1</show_in_default>
|
425 |
-
<show_in_website>0</show_in_website>
|
426 |
-
<show_in_store>0</show_in_store>
|
427 |
-
</tracking>
|
428 |
-
<campaigns>
|
429 |
-
<label>FACT-Finder Campaigns</label>
|
430 |
-
<frontend_type>select</frontend_type>
|
431 |
-
<source_model>adminhtml/system_config_source_enabledisable</source_model>
|
432 |
-
<sort_order>60</sort_order>
|
433 |
-
<show_in_default>1</show_in_default>
|
434 |
-
<show_in_website>0</show_in_website>
|
435 |
-
<show_in_store>0</show_in_store>
|
436 |
-
</campaigns>
|
437 |
-
</fields>
|
438 |
-
</ff_modules>
|
439 |
-
</groups>
|
440 |
-
</advanced>
|
441 |
</sections>
|
442 |
</config>
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Core
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
14 |
-->
|
15 |
<config>
|
16 |
<sections>
|
17 |
+
<catalog>
|
18 |
+
<groups>
|
19 |
+
<search>
|
20 |
+
<fields>
|
21 |
+
<engine translate="label">
|
22 |
+
<label>Search Engine</label>
|
23 |
+
<frontend_type>select</frontend_type>
|
24 |
+
<backend_model>factfinder/system_config_backend_engine</backend_model>
|
25 |
+
<source_model>factfinder/system_config_source_engine</source_model>
|
26 |
+
<sort_order>19</sort_order>
|
27 |
+
<show_in_default>1</show_in_default>
|
28 |
+
<show_in_website>0</show_in_website>
|
29 |
+
<show_in_store>0</show_in_store>
|
30 |
+
<comment><![CDATA[Please, configure FACT-Finder engine only in the FACT-Finder tab]]></comment>
|
31 |
+
</engine>
|
32 |
+
</fields>
|
33 |
+
</search>
|
34 |
+
</groups>
|
35 |
+
</catalog>
|
36 |
<factfinder translate="label" module="factfinder">
|
37 |
<label>FACT-Finder</label>
|
38 |
<tab>catalog</tab>
|
229 |
<show_in_store>1</show_in_store>
|
230 |
<comment><![CDATA[Start FACTFinder data import after each export]]></comment>
|
231 |
</trigger_data_import>
|
232 |
+
<import_delay_enabled translate="label comment">
|
233 |
+
<label>Import Delay Enabled</label>
|
234 |
+
<frontend_type>select</frontend_type>
|
235 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
236 |
+
<sort_order>75</sort_order>
|
237 |
+
<show_in_default>1</show_in_default>
|
238 |
+
<show_in_website>1</show_in_website>
|
239 |
+
<show_in_store>1</show_in_store>
|
240 |
+
<comment><![CDATA[If enabled, imports will be triggered with a delay between each other. Recommended for FACT-Finder >= 7.1.]]></comment>
|
241 |
+
</import_delay_enabled>
|
242 |
+
<use_ftp translate="label comment">
|
243 |
+
<label>Upload files to FTP host</label>
|
244 |
+
<frontend_type>select</frontend_type>
|
245 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
246 |
+
<sort_order>100</sort_order>
|
247 |
+
<show_in_default>1</show_in_default>
|
248 |
+
<show_in_website>1</show_in_website>
|
249 |
+
<show_in_store>1</show_in_store>
|
250 |
+
<comment><![CDATA[Upload exported data to FTP server]]></comment>
|
251 |
+
</use_ftp>
|
252 |
+
<ftp_host translate="label">
|
253 |
+
<label>FTP Host</label>
|
254 |
+
<frontend_type>text</frontend_type>
|
255 |
+
<sort_order>110</sort_order>
|
256 |
+
<show_in_default>1</show_in_default>
|
257 |
+
<show_in_website>1</show_in_website>
|
258 |
+
<show_in_store>1</show_in_store>
|
259 |
+
<depends><use_ftp>1</use_ftp></depends>
|
260 |
+
</ftp_host>
|
261 |
+
<ftp_port translate="label">
|
262 |
+
<label>FTP Port</label>
|
263 |
+
<frontend_type>text</frontend_type>
|
264 |
+
<sort_order>120</sort_order>
|
265 |
+
<show_in_default>1</show_in_default>
|
266 |
+
<show_in_website>1</show_in_website>
|
267 |
+
<show_in_store>1</show_in_store>
|
268 |
+
<depends><use_ftp>1</use_ftp></depends>
|
269 |
+
</ftp_port>
|
270 |
+
<ftp_user translate="label">
|
271 |
+
<label>FTP User</label>
|
272 |
+
<frontend_type>text</frontend_type>
|
273 |
+
<sort_order>130</sort_order>
|
274 |
+
<show_in_default>1</show_in_default>
|
275 |
+
<show_in_website>1</show_in_website>
|
276 |
+
<show_in_store>1</show_in_store>
|
277 |
+
<depends><use_ftp>1</use_ftp></depends>
|
278 |
+
</ftp_user>
|
279 |
+
<ftp_password translate="label">
|
280 |
+
<label>FTP Password</label>
|
281 |
+
<frontend_type>password</frontend_type>
|
282 |
+
<sort_order>140</sort_order>
|
283 |
+
<show_in_default>1</show_in_default>
|
284 |
+
<show_in_website>1</show_in_website>
|
285 |
+
<show_in_store>1</show_in_store>
|
286 |
+
<depends><use_ftp>1</use_ftp></depends>
|
287 |
+
</ftp_password>
|
288 |
+
<ftp_path translate="label">
|
289 |
+
<label>FTP Path</label>
|
290 |
+
<frontend_type>text</frontend_type>
|
291 |
+
<sort_order>150</sort_order>
|
292 |
+
<show_in_default>1</show_in_default>
|
293 |
+
<show_in_website>1</show_in_website>
|
294 |
+
<show_in_store>1</show_in_store>
|
295 |
+
<depends><use_ftp>1</use_ftp></depends>
|
296 |
+
</ftp_path>
|
297 |
+
<ftp_ssl translate="label">
|
298 |
+
<label>Use SSL</label>
|
299 |
+
<frontend_type>select</frontend_type>
|
300 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
301 |
+
<sort_order>150</sort_order>
|
302 |
+
<show_in_default>1</show_in_default>
|
303 |
+
<show_in_website>1</show_in_website>
|
304 |
+
<show_in_store>1</show_in_store>
|
305 |
+
<depends><use_ftp>1</use_ftp></depends>
|
306 |
+
<comment><![CDATA[Yes for FTPS and No for FTP]]></comment>
|
307 |
+
</ftp_ssl>
|
308 |
</fields>
|
309 |
</export>
|
310 |
<config translate="label">
|
316 |
<show_in_store>1</show_in_store>
|
317 |
<fields>
|
318 |
<personalization translate="label">
|
319 |
+
<label>Enable Personalization (>= 6.11)</label>
|
320 |
<frontend_type>select</frontend_type>
|
321 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
322 |
<sort_order>5</sort_order>
|
342 |
<show_in_website>1</show_in_website>
|
343 |
<show_in_store>1</show_in_store>
|
344 |
</redirectOnSingleResult>
|
345 |
+
<use_sortings>
|
346 |
+
<label>Use sorting options</label>
|
347 |
+
<frontend_type>select</frontend_type>
|
348 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
349 |
+
<sort_order>30</sort_order>
|
350 |
+
<show_in_default>1</show_in_default>
|
351 |
+
<show_in_website>1</show_in_website>
|
352 |
+
<show_in_store>1</show_in_store>
|
353 |
+
<comment><![CDATA[If enabled, it requires FACT-Finder >= 7.1 and the configuration of the desired sorting options in the FACT-Finder Backend.]]></comment>
|
354 |
+
</use_sortings>
|
355 |
+
<use_resultsPerPage>
|
356 |
+
<label>Use results per page options</label>
|
357 |
+
<frontend_type>select</frontend_type>
|
358 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
359 |
+
<sort_order>40</sort_order>
|
360 |
+
<show_in_default>1</show_in_default>
|
361 |
+
<show_in_website>1</show_in_website>
|
362 |
+
<show_in_store>1</show_in_store>
|
363 |
+
<comment><![CDATA[If enabled, it requires the configuration of default and alternative results per page options in the FACT-Finder backend.]]></comment>
|
364 |
+
</use_resultsPerPage>
|
365 |
<internal_ip translate="label">
|
366 |
<label>Internal IPs</label>
|
367 |
<comment>Enter your internal IP addresses. Multiple IP addresses should be separated by semicolons.</comment>
|
368 |
<frontend_type>text</frontend_type>
|
369 |
+
<sort_order>90</sort_order>
|
370 |
<show_in_default>1</show_in_default>
|
371 |
<show_in_website>1</show_in_website>
|
372 |
<show_in_store>1</show_in_store>
|
375 |
<label>Debug Log</label>
|
376 |
<frontend_type>select</frontend_type>
|
377 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
378 |
+
<sort_order>100</sort_order>
|
379 |
<show_in_default>1</show_in_default>
|
380 |
<show_in_website>1</show_in_website>
|
381 |
<show_in_store>1</show_in_store>
|
484 |
</modules>
|
485 |
</groups>
|
486 |
</factfinder>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
</sections>
|
488 |
</config>
|
app/code/community/FACTFinder/Recommendation/Helper/Data.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Recommendation
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,13 +19,16 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Recommendation
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Recommendation_Helper_Data extends Mage_Core_Helper_Abstract
|
27 |
{
|
28 |
|
|
|
|
|
|
|
29 |
/**
|
30 |
* Check if import should be triggered for store
|
31 |
*
|
@@ -43,4 +46,32 @@ class FACTFinder_Recommendation_Helper_Data extends Mage_Core_Helper_Abstract
|
|
43 |
}
|
44 |
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Recommendation
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Recommendation
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Recommendation_Helper_Data extends Mage_Core_Helper_Abstract
|
27 |
{
|
28 |
|
29 |
+
const EXPORT_TRIGGER_DELAY = 90;
|
30 |
+
const IMPORT_TYPE = 'recommendation';
|
31 |
+
|
32 |
/**
|
33 |
* Check if import should be triggered for store
|
34 |
*
|
46 |
}
|
47 |
|
48 |
|
49 |
+
/**
|
50 |
+
* Trigger recommendation import
|
51 |
+
*
|
52 |
+
* @param int $storeId
|
53 |
+
*
|
54 |
+
* @return void
|
55 |
+
*/
|
56 |
+
public function triggerImport($storeId)
|
57 |
+
{
|
58 |
+
$exportHelper = Mage::helper('factfinder/export');
|
59 |
+
$channel = Mage::helper('factfinder')->getPrimaryChannel($storeId);
|
60 |
+
$facade = Mage::getModel('factfinder_recommendation/facade');
|
61 |
+
$download = !$exportHelper->useFtp($storeId);
|
62 |
+
$delay = $exportHelper->getImportDelay(self::IMPORT_TYPE);
|
63 |
+
|
64 |
+
if ($exportHelper->isImportDelayEnabled($storeId)) {
|
65 |
+
$pid = pcntl_fork();
|
66 |
+
if (!$pid) {
|
67 |
+
sleep($delay);
|
68 |
+
$facade->triggerRecommendationImport($channel, $download);
|
69 |
+
exit(0);
|
70 |
+
}
|
71 |
+
} else {
|
72 |
+
$facade->triggerRecommendationImport($channel, $download);
|
73 |
+
}
|
74 |
+
}
|
75 |
+
|
76 |
+
|
77 |
}
|
app/code/community/FACTFinder/Recommendation/Model/Facade.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Recommendation
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Recommendation
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Recommendation_Model_Facade extends FACTFinder_Core_Model_Facade
|
@@ -60,14 +60,15 @@ class FACTFinder_Recommendation_Model_Facade extends FACTFinder_Core_Model_Facad
|
|
60 |
* Trigger recommendations import on FF side
|
61 |
*
|
62 |
* @param null|string $channel
|
|
|
63 |
*
|
64 |
-
* @return SimpleXMLElement
|
65 |
*/
|
66 |
-
public function triggerRecommendationImport($channel = null)
|
67 |
{
|
68 |
$this->configureImportAdapter(array('channel' => $channel));
|
69 |
|
70 |
-
return $this->getImportAdapter($channel)->triggerRecommendationImport(
|
71 |
}
|
72 |
|
73 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Recommendation
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Recommendation
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Recommendation_Model_Facade extends FACTFinder_Core_Model_Facade
|
60 |
* Trigger recommendations import on FF side
|
61 |
*
|
62 |
* @param null|string $channel
|
63 |
+
* @param bool $download
|
64 |
*
|
65 |
+
* @return \SimpleXMLElement
|
66 |
*/
|
67 |
+
public function triggerRecommendationImport($channel = null, $download = true)
|
68 |
{
|
69 |
$this->configureImportAdapter(array('channel' => $channel));
|
70 |
|
71 |
+
return $this->getImportAdapter($channel)->triggerRecommendationImport($download);
|
72 |
}
|
73 |
|
74 |
|
app/code/community/FACTFinder/Recommendation/Model/Handler/Recommendations.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Recommendation
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Recommendation
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Recommendation_Model_Handler_Recommendations extends FACTFinder_Core_Model_Handler_Abstract
|
@@ -70,6 +70,9 @@ class FACTFinder_Recommendation_Model_Handler_Recommendations extends FACTFinder
|
|
70 |
$params = array();
|
71 |
$params['id'] = $this->_getIdParam();
|
72 |
$params['idsOnly'] = $this->_getFacade()->getConfiguration()->getIdsOnly() ? 'true' : 'false';
|
|
|
|
|
|
|
73 |
$this->_getFacade()->configureRecommendationAdapter($params);
|
74 |
}
|
75 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Recommendation
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Recommendation
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Recommendation_Model_Handler_Recommendations extends FACTFinder_Core_Model_Handler_Abstract
|
70 |
$params = array();
|
71 |
$params['id'] = $this->_getIdParam();
|
72 |
$params['idsOnly'] = $this->_getFacade()->getConfiguration()->getIdsOnly() ? 'true' : 'false';
|
73 |
+
if(Mage::getStoreConfigFlag('factfinder/config/personalization')) {
|
74 |
+
$params['sid'] = Mage::helper('factfinder_tracking')->getSessionId();
|
75 |
+
}
|
76 |
$this->_getFacade()->configureRecommendationAdapter($params);
|
77 |
}
|
78 |
|
app/code/community/FACTFinder/Recommendation/Model/Observer.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Recommendation
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Recommendation
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Recommendation_Model_Observer
|
@@ -110,6 +110,8 @@ class FACTFinder_Recommendation_Model_Observer
|
|
110 |
$collection->addAttributeToFilter($idFieldName, array('in' => array(-1)));
|
111 |
}
|
112 |
|
|
|
|
|
113 |
return $this;
|
114 |
}
|
115 |
|
@@ -156,11 +158,9 @@ class FACTFinder_Recommendation_Model_Observer
|
|
156 |
public function triggerImportAfterExport($observer)
|
157 |
{
|
158 |
$storeId = $observer->getStoreId();
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
$facade->triggerRecommendationImport($channel);
|
163 |
-
}
|
164 |
}
|
165 |
}
|
166 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Recommendation
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Recommendation
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Recommendation_Model_Observer
|
110 |
$collection->addAttributeToFilter($idFieldName, array('in' => array(-1)));
|
111 |
}
|
112 |
|
113 |
+
Mage::register('recommendation_collection', $collection, true);
|
114 |
+
|
115 |
return $this;
|
116 |
}
|
117 |
|
158 |
public function triggerImportAfterExport($observer)
|
159 |
{
|
160 |
$storeId = $observer->getStoreId();
|
161 |
+
$helper = Mage::helper('factfinder_recommendation');
|
162 |
+
if ($helper->shouldTriggerImport($storeId)) {
|
163 |
+
$helper->triggerImport($storeId);
|
|
|
|
|
164 |
}
|
165 |
}
|
166 |
|
app/code/community/FACTFinder/Recommendation/etc/config.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Recommendation
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Recommendation
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
app/code/community/FACTFinder/Suggest/Block/TopSearch.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Suggest
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Suggest_Block_TopSearch extends Mage_Core_Block_Template
|
@@ -39,7 +39,8 @@ class FACTFinder_Suggest_Block_TopSearch extends Mage_Core_Block_Template
|
|
39 |
$result->{'Channel: ' . $channel} = $this->__('Channel: ' . $channel);
|
40 |
}
|
41 |
|
42 |
-
$result->{'searchTerm'} = $this->__('ff_searchTerm');
|
|
|
43 |
$result->{'category'} = $this->__('ff_category');
|
44 |
$result->{'productName'} = $this->__('ff_productName');
|
45 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Suggest
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Suggest_Block_TopSearch extends Mage_Core_Block_Template
|
39 |
$result->{'Channel: ' . $channel} = $this->__('Channel: ' . $channel);
|
40 |
}
|
41 |
|
42 |
+
$result->{'searchTerm'} = $this->__('ff_searchTerm');
|
43 |
+
$result->{'brand'} = $this->__('ff_brand');
|
44 |
$result->{'category'} = $this->__('ff_category');
|
45 |
$result->{'productName'} = $this->__('ff_productName');
|
46 |
|
app/code/community/FACTFinder/Suggest/Block/XmlConnect/Catalog/Search/Suggest.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Suggest
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class Flagbit_FactFinder_Block_XmlConnect_Catalog_Search_Suggest extends Mage_XmlConnect_Block_Catalog_Search_Suggest
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Suggest
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class Flagbit_FactFinder_Block_XmlConnect_Catalog_Search_Suggest extends Mage_XmlConnect_Block_Catalog_Search_Suggest
|
app/code/community/FACTFinder/Suggest/Helper/Data.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,14 +17,15 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Suggest
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Suggest_Helper_Data extends Mage_Core_Helper_Abstract
|
25 |
{
|
26 |
|
27 |
const XML_CONFIG_PATH_USE_PROXY = 'factfinder/config/proxy';
|
|
|
28 |
|
29 |
|
30 |
/**
|
@@ -48,6 +49,9 @@ class FACTFinder_Suggest_Helper_Data extends Mage_Core_Helper_Abstract
|
|
48 |
}
|
49 |
}
|
50 |
|
|
|
|
|
|
|
51 |
return $url;
|
52 |
}
|
53 |
|
@@ -80,4 +84,32 @@ class FACTFinder_Suggest_Helper_Data extends Mage_Core_Helper_Abstract
|
|
80 |
}
|
81 |
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
}
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Suggest
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Suggest_Helper_Data extends Mage_Core_Helper_Abstract
|
25 |
{
|
26 |
|
27 |
const XML_CONFIG_PATH_USE_PROXY = 'factfinder/config/proxy';
|
28 |
+
const IMPORT_TYPE = 'suggest';
|
29 |
|
30 |
|
31 |
/**
|
49 |
}
|
50 |
}
|
51 |
|
52 |
+
// avoid specifying the default port for http
|
53 |
+
$url = preg_replace('/^(http:[^\:]+)\:80\//', "$1/", $url);
|
54 |
+
|
55 |
return $url;
|
56 |
}
|
57 |
|
84 |
}
|
85 |
|
86 |
|
87 |
+
/**
|
88 |
+
* Trigger suggest import
|
89 |
+
*
|
90 |
+
* @param int $storeId
|
91 |
+
*
|
92 |
+
* @return void
|
93 |
+
*/
|
94 |
+
public function triggerImport($storeId)
|
95 |
+
{
|
96 |
+
$exportHelper = Mage::helper('factfinder/export');
|
97 |
+
$channel = Mage::helper('factfinder')->getPrimaryChannel($storeId);
|
98 |
+
$facade = Mage::getModel('factfinder_suggest/facade');
|
99 |
+
$download = !$exportHelper->useFtp($storeId);
|
100 |
+
$delay = $exportHelper->getImportDelay(self::IMPORT_TYPE);
|
101 |
+
|
102 |
+
if ($exportHelper->isImportDelayEnabled($storeId)) {
|
103 |
+
$pid = pcntl_fork();
|
104 |
+
if (!$pid) {
|
105 |
+
sleep($delay);
|
106 |
+
$facade->triggerSuggestImport($channel, $download);
|
107 |
+
exit(0);
|
108 |
+
}
|
109 |
+
} else {
|
110 |
+
$facade->triggerSuggestImport($channel, $download);
|
111 |
+
}
|
112 |
+
}
|
113 |
+
|
114 |
+
|
115 |
}
|
app/code/community/FACTFinder/Suggest/Model/Facade.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Suggest
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Suggest_Model_Facade extends FACTFinder_Core_Model_Facade
|
@@ -68,14 +68,15 @@ class FACTFinder_Suggest_Model_Facade extends FACTFinder_Core_Model_Facade
|
|
68 |
* Trigger suggest import on FF side
|
69 |
*
|
70 |
* @param null|string $channel
|
|
|
71 |
*
|
72 |
-
* @return SimpleXMLElement
|
73 |
*/
|
74 |
-
public function triggerSuggestImport($channel = null)
|
75 |
{
|
76 |
$this->configureImportAdapter(array('channel' => $channel));
|
77 |
|
78 |
-
return $this->getImportAdapter($channel)->triggerSuggestImport(
|
79 |
}
|
80 |
|
81 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Suggest
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Suggest_Model_Facade extends FACTFinder_Core_Model_Facade
|
68 |
* Trigger suggest import on FF side
|
69 |
*
|
70 |
* @param null|string $channel
|
71 |
+
* @param bool $download
|
72 |
*
|
73 |
+
* @return \SimpleXMLElement
|
74 |
*/
|
75 |
+
public function triggerSuggestImport($channel = null, $download = true)
|
76 |
{
|
77 |
$this->configureImportAdapter(array('channel' => $channel));
|
78 |
|
79 |
+
return $this->getImportAdapter($channel)->triggerSuggestImport($download);
|
80 |
}
|
81 |
|
82 |
|
app/code/community/FACTFinder/Suggest/Model/Handler/Suggest.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Suggest
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Suggest_Model_Handler_Suggest extends FACTFinder_Core_Model_Handler_Abstract
|
@@ -123,30 +123,37 @@ class FACTFinder_Suggest_Model_Handler_Suggest extends FACTFinder_Core_Model_Han
|
|
123 |
// Retrieve and merge all suggestions
|
124 |
// Add a new "channel" field in the process
|
125 |
|
|
|
126 |
$suggestResult = $this->_getAndSanitizeSuggestions();
|
127 |
-
|
|
|
|
|
|
|
128 |
foreach ($this->_secondaryChannels AS $channel) {
|
129 |
$params = array('channel' => $channel);
|
130 |
$this->_getFacade()->configureSuggestAdapter($params, $channel);
|
131 |
|
132 |
$result = $this->_getAndSanitizeSuggestions($channel);
|
133 |
-
|
|
|
|
|
134 |
}
|
135 |
|
136 |
$resultArray = array();
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
'
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
|
|
|
|
148 |
}
|
149 |
-
|
150 |
return $this->_jqueryCallback . '(' . Zend_Json_Encoder::encode($resultArray) . ');';
|
151 |
}
|
152 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Suggest
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Suggest_Model_Handler_Suggest extends FACTFinder_Core_Model_Handler_Abstract
|
123 |
// Retrieve and merge all suggestions
|
124 |
// Add a new "channel" field in the process
|
125 |
|
126 |
+
$mergedSuggestResults = array();
|
127 |
$suggestResult = $this->_getAndSanitizeSuggestions();
|
128 |
+
if ($suggestResult != null){
|
129 |
+
$mergedSuggestResults = $suggestResult;
|
130 |
+
}
|
131 |
+
|
132 |
foreach ($this->_secondaryChannels AS $channel) {
|
133 |
$params = array('channel' => $channel);
|
134 |
$this->_getFacade()->configureSuggestAdapter($params, $channel);
|
135 |
|
136 |
$result = $this->_getAndSanitizeSuggestions($channel);
|
137 |
+
if ($result != null){
|
138 |
+
$mergedSuggestResults = array_merge($mergedSuggestResults, $result);
|
139 |
+
}
|
140 |
}
|
141 |
|
142 |
$resultArray = array();
|
143 |
+
if ($mergedSuggestResults) {
|
144 |
+
foreach ($mergedSuggestResults as $resultQuery) {
|
145 |
+
/** @var $resultQuery FACTFinder\Data\SuggestQuery */
|
146 |
+
$resultArray['suggestions'][] = array(
|
147 |
+
'attributes' => $resultQuery->getAttributes(),
|
148 |
+
'hitCount' => $resultQuery->getHitCount(),
|
149 |
+
'image' => $resultQuery->getImageUrl(),
|
150 |
+
'searchParams' => $resultQuery->getUrl(),
|
151 |
+
'type' => $resultQuery->getType(),
|
152 |
+
'name' => $resultQuery->getLabel(),
|
153 |
+
'channel' => $resultQuery->channel
|
154 |
+
);
|
155 |
+
}
|
156 |
}
|
|
|
157 |
return $this->_jqueryCallback . '(' . Zend_Json_Encoder::encode($resultArray) . ');';
|
158 |
}
|
159 |
|
app/code/community/FACTFinder/Suggest/Model/Observer.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Suggest
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Suggest_Model_Observer
|
@@ -52,11 +52,9 @@ class FACTFinder_Suggest_Model_Observer
|
|
52 |
public function triggerImportAfterExport($observer)
|
53 |
{
|
54 |
$storeId = $observer->getStoreId();
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
$facade->triggerSuggestImport($channel);
|
59 |
-
}
|
60 |
}
|
61 |
}
|
62 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Suggest
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Suggest_Model_Observer
|
52 |
public function triggerImportAfterExport($observer)
|
53 |
{
|
54 |
$storeId = $observer->getStoreId();
|
55 |
+
$helper = Mage::helper('factfinder_suggest');
|
56 |
+
if ($helper->shouldTriggerImport($storeId)) {
|
57 |
+
$helper->triggerImport($storeId);
|
|
|
|
|
58 |
}
|
59 |
}
|
60 |
|
app/code/community/FACTFinder/Suggest/Model/Processor.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -21,8 +21,8 @@ require_once BP . DS . 'lib' . DS . 'FACTFinder' . DS . 'Loader.php';
|
|
21 |
* @category Mage
|
22 |
* @package FACTFinder_Suggest
|
23 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
24 |
-
* @copyright Copyright (c)
|
25 |
-
* @license
|
26 |
* @link http://www.flagbit.de
|
27 |
*/
|
28 |
class FACTFinder_Suggest_Model_Processor
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
21 |
* @category Mage
|
22 |
* @package FACTFinder_Suggest
|
23 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
24 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
25 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
26 |
* @link http://www.flagbit.de
|
27 |
*/
|
28 |
class FACTFinder_Suggest_Model_Processor
|
app/code/community/FACTFinder/Suggest/Model/System/Config/Source/Imagetype.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Suggest
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Suggest_Model_System_Config_Source_Imagetype
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_Suggest
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Suggest_Model_System_Config_Source_Imagetype
|
app/code/community/FACTFinder/Suggest/controllers/ProxyController.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Suggest
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Suggest_ProxyController extends Mage_Core_Controller_Front_Action
|
@@ -34,7 +34,7 @@ class FACTFinder_Suggest_ProxyController extends Mage_Core_Controller_Front_Acti
|
|
34 |
return;
|
35 |
}
|
36 |
|
37 |
-
$this->getResponse()->setHeader("Content-Type
|
38 |
$this->getResponse()->setBody(
|
39 |
Mage::getModel('factfinder_suggest/processor')->handleInAppRequest($this->getFullActionName())
|
40 |
);
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Suggest
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Suggest_ProxyController extends Mage_Core_Controller_Front_Action
|
34 |
return;
|
35 |
}
|
36 |
|
37 |
+
$this->getResponse()->setHeader("Content-Type", "application/json;charset=utf-8", true);
|
38 |
$this->getResponse()->setBody(
|
39 |
Mage::getModel('factfinder_suggest/processor')->handleInAppRequest($this->getFullActionName())
|
40 |
);
|
app/code/community/FACTFinder/Suggest/etc/config.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Suggest
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Suggest
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
app/code/community/FACTFinder/Suggest/etc/system.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Suggest
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Suggest
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
app/code/community/FACTFinder/Tagcloud/Block/TagCloud.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_TagCloud
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -19,8 +19,8 @@
|
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_TagCloud
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
-
* @copyright Copyright (c)
|
23 |
-
* @license
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Tagcloud_Block_TagCloud extends Mage_CatalogSearch_Block_Term
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_TagCloud
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
19 |
* @category Mage
|
20 |
* @package FACTFinder_TagCloud
|
21 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
22 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
23 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
24 |
* @link http://www.flagbit.de
|
25 |
*/
|
26 |
class FACTFinder_Tagcloud_Block_TagCloud extends Mage_CatalogSearch_Block_Term
|
app/code/community/FACTFinder/Tagcloud/Helper/Data.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_TagCloud
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_TagCloud
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tagcloud_Helper_Data extends Mage_Core_Helper_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_TagCloud
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_TagCloud
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tagcloud_Helper_Data extends Mage_Core_Helper_Abstract
|
app/code/community/FACTFinder/Tagcloud/Model/Facade.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_TagCloud
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_TagCloud
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tagcloud_Model_Facade extends FACTFinder_Core_Model_Facade
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_TagCloud
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_TagCloud
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tagcloud_Model_Facade extends FACTFinder_Core_Model_Facade
|
app/code/community/FACTFinder/Tagcloud/Model/Handler/TagCloud.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_TagCloud
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_TagCloud
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tagcloud_Model_Handler_TagCloud extends FACTFinder_Core_Model_Handler_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_TagCloud
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_TagCloud
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tagcloud_Model_Handler_TagCloud extends FACTFinder_Core_Model_Handler_Abstract
|
app/code/community/FACTFinder/Tagcloud/etc/config.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_TagCloud
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_TagCloud
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
app/code/community/FACTFinder/Tracking/Block/Abstract.php
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Abstract.php
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package FACTFinder_Tracking
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*/
|
12 |
+
abstract class FACTFinder_Tracking_Block_Abstract extends Mage_Core_Block_Template
|
13 |
+
{
|
14 |
+
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @return Mage_Core_Model_Resource_Db_Collection_Abstract
|
18 |
+
*/
|
19 |
+
protected abstract function getProductResultCollection();
|
20 |
+
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Get Product URL to ID Mapping JSON Object
|
24 |
+
*
|
25 |
+
* @return string
|
26 |
+
*/
|
27 |
+
public function getJsonUrlToIdMappingObject()
|
28 |
+
{
|
29 |
+
$data = array();
|
30 |
+
foreach($this->getProductResultCollection() as $product){
|
31 |
+
$data[$product->getProductUrl()] = $product->getId();
|
32 |
+
}
|
33 |
+
|
34 |
+
return Mage::helper('core')->jsonEncode($data);
|
35 |
+
}
|
36 |
+
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Get Product and Search Details by ID as JSON Object
|
40 |
+
*
|
41 |
+
* @return string
|
42 |
+
*/
|
43 |
+
public function getJsonDataObject()
|
44 |
+
{
|
45 |
+
$dataTemplate = $this->getDataTemplate();
|
46 |
+
|
47 |
+
$data = array();
|
48 |
+
foreach($this->getProductResultCollection() as $product){
|
49 |
+
$data[$product->getId()] = $this->getProductData($product) + $dataTemplate;
|
50 |
+
}
|
51 |
+
|
52 |
+
return Mage::helper('core')->jsonEncode($data);
|
53 |
+
}
|
54 |
+
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Get product specific data array
|
58 |
+
*
|
59 |
+
* @param Mage_Catalog_Model_Product $product
|
60 |
+
*
|
61 |
+
* @return array
|
62 |
+
*/
|
63 |
+
protected abstract function getProductData($product);
|
64 |
+
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Get common data for all products
|
68 |
+
*
|
69 |
+
* @return array
|
70 |
+
*/
|
71 |
+
protected abstract function getDataTemplate();
|
72 |
+
|
73 |
+
|
74 |
+
}
|
app/code/community/FACTFinder/Tracking/Block/Click.php
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FACTFinder_Tracking
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package FACTFinder_Tracking
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*
|
12 |
+
*/
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Block class
|
16 |
+
*
|
17 |
+
* @category Mage
|
18 |
+
* @package FACTFinder_Tracking
|
19 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
+
* @link http://www.flagbit.de
|
23 |
+
*/
|
24 |
+
class FACTFinder_Tracking_Block_Click extends FACTFinder_Tracking_Block_Abstract
|
25 |
+
{
|
26 |
+
const EVENT_NAME = 'click';
|
27 |
+
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Get Product Result Collection
|
31 |
+
*
|
32 |
+
* @return FACTFinder_Core_Model_Resource_Search_Collection
|
33 |
+
*/
|
34 |
+
protected function getProductResultCollection()
|
35 |
+
{
|
36 |
+
return Mage::getSingleton('factfinder/catalogSearch_layer')->getProductCollection();
|
37 |
+
}
|
38 |
+
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Get product specific data array
|
42 |
+
*
|
43 |
+
* @param Mage_Catalog_Model_Product $product
|
44 |
+
*
|
45 |
+
* @return mixed
|
46 |
+
*/
|
47 |
+
protected function getProductData($product)
|
48 |
+
{
|
49 |
+
$idFieldName = Mage::helper('factfinder_tracking')->getIdFieldName();
|
50 |
+
|
51 |
+
$data = array(
|
52 |
+
'id' => $product->getData($idFieldName),
|
53 |
+
'masterId' => $product->getData($idFieldName),
|
54 |
+
'pos' => $product->getPosition(),
|
55 |
+
'origPos' => $product->getOriginalPosition() ? $product->getOriginalPosition() : $product->getPosition(),
|
56 |
+
'title' => $product->getName()
|
57 |
+
);
|
58 |
+
|
59 |
+
return $data;
|
60 |
+
|
61 |
+
}
|
62 |
+
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Get common data for all products
|
66 |
+
*
|
67 |
+
* @return array
|
68 |
+
*/
|
69 |
+
protected function getDataTemplate()
|
70 |
+
{
|
71 |
+
$searchHelper = Mage::helper('factfinder/search');
|
72 |
+
|
73 |
+
$dataTemplate = array(
|
74 |
+
'query' => $searchHelper->getQuery()->getQueryText(),
|
75 |
+
'page' => $searchHelper->getCurrentPage(),
|
76 |
+
'origPageSize' => $searchHelper->getDefaultPerPageValue(),
|
77 |
+
'channel' => Mage::getStoreConfig('factfinder/search/channel'),
|
78 |
+
'event' => self::EVENT_NAME
|
79 |
+
);
|
80 |
+
|
81 |
+
return $dataTemplate;
|
82 |
+
}
|
83 |
+
|
84 |
+
|
85 |
+
}
|
app/code/community/FACTFinder/Tracking/Block/Init.php
DELETED
@@ -1,101 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* FACTFinder_Tracking
|
4 |
-
*
|
5 |
-
* @category Mage
|
6 |
-
* @package FACTFinder_Tracking
|
7 |
-
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c) 2015 Flagbit GmbH & Co. KG
|
9 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
10 |
-
* @link http://www.flagbit.de
|
11 |
-
*
|
12 |
-
*/
|
13 |
-
|
14 |
-
/**
|
15 |
-
* Block class
|
16 |
-
*
|
17 |
-
* @category Mage
|
18 |
-
* @package FACTFinder_Tracking
|
19 |
-
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c) 2015 Flagbit GmbH & Co. KG
|
21 |
-
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
22 |
-
* @link http://www.flagbit.de
|
23 |
-
*/
|
24 |
-
class FACTFinder_Tracking_Block_Init extends Mage_Core_Block_Template
|
25 |
-
{
|
26 |
-
|
27 |
-
|
28 |
-
/**
|
29 |
-
* Get Product Result Collection
|
30 |
-
*
|
31 |
-
* @return FACTFinder_Core_Model_Resource_Search_Collection
|
32 |
-
*/
|
33 |
-
protected function _getProductResultCollection()
|
34 |
-
{
|
35 |
-
return Mage::getSingleton('factfinder/catalogSearch_layer')->getProductCollection();
|
36 |
-
}
|
37 |
-
|
38 |
-
|
39 |
-
/**
|
40 |
-
* Get Product URL to ID Mapping JSON Object
|
41 |
-
*
|
42 |
-
* @return string
|
43 |
-
*/
|
44 |
-
public function getJsonUrlToIdMappingObject()
|
45 |
-
{
|
46 |
-
$data = array();
|
47 |
-
foreach($this->_getProductResultCollection() as $product){
|
48 |
-
$data[$product->getProductUrl()] = $product->getId();
|
49 |
-
}
|
50 |
-
|
51 |
-
return Mage::helper('core')->jsonEncode($data);
|
52 |
-
}
|
53 |
-
|
54 |
-
|
55 |
-
/**
|
56 |
-
* Get Product and Search Details by ID as JSON Object
|
57 |
-
*
|
58 |
-
* @return string
|
59 |
-
*/
|
60 |
-
public function getJsonDataObject()
|
61 |
-
{
|
62 |
-
$searchHelper = Mage::helper('factfinder/search');
|
63 |
-
$idFieldName = Mage::helper('factfinder_tracking')->getIdFieldName();
|
64 |
-
|
65 |
-
$customerId = Mage::getSingleton('customer/session')->getCustomer()->getId();
|
66 |
-
if ($customerId) {
|
67 |
-
$customerId = md5('customer_' . $customerId);
|
68 |
-
}
|
69 |
-
|
70 |
-
$dataTemplate = array(
|
71 |
-
'query' => $searchHelper->getQuery()->getQueryText(),
|
72 |
-
'page' => $searchHelper->getCurrentPage(),
|
73 |
-
'sid' => Mage::helper('factfinder_tracking')->getSessionId(),
|
74 |
-
'pageSize' => $searchHelper->getPageLimit(),
|
75 |
-
'origPageSize' => $searchHelper->getDefaultPerPageValue(),
|
76 |
-
'channel' => Mage::getStoreConfig('factfinder/search/channel'),
|
77 |
-
'userId' => $customerId,
|
78 |
-
'event' => 'click'
|
79 |
-
);
|
80 |
-
|
81 |
-
$data = array();
|
82 |
-
foreach($this->_getProductResultCollection() as $product){
|
83 |
-
$key = $product->getId();
|
84 |
-
|
85 |
-
$data[$key] = array(
|
86 |
-
'id' => $product->getData($idFieldName),
|
87 |
-
'masterid' => $product->getData($idFieldName),
|
88 |
-
'pos' => $product->getPosition(),
|
89 |
-
'origPos' => $product->getOriginalPosition() ? $product->getOriginalPosition() : $product->getPosition(),
|
90 |
-
'title' => $product->getName(),
|
91 |
-
'simi' => $product->getSimilarity()
|
92 |
-
);
|
93 |
-
|
94 |
-
$data[$key] += $dataTemplate;
|
95 |
-
}
|
96 |
-
|
97 |
-
return Mage::helper('core')->jsonEncode($data);
|
98 |
-
}
|
99 |
-
|
100 |
-
|
101 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/FACTFinder/Tracking/Block/Recommendation.php
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FACTFinder_Tracking
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package FACTFinder_Tracking
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*
|
12 |
+
*/
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Block class
|
16 |
+
*
|
17 |
+
* @category Mage
|
18 |
+
* @package FACTFinder_Tracking
|
19 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
+
* @link http://www.flagbit.de
|
23 |
+
*/
|
24 |
+
class FACTFinder_Tracking_Block_Recommendation extends FACTFinder_Tracking_Block_Abstract
|
25 |
+
{
|
26 |
+
const EVENT_NAME = 'recommendationClick';
|
27 |
+
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Get Product Result Collection
|
31 |
+
*
|
32 |
+
* @return FACTFinder_Core_Model_Resource_Search_Collection
|
33 |
+
*/
|
34 |
+
protected function getProductResultCollection()
|
35 |
+
{
|
36 |
+
return Mage::registry('recommendation_collection');
|
37 |
+
}
|
38 |
+
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Get product specific data array
|
42 |
+
*
|
43 |
+
* @param Mage_Catalog_Model_Product $product
|
44 |
+
*
|
45 |
+
* @return array
|
46 |
+
*/
|
47 |
+
protected function getProductData($product)
|
48 |
+
{
|
49 |
+
$idFieldName = Mage::helper('factfinder_tracking')->getIdFieldName();
|
50 |
+
|
51 |
+
$data = array(
|
52 |
+
'id' => $product->getData($idFieldName),
|
53 |
+
'masterId' => $product->getData($idFieldName),
|
54 |
+
);
|
55 |
+
|
56 |
+
return $data;
|
57 |
+
}
|
58 |
+
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Get common data for all products
|
62 |
+
*
|
63 |
+
* @return array
|
64 |
+
*/
|
65 |
+
protected function getDataTemplate()
|
66 |
+
{
|
67 |
+
$mainProduct = Mage::registry('current_product');
|
68 |
+
if (!$mainProduct) {
|
69 |
+
return array();
|
70 |
+
}
|
71 |
+
|
72 |
+
$idFieldName = Mage::helper('factfinder_tracking')->getIdFieldName();
|
73 |
+
|
74 |
+
$dataTemplate = array(
|
75 |
+
'mainId' => $mainProduct->getData($idFieldName),
|
76 |
+
'event' => self::EVENT_NAME
|
77 |
+
);
|
78 |
+
|
79 |
+
return $dataTemplate;
|
80 |
+
}
|
81 |
+
|
82 |
+
|
83 |
+
}
|
app/code/community/FACTFinder/Tracking/Helper/Data.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Helper_Data extends Mage_Core_Helper_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Helper_Data extends Mage_Core_Helper_Abstract
|
app/code/community/FACTFinder/Tracking/Model/Facade.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Model_Facade extends FACTFinder_Core_Model_Facade
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Model_Facade extends FACTFinder_Core_Model_Facade
|
app/code/community/FACTFinder/Tracking/Model/Handler/Tracking.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Model_Handler_Tracking extends FACTFinder_Core_Model_Handler_Abstract
|
@@ -36,12 +36,29 @@ class FACTFinder_Tracking_Model_Handler_Tracking extends FACTFinder_Core_Model_H
|
|
36 |
{
|
37 |
}
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
/**
|
40 |
* Track login of a user
|
41 |
*
|
42 |
-
* @param string $sid
|
43 |
* @param string $cookieId cookie id (optional)
|
44 |
-
* @param string $userid
|
|
|
45 |
* @return boolean $success
|
46 |
*/
|
47 |
public function trackLogin(
|
@@ -204,4 +221,20 @@ class FACTFinder_Tracking_Model_Handler_Tracking extends FACTFinder_Core_Model_H
|
|
204 |
}
|
205 |
|
206 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
}
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Model_Handler_Tracking extends FACTFinder_Core_Model_Handler_Abstract
|
36 |
{
|
37 |
}
|
38 |
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Set store id for facade
|
42 |
+
*
|
43 |
+
* @param int $storeId
|
44 |
+
*
|
45 |
+
* @return $this
|
46 |
+
*/
|
47 |
+
public function setStoreId($storeId = 0)
|
48 |
+
{
|
49 |
+
$this->_getFacade()->setStoreId($storeId);
|
50 |
+
|
51 |
+
return $this;
|
52 |
+
}
|
53 |
+
|
54 |
+
|
55 |
/**
|
56 |
* Track login of a user
|
57 |
*
|
58 |
+
* @param string $sid session id (if empty, then try to set using the function session_id() )
|
59 |
* @param string $cookieId cookie id (optional)
|
60 |
+
* @param string $userid id of user who logged in
|
61 |
+
*
|
62 |
* @return boolean $success
|
63 |
*/
|
64 |
public function trackLogin(
|
221 |
}
|
222 |
|
223 |
|
224 |
+
/**
|
225 |
+
* Get an instance of FACT-Finder facade
|
226 |
+
*
|
227 |
+
* @return FACTFinder_Core_Model_Facade
|
228 |
+
*/
|
229 |
+
protected function _getFacade()
|
230 |
+
{
|
231 |
+
if ($this->_facade === null) {
|
232 |
+
// get new model, not singleton
|
233 |
+
$this->_facade = Mage::getModel($this->_facadeModel);
|
234 |
+
}
|
235 |
+
|
236 |
+
return $this->_facade;
|
237 |
+
}
|
238 |
+
|
239 |
+
|
240 |
}
|
app/code/community/FACTFinder/Tracking/Model/Observer.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Model_Observer
|
@@ -36,16 +36,24 @@ class FACTFinder_Tracking_Model_Observer
|
|
36 |
*/
|
37 |
public function addTrackingHandles($observer)
|
38 |
{
|
39 |
-
if (!Mage::
|
40 |
-
|| !Mage::helper('factfinder/search')->getIsOnSearchPage()
|
41 |
-
|| !Mage::helper('factfinder')->isEnabled('tracking')
|
42 |
-
) {
|
43 |
return;
|
44 |
}
|
45 |
|
46 |
$layout = $observer->getLayout();
|
47 |
$update = $layout->getUpdate();
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
}
|
50 |
|
51 |
|
@@ -61,6 +69,7 @@ class FACTFinder_Tracking_Model_Observer
|
|
61 |
{
|
62 |
if (!Mage::getStoreConfigFlag('factfinder/export/track_carts')
|
63 |
|| !Mage::helper('factfinder')->isEnabled('tracking')
|
|
|
64 |
) {
|
65 |
return;
|
66 |
}
|
@@ -95,7 +104,7 @@ class FACTFinder_Tracking_Model_Observer
|
|
95 |
$customerId
|
96 |
);
|
97 |
} catch (Exception $e) {
|
98 |
-
Mage::helper('factfinder/debug')->
|
99 |
}
|
100 |
}
|
101 |
|
@@ -114,6 +123,7 @@ class FACTFinder_Tracking_Model_Observer
|
|
114 |
|
115 |
if (!Mage::getStoreConfig('factfinder/export/clicktracking')
|
116 |
|| !Mage::helper('factfinder')->isEnabled('tracking')
|
|
|
117 |
) {
|
118 |
return;
|
119 |
}
|
@@ -145,7 +155,7 @@ class FACTFinder_Tracking_Model_Observer
|
|
145 |
);
|
146 |
}
|
147 |
catch (Exception $e) {
|
148 |
-
Mage::helper('factfinder/debug')->
|
149 |
}
|
150 |
}
|
151 |
|
@@ -162,6 +172,7 @@ class FACTFinder_Tracking_Model_Observer
|
|
162 |
{
|
163 |
if (!Mage::getStoreConfigFlag('factfinder/export/track_checkout')
|
164 |
|| !Mage::helper('factfinder')->isEnabled('tracking')
|
|
|
165 |
) {
|
166 |
return;
|
167 |
}
|
@@ -172,7 +183,6 @@ class FACTFinder_Tracking_Model_Observer
|
|
172 |
$customerId = md5('customer_' . $customerId);
|
173 |
}
|
174 |
|
175 |
-
$searchHelper = Mage::helper('factfinder/search');
|
176 |
$idFieldName = Mage::helper('factfinder_tracking')->getIdFieldName();
|
177 |
if ($idFieldName == 'entity_id') {
|
178 |
$idFieldName = 'product_id'; // sales_order_item does not contain a entity_id
|
@@ -191,6 +201,7 @@ class FACTFinder_Tracking_Model_Observer
|
|
191 |
->setUserid($customerId)
|
192 |
->setPrice($item->getPrice())
|
193 |
->setCount($item->getQtyOrdered())
|
|
|
194 |
->save();
|
195 |
}
|
196 |
catch (Exception $e) {
|
@@ -215,27 +226,32 @@ class FACTFinder_Tracking_Model_Observer
|
|
215 |
$queue = Mage::getModel('factfinder_tracking/queue');
|
216 |
|
217 |
try {
|
218 |
-
$
|
219 |
foreach ($queue->getCollection() as $item) {
|
|
|
|
|
|
|
|
|
220 |
/** @var FACTFinder_Tracking_Model_Handler_Tracking $tracking */
|
221 |
$tracking = Mage::getModel('factfinder_tracking/handler_tracking');
|
222 |
-
$tracking->
|
223 |
-
|
224 |
-
|
225 |
-
$
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
|
|
|
|
|
|
236 |
|
237 |
-
if ($collectionSize > 0) {
|
238 |
-
// We use the last adapter instance to start the parallel request
|
239 |
$tracking->applyTracking($item->getProductId());
|
240 |
}
|
241 |
} catch (Exception $e) {
|
@@ -258,7 +274,9 @@ class FACTFinder_Tracking_Model_Observer
|
|
258 |
|
259 |
public function loginTracking(Varien_Event_Observer $observer)
|
260 |
{
|
261 |
-
if(!Mage::getStoreConfigFlag('factfinder/config/personalization')
|
|
|
|
|
262 |
return;
|
263 |
}
|
264 |
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Model_Observer
|
36 |
*/
|
37 |
public function addTrackingHandles($observer)
|
38 |
{
|
39 |
+
if (!Mage::helper('factfinder')->isEnabled('tracking')) {
|
|
|
|
|
|
|
40 |
return;
|
41 |
}
|
42 |
|
43 |
$layout = $observer->getLayout();
|
44 |
$update = $layout->getUpdate();
|
45 |
+
|
46 |
+
if (Mage::helper('factfinder/search')->getIsOnSearchPage()
|
47 |
+
&& Mage::getStoreConfig('factfinder/export/clicktracking')
|
48 |
+
) {
|
49 |
+
$update->addHandle('factfinder_clicktracking_enabled');
|
50 |
+
}
|
51 |
+
|
52 |
+
if (Mage::registry('current_product')
|
53 |
+
&& Mage::helper('factfinder')->isEnabled('recommendation')
|
54 |
+
) {
|
55 |
+
$update->addHandle('factfinder_recommendation_tracking');
|
56 |
+
}
|
57 |
}
|
58 |
|
59 |
|
69 |
{
|
70 |
if (!Mage::getStoreConfigFlag('factfinder/export/track_carts')
|
71 |
|| !Mage::helper('factfinder')->isEnabled('tracking')
|
72 |
+
|| Mage::helper('factfinder')->isInternal()
|
73 |
) {
|
74 |
return;
|
75 |
}
|
104 |
$customerId
|
105 |
);
|
106 |
} catch (Exception $e) {
|
107 |
+
Mage::helper('factfinder/debug')->error($e->getMessage());
|
108 |
}
|
109 |
}
|
110 |
|
123 |
|
124 |
if (!Mage::getStoreConfig('factfinder/export/clicktracking')
|
125 |
|| !Mage::helper('factfinder')->isEnabled('tracking')
|
126 |
+
|| Mage::helper('factfinder')->isInternal()
|
127 |
) {
|
128 |
return;
|
129 |
}
|
155 |
);
|
156 |
}
|
157 |
catch (Exception $e) {
|
158 |
+
Mage::helper('factfinder/debug')->error($e->getMessage());
|
159 |
}
|
160 |
}
|
161 |
|
172 |
{
|
173 |
if (!Mage::getStoreConfigFlag('factfinder/export/track_checkout')
|
174 |
|| !Mage::helper('factfinder')->isEnabled('tracking')
|
175 |
+
|| Mage::helper('factfinder')->isInternal()
|
176 |
) {
|
177 |
return;
|
178 |
}
|
183 |
$customerId = md5('customer_' . $customerId);
|
184 |
}
|
185 |
|
|
|
186 |
$idFieldName = Mage::helper('factfinder_tracking')->getIdFieldName();
|
187 |
if ($idFieldName == 'entity_id') {
|
188 |
$idFieldName = 'product_id'; // sales_order_item does not contain a entity_id
|
201 |
->setUserid($customerId)
|
202 |
->setPrice($item->getPrice())
|
203 |
->setCount($item->getQtyOrdered())
|
204 |
+
->setStoreId($order->getStoreId())
|
205 |
->save();
|
206 |
}
|
207 |
catch (Exception $e) {
|
226 |
$queue = Mage::getModel('factfinder_tracking/queue');
|
227 |
|
228 |
try {
|
229 |
+
$itemsByStore = array();
|
230 |
foreach ($queue->getCollection() as $item) {
|
231 |
+
$itemsByStore[$item->getStoreId()][] = $item;
|
232 |
+
}
|
233 |
+
|
234 |
+
foreach ($itemsByStore as $storeId => $items) {
|
235 |
/** @var FACTFinder_Tracking_Model_Handler_Tracking $tracking */
|
236 |
$tracking = Mage::getModel('factfinder_tracking/handler_tracking');
|
237 |
+
$tracking->setStoreId($storeId);
|
238 |
+
|
239 |
+
foreach ($items as $item) {
|
240 |
+
$tracking->setupCheckoutTracking(
|
241 |
+
$item->getProductId(),
|
242 |
+
$item->getProductId(),
|
243 |
+
$item->getProductName(),
|
244 |
+
null,
|
245 |
+
$item->getSid(),
|
246 |
+
null,
|
247 |
+
$item->getCount(),
|
248 |
+
$item->getPrice(),
|
249 |
+
$item->getUserid()
|
250 |
+
);
|
251 |
+
|
252 |
+
$item->delete($item);
|
253 |
+
}
|
254 |
|
|
|
|
|
255 |
$tracking->applyTracking($item->getProductId());
|
256 |
}
|
257 |
} catch (Exception $e) {
|
274 |
|
275 |
public function loginTracking(Varien_Event_Observer $observer)
|
276 |
{
|
277 |
+
if(!Mage::getStoreConfigFlag('factfinder/config/personalization')
|
278 |
+
|| Mage::helper('factfinder')->isInternal()
|
279 |
+
) {
|
280 |
return;
|
281 |
}
|
282 |
|
app/code/community/FACTFinder/Tracking/Model/Processor.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -21,8 +21,8 @@ require_once BP . DS . 'lib' . DS . 'FACTFinder' . DS . 'Loader.php';
|
|
21 |
* @category Mage
|
22 |
* @package FACTFinder_Tracking
|
23 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
24 |
-
* @copyright Copyright (c)
|
25 |
-
* @license
|
26 |
* @link http://www.flagbit.de
|
27 |
*/
|
28 |
class FACTFinder_Tracking_Model_Processor
|
@@ -80,7 +80,7 @@ class FACTFinder_Tracking_Model_Processor
|
|
80 |
return $this->_facade;
|
81 |
}
|
82 |
|
83 |
-
|
84 |
* Bypass app cache.
|
85 |
*
|
86 |
* @param string $content
|
@@ -91,7 +91,7 @@ class FACTFinder_Tracking_Model_Processor
|
|
91 |
{
|
92 |
return false;
|
93 |
}
|
94 |
-
|
95 |
/**
|
96 |
* handle Requests
|
97 |
*
|
@@ -101,6 +101,14 @@ class FACTFinder_Tracking_Model_Processor
|
|
101 |
*/
|
102 |
public function handleRequest($request)
|
103 |
{
|
104 |
-
|
105 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
}
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
21 |
* @category Mage
|
22 |
* @package FACTFinder_Tracking
|
23 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
24 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
25 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
26 |
* @link http://www.flagbit.de
|
27 |
*/
|
28 |
class FACTFinder_Tracking_Model_Processor
|
80 |
return $this->_facade;
|
81 |
}
|
82 |
|
83 |
+
/**
|
84 |
* Bypass app cache.
|
85 |
*
|
86 |
* @param string $content
|
91 |
{
|
92 |
return false;
|
93 |
}
|
94 |
+
|
95 |
/**
|
96 |
* handle Requests
|
97 |
*
|
101 |
*/
|
102 |
public function handleRequest($request)
|
103 |
{
|
104 |
+
if (Mage::helper('factfinder')->isInternal()) {
|
105 |
+
return;
|
106 |
+
}
|
107 |
+
$sessionId = Mage::helper('factfinder_tracking')->getSessionId();
|
108 |
+
$customerId = Mage::getSingleton('customer/session')->getCustomer()->getId();
|
109 |
+
if ($customerId) {
|
110 |
+
$customerId = md5('customer_' . $customerId);
|
111 |
+
}
|
112 |
+
return $this->_getFacade()->getTrackingAdapter()->doTrackingFromRequest($sessionId, $customerId);
|
113 |
+
}
|
114 |
}
|
app/code/community/FACTFinder/Tracking/Model/Queue.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Model_Queue extends Mage_Core_Model_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Model_Queue extends Mage_Core_Model_Abstract
|
app/code/community/FACTFinder/Tracking/Model/Resource/Queue.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Model_Resource_Queue extends Mage_Core_Model_Resource_Db_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Model_Resource_Queue extends Mage_Core_Model_Resource_Db_Abstract
|
app/code/community/FACTFinder/Tracking/Model/Resource/Queue/Collection.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Model_Resource_Queue_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_Model_Resource_Queue_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
app/code/community/FACTFinder/Tracking/controllers/ProxyController.php
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
@@ -17,8 +17,8 @@
|
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
-
* @copyright Copyright (c)
|
21 |
-
* @license
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_ProxyController extends Mage_Core_Controller_Front_Action
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
17 |
* @category Mage
|
18 |
* @package FACTFinder_Tracking
|
19 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
20 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
21 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
22 |
* @link http://www.flagbit.de
|
23 |
*/
|
24 |
class FACTFinder_Tracking_ProxyController extends Mage_Core_Controller_Front_Action
|
app/code/community/FACTFinder/Tracking/etc/config.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Tracking
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
@@ -15,7 +15,7 @@
|
|
15 |
<config>
|
16 |
<modules>
|
17 |
<FACTFinder_Tracking>
|
18 |
-
<version>4.
|
19 |
</FACTFinder_Tracking>
|
20 |
</modules>
|
21 |
<global>
|
@@ -130,7 +130,7 @@
|
|
130 |
<clicktracking>1</clicktracking>
|
131 |
<track_carts>1</track_carts>
|
132 |
<track_checkout>1</track_checkout>
|
133 |
-
</export>
|
134 |
<config>
|
135 |
<tracking_identifier>entity_id</tracking_identifier>
|
136 |
</config>
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Tracking
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
15 |
<config>
|
16 |
<modules>
|
17 |
<FACTFinder_Tracking>
|
18 |
+
<version>4.1.2</version>
|
19 |
</FACTFinder_Tracking>
|
20 |
</modules>
|
21 |
<global>
|
130 |
<clicktracking>1</clicktracking>
|
131 |
<track_carts>1</track_carts>
|
132 |
<track_checkout>1</track_checkout>
|
133 |
+
</export>
|
134 |
<config>
|
135 |
<tracking_identifier>entity_id</tracking_identifier>
|
136 |
</config>
|
app/code/community/FACTFinder/Tracking/etc/system.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Tracking
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Tracking
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
app/code/community/FACTFinder/Tracking/sql/factfinder_tracking_setup/{mysql4-install-1.0.0.php → install-1.0.0.php}
RENAMED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
app/code/community/FACTFinder/Tracking/sql/factfinder_tracking_setup/upgrade-1.0.0-4.1.2.php
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FACTFinder_Tracking
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package FACTFinder_Tracking
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*
|
12 |
+
*/
|
13 |
+
/**
|
14 |
+
* Install script
|
15 |
+
*
|
16 |
+
* Install script for Tracking queue. Orders are sent to FACT-Finder asynchronously by cronjobs.
|
17 |
+
*/
|
18 |
+
|
19 |
+
$installer = $this;
|
20 |
+
$installer->startSetup();
|
21 |
+
|
22 |
+
$table = $installer->getConnection()
|
23 |
+
->addColumn(
|
24 |
+
$installer->getTable('factfinder_tracking/queue'),
|
25 |
+
'store_id',
|
26 |
+
array(
|
27 |
+
'type' => Varien_Db_Ddl_Table::TYPE_INTEGER,
|
28 |
+
'nullable' => true,
|
29 |
+
'default' => null,
|
30 |
+
'comment' => 'Store ID'
|
31 |
+
)
|
32 |
+
);
|
33 |
+
$installer->endSetup();
|
app/design/frontend/base/default/layout/factfinder/asn.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Asn
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Asn
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
app/design/frontend/base/default/layout/factfinder/campaigns.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Campaigns
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
@@ -49,6 +49,22 @@
|
|
49 |
</reference>
|
50 |
</catalogsearch_result_index>
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
<catalog_category_view>
|
53 |
<reference name="content">
|
54 |
<block type="factfinder_campaigns/advisory_search" name="ff.search.advisory" before="-" template="factfinder/campaigns/advisory.phtml" />
|
@@ -67,9 +83,6 @@
|
|
67 |
<block type="factfinder_campaigns/feedback_search" after="product_list" name="ff.feedback.search.above" as="search_above">
|
68 |
<action method="setLabel"><label>above search result</label></action>
|
69 |
</block>
|
70 |
-
<block type="factfinder_campaigns/feedback_search" after="category.products" name="ff.feedback.search.below" as="search_below">
|
71 |
-
<action method="setLabel"><label>below search result</label></action>
|
72 |
-
</block>
|
73 |
</reference>
|
74 |
|
75 |
<!-- above and below asn labels-->
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Campaigns
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*/
|
13 |
-->
|
49 |
</reference>
|
50 |
</catalogsearch_result_index>
|
51 |
|
52 |
+
<catalog_category_default>
|
53 |
+
<reference name="content">
|
54 |
+
<block type="factfinder_campaigns/feedback_search" after="category.products" name="ff.feedback.search.below" as="search_below">
|
55 |
+
<action method="setLabel"><label>below search result</label></action>
|
56 |
+
</block>
|
57 |
+
</reference>
|
58 |
+
</catalog_category_default>
|
59 |
+
|
60 |
+
<catalog_category_layered>
|
61 |
+
<reference name="content">
|
62 |
+
<block type="factfinder_campaigns/feedback_search" after="category.products" name="ff.feedback.search.below" as="search_below">
|
63 |
+
<action method="setLabel"><label>below search result</label></action>
|
64 |
+
</block>
|
65 |
+
</reference>
|
66 |
+
</catalog_category_layered>
|
67 |
+
|
68 |
<catalog_category_view>
|
69 |
<reference name="content">
|
70 |
<block type="factfinder_campaigns/advisory_search" name="ff.search.advisory" before="-" template="factfinder/campaigns/advisory.phtml" />
|
83 |
<block type="factfinder_campaigns/feedback_search" after="product_list" name="ff.feedback.search.above" as="search_above">
|
84 |
<action method="setLabel"><label>above search result</label></action>
|
85 |
</block>
|
|
|
|
|
|
|
86 |
</reference>
|
87 |
|
88 |
<!-- above and below asn labels-->
|
app/design/frontend/base/default/layout/factfinder/core.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Core
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
@@ -31,7 +31,7 @@
|
|
31 |
<factfinder_export_get>
|
32 |
<update handle="factfinder_export_default" />
|
33 |
<reference name="content">
|
34 |
-
<action method="setTemplate"><template>factfinder/core/export/
|
35 |
</reference>
|
36 |
</factfinder_export_get>
|
37 |
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Core
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
31 |
<factfinder_export_get>
|
32 |
<update handle="factfinder_export_default" />
|
33 |
<reference name="content">
|
34 |
+
<action method="setTemplate"><template>factfinder/core/export/nofile.phtml</template></action>
|
35 |
</reference>
|
36 |
</factfinder_export_get>
|
37 |
|
app/design/frontend/base/default/layout/factfinder/suggest.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Suggest
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Suggest
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
app/design/frontend/base/default/layout/factfinder/tagcloud.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_TagCloud
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_TagCloud
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
app/design/frontend/base/default/layout/factfinder/tracking.xml
CHANGED
@@ -6,8 +6,8 @@
|
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Tracking
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
-
* @copyright Copyright (c)
|
10 |
-
* @license
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
@@ -18,7 +18,16 @@
|
|
18 |
<action method="addJs"><script>factfinder/tracking.js</script></action>
|
19 |
</reference>
|
20 |
<reference name="content">
|
21 |
-
<block type="factfinder_tracking/
|
22 |
</reference>
|
23 |
</factfinder_clicktracking_enabled>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
</layout>
|
6 |
* @category Mage
|
7 |
* @package FACTFinder_Tracking
|
8 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
9 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
10 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
11 |
* @link http://www.flagbit.de
|
12 |
*
|
13 |
*/
|
18 |
<action method="addJs"><script>factfinder/tracking.js</script></action>
|
19 |
</reference>
|
20 |
<reference name="content">
|
21 |
+
<block type="factfinder_tracking/click" name="factfinder.tracking.click" template="factfinder/tracking/click.phtml"/>
|
22 |
</reference>
|
23 |
</factfinder_clicktracking_enabled>
|
24 |
+
|
25 |
+
<factfinder_recommendation_tracking>
|
26 |
+
<reference name="head">
|
27 |
+
<action method="addJs"><script>factfinder/tracking.js</script></action>
|
28 |
+
</reference>
|
29 |
+
<reference name="content">
|
30 |
+
<block type="factfinder_tracking/recommendation" name="factfinder.tracking.recommendation" template="factfinder/tracking/recommendation.phtml"/>
|
31 |
+
</reference>
|
32 |
+
</factfinder_recommendation_tracking>
|
33 |
</layout>
|
app/design/frontend/base/default/template/factfinder/asn/layer/filter/slider.phtml
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
/**
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
/**
|
app/design/frontend/base/default/template/factfinder/asn/layer/slider.phtml
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
?>
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Asn
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
?>
|
app/design/frontend/base/default/template/factfinder/campaigns/advisory.phtml
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
?>
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
?>
|
app/design/frontend/base/default/template/factfinder/campaigns/feedback.phtml
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
?>
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
?>
|
app/design/frontend/base/default/template/factfinder/campaigns/pushed.phtml
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
?>
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Campaigns
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016, Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*/
|
12 |
?>
|
app/design/frontend/base/default/template/factfinder/core/export/locked.phtml
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
app/design/frontend/base/default/template/factfinder/core/export/nofile.phtml
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Core
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
app/design/frontend/base/default/template/factfinder/suggest/advancedsuggest.phtml
CHANGED
@@ -5,8 +5,8 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Suggest
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
app/design/frontend/base/default/template/factfinder/tracking/{init.phtml → click.phtml}
RENAMED
@@ -5,22 +5,23 @@
|
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
-
* @copyright Copyright (c)
|
9 |
-
* @license
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
13 |
?>
|
14 |
<script type="text/javascript">
|
15 |
-
var
|
16 |
'.col-main',
|
17 |
$H(<?php echo $this->getJsonDataObject();?>),
|
18 |
$H(<?php echo $this->getJsonUrlToIdMappingObject();?>),
|
19 |
'<?php echo $this->getUrl(Mage::helper('factfinder_tracking')->getTrackingUrlPath()) ?>',
|
20 |
-
|
21 |
);
|
22 |
|
23 |
Event.observe(document, 'dom:loaded', function(event) {
|
24 |
-
|
25 |
});
|
|
|
26 |
</script>
|
5 |
* @category Mage
|
6 |
* @package FACTFinder_Tracking
|
7 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
* @link http://www.flagbit.de
|
11 |
*
|
12 |
*/
|
13 |
?>
|
14 |
<script type="text/javascript">
|
15 |
+
var factfinderClickTracking = new FactfinderTracking(
|
16 |
'.col-main',
|
17 |
$H(<?php echo $this->getJsonDataObject();?>),
|
18 |
$H(<?php echo $this->getJsonUrlToIdMappingObject();?>),
|
19 |
'<?php echo $this->getUrl(Mage::helper('factfinder_tracking')->getTrackingUrlPath()) ?>',
|
20 |
+
false
|
21 |
);
|
22 |
|
23 |
Event.observe(document, 'dom:loaded', function(event) {
|
24 |
+
factfinderClickTracking.init();
|
25 |
});
|
26 |
+
|
27 |
</script>
|
app/design/frontend/base/default/template/factfinder/tracking/recommendation.phtml
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* FACTFinder_Tracking
|
4 |
+
*
|
5 |
+
* @category Mage
|
6 |
+
* @package FACTFinder_Tracking
|
7 |
+
* @author Flagbit Magento Team <magento@flagbit.de>
|
8 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
9 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
10 |
+
* @link http://www.flagbit.de
|
11 |
+
*
|
12 |
+
*/
|
13 |
+
?>
|
14 |
+
<script type="text/javascript">
|
15 |
+
var factfinderRecommendationTracking = new FactfinderTracking(
|
16 |
+
'.col-main',
|
17 |
+
$H(<?php echo $this->getJsonDataObject();?>),
|
18 |
+
$H(<?php echo $this->getJsonUrlToIdMappingObject();?>),
|
19 |
+
'<?php echo $this->getUrl(Mage::helper('factfinder_tracking')->getTrackingUrlPath()) ?>',
|
20 |
+
false
|
21 |
+
);
|
22 |
+
|
23 |
+
Event.observe(document, 'dom:loaded', function(event) {
|
24 |
+
factfinderRecommendationTracking.init();
|
25 |
+
});
|
26 |
+
|
27 |
+
</script>
|
app/etc/modules/FACTFinder_Asn.xml
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<FACTFinder_Asn>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
<depends>
|
8 |
+
<FACTFinder_Core/>
|
9 |
+
</depends>
|
10 |
+
</FACTFinder_Asn>
|
11 |
+
</modules>
|
12 |
+
</config>
|
app/etc/modules/FACTFinder_Campaigns.xml
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<FACTFinder_Campaigns>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
<depends>
|
8 |
+
<FACTFinder_Core/>
|
9 |
+
|
10 |
+
</depends>
|
11 |
+
</FACTFinder_Campaigns>
|
12 |
+
</modules>
|
13 |
+
</config>
|
app/etc/modules/FACTFinder_Core.xml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<FACTFinder_Core>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
</FACTFinder_Core>
|
8 |
+
</modules>
|
9 |
+
</config>
|
app/etc/modules/FACTFinder_Recommendation.xml
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<FACTFinder_Recommendation>
|
5 |
+
<active>1</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
<depends>
|
8 |
+
<FACTFinder_Core/>
|
9 |
+
</depends>
|
10 |
+
</FACTFinder_Recommendation>
|
11 |
+
</modules>
|
12 |
+
</config>
|
app/etc/modules/FACTFinder_Suggest.xml
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<FACTFinder_Suggest>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
<depends>
|
8 |
+
<FACTFinder_Core/>
|
9 |
+
|
10 |
+
</depends>
|
11 |
+
</FACTFinder_Suggest>
|
12 |
+
</modules>
|
13 |
+
</config>
|
app/etc/modules/FACTFinder_Tagcloud.xml
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<FACTFinder_Tagcloud>
|
5 |
+
<active>1</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
<depends>
|
8 |
+
<FACTFinder_Core/>
|
9 |
+
</depends>
|
10 |
+
</FACTFinder_Tagcloud>
|
11 |
+
</modules>
|
12 |
+
</config>
|
app/etc/modules/FACTFinder_Tracking.xml
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<FACTFinder_Tracking>
|
5 |
+
<active>1</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
<depends>
|
8 |
+
<FACTFinder_Core/>
|
9 |
+
|
10 |
+
</depends>
|
11 |
+
</FACTFinder_Tracking>
|
12 |
+
</modules>
|
13 |
+
</config>
|
js/factfinder/suggest.js
CHANGED
@@ -4,8 +4,8 @@
|
|
4 |
* @category Mage
|
5 |
* @package FACTFinder_Suggest
|
6 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
7 |
-
* @copyright Copyright (c)
|
8 |
-
* @license
|
9 |
* @link http://www.flagbit.de
|
10 |
*
|
11 |
*/
|
4 |
* @category Mage
|
5 |
* @package FACTFinder_Suggest
|
6 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
7 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
8 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
9 |
* @link http://www.flagbit.de
|
10 |
*
|
11 |
*/
|
js/factfinder/tracking.js
CHANGED
@@ -4,8 +4,8 @@
|
|
4 |
* @category Mage
|
5 |
* @package FACTFinder_Tracking
|
6 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
7 |
-
* @copyright Copyright (c)
|
8 |
-
* @license
|
9 |
* @link http://www.flagbit.de
|
10 |
*
|
11 |
*/
|
4 |
* @category Mage
|
5 |
* @package FACTFinder_Tracking
|
6 |
* @author Flagbit Magento Team <magento@flagbit.de>
|
7 |
+
* @copyright Copyright (c) 2016 Flagbit GmbH & Co. KG
|
8 |
+
* @license https://opensource.org/licenses/MIT The MIT License (MIT)
|
9 |
* @link http://www.flagbit.de
|
10 |
*
|
11 |
*/
|
lib/FACTFinder/Adapter/AbstractAdapter.php
CHANGED
@@ -53,6 +53,16 @@ abstract class AbstractAdapter
|
|
53 |
* @var object The processed response content.
|
54 |
*/
|
55 |
private $responseContent = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
|
57 |
/**
|
58 |
* @param string $loggerClass Class name of logger to use. The class should
|
@@ -98,16 +108,16 @@ abstract class AbstractAdapter
|
|
98 |
// stdClass objects don't really have any advantages over plain
|
99 |
// arrays but miss out on some of the built-in array functions.
|
100 |
$jsonData = json_decode($string, true);
|
101 |
-
|
102 |
if (is_null($jsonData))
|
103 |
throw new \InvalidArgumentException(
|
104 |
"json_decode() raised an error: ".json_last_error()
|
105 |
);
|
106 |
-
|
107 |
if(is_array($jsonData) && isset($jsonData['error'])) {
|
108 |
-
$this->
|
|
|
109 |
if(isset($jsonData['stacktrace'])) {
|
110 |
-
$this->
|
|
|
111 |
}
|
112 |
}
|
113 |
return $jsonData;
|
@@ -121,9 +131,11 @@ abstract class AbstractAdapter
|
|
121 |
// The constructor throws an exception on error
|
122 |
$response = new \SimpleXMLElement($string);
|
123 |
if(isset($response->error)) {
|
124 |
-
$this->
|
|
|
125 |
if(isset($response->stacktrace)) {
|
126 |
-
$this->
|
|
|
127 |
}
|
128 |
}
|
129 |
return $response;
|
@@ -191,4 +203,34 @@ abstract class AbstractAdapter
|
|
191 |
|
192 |
return $this->urlBuilder->generateUrl($parameters);
|
193 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
}
|
53 |
* @var object The processed response content.
|
54 |
*/
|
55 |
private $responseContent = null;
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @var string The last error message.
|
59 |
+
*/
|
60 |
+
private $error = null;
|
61 |
+
|
62 |
+
/**
|
63 |
+
* @var string The last stack trace.
|
64 |
+
*/
|
65 |
+
private $stackTrace = null;
|
66 |
|
67 |
/**
|
68 |
* @param string $loggerClass Class name of logger to use. The class should
|
108 |
// stdClass objects don't really have any advantages over plain
|
109 |
// arrays but miss out on some of the built-in array functions.
|
110 |
$jsonData = json_decode($string, true);
|
|
|
111 |
if (is_null($jsonData))
|
112 |
throw new \InvalidArgumentException(
|
113 |
"json_decode() raised an error: ".json_last_error()
|
114 |
);
|
|
|
115 |
if(is_array($jsonData) && isset($jsonData['error'])) {
|
116 |
+
$this->error = strip_tags($jsonData['error']);
|
117 |
+
$this->log->error("FACT-Finder returned error: " . $this->error);
|
118 |
if(isset($jsonData['stacktrace'])) {
|
119 |
+
$this->stackTrace = $jsonData['stacktrace'];
|
120 |
+
$this->log->error("Stacktrace:\n" . $this->stackTrace);
|
121 |
}
|
122 |
}
|
123 |
return $jsonData;
|
131 |
// The constructor throws an exception on error
|
132 |
$response = new \SimpleXMLElement($string);
|
133 |
if(isset($response->error)) {
|
134 |
+
$this->error = strip_tags($response->error);
|
135 |
+
$this->log->error("FACT-Finder returned error: " . $this->error);
|
136 |
if(isset($response->stacktrace)) {
|
137 |
+
$this->stackTrace = $response->stacktrace;
|
138 |
+
$this->log->error("Stacktrace:\n" . $this->stackTrace);
|
139 |
}
|
140 |
}
|
141 |
return $response;
|
203 |
|
204 |
return $this->urlBuilder->generateUrl($parameters);
|
205 |
}
|
206 |
+
|
207 |
+
/**
|
208 |
+
* Returns true if the response is valid or false if an error occurred.
|
209 |
+
*
|
210 |
+
* @return bool
|
211 |
+
*/
|
212 |
+
protected function isValidResponse($jsonData)
|
213 |
+
{
|
214 |
+
return (!empty($jsonData) && !isset($jsonData['error']));
|
215 |
+
}
|
216 |
+
|
217 |
+
/**
|
218 |
+
* Returns a message if an error occurred.
|
219 |
+
*
|
220 |
+
* @return string
|
221 |
+
*/
|
222 |
+
public function getError()
|
223 |
+
{
|
224 |
+
return $this->error;
|
225 |
+
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
* Returns the stack trace if an error occurred.
|
229 |
+
*
|
230 |
+
* @return string
|
231 |
+
*/
|
232 |
+
public function getStackTrace()
|
233 |
+
{
|
234 |
+
return $this->stackTrace;
|
235 |
+
}
|
236 |
}
|
lib/FACTFinder/Adapter/Compare.php
CHANGED
@@ -114,13 +114,15 @@ class Compare extends AbstractAdapter
|
|
114 |
else
|
115 |
{
|
116 |
$jsonData = $this->getResponseContent();
|
117 |
-
|
118 |
{
|
119 |
-
$
|
120 |
-
|
|
|
|
|
|
|
121 |
}
|
122 |
}
|
123 |
-
|
124 |
return $attributes;
|
125 |
}
|
126 |
|
@@ -157,15 +159,18 @@ class Compare extends AbstractAdapter
|
|
157 |
{
|
158 |
$position = 1;
|
159 |
$jsonData = $this->getResponseContent();
|
160 |
-
|
161 |
{
|
162 |
-
$records
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
|
|
|
|
|
|
169 |
}
|
170 |
}
|
171 |
|
114 |
else
|
115 |
{
|
116 |
$jsonData = $this->getResponseContent();
|
117 |
+
if (parent::isValidResponse($jsonData))
|
118 |
{
|
119 |
+
foreach($jsonData['attributes'] as $attributeData)
|
120 |
+
{
|
121 |
+
$name = $attributeData['attributeName'];
|
122 |
+
$attributes[$name] = $attributeData['different'];
|
123 |
+
}
|
124 |
}
|
125 |
}
|
|
|
126 |
return $attributes;
|
127 |
}
|
128 |
|
159 |
{
|
160 |
$position = 1;
|
161 |
$jsonData = $this->getResponseContent();
|
162 |
+
if (parent::isValidResponse($jsonData))
|
163 |
{
|
164 |
+
foreach($jsonData['records'] as $recordData)
|
165 |
+
{
|
166 |
+
$records[] = FF::getInstance(
|
167 |
+
'Data\Record',
|
168 |
+
(string)$recordData['id'],
|
169 |
+
$recordData['record'],
|
170 |
+
100.0,
|
171 |
+
$position++
|
172 |
+
);
|
173 |
+
}
|
174 |
}
|
175 |
}
|
176 |
|
lib/FACTFinder/Adapter/ProductCampaign.php
CHANGED
@@ -60,18 +60,6 @@ class ProductCampaign extends AbstractAdapter
|
|
60 |
$this->campaignsUpToDate = false;
|
61 |
}
|
62 |
|
63 |
-
/**
|
64 |
-
* For product campaigns, FACT-Finder needs the product numbers - not the IDs.
|
65 |
-
*
|
66 |
-
* @deprecated use setProductNumbers instead
|
67 |
-
* @param string|string[] $productIDs
|
68 |
-
*/
|
69 |
-
public function setProductIDs($productIDs)
|
70 |
-
{
|
71 |
-
// preserve the previous logic
|
72 |
-
$this->setProductNumbers($productIDs);
|
73 |
-
}
|
74 |
-
|
75 |
/**
|
76 |
* Add one or multiple product numbser to get campaigns for, in addition to any
|
77 |
* numbers previously set.
|
@@ -84,17 +72,6 @@ class ProductCampaign extends AbstractAdapter
|
|
84 |
$parameters->add('productNumber', $productNumbers);
|
85 |
$this->campaignsUpToDate = false;
|
86 |
}
|
87 |
-
|
88 |
-
/**
|
89 |
-
* For product campaigns, FACT-Finder needs the product numbers - not the IDs.
|
90 |
-
*
|
91 |
-
* @deprecated use addProductNumbers instead
|
92 |
-
* @param string|string[] $productIDs
|
93 |
-
*/
|
94 |
-
public function addProductIDs($productIDs)
|
95 |
-
{
|
96 |
-
$this->addProductNumbers($productIDs);
|
97 |
-
}
|
98 |
|
99 |
/**
|
100 |
* Set this to true to only retrieve the IDs of pushed products instead
|
@@ -170,23 +147,27 @@ class ProductCampaign extends AbstractAdapter
|
|
170 |
{
|
171 |
// Use only the first product ID
|
172 |
$productIDs = $this->parameters['productNumber'];
|
173 |
-
if (is_array($productIDs))
|
|
|
174 |
$this->parameters['productNumber'] = $productIDs[0];
|
175 |
-
|
176 |
$jsonData = $this->getResponseContent();
|
177 |
|
178 |
// Restore IDs
|
179 |
$this->parameters['productNumber'] = $productIDs;
|
180 |
}
|
181 |
|
182 |
-
|
183 |
-
|
|
|
|
|
184 |
|
185 |
-
|
186 |
-
|
187 |
|
188 |
-
|
189 |
-
|
|
|
190 |
}
|
191 |
|
192 |
$campaignIterator = FF::getInstance(
|
60 |
$this->campaignsUpToDate = false;
|
61 |
}
|
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
/**
|
64 |
* Add one or multiple product numbser to get campaigns for, in addition to any
|
65 |
* numbers previously set.
|
72 |
$parameters->add('productNumber', $productNumbers);
|
73 |
$this->campaignsUpToDate = false;
|
74 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
|
76 |
/**
|
77 |
* Set this to true to only retrieve the IDs of pushed products instead
|
147 |
{
|
148 |
// Use only the first product ID
|
149 |
$productIDs = $this->parameters['productNumber'];
|
150 |
+
if (is_array($productIDs) && !empty($productIDs))
|
151 |
+
{
|
152 |
$this->parameters['productNumber'] = $productIDs[0];
|
153 |
+
}
|
154 |
$jsonData = $this->getResponseContent();
|
155 |
|
156 |
// Restore IDs
|
157 |
$this->parameters['productNumber'] = $productIDs;
|
158 |
}
|
159 |
|
160 |
+
if(parent::isValidResponse($jsonData))
|
161 |
+
{
|
162 |
+
foreach ($jsonData as $campaignData) {
|
163 |
+
$campaign = $this->createEmptyCampaignObject($campaignData);
|
164 |
|
165 |
+
$this->fillCampaignWithFeedback($campaign, $campaignData);
|
166 |
+
$this->fillCampaignWithPushedProducts($campaign, $campaignData);
|
167 |
|
168 |
+
$campaigns[] = $campaign;
|
169 |
+
}
|
170 |
+
}
|
171 |
}
|
172 |
|
173 |
$campaignIterator = FF::getInstance(
|
lib/FACTFinder/Adapter/Recommendation.php
CHANGED
@@ -113,6 +113,17 @@ class Recommendation extends AbstractAdapter
|
|
113 |
$parameters['idsOnly'] = $idsOnly ? 'true' : 'false';
|
114 |
}
|
115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
/**
|
117 |
* Returns recommendations for IDs previously specified. If no IDs have been
|
118 |
* set, there will be a warning raised and an empty result will be returned.
|
@@ -145,17 +156,20 @@ class Recommendation extends AbstractAdapter
|
|
145 |
else
|
146 |
{
|
147 |
$recommenderData = $this->getResponseContent();
|
148 |
-
if (
|
149 |
-
{
|
150 |
-
$recommenderData = $recommenderData['resultRecords'];
|
151 |
-
}
|
152 |
-
$position = 1;
|
153 |
-
foreach($recommenderData as $recordData)
|
154 |
{
|
155 |
-
if ($
|
156 |
-
|
157 |
-
|
158 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
}
|
160 |
}
|
161 |
|
@@ -185,7 +199,7 @@ class Recommendation extends AbstractAdapter
|
|
185 |
$position
|
186 |
);
|
187 |
}
|
188 |
-
|
189 |
/**
|
190 |
* Get the recommendations from FACT-Finder as the string returned by the
|
191 |
* server.
|
113 |
$parameters['idsOnly'] = $idsOnly ? 'true' : 'false';
|
114 |
}
|
115 |
|
116 |
+
/**
|
117 |
+
* Set value for parameter sid for personalization.
|
118 |
+
*
|
119 |
+
* @param string $sid session id
|
120 |
+
*/
|
121 |
+
public function setSid($sid)
|
122 |
+
{
|
123 |
+
$this->parameters['sid'] = $sid;
|
124 |
+
$this->recommendationsUpToDate = false;
|
125 |
+
}
|
126 |
+
|
127 |
/**
|
128 |
* Returns recommendations for IDs previously specified. If no IDs have been
|
129 |
* set, there will be a warning raised and an empty result will be returned.
|
156 |
else
|
157 |
{
|
158 |
$recommenderData = $this->getResponseContent();
|
159 |
+
if (parent::isValidResponse($recommenderData))
|
|
|
|
|
|
|
|
|
|
|
160 |
{
|
161 |
+
if (isset($recommenderData['resultRecords']))
|
162 |
+
{
|
163 |
+
$recommenderData = $recommenderData['resultRecords'];
|
164 |
+
}
|
165 |
+
$position = 1;
|
166 |
+
foreach($recommenderData as $recordData)
|
167 |
+
{
|
168 |
+
if ($this->idsOnly)
|
169 |
+
$records[] = $this->createSparseRecord($recordData);
|
170 |
+
else
|
171 |
+
$records[] = $this->createRecord($recordData, $position++);
|
172 |
+
}
|
173 |
}
|
174 |
}
|
175 |
|
199 |
$position
|
200 |
);
|
201 |
}
|
202 |
+
|
203 |
/**
|
204 |
* Get the recommendations from FACT-Finder as the string returned by the
|
205 |
* server.
|
lib/FACTFinder/Adapter/Search.php
CHANGED
@@ -41,6 +41,11 @@ class Search extends AbstractAdapter
|
|
41 |
*/
|
42 |
private $sorting;
|
43 |
|
|
|
|
|
|
|
|
|
|
|
44 |
/**
|
45 |
* @var FACTFinder\Data\BreadCrumbTrail
|
46 |
*/
|
@@ -89,12 +94,14 @@ class Search extends AbstractAdapter
|
|
89 |
}
|
90 |
|
91 |
/**
|
92 |
-
* Set
|
93 |
-
*
|
|
|
94 |
*/
|
95 |
-
public function setSid($
|
96 |
{
|
97 |
-
$this->parameters['sid'] = $
|
|
|
98 |
}
|
99 |
|
100 |
/**
|
@@ -135,13 +142,11 @@ class Search extends AbstractAdapter
|
|
135 |
//init default values
|
136 |
$records = array();
|
137 |
$resultCount = 0;
|
138 |
-
$refKey = null;
|
139 |
|
140 |
$jsonData = $this->getResponseContent();
|
141 |
|
142 |
-
if (
|
143 |
$searchResultData = $jsonData['searchResult'];
|
144 |
-
$refKey = $searchResultData['refKey'];
|
145 |
|
146 |
if (!empty($searchResultData['records']))
|
147 |
{
|
@@ -168,7 +173,6 @@ class Search extends AbstractAdapter
|
|
168 |
return FF::getInstance(
|
169 |
'Data\Result',
|
170 |
$records,
|
171 |
-
$refKey,
|
172 |
$resultCount
|
173 |
);
|
174 |
}
|
@@ -192,9 +196,9 @@ class Search extends AbstractAdapter
|
|
192 |
$singleWordSearch = array();
|
193 |
|
194 |
$jsonData = $this->getResponseContent();
|
195 |
-
if (!empty($jsonData['searchResult']['singleWordResults']))
|
196 |
{
|
197 |
-
foreach ($jsonData['
|
198 |
{
|
199 |
$item = FF::getInstance(
|
200 |
'Data\SingleWordSearchItem',
|
@@ -202,18 +206,18 @@ class Search extends AbstractAdapter
|
|
202 |
$this->convertServerQueryToClientUrl(
|
203 |
$swsData['searchParams']
|
204 |
),
|
205 |
-
$swsData['
|
206 |
);
|
207 |
|
208 |
foreach ($swsData['previewRecords'] as $recordData)
|
209 |
{
|
210 |
-
$item->addPreviewRecord(FF::getInstance(
|
211 |
-
'Data\Record',
|
212 |
(string)$recordData['id'],
|
213 |
-
$recordData['record']
|
214 |
-
|
215 |
-
|
216 |
-
|
|
|
217 |
));
|
218 |
}
|
219 |
|
@@ -233,7 +237,7 @@ class Search extends AbstractAdapter
|
|
233 |
$status = $searchStatusEnum::NoResult();
|
234 |
|
235 |
$jsonData = $this->getResponseContent();
|
236 |
-
if (
|
237 |
{
|
238 |
switch($jsonData['searchResult']['resultStatus'])
|
239 |
{
|
@@ -257,7 +261,7 @@ class Search extends AbstractAdapter
|
|
257 |
$status = $articleNumberSearchStatusEnum::IsNoArticleNumberSearch();
|
258 |
|
259 |
$jsonData = $this->getResponseContent();
|
260 |
-
if (
|
261 |
{
|
262 |
switch ($jsonData['searchResult']['resultArticleNumberStatus'])
|
263 |
{
|
@@ -278,7 +282,7 @@ class Search extends AbstractAdapter
|
|
278 |
public function isSearchTimedOut()
|
279 |
{
|
280 |
$jsonData = $this->getResponseContent();
|
281 |
-
if (
|
282 |
{
|
283 |
return $jsonData['searchResult']['timedOut'];
|
284 |
}
|
@@ -305,7 +309,7 @@ class Search extends AbstractAdapter
|
|
305 |
|
306 |
$filterGroups = array();
|
307 |
|
308 |
-
if (isset($jsonData['searchResult']['groups'])) {
|
309 |
foreach ($jsonData['searchResult']['groups'] as $groupData)
|
310 |
$filterGroups[] = $this->createFilterGroup($groupData);
|
311 |
}
|
@@ -503,7 +507,7 @@ class Search extends AbstractAdapter
|
|
503 |
|
504 |
$jsonData = $this->getResponseContent();
|
505 |
|
506 |
-
if (
|
507 |
{
|
508 |
$rppData = $jsonData['searchResult']['resultsPerPageList'];
|
509 |
if (!empty($rppData))
|
@@ -559,7 +563,7 @@ class Search extends AbstractAdapter
|
|
559 |
|
560 |
$jsonData = $this->getResponseContent();
|
561 |
|
562 |
-
if (
|
563 |
{
|
564 |
$pagingData = $jsonData['searchResult']['paging'];
|
565 |
if (!empty($pagingData))
|
@@ -644,7 +648,7 @@ class Search extends AbstractAdapter
|
|
644 |
|
645 |
$jsonData = $this->getResponseContent();
|
646 |
|
647 |
-
if (
|
648 |
{
|
649 |
$sortingData = $jsonData['searchResult']['sortsList'];
|
650 |
if (!empty($sortingData))
|
@@ -672,6 +676,70 @@ class Search extends AbstractAdapter
|
|
672 |
return null;
|
673 |
}
|
674 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
675 |
/**
|
676 |
* @return \FACTFinder\Data\BreadCrumbTrail
|
677 |
*/
|
@@ -692,7 +760,7 @@ class Search extends AbstractAdapter
|
|
692 |
|
693 |
$jsonData = $this->getResponseContent();
|
694 |
|
695 |
-
if (
|
696 |
{
|
697 |
$breadCrumbTrailData = $jsonData['searchResult']['breadCrumbTrailItems'];
|
698 |
if (!empty($breadCrumbTrailData))
|
@@ -705,11 +773,19 @@ class Search extends AbstractAdapter
|
|
705 |
);
|
706 |
|
707 |
$breadCrumbTypeEnum = FF::getClassName('Data\BreadCrumbType');
|
708 |
-
|
|
|
|
|
709 |
$type = $breadCrumbTypeEnum::Filter();
|
710 |
-
|
|
|
|
|
|
|
|
|
711 |
$type = $breadCrumbTypeEnum::Search();
|
712 |
-
|
|
|
|
|
713 |
$breadCrumbs[] = FF::getInstance(
|
714 |
'Data\BreadCrumb',
|
715 |
$breadCrumbData['text'],
|
@@ -749,7 +825,7 @@ class Search extends AbstractAdapter
|
|
749 |
$campaigns = array();
|
750 |
$jsonData = $this->getResponseContent();
|
751 |
|
752 |
-
if (isset($jsonData['searchResult']['campaigns'])) {
|
753 |
foreach ($jsonData['searchResult']['campaigns'] as $campaignData) {
|
754 |
$campaign = $this->createEmptyCampaignObject($campaignData);
|
755 |
|
@@ -940,24 +1016,6 @@ class Search extends AbstractAdapter
|
|
940 |
$followUpQuestions
|
941 |
);
|
942 |
}
|
943 |
-
|
944 |
-
/**
|
945 |
-
* @return string
|
946 |
-
*/
|
947 |
-
public function getError()
|
948 |
-
{
|
949 |
-
$jsonData = $this->getResponseContent();
|
950 |
-
return isset($jsonData['error']) ? $jsonData['error'] : null;
|
951 |
-
}
|
952 |
-
|
953 |
-
/**
|
954 |
-
* @return string
|
955 |
-
*/
|
956 |
-
public function getStackTrace()
|
957 |
-
{
|
958 |
-
$jsonData = $this->getResponseContent();
|
959 |
-
return isset($jsonData['stacktrace']) ? $jsonData['stacktrace'] : null;
|
960 |
-
}
|
961 |
|
962 |
/**
|
963 |
* Value for parameter "followSearch" for followups on initial search like filters, pagination, ...
|
@@ -970,7 +1028,7 @@ class Search extends AbstractAdapter
|
|
970 |
{
|
971 |
$jsonData = $this->getResponseContent();
|
972 |
//use searchParams of result if available
|
973 |
-
if($
|
974 |
$parameters = FF::getInstance(
|
975 |
'Util\Parameters',
|
976 |
$jsonData['searchResult']['searchParams']
|
@@ -998,4 +1056,14 @@ class Search extends AbstractAdapter
|
|
998 |
}
|
999 |
return $followSearch;
|
1000 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1001 |
}
|
41 |
*/
|
42 |
private $sorting;
|
43 |
|
44 |
+
/**
|
45 |
+
* @var FACTFinder\Data\SortingItems
|
46 |
+
*/
|
47 |
+
private $sortingItems;
|
48 |
+
|
49 |
/**
|
50 |
* @var FACTFinder\Data\BreadCrumbTrail
|
51 |
*/
|
94 |
}
|
95 |
|
96 |
/**
|
97 |
+
* Set value for parameter sid for personalization.
|
98 |
+
*
|
99 |
+
* @param string $sid session id
|
100 |
*/
|
101 |
+
public function setSid($sid)
|
102 |
{
|
103 |
+
$this->parameters['sid'] = $sid;
|
104 |
+
$this->recordsUpToDate = false;
|
105 |
}
|
106 |
|
107 |
/**
|
142 |
//init default values
|
143 |
$records = array();
|
144 |
$resultCount = 0;
|
|
|
145 |
|
146 |
$jsonData = $this->getResponseContent();
|
147 |
|
148 |
+
if ($this->isValidResponse($jsonData)) {
|
149 |
$searchResultData = $jsonData['searchResult'];
|
|
|
150 |
|
151 |
if (!empty($searchResultData['records']))
|
152 |
{
|
173 |
return FF::getInstance(
|
174 |
'Data\Result',
|
175 |
$records,
|
|
|
176 |
$resultCount
|
177 |
);
|
178 |
}
|
196 |
$singleWordSearch = array();
|
197 |
|
198 |
$jsonData = $this->getResponseContent();
|
199 |
+
if ($this->isValidResponse($jsonData) && !empty($jsonData['searchResult']['singleWordResults']))
|
200 |
{
|
201 |
+
foreach ($jsonData['searchResult']['singleWordResults'] as $swsData)
|
202 |
{
|
203 |
$item = FF::getInstance(
|
204 |
'Data\SingleWordSearchItem',
|
206 |
$this->convertServerQueryToClientUrl(
|
207 |
$swsData['searchParams']
|
208 |
),
|
209 |
+
$swsData['recordCount']
|
210 |
);
|
211 |
|
212 |
foreach ($swsData['previewRecords'] as $recordData)
|
213 |
{
|
214 |
+
$item->addPreviewRecord(FF::getInstance('Data\Record',
|
|
|
215 |
(string)$recordData['id'],
|
216 |
+
$recordData['record'],
|
217 |
+
$recordData['searchSimilarity'],
|
218 |
+
$recordData['position'],
|
219 |
+
'',
|
220 |
+
$recordData['keywords']
|
221 |
));
|
222 |
}
|
223 |
|
237 |
$status = $searchStatusEnum::NoResult();
|
238 |
|
239 |
$jsonData = $this->getResponseContent();
|
240 |
+
if ($this->isValidResponse($jsonData))
|
241 |
{
|
242 |
switch($jsonData['searchResult']['resultStatus'])
|
243 |
{
|
261 |
$status = $articleNumberSearchStatusEnum::IsNoArticleNumberSearch();
|
262 |
|
263 |
$jsonData = $this->getResponseContent();
|
264 |
+
if ($this->isValidResponse($jsonData))
|
265 |
{
|
266 |
switch ($jsonData['searchResult']['resultArticleNumberStatus'])
|
267 |
{
|
282 |
public function isSearchTimedOut()
|
283 |
{
|
284 |
$jsonData = $this->getResponseContent();
|
285 |
+
if ($this->isValidResponse($jsonData))
|
286 |
{
|
287 |
return $jsonData['searchResult']['timedOut'];
|
288 |
}
|
309 |
|
310 |
$filterGroups = array();
|
311 |
|
312 |
+
if ($this->isValidResponse($jsonData) && isset($jsonData['searchResult']['groups'])) {
|
313 |
foreach ($jsonData['searchResult']['groups'] as $groupData)
|
314 |
$filterGroups[] = $this->createFilterGroup($groupData);
|
315 |
}
|
507 |
|
508 |
$jsonData = $this->getResponseContent();
|
509 |
|
510 |
+
if ($this->isValidResponse($jsonData))
|
511 |
{
|
512 |
$rppData = $jsonData['searchResult']['resultsPerPageList'];
|
513 |
if (!empty($rppData))
|
563 |
|
564 |
$jsonData = $this->getResponseContent();
|
565 |
|
566 |
+
if ($this->isValidResponse($jsonData))
|
567 |
{
|
568 |
$pagingData = $jsonData['searchResult']['paging'];
|
569 |
if (!empty($pagingData))
|
648 |
|
649 |
$jsonData = $this->getResponseContent();
|
650 |
|
651 |
+
if ($this->isValidResponse($jsonData))
|
652 |
{
|
653 |
$sortingData = $jsonData['searchResult']['sortsList'];
|
654 |
if (!empty($sortingData))
|
676 |
return null;
|
677 |
}
|
678 |
|
679 |
+
/**
|
680 |
+
* @return \FACTFinder\Data\SortingItems
|
681 |
+
*/
|
682 |
+
public function getSortingItems()
|
683 |
+
{
|
684 |
+
if (is_null($this->sortingItems))
|
685 |
+
$this->sortingItems = $this->createSortingItems();
|
686 |
+
|
687 |
+
return $this->sortingItems;
|
688 |
+
}
|
689 |
+
|
690 |
+
/**
|
691 |
+
* @return \FACTFinder\Data\SortingItems
|
692 |
+
*/
|
693 |
+
private function createSortingItems()
|
694 |
+
{
|
695 |
+
$sortOptions = array();
|
696 |
+
|
697 |
+
$jsonData = $this->getResponseContent();
|
698 |
+
|
699 |
+
if ($this->isValidResponse($jsonData))
|
700 |
+
{
|
701 |
+
$sortingData = $jsonData['searchResult']['sortsList'];
|
702 |
+
if (!empty($sortingData))
|
703 |
+
{
|
704 |
+
$orderEnum = FF::getClassName('Data\SortingDirection');
|
705 |
+
foreach ($sortingData as $optionData)
|
706 |
+
{
|
707 |
+
$optionLink = $this->convertServerQueryToClientUrl(
|
708 |
+
$optionData['searchParams']
|
709 |
+
);
|
710 |
+
if (isset($optionData['order']))
|
711 |
+
{
|
712 |
+
switch ($optionData['order'])
|
713 |
+
{
|
714 |
+
case 'asc':
|
715 |
+
$order = $orderEnum::Ascending();
|
716 |
+
break;
|
717 |
+
case 'desc':
|
718 |
+
default:
|
719 |
+
$order = $orderEnum::Descending();
|
720 |
+
break;
|
721 |
+
}
|
722 |
+
}
|
723 |
+
|
724 |
+
$sortOptions[] = FF::getInstance(
|
725 |
+
'Data\SortingItem',
|
726 |
+
$optionData['name'],
|
727 |
+
$order,
|
728 |
+
$optionData['description'],
|
729 |
+
$optionLink,
|
730 |
+
$optionData['selected']
|
731 |
+
);
|
732 |
+
}
|
733 |
+
}
|
734 |
+
|
735 |
+
return FF::getInstance(
|
736 |
+
'Data\SortingItems',
|
737 |
+
$sortOptions
|
738 |
+
);
|
739 |
+
}
|
740 |
+
return null;
|
741 |
+
}
|
742 |
+
|
743 |
/**
|
744 |
* @return \FACTFinder\Data\BreadCrumbTrail
|
745 |
*/
|
760 |
|
761 |
$jsonData = $this->getResponseContent();
|
762 |
|
763 |
+
if ($this->isValidResponse($jsonData))
|
764 |
{
|
765 |
$breadCrumbTrailData = $jsonData['searchResult']['breadCrumbTrailItems'];
|
766 |
if (!empty($breadCrumbTrailData))
|
773 |
);
|
774 |
|
775 |
$breadCrumbTypeEnum = FF::getClassName('Data\BreadCrumbType');
|
776 |
+
switch ($breadCrumbData['type'])
|
777 |
+
{
|
778 |
+
case 'filter':
|
779 |
$type = $breadCrumbTypeEnum::Filter();
|
780 |
+
break;
|
781 |
+
case 'advisor':
|
782 |
+
$type = $breadCrumbTypeEnum::Advisor();
|
783 |
+
break;
|
784 |
+
default:
|
785 |
$type = $breadCrumbTypeEnum::Search();
|
786 |
+
break;
|
787 |
+
}
|
788 |
+
|
789 |
$breadCrumbs[] = FF::getInstance(
|
790 |
'Data\BreadCrumb',
|
791 |
$breadCrumbData['text'],
|
825 |
$campaigns = array();
|
826 |
$jsonData = $this->getResponseContent();
|
827 |
|
828 |
+
if ($this->isValidResponse($jsonData) && isset($jsonData['searchResult']['campaigns'])) {
|
829 |
foreach ($jsonData['searchResult']['campaigns'] as $campaignData) {
|
830 |
$campaign = $this->createEmptyCampaignObject($campaignData);
|
831 |
|
1016 |
$followUpQuestions
|
1017 |
);
|
1018 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1019 |
|
1020 |
/**
|
1021 |
* Value for parameter "followSearch" for followups on initial search like filters, pagination, ...
|
1028 |
{
|
1029 |
$jsonData = $this->getResponseContent();
|
1030 |
//use searchParams of result if available
|
1031 |
+
if ($this->isValidResponse($jsonData) && isset($jsonData['searchResult']['searchParams'])) {
|
1032 |
$parameters = FF::getInstance(
|
1033 |
'Util\Parameters',
|
1034 |
$jsonData['searchResult']['searchParams']
|
1056 |
}
|
1057 |
return $followSearch;
|
1058 |
}
|
1059 |
+
|
1060 |
+
/**
|
1061 |
+
* Returns true if the search response is valid or false if an error occurred.
|
1062 |
+
*
|
1063 |
+
* @return bool
|
1064 |
+
*/
|
1065 |
+
protected function isValidResponse($jsonData)
|
1066 |
+
{
|
1067 |
+
return (!empty($jsonData) && !isset($jsonData['error']) && isset($jsonData['searchResult']));
|
1068 |
+
}
|
1069 |
}
|
lib/FACTFinder/Adapter/SimilarRecords.php
CHANGED
@@ -139,9 +139,12 @@ class SimilarRecords extends AbstractAdapter
|
|
139 |
else
|
140 |
{
|
141 |
$jsonData = $this->getResponseContent();
|
142 |
-
|
143 |
{
|
144 |
-
$
|
|
|
|
|
|
|
145 |
}
|
146 |
}
|
147 |
|
@@ -182,12 +185,15 @@ class SimilarRecords extends AbstractAdapter
|
|
182 |
{
|
183 |
$position = 1;
|
184 |
$jsonData = $this->getResponseContent();
|
185 |
-
|
186 |
{
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
|
|
|
|
|
|
191 |
}
|
192 |
}
|
193 |
|
139 |
else
|
140 |
{
|
141 |
$jsonData = $this->getResponseContent();
|
142 |
+
if(parent::isValidResponse($jsonData))
|
143 |
{
|
144 |
+
foreach($jsonData['attributes'] as $attributeData)
|
145 |
+
{
|
146 |
+
$attributes[$attributeData['name']] = $attributeData['value'];
|
147 |
+
}
|
148 |
}
|
149 |
}
|
150 |
|
185 |
{
|
186 |
$position = 1;
|
187 |
$jsonData = $this->getResponseContent();
|
188 |
+
if(parent::isValidResponse($jsonData))
|
189 |
{
|
190 |
+
foreach($jsonData['records'] as $recordData)
|
191 |
+
{
|
192 |
+
if ($this->idsOnly)
|
193 |
+
$records[] = $this->createSparseRecord($recordData);
|
194 |
+
else
|
195 |
+
$records[] = $this->createRecord($recordData, $position++);
|
196 |
+
}
|
197 |
}
|
198 |
}
|
199 |
|
lib/FACTFinder/Adapter/Suggest.php
CHANGED
@@ -61,7 +61,7 @@ class Suggest extends AbstractAdapter
|
|
61 |
|
62 |
$this->parameters['format'] = 'json';
|
63 |
$suggestData = $this->getResponseContent();
|
64 |
-
if (
|
65 |
{
|
66 |
if (isset($suggestData['suggestions']))
|
67 |
{
|
61 |
|
62 |
$this->parameters['format'] = 'json';
|
63 |
$suggestData = $this->getResponseContent();
|
64 |
+
if (parent::isValidResponse($suggestData))
|
65 |
{
|
66 |
if (isset($suggestData['suggestions']))
|
67 |
{
|
lib/FACTFinder/Adapter/TagCloud.php
CHANGED
@@ -88,7 +88,7 @@ class TagCloud extends AbstractAdapter
|
|
88 |
$tagCloud = array();
|
89 |
|
90 |
$tagCloudData = $this->getResponseContent();
|
91 |
-
if (
|
92 |
{
|
93 |
foreach ($tagCloudData as $tagQueryData)
|
94 |
{
|
88 |
$tagCloud = array();
|
89 |
|
90 |
$tagCloudData = $this->getResponseContent();
|
91 |
+
if (parent::isValidResponse($tagCloudData))
|
92 |
{
|
93 |
foreach ($tagCloudData as $tagQueryData)
|
94 |
{
|
lib/FACTFinder/Adapter/Tracking.php
CHANGED
@@ -41,11 +41,12 @@ class Tracking extends AbstractAdapter
|
|
41 |
* not available, it will try to use session_id() to fetch one.
|
42 |
*
|
43 |
* @param string $sid session id
|
|
|
44 |
* @return bool Success?
|
45 |
*/
|
46 |
-
public function doTrackingFromRequest($sid = null)
|
47 |
{
|
48 |
-
$this->setupTrackingFromRequest($sid);
|
49 |
return $this->applyTracking();
|
50 |
}
|
51 |
|
@@ -53,8 +54,11 @@ class Tracking extends AbstractAdapter
|
|
53 |
* Use this method directly if you want to separate the setup from sending
|
54 |
* the request. This is particularly useful when using the
|
55 |
* MultiCurlRequestFactory.
|
|
|
|
|
|
|
56 |
*/
|
57 |
-
public function setupTrackingFromRequest($sid = null)
|
58 |
{
|
59 |
if (strlen($sid) > 0)
|
60 |
$this->parameters['sid'] = $sid;
|
@@ -63,16 +67,19 @@ class Tracking extends AbstractAdapter
|
|
63 |
) {
|
64 |
$this->parameters['sid'] = session_id();
|
65 |
}
|
|
|
|
|
|
|
66 |
}
|
67 |
|
68 |
/**
|
69 |
* Track a detail click on a product.
|
70 |
*
|
71 |
-
* @param string $id id of product
|
72 |
* @param string $sid session id (if empty, then try to set using the function session_id() )
|
73 |
* @param string $query query which led to the product
|
74 |
* @param int $pos position of product in the search result
|
75 |
-
* @param string $
|
76 |
* @param string $cookieId cookie id (optional)
|
77 |
* @param int $origPos original position of product in the search result. this data is delivered by FACT-Finder (optional - is set equals to $position by default)
|
78 |
* @param int $page page number where the product was clicked (optional - is 1 by default)
|
@@ -80,7 +87,7 @@ class Tracking extends AbstractAdapter
|
|
80 |
* @param string $title title of product (optional - is empty by default)
|
81 |
* @param int $pageSize size of the page where the product was found (optional - is 12 by default)
|
82 |
* @param int $origPageSize original size of the page before the user could have changed it (optional - is set equals to $page by default)
|
83 |
-
* @param string $
|
84 |
* @return boolean $success
|
85 |
*/
|
86 |
public function trackClick(
|
@@ -96,10 +103,10 @@ class Tracking extends AbstractAdapter
|
|
96 |
$title = '',
|
97 |
$pageSize = 12,
|
98 |
$origPageSize = -1,
|
99 |
-
$
|
100 |
) {
|
101 |
$this->setupClickTracking($id, $query, $pos, $masterId, $sid, $cookieId, $origPos, $page,
|
102 |
-
$simi, $title, $pageSize, $origPageSize, $
|
103 |
return $this->applyTracking();
|
104 |
}
|
105 |
|
@@ -121,7 +128,7 @@ class Tracking extends AbstractAdapter
|
|
121 |
$title = '',
|
122 |
$pageSize = 12,
|
123 |
$origPageSize = -1,
|
124 |
-
$
|
125 |
) {
|
126 |
if (strlen($sid) == 0) $sid = session_id();
|
127 |
if ($origPos == -1) $origPos = $pos;
|
@@ -140,7 +147,7 @@ class Tracking extends AbstractAdapter
|
|
140 |
'origPageSize' => $origPageSize,
|
141 |
);
|
142 |
|
143 |
-
if (strlen($
|
144 |
if (strlen($cookieId) > 0) $params['cookieId'] = $cookieId;
|
145 |
if (strlen($masterId) > 0) $params['masterId'] = $masterId;
|
146 |
|
@@ -151,15 +158,15 @@ class Tracking extends AbstractAdapter
|
|
151 |
/**
|
152 |
* Track a product which was added to the cart.
|
153 |
*
|
154 |
-
* @param string $id id of product
|
155 |
-
* @param string $
|
156 |
* @param string $tile title of product (optional - is empty by default)
|
157 |
* @param string $query query which led to the product (only if module Semantic Enhancer is used)
|
158 |
* @param string $sid session id (if empty, then try to set using the function session_id() )
|
159 |
* @param string $cookieId cookie id (optional)
|
160 |
* @param int $count number of items purchased for each product (optional - default 1)
|
161 |
* @param float $price this is the single unit price (optional)
|
162 |
-
* @param string $
|
163 |
* @return boolean $success
|
164 |
*/
|
165 |
public function trackCart(
|
@@ -171,9 +178,9 @@ class Tracking extends AbstractAdapter
|
|
171 |
$cookieId = null,
|
172 |
$count = 1,
|
173 |
$price = null,
|
174 |
-
$
|
175 |
) {
|
176 |
-
$this->setupCartTracking($id, $masterId, $title, $query, $sid, $cookieId, $count, $price, $
|
177 |
return $this->applyTracking();
|
178 |
}
|
179 |
|
@@ -191,7 +198,7 @@ class Tracking extends AbstractAdapter
|
|
191 |
$cookieId = null,
|
192 |
$count = 1,
|
193 |
$price = null,
|
194 |
-
$
|
195 |
) {
|
196 |
if (strlen($sid) == 0) $sid = session_id();
|
197 |
$params = array(
|
@@ -203,7 +210,7 @@ class Tracking extends AbstractAdapter
|
|
203 |
);
|
204 |
|
205 |
if (strlen($price) > 0) $params['price'] = $price;
|
206 |
-
if (strlen($
|
207 |
if (strlen($cookieId) > 0) $params['cookieId'] = $cookieId;
|
208 |
if (strlen($masterId) > 0) $params['masterId'] = $masterId;
|
209 |
if (strlen($query) > 0) $params['query'] = $query;
|
@@ -215,15 +222,15 @@ class Tracking extends AbstractAdapter
|
|
215 |
/**
|
216 |
* Track a product which was purchased.
|
217 |
*
|
218 |
-
* @param string $id id of product
|
219 |
-
* @param string $
|
220 |
* @param string $tile title of product (optional - is empty by default)
|
221 |
* @param string $query query which led to the product (only if module Semantic Enhancer is used)
|
222 |
* @param string $sid session id (if empty, then try to set using the function session_id() )
|
223 |
* @param string $cookieId cookie id (optional)
|
224 |
* @param int $count number of items purchased for each product (optional - default 1)
|
225 |
* @param float $price this is the single unit price (optional)
|
226 |
-
* @param string $
|
227 |
* @return boolean $success
|
228 |
*/
|
229 |
public function trackCheckout(
|
@@ -235,9 +242,9 @@ class Tracking extends AbstractAdapter
|
|
235 |
$cookieId = null,
|
236 |
$count = 1,
|
237 |
$price = null,
|
238 |
-
$
|
239 |
) {
|
240 |
-
$this->setupCheckoutTracking($id, $masterId, $title, $query, $sid, $cookieId, $count, $price, $
|
241 |
return $this->applyTracking();
|
242 |
}
|
243 |
|
@@ -255,7 +262,7 @@ class Tracking extends AbstractAdapter
|
|
255 |
$cookieId = null,
|
256 |
$count = 1,
|
257 |
$price = null,
|
258 |
-
$
|
259 |
) {
|
260 |
if (strlen($sid) == 0) $sid = session_id();
|
261 |
$params = array(
|
@@ -268,7 +275,7 @@ class Tracking extends AbstractAdapter
|
|
268 |
);
|
269 |
|
270 |
if (strlen($price) > 0) $params['price'] = $price;
|
271 |
-
if (strlen($
|
272 |
if (strlen($cookieId) > 0) $params['cookieId'] = $cookieId;
|
273 |
if (strlen($query) > 0) $params['query'] = $query;
|
274 |
if (strlen($masterId) > 0) $params['masterId'] = $masterId;
|
@@ -280,12 +287,12 @@ class Tracking extends AbstractAdapter
|
|
280 |
/**
|
281 |
* Track a click on a recommended product.
|
282 |
*
|
283 |
-
* @param string $id id of product
|
284 |
* @param int $mainId ID of the product for which the clicked-upon item was recommended
|
285 |
-
* @param string $
|
286 |
* @param string $sid session id (if empty, then try to set using the function session_id() )
|
287 |
* @param string $cookieId cookie id (optional)
|
288 |
-
* @param string $
|
289 |
* @return boolean $success
|
290 |
*/
|
291 |
public function trackRecommendationClick(
|
@@ -294,9 +301,9 @@ class Tracking extends AbstractAdapter
|
|
294 |
$masterId = null,
|
295 |
$sid = null,
|
296 |
$cookieId = null,
|
297 |
-
$
|
298 |
) {
|
299 |
-
$this->setupRecommendationClickTracking($id, $mainId, $masterId, $sid, $cookieId, $
|
300 |
return $this->applyTracking();
|
301 |
}
|
302 |
|
@@ -311,7 +318,7 @@ class Tracking extends AbstractAdapter
|
|
311 |
$masterId = null,
|
312 |
$sid = null,
|
313 |
$cookieId = null,
|
314 |
-
$
|
315 |
) {
|
316 |
if (strlen($sid) == 0) $sid = session_id();
|
317 |
$params = array(
|
@@ -323,7 +330,7 @@ class Tracking extends AbstractAdapter
|
|
323 |
'event' => 'recommendationClick'
|
324 |
);
|
325 |
|
326 |
-
if (strlen($
|
327 |
if (strlen($cookieId) > 0) $params['cookieId'] = $cookieId;
|
328 |
if (strlen($masterId) > 0) $params['masterId'] = $masterId;
|
329 |
|
@@ -336,15 +343,15 @@ class Tracking extends AbstractAdapter
|
|
336 |
*
|
337 |
* @param string $sid session id (if empty, then try to set using the function session_id() )
|
338 |
* @param string $cookieId cookie id (optional)
|
339 |
-
* @param string $
|
340 |
* @return boolean $success
|
341 |
*/
|
342 |
public function trackLogin(
|
343 |
$sid = null,
|
344 |
$cookieId = null,
|
345 |
-
$
|
346 |
) {
|
347 |
-
$this->setupLoginTracking($sid, $cookieId, $
|
348 |
return $this->applyTracking();
|
349 |
}
|
350 |
|
@@ -356,12 +363,12 @@ class Tracking extends AbstractAdapter
|
|
356 |
public function setupLoginTracking(
|
357 |
$sid = null,
|
358 |
$cookieId = null,
|
359 |
-
$
|
360 |
) {
|
361 |
if (strlen($sid) == 0) $sid = session_id();
|
362 |
$params = array(
|
363 |
'sid' => $sid,
|
364 |
-
'userId' => $
|
365 |
'event' => 'login'
|
366 |
);
|
367 |
|
41 |
* not available, it will try to use session_id() to fetch one.
|
42 |
*
|
43 |
* @param string $sid session id
|
44 |
+
* @param string $userId id of user
|
45 |
* @return bool Success?
|
46 |
*/
|
47 |
+
public function doTrackingFromRequest($sid = null, $userId = null)
|
48 |
{
|
49 |
+
$this->setupTrackingFromRequest($sid, $userId);
|
50 |
return $this->applyTracking();
|
51 |
}
|
52 |
|
54 |
* Use this method directly if you want to separate the setup from sending
|
55 |
* the request. This is particularly useful when using the
|
56 |
* MultiCurlRequestFactory.
|
57 |
+
*
|
58 |
+
* @param string $sid session id
|
59 |
+
* @param string $userId id of user
|
60 |
*/
|
61 |
+
public function setupTrackingFromRequest($sid = null, $userId = null)
|
62 |
{
|
63 |
if (strlen($sid) > 0)
|
64 |
$this->parameters['sid'] = $sid;
|
67 |
) {
|
68 |
$this->parameters['sid'] = session_id();
|
69 |
}
|
70 |
+
|
71 |
+
if (strlen($userId) > 0)
|
72 |
+
$this->parameters['userId'] = $userId;
|
73 |
}
|
74 |
|
75 |
/**
|
76 |
* Track a detail click on a product.
|
77 |
*
|
78 |
+
* @param string $id tracking id of product (see field with the role "Product number for tracking")
|
79 |
* @param string $sid session id (if empty, then try to set using the function session_id() )
|
80 |
* @param string $query query which led to the product
|
81 |
* @param int $pos position of product in the search result
|
82 |
+
* @param string $masterId master id of the product (see field with the role "Master article number")
|
83 |
* @param string $cookieId cookie id (optional)
|
84 |
* @param int $origPos original position of product in the search result. this data is delivered by FACT-Finder (optional - is set equals to $position by default)
|
85 |
* @param int $page page number where the product was clicked (optional - is 1 by default)
|
87 |
* @param string $title title of product (optional - is empty by default)
|
88 |
* @param int $pageSize size of the page where the product was found (optional - is 12 by default)
|
89 |
* @param int $origPageSize original size of the page before the user could have changed it (optional - is set equals to $page by default)
|
90 |
+
* @param string $userId id of user (optional if modul personalisation is not used)
|
91 |
* @return boolean $success
|
92 |
*/
|
93 |
public function trackClick(
|
103 |
$title = '',
|
104 |
$pageSize = 12,
|
105 |
$origPageSize = -1,
|
106 |
+
$userId = null
|
107 |
) {
|
108 |
$this->setupClickTracking($id, $query, $pos, $masterId, $sid, $cookieId, $origPos, $page,
|
109 |
+
$simi, $title, $pageSize, $origPageSize, $userId);
|
110 |
return $this->applyTracking();
|
111 |
}
|
112 |
|
128 |
$title = '',
|
129 |
$pageSize = 12,
|
130 |
$origPageSize = -1,
|
131 |
+
$userId = null
|
132 |
) {
|
133 |
if (strlen($sid) == 0) $sid = session_id();
|
134 |
if ($origPos == -1) $origPos = $pos;
|
147 |
'origPageSize' => $origPageSize,
|
148 |
);
|
149 |
|
150 |
+
if (strlen($userId) > 0) $params['userId'] = $userId;
|
151 |
if (strlen($cookieId) > 0) $params['cookieId'] = $cookieId;
|
152 |
if (strlen($masterId) > 0) $params['masterId'] = $masterId;
|
153 |
|
158 |
/**
|
159 |
* Track a product which was added to the cart.
|
160 |
*
|
161 |
+
* @param string $id tracking id of product (see field with the role "Product number for tracking")
|
162 |
+
* @param string $masterId master id of the product (see field with the role "Master article number")
|
163 |
* @param string $tile title of product (optional - is empty by default)
|
164 |
* @param string $query query which led to the product (only if module Semantic Enhancer is used)
|
165 |
* @param string $sid session id (if empty, then try to set using the function session_id() )
|
166 |
* @param string $cookieId cookie id (optional)
|
167 |
* @param int $count number of items purchased for each product (optional - default 1)
|
168 |
* @param float $price this is the single unit price (optional)
|
169 |
+
* @param string $userId id of user (optional if modul personalisation is not used)
|
170 |
* @return boolean $success
|
171 |
*/
|
172 |
public function trackCart(
|
178 |
$cookieId = null,
|
179 |
$count = 1,
|
180 |
$price = null,
|
181 |
+
$userId = null
|
182 |
) {
|
183 |
+
$this->setupCartTracking($id, $masterId, $title, $query, $sid, $cookieId, $count, $price, $userId);
|
184 |
return $this->applyTracking();
|
185 |
}
|
186 |
|
198 |
$cookieId = null,
|
199 |
$count = 1,
|
200 |
$price = null,
|
201 |
+
$userId = null
|
202 |
) {
|
203 |
if (strlen($sid) == 0) $sid = session_id();
|
204 |
$params = array(
|
210 |
);
|
211 |
|
212 |
if (strlen($price) > 0) $params['price'] = $price;
|
213 |
+
if (strlen($userId) > 0) $params['userId'] = $userId;
|
214 |
if (strlen($cookieId) > 0) $params['cookieId'] = $cookieId;
|
215 |
if (strlen($masterId) > 0) $params['masterId'] = $masterId;
|
216 |
if (strlen($query) > 0) $params['query'] = $query;
|
222 |
/**
|
223 |
* Track a product which was purchased.
|
224 |
*
|
225 |
+
* @param string $id tracking id of product (see field with the role "Product number for tracking")
|
226 |
+
* @param string $masterId master id of the product (see field with the role "Master article number")
|
227 |
* @param string $tile title of product (optional - is empty by default)
|
228 |
* @param string $query query which led to the product (only if module Semantic Enhancer is used)
|
229 |
* @param string $sid session id (if empty, then try to set using the function session_id() )
|
230 |
* @param string $cookieId cookie id (optional)
|
231 |
* @param int $count number of items purchased for each product (optional - default 1)
|
232 |
* @param float $price this is the single unit price (optional)
|
233 |
+
* @param string $userId id of user (optional if modul personalisation is not used)
|
234 |
* @return boolean $success
|
235 |
*/
|
236 |
public function trackCheckout(
|
242 |
$cookieId = null,
|
243 |
$count = 1,
|
244 |
$price = null,
|
245 |
+
$userId = null
|
246 |
) {
|
247 |
+
$this->setupCheckoutTracking($id, $masterId, $title, $query, $sid, $cookieId, $count, $price, $userId);
|
248 |
return $this->applyTracking();
|
249 |
}
|
250 |
|
262 |
$cookieId = null,
|
263 |
$count = 1,
|
264 |
$price = null,
|
265 |
+
$userId = null
|
266 |
) {
|
267 |
if (strlen($sid) == 0) $sid = session_id();
|
268 |
$params = array(
|
275 |
);
|
276 |
|
277 |
if (strlen($price) > 0) $params['price'] = $price;
|
278 |
+
if (strlen($userId) > 0) $params['userId'] = $userId;
|
279 |
if (strlen($cookieId) > 0) $params['cookieId'] = $cookieId;
|
280 |
if (strlen($query) > 0) $params['query'] = $query;
|
281 |
if (strlen($masterId) > 0) $params['masterId'] = $masterId;
|
287 |
/**
|
288 |
* Track a click on a recommended product.
|
289 |
*
|
290 |
+
* @param string $id tracking id of product (see field with the role "Product number for tracking")
|
291 |
* @param int $mainId ID of the product for which the clicked-upon item was recommended
|
292 |
+
* @param string $masterId master id of the product (see field with the role "Master article number")
|
293 |
* @param string $sid session id (if empty, then try to set using the function session_id() )
|
294 |
* @param string $cookieId cookie id (optional)
|
295 |
+
* @param string $userId id of user (optional if modul personalisation is not used)
|
296 |
* @return boolean $success
|
297 |
*/
|
298 |
public function trackRecommendationClick(
|
301 |
$masterId = null,
|
302 |
$sid = null,
|
303 |
$cookieId = null,
|
304 |
+
$userId = null
|
305 |
) {
|
306 |
+
$this->setupRecommendationClickTracking($id, $mainId, $masterId, $sid, $cookieId, $userId);
|
307 |
return $this->applyTracking();
|
308 |
}
|
309 |
|
318 |
$masterId = null,
|
319 |
$sid = null,
|
320 |
$cookieId = null,
|
321 |
+
$userId = null
|
322 |
) {
|
323 |
if (strlen($sid) == 0) $sid = session_id();
|
324 |
$params = array(
|
330 |
'event' => 'recommendationClick'
|
331 |
);
|
332 |
|
333 |
+
if (strlen($userId) > 0) $params['userId'] = $userId;
|
334 |
if (strlen($cookieId) > 0) $params['cookieId'] = $cookieId;
|
335 |
if (strlen($masterId) > 0) $params['masterId'] = $masterId;
|
336 |
|
343 |
*
|
344 |
* @param string $sid session id (if empty, then try to set using the function session_id() )
|
345 |
* @param string $cookieId cookie id (optional)
|
346 |
+
* @param string $userId id of user who logged in
|
347 |
* @return boolean $success
|
348 |
*/
|
349 |
public function trackLogin(
|
350 |
$sid = null,
|
351 |
$cookieId = null,
|
352 |
+
$userId = null
|
353 |
) {
|
354 |
+
$this->setupLoginTracking($sid, $cookieId, $userId);
|
355 |
return $this->applyTracking();
|
356 |
}
|
357 |
|
363 |
public function setupLoginTracking(
|
364 |
$sid = null,
|
365 |
$cookieId = null,
|
366 |
+
$userId = null
|
367 |
) {
|
368 |
if (strlen($sid) == 0) $sid = session_id();
|
369 |
$params = array(
|
370 |
'sid' => $sid,
|
371 |
+
'userId' => $userId,
|
372 |
'event' => 'login'
|
373 |
);
|
374 |
|
lib/FACTFinder/Core/AbstractConfiguration.php
CHANGED
@@ -6,112 +6,182 @@ namespace FACTFinder\Core;
|
|
6 |
*/
|
7 |
abstract class AbstractConfiguration implements ConfigurationInterface
|
8 |
{
|
9 |
-
|
|
|
|
|
|
|
10 |
public function getCustomValue($name)
|
11 |
{
|
12 |
return null;
|
13 |
}
|
14 |
|
|
|
|
|
|
|
15 |
public function isDebugEnabled()
|
16 |
{
|
17 |
return false;
|
18 |
}
|
19 |
|
|
|
|
|
|
|
20 |
public function getRequestProtocol()
|
21 |
{
|
22 |
return 'http';
|
23 |
}
|
24 |
|
|
|
|
|
|
|
25 |
public function getServerAddress()
|
26 |
{
|
27 |
return null;
|
28 |
}
|
29 |
|
|
|
|
|
|
|
30 |
public function getServerPort()
|
31 |
{
|
32 |
return '80';
|
33 |
}
|
34 |
|
|
|
|
|
|
|
35 |
public function getContext()
|
36 |
{
|
37 |
return null;
|
38 |
}
|
39 |
|
|
|
|
|
|
|
40 |
public function getChannel()
|
41 |
{
|
42 |
return null;
|
43 |
}
|
44 |
|
|
|
|
|
|
|
45 |
public function getLanguage()
|
46 |
{
|
47 |
return null;
|
48 |
}
|
49 |
|
|
|
|
|
|
|
50 |
public function isHttpAuthenticationType()
|
51 |
{
|
52 |
return false;
|
53 |
}
|
54 |
|
|
|
|
|
|
|
55 |
public function isSimpleAuthenticationType()
|
56 |
{
|
57 |
return false;
|
58 |
}
|
59 |
|
|
|
|
|
|
|
60 |
public function isAdvancedAuthenticationType()
|
61 |
{
|
62 |
return false;
|
63 |
}
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
}
|
69 |
-
|
70 |
public function getUserName()
|
71 |
{
|
72 |
return null;
|
73 |
}
|
74 |
|
|
|
|
|
|
|
75 |
public function getPassword()
|
76 |
{
|
77 |
return null;
|
78 |
}
|
79 |
|
|
|
|
|
|
|
80 |
public function getAuthenticationPrefix()
|
81 |
{
|
82 |
return null;
|
83 |
}
|
84 |
|
|
|
|
|
|
|
85 |
public function getAuthenticationPostfix()
|
86 |
{
|
87 |
return null;
|
88 |
}
|
89 |
|
|
|
|
|
|
|
|
|
|
|
90 |
public function getClientMappings()
|
91 |
{
|
92 |
return array();
|
93 |
}
|
94 |
|
|
|
|
|
|
|
|
|
|
|
95 |
public function getServerMappings()
|
96 |
{
|
97 |
return array();
|
98 |
}
|
99 |
|
|
|
|
|
|
|
|
|
|
|
100 |
public function getIgnoredClientParameters()
|
101 |
{
|
102 |
return array();
|
103 |
}
|
104 |
|
|
|
|
|
|
|
|
|
|
|
105 |
public function getIgnoredServerParameters()
|
106 |
{
|
107 |
return array();
|
108 |
}
|
109 |
|
|
|
|
|
|
|
|
|
|
|
110 |
public function getWhitelistClientParameters()
|
111 |
{
|
112 |
return array();
|
113 |
}
|
114 |
|
|
|
|
|
|
|
|
|
|
|
115 |
public function getWhitelistServerParameters()
|
116 |
{
|
117 |
return array(
|
@@ -129,6 +199,7 @@ abstract class AbstractConfiguration implements ConfigurationInterface
|
|
129 |
'followSearch' => true,
|
130 |
'format' => true,
|
131 |
'id' => true,
|
|
|
132 |
'idsOnly' => true,
|
133 |
'ignoreForCache' => true,
|
134 |
'isArticleNumber' => true,
|
@@ -168,61 +239,121 @@ abstract class AbstractConfiguration implements ConfigurationInterface
|
|
168 |
);
|
169 |
}
|
170 |
|
|
|
|
|
|
|
|
|
|
|
171 |
public function getRequiredClientParameters()
|
172 |
{
|
173 |
return array();
|
174 |
}
|
175 |
|
|
|
|
|
|
|
|
|
|
|
176 |
public function getRequiredServerParameters()
|
177 |
{
|
178 |
return array();
|
179 |
}
|
180 |
|
|
|
|
|
|
|
|
|
|
|
181 |
public function getDefaultConnectTimeout()
|
182 |
{
|
183 |
return 2;
|
184 |
}
|
185 |
|
|
|
|
|
|
|
|
|
|
|
186 |
public function getDefaultTimeout()
|
187 |
{
|
188 |
return 4;
|
189 |
}
|
190 |
|
|
|
|
|
|
|
|
|
|
|
191 |
public function getSuggestConnectTimeout()
|
192 |
{
|
193 |
return 2;
|
194 |
}
|
195 |
|
|
|
|
|
|
|
|
|
|
|
196 |
public function getSuggestTimeout()
|
197 |
{
|
198 |
return 2;
|
199 |
}
|
200 |
|
|
|
|
|
|
|
|
|
|
|
201 |
public function getTrackingConnectTimeout()
|
202 |
{
|
203 |
return 2;
|
204 |
}
|
205 |
|
|
|
|
|
|
|
|
|
|
|
206 |
public function getTrackingTimeout()
|
207 |
{
|
208 |
return 2;
|
209 |
}
|
210 |
|
|
|
|
|
|
|
|
|
|
|
211 |
public function getImportConnectTimeout()
|
212 |
{
|
213 |
return 10;
|
214 |
}
|
215 |
|
|
|
|
|
|
|
|
|
|
|
216 |
public function getImportTimeout()
|
217 |
{
|
218 |
return 360;
|
219 |
}
|
220 |
|
|
|
|
|
|
|
|
|
|
|
221 |
public function getPageContentEncoding()
|
222 |
{
|
223 |
return 'UTF-8';
|
224 |
}
|
225 |
|
|
|
|
|
|
|
|
|
|
|
226 |
public function getClientUrlEncoding()
|
227 |
{
|
228 |
return 'UTF-8';
|
6 |
*/
|
7 |
abstract class AbstractConfiguration implements ConfigurationInterface
|
8 |
{
|
9 |
+
/**
|
10 |
+
* @param string name
|
11 |
+
* @return string value
|
12 |
+
*/
|
13 |
public function getCustomValue($name)
|
14 |
{
|
15 |
return null;
|
16 |
}
|
17 |
|
18 |
+
/**
|
19 |
+
* @return bool
|
20 |
+
*/
|
21 |
public function isDebugEnabled()
|
22 |
{
|
23 |
return false;
|
24 |
}
|
25 |
|
26 |
+
/**
|
27 |
+
* @return string
|
28 |
+
*/
|
29 |
public function getRequestProtocol()
|
30 |
{
|
31 |
return 'http';
|
32 |
}
|
33 |
|
34 |
+
/**
|
35 |
+
* @return string
|
36 |
+
*/
|
37 |
public function getServerAddress()
|
38 |
{
|
39 |
return null;
|
40 |
}
|
41 |
|
42 |
+
/**
|
43 |
+
* @return int
|
44 |
+
*/
|
45 |
public function getServerPort()
|
46 |
{
|
47 |
return '80';
|
48 |
}
|
49 |
|
50 |
+
/**
|
51 |
+
* @return string
|
52 |
+
*/
|
53 |
public function getContext()
|
54 |
{
|
55 |
return null;
|
56 |
}
|
57 |
|
58 |
+
/**
|
59 |
+
* @return string
|
60 |
+
*/
|
61 |
public function getChannel()
|
62 |
{
|
63 |
return null;
|
64 |
}
|
65 |
|
66 |
+
/**
|
67 |
+
* @return string
|
68 |
+
*/
|
69 |
public function getLanguage()
|
70 |
{
|
71 |
return null;
|
72 |
}
|
73 |
|
74 |
+
/**
|
75 |
+
* @return boolean
|
76 |
+
*/
|
77 |
public function isHttpAuthenticationType()
|
78 |
{
|
79 |
return false;
|
80 |
}
|
81 |
|
82 |
+
/**
|
83 |
+
* @return boolean
|
84 |
+
*/
|
85 |
public function isSimpleAuthenticationType()
|
86 |
{
|
87 |
return false;
|
88 |
}
|
89 |
|
90 |
+
/**
|
91 |
+
* @return boolean
|
92 |
+
*/
|
93 |
public function isAdvancedAuthenticationType()
|
94 |
{
|
95 |
return false;
|
96 |
}
|
97 |
|
98 |
+
/**
|
99 |
+
* @return string
|
100 |
+
*/
|
|
|
|
|
101 |
public function getUserName()
|
102 |
{
|
103 |
return null;
|
104 |
}
|
105 |
|
106 |
+
/**
|
107 |
+
* @return string
|
108 |
+
*/
|
109 |
public function getPassword()
|
110 |
{
|
111 |
return null;
|
112 |
}
|
113 |
|
114 |
+
/**
|
115 |
+
* @return string
|
116 |
+
*/
|
117 |
public function getAuthenticationPrefix()
|
118 |
{
|
119 |
return null;
|
120 |
}
|
121 |
|
122 |
+
/**
|
123 |
+
* @return string
|
124 |
+
*/
|
125 |
public function getAuthenticationPostfix()
|
126 |
{
|
127 |
return null;
|
128 |
}
|
129 |
|
130 |
+
/**
|
131 |
+
* Get mappings from server to client parameters.
|
132 |
+
*
|
133 |
+
* @return array
|
134 |
+
*/
|
135 |
public function getClientMappings()
|
136 |
{
|
137 |
return array();
|
138 |
}
|
139 |
|
140 |
+
/**
|
141 |
+
* Get mappings from client to server parameters.
|
142 |
+
*
|
143 |
+
* @return array
|
144 |
+
*/
|
145 |
public function getServerMappings()
|
146 |
{
|
147 |
return array();
|
148 |
}
|
149 |
|
150 |
+
/**
|
151 |
+
* Get parameters which should be ignored in client URLs.
|
152 |
+
*
|
153 |
+
* @return array with string as key and boolean true as value for each item
|
154 |
+
*/
|
155 |
public function getIgnoredClientParameters()
|
156 |
{
|
157 |
return array();
|
158 |
}
|
159 |
|
160 |
+
/**
|
161 |
+
* Get parameters which should be ignored in server URLs.
|
162 |
+
*
|
163 |
+
* @return array with string as key and boolean true as value for each item
|
164 |
+
*/
|
165 |
public function getIgnoredServerParameters()
|
166 |
{
|
167 |
return array();
|
168 |
}
|
169 |
|
170 |
+
/**
|
171 |
+
* Get parameters which are allowed in client URLs.
|
172 |
+
*
|
173 |
+
* @return array with string as key and boolean true as value for each item
|
174 |
+
*/
|
175 |
public function getWhitelistClientParameters()
|
176 |
{
|
177 |
return array();
|
178 |
}
|
179 |
|
180 |
+
/**
|
181 |
+
* Get parameters which are allowed in server URLs.
|
182 |
+
*
|
183 |
+
* @return array with string as key and boolean true as value for each item
|
184 |
+
*/
|
185 |
public function getWhitelistServerParameters()
|
186 |
{
|
187 |
return array(
|
199 |
'followSearch' => true,
|
200 |
'format' => true,
|
201 |
'id' => true,
|
202 |
+
'ids' => true,
|
203 |
'idsOnly' => true,
|
204 |
'ignoreForCache' => true,
|
205 |
'isArticleNumber' => true,
|
239 |
);
|
240 |
}
|
241 |
|
242 |
+
/**
|
243 |
+
* Get parameters which are required in client URLs.
|
244 |
+
*
|
245 |
+
* @return array with parameter name as key and default value as value.
|
246 |
+
*/
|
247 |
public function getRequiredClientParameters()
|
248 |
{
|
249 |
return array();
|
250 |
}
|
251 |
|
252 |
+
/**
|
253 |
+
* Get parameters which are required in server URLs.
|
254 |
+
*
|
255 |
+
* @return array with parameter name as key and default value as value.
|
256 |
+
*/
|
257 |
public function getRequiredServerParameters()
|
258 |
{
|
259 |
return array();
|
260 |
}
|
261 |
|
262 |
+
/**
|
263 |
+
* Get default connect timeout for all adapters.
|
264 |
+
*
|
265 |
+
* @return int
|
266 |
+
*/
|
267 |
public function getDefaultConnectTimeout()
|
268 |
{
|
269 |
return 2;
|
270 |
}
|
271 |
|
272 |
+
/**
|
273 |
+
* Get default timeout for all adapters.
|
274 |
+
*
|
275 |
+
* @return int
|
276 |
+
*/
|
277 |
public function getDefaultTimeout()
|
278 |
{
|
279 |
return 4;
|
280 |
}
|
281 |
|
282 |
+
/**
|
283 |
+
* Get connect timeout for Suggest adapter.
|
284 |
+
*
|
285 |
+
* @return int
|
286 |
+
*/
|
287 |
public function getSuggestConnectTimeout()
|
288 |
{
|
289 |
return 2;
|
290 |
}
|
291 |
|
292 |
+
/**
|
293 |
+
* Get timeout for Suggest adapter.
|
294 |
+
*
|
295 |
+
* @return int
|
296 |
+
*/
|
297 |
public function getSuggestTimeout()
|
298 |
{
|
299 |
return 2;
|
300 |
}
|
301 |
|
302 |
+
/**
|
303 |
+
* Get connect timeout for Tracking adapter.
|
304 |
+
*
|
305 |
+
* @return int
|
306 |
+
*/
|
307 |
public function getTrackingConnectTimeout()
|
308 |
{
|
309 |
return 2;
|
310 |
}
|
311 |
|
312 |
+
/**
|
313 |
+
* Get timeout for Tracking adapter.
|
314 |
+
*
|
315 |
+
* @return int
|
316 |
+
*/
|
317 |
public function getTrackingTimeout()
|
318 |
{
|
319 |
return 2;
|
320 |
}
|
321 |
|
322 |
+
/**
|
323 |
+
* Get connect timeout for Import adapter.
|
324 |
+
*
|
325 |
+
* @return int
|
326 |
+
*/
|
327 |
public function getImportConnectTimeout()
|
328 |
{
|
329 |
return 10;
|
330 |
}
|
331 |
|
332 |
+
/**
|
333 |
+
* Get timeout for Import adapter-
|
334 |
+
*
|
335 |
+
* @return int
|
336 |
+
*/
|
337 |
public function getImportTimeout()
|
338 |
{
|
339 |
return 360;
|
340 |
}
|
341 |
|
342 |
+
/**
|
343 |
+
* Get encoding for content to be sent to the browser.
|
344 |
+
*
|
345 |
+
* @return string
|
346 |
+
*/
|
347 |
public function getPageContentEncoding()
|
348 |
{
|
349 |
return 'UTF-8';
|
350 |
}
|
351 |
|
352 |
+
/**
|
353 |
+
* Get encoding for URLs of the client.
|
354 |
+
*
|
355 |
+
* @return string
|
356 |
+
*/
|
357 |
public function getClientUrlEncoding()
|
358 |
{
|
359 |
return 'UTF-8';
|
lib/FACTFinder/Core/ArrayConfiguration.php
ADDED
@@ -0,0 +1,324 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace FACTFinder\Core;
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Implements ConfigurationInterface by reading from a given array
|
6 |
+
*/
|
7 |
+
class ArrayConfiguration extends AbstractConfiguration
|
8 |
+
{
|
9 |
+
const HTTP_AUTHENTICATION = 'http';
|
10 |
+
const SIMPLE_AUTHENTICATION = 'simple';
|
11 |
+
const ADVANCED_AUTHENTICATION = 'advanced';
|
12 |
+
|
13 |
+
/**
|
14 |
+
* @var array the configuration.
|
15 |
+
*/
|
16 |
+
private $configuration;
|
17 |
+
|
18 |
+
private $clientMappings;
|
19 |
+
private $serverMappings;
|
20 |
+
private $ignoredClientParameters;
|
21 |
+
private $ignoredServerParameters;
|
22 |
+
private $whitelistClientParameters;
|
23 |
+
private $whitelistServerParameters;
|
24 |
+
private $requiredClientParameters;
|
25 |
+
private $requiredServerParameters;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Create a new configuration from an array
|
29 |
+
* @param array $config The configuration data as array
|
30 |
+
* @param string $section The configuration section
|
31 |
+
* @return ArrayConfiguration
|
32 |
+
*
|
33 |
+
* @throws \Exception
|
34 |
+
*/
|
35 |
+
public function __construct(array $config, $section)
|
36 |
+
{
|
37 |
+
if (!isset($config[$section]))
|
38 |
+
throw new \Exception("Specified configuration array does not contain section $section");
|
39 |
+
|
40 |
+
$this->configuration = $config[$section];
|
41 |
+
}
|
42 |
+
|
43 |
+
public function isDebugEnabled()
|
44 |
+
{
|
45 |
+
return $this->configuration['debug'] === true;
|
46 |
+
}
|
47 |
+
|
48 |
+
public function getCustomValue($name)
|
49 |
+
{
|
50 |
+
return $this->configuration[$name];
|
51 |
+
}
|
52 |
+
|
53 |
+
public function getRequestProtocol()
|
54 |
+
{
|
55 |
+
return $this->configuration['connection']['protocol'];
|
56 |
+
}
|
57 |
+
|
58 |
+
public function getServerAddress()
|
59 |
+
{
|
60 |
+
return $this->configuration['connection']['address'];
|
61 |
+
}
|
62 |
+
|
63 |
+
public function getServerPort()
|
64 |
+
{
|
65 |
+
return $this->configuration['connection']['port'];
|
66 |
+
}
|
67 |
+
|
68 |
+
public function getContext()
|
69 |
+
{
|
70 |
+
return $this->configuration['connection']['context'];
|
71 |
+
}
|
72 |
+
|
73 |
+
public function getChannel()
|
74 |
+
{
|
75 |
+
return $this->configuration['connection']['channel'];
|
76 |
+
}
|
77 |
+
|
78 |
+
public function getLanguage()
|
79 |
+
{
|
80 |
+
return $this->configuration['connection']['language'];
|
81 |
+
}
|
82 |
+
|
83 |
+
public function isHttpAuthenticationType()
|
84 |
+
{
|
85 |
+
return $this->retrieveAuthenticationType() === self::HTTP_AUTHENTICATION;
|
86 |
+
}
|
87 |
+
|
88 |
+
public function isSimpleAuthenticationType()
|
89 |
+
{
|
90 |
+
return $this->retrieveAuthenticationType() === self::SIMPLE_AUTHENTICATION;
|
91 |
+
}
|
92 |
+
|
93 |
+
public function isAdvancedAuthenticationType()
|
94 |
+
{
|
95 |
+
return $this->retrieveAuthenticationType() === self::ADVANCED_AUTHENTICATION;
|
96 |
+
}
|
97 |
+
|
98 |
+
private function retrieveAuthenticationType()
|
99 |
+
{
|
100 |
+
return strtolower($this->configuration['connection']['authentication']['type']);
|
101 |
+
}
|
102 |
+
|
103 |
+
public function makeHttpAuthenticationType()
|
104 |
+
{
|
105 |
+
$this->configuration['connection']['authentication']['type'] = self::HTTP_AUTHENTICATION;
|
106 |
+
}
|
107 |
+
|
108 |
+
public function makeSimpleAuthenticationType()
|
109 |
+
{
|
110 |
+
$this->configuration['connection']['authentication']['type'] = self::SIMPLE_AUTHENTICATION;
|
111 |
+
}
|
112 |
+
|
113 |
+
public function makeAdvancedAuthenticationType()
|
114 |
+
{
|
115 |
+
$this->configuration['connection']['authentication']['type'] = self::ADVANCED_AUTHENTICATION;
|
116 |
+
}
|
117 |
+
|
118 |
+
public function getUserName()
|
119 |
+
{
|
120 |
+
return $this->configuration['connection']['authentication']['username'];
|
121 |
+
}
|
122 |
+
|
123 |
+
public function getPassword()
|
124 |
+
{
|
125 |
+
return $this->configuration['connection']['authentication']['password'];
|
126 |
+
}
|
127 |
+
|
128 |
+
public function getAuthenticationPrefix()
|
129 |
+
{
|
130 |
+
return $this->configuration['connection']['authentication']['prefix'];
|
131 |
+
}
|
132 |
+
|
133 |
+
public function getAuthenticationPostfix()
|
134 |
+
{
|
135 |
+
return $this->configuration['connection']['authentication']['postfix'];
|
136 |
+
}
|
137 |
+
|
138 |
+
public function getClientMappings()
|
139 |
+
{
|
140 |
+
if ($this->clientMappings == null) {
|
141 |
+
$this->clientMappings = $this->retrieveMappings($this->configuration['parameters']['client']);
|
142 |
+
}
|
143 |
+
return $this->clientMappings;
|
144 |
+
}
|
145 |
+
|
146 |
+
public function getServerMappings()
|
147 |
+
{
|
148 |
+
if ($this->serverMappings == null) {
|
149 |
+
$this->serverMappings = $this->retrieveMappings($this->configuration['parameters']['server']);
|
150 |
+
}
|
151 |
+
return $this->serverMappings;
|
152 |
+
}
|
153 |
+
|
154 |
+
private function retrieveMappings($section)
|
155 |
+
{
|
156 |
+
$mappings = array();
|
157 |
+
if (isset($section['mapping']) && is_array($section['mapping'])) {
|
158 |
+
//load mappings
|
159 |
+
foreach($section['mapping'] as $rule) {
|
160 |
+
$mappings[$rule['from']] = $rule['to'];
|
161 |
+
}
|
162 |
+
}
|
163 |
+
return $mappings;
|
164 |
+
}
|
165 |
+
|
166 |
+
public function getIgnoredClientParameters()
|
167 |
+
{
|
168 |
+
if ($this->ignoredClientParameters == null) {
|
169 |
+
$this->ignoredClientParameters = $this->retrieveIgnoredParameters(
|
170 |
+
$this->configuration['parameters']['client']
|
171 |
+
);
|
172 |
+
}
|
173 |
+
return $this->ignoredClientParameters;
|
174 |
+
}
|
175 |
+
|
176 |
+
public function getIgnoredServerParameters()
|
177 |
+
{
|
178 |
+
if ($this->ignoredServerParameters == null) {
|
179 |
+
$this->ignoredServerParameters = $this->retrieveIgnoredParameters(
|
180 |
+
$this->configuration['parameters']['server']
|
181 |
+
);
|
182 |
+
}
|
183 |
+
return $this->ignoredServerParameters;
|
184 |
+
}
|
185 |
+
|
186 |
+
private function retrieveIgnoredParameters($section)
|
187 |
+
{
|
188 |
+
$ignoredParameters = array();
|
189 |
+
if (isset($section['ignore']) && is_array($section['ignore'])) {
|
190 |
+
//load ignore rules
|
191 |
+
foreach($section['ignore'] as $name) {
|
192 |
+
$ignoredParameters[$name] = true;
|
193 |
+
}
|
194 |
+
}
|
195 |
+
return $ignoredParameters;
|
196 |
+
}
|
197 |
+
|
198 |
+
public function getWhitelistClientParameters()
|
199 |
+
{
|
200 |
+
if ($this->whitelistClientParameters == null) {
|
201 |
+
$this->whitelistClientParameters = $this->retrieveWhitelistParameters(
|
202 |
+
$this->configuration['parameters']['client']
|
203 |
+
);
|
204 |
+
}
|
205 |
+
return $this->whitelistClientParameters;
|
206 |
+
}
|
207 |
+
|
208 |
+
public function getWhitelistServerParameters()
|
209 |
+
{
|
210 |
+
if ($this->whitelistServerParameters == null) {
|
211 |
+
$this->whitelistServerParameters = $this->retrieveWhitelistParameters(
|
212 |
+
$this->configuration['parameters']['server']
|
213 |
+
);
|
214 |
+
if (empty($this->whitelistServerParameters)) {
|
215 |
+
$this->whitelistServerParameters = parent::getWhitelistServerParameters();
|
216 |
+
}
|
217 |
+
}
|
218 |
+
return $this->whitelistServerParameters;
|
219 |
+
}
|
220 |
+
|
221 |
+
private function retrieveWhitelistParameters($section)
|
222 |
+
{
|
223 |
+
$whitelist = array();
|
224 |
+
if (isset($section['whitelist']) && is_array($section['whitelist'])) {
|
225 |
+
//load whitelist
|
226 |
+
foreach($section['whitelist'] as $name) {
|
227 |
+
$whitelist[$name] = true;
|
228 |
+
}
|
229 |
+
}
|
230 |
+
return $whitelist;
|
231 |
+
}
|
232 |
+
|
233 |
+
public function getRequiredClientParameters()
|
234 |
+
{
|
235 |
+
if ($this->requiredClientParameters == null) {
|
236 |
+
$this->requiredClientParameters = $this->retrieveRequiredParameters(
|
237 |
+
$this->configuration['parameters']['client']
|
238 |
+
);
|
239 |
+
}
|
240 |
+
return $this->requiredClientParameters;
|
241 |
+
}
|
242 |
+
|
243 |
+
public function getRequiredServerParameters()
|
244 |
+
{
|
245 |
+
if ($this->requiredServerParameters == null) {
|
246 |
+
$this->requiredServerParameters = $this->retrieveRequiredParameters(
|
247 |
+
$this->configuration['parameters']['server']
|
248 |
+
);
|
249 |
+
}
|
250 |
+
return $this->requiredServerParameters;
|
251 |
+
}
|
252 |
+
|
253 |
+
private function retrieveRequiredParameters($section)
|
254 |
+
{
|
255 |
+
$requiredParameters = array();
|
256 |
+
if (isset($section['require']) && is_array($section['require'])) {
|
257 |
+
//load require rules
|
258 |
+
foreach($section['require'] as $rule) {
|
259 |
+
$requiredParameters[$rule['name']] = $rule['default'];
|
260 |
+
}
|
261 |
+
}
|
262 |
+
return $requiredParameters;
|
263 |
+
}
|
264 |
+
|
265 |
+
public function getDefaultConnectTimeout()
|
266 |
+
{
|
267 |
+
return $this->configuration['connection']['timeouts']['defaultConnectTimeout'];
|
268 |
+
}
|
269 |
+
|
270 |
+
public function getDefaultTimeout()
|
271 |
+
{
|
272 |
+
return $this->configuration['connection']['timeouts']['defaultTimeout'];
|
273 |
+
}
|
274 |
+
|
275 |
+
public function getSuggestConnectTimeout()
|
276 |
+
{
|
277 |
+
return $this->configuration['connection']['timeouts']['suggestConnectTimeout'];
|
278 |
+
}
|
279 |
+
|
280 |
+
public function getSuggestTimeout()
|
281 |
+
{
|
282 |
+
return $this->configuration['connection']['timeouts']['suggestTimeout'];
|
283 |
+
}
|
284 |
+
|
285 |
+
public function getTrackingConnectTimeout()
|
286 |
+
{
|
287 |
+
return $this->configuration['connection']['timeouts']['trackingConnectTimeout'];
|
288 |
+
}
|
289 |
+
|
290 |
+
public function getTrackingTimeout()
|
291 |
+
{
|
292 |
+
return $this->configuration['connection']['timeouts']['trackingTimeout'];
|
293 |
+
}
|
294 |
+
|
295 |
+
public function getImportConnectTimeout()
|
296 |
+
{
|
297 |
+
return $this->configuration['connection']['timeouts']['importConnectTimeout'];
|
298 |
+
}
|
299 |
+
|
300 |
+
public function getImportTimeout()
|
301 |
+
{
|
302 |
+
return $this->configuration['connection']['timeouts']['importTimeout'];
|
303 |
+
}
|
304 |
+
|
305 |
+
public function getPageContentEncoding()
|
306 |
+
{
|
307 |
+
return $this->configuration['encoding']['pageContent'];
|
308 |
+
}
|
309 |
+
|
310 |
+
public function getClientUrlEncoding()
|
311 |
+
{
|
312 |
+
return $this->configuration['encoding']['clientUrl'];
|
313 |
+
}
|
314 |
+
|
315 |
+
public function setPageContentEncoding($encoding)
|
316 |
+
{
|
317 |
+
$this->configuration['encoding']['pageContent'] = $encoding;
|
318 |
+
}
|
319 |
+
|
320 |
+
public function setClientUrlEncoding($encoding)
|
321 |
+
{
|
322 |
+
$this->configuration['encoding']['clientUrl'] = $encoding;
|
323 |
+
}
|
324 |
+
}
|
lib/FACTFinder/Core/Server/EasyCurlDataProvider.php
CHANGED
@@ -141,7 +141,7 @@ class EasyCurlDataProvider extends AbstractDataProvider
|
|
141 |
) {
|
142 |
if ($this->configuration->isDebugEnabled()
|
143 |
&& isset($_SERVER['HTTP_REFERER'])
|
144 |
-
&& !$connectionData->
|
145 |
) {
|
146 |
$connectionData->setConnectionOption(
|
147 |
CURLOPT_REFERER,
|
141 |
) {
|
142 |
if ($this->configuration->isDebugEnabled()
|
143 |
&& isset($_SERVER['HTTP_REFERER'])
|
144 |
+
&& !$connectionData->issetConnectionOption(CURLOPT_REFERER)
|
145 |
) {
|
146 |
$connectionData->setConnectionOption(
|
147 |
CURLOPT_REFERER,
|
lib/FACTFinder/Core/Server/FileSystemDataProvider.php
CHANGED
@@ -57,17 +57,26 @@ class FileSystemDataProvider extends AbstractDataProvider
|
|
57 |
$connectionData->setNullResponse();
|
58 |
return;
|
59 |
}
|
|
|
60 |
|
61 |
-
$
|
|
|
|
|
62 |
|
63 |
if (!$this->hasFileNameChanged($id, $fileName))
|
64 |
return;
|
65 |
|
66 |
$this->log->info("Trying to load file: $fileName");
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
|
68 |
$response = FF::getInstance(
|
69 |
'Core\Server\Response',
|
70 |
-
|
71 |
200,
|
72 |
0,
|
73 |
''
|
@@ -76,39 +85,54 @@ class FileSystemDataProvider extends AbstractDataProvider
|
|
76 |
$connectionData->setResponse($response, $fileName);
|
77 |
}
|
78 |
|
79 |
-
private function
|
80 |
{
|
81 |
$action = $connectionData->getAction();
|
82 |
|
83 |
-
// Replace the .ff file extension with
|
84 |
-
$
|
85 |
-
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
87 |
|
|
|
88 |
if (isset($parameters['format']))
|
89 |
$fileExtension = '.' . $parameters['format'];
|
90 |
else
|
91 |
$fileExtension = '.raw';
|
92 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
unset($parameters['format']);
|
94 |
unset($parameters['user']);
|
95 |
unset($parameters['pw']);
|
96 |
unset($parameters['timestamp']);
|
97 |
unset($parameters['channel']);
|
98 |
-
|
99 |
$rawParameters = &$parameters->getArray();
|
100 |
-
|
101 |
// We received that array by reference, so we can sort it to sort the
|
102 |
// Parameters object internally, too.
|
103 |
ksort($rawParameters, SORT_STRING);
|
104 |
-
|
105 |
$queryString = $parameters->toJavaQueryString();
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
return $this->fileLocation . $fileName;
|
110 |
}
|
111 |
|
|
|
|
|
|
|
|
|
|
|
112 |
private function hasFileNameChanged($id, $newFileName)
|
113 |
{
|
114 |
$connectionData = $this->connectionData[$id];
|
57 |
$connectionData->setNullResponse();
|
58 |
return;
|
59 |
}
|
60 |
+
$fileNamePrefix = $this->getFileNamePrefix($connectionData);
|
61 |
|
62 |
+
$fileExtension = $this->getFileExtension($connectionData);
|
63 |
+
$queryString = $this->getQueryString($connectionData);
|
64 |
+
$fileName = $this->getFileName($fileNamePrefix, md5($queryString), $fileExtension);
|
65 |
|
66 |
if (!$this->hasFileNameChanged($id, $fileName))
|
67 |
return;
|
68 |
|
69 |
$this->log->info("Trying to load file: $fileName");
|
70 |
+
|
71 |
+
$fileContent = null;
|
72 |
+
if(!$fileContent = @file_get_contents($fileName))
|
73 |
+
{
|
74 |
+
throw new \Exception('File "'.$fileName.' (original: ' . $fileNamePrefix . $queryString . $fileExtension . '" not found');
|
75 |
+
}
|
76 |
|
77 |
$response = FF::getInstance(
|
78 |
'Core\Server\Response',
|
79 |
+
$fileContent,
|
80 |
200,
|
81 |
0,
|
82 |
''
|
85 |
$connectionData->setResponse($response, $fileName);
|
86 |
}
|
87 |
|
88 |
+
private function getFileNamePrefix($connectionData)
|
89 |
{
|
90 |
$action = $connectionData->getAction();
|
91 |
|
92 |
+
// Replace the .ff file extension with a dot.
|
93 |
+
$prefix = preg_replace('/[.]ff$/i', '.', $action);
|
94 |
+
|
95 |
+
return $prefix;
|
96 |
+
}
|
97 |
+
|
98 |
+
private function getFileExtension($connectionData)
|
99 |
+
{
|
100 |
+
$parameters = $connectionData->getParameters();
|
101 |
|
102 |
+
$fileExtension = null;
|
103 |
if (isset($parameters['format']))
|
104 |
$fileExtension = '.' . $parameters['format'];
|
105 |
else
|
106 |
$fileExtension = '.raw';
|
107 |
+
|
108 |
+
return $fileExtension;
|
109 |
+
}
|
110 |
+
|
111 |
+
private function getQueryString($connectionData)
|
112 |
+
{
|
113 |
+
$parameters = clone $connectionData->getParameters();
|
114 |
+
|
115 |
unset($parameters['format']);
|
116 |
unset($parameters['user']);
|
117 |
unset($parameters['pw']);
|
118 |
unset($parameters['timestamp']);
|
119 |
unset($parameters['channel']);
|
120 |
+
|
121 |
$rawParameters = &$parameters->getArray();
|
|
|
122 |
// We received that array by reference, so we can sort it to sort the
|
123 |
// Parameters object internally, too.
|
124 |
ksort($rawParameters, SORT_STRING);
|
125 |
+
|
126 |
$queryString = $parameters->toJavaQueryString();
|
127 |
+
|
128 |
+
return $queryString;
|
|
|
|
|
129 |
}
|
130 |
|
131 |
+
private function getFileName($prefix, $queryString, $extension)
|
132 |
+
{
|
133 |
+
return $this->fileLocation . $prefix . $queryString . $extension;
|
134 |
+
}
|
135 |
+
|
136 |
private function hasFileNameChanged($id, $newFileName)
|
137 |
{
|
138 |
$connectionData = $this->connectionData[$id];
|
lib/FACTFinder/Core/XmlConfiguration.php
CHANGED
@@ -39,10 +39,10 @@ class XmlConfiguration extends AbstractConfiguration
|
|
39 |
* configuration data.
|
40 |
* @return XmlConfiguration
|
41 |
*/
|
42 |
-
public function __construct($fileName, $element)
|
43 |
{
|
44 |
libxml_use_internal_errors(true);
|
45 |
-
$xmlData = new \SimpleXMLElement($fileName, 0,
|
46 |
if (!isset($xmlData->$element))
|
47 |
throw new \Exception("Specified configuration file does not contain section $element");
|
48 |
$this->configuration = $xmlData->$element;
|
39 |
* configuration data.
|
40 |
* @return XmlConfiguration
|
41 |
*/
|
42 |
+
public function __construct($fileName, $element, $data_is_url = true)
|
43 |
{
|
44 |
libxml_use_internal_errors(true);
|
45 |
+
$xmlData = new \SimpleXMLElement($fileName, 0, $data_is_url);
|
46 |
if (!isset($xmlData->$element))
|
47 |
throw new \Exception("Specified configuration file does not contain section $element");
|
48 |
$this->configuration = $xmlData->$element;
|
lib/FACTFinder/Data/BreadCrumbType.php
CHANGED
@@ -9,6 +9,7 @@ class BreadCrumbType
|
|
9 |
{
|
10 |
static private $search;
|
11 |
static private $filter;
|
|
|
12 |
|
13 |
static private $nextID = 0;
|
14 |
private $id;
|
@@ -24,6 +25,7 @@ class BreadCrumbType
|
|
24 |
{
|
25 |
self::$search = new BreadCrumbType();
|
26 |
self::$filter = new BreadCrumbType();
|
|
|
27 |
|
28 |
self::$initialized = true;
|
29 |
}
|
@@ -31,6 +33,7 @@ class BreadCrumbType
|
|
31 |
|
32 |
static public function Search() { return self::$search; }
|
33 |
static public function Filter() { return self::$filter; }
|
|
|
34 |
}
|
35 |
|
36 |
BreadCrumbType::initialize();
|
9 |
{
|
10 |
static private $search;
|
11 |
static private $filter;
|
12 |
+
static private $advisor;
|
13 |
|
14 |
static private $nextID = 0;
|
15 |
private $id;
|
25 |
{
|
26 |
self::$search = new BreadCrumbType();
|
27 |
self::$filter = new BreadCrumbType();
|
28 |
+
self::$advisor = new BreadCrumbType();
|
29 |
|
30 |
self::$initialized = true;
|
31 |
}
|
33 |
|
34 |
static public function Search() { return self::$search; }
|
35 |
static public function Filter() { return self::$filter; }
|
36 |
+
static public function Advisor() { return self::$advisor; }
|
37 |
}
|
38 |
|
39 |
BreadCrumbType::initialize();
|
lib/FACTFinder/Data/FilterGroup.php
CHANGED
@@ -119,16 +119,6 @@ class FilterGroup extends \ArrayIterator
|
|
119 |
return $this->style == $filterStyleEnum::MultiSelect();
|
120 |
}
|
121 |
|
122 |
-
/**
|
123 |
-
* @deprecated use hasPreviewImages instead
|
124 |
-
* @return bool
|
125 |
-
*/
|
126 |
-
public function isColorStyle()
|
127 |
-
{
|
128 |
-
$filterStyleEnum = FF::getClassName('Data\FilterStyle');
|
129 |
-
return $this->style == $filterStyleEnum::Color();
|
130 |
-
}
|
131 |
-
|
132 |
/**
|
133 |
* @return int
|
134 |
*/
|
@@ -158,7 +148,7 @@ class FilterGroup extends \ArrayIterator
|
|
158 |
*/
|
159 |
public function hasSelectedItems()
|
160 |
{
|
161 |
-
foreach ($this as $filter)
|
162 |
if ($filter->isSelected())
|
163 |
return true;
|
164 |
|
@@ -219,4 +209,4 @@ class FilterGroup extends \ArrayIterator
|
|
219 |
return $this->type == $filterTypeEnum::Number();
|
220 |
}
|
221 |
|
222 |
-
}
|
119 |
return $this->style == $filterStyleEnum::MultiSelect();
|
120 |
}
|
121 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
/**
|
123 |
* @return int
|
124 |
*/
|
148 |
*/
|
149 |
public function hasSelectedItems()
|
150 |
{
|
151 |
+
foreach ($this->getArrayCopy() as $filter)
|
152 |
if ($filter->isSelected())
|
153 |
return true;
|
154 |
|
209 |
return $this->type == $filterTypeEnum::Number();
|
210 |
}
|
211 |
|
212 |
+
}
|
lib/FACTFinder/Data/FilterStyle.php
CHANGED
@@ -15,7 +15,6 @@ class FilterStyle
|
|
15 |
static private $slider;
|
16 |
static private $tree;
|
17 |
static private $multiSelect;
|
18 |
-
static private $color;
|
19 |
|
20 |
// This ID is never used, but it ensures that an equality test between two
|
21 |
// different instances will return false (since '==' object comparison is
|
@@ -45,7 +44,6 @@ class FilterStyle
|
|
45 |
self::$slider = new FilterStyle();
|
46 |
self::$tree = new FilterStyle();
|
47 |
self::$multiSelect = new FilterStyle();
|
48 |
-
self::$color = new FilterStyle();
|
49 |
|
50 |
self::$initialized = true;
|
51 |
}
|
@@ -56,7 +54,6 @@ class FilterStyle
|
|
56 |
static public function Slider() { return self::$slider; }
|
57 |
static public function Tree() { return self::$tree; }
|
58 |
static public function MultiSelect() { return self::$multiSelect; }
|
59 |
-
static public function Color() { return self::$color; }
|
60 |
}
|
61 |
|
62 |
// And finally we call the class initializer.
|
15 |
static private $slider;
|
16 |
static private $tree;
|
17 |
static private $multiSelect;
|
|
|
18 |
|
19 |
// This ID is never used, but it ensures that an equality test between two
|
20 |
// different instances will return false (since '==' object comparison is
|
44 |
self::$slider = new FilterStyle();
|
45 |
self::$tree = new FilterStyle();
|
46 |
self::$multiSelect = new FilterStyle();
|
|
|
47 |
|
48 |
self::$initialized = true;
|
49 |
}
|
54 |
static public function Slider() { return self::$slider; }
|
55 |
static public function Tree() { return self::$tree; }
|
56 |
static public function MultiSelect() { return self::$multiSelect; }
|
|
|
57 |
}
|
58 |
|
59 |
// And finally we call the class initializer.
|
lib/FACTFinder/Data/Result.php
CHANGED
@@ -6,10 +6,6 @@ namespace FACTFinder\Data;
|
|
6 |
*/
|
7 |
class Result extends \ArrayIterator
|
8 |
{
|
9 |
-
/**
|
10 |
-
* @var string
|
11 |
-
*/
|
12 |
-
private $refKey;
|
13 |
|
14 |
/**
|
15 |
* @var int
|
@@ -18,7 +14,6 @@ class Result extends \ArrayIterator
|
|
18 |
|
19 |
/**
|
20 |
* @param Record[] $records The Record objects to add to the result.
|
21 |
-
* @param string $refKey
|
22 |
* @param int $foundRecordsCount Total number of records found for the
|
23 |
* search these records are from. This can be greater than
|
24 |
* count($records), because $records may just be the records from a
|
@@ -27,11 +22,9 @@ class Result extends \ArrayIterator
|
|
27 |
*/
|
28 |
public function __construct(
|
29 |
array $records,
|
30 |
-
$refKey = '',
|
31 |
$foundRecordsCount = 0
|
32 |
) {
|
33 |
parent::__construct($records);
|
34 |
-
$this->refKey = (string)$refKey;
|
35 |
$this->foundRecordsCount = (int)$foundRecordsCount;
|
36 |
}
|
37 |
|
@@ -43,12 +36,4 @@ class Result extends \ArrayIterator
|
|
43 |
return $this->foundRecordsCount;
|
44 |
}
|
45 |
|
46 |
-
/**
|
47 |
-
* @return string
|
48 |
-
*/
|
49 |
-
public function getRefKey()
|
50 |
-
{
|
51 |
-
return $this->refKey;
|
52 |
-
}
|
53 |
-
|
54 |
}
|
6 |
*/
|
7 |
class Result extends \ArrayIterator
|
8 |
{
|
|
|
|
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
* @var int
|
14 |
|
15 |
/**
|
16 |
* @param Record[] $records The Record objects to add to the result.
|
|
|
17 |
* @param int $foundRecordsCount Total number of records found for the
|
18 |
* search these records are from. This can be greater than
|
19 |
* count($records), because $records may just be the records from a
|
22 |
*/
|
23 |
public function __construct(
|
24 |
array $records,
|
|
|
25 |
$foundRecordsCount = 0
|
26 |
) {
|
27 |
parent::__construct($records);
|
|
|
28 |
$this->foundRecordsCount = (int)$foundRecordsCount;
|
29 |
}
|
30 |
|
36 |
return $this->foundRecordsCount;
|
37 |
}
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
}
|
lib/FACTFinder/Data/SortingDirection.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace FACTFinder\Data;
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Enum for sorting directions.
|
6 |
+
* @see FilterStyle for documentation of the enum workaround.
|
7 |
+
*/
|
8 |
+
class SortingDirection
|
9 |
+
{
|
10 |
+
// These will store distinct instances of the class.
|
11 |
+
static private $asc;
|
12 |
+
static private $desc;
|
13 |
+
|
14 |
+
static private $nextID = 0;
|
15 |
+
private $id;
|
16 |
+
private function __construct()
|
17 |
+
{
|
18 |
+
$this->id = self::$nextID++;
|
19 |
+
}
|
20 |
+
|
21 |
+
static private $initialized = false;
|
22 |
+
static public function initialize()
|
23 |
+
{
|
24 |
+
if (!self::$initialized)
|
25 |
+
{
|
26 |
+
self::$asc = new SortingDirection();
|
27 |
+
self::$desc = new SortingDirection();
|
28 |
+
|
29 |
+
self::$initialized = true;
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
static public function Ascending() { return self::$asc; }
|
34 |
+
static public function Descending() { return self::$desc; }
|
35 |
+
}
|
36 |
+
|
37 |
+
SortingDirection::initialize();
|
lib/FACTFinder/Data/SortingItem.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace FACTFinder\Data;
|
3 |
+
|
4 |
+
use FACTFinder\Loader as FF;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Represents a particular clickable sorting.
|
8 |
+
*/
|
9 |
+
class SortingItem extends Item
|
10 |
+
{
|
11 |
+
/**
|
12 |
+
* @var SortingDirection
|
13 |
+
*/
|
14 |
+
private $order;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* @var string
|
18 |
+
*/
|
19 |
+
private $name;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @param string $name
|
23 |
+
* @param SortingDirection $order
|
24 |
+
* @param string $label
|
25 |
+
* @param string $url
|
26 |
+
* @param bool $isSelected
|
27 |
+
*/
|
28 |
+
public function __construct(
|
29 |
+
$name,
|
30 |
+
SortingDirection $order,
|
31 |
+
$label,
|
32 |
+
$url,
|
33 |
+
$isSelected = false
|
34 |
+
) {
|
35 |
+
parent::__construct($label, $url, $isSelected);
|
36 |
+
$this->name = (string)$name;
|
37 |
+
$this->order = $order;
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @return string
|
42 |
+
*/
|
43 |
+
public function getName()
|
44 |
+
{
|
45 |
+
return $this->name;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* @return bool
|
50 |
+
*/
|
51 |
+
public function isAscending()
|
52 |
+
{
|
53 |
+
$orderEnum = FF::getClassName('Data\SortingDirection');
|
54 |
+
return $this->order == $orderEnum::Ascending();
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @return bool
|
59 |
+
*/
|
60 |
+
public function isDescending()
|
61 |
+
{
|
62 |
+
$orderEnum = FF::getClassName('Data\SortingDirection');
|
63 |
+
return $this->order == $orderEnum::Descending();
|
64 |
+
}
|
65 |
+
}
|
lib/FACTFinder/Data/SortingItems.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace FACTFinder\Data;
|
3 |
+
|
4 |
+
class SortingItems extends \ArrayIterator
|
5 |
+
{
|
6 |
+
/**
|
7 |
+
* @param SortingItem[] $options Array of sorting option links.
|
8 |
+
*/
|
9 |
+
public function __construct (array $options)
|
10 |
+
{
|
11 |
+
parent::__construct($options);
|
12 |
+
}
|
13 |
+
}
|
lib/FACTFinder/Util/Log4PhpLogger.php
CHANGED
@@ -8,67 +8,67 @@ include_once FF_LIB_DIR . DS . 'log4php' . DS . 'Logger.php';
|
|
8 |
|
9 |
class Log4PhpLogger implements LoggerInterface
|
10 |
{
|
11 |
-
|
12 |
|
13 |
/**
|
14 |
* Configures the static Logger class supplied by log4php.
|
15 |
*
|
16 |
* @param string $fileName Name of the configuration file
|
17 |
*/
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
|
74 |
}
|
8 |
|
9 |
class Log4PhpLogger implements LoggerInterface
|
10 |
{
|
11 |
+
protected $log;
|
12 |
|
13 |
/**
|
14 |
* Configures the static Logger class supplied by log4php.
|
15 |
*
|
16 |
* @param string $fileName Name of the configuration file
|
17 |
*/
|
18 |
+
public static function configure($fileName)
|
19 |
+
{
|
20 |
+
\Logger::configure($fileName);
|
21 |
+
}
|
22 |
|
23 |
+
/**
|
24 |
+
* Returns a new logger with the given name.
|
25 |
+
* @param string $name Name of the logger. This should be the fully
|
26 |
+
* qualified name of the class using this instance,
|
27 |
+
* so that different sub-namespaces can be configured
|
28 |
+
* differently. Note that in the configuration file, the
|
29 |
+
* loggers need to be qualified with periods instead of
|
30 |
+
* backslashes.
|
31 |
+
* @return Log4PhpLogger
|
32 |
+
*/
|
33 |
+
public static function getLogger($name)
|
34 |
+
{
|
35 |
+
$name = str_replace('\\', '.', $name);
|
36 |
+
return new Log4PhpLogger($name);
|
37 |
+
}
|
38 |
|
39 |
+
protected function __construct($name)
|
40 |
+
{
|
41 |
+
$this->log = \Logger::getLogger($name);
|
42 |
+
}
|
43 |
|
44 |
+
public function trace($message)
|
45 |
+
{
|
46 |
+
$this->log->trace($message);
|
47 |
+
}
|
48 |
|
49 |
+
public function debug($message)
|
50 |
+
{
|
51 |
+
$this->log->debug($message);
|
52 |
+
}
|
53 |
|
54 |
+
public function info($message)
|
55 |
+
{
|
56 |
+
$this->log->info($message);
|
57 |
+
}
|
58 |
|
59 |
+
public function warn($message)
|
60 |
+
{
|
61 |
+
$this->log->warn($message);
|
62 |
+
}
|
63 |
|
64 |
+
public function error($message)
|
65 |
+
{
|
66 |
+
$this->log->error($message);
|
67 |
+
}
|
68 |
|
69 |
+
public function fatal($message)
|
70 |
+
{
|
71 |
+
$this->log->fatal($message);
|
72 |
+
}
|
73 |
|
74 |
}
|
lib/FACTFinder/Util/Parameters.php
CHANGED
@@ -148,7 +148,7 @@ class Parameters implements \ArrayAccess, \Countable
|
|
148 |
*
|
149 |
* @throws InvalidArgumentException if the name has no values set.
|
150 |
*/
|
151 |
-
|
152 |
{
|
153 |
if (!isset($this->parameters[$name]))
|
154 |
throw new \InvalidArgumentException('Requested parameter has no value set.');
|
148 |
*
|
149 |
* @throws InvalidArgumentException if the name has no values set.
|
150 |
*/
|
151 |
+
public function offsetGet($name)
|
152 |
{
|
153 |
if (!isset($this->parameters[$name]))
|
154 |
throw new \InvalidArgumentException('Requested parameter has no value set.');
|
lib/FACTFinderCustom/Configuration.php
CHANGED
@@ -12,11 +12,11 @@ class FACTFinderCustom_Configuration extends FACTFinder\Core\AbstractConfigurati
|
|
12 |
const SIMPLE_AUTH = 'simple';
|
13 |
const ADVANCED_AUTH = 'advanced';
|
14 |
const XML_CONFIG_PATH = 'factfinder/search';
|
15 |
-
|
16 |
|
17 |
private $config;
|
18 |
private $authType;
|
19 |
-
|
20 |
private $storeId = null;
|
21 |
|
22 |
// Should the search adapters retrieve only product ids? (otherwise, full records will be requested)
|
@@ -24,37 +24,37 @@ class FACTFinderCustom_Configuration extends FACTFinder\Core\AbstractConfigurati
|
|
24 |
|
25 |
public function __construct($config = null)
|
26 |
{
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
}
|
34 |
|
35 |
public function __sleep() {
|
36 |
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
}
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
|
59 |
/**
|
60 |
* Allows to catch configuration for certain store id.
|
@@ -201,6 +201,7 @@ class FACTFinderCustom_Configuration extends FACTFinder\Core\AbstractConfigurati
|
|
201 |
return array(
|
202 |
'query' => 'q',
|
203 |
'page' => 'p',
|
|
|
204 |
);
|
205 |
}
|
206 |
|
@@ -210,7 +211,11 @@ class FACTFinderCustom_Configuration extends FACTFinder\Core\AbstractConfigurati
|
|
210 |
* @return array
|
211 |
*/
|
212 |
public function getServerMappings() {
|
213 |
-
|
|
|
|
|
|
|
|
|
214 |
}
|
215 |
|
216 |
public function getIgnoredClientParameters()
|
@@ -219,7 +224,6 @@ class FACTFinderCustom_Configuration extends FACTFinder\Core\AbstractConfigurati
|
|
219 |
'channel' => true,
|
220 |
'format' => true,
|
221 |
'log' => true,
|
222 |
-
'productsPerPage' => true,
|
223 |
'query' => true,
|
224 |
'catalog' => true,
|
225 |
'navigation' => true
|
@@ -338,7 +342,7 @@ class FACTFinderCustom_Configuration extends FACTFinder\Core\AbstractConfigurati
|
|
338 |
* Sets the idsOnly flag, which determines whether product ids or full records should be requested by the search adapters.
|
339 |
* Request only products ids if true, full records otherwise
|
340 |
*
|
341 |
-
* @param
|
342 |
**/
|
343 |
public function setIdsOnly($value) {
|
344 |
$this->idsOnly = $value;
|
12 |
const SIMPLE_AUTH = 'simple';
|
13 |
const ADVANCED_AUTH = 'advanced';
|
14 |
const XML_CONFIG_PATH = 'factfinder/search';
|
15 |
+
const DEFAULT_SEMAPHORE_TIMEOUT = 7200; // 60 seconds = 2 hours
|
16 |
|
17 |
private $config;
|
18 |
private $authType;
|
19 |
+
private $secondaryChannels;
|
20 |
private $storeId = null;
|
21 |
|
22 |
// Should the search adapters retrieve only product ids? (otherwise, full records will be requested)
|
24 |
|
25 |
public function __construct($config = null)
|
26 |
{
|
27 |
+
$this->config = new Varien_Object($config);
|
28 |
+
if(is_array($config)){
|
29 |
+
$this->config->setData($config);
|
30 |
+
} else {
|
31 |
+
$this->config->setData(Mage::getStoreConfig(self::XML_CONFIG_PATH));
|
32 |
+
}
|
33 |
}
|
34 |
|
35 |
public function __sleep() {
|
36 |
|
37 |
+
foreach(get_class_methods($this) as $method){
|
38 |
+
if(substr($method, 0, 3) != 'get'
|
39 |
+
|| $method == 'getCustomValue'){
|
40 |
+
continue;
|
41 |
+
}
|
42 |
+
call_user_func(array(&$this, $method));
|
43 |
+
}
|
44 |
+
return array('config');
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* @return array of strings
|
49 |
+
**/
|
50 |
+
public function getSecondaryChannels() {
|
51 |
+
if($this->secondaryChannels == null)
|
52 |
+
{
|
53 |
+
// array_filter() is used to remove empty channel names
|
54 |
+
$this->secondaryChannels = array_filter(explode(';', $this->getCustomValue('secondary_channels')));
|
55 |
+
}
|
56 |
+
return $this->secondaryChannels;
|
57 |
+
}
|
58 |
|
59 |
/**
|
60 |
* Allows to catch configuration for certain store id.
|
201 |
return array(
|
202 |
'query' => 'q',
|
203 |
'page' => 'p',
|
204 |
+
'productsPerPage' => 'limit'
|
205 |
);
|
206 |
}
|
207 |
|
211 |
* @return array
|
212 |
*/
|
213 |
public function getServerMappings() {
|
214 |
+
return array(
|
215 |
+
'q' => 'query',
|
216 |
+
'p' => 'page',
|
217 |
+
'limit' => 'productsPerPage'
|
218 |
+
);
|
219 |
}
|
220 |
|
221 |
public function getIgnoredClientParameters()
|
224 |
'channel' => true,
|
225 |
'format' => true,
|
226 |
'log' => true,
|
|
|
227 |
'query' => true,
|
228 |
'catalog' => true,
|
229 |
'navigation' => true
|
342 |
* Sets the idsOnly flag, which determines whether product ids or full records should be requested by the search adapters.
|
343 |
* Request only products ids if true, full records otherwise
|
344 |
*
|
345 |
+
* @param bool value
|
346 |
**/
|
347 |
public function setIdsOnly($value) {
|
348 |
$this->idsOnly = $value;
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
-
<name>
|
4 |
-
<version>4.1.
|
5 |
<stability>stable</stability>
|
6 |
-
<license uri="https://opensource.org/licenses/
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
-
<summary>4.1.
|
10 |
-
<description>4.1.
|
11 |
<notes>Release</notes>
|
12 |
<authors><author><name>FACTFinder</name><user>FACT_Finder</user><email>info@flagbit.de</email></author></authors>
|
13 |
-
<date>2016-
|
14 |
-
<time>
|
15 |
-
<contents><target name="magecommunity"><dir name="FACTFinder"><dir name="Asn"><dir name="Block"><dir name="Catalog"><dir name="Layer"><file name="Factfinder.php" hash="35260d6445bcd73eeed92ea0b59bfcfe"/><file name="State.php" hash="ebc75416866c210b8292bb8c49229f6a"/></dir><dir name="Product"><dir name="List"><file name="Toolbar.php" hash="d8d4604de9893d42314f49a4d9607c67"/></dir><file name="Pager.php" hash="ef138d898f99a109f74f78c503a88640"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="6fde379a75bfe38326da3a953c7806e6"/></dir><dir name="Model"><dir name="Catalog"><file name="Layer.php" hash="9e8f3a615c32be7dbca245964af509bd"/></dir><dir name="Handler"><file name="Search.php" hash="812e7bbf0588176741fbeabdce8eded0"/></dir><dir name="Layer"><dir name="Filter"><file name="Factfinder.php" hash="5be69efa3c55c85124912a7ef0219c2e"/><file name="Item.php" hash="4838675003cafa434bfe28f4e7506382"/></dir></dir><file name="Observer.php" hash="0b735dc2bddb8b7b21097b65c1b25ac0"/><dir name="Resource"><dir name="Product"><dir name="Attribute"><file name="Collection.php" hash="df002464c8d6c15b82938ad0fd33c0cb"/></dir></dir><dir name="Search"><file name="Collection.php" hash="5739b32fcfa8a18e9b934a341b373b36"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="2a37298b5ef36779a8f82ad676e425a0"/><file name="system.xml" hash="5867b0e1640a58f856d3bb2aad63bc7b"/></dir></dir><dir name="Campaigns"><dir name="Block"><file name="Abstract.php" hash="26dbcc3a0afb3a3d70555b713f633680"/><dir name="Advisory"><file name="Product.php" hash="6c64b484a3fc0d61a3256193ebd2d2cf"/><file name="Search.php" hash="5cbdf4c2780911f878f24390befe393f"/></dir><dir name="Feedback"><file name="Abstract.php" hash="1247447a9d2c8bf3b01dd4a1772035b7"/><file name="Cart.php" hash="0cf110d34d55b1f8660bc4630388c8d3"/><file name="Product.php" hash="815e0b4f8942873298fcaddb0bc2e9f8"/><file name="Search.php" hash="183e6ec0e007318106a1d9a9b1404400"/></dir><dir name="Pushed"><file name="Abstract.php" hash="4f71d41aaf5731ff0c21f9c748f77b62"/><file name="Cart.php" hash="4a9db84656c06dc6c79e36a47b80507c"/><file name="Product.php" hash="5b65eb29f0aea439d2e6f7189da189a5"/><file name="Search.php" hash="f441ceaba8b45cf5036c7f64b3adf644"/></dir></dir><dir name="Helper"><file name="Data.php" hash="d433d24642e09617763be74fd40eb6ab"/></dir><dir name="Model"><file name="Facade.php" hash="f95ad9be5e8ea7b4034e0be7e8b3fbbd"/><dir name="Handler"><file name="Abstract.php" hash="21ad21939a76852358f978c5870dd2f2"/><file name="Cart.php" hash="5b10d0868109b5db538a55f2010c9067"/><file name="Product.php" hash="d5a46bc62c3b84e98d7f3afafced00ef"/><file name="Search.php" hash="f8f33d47eb1a06215fed147551e9a730"/></dir><file name="Observer.php" hash="edc496d6aa423c47f6c08380cbde45d2"/><dir name="Resource"><dir name="Pushedproducts"><file name="Collection.php" hash="7c7856808c6d45cdc7ef8f8bcdb21182"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="7e99c8b5395d432106491068161a06f5"/><file name="system.xml" hash="c7d3cbffa95c58d453234faf2ab5e80c"/></dir></dir><dir name="Core"><dir name="Block"><dir name="Adminhtml"><file name="Exportlink.php" hash="c751d17b80a5fab97b517e0012f9352f"/><dir name="Form"><dir name="Field"><file name="Attribute.php" hash="e8cf45cabec771e23f7ab427c5a0418b"/><file name="Attributes.php" hash="5a9fd3e58f3097df76e740c8f8a4ee79"/></dir></dir></dir><dir name="Catalog"><dir name="Product"><dir name="List"><file name="Toolbar.php" hash="b9d88b8cd7e561a8bdc2e4ad7af1f849"/></dir><file name="Pager.php" hash="029396c3437cddf860fe6cc2648ae03e"/></dir></dir></dir><dir name="Helper"><file name="Backend.php" hash="de9e7487727f3fdb93ac7733d1688e7b"/><file name="Data.php" hash="2be1c051bfa480f91dc5cc00c134ed20"/><file name="Debug.php" hash="8646cee22b75885352eddaf94534d54c"/><file name="Search.php" hash="45b94f044c9a2026c97884f033173342"/></dir><dir name="Model"><file name="Autoloader.php" hash="d801eb1c69499f01e6a2acec138ad86f"/><dir name="CatalogSearch"><file name="Layer.php" hash="25e44c6b0220abfc55fd5d0fcb7aef41"/></dir><dir name="Export"><file name="Price.php" hash="63ee1aa451fa9b9defaa56d5f8ff6874"/><file name="Product.php" hash="b7e789afc56a230886ba7844c66c8361"/><file name="Stock.php" hash="8894d2260dbb9ce2eff0e68a9ca587a5"/></dir><file name="Facade.php" hash="9b49c420a5cc15989cf2b3958dcbe803"/><file name="File.php" hash="f1de59b81a9c7d585a045a55c6cf4c78"/><dir name="Handler"><file name="Abstract.php" hash="ee6c0e25a2bab7da70db8ece174c8506"/><file name="Search.php" hash="61b464fdbeb7c0eaac5a71a8103e203b"/><file name="Status.php" hash="55df1e44cec02d878cbd22ebdb7bf9ec"/></dir><file name="Observer.php" hash="a02a8b38239638bb1c5f50e2de64189f"/><dir name="Resource"><dir name="Search"><file name="Collection.php" hash="01ec18faf9b7f381187da7cbc0cf49de"/><file name="Engine.php" hash="28ba4556b3e03e15c9083dbe332f2f6d"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Attributes.php" hash="6ad3d69131c07cd9ee029c7b4eab51eb"/><file name="Cron.php" hash="fa667b087e443bf4b64fd33b7b4c7979"/><file name="Enabled.php" hash="b3046c3d646df980f53cbe9f4b25aa17"/></dir><dir name="Source"><file name="Authtype.php" hash="7f1a2ce0966b7fc4a75d14cc41bb113c"/><file name="Identifier.php" hash="87db05271d3b803bc2c75593b4204c8d"/><file name="Protocol.php" hash="5c09e8da2ccfaf0295bca0cfc002129a"/></dir></dir></dir></dir><dir name="controllers"><file name="ExportController.php" hash="bac8ffdf8a19003860c080b186fa679c"/></dir><dir name="etc"><file name="adminhtml.xml" hash="4930f4e7501ec007b6c88963e7986824"/><file name="config.xml" hash="6ca0b823a513d05cdf808d231d82c362"/><file name="system.xml" hash="fa886d7092f395309d2c29fc9766dc6c"/></dir></dir><dir name="Recommendation"><dir name="Helper"><file name="Data.php" hash="982d117121e8eaf3036ce56daec76000"/></dir><dir name="Model"><file name="Facade.php" hash="23c214148df422892d5e482f4398bbf8"/><dir name="Handler"><file name="Recommendations.php" hash="706f1b058b0245499ef7829a8d60c4f5"/></dir><file name="Observer.php" hash="14478c106a069d12acdda34527cae51e"/></dir><dir name="etc"><file name="config.xml" hash="5fddb4eb7c1d3562abb3e5849819facc"/><file name="system.xml" hash="f841228bf8a5397fe18da6186c5e3208"/></dir></dir><dir name="Suggest"><dir name="Block"><file name="TopSearch.php" hash="f7938ff4a378f63609de9910c8496a1b"/><dir name="XmlConnect"><dir name="Catalog"><dir name="Search"><file name="Suggest.php" hash="0eceb3fd01ee788b0f2504aa35a425d6"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="06dcf43c110d52b3c97d5801fd454bc4"/></dir><dir name="Model"><file name="Facade.php" hash="4288f0063e8b306e5c509c43f9af68d3"/><dir name="Handler"><file name="Suggest.php" hash="d6311cc9b343f0598cfe2e0b82908ab8"/></dir><file name="Observer.php" hash="dc7596f5ee9993af86be30dad854f64b"/><file name="Processor.php" hash="65c3875802e5e0d9826094066f861caf"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Imagetype.php" hash="c7f15e0f4012a34d16a1b8578ca8272e"/></dir></dir></dir></dir><dir name="controllers"><file name="ProxyController.php" hash="f08952928dd1f24bf3bcc90aef544d31"/></dir><dir name="etc"><file name="config.xml" hash="c2a21e0a85127dc9d1dbe5a99a85abe2"/><file name="system.xml" hash="08b3abf745077b5975d1a9c19ae63c5a"/></dir></dir><dir name="Tagcloud"><dir name="Block"><file name="TagCloud.php" hash="8317eb751f4213641bf11d620d821b34"/></dir><dir name="Helper"><file name="Data.php" hash="4c2f45b0646948037f6a4d369616ffd9"/></dir><dir name="Model"><file name="Facade.php" hash="5a03082c139a66194e8387590c8d7d3c"/><dir name="Handler"><file name="TagCloud.php" hash="8b422e7ce47ef6cdd0c8ad828e2d567f"/></dir></dir><dir name="etc"><file name="config.xml" hash="a3ec73012ae584e1c24ef19a8348a2ef"/></dir></dir><dir name="Tracking"><dir name="Block"><file name="Init.php" hash="68c2784f729526b6abb10aff8fb01423"/></dir><dir name="Helper"><file name="Data.php" hash="2b2cb7d9eaee59475edbf347d88bd93a"/></dir><dir name="Model"><file name="Facade.php" hash="30905fafc1ece980f1737801aabf7ab4"/><dir name="Handler"><file name="Tracking.php" hash="5a1ea77907983eeb425006da92ad755c"/></dir><file name="Observer.php" hash="b9686e8583e55f2e02f6e1cf005fe76e"/><file name="Processor.php" hash="9ebc5a5ab6773adc2887fa10ac8d676e"/><file name="Queue.php" hash="347c456f7abb7e4ccf2e425390400956"/><dir name="Resource"><dir name="Queue"><file name="Collection.php" hash="9bfb62d8281749404802340ba503b78d"/></dir><file name="Queue.php" hash="f4fdcb976f63c433e1c780881f70feef"/></dir></dir><dir name="controllers"><file name="ProxyController.php" hash="33c03c17c81a5924feea4cda441dd695"/></dir><dir name="etc"><file name="config.xml" hash="896a0bdca24704b056357e7756114ffc"/><file name="system.xml" hash="17ed879961b70090b3cdfaaaaab14b69"/></dir><dir name="sql"><dir name="factfinder_tracking_setup"><file name="mysql4-install-1.0.0.php" hash="f5f3ff6685453f01d06946eafa477186"/></dir></dir></dir></dir></target><target name="magelib"><dir name="FACTFinder"><dir name="Adapter"><file name="AbstractAdapter.php" hash="6277725d25414c66c67225af4a899589"/><file name="Compare.php" hash="8126e065653758fab5cc021c11db2f74"/><file name="Import.php" hash="584eecdb7281603ba5ef901082fb52d7"/><file name="ProductCampaign.php" hash="86da71c466ac5a7bef8e9228ba69df0c"/><file name="Recommendation.php" hash="4e21ac9fba2bf637571316eafdf2864d"/><file name="Search.php" hash="0190ba37d05b0f22ed114314773537d5"/><file name="SimilarRecords.php" hash="d8ed289c2c5aa13beeea99dab519db37"/><file name="Suggest.php" hash="1458032c95a4a83e7df7fb364532a25a"/><file name="TagCloud.php" hash="d92b899daa6c095229ea334015447236"/><file name="Tracking.php" hash="4e73b9a8573d527939712baf38f93df9"/></dir><dir name="Core"><file name="AbstractConfiguration.php" hash="c9630bf303f76e3aa5c2e096f0f606a2"/><file name="AbstractEncodingConverter.php" hash="7946720c77c47e3ed2070606a74a48cb"/><dir name="Client"><file name="RequestParser.php" hash="bc5dabb648f7278db4a1c5f14af4dfa0"/><file name="UrlBuilder.php" hash="d73cc166fcf20b7623ea0f7c319d3224"/></dir><file name="ConfigurationInterface.php" hash="1158aaee6a7502cf81bf27b8ed0c76ff"/><file name="IConvEncodingConverter.php" hash="5c504a3229cc8a59c09f03f3bf2c9348"/><file name="ManualConfiguration.php" hash="a49d0b05cc319b807c40b37a861b060d"/><dir name="Page"><file name=".gitignore" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir><file name="ParametersConverter.php" hash="9c01642c6de1842b8f1b4e8d9f93017e"/><dir name="Server"><file name="AbstractDataProvider.php" hash="8d33ddebe3d3e60b72893188d7f2369f"/><file name="ConnectionData.php" hash="c4246099ec93e7f589c0e22179d9557a"/><file name="EasyCurlDataProvider.php" hash="fb8eea986e8938aaef77480169223478"/><file name="EasyCurlRequestFactory.php" hash="61f88e882120dca5e5e1964d1f898527"/><file name="FileSystemDataProvider.php" hash="9e7b6f936cba18129334c364e8095b39"/><file name="FileSystemRequestFactory.php" hash="f0a464725448393e64948a6063208d91"/><file name="MultiCurlDataProvider.php" hash="2e467a4976694ef4e7775d913dafedf4"/><file name="MultiCurlRequestFactory.php" hash="41f978e0dd60065026dc5adced1f9503"/><file name="NullResponse.php" hash="3a419c1ea234ef20e1330c7b445eb9c6"/><file name="Request.php" hash="08ddaaa7701558e1802408089d15b5dd"/><file name="RequestFactoryInterface.php" hash="65cfad6045407bdd63af980f6f996c99"/><file name="Response.php" hash="695c80ce5ee4e8dc38c78d0349e1f31b"/><file name="UrlBuilder.php" hash="6f468178b95a96f6217f44f9ef392cfb"/></dir><file name="Utf8EncodingConverter.php" hash="1cb05e6f174e36ed3cce6e2a7eb987ed"/><file name="XmlConfiguration.php" hash="39e8bba8a34df5191d07939a342f5723"/></dir><dir name="Custom"><file name=".gitignore" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir><dir name="Data"><file name="AdvisorAnswer.php" hash="55ffe5c6f8e1363d1d02875feec202d1"/><file name="AdvisorQuestion.php" hash="baa784c529640f2976b22262ec6f8983"/><file name="AfterSearchNavigation.php" hash="f1d08832e73cf45b8a35d99020aa49ea"/><file name="ArticleNumberSearchStatus.php" hash="da1966d4016c32ea492b8b6b931d8222"/><file name="BreadCrumb.php" hash="84b69c8df53c6d9eb721950a29e4a84d"/><file name="BreadCrumbTrail.php" hash="324bb6a06c0058e53c58bd3f96fe0ff3"/><file name="BreadCrumbType.php" hash="46bc98a6078558efd1f32b71bf7c20de"/><file name="Campaign.php" hash="23966a3bea56ac66ff2b795e11983c6a"/><file name="CampaignIterator.php" hash="503766bc960efe69e861c2f45dce77d2"/><file name="Filter.php" hash="aafda20fe7c992af46316d74be33ec73"/><file name="FilterGroup.php" hash="c461c7d8d8fde546c12f8ad718a1b399"/><file name="FilterSelectionType.php" hash="bd0d0676af5d0182f6b6631e6df8ecb9"/><file name="FilterStyle.php" hash="8bd173b6a9cd3fc4ee17ed3006e82ced"/><file name="FilterType.php" hash="b073cf2f411298509337808624666687"/><file name="Item.php" hash="b91116ddeb81c0b90e76a2a4f7b51261"/><file name="Page.php" hash="35daab87fdc5e3b4732480996b982364"/><file name="Paging.php" hash="1b06374d761489582de08551f17a58a1"/><file name="Record.php" hash="cd62198f27ebbb1e0a88008642c7157a"/><file name="Result.php" hash="afc482631bc140904046d3a26a440143"/><file name="ResultsPerPageOptions.php" hash="ae22d184bf43cd7b11cad567489a2261"/><file name="SearchParameters.php" hash="d7041887d5f65e763c7a2e0a323b18fd"/><file name="SearchStatus.php" hash="356fd9774c237a0e26ac85a6186bccfd"/><file name="SingleWordSearchItem.php" hash="db057d7f0460f29c5b31ab9689b3906b"/><file name="SliderFilter.php" hash="344d226acde13ec85f59d5a97cf8afc5"/><file name="Sorting.php" hash="284b4811c99ad057d08caead45ea2dee"/><file name="SuggestQuery.php" hash="4011313cfd853eace88c399444ffa4cc"/><file name="TagQuery.php" hash="a4460d5e8a9f918eea820a029dc21290"/></dir><file name="Loader.php" hash="cf900585b0fd44978f97e7a2b2279a99"/><dir name="Util"><file name="Curl.php" hash="c9cbe7b2116dd6160b8db3a14b634561"/><file name="CurlHandle.php" hash="bea42fdebc33e31cf58889de18232d3e"/><file name="CurlInterface.php" hash="1858bc215b7706ba81ff6e14aa2f4750"/><file name="CurlMultiHandle.php" hash="2085a5a09c218971412a44c0dad6bf72"/><file name="CurlStub.php" hash="555c36a9a5352e1a6acfd65a68cf911b"/><file name="Log4PhpLogger.php" hash="54da14fa0a24c9454d52bc2b850c477f"/><file name="LoggerInterface.php" hash="36dfa3ee8a089595ef285806d0068b27"/><file name="NullLogger.php" hash="51e1a2a9c89a9efba49d0a0d3ee9325d"/><file name="Parameters.php" hash="b2e7ef7484319fdf68bef4a69b5e9175"/><file name="Pimple.php" hash="fb5e70660a5fe56edfdf11bec1ba6009"/></dir></dir><dir name="FACTFinderCustom"><file name="Configuration.php" hash="37bb706f0a30eeaf9981e033b2c52a21"/></dir><dir name="log4php"><file name="Logger.php" hash="39841035ea058cc62571fcb9b4f3aa43"/><file name="LoggerAppender.php" hash="a8b07b24ee26931cef9373163542128a"/><file name="LoggerAppenderPool.php" hash="7e44ee58fbd3c50ae51c98742aa4f327"/><file name="LoggerAutoloader.php" hash="5aa85dd61ff00167d2b9d482bf418c77"/><file name="LoggerConfigurable.php" hash="4c89cbf3c90a724930c6d46995da16bd"/><file name="LoggerConfigurator.php" hash="b8ac801c410e0515fbd5ec6b67dfb40b"/><file name="LoggerException.php" hash="c91fd8cc5bfee3cad373f8ed9440458c"/><file name="LoggerFilter.php" hash="39b6689eeb15e468781c0a62a8f482b5"/><file name="LoggerHierarchy.php" hash="be16af259ec43bef5c49bd1118e94859"/><file name="LoggerLayout.php" hash="7c089f20f7abba10699de2bd4423af7c"/><file name="LoggerLevel.php" hash="f380928eb1aac5ade3d7654f200ebb81"/><file name="LoggerLocationInfo.php" hash="33f1a195cfdcc7ebf681a3085eb6b228"/><file name="LoggerLoggingEvent.php" hash="f227e5ae0d04fef3a36899906d4ad478"/><file name="LoggerMDC.php" hash="64868651982829e59d3b316498145a79"/><file name="LoggerNDC.php" hash="482045e33b9fe22e53269c021cbfe877"/><file name="LoggerReflectionUtils.php" hash="174b22dd241ba4263aba8d978d37959f"/><file name="LoggerRoot.php" hash="0d762ed21fdff2708adab3068b94c2c3"/><file name="LoggerThrowableInformation.php" hash="76d98d20d55cf0e3bd4b1b138023c3af"/><dir name="appenders"><file name="LoggerAppenderConsole.php" hash="5eefc20589c86b11d2832f9a8fafa44f"/><file name="LoggerAppenderDailyFile.php" hash="f97b57f6b0b9dba2f650ae5e17d9f28b"/><file name="LoggerAppenderEcho.php" hash="76824ae7be6503e8c5ca3a9fc15b7816"/><file name="LoggerAppenderFile.php" hash="92481c41d6f9d3d2cf6cfc82c7c0ef22"/><file name="LoggerAppenderFirePHP.php" hash="1eccdf817ff2e0204265a5a77901f0a1"/><file name="LoggerAppenderMail.php" hash="a23d71d709af265b20797eeb0d71911e"/><file name="LoggerAppenderMailEvent.php" hash="f853e9e18511ab18873484882c744655"/><file name="LoggerAppenderMongoDB.php" hash="494b30e44a3add5eeb9c0d54ea88c29b"/><file name="LoggerAppenderNull.php" hash="ec6ca85fadc4d71f75b5e8e13df6e058"/><file name="LoggerAppenderPDO.php" hash="4388d8e542fe680228365ffd48d8ab6d"/><file name="LoggerAppenderPhp.php" hash="9853767b74b8234361ace83867c9f18d"/><file name="LoggerAppenderRollingFile.php" hash="5bc49b8f05b36842b800d699bfe05e45"/><file name="LoggerAppenderSocket.php" hash="6111536426fdf6f8a4adafb460510301"/><file name="LoggerAppenderSyslog.php" hash="afda0ccf876a87781e58d63104519bdc"/></dir><dir name="configurators"><file name="LoggerConfigurationAdapter.php" hash="b07bade9ae4809776742d3b36ca4feb7"/><file name="LoggerConfigurationAdapterINI.php" hash="bfbca46c36693f098334699c7b71b569"/><file name="LoggerConfigurationAdapterPHP.php" hash="9f9c0bd65cda5224c8e90726baebb363"/><file name="LoggerConfigurationAdapterXML.php" hash="42ec1e713dadb1c6c813df278e6c58cb"/><file name="LoggerConfiguratorDefault.php" hash="a27dd348466a605849ffa946a5fa7bdf"/></dir><dir name="filters"><file name="LoggerFilterDenyAll.php" hash="8800e84c773b87e2638d22d627baae51"/><file name="LoggerFilterLevelMatch.php" hash="2ea447c40baea629486a6b7a4f8f352d"/><file name="LoggerFilterLevelRange.php" hash="b4b6753e0d0a8d734471482bb7b4981c"/><file name="LoggerFilterStringMatch.php" hash="342113e5152ef6e9703807fa36e52785"/></dir><dir name="helpers"><file name="LoggerFormattingInfo.php" hash="89a5ed8f751e4a6a826275619266b911"/><file name="LoggerOptionConverter.php" hash="e02f5ffc3918a0352bf77121e5add1d5"/><file name="LoggerPatternParser.php" hash="a5d4dfeb2a66b022380e0e3d7ba9b318"/><file name="LoggerUtils.php" hash="90264a3263bc4e3a3dac1dbeb3cc35df"/></dir><dir name="layouts"><file name="LoggerLayoutHtml.php" hash="cf6066b51d7ac2de4accaf13f68fb442"/><file name="LoggerLayoutPattern.php" hash="10c48d2fa44953d20fcb3e3542a05ebf"/><file name="LoggerLayoutSerialized.php" hash="cef71f72176167a15c79f5cab5515a77"/><file name="LoggerLayoutSimple.php" hash="ba2aaa713c715b823c4e767a2f0b3e67"/><file name="LoggerLayoutTTCC.php" hash="1ecb0af018b78ad42f4a9d70e182f429"/><file name="LoggerLayoutXml.php" hash="b52409dbb1bacc1c7b4c5ddf66ed8afa"/></dir><dir name="pattern"><file name="LoggerPatternConverter.php" hash="fcbd56bf082b96f02fcf5b0b552de4c1"/><file name="LoggerPatternConverterClass.php" hash="e61c2f7544feee8ee9b966311471a2a7"/><file name="LoggerPatternConverterCookie.php" hash="465d359167443336f258d9b5a89095ef"/><file name="LoggerPatternConverterDate.php" hash="4a399075a3c2d7542e3c649f55162482"/><file name="LoggerPatternConverterEnvironment.php" hash="829265aa84843818bd9faf3bd42b0432"/><file name="LoggerPatternConverterFile.php" hash="a7091f0857b99db4e00c33b61df5e3d3"/><file name="LoggerPatternConverterLevel.php" hash="6219dcb0d8630e6f69cbf4ba669fd11f"/><file name="LoggerPatternConverterLine.php" hash="a27bf38b5c6453a9925d365bde65fe47"/><file name="LoggerPatternConverterLiteral.php" hash="a2cd9e35ca6253cde6a467320837a767"/><file name="LoggerPatternConverterLocation.php" hash="b88efadaccdf31b25b1fb14866c106a0"/><file name="LoggerPatternConverterLogger.php" hash="4342ab32fa26cdf53308896272c2e36b"/><file name="LoggerPatternConverterMDC.php" hash="d241043bc9ea9ecdbf3a0ae5d5a42206"/><file name="LoggerPatternConverterMessage.php" hash="cad3040a1a3d1d40dc6a26727bebe19d"/><file name="LoggerPatternConverterMethod.php" hash="3208fb30a3bc0a7e0fb281800c43ecef"/><file name="LoggerPatternConverterNDC.php" hash="2e68ba79896c47c5067bbf0b371df260"/><file name="LoggerPatternConverterNewLine.php" hash="291bd541e0f689484a5596323e3cac14"/><file name="LoggerPatternConverterProcess.php" hash="7421d9b9b6a5f8f51c3a9a1c796911a5"/><file name="LoggerPatternConverterRelative.php" hash="24495b25867aac190135610061cd244d"/><file name="LoggerPatternConverterRequest.php" hash="67a484d44fd7ddc06a654995904e9653"/><file name="LoggerPatternConverterServer.php" hash="bef42f8b51bc220453e3f4b1e67e7402"/><file name="LoggerPatternConverterSession.php" hash="7cd6290d364837cd2ff4358c03022e98"/><file name="LoggerPatternConverterSessionID.php" hash="fc7b37aa3cb28fbb09862eb7edc6d042"/><file name="LoggerPatternConverterSuperglobal.php" hash="6b984fb3d26fb0186595370d0f066659"/><file name="LoggerPatternConverterThrowable.php" hash="4ca10f0f20408a30243ff589415634c9"/></dir><dir name="renderers"><file name="LoggerRenderer.php" hash="332819a947805d55c2aa546ced274f01"/><file name="LoggerRendererDefault.php" hash="4c4003cde8e0a74cc562060ca7bccf61"/><file name="LoggerRendererException.php" hash="4b2def2de9aa459bd321e826c02e31c2"/><file name="LoggerRendererMap.php" hash="b9aadee6f31f7cb38210653141b94fa6"/></dir><dir name="xml"><file name="log4php.dtd" hash="fb7e60edf02964352b7ddee1f26d8924"/></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="factfinder"><file name="asn.xml" hash="057c976595d38cdbeb9b5ff397b2d6a1"/><file name="campaigns.xml" hash="1cb6da6869cc7a9689bace3249dc89c5"/><file name="core.xml" hash="a2a61da60312680810321457a10d3dcd"/><file name="suggest.xml" hash="4f0563594cad609abe7ff35f8e95b5c5"/><file name="tagcloud.xml" hash="c8e773b6927a090032acfa12df87b6a4"/><file name="tracking.xml" hash="d9782fb2af571134b20b9aaf0fae5b11"/></dir></dir><dir name="template"><dir name="factfinder"><dir name="asn"><dir name="layer"><dir name="filter"><file name="slider.phtml" hash="dd59d661b62a2e78314a83851a164c94"/></dir><file name="slider.phtml" hash="029eee663c434a3fe0b97a25285b6d14"/></dir></dir><dir name="campaigns"><file name="advisory.phtml" hash="07dfd515ce1b4a98f00e6ad00b11d4c8"/><file name="feedback.phtml" hash="1d43c59923a6823deabeea81774a7d35"/><file name="pushed.phtml" hash="b9061fdd98e6352967abe407ea3fc1ce"/></dir><dir name="core"><dir name="export"><file name="locked.phtml" hash="07b48f135359f6c7cce6ed6f79aa80b4"/><file name="nofile.phtml" hash="1e49f98fccd6e48e151a846677fa1c68"/></dir></dir><dir name="suggest"><file name="advancedsuggest.phtml" hash="b0e5493c5759b493422081875fee6990"/></dir><dir name="tracking"><file name="init.phtml" hash="f83735c570cad3a4da2e6022392492b5"/></dir></dir></dir></dir></dir></dir></target><target name="mage"><dir name="app"><dir name="etc"><file name="factfinder.xml" hash="f87803fd5c96fc784baff992c2bce96b"/></dir></dir><dir name="shell"><file name="factfinder.php" hash="102cc3521ad25e062bdbe6616f63776f"/></dir></target><target name="mageweb"><dir name="js"><dir name="factfinder"><file name="jXHR.js" hash="a62424da9902b49a76659683121618d0"/><file name="suggest.js" hash="4ba0096ccb7b8244b75a253c58ef1e92"/><file name="tracking.js" hash="62dfcaeb0e6cd43c460d0cfaab2fb446"/></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
-
<dependencies><required><php><min>5.3.0</min><max>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
+
<name>Flagbit_Factfinder</name>
|
4 |
+
<version>4.1.9</version>
|
5 |
<stability>stable</stability>
|
6 |
+
<license uri="https://opensource.org/licenses/MIT">MIT</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
+
<summary>4.1.9 Release</summary>
|
10 |
+
<description>4.1.9 Release</description>
|
11 |
<notes>Release</notes>
|
12 |
<authors><author><name>FACTFinder</name><user>FACT_Finder</user><email>info@flagbit.de</email></author></authors>
|
13 |
+
<date>2016-08-26</date>
|
14 |
+
<time>12:56:51</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="FACTFinder"><dir name="Asn"><dir name="Block"><dir name="Catalog"><dir name="Layer"><file name="Factfinder.php" hash="0e79d252a2752aab67f7490436350fe7"/><file name="State.php" hash="2bf2c99237e881372fdc074c3505d188"/></dir><dir name="Product"><dir name="List"><file name="Toolbar.php" hash="9b0c98e266174c8f8b02b896a556b769"/></dir><file name="Pager.php" hash="ec87967ba312a3d589e0af0afbacdd0a"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="668be3edd4c8f6d0e051252d2e52d545"/></dir><dir name="Model"><dir name="Catalog"><file name="Layer.php" hash="6dafe882395b5d09f84c102f3b785410"/></dir><dir name="Handler"><file name="Search.php" hash="bbec7bd87e1d2f15792fdda46f34eb52"/></dir><dir name="Layer"><dir name="Filter"><file name="Factfinder.php" hash="2666ae9c79aa939e9539a1af5b0f7784"/><file name="Item.php" hash="a68545b4cb4487691ae75cdbf47af377"/></dir></dir><file name="Observer.php" hash="9ec46432b3d3170b626cfb4439315209"/><dir name="Resource"><dir name="Product"><dir name="Attribute"><file name="Collection.php" hash="03b060fd637de1fd632f1b9784b1124c"/></dir></dir><dir name="Search"><file name="Collection.php" hash="3e7a88eb53ccfb79b4448f9eb7bd4177"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="e07b890b06b00d94bc4a4a5931325366"/><file name="system.xml" hash="d76e04ebe1d564be4113c1428fdfc637"/></dir></dir><dir name="Campaigns"><dir name="Block"><file name="Abstract.php" hash="cc5e41bb89f07f191be99430451221fa"/><dir name="Advisory"><file name="Search.php" hash="1d4bf82a7baffbe64be17216436c35d4"/></dir><dir name="Feedback"><file name="Abstract.php" hash="018e415bdd754127cfad8bfa5881c0ce"/><file name="Cart.php" hash="35f9fec2518383c909495af90b324b8b"/><file name="Product.php" hash="82999021756a26d81bf829b9aa4dd5cc"/><file name="Search.php" hash="ebf3d35f6425b771291b08f696169d04"/></dir><dir name="Pushed"><file name="Abstract.php" hash="fbfbf5cb5c1ebce8e588ac7af1f1458d"/><file name="Cart.php" hash="741d3bd71ce91cd583778a5e26be9ff5"/><file name="Product.php" hash="c1e774c4ceb71469080e49557887a893"/><file name="Search.php" hash="ae352cfd5ca8bdf2a0b46d1148c710ae"/></dir></dir><dir name="Helper"><file name="Data.php" hash="c7882a90dca46e639a5e4c64bef153ff"/></dir><dir name="Model"><file name="Facade.php" hash="44fc55139509b76f19b7c95c6a81eb4c"/><dir name="Handler"><file name="Abstract.php" hash="04dd6ad2a877111364fd9c8f132671fc"/><file name="Cart.php" hash="128dd5052d20384ea2220020469f7cf6"/><file name="Product.php" hash="8d48380fbccec220bc4caabbcb5d7d7d"/><file name="Search.php" hash="e039a207ca98655c647355ebf287566d"/></dir><file name="Observer.php" hash="043e7411be7ec13a656b07750a7811af"/><dir name="Resource"><dir name="Pushedproducts"><file name="Collection.php" hash="569856158dee935d611ebc30f426835c"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="8f6b7cec7cff39b149beeffb39764668"/><file name="system.xml" hash="54992bb35ac6088733d3f18408872fdb"/></dir></dir><dir name="Core"><dir name="Block"><dir name="Adminhtml"><file name="Exportlink.php" hash="7a845ee8974cfcf74d9a32fed2ac0b21"/><dir name="Form"><dir name="Field"><file name="Attribute.php" hash="bea2183e56100233e7aebaccd6680c6f"/><file name="Attributes.php" hash="292742f954dec1863caaee9313a237c9"/></dir></dir></dir><dir name="Catalog"><dir name="Product"><dir name="List"><file name="Toolbar.php" hash="b9438ae943def50b46531ac1265e0634"/></dir><file name="Pager.php" hash="aa301fb57966bafcc370fa510d2ad146"/></dir></dir><dir name="CatalogSearch"><file name="Layer.php" hash="ad3dcdd26b5a723e43c7b8011a4ea25f"/></dir><dir name="EnterpriseSearch"><file name="Layer.php" hash="19455e36be3e0c14cabba762ccbdef1a"/></dir></dir><dir name="Helper"><file name="Backend.php" hash="f30c89ca668b193a8fc8bf00eda34413"/><file name="Data.php" hash="5108935421d26c45a63676b6b97f3044"/><file name="Debug.php" hash="c563d343c68db980e9256dc510e78ea1"/><file name="Export.php" hash="e48e0b03c1da11fab1c6d74648b4e014"/><file name="Rewrite.php" hash="30921c0924e535d669ecdd7e9592f883"/><file name="Search.php" hash="fd1e90271d620c57a0cb7b80e33f536f"/></dir><dir name="Model"><file name="Autoloader.php" hash="29370ccbcd483f93be86999485889900"/><dir name="CatalogSearch"><file name="Layer.php" hash="8d15e27cca249cd3827d33e9acdbb369"/><file name="Query.php" hash="4f5b732eb28a7c1efde28eb602c38772"/></dir><dir name="Export"><file name="Observer.php" hash="03a94f73f89b923c374a2663b03e3497"/><file name="Price.php" hash="1128559eb16cf0d562ad22af9ccdd1a4"/><file name="Product.php" hash="13fe01bed2105dd1eddaa886c621a2bc"/><file name="Stock.php" hash="d6531c28c572968ab82d3282eda9b29a"/></dir><file name="Facade.php" hash="1b66c3bfea09a60611b232f36ac4ba60"/><file name="File.php" hash="77cc3d2067b42c2cad6f21dcb6d7a73e"/><file name="Ftp.php" hash="d70cfab0ce607aca6efa32d82d3a85c3"/><dir name="Handler"><file name="Abstract.php" hash="1924821d13996f9f672369b63a05ac08"/><file name="Search.php" hash="63a9a4b197027654c5328f37245d7add"/><file name="Status.php" hash="635b9cb62808803be64d373dc2a0e808"/></dir><file name="Observer.php" hash="e5decfa3b52571cb75335dd41b1927f5"/><dir name="Resource"><file name="Fulltext.php" hash="dfbece11e5fe8224c94d1e1bb7affe3e"/><dir name="Search"><file name="Collection.php" hash="50596cf9508d0d96a4bb315a50f35984"/><file name="Engine.php" hash="602547a2d224f80933b6681db1cb3cc4"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Attributes.php" hash="d877a4da13c592f5b8260b202bcead13"/><file name="Cron.php" hash="f24b6995fea6309acb720876f3156270"/><file name="Enabled.php" hash="cb13a29b7100518350a7e5830180e9bd"/><file name="Engine.php" hash="ef1f702d79c7ed0fe72437ca4bf13a19"/></dir><dir name="Source"><file name="Authtype.php" hash="7ce07da0f6bcb8e88b5699ace77e6f31"/><file name="Engine.php" hash="8f1c2f344aa3182c312a665488661fa5"/><file name="Identifier.php" hash="a80606fe94b2eaf78f8d07628f2a64f0"/><file name="Protocol.php" hash="310b7fd8648b60f5cc9c3e3c9f87345c"/></dir></dir></dir><file name="Url.php" hash="57e5e87457b3051cec9bc3c988f79282"/></dir><dir name="controllers"><file name="ExportController.php" hash="4e0800619796d128a9466c84fecd3b56"/></dir><dir name="etc"><file name="adminhtml.xml" hash="0247e1b846aefb3fb9c5c0706681a586"/><file name="config.xml" hash="471974367bce221b6795be5f4015a6e9"/><file name="system.xml" hash="66c43a66c412e296809d8c77cafb7b51"/></dir></dir><dir name="Recommendation"><dir name="Helper"><file name="Data.php" hash="a09697fa784bfd2fe23f6b4fbd9f3e84"/></dir><dir name="Model"><file name="Facade.php" hash="ed9c246bc831c7f3950a88853d401288"/><dir name="Handler"><file name="Recommendations.php" hash="f5645b78a6dca466af5b22ff0456ca71"/></dir><file name="Observer.php" hash="4db52b3863efccd17b19e92e6ff2521e"/></dir><dir name="etc"><file name="config.xml" hash="03ec96e0fa78fdfbc3d4d5fac7193704"/><file name="system.xml" hash="f841228bf8a5397fe18da6186c5e3208"/></dir></dir><dir name="Suggest"><dir name="Block"><file name="TopSearch.php" hash="96fc7e73d907a0438111253ae6c5fc6f"/><dir name="XmlConnect"><dir name="Catalog"><dir name="Search"><file name="Suggest.php" hash="150658cb1d7bc7ae5b4566ed1331bb12"/></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="b62d7dbfc30329545823b8988a78f20a"/></dir><dir name="Model"><file name="Facade.php" hash="254f13fa4cbbe9602ae40c5cd124282e"/><dir name="Handler"><file name="Suggest.php" hash="948fd13668d507ba4ebed7c9a2055be4"/></dir><file name="Observer.php" hash="f23771ea8bd4d679a90282714275aeb7"/><file name="Processor.php" hash="f37cf3fb0c72464f1e651f34d64b44dd"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Imagetype.php" hash="a8a39dc5d44080a3b070bc72f103efef"/></dir></dir></dir></dir><dir name="controllers"><file name="ProxyController.php" hash="68fc8cee37a52a538762252e47f340a1"/></dir><dir name="etc"><file name="config.xml" hash="5e6b384d971afc4a0c6b7cc4d437badf"/><file name="system.xml" hash="10d1692d1a09edc2edb5344d41a1d9ae"/></dir></dir><dir name="Tagcloud"><dir name="Block"><file name="TagCloud.php" hash="d0c6c681b3da27ef349ff1295c5e26a9"/></dir><dir name="Helper"><file name="Data.php" hash="ea2c8093a1d87a8148f1205e8b73cc2d"/></dir><dir name="Model"><file name="Facade.php" hash="69069badc93509011f7c4fa2b1ca3e72"/><dir name="Handler"><file name="TagCloud.php" hash="e2e5ba229002ad3cfa5769a9f74d808b"/></dir></dir><dir name="etc"><file name="config.xml" hash="3ff00cc34fdbaed962f704204ce47f1a"/></dir></dir><dir name="Tracking"><dir name="Block"><file name="Abstract.php" hash="24419c96d9768b86ec890a1b38278e0f"/><file name="Click.php" hash="b85c8619ab7a18163a4ce27ffe9fd8da"/><file name="Recommendation.php" hash="0ed995b57afb6efa4a72d414dc7db3bf"/></dir><dir name="Helper"><file name="Data.php" hash="f0018ce83f815b057fab66351e58fdb6"/></dir><dir name="Model"><file name="Facade.php" hash="f8684a20a82bff4b668af460af476d41"/><dir name="Handler"><file name="Tracking.php" hash="9672d838ac3775c8a7dc4ef70593ca7e"/></dir><file name="Observer.php" hash="69e6c0236f629cb7f5b168b7ce3b6b84"/><file name="Processor.php" hash="9fd3af06f452ca2cb719d135b6ecda52"/><file name="Queue.php" hash="046d6d464d56a609b71574c6e0a3c4d1"/><dir name="Resource"><dir name="Queue"><file name="Collection.php" hash="daecedd55cb992ae3988305324c8c1b9"/></dir><file name="Queue.php" hash="3be1d09978ae6e8c56fb673931b05479"/></dir></dir><dir name="controllers"><file name="ProxyController.php" hash="33f25104bc086fcbe998459baccdd0b3"/></dir><dir name="etc"><file name="config.xml" hash="e3a33e4ca92d72192bcc0e73eb7db9a5"/><file name="system.xml" hash="3e5a4357f098832fa5e6ef67d1ceecaa"/></dir><dir name="sql"><dir name="factfinder_tracking_setup"><file name="install-1.0.0.php" hash="553ad063abd837a220ebff97618578b4"/><file name="upgrade-1.0.0-4.1.2.php" hash="a80b4f755d0bea172eefebe10b877cd6"/></dir></dir></dir></dir></target><target name="magelib"><dir name="FACTFinder"><dir name="Adapter"><file name="AbstractAdapter.php" hash="b24c565309d7d3b6363b5ab059f9b55f"/><file name="Compare.php" hash="b6452710afb4ff28509f6426c95bec74"/><file name="Import.php" hash="584eecdb7281603ba5ef901082fb52d7"/><file name="ProductCampaign.php" hash="1f05bb0b3911425e2b472cb5c76e705c"/><file name="Recommendation.php" hash="55508a24d0fa324a426bf1cbf1baf913"/><file name="Search.php" hash="29af1b0da523085c0a676331284331ae"/><file name="SimilarRecords.php" hash="2f9c9fd1751dacb1a56c432320d94c19"/><file name="Suggest.php" hash="5f91090f7c7ea764f9fc21938aade3c8"/><file name="TagCloud.php" hash="fe1faf30373e91b96e57c08fb64df23a"/><file name="Tracking.php" hash="b71446f5d1ba0e44c09ae4e7012bca55"/></dir><dir name="Core"><file name="AbstractConfiguration.php" hash="a6f7c0b9013a7986a1fa798e8fc3414c"/><file name="AbstractEncodingConverter.php" hash="7946720c77c47e3ed2070606a74a48cb"/><file name="ArrayConfiguration.php" hash="dc60873fa6eed180126944247cb4de99"/><dir name="Client"><file name="RequestParser.php" hash="bc5dabb648f7278db4a1c5f14af4dfa0"/><file name="UrlBuilder.php" hash="d73cc166fcf20b7623ea0f7c319d3224"/></dir><file name="ConfigurationInterface.php" hash="1158aaee6a7502cf81bf27b8ed0c76ff"/><file name="IConvEncodingConverter.php" hash="5c504a3229cc8a59c09f03f3bf2c9348"/><file name="ManualConfiguration.php" hash="a49d0b05cc319b807c40b37a861b060d"/><dir name="Page"><file name=".gitignore" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir><file name="ParametersConverter.php" hash="9c01642c6de1842b8f1b4e8d9f93017e"/><dir name="Server"><file name="AbstractDataProvider.php" hash="8d33ddebe3d3e60b72893188d7f2369f"/><file name="ConnectionData.php" hash="c4246099ec93e7f589c0e22179d9557a"/><file name="EasyCurlDataProvider.php" hash="48f452cd3ca1dcf3b4e7cc4d8b59c8a9"/><file name="EasyCurlRequestFactory.php" hash="61f88e882120dca5e5e1964d1f898527"/><file name="FileSystemDataProvider.php" hash="30b428e2b76307b1143057a155371c34"/><file name="FileSystemRequestFactory.php" hash="f0a464725448393e64948a6063208d91"/><file name="MultiCurlDataProvider.php" hash="2e467a4976694ef4e7775d913dafedf4"/><file name="MultiCurlRequestFactory.php" hash="41f978e0dd60065026dc5adced1f9503"/><file name="NullResponse.php" hash="3a419c1ea234ef20e1330c7b445eb9c6"/><file name="Request.php" hash="08ddaaa7701558e1802408089d15b5dd"/><file name="RequestFactoryInterface.php" hash="65cfad6045407bdd63af980f6f996c99"/><file name="Response.php" hash="695c80ce5ee4e8dc38c78d0349e1f31b"/><file name="UrlBuilder.php" hash="6f468178b95a96f6217f44f9ef392cfb"/></dir><file name="Utf8EncodingConverter.php" hash="1cb05e6f174e36ed3cce6e2a7eb987ed"/><file name="XmlConfiguration.php" hash="faafd887682d6aa01f61604df24df277"/></dir><dir name="Custom"><file name=".gitignore" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir><dir name="Data"><file name="AdvisorAnswer.php" hash="55ffe5c6f8e1363d1d02875feec202d1"/><file name="AdvisorQuestion.php" hash="baa784c529640f2976b22262ec6f8983"/><file name="AfterSearchNavigation.php" hash="f1d08832e73cf45b8a35d99020aa49ea"/><file name="ArticleNumberSearchStatus.php" hash="da1966d4016c32ea492b8b6b931d8222"/><file name="BreadCrumb.php" hash="84b69c8df53c6d9eb721950a29e4a84d"/><file name="BreadCrumbTrail.php" hash="324bb6a06c0058e53c58bd3f96fe0ff3"/><file name="BreadCrumbType.php" hash="c9c3568bbfa4989517ee8f3b9c779fa2"/><file name="Campaign.php" hash="23966a3bea56ac66ff2b795e11983c6a"/><file name="CampaignIterator.php" hash="503766bc960efe69e861c2f45dce77d2"/><file name="Filter.php" hash="aafda20fe7c992af46316d74be33ec73"/><file name="FilterGroup.php" hash="8820c34c807044489682a290e86466b6"/><file name="FilterSelectionType.php" hash="bd0d0676af5d0182f6b6631e6df8ecb9"/><file name="FilterStyle.php" hash="1299441866fb075e331d2f9ca2755091"/><file name="FilterType.php" hash="b073cf2f411298509337808624666687"/><file name="Item.php" hash="b91116ddeb81c0b90e76a2a4f7b51261"/><file name="Page.php" hash="35daab87fdc5e3b4732480996b982364"/><file name="Paging.php" hash="1b06374d761489582de08551f17a58a1"/><file name="Record.php" hash="cd62198f27ebbb1e0a88008642c7157a"/><file name="Result.php" hash="01b94e91b11b61d794fb9ff40d6148d3"/><file name="ResultsPerPageOptions.php" hash="ae22d184bf43cd7b11cad567489a2261"/><file name="SearchParameters.php" hash="d7041887d5f65e763c7a2e0a323b18fd"/><file name="SearchStatus.php" hash="356fd9774c237a0e26ac85a6186bccfd"/><file name="SingleWordSearchItem.php" hash="db057d7f0460f29c5b31ab9689b3906b"/><file name="SliderFilter.php" hash="344d226acde13ec85f59d5a97cf8afc5"/><file name="Sorting.php" hash="284b4811c99ad057d08caead45ea2dee"/><file name="SortingDirection.php" hash="ec86bc437928a4aa623a8c098c94f435"/><file name="SortingItem.php" hash="428e8c59a5372cafc5ec69bf868dea18"/><file name="SortingItems.php" hash="4fd36b79ed02099265103e1e81c71557"/><file name="SuggestQuery.php" hash="4011313cfd853eace88c399444ffa4cc"/><file name="TagQuery.php" hash="a4460d5e8a9f918eea820a029dc21290"/></dir><file name="Loader.php" hash="cf900585b0fd44978f97e7a2b2279a99"/><dir name="Util"><file name="Curl.php" hash="c9cbe7b2116dd6160b8db3a14b634561"/><file name="CurlHandle.php" hash="bea42fdebc33e31cf58889de18232d3e"/><file name="CurlInterface.php" hash="1858bc215b7706ba81ff6e14aa2f4750"/><file name="CurlMultiHandle.php" hash="2085a5a09c218971412a44c0dad6bf72"/><file name="CurlStub.php" hash="555c36a9a5352e1a6acfd65a68cf911b"/><file name="Log4PhpLogger.php" hash="d232fe476b310ec8692877edddc972e4"/><file name="LoggerInterface.php" hash="36dfa3ee8a089595ef285806d0068b27"/><file name="NullLogger.php" hash="51e1a2a9c89a9efba49d0a0d3ee9325d"/><file name="Parameters.php" hash="6bb6f333d55dd7bce2a0014f10edbc29"/><file name="Pimple.php" hash="fb5e70660a5fe56edfdf11bec1ba6009"/></dir></dir><dir name="FACTFinderCustom"><file name="Configuration.php" hash="93832ed3840c5899c9c761c702dec17b"/></dir><dir name="log4php"><file name="Logger.php" hash="39841035ea058cc62571fcb9b4f3aa43"/><file name="LoggerAppender.php" hash="a8b07b24ee26931cef9373163542128a"/><file name="LoggerAppenderPool.php" hash="7e44ee58fbd3c50ae51c98742aa4f327"/><file name="LoggerAutoloader.php" hash="5aa85dd61ff00167d2b9d482bf418c77"/><file name="LoggerConfigurable.php" hash="4c89cbf3c90a724930c6d46995da16bd"/><file name="LoggerConfigurator.php" hash="b8ac801c410e0515fbd5ec6b67dfb40b"/><file name="LoggerException.php" hash="c91fd8cc5bfee3cad373f8ed9440458c"/><file name="LoggerFilter.php" hash="39b6689eeb15e468781c0a62a8f482b5"/><file name="LoggerHierarchy.php" hash="be16af259ec43bef5c49bd1118e94859"/><file name="LoggerLayout.php" hash="7c089f20f7abba10699de2bd4423af7c"/><file name="LoggerLevel.php" hash="f380928eb1aac5ade3d7654f200ebb81"/><file name="LoggerLocationInfo.php" hash="33f1a195cfdcc7ebf681a3085eb6b228"/><file name="LoggerLoggingEvent.php" hash="f227e5ae0d04fef3a36899906d4ad478"/><file name="LoggerMDC.php" hash="64868651982829e59d3b316498145a79"/><file name="LoggerNDC.php" hash="482045e33b9fe22e53269c021cbfe877"/><file name="LoggerReflectionUtils.php" hash="174b22dd241ba4263aba8d978d37959f"/><file name="LoggerRoot.php" hash="0d762ed21fdff2708adab3068b94c2c3"/><file name="LoggerThrowableInformation.php" hash="76d98d20d55cf0e3bd4b1b138023c3af"/><dir name="appenders"><file name="LoggerAppenderConsole.php" hash="5eefc20589c86b11d2832f9a8fafa44f"/><file name="LoggerAppenderDailyFile.php" hash="f97b57f6b0b9dba2f650ae5e17d9f28b"/><file name="LoggerAppenderEcho.php" hash="76824ae7be6503e8c5ca3a9fc15b7816"/><file name="LoggerAppenderFile.php" hash="92481c41d6f9d3d2cf6cfc82c7c0ef22"/><file name="LoggerAppenderFirePHP.php" hash="1eccdf817ff2e0204265a5a77901f0a1"/><file name="LoggerAppenderMail.php" hash="a23d71d709af265b20797eeb0d71911e"/><file name="LoggerAppenderMailEvent.php" hash="f853e9e18511ab18873484882c744655"/><file name="LoggerAppenderMongoDB.php" hash="494b30e44a3add5eeb9c0d54ea88c29b"/><file name="LoggerAppenderNull.php" hash="ec6ca85fadc4d71f75b5e8e13df6e058"/><file name="LoggerAppenderPDO.php" hash="4388d8e542fe680228365ffd48d8ab6d"/><file name="LoggerAppenderPhp.php" hash="9853767b74b8234361ace83867c9f18d"/><file name="LoggerAppenderRollingFile.php" hash="5bc49b8f05b36842b800d699bfe05e45"/><file name="LoggerAppenderSocket.php" hash="6111536426fdf6f8a4adafb460510301"/><file name="LoggerAppenderSyslog.php" hash="afda0ccf876a87781e58d63104519bdc"/></dir><dir name="configurators"><file name="LoggerConfigurationAdapter.php" hash="b07bade9ae4809776742d3b36ca4feb7"/><file name="LoggerConfigurationAdapterINI.php" hash="bfbca46c36693f098334699c7b71b569"/><file name="LoggerConfigurationAdapterPHP.php" hash="9f9c0bd65cda5224c8e90726baebb363"/><file name="LoggerConfigurationAdapterXML.php" hash="42ec1e713dadb1c6c813df278e6c58cb"/><file name="LoggerConfiguratorDefault.php" hash="a27dd348466a605849ffa946a5fa7bdf"/></dir><dir name="filters"><file name="LoggerFilterDenyAll.php" hash="8800e84c773b87e2638d22d627baae51"/><file name="LoggerFilterLevelMatch.php" hash="2ea447c40baea629486a6b7a4f8f352d"/><file name="LoggerFilterLevelRange.php" hash="b4b6753e0d0a8d734471482bb7b4981c"/><file name="LoggerFilterStringMatch.php" hash="342113e5152ef6e9703807fa36e52785"/></dir><dir name="helpers"><file name="LoggerFormattingInfo.php" hash="89a5ed8f751e4a6a826275619266b911"/><file name="LoggerOptionConverter.php" hash="e02f5ffc3918a0352bf77121e5add1d5"/><file name="LoggerPatternParser.php" hash="a5d4dfeb2a66b022380e0e3d7ba9b318"/><file name="LoggerUtils.php" hash="90264a3263bc4e3a3dac1dbeb3cc35df"/></dir><dir name="layouts"><file name="LoggerLayoutHtml.php" hash="cf6066b51d7ac2de4accaf13f68fb442"/><file name="LoggerLayoutPattern.php" hash="10c48d2fa44953d20fcb3e3542a05ebf"/><file name="LoggerLayoutSerialized.php" hash="cef71f72176167a15c79f5cab5515a77"/><file name="LoggerLayoutSimple.php" hash="ba2aaa713c715b823c4e767a2f0b3e67"/><file name="LoggerLayoutTTCC.php" hash="1ecb0af018b78ad42f4a9d70e182f429"/><file name="LoggerLayoutXml.php" hash="b52409dbb1bacc1c7b4c5ddf66ed8afa"/></dir><dir name="pattern"><file name="LoggerPatternConverter.php" hash="fcbd56bf082b96f02fcf5b0b552de4c1"/><file name="LoggerPatternConverterClass.php" hash="e61c2f7544feee8ee9b966311471a2a7"/><file name="LoggerPatternConverterCookie.php" hash="465d359167443336f258d9b5a89095ef"/><file name="LoggerPatternConverterDate.php" hash="4a399075a3c2d7542e3c649f55162482"/><file name="LoggerPatternConverterEnvironment.php" hash="829265aa84843818bd9faf3bd42b0432"/><file name="LoggerPatternConverterFile.php" hash="a7091f0857b99db4e00c33b61df5e3d3"/><file name="LoggerPatternConverterLevel.php" hash="6219dcb0d8630e6f69cbf4ba669fd11f"/><file name="LoggerPatternConverterLine.php" hash="a27bf38b5c6453a9925d365bde65fe47"/><file name="LoggerPatternConverterLiteral.php" hash="a2cd9e35ca6253cde6a467320837a767"/><file name="LoggerPatternConverterLocation.php" hash="b88efadaccdf31b25b1fb14866c106a0"/><file name="LoggerPatternConverterLogger.php" hash="4342ab32fa26cdf53308896272c2e36b"/><file name="LoggerPatternConverterMDC.php" hash="d241043bc9ea9ecdbf3a0ae5d5a42206"/><file name="LoggerPatternConverterMessage.php" hash="cad3040a1a3d1d40dc6a26727bebe19d"/><file name="LoggerPatternConverterMethod.php" hash="3208fb30a3bc0a7e0fb281800c43ecef"/><file name="LoggerPatternConverterNDC.php" hash="2e68ba79896c47c5067bbf0b371df260"/><file name="LoggerPatternConverterNewLine.php" hash="291bd541e0f689484a5596323e3cac14"/><file name="LoggerPatternConverterProcess.php" hash="7421d9b9b6a5f8f51c3a9a1c796911a5"/><file name="LoggerPatternConverterRelative.php" hash="24495b25867aac190135610061cd244d"/><file name="LoggerPatternConverterRequest.php" hash="67a484d44fd7ddc06a654995904e9653"/><file name="LoggerPatternConverterServer.php" hash="bef42f8b51bc220453e3f4b1e67e7402"/><file name="LoggerPatternConverterSession.php" hash="7cd6290d364837cd2ff4358c03022e98"/><file name="LoggerPatternConverterSessionID.php" hash="fc7b37aa3cb28fbb09862eb7edc6d042"/><file name="LoggerPatternConverterSuperglobal.php" hash="6b984fb3d26fb0186595370d0f066659"/><file name="LoggerPatternConverterThrowable.php" hash="4ca10f0f20408a30243ff589415634c9"/></dir><dir name="renderers"><file name="LoggerRenderer.php" hash="332819a947805d55c2aa546ced274f01"/><file name="LoggerRendererDefault.php" hash="4c4003cde8e0a74cc562060ca7bccf61"/><file name="LoggerRendererException.php" hash="4b2def2de9aa459bd321e826c02e31c2"/><file name="LoggerRendererMap.php" hash="b9aadee6f31f7cb38210653141b94fa6"/></dir><dir name="xml"><file name="log4php.dtd" hash="fb7e60edf02964352b7ddee1f26d8924"/></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="factfinder"><file name="asn.xml" hash="05ee1b7d0d34d7e43de8c115aeaab69d"/><file name="campaigns.xml" hash="d722ded27e895f0f0aa15954c46f93f3"/><file name="core.xml" hash="fe920d8ef444afbcfa2053b72bc819fc"/><file name="suggest.xml" hash="9c1a761044cd33da5e028c92ce9abe4f"/><file name="tagcloud.xml" hash="0d31f54985019d96bb1b5af17ccdf0d3"/><file name="tracking.xml" hash="53ce8afeb32391a4b207121a372162a2"/></dir></dir><dir name="template"><dir name="factfinder"><dir name="asn"><dir name="layer"><dir name="filter"><file name="slider.phtml" hash="2004f809f803e17d9739a7173958ceca"/></dir><file name="slider.phtml" hash="d48c9aace222c7525430b5235acd4026"/></dir></dir><dir name="campaigns"><file name="advisory.phtml" hash="3341ee58f81da41020f85c2145048b8b"/><file name="feedback.phtml" hash="4c1868f038a13bd2ca270b7d9a077452"/><file name="pushed.phtml" hash="b76b7c5b064ee6dc86ccc94a363bdb05"/></dir><dir name="core"><dir name="export"><file name="locked.phtml" hash="f0948f48fcc40dfcb21a8da68ce29425"/><file name="nofile.phtml" hash="c304b037812f4c34d7e094fe3b70cd80"/></dir></dir><dir name="suggest"><file name="advancedsuggest.phtml" hash="d94fe357abf9ae7026769e62a3cd9ba9"/></dir><dir name="tracking"><file name="click.phtml" hash="3e545af810a201db7c76c0502f606308"/><file name="recommendation.phtml" hash="02dba2d0cc5e1608682a700916a963d8"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="."><file name="factfinder.xml" hash="f87803fd5c96fc784baff992c2bce96b"/></dir><dir name="modules"><file name="FACTFinder_Asn.xml" hash="a003a8010c577c396c8e2ee5b1ea4417"/><file name="FACTFinder_Campaigns.xml" hash="ccd3080cf57535193a6fe2e6946640fd"/><file name="FACTFinder_Core.xml" hash="80f5142c2acf5ceeca0fd552ddb7ce4c"/><file name="FACTFinder_Recommendation.xml" hash="9742344545ee435a4dc87eb2bb80bf19"/><file name="FACTFinder_Suggest.xml" hash="882806b936029f0ef04d4719542ecea3"/><file name="FACTFinder_Tagcloud.xml" hash="62d3ccec2191e7dfd8225e02912891d2"/><file name="FACTFinder_Tracking.xml" hash="779b734bdcafabab072a1afd9d0bf7c4"/></dir></target><target name="mage"><dir name="shell"><file name="factfinder.php" hash="f5d0ef5e78c29b1e700c822d2c2d491c"/></dir></target><target name="mageweb"><dir name="js"><dir name="factfinder"><file name="jXHR.js" hash="a62424da9902b49a76659683121618d0"/><file name="suggest.js" hash="fcae24ad674632753fc4e14e1c4d6d6c"/><file name="tracking.js" hash="f22da039733a2c67254d41cfa5e6ea9b"/></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="js"><dir name="factfinder_onetouchslider"><file name="234A0ACCECB3C19247FA8B7920453761.cache.js" hash="df488d926e6054769d4731148e707b58"/><file name="25E490B929D7CDBF44085E4E4D9D6F78.cache.js" hash="2a017b95cfbd8653a222660b60697419"/><file name="53ABFAE8983A4589B497F48695DB2A7C.cache.js" hash="b6b02347438384cc886b2509426826b5"/><file name="75B23D057185BAB61CFE100CE08C4D84.cache.js" hash="ec9c94e05e64372a9636ef03e688d451"/><file name="79DD9AE9135ADFDE204324DA7F1B1405.cache.png" hash="6ba720deee377e093c5f5b0423c152df"/><file name="9F0D0456482D7A7A901A2CD8F64EA019.cache.js" hash="dad64db53266865af02c620795c6ab13"/><file name="clear.cache.gif" hash="6d22e4f2d2057c6e8d6fab098e76e80f"/><file name="de.factfinder.asn.slider.OneTouchSlider.nocache.js" hash="f92d47fc9eb8cf8ff78173997f5a4a7a"/></dir></dir></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
+
<dependencies><required><php><min>5.3.0</min><max>7.1.0</max></php></required></dependencies>
|
18 |
</package>
|
shell/factfinder.php
CHANGED
@@ -4,61 +4,161 @@ require_once 'abstract.php';
|
|
4 |
|
5 |
class Mage_Shell_FactFinder extends Mage_Shell_Abstract
|
6 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
public function run()
|
9 |
{
|
10 |
if ($this->getArg('exportAll') || $this->getArg('exportall')) {
|
11 |
-
$
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
} elseif ($this->getArg(
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
$
|
22 |
-
echo 'Successfully generated export to: ' . $file . "\n";
|
23 |
-
} elseif ($this->getArg('exportStorePrice')) {
|
24 |
-
if(!is_numeric($this->getArg('exportStorePrice'))) {
|
25 |
-
echo $this->usageHelp();
|
26 |
-
return;
|
27 |
-
}
|
28 |
-
$file = Mage::getModel('factfinder/export_price')->saveExport($this->getArg('exportStorePrice'));
|
29 |
-
echo 'Successfully generated price export to: ' . $file . "\n";
|
30 |
-
} elseif ($this->getArg('exportStoreStock')) {
|
31 |
-
if(!is_numeric($this->getArg('exportStoreStock'))) {
|
32 |
-
echo $this->usageHelp();
|
33 |
-
return;
|
34 |
-
}
|
35 |
-
$file = Mage::getModel('factfinder/export_stock')->saveExport($this->getArg('exportStoreStock'));
|
36 |
-
echo 'Successfully generated stock export to: ' . $file . "\n";
|
37 |
} else {
|
38 |
echo $this->usageHelp();
|
39 |
}
|
40 |
}
|
41 |
|
|
|
42 |
/**
|
43 |
* Retrieve Usage Help Message
|
44 |
*
|
|
|
45 |
*/
|
46 |
public function usageHelp()
|
47 |
{
|
48 |
return <<<USAGE
|
49 |
Usage: php factfinder.php -- [options]
|
50 |
|
51 |
-
--exportAll
|
52 |
-
--exportStore <storeId>
|
53 |
-
--exportStorePrice <storeId>
|
54 |
-
--exportStoreStock <storeId>
|
55 |
-
|
56 |
-
|
|
|
|
|
57 |
|
58 |
-
<storeId>
|
59 |
|
60 |
USAGE;
|
61 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
}
|
63 |
|
64 |
$shell = new Mage_Shell_FactFinder();
|
4 |
|
5 |
class Mage_Shell_FactFinder extends Mage_Shell_Abstract
|
6 |
{
|
7 |
+
const EXPORT_ALL_TYPES_FOR_STORE = 'exportAllTypesForStore';
|
8 |
+
const EXPORT_ALL_TYPES_FOR_ALL_STORES = 'exportAllTypesForAllStores';
|
9 |
+
const EXPORT_STORE_PRICE = 'exportStorePrice';
|
10 |
+
const EXPORT_STORE_STOCK = 'exportStoreStock';
|
11 |
+
const EXPORT_STORE = 'exportStore';
|
12 |
+
|
13 |
|
14 |
public function run()
|
15 |
{
|
16 |
if ($this->getArg('exportAll') || $this->getArg('exportall')) {
|
17 |
+
$this->exportAll();
|
18 |
+
} elseif ($this->getArg(self::EXPORT_STORE)) {
|
19 |
+
$this->exportStore();
|
20 |
+
} elseif ($this->getArg(self::EXPORT_STORE_PRICE)) {
|
21 |
+
$this->exportStorePrice();
|
22 |
+
} elseif ($this->getArg(self::EXPORT_STORE_STOCK)) {
|
23 |
+
$this->exportStoreStock();
|
24 |
+
} elseif ($this->getArg(self::EXPORT_ALL_TYPES_FOR_STORE)) {
|
25 |
+
$this->exportAllTypesForStore();
|
26 |
+
} elseif ($this->getArg(self::EXPORT_ALL_TYPES_FOR_ALL_STORES)) {
|
27 |
+
$this->exportAllTypesForAllStores();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
} else {
|
29 |
echo $this->usageHelp();
|
30 |
}
|
31 |
}
|
32 |
|
33 |
+
|
34 |
/**
|
35 |
* Retrieve Usage Help Message
|
36 |
*
|
37 |
+
* @return string
|
38 |
*/
|
39 |
public function usageHelp()
|
40 |
{
|
41 |
return <<<USAGE
|
42 |
Usage: php factfinder.php -- [options]
|
43 |
|
44 |
+
--exportAll Export products for every store
|
45 |
+
--exportStore <storeId> Export Product CSV for store
|
46 |
+
--exportStorePrice <storeId> Export Price CSV for store
|
47 |
+
--exportStoreStock <storeId> Export Stock CSV for store
|
48 |
+
--exportAllTypesForStore <storeId> Export Stock, Price and Products for store
|
49 |
+
--exportAllTypesForAllStores Export Stock, Price and Products for all stores
|
50 |
+
exportall Export Product CSV for all stores
|
51 |
+
help Show this help message
|
52 |
|
53 |
+
<storeId> Id of the store you want to export
|
54 |
|
55 |
USAGE;
|
56 |
}
|
57 |
+
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Export all types for specified store
|
61 |
+
*
|
62 |
+
* @return void
|
63 |
+
*/
|
64 |
+
private function exportAllTypesForStore()
|
65 |
+
{
|
66 |
+
if (!is_numeric($this->getArg(self::EXPORT_ALL_TYPES_FOR_STORE))) {
|
67 |
+
echo $this->usageHelp();
|
68 |
+
return;
|
69 |
+
}
|
70 |
+
|
71 |
+
foreach (Mage::helper('factfinder/export')->getExportTypes() as $type) {
|
72 |
+
$file = Mage::getModel('factfinder/export_' . $type)
|
73 |
+
->saveExport($this->getArg(self::EXPORT_ALL_TYPES_FOR_STORE));
|
74 |
+
printf("Successfully generated %s export to: %s\n", $type, $file);
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Export all types for all stores
|
81 |
+
*
|
82 |
+
* @return void
|
83 |
+
*/
|
84 |
+
private function exportAllTypesForAllStores()
|
85 |
+
{
|
86 |
+
foreach (array('stock', 'price', 'product') as $type) {
|
87 |
+
$files = Mage::getModel('factfinder/export_' . $type)
|
88 |
+
->saveAll();
|
89 |
+
foreach ($files as $file) {
|
90 |
+
printf("Successfully generated %s export to: %s\n", $type, $file);
|
91 |
+
}
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Export stock for store
|
98 |
+
*
|
99 |
+
* @return void
|
100 |
+
*/
|
101 |
+
private function exportStoreStock()
|
102 |
+
{
|
103 |
+
if (!is_numeric($this->getArg(self::EXPORT_STORE_STOCK))) {
|
104 |
+
echo $this->usageHelp();
|
105 |
+
return;
|
106 |
+
}
|
107 |
+
|
108 |
+
$file = Mage::getModel('factfinder/export_stock')->saveExport($this->getArg(self::EXPORT_STORE_STOCK));
|
109 |
+
printf("Successfully generated stock export to: %s\n", $file);
|
110 |
+
}
|
111 |
+
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Export price for store
|
115 |
+
*
|
116 |
+
* @return void
|
117 |
+
*/
|
118 |
+
private function exportStorePrice()
|
119 |
+
{
|
120 |
+
if (!is_numeric($this->getArg(self::EXPORT_STORE_PRICE))) {
|
121 |
+
echo $this->usageHelp();
|
122 |
+
return;
|
123 |
+
}
|
124 |
+
|
125 |
+
$file = Mage::getModel('factfinder/export_price')->saveExport($this->getArg(self::EXPORT_STORE_PRICE));
|
126 |
+
printf("Successfully generated price export to: %s\n", $file);
|
127 |
+
}
|
128 |
+
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Export products for store
|
132 |
+
*
|
133 |
+
* @return void
|
134 |
+
*/
|
135 |
+
private function exportStore()
|
136 |
+
{
|
137 |
+
if (!is_numeric($this->getArg(self::EXPORT_STORE))) {
|
138 |
+
echo $this->usageHelp();
|
139 |
+
return;
|
140 |
+
}
|
141 |
+
|
142 |
+
$file = Mage::getModel('factfinder/export_product')->saveExport($this->getArg(self::EXPORT_STORE));
|
143 |
+
printf("Successfully generated export to: %s\n", $file);
|
144 |
+
}
|
145 |
+
|
146 |
+
|
147 |
+
/**
|
148 |
+
* Export products for all stores
|
149 |
+
*
|
150 |
+
* @return void
|
151 |
+
*/
|
152 |
+
private function exportAll()
|
153 |
+
{
|
154 |
+
$files = Mage::getModel('factfinder/export_product')->saveAll();
|
155 |
+
echo "Successfully generated the following files:\n";
|
156 |
+
foreach ($files as $file) {
|
157 |
+
echo $file . "\n";
|
158 |
+
}
|
159 |
+
}
|
160 |
+
|
161 |
+
|
162 |
}
|
163 |
|
164 |
$shell = new Mage_Shell_FactFinder();
|
skin/frontend/base/default/js/factfinder_onetouchslider/234A0ACCECB3C19247FA8B7920453761.cache.js
ADDED
@@ -0,0 +1,477 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function(){var $gwt_version = "2.3.0";var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var $strongName = '234A0ACCECB3C19247FA8B7920453761';var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null;var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;$stats && $stats({moduleName:'de.factfinder.asn.slider.OneTouchSlider',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});function E(){}
|
2 |
+
function K(){}
|
3 |
+
function J(){}
|
4 |
+
function I(){}
|
5 |
+
function H(){}
|
6 |
+
function S(){}
|
7 |
+
function Z(){}
|
8 |
+
function Hn(){}
|
9 |
+
function Hb(){}
|
10 |
+
function eb(){}
|
11 |
+
function mb(){}
|
12 |
+
function ib(){}
|
13 |
+
function Gb(){}
|
14 |
+
function Vb(){}
|
15 |
+
function Ub(){}
|
16 |
+
function Xb(){}
|
17 |
+
function Wb(){}
|
18 |
+
function Zb(){}
|
19 |
+
function Yb(){}
|
20 |
+
function _b(){}
|
21 |
+
function $b(){}
|
22 |
+
function bc(){}
|
23 |
+
function ac(){}
|
24 |
+
function dc(){}
|
25 |
+
function cc(){}
|
26 |
+
function fc(){}
|
27 |
+
function ec(){}
|
28 |
+
function hc(){}
|
29 |
+
function gc(){}
|
30 |
+
function jc(){}
|
31 |
+
function ic(){}
|
32 |
+
function tc(){}
|
33 |
+
function sc(){}
|
34 |
+
function Ec(){}
|
35 |
+
function Dc(){}
|
36 |
+
function Cc(){}
|
37 |
+
function Lc(){}
|
38 |
+
function Kc(){}
|
39 |
+
function Jc(){}
|
40 |
+
function Qc(){}
|
41 |
+
function Sc(){}
|
42 |
+
function Wc(){}
|
43 |
+
function Rc(){}
|
44 |
+
function Zc(){}
|
45 |
+
function ad(){}
|
46 |
+
function gd(){}
|
47 |
+
function dd(){}
|
48 |
+
function jd(){}
|
49 |
+
function nd(){}
|
50 |
+
function ld(){}
|
51 |
+
function rd(){}
|
52 |
+
function xd(){}
|
53 |
+
function wd(){}
|
54 |
+
function vd(){}
|
55 |
+
function Jd(){}
|
56 |
+
function Md(){}
|
57 |
+
function Ld(){}
|
58 |
+
function Qd(){}
|
59 |
+
function Pd(){}
|
60 |
+
function Sd(){}
|
61 |
+
function Rd(){}
|
62 |
+
function Ee(){}
|
63 |
+
function De(){}
|
64 |
+
function Ge(){}
|
65 |
+
function Ie(){}
|
66 |
+
function Le(){}
|
67 |
+
function Je(){}
|
68 |
+
function Oe(){}
|
69 |
+
function Me(){}
|
70 |
+
function Te(){}
|
71 |
+
function Ve(){}
|
72 |
+
function Xe(){}
|
73 |
+
function cf(){}
|
74 |
+
function bf(){}
|
75 |
+
function mf(){}
|
76 |
+
function pf(){}
|
77 |
+
function Of(){}
|
78 |
+
function Kf(){}
|
79 |
+
function Uf(){}
|
80 |
+
function Tf(){}
|
81 |
+
function cg(){}
|
82 |
+
function ig(){}
|
83 |
+
function yg(){}
|
84 |
+
function xg(){}
|
85 |
+
function wg(){}
|
86 |
+
function vg(){}
|
87 |
+
function ug(){}
|
88 |
+
function bh(){}
|
89 |
+
function ih(){}
|
90 |
+
function hh(){}
|
91 |
+
function lh(){}
|
92 |
+
function kh(){}
|
93 |
+
function nh(){}
|
94 |
+
function th(){}
|
95 |
+
function vh(){}
|
96 |
+
function xh(){}
|
97 |
+
function zh(){}
|
98 |
+
function Hh(){}
|
99 |
+
function Gh(){}
|
100 |
+
function Kh(){}
|
101 |
+
function Oh(){}
|
102 |
+
function Yh(){}
|
103 |
+
function Xh(){}
|
104 |
+
function _h(){}
|
105 |
+
function $h(){}
|
106 |
+
function bi(){}
|
107 |
+
function fi(){}
|
108 |
+
function ei(){}
|
109 |
+
function di(){}
|
110 |
+
function pi(){}
|
111 |
+
function wi(){}
|
112 |
+
function vi(){}
|
113 |
+
function yi(){}
|
114 |
+
function xi(){}
|
115 |
+
function Ai(){}
|
116 |
+
function zi(){}
|
117 |
+
function Ci(){}
|
118 |
+
function Bi(){}
|
119 |
+
function Di(){}
|
120 |
+
function Li(){}
|
121 |
+
function Si(){}
|
122 |
+
function Vi(){}
|
123 |
+
function Yi(){}
|
124 |
+
function _i(){}
|
125 |
+
function jj(){}
|
126 |
+
function hj(){}
|
127 |
+
function qj(){}
|
128 |
+
function pj(){}
|
129 |
+
function zj(){}
|
130 |
+
function yj(){}
|
131 |
+
function xj(){}
|
132 |
+
function Tj(){}
|
133 |
+
function ik(){}
|
134 |
+
function pk(){}
|
135 |
+
function sk(){}
|
136 |
+
function vk(){}
|
137 |
+
function yk(){}
|
138 |
+
function xk(){}
|
139 |
+
function zk(){}
|
140 |
+
function Bk(){}
|
141 |
+
function Dk(){}
|
142 |
+
function Gk(){}
|
143 |
+
function Jk(){}
|
144 |
+
function Mk(){}
|
145 |
+
function al(){}
|
146 |
+
function el(){}
|
147 |
+
function gl(){}
|
148 |
+
function ol(){}
|
149 |
+
function nl(){}
|
150 |
+
function Kl(){}
|
151 |
+
function Jl(){}
|
152 |
+
function Tl(){}
|
153 |
+
function _l(){}
|
154 |
+
function $l(){}
|
155 |
+
function gm(){}
|
156 |
+
function lm(){}
|
157 |
+
function wm(){}
|
158 |
+
function Em(){}
|
159 |
+
function Hm(){}
|
160 |
+
function Mm(){}
|
161 |
+
function Rm(){}
|
162 |
+
function jn(){}
|
163 |
+
function hn(){}
|
164 |
+
function nn(){}
|
165 |
+
function qn(){}
|
166 |
+
function zn(){}
|
167 |
+
function En(){}
|
168 |
+
function Nk(b){}
|
169 |
+
function N(){lb()}
|
170 |
+
function M(b){lb()}
|
171 |
+
function Ck(b){lb()}
|
172 |
+
function Fk(b){lb()}
|
173 |
+
function Ik(b){lb()}
|
174 |
+
function Lk(b){lb()}
|
175 |
+
function wk(){lb()}
|
176 |
+
function Ak(){lb()}
|
177 |
+
function Ek(){lb()}
|
178 |
+
function Hk(){lb()}
|
179 |
+
function Kk(){lb()}
|
180 |
+
function We(){lb()}
|
181 |
+
function Fn(){lb()}
|
182 |
+
function fl(b){lb()}
|
183 |
+
function fg(){eg()}
|
184 |
+
function pn(){ul(this)}
|
185 |
+
function kd(){this.a={}}
|
186 |
+
function Kd(b){this.a=b}
|
187 |
+
function Mh(b){this.a=b}
|
188 |
+
function qk(b){this.a=b}
|
189 |
+
function nk(b){this.e=b}
|
190 |
+
function uf(b){this.d=b}
|
191 |
+
function Am(b){this.d=b}
|
192 |
+
function cm(b){this.a=b}
|
193 |
+
function Nm(b){this.a=b}
|
194 |
+
function Ni(b){this.b=b}
|
195 |
+
function Ol(b){this.a=b}
|
196 |
+
function Oc(){this.c=++Mc}
|
197 |
+
function sn(){this.a=new pn}
|
198 |
+
function Ah(){Ah=Hn;new pn}
|
199 |
+
function ab(){ab=Hn;$=new eb}
|
200 |
+
function Gf(){Gf=Hn;Ff=new af}
|
201 |
+
function eg(){eg=Hn;dg=new Oc}
|
202 |
+
function kj(){kj=Hn;ej=new jj}
|
203 |
+
function gn(){gn=Hn;fn=new jn}
|
204 |
+
function vc(){vc=Hn;xc()}
|
205 |
+
function mi(){mi=Hn;ui()}
|
206 |
+
function Ei(b,c){Gi(b,c,b.c)}
|
207 |
+
function Ef(b,c){mg();sg(b,c)}
|
208 |
+
function Ag(b,c){b.w=c}
|
209 |
+
function Bg(b,c){Dg(b.w,c,true)}
|
210 |
+
function _e(b,c){Sm(b.b,c);$e(b)}
|
211 |
+
function Fg(b,c){!!b.u&&sd(b.u,c)}
|
212 |
+
function Ti(b){b.a.F(b.d,b.c,b.b)}
|
213 |
+
function rf(b){return b.c<b.a}
|
214 |
+
function ye(b){return b.l|b.m<<22}
|
215 |
+
function xm(b){return b.b<b.d.jb()}
|
216 |
+
function kf(b){ef();this.a=b}
|
217 |
+
function nf(b){ef();this.a=b}
|
218 |
+
function hm(b,c){this.b=b;this.a=c}
|
219 |
+
function Im(b,c){this.a=b;this.b=c}
|
220 |
+
function An(b,c){this.a=b;this.b=c}
|
221 |
+
function ii(b){this.w=b;new Qd}
|
222 |
+
function Od(b){Nd.call(this,b)}
|
223 |
+
function fh(b){Nd.call(this,b)}
|
224 |
+
function R(c,b){c[c.length]=b}
|
225 |
+
function bl(b,c){ob(b.a,c);return b}
|
226 |
+
function cl(b,c){pb(b.a,c);return b}
|
227 |
+
function cj(b){sb(b.a,ho);ub(b.a,io)}
|
228 |
+
function aj(b){ub(b.a,ho);ub(b.a,io)}
|
229 |
+
function bj(b){ub(b.a,ho);sb(b.a,io)}
|
230 |
+
function O(b){lb();this.a=b;kb(this)}
|
231 |
+
function dj(){kj();this.a=$doc.body}
|
232 |
+
function Yk(){Yk=Hn;Vk={};Xk={}}
|
233 |
+
function mg(){if(!kg){rg();kg=true}}
|
234 |
+
function Df(b){zf=b;mg();b.setCapture()}
|
235 |
+
function qf(b){return Tm(b.d.b,b.b)}
|
236 |
+
function zl(c,b){return Ln+b in c.e}
|
237 |
+
function be(b,c){return b.cM&&b.cM[c]}
|
238 |
+
function om(b,c){(b<0||b>=c)&&rm(b,c)}
|
239 |
+
function db(b,c){b.b=fb(b.b,[c,false])}
|
240 |
+
function lk(b){!b.e.e&&(b.e.e=Jf(b))}
|
241 |
+
function Ul(b){return b.b=ce(ym(b.a),34)}
|
242 |
+
function Hd(b){this.d=new pn;this.c=b}
|
243 |
+
function ud(b,c){this.a=new Hd(c);this.b=b}
|
244 |
+
function ob(b,c){b[b.explicitLength++]=c}
|
245 |
+
function pb(b,c){b[b.explicitLength++]=c}
|
246 |
+
function Tm(b,c){om(c,b.b);return b.a[c]}
|
247 |
+
function bk(b,c,d){Zj(b,c,b.c);Zj(b,d,b.i)}
|
248 |
+
function Bh(b,c){Ch(b,c.d,c.b,c.c,c.e,c.a)}
|
249 |
+
function Ad(b,c,d){var e;e=Dd(b,c);e.fb(d)}
|
250 |
+
function V(b,c,d){return b.apply(c,d);var e}
|
251 |
+
function hi(b,c){b.W();b.w[fo]=c!=null?c:Jn}
|
252 |
+
function Ab(b,c){b.fireEvent('on'+c.type,c)}
|
253 |
+
function Se(b){b.parentNode.removeChild(b)}
|
254 |
+
function ef(){ef=Hn;df=new Xm;Zf(new Uf)}
|
255 |
+
function eh(){eh=Hn;ch=new ih;dh=new lh}
|
256 |
+
function Uc(){Uc=Hn;Tc=new Pc(On,new Wc)}
|
257 |
+
function _c(){_c=Hn;$c=new Pc(Pn,new ad)}
|
258 |
+
function fd(){fd=Hn;ed=new Pc(Qn,new gd)}
|
259 |
+
function Xm(){this.a=Vd(ne,{30:1},0,0,0)}
|
260 |
+
function td(b){this.a=new Hd(false);this.b=b}
|
261 |
+
function jg(){this.a=new Hd(false);this.b=null}
|
262 |
+
function Wi(b,c,d){this.a=b;this.c=c;this.b=d}
|
263 |
+
function Zi(b,c,d){this.a=b;this.c=c;this.b=d}
|
264 |
+
function Ue(b,c,d){this.b=b;this.c=c;this.a=d}
|
265 |
+
function Sm(b,c){Xd(b.a,b.b++,c);return true}
|
266 |
+
function yd(b,c){!b.a&&(b.a=new Xm);Sm(b.a,c)}
|
267 |
+
function pd(b){var c;if(md){c=new nd;sd(b,c)}}
|
268 |
+
function ag(){Xf&&pd((!Yf&&(Yf=new jg),Yf))}
|
269 |
+
function ci(){Th.call(this,(Sh(),$doc.body))}
|
270 |
+
function Ch(b,c,d,e,f,g){Ih(b.a,b,c,d,e,f,g)}
|
271 |
+
function Qk(c,b){return c.substr(b,c.length-b)}
|
272 |
+
function ee(b,c){return b!=null&&b.cM&&!!b.cM[c]}
|
273 |
+
function Zf(b){_f();return $f(md?md:(md=new Oc),b)}
|
274 |
+
function pc(){pc=Hn;mc=[];nc=[];oc=[];kc=new tc}
|
275 |
+
function $d(){$d=Hn;Yd=[];Zd=[];_d(new Sd,Yd,Zd)}
|
276 |
+
function xc(){xc=Hn;vc();wc=Vd(ie,{30:1},-1,30,1)}
|
277 |
+
function Ji(b){this.b=b;this.a=Vd(me,{30:1},15,4,0)}
|
278 |
+
function mk(b){if(b.e.e){Ti(b.e.e.a);b.e.e=null}}
|
279 |
+
function he(b){if(b!=null){throw new Ak}return null}
|
280 |
+
function fb(b,c){!b&&(b=[]);b[b.length]=c;return b}
|
281 |
+
function rn(b,c){var d;d=Al(b.a,c,b);return d==null}
|
282 |
+
function pl(b){var c;c=new Ol(b);return new Im(b,c)}
|
283 |
+
function Sh(){Sh=Hn;Ph=new Yh;Qh=new pn;Rh=new sn}
|
284 |
+
function Th(b){this.a=new Ji(this);this.w=b;Gg(this)}
|
285 |
+
function uh(){this.a=new Ji(this);this.w=zb($doc,Nn)}
|
286 |
+
function Uj(b){return tk(new uk(b.r.w),b.f.a,b.f.b)}
|
287 |
+
function te(b,c,d){return a=new Ee,a.l=b,a.m=c,a.h=d,a}
|
288 |
+
function tb(c,b){return c[b]==null?null:String(c[b])}
|
289 |
+
function qb(b,c){b[b.explicitLength++]=c==null?'null':c}
|
290 |
+
function Ui(b,c,d){this.a=b;this.d=c;this.c=null;this.b=d}
|
291 |
+
function ul(b){b.a=[];b.e={};b.c=false;b.b=null;b.d=0}
|
292 |
+
function $e(b){if(b.b.b!=0&&!b.e&&!b.c){b.e=true;gf(b.d,1)}}
|
293 |
+
function rc(){pc();if(!lc){lc=true;db((ab(),$),kc)}}
|
294 |
+
function _k(){if(Wk==256){Vk=Xk;Xk={};Wk=0}++Wk}
|
295 |
+
function dl(){var b;this.a=(b=[],b.explicitLength=0,b)}
|
296 |
+
function He(b){this.b=0;this.c=0;this.a=59;this.e=58;this.d=b}
|
297 |
+
function Uh(b){Sh();try{b.Q()}finally{El(Rh.a,b)!=null}}
|
298 |
+
function Vh(){Sh();try{gh(Rh,Ph)}finally{ul(Rh.a);ul(Qh)}}
|
299 |
+
function Xg(b,c,d){Jg(c);Ei(b.a,c);d.appendChild(c.w);Lg(c,b)}
|
300 |
+
function Pk(d,b,c){c=Sk(c);return d.replace(RegExp(b),c)}
|
301 |
+
function rm(b,c){throw new Ik('Index: '+b+', Size: '+c)}
|
302 |
+
function $f(b,c){return new Kd(zd((!Yf&&(Yf=new jg),Yf).a,b,c))}
|
303 |
+
function hf(b,c){return $wnd.setTimeout(In(function(){b.G()}),c)}
|
304 |
+
function fe(b){return b!=null&&b.tM!=Hn&&!(b.cM&&!!b.cM[1])}
|
305 |
+
function ak(b,c,d){hi(b.d,c!=null?c:Jn);hi(b.j,d!=null?d:Jn)}
|
306 |
+
function Cf(b){!!zf&&b==zf&&(zf=null);mg();b.releaseCapture()}
|
307 |
+
function Cl(b,c){var d;d=b.b;b.b=c;if(!b.c){b.c=true;++b.d}return d}
|
308 |
+
function Td(b,c){var d,e;d=b;e=Ud(0,c);Wd(d.aC,d.cM,d.qI,e);return e}
|
309 |
+
function Wd(b,c,d,e){$d();ae(e,Yd,Zd);e.aC=b;e.cM=c;e.qI=d;return e}
|
310 |
+
function W(){if(T++==0){bb((ab(),$));return true}return false}
|
311 |
+
function Fm(b){if(b.b<=0){throw new Fn}return b.a.pb(b.c=--b.b)}
|
312 |
+
function Mi(b){if(b.a>=b.b.c){throw new Fn}return b.b.a[++b.a]}
|
313 |
+
function zm(b){if(b.c<0){throw new Ek}b.d.sb(b.c);b.b=b.c;b.c=-1}
|
314 |
+
function tf(b){Vm(b.d.b,b.b);--b.a;b.b<=b.c&&--b.c<0&&(b.c=0);b.b=-1}
|
315 |
+
function Gl(b){var c;c=b.b;b.b=null;if(b.c){b.c=false;--b.d}return c}
|
316 |
+
function ce(b,c){if(b!=null&&!(b.cM&&b.cM[c])){throw new Ak}return b}
|
317 |
+
function re(b){if(b!=null&&b.cM&&!!b.cM[10]){return b}return new O(b)}
|
318 |
+
function ym(b){if(b.b>=b.d.jb()){throw new Fn}return b.d.pb(b.c=b.b++)}
|
319 |
+
function Hf(b){Gf();if(!b){throw new Lk('cmd cannot be null')}_e(Ff,b)}
|
320 |
+
function Ii(b,c){var d;d=Fi(b,c);if(d==-1){throw new Fn}Hi(b,d)}
|
321 |
+
function Mg(b,c){b.t==-1?Ef(b.w,c|(b.w.__eventBits||0)):(b.t|=c)}
|
322 |
+
function Vj(b,c){var d,e;e=b.b>0?b.b:b.n.offsetWidth||0;d=c/e;b.g.X(d,0)}
|
323 |
+
function Wj(b,c){var d,e;e=b.b>0?b.b:b.n.offsetWidth||0;d=c/e;b.g.X(0,d)}
|
324 |
+
function P(b,c){var d;return d=b,d.tM==Hn||d.cM&&!!d.cM[1]?d.eQ(c):d===c}
|
325 |
+
function ae(b,c,d){$d();for(var e=0,f=c.length;e<f;++e){b[c[e]]=d[e]}}
|
326 |
+
function Rj(b,c,d,e,f,g,h,i){Mj.call(this,b,c,d,e,f,g,h);this.a=i}
|
327 |
+
function ge(b){return ~~Math.max(Math.min(b,2147483647),-2147483648)}
|
328 |
+
function Cb(c){try{return c.getBoundingClientRect().top}catch(b){return 0}}
|
329 |
+
function Bb(c){try{return c.getBoundingClientRect().left}catch(b){return 0}}
|
330 |
+
function xb(b){var c=b.parentNode;(!c||c.nodeType!=1)&&(c=null);return c}
|
331 |
+
function sf(b){var c;b.b=b.c;c=Tm(b.d.b,b.c++);b.c>=b.a&&(b.c=0);return c}
|
332 |
+
function Vm(b,c){var d;d=(om(c,b.b),b.a[c]);b.a.splice(c,1);--b.b;return d}
|
333 |
+
function Fi(b,c){var d;for(d=0;d<b.c;++d){if(b.a[d]==c){return d}}return -1}
|
334 |
+
function Um(b,c,d){for(;d<b.b;++d){if(Gn(c,b.a[d])){return d}}return -1}
|
335 |
+
function gi(b){var c,d;d=tb(b.w,fo);c=d;if(Ok(Jn,d)){return null}return c}
|
336 |
+
function bg(){var b;if(Xf){b=new fg;!!Yf&&sd(Yf,b);return null}return null}
|
337 |
+
function Nf(b){b.e=false;b.f=null;b.a=false;b.b=false;b.c=true;b.d=null}
|
338 |
+
function _g(b){b.style[_n]=Jn;b.style['top']=Jn;b.style['position']=Jn}
|
339 |
+
function Fb(b){!b.gwt_uid&&(b.gwt_uid=1);return 'gwt-uid-'+b.gwt_uid++}
|
340 |
+
function Wm(b,c){var d;d=Um(b,c,0);if(d==-1){return false}Vm(b,d);return true}
|
341 |
+
function Dl(f,b,c){var d,e=f.e;b=Ln+b;b in e?(d=e[b]):++f.d;e[b]=c;return d}
|
342 |
+
function _d(b,c,d){var e=0,f;for(var g in b){if(f=b[g]){c[e]=g;d[e]=f;++e}}}
|
343 |
+
function Y(b,c,d){var e;e=W();try{return V(b,c,d)}finally{e&&cb((ab(),$));--T}}
|
344 |
+
function Gm(b,c){var d;this.a=b;this.d=b;d=b.jb();(c<0||c>d)&&rm(c,d);this.b=c}
|
345 |
+
function Pc(b,c){this.c=++Mc;this.a=c;!Gc&&(Gc=new kd);Gc.a[b]=this;this.b=b}
|
346 |
+
function yh(b){this.a=new Ji(this);this.w=zb($doc,Nn);this.w.innerHTML=b||Jn}
|
347 |
+
function de(b){if(b!=null&&(b.tM==Hn||b.cM&&!!b.cM[1])){throw new Ak}return b}
|
348 |
+
function Ok(b,c){if(!(c!=null&&c.cM&&!!c.cM[1])){return false}return String(b)==c}
|
349 |
+
function on(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)}
|
350 |
+
function Gn(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)}
|
351 |
+
function Bj(b){b.j>1&&(b.j=1);b.i<0&&(b.i=0);b.i>1&&(b.i=1);b.i>b.j&&(b.j=b.i)}
|
352 |
+
function Lh(b){var c,d;c=(d=$doc.createEventObject(),d.type=Un,d);Ab(b.a.w,c)}
|
353 |
+
function Qe(b){var c,d;Re();c=xb(b);d=wb(b);Pe.appendChild(b);return new Ue(c,d,b)}
|
354 |
+
function Hl(e,b){var c,d=e.e;b=Ln+b;if(b in d){c=d[b];--e.d;delete d[b]}return c}
|
355 |
+
function wb(b){var c=b.nextSibling;while(c&&c.nodeType!=1)c=c.nextSibling;return c}
|
356 |
+
function vb(b){var c=b.firstChild;while(c&&c.nodeType!=1)c=c.nextSibling;return c}
|
357 |
+
function Vd(b,c,d,e,f){var g;g=Ud(f,e);$d();ae(g,Yd,Zd);g.aC=b;g.cM=c;g.qI=d;return g}
|
358 |
+
function Af(b,c,d){var e;e=yf;yf=b;c==zf&&lg(b.type)==8192&&(zf=null);d.L(b);yf=e}
|
359 |
+
function Zj(b,c,d){var e;e=c*(b.b>0?b.b:b.n.offsetWidth||0);d.style[_n]=e+(Tb(),eo)}
|
360 |
+
function $j(b){Cf(b.w);cj(b.a);Dg(b.q.w,lo,false);Dg(b.q.w,ko,true);Bh(b.p,(mj(),gj))}
|
361 |
+
function Yj(b){Df(b.w);bj(b.a);Dg(b.q.w,ko,false);Dg(b.q.w,lo,true);Bh(b.p,(mj(),gj))}
|
362 |
+
function bb(b){var c,d;if(b.a){d=null;do{c=b.a;b.a=null;d=gb(c,d)}while(b.a);b.a=d}}
|
363 |
+
function cb(b){var c,d;if(b.b){d=null;do{c=b.b;b.b=null;d=gb(c,d)}while(b.b);b.b=d}}
|
364 |
+
function vl(b,c){return c==null?b.c:c!=null&&c.cM&&!!c.cM[1]?zl(b,ce(c,1)):yl(b,c,~~Q(c))}
|
365 |
+
function El(b,c){return c==null?Gl(b):c!=null&&c.cM&&!!c.cM[1]?Hl(b,ce(c,1)):Fl(b,c,~~Q(c))}
|
366 |
+
function wl(b,c){return c==null?b.b:c!=null&&c.cM&&!!c.cM[1]?b.e[Ln+ce(c,1)]:xl(b,c,~~Q(c))}
|
367 |
+
function Q(b){var c;return c=b,c.tM==Hn||c.cM&&!!c.cM[1]?c.hC():c.$H||(c.$H=++U)}
|
368 |
+
function Wl(b){var c;this.c=b;c=new Xm;b.c&&Sm(c,new cm(b));tl(b,c);sl(b,c);this.a=new Am(c)}
|
369 |
+
function af(){this.a=new kf(this);this.b=new Xm;this.d=new nf(this);this.f=new uf(this)}
|
370 |
+
function Dh(b){Ah();this.a=new Jh(this,b.d,b.b,b.c,b.e,b.a);this.w[$n]='gwt-Image'}
|
371 |
+
function X(c){return function(){try{return Y(c,this,arguments)}catch(b){throw b}}}
|
372 |
+
function zg(b,c){var d=b.parentNode;if(!d){return}d.insertBefore(c,b);d.removeChild(b)}
|
373 |
+
function Eg(b,c,d){Mg(b,lg(d.b));return new Kd(zd((!b.u?(b.u=new td(b)):b.u).a,d,c))}
|
374 |
+
function Xj(b,c,d){var e,f,g;g=b.b>0?b.b:b.n.offsetWidth||0;e=c/g;f=(c+d*2)/g;b.g.X(e,f)}
|
375 |
+
function hl(b,c){var d;while(b.I()){d=b.J();if(c==null?d==null:P(c,d)){return b}}return null}
|
376 |
+
function Bf(b){var c;c=Qf(If,b);if(!c&&!!b){b.cancelBubble=true;b.returnValue=false}return c}
|
377 |
+
function Ye(b){var c;c=qf(b.f);tf(b.f);c!=null&&c.cM&&!!c.cM[11]&&new We(ce(c,11));b.c=false;$e(b)}
|
378 |
+
function Al(b,c,d){return c==null?Cl(b,d):c!=null&&c.cM&&!!c.cM[1]?Dl(b,ce(c,1),d):Bl(b,c,d,~~Q(c))}
|
379 |
+
function _j(b){mk(b.f);Cf(b.w);aj(b.a);Dg(b.q.w,ko,false);Dg(b.q.w,lo,false);Bh(b.p,(lj(),fj))}
|
380 |
+
function ff(b){b.b?($wnd.clearInterval(b.c),undefined):($wnd.clearTimeout(b.c),undefined);Wm(df,b)}
|
381 |
+
function Jf(b){mg();!Lf&&(Lf=new Oc);if(!If){If=new ud(null,true);Mf=new Of}return new Kd(zd(If.a,Lf,b))}
|
382 |
+
function ui(){ui=Hn;qi=new wi;ri=new yi;si=new Ai;ti=new Ci;Wd(le,{30:1},29,[qi,ri,si,ti])}
|
383 |
+
function Nd(b){N.call(this,b.jb()==0?null:ce(b.kb(Vd(pe,{22:1,30:1},10,0,0)),22)[0]);this.a=b}
|
384 |
+
function Re(){if(!Pe){Pe=zb($doc,Nn);Pe.style.display='none';(Sh(),$doc.body).appendChild(Pe)}}
|
385 |
+
function rb(b){var c,d;c=(d=b.join(Jn),b.length=b.explicitLength=0,d);b[b.explicitLength++]=c;return c}
|
386 |
+
function se(b){var c,d,e;c=b&4194303;d=b>>22&4194303;e=b<0?1048575:0;return a=new Ee,a.l=c,a.m=d,a.h=e,a}
|
387 |
+
function tl(f,b){var c=f.e;for(var d in c){if(d.charCodeAt(0)==58){var e=new hm(f,d.substring(1));b.fb(e)}}}
|
388 |
+
function Fd(b){var c,d;if(b.a){try{for(d=new Am(b.a);d.b<d.d.jb();){c=ce(ym(d),21);c.x()}}finally{b.a=null}}}
|
389 |
+
function Hi(b,c){var d;if(c<0||c>=b.c){throw new Hk}--b.c;for(d=c;d<b.c;++d){Xd(b.a,d,b.a[d+1])}Xd(b.a,b.c,null)}
|
390 |
+
function Vl(b){if(!b.b){throw new Fk('Must call next() before remove().')}else{zm(b.a);El(b.c,b.b.mb());b.b=null}}
|
391 |
+
function Eb(b){if(b.currentStyle.direction=='rtl'){return -(b.scrollLeft||0)}return b.scrollLeft||0}
|
392 |
+
function $k(b){Yk();var c=Ln+b;var d=Xk[c];if(d!=null){return d}d=Vk[c];d==null&&(d=Zk(b));_k();return Xk[c]=d}
|
393 |
+
function Yg(b,c){var d;if(c.v!=b){return false}try{Lg(c,null)}finally{d=c.w;xb(d).removeChild(d);Ii(b.a,c)}return true}
|
394 |
+
function yc(b,c,d){var e;e=$doc.styleSheets[b];d?(e.cssText+=c,undefined):(e.cssText=c+e.cssText,undefined);return e}
|
395 |
+
function Dd(b,c){var d,e;e=ce(wl(b.d,c),19);if(!e){e=new pn;Al(b.d,c,e)}d=ce(e.b,20);if(!d){d=new Xm;Cl(e,d)}return d}
|
396 |
+
function ck(b,c,d){var e;e=b.b>0?b.b:b.n.offsetWidth||0;b.k.style[_n]=c*e+(Tb(),eo);b.k.style[go]=(d-c)*e+eo}
|
397 |
+
function dk(b,c,d){var e,f;f=~~(b.p.a.e/2);e=c+(d-c)/2;b.p.w.style[_n]=e*(b.b>0?b.b:b.n.offsetWidth||0)-f+(Tb(),eo)}
|
398 |
+
function Cd(b,c,d){var e,f,g;e=Ed(b,c);f=e.ib(d);f&&e.hb()&&(g=ce(wl(b.d,c),19),ce(Gl(g),20),g.d==0&&El(b.d,c),undefined)}
|
399 |
+
function Ed(b,c){var d,e;e=ce(wl(b.d,c),19);if(!e){return gn(),gn(),fn}d=ce(e.b,20);if(!d){return gn(),gn(),fn}return d}
|
400 |
+
function Bc(b){var c;if($doc.styleSheets.length==0){return c=$doc.createStyleSheet(),c.cssText=b,c}return yc(0,b,false)}
|
401 |
+
function L(b){var c,d,e;d=Vd(oe,{30:1},33,b.length,0);for(e=0,c=b.length;e<c;++e){if(!b[e]){throw new Kk}d[e]=b[e]}}
|
402 |
+
function lb(){var b,c,d,e;d=jb(new mb);e=Vd(oe,{30:1},33,d.length,0);for(b=0,c=e.length;b<c;++b){e[b]=new Nk(d[b])}L(e)}
|
403 |
+
function jk(b){Eg(b.e,b,(Uc(),Uc(),Tc));Eg(b.e,b,(fd(),fd(),ed));Eg(b.e,b,(_c(),_c(),$c));Eg(b.e,new qk(b),ed)}
|
404 |
+
function Aj(b){var c,d;c=b.bb(b.i);d=b.bb(b.j);ak(b.k,c,d);bk(b.k,b.i,b.j);ck(b.k,b.i,b.j);dk(b.k,b.i,b.j);ek(b.k,b.i,b.j)}
|
405 |
+
function Kg(b,c){b.s&&(b.w.__listener=null,undefined);!!b.w&&zg(b.w,c);b.w=c;b.s&&(b.w.__listener=b,undefined)}
|
406 |
+
function Vc(b,c){c.a=b.a.clientX||0;c.b=b.a.clientY||0;c.c=tk(new uk(c.e.c),c.a,c.b);c.d=tk(new uk(c.e.i),c.a,c.b);c.e.g.Y()}
|
407 |
+
function Hc(b,c,d){var e,f,g;if(Gc){g=ce(Gc.a[b.type],3);if(g){e=g.a.a;f=g.a.b;g.a.a=b;g.a.b=d;Fg(c,g.a);g.a.a=e;g.a.b=f}}}
|
408 |
+
function oj(b,c,d,e,f,g,h,i,j){var k,l,m;k=Wh(b);if(k){m=new fk;m.b=i;l=new Rj(c,d,e,f,g,h,m,j);m.g=l;Xg(k,m,k.w)}}
|
409 |
+
function gwtOnLoad(c,d,e,f){$moduleName=d;$moduleBase=e;if(c)try{In(qe)()}catch(b){c(d)}else{In(qe)()}}
|
410 |
+
function oh(b,c){if(b.r){throw new Fk('Composite.initWidget() may only be called once.')}Jg(c);Ag(b,c.w);b.r=c;Lg(c,b)}
|
411 |
+
function sl(i,b){var c=i.a;for(var d in c){var e=parseInt(d,10);if(d==e){var f=c[e];for(var g=0,h=f.length;g<h;++g){b.fb(f[g])}}}}
|
412 |
+
function xl(i,b,c){var d=i.a[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.mb();if(i.lb(b,h)){return g.W()}}}return null}
|
413 |
+
function yl(i,b,c){var d=i.a[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.mb();if(i.lb(b,h)){return true}}}return false}
|
414 |
+
function Nl(b,c){var d,e,f;if(c!=null&&c.cM&&!!c.cM[34]){d=ce(c,34);e=d.mb();if(vl(b.a,e)){f=wl(b.a,e);return on(d.W(),f)}}return false}
|
415 |
+
function Cg(b){var c,d;c=b[$n]==null?null:String(b[$n]);d=c.indexOf(String.fromCharCode(32));if(d>=0){return c.substr(0,d-0)}return c}
|
416 |
+
function hb(b){var c,d,e;e=Jn;b=Rk(b);c=b.indexOf('(');if(c!=-1){d=b.indexOf(Kn)==0?8:0;e=Rk(b.substr(d,c-d))}return e.length>0?e:'anonymous'}
|
417 |
+
function tk(b,c,d){var e,f;f=b.b;e=b.a;if(f<0||e<0){return false}if(c<b.c||d<b.d){return false}f+=b.c;e+=b.d;return f>c&&e>d}
|
418 |
+
function Xd(b,c,d){if(d!=null){if(b.qI>0&&!be(d,b.qI)){throw new wk}if(b.qI<0&&(d.tM==Hn||d.cM&&!!d.cM[1])){throw new wk}}return b[c]=d}
|
419 |
+
function Ri(b,c,d,e,f,g){var h;h='url('+c+bo+-d+co+-e+eo;b.style['background']=h;b.style[go]=f+(Tb(),eo);b.style['height']=g+eo}
|
420 |
+
function Ce(){Ce=Hn;ze=(a=new Ee,a.l=4194303,a.m=4194303,a.h=524287,a);Ae=(a=new Ee,a.l=0,a.m=0,a.h=524288,a);we(1);we(2);Be=we(0)}
|
421 |
+
function Rk(d){if(d.length==0||d[0]>Mn&&d[d.length-1]>Mn){return d}var b=d.replace(/^(\s*)/,Jn);var c=b.replace(/\s*$/,Jn);return c}
|
422 |
+
function tg(){var b=false;for(var c=0;c<$wnd.__gwt_globalEventArray.length;c++){!$wnd.__gwt_globalEventArray[c]()&&(b=true)}return !b}
|
423 |
+
function kb(b){var c,d,e,f;e=(fe(b.a)?de(b.a):null,[]);f=Vd(oe,{30:1},33,e.length,0);for(c=0,d=f.length;c<d;++c){f[c]=new Nk(e[c])}L(f)}
|
424 |
+
function we(b){var c,d;if(b>-129&&b<128){c=b+128;ue==null&&(ue=Vd(ke,{30:1},26,256,0));d=ue[c];!d&&(d=ue[c]=se(b));return d}return se(b)}
|
425 |
+
function Ih(b,c,d,e,f,g,h){if(!Ok(b.d,d)||b.b!=e||b.c!=f||b.e!=g||b.a!=h){b.d=d;b.b=e;b.c=f;b.e=g;b.a=h;Ri(c.w,d,e,f,g,h);Hf(new Mh(c))}}
|
426 |
+
function Db(b,c){if(b.nodeType!=1&&b.nodeType!=9){return b==c}if(c.nodeType!=1){c=c.parentNode;if(!c){return false}}return b===c||b.contains(c)}
|
427 |
+
function oi(){var b;mi();ii.call(this,(b=$doc.createElement('INPUT'),b.type='text',b),(!Ne&&(Ne=new Oe),!Ke&&(Ke=new Le)));this.w[$n]='gwt-TextBox'}
|
428 |
+
function gb(c,d){var b,e,f,g;for(e=0,f=c.length;e<f;++e){g=c[e];try{g[1]?g[0].tb()&&(d=fb(d,g)):g[0].x()}catch(b){b=re(b);if(!ee(b,2))throw b}}return d}
|
429 |
+
function Sk(b){var c;c=0;while(0<=(c=b.indexOf('\\',c))){b.charCodeAt(c+1)==36?(b=b.substr(0,c-0)+'$'+Qk(b,++c)):(b=b.substr(0,c-0)+Qk(b,++c))}return b}
|
430 |
+
function Ac(b){var c,d,e;c=$doc.styleSheets.length;if(c==0){return d=$doc.createStyleSheet(),d.cssText=b,d}return e=$doc.styleSheets[c-1],e.cssText+=b,e}
|
431 |
+
function Hg(b,c){var d;switch(lg(c.type)){case 16:case 32:d=c.relatedTarget||(c.type==Pn?c.toElement:c.fromElement);if(!!d&&Db(b.w,d)){return}}Hc(c,b,b.w)}
|
432 |
+
function Tb(){Tb=Hn;Sb=new Vb;Qb=new Xb;Lb=new Zb;Mb=new _b;Rb=new bc;Pb=new dc;Nb=new fc;Kb=new hc;Ob=new jc;Wd(je,{30:1},23,[Sb,Qb,Lb,Mb,Rb,Pb,Nb,Kb,Ob])}
|
433 |
+
function Jg(b){if(!b.v){(Sh(),vl(Rh.a,b))&&Uh(b)}else if(ee(b.v,17)){ce(b.v,17).T(b)}else if(b.v){throw new Fk("This widget's parent does not implement HasWidgets")}}
|
434 |
+
function gf(b,c){if(c<=0){throw new Ck('must be positive')}b.b?($wnd.clearInterval(b.c),undefined):($wnd.clearTimeout(b.c),undefined);Wm(df,b);b.b=false;b.c=hf(b,c);Sm(df,b)}
|
435 |
+
function sd(c,d){var b,e,f;!d.e||d.B();f=d.f;d.f=c.b;try{Bd(c.a,d)}catch(b){b=re(b);if(ee(b,9)){e=b;throw new Od(e.a)}else throw b}finally{f==null?(d.e=true,d.f=null):(d.f=f)}}
|
436 |
+
function Qf(b,c){var d,e,f,g,h;if(!!Lf&&!!b&&vl(b.a.d,Lf)){d=Mf.a;e=Mf.b;f=Mf.c;g=Mf.d;Nf(Mf);Mf.d=c;sd(b,Mf);h=!(Mf.a&&!Mf.b);Mf.a=d;Mf.b=e;Mf.c=f;Mf.d=g;return h}return true}
|
437 |
+
function Ud(b,c){var d=new Array(c);if(b==3){for(var e=0;e<c;++e){var f=new Object;f.l=f.m=f.h=0;d[e]=f}}else if(b>0){var f=[null,0,false][b];for(var e=0;e<c;++e){d[e]=f}}return d}
|
438 |
+
function mj(){mj=Hn;gj=new He('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA7CAYAAAAq55mNAAAAJElEQVR42u3BMQEAAADCoPVPbQlPoAAAAAAAAAAAAAAAAAA4GTWzAAHmFYjpAAAAAElFTkSuQmCC')}
|
439 |
+
function Fl(i,b,c){var d=i.a[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.mb();if(i.lb(b,h)){d.length==1?delete i.a[c]:d.splice(e,1);--i.d;return g.W()}}}return null}
|
440 |
+
function Bl(k,b,c,d){var e=k.a[d];if(e){for(var f=0,g=e.length;f<g;++f){var h=e[f];var i=h.mb();if(k.lb(b,i)){var j=h.W();h.nb(c);return j}}}else{e=k.a[d]=[]}var h=new An(b,c);e.push(h);++k.d;return null}
|
441 |
+
function Lg(b,c){var d;d=b.v;if(!c){try{!!d&&d.O()&&b.Q()}finally{b.v=null}}else{if(d){throw new Fk('Cannot set a new parent without first clearing the old parent')}b.v=c;c.O()&&b.P()}}
|
442 |
+
function Fe(b){return $stats({moduleName:$moduleName,sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date).getTime(),type:'onModuleLoadStart',className:b})}
|
443 |
+
function Ig(b){if(!b.O()){throw new Fk("Should only call onDetach when the widget is attached to the browser's document")}try{b.S()}finally{try{b.N()}finally{b.w.__listener=null;b.s=false}}}
|
444 |
+
function Gg(b){var c;if(b.O()){throw new Fk("Should only call onAttach when the widget is detached from the browser's document")}b.s=true;b.w.__listener=b;c=b.t;b.t=-1;c>0&&(b.t==-1?Ef(b.w,c|(b.w.__eventBits||0)):(b.t|=c));b.M();b.R()}
|
445 |
+
function gh(c,d){var i;eh();var b,e,f,g,h;e=null;for(h=c.U();h.I();){g=ce(h.J(),15);try{d.V(g)}catch(b){b=re(b);if(ee(b,10)){f=b;!e&&(e=new sn);i=Al(e.a,f,e)}else throw b}}if(e){throw new fh(e)}}
|
446 |
+
function Zk(b){var c,d,e,f;c=0;e=b.length;f=e-4;d=0;while(d<f){c=b.charCodeAt(d+3)+31*(b.charCodeAt(d+2)+31*(b.charCodeAt(d+1)+31*(b.charCodeAt(d)+31*c)))|0;d+=4}while(d<e){c=c*31+b.charCodeAt(d++)}return c|0}
|
447 |
+
function zd(b,c,d){var e;if(!c){throw new Lk('Cannot add a handler with a null type')}if(!d){throw new Lk('Cannot add a null handler')}b.b>0?yd(b,new Wi(b,c,d)):(e=Dd(b,c),e.fb(d),undefined);return new Ui(b,c,d)}
|
448 |
+
function Gi(b,c,d){var e,f;if(d<0||d>b.c){throw new Hk}if(b.c==b.a.length){f=Vd(me,{30:1},15,b.a.length*2,0);for(e=0;e<b.a.length;++e){Xd(f,e,b.a[e])}b.a=f}++b.c;for(e=b.c-1;e>d;--e){Xd(b.a,e,b.a[e-1])}Xd(b.a,d,c)}
|
449 |
+
function zb(b,c){var d,e;if(c.indexOf(Ln)!=-1){d=(!b.__gwt_container&&(b.__gwt_container=b.createElement(Nn)),b.__gwt_container);d.innerHTML='<'+c+'/>'||Jn;e=vb(d);d.removeChild(e);return e}return b.createElement(c)}
|
450 |
+
function Wh(b){Sh();var c,d;d=ce(wl(Qh,b),16);c=null;if(b!=null){if(!(c=$doc.getElementById(b))){return null}}if(d){if(!c||d.w==c){return d}}Qh.d==0&&Zf(new _h);!c?(d=new ci):(d=new Th(c));Al(Qh,b,d);rn(Rh,d);return d}
|
451 |
+
function Dg(b,c,d){if(!b){throw new M('Null widget handle. If you are creating a composite, ensure that initWidget() has been called.')}c=Rk(c);if(c.length==0){throw new Ck('Style names cannot be empty')}d?sb(b,c):ub(b,c)}
|
452 |
+
function kk(b,c){var d,e,f,g,h,i;g=lg(c.d.type);if(g==4){c.d.returnValue=false}else if(g==64){f=c.d;h=f.clientX||0;i=f.clientY||0;d=h-b.a;e=b.b-i;b.a=h;b.b=i;b.c?Vj(b.e,d):b.d?Wj(b.e,d):Xj(b.e,d,e);c.d.returnValue=false}else g==8&&b.e.g._()}
|
453 |
+
function sb(b,c){var d,e,f,g;c=Rk(c);g=b.className;d=g.indexOf(c);while(d!=-1){if(d==0||g.charCodeAt(d-1)==32){e=d+c.length;f=g.length;if(e==f||e<f&&g.charCodeAt(e)==32){break}}d=g.indexOf(c,d+1)}if(d==-1){g.length>0&&(g+=Mn);b.className=g+c}}
|
454 |
+
function uk(b){var c,d;this.c=(c=b.ownerDocument,Bb(b)+Eb(Ok(c.compatMode,ro)?c.documentElement:c.body));this.d=(d=b.ownerDocument,Cb(b)+((Ok(d.compatMode,ro)?d.documentElement:d.body).scrollTop||0));this.b=b.clientWidth;this.a=b.clientHeight}
|
455 |
+
function jb(j){var b={};var c=[];var d=arguments.callee.caller.caller;while(d){var e=j.y(d.toString());c.push(e);var f=Ln+e;var g=b[f];if(g){var h,i;for(h=0,i=g.length;h<i;h++){if(g[h]===d){return c}}}(g||(b[f]=[])).push(d);d=d.caller}return c}
|
456 |
+
function Lj(b,c){var d,e;e=b.d+b.b;b.f!=0&&!b.c?e-c<~~(b.f/2)?(d=e):c-b.d<~~(b.f/2)?(d=b.d):c==b.d?(d=ge(Math.floor(c))):c==e?(d=ge(Math.ceil(c))):(d=ye(xe(ve(Math.round(c/b.f)),we(b.f)))):(d=ye(ve(Math.round(c))));d<b.d&&(d=b.d);d>e&&(d=e);return d}
|
457 |
+
function qc(){pc();var b,c,d;d=null;if(oc.length!=0){b=oc.join(Jn);c=Bc((vc(),b));!oc&&(d=c);oc.length=0}if(mc.length!=0){b=mc.join(Jn);c=zc((vc(),b));!mc&&(d=c);mc.length=0}if(nc.length!=0){b=nc.join(Jn);c=Ac((vc(),b));!nc&&(d=c);nc.length=0}lc=false;return d}
|
458 |
+
function zc(b){var c,d,e,f,g,h;e=$doc.styleSheets.length;if(e<30){return h=$doc.createStyleSheet(),h.cssText=b,h}else{g=2147483647;f=-1;for(c=0;c<e;++c){d=wc[c];d==0&&(d=wc[c]=$doc.styleSheets[c].cssText.length);if(d<=g){g=d;f=c}}wc[f]+=b.length;return yc(f,b,true)}}
|
459 |
+
function Ze(b,c){var d,e,f;f=false;try{b.c=true;b.f.a=b.b.b;gf(b.a,10000);while(rf(b.f)){e=sf(b.f);try{if(e==null){return}if(e!=null&&e.cM&&!!e.cM[11]){d=ce(e,11);Lh(d)}}finally{f=b.f.b==-1;f||tf(b.f)}if((new Date).getTime()-c>=100){return}}}finally{if(!f){ff(b.a);b.c=false;$e(b)}}}
|
460 |
+
function ek(b,c,d){var e;e=new dl;qb(e.a,'border-width:');qb(e.a,'0px ');cl(e,b.b>0?b.b:b.n.offsetWidth||0);qb(e.a,co);pb(e.a,100);qb(e.a,'px 0px;');qb(e.a,'top:');ob(e.a,-100+(1-(d-c))*100);qb(e.a,mo);qb(e.a,'left:');bl(e,c*(b.b>0?b.b:b.n.offsetWidth||0));qb(e.a,mo);b.q.w.setAttribute('style',rb(e.a))}
|
461 |
+
function ub(b,c){var d,e,f,g,h,i,j;c=Rk(c);j=b.className;f=j.indexOf(c);while(f!=-1){if(f==0||j.charCodeAt(f-1)==32){g=f+c.length;h=j.length;if(g==h||g<h&&j.charCodeAt(g)==32){break}}f=j.indexOf(c,f+1)}if(f!=-1){d=Rk(j.substr(0,f-0));e=Rk(Qk(j,f+c.length));d.length==0?(i=e):e.length==0?(i=d):(i=d+Mn+e);b.className=i}}
|
462 |
+
function Bd(c,d){var b,e,f,g,h,i,j;if(!d){throw new Lk('Cannot fire null event')}try{++c.b;h=Ed(c,d.A());e=null;i=c.c?h.rb(h.jb()):h.qb();while(c.c?i.b>0:i.b<i.d.jb()){g=c.c?Fm(i):ym(i);try{d.z(ce(g,18))}catch(b){b=re(b);if(ee(b,10)){f=b;!e&&(e=new sn);j=Al(e.a,f,e)}else throw b}}if(e){throw new Nd(e)}}finally{--c.b;c.b==0&&Fd(c)}}
|
463 |
+
function Mj(b,c,d,e,f,g,h){var i,j,k;this.k=h;this.e=f;this.d=b;k=c-b;this.b=k==0?1:k;this.c=true;g==0?this.b>4000?(this.f=100):this.b>2000?(this.f=50):this.b>1000?(this.f=25):this.b>500?(this.f=10):this.b>100?(this.f=5):(this.f=0):(this.f=g);if(k!=0){i=(d-this.d)/this.b;j=(e-this.d)/this.b;this.i=i;this.j=j;Bj(this);Aj(this)}else{this.i=0;this.j=1;Bj(this);Aj(this)}}
|
464 |
+
function Jh(b,c,d,e,f,g){var h,i;this.b=d;this.c=e;this.e=f;this.a=g;this.d=c;Kg(b,(h=zb($doc,'span'),h.innerHTML=(i='width: '+f+'px; height: '+g+'px; background: url('+c+bo+-d+co+-e+eo,"<img onload='this.__gwtLastUnhandledEvent=\"load\";' src='"+$moduleBase+"clear.cache.gif' style='"+i+"' border='0'>")||Jn,vb(h)));b.t==-1?Ef(b.w,133333119|(b.w.__eventBits||0)):(b.t|=133333119)}
|
465 |
+
function nj(b){var c;var d;var e;var f;var g;var h;var i;var j;var k;if(b){c=b['hostElementId'];d=b['leftBorder'];e=b['rightBorder'];f=b['currentLeft'];g=b['currentRight'];h=b['stepSize'];i=b['unit'];j=b['callback'];k=b[go]}!c&&(c=Jn);!d&&(d=0);!e&&(e=0);d>e&&(d=e);!f&&(f=d);!g&&(g=e);!h&&(h=0);i=i==null?jo:i.indexOf(jo)!=-1?i:'%n '+i;(!j||typeof j!=Kn)&&(j=null);!k&&(k=0);oj(c,d,e,f,g,i,h,k,j)}
|
466 |
+
function qe(){var b;!!$stats&&Fe('com.google.gwt.user.client.UserAgentAsserter');b=Wf();Ok(Rn,b)||($wnd.alert('ERROR: Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie8) does not match the runtime user.agent value ('+b+'). Expect more errors.\n'),undefined);!!$stats&&Fe('de.factfinder.asn.slider.client.StandAloneOneTouchSlider');$wnd.oneTouchSlider={};$wnd.oneTouchSlider.addSlider=In(nj);$wnd.oneTouchSliderOnLoad&&typeof $wnd.oneTouchSliderOnLoad==Kn&&$wnd.oneTouchSliderOnLoad()}
|
467 |
+
function Wf(){var c=navigator.userAgent.toLowerCase();var d=function(b){return parseInt(b[1])*1000+parseInt(b[2])};if(function(){return c.indexOf(Sn)!=-1}())return Sn;if(function(){return c.indexOf('webkit')!=-1}())return 'safari';if(function(){return c.indexOf(Tn)!=-1&&$doc.documentMode>=9}())return 'ie9';if(function(){return c.indexOf(Tn)!=-1&&$doc.documentMode>=8}())return Rn;if(function(){var b=/msie ([0-9]+)\.([0-9]+)/.exec(c);if(b&&b.length==3)return d(b)>=6000}())return 'ie6';if(function(){return c.indexOf('gecko')!=-1}())return 'gecko1_8';return 'unknown'}
|
468 |
+
function ve(b){var c,d,e,f,g,h,i,j;if(isNaN(b)){return Ce(),Be}if(b<-9223372036854775808){return Ce(),Ae}if(b>=9223372036854775807){return Ce(),ze}f=false;if(b<0){f=true;b=-b}e=0;if(b>=17592186044416){e=~~Math.max(Math.min(b/17592186044416,2147483647),-2147483648);b-=e*17592186044416}d=0;if(b>=4194304){d=~~Math.max(Math.min(b/4194304,2147483647),-2147483648);b-=d*4194304}c=~~Math.max(Math.min(b,2147483647),-2147483648);g=(a=new Ee,a.l=c,a.m=d,a.h=e,a);f&&(h=~g.l+1&4194303,i=~g.m+(h==0?1:0)&4194303,j=~g.h+(h==0&&i==0?1:0)&1048575,g.l=h,g.m=i,g.h=j,undefined);return g}
|
469 |
+
function xe(b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D;d=b.l&8191;e=b.l>>13|(b.m&15)<<9;f=b.m>>4&8191;g=b.m>>17|(b.h&255)<<5;h=(b.h&1048320)>>8;i=c.l&8191;j=c.l>>13|(c.m&15)<<9;k=c.m>>4&8191;l=c.m>>17|(c.h&255)<<5;m=(c.h&1048320)>>8;z=d*i;A=e*i;B=f*i;C=g*i;D=h*i;if(j!=0){A+=d*j;B+=e*j;C+=f*j;D+=g*j}if(k!=0){B+=d*k;C+=e*k;D+=f*k}if(l!=0){C+=d*l;D+=e*l}m!=0&&(D+=d*m);o=z&4194303;p=(A&511)<<13;n=o+p;r=z>>22;s=A>>9;t=(B&262143)<<4;u=(C&31)<<17;q=r+s+t+u;w=B>>18;x=C>>5;y=(D&4095)<<8;v=w+x+y;q+=n>>22;n&=4194303;v+=q>>22;q&=4194303;v&=1048575;return te(n,q,v)}
|
470 |
+
function sg(b,c){var d=(b.__eventBits||0)^c;b.__eventBits=c;if(!d)return;d&1&&(b.onclick=c&1?og:null);d&3&&(b.ondblclick=c&3?ng:null);d&4&&(b.onmousedown=c&4?og:null);d&8&&(b.onmouseup=c&8?og:null);d&16&&(b.onmouseover=c&16?og:null);d&32&&(b.onmouseout=c&32?og:null);d&64&&(b.onmousemove=c&64?og:null);d&128&&(b.onkeydown=c&128?og:null);d&256&&(b.onkeypress=c&256?og:null);d&512&&(b.onkeyup=c&512?og:null);d&1024&&(b.onchange=c&1024?og:null);d&2048&&(b.onfocus=c&2048?og:null);d&4096&&(b.onblur=c&4096?og:null);d&8192&&(b.onlosecapture=c&8192?og:null);d&16384&&(b.onscroll=c&16384?og:null);d&32768&&(b.nodeName=='IFRAME'?c&32768?b.attachEvent(Zn,pg):b.detachEvent(Zn,pg):(b.onload=c&32768?qg:null));d&65536&&(b.onerror=c&65536?og:null);d&131072&&(b.onmousewheel=c&131072?og:null);d&262144&&(b.oncontextmenu=c&262144?og:null);d&524288&&(b.onpaste=c&524288?og:null)}
|
471 |
+
function lg(b){switch(b){case 'blur':return 4096;case 'change':return 1024;case 'click':return 1;case 'dblclick':return 2;case 'focus':return 2048;case 'keydown':return 128;case 'keypress':return 256;case 'keyup':return 512;case Un:return 32768;case 'losecapture':return 8192;case On:return 4;case 'mousemove':return 64;case Pn:return 32;case Qn:return 16;case 'mouseup':return 8;case 'scroll':return 16384;case 'error':return 65536;case 'DOMMouseScroll':case 'mousewheel':return 131072;case 'contextmenu':return 262144;case 'paste':return 524288;case 'touchstart':return 1048576;case 'touchmove':return 2097152;case 'touchend':return 4194304;case 'touchcancel':return 8388608;case 'gesturestart':return 16777216;case 'gesturechange':return 33554432;case 'gestureend':return 67108864;case 'ended':return 134217728;case 'progress':return 268435456;case 'canplaythrough':return 536870912;default:return -1;}}
|
472 |
+
function _f(){var b,c;if(!Xf){b=(c=zb($doc,'script'),c.text='function __gwt_initWindowCloseHandler(beforeunload, unload) {\n var wnd = window\n , oldOnBeforeUnload = wnd.onbeforeunload\n , oldOnUnload = wnd.onunload;\n \n wnd.onbeforeunload = function(evt) {\n var ret, oldRet;\n try {\n ret = beforeunload();\n } finally {\n oldRet = oldOnBeforeUnload && oldOnBeforeUnload(evt);\n }\n // Avoid returning null as IE6 will coerce it into a string.\n // Ensure that "" gets returned properly.\n if (ret != null) {\n return ret;\n }\n if (oldRet != null) {\n return oldRet;\n }\n // returns undefined.\n };\n \n wnd.onunload = function(evt) {\n try {\n unload();\n } finally {\n oldOnUnload && oldOnUnload(evt);\n wnd.onresize = null;\n wnd.onscroll = null;\n wnd.onbeforeunload = null;\n wnd.onunload = null;\n }\n };\n \n // Remove the reference once we\'ve initialize the handler\n wnd.__gwt_initWindowCloseHandler = undefined;\n}\n',c);$doc.body.appendChild(b);$wnd.__gwt_initWindowCloseHandler(In(bg),In(ag));$doc.body.removeChild(b);Xf=true}}
|
473 |
+
function ij(b){if(!b.a){b.a=true;pc();R(mc,'.GLR1MK0AG{display:block;}.GLR1MK0OG{font-family:verdana, sans-serif;font-size:8pt;text-align:center;}.GLR1MK0EG{background:#555;width:100%;height:17px;position:relative;text-align:left;-moz-border-radius:4px 4px 4px 4px;-webkit-border-radius:4px;font-size:1.1em;}.GLR1MK0DG{height:100%;top:0;background:#6683b4;background-position:0 0;border:0 none;display:block;font-size:0.7em;position:absolute;z-index:1;text-align:center;}.GLR1MK0HG{background:repeat-x scroll 50% 50% #f6f6f6;border:1px solid #7f7f7f;color:#fff;font-weight:bold;outline:medium none;margin-left:-0.6em;top:-0.3em;cursor:default;height:23px;position:absolute;width:1em;z-index:3;-moz-border-radius:4px;-webkit-border-radius:4px;font-family:Verdana, Arial, sans-serif;font-size:1.1em;text-align:left;text-decoration:none;}.GLR1MK0IG{border-color:transparent;border-style:solid;border-width:0 200px 100px 0;height:0;width:0;position:absolute;border-bottom-color:#ccd6e6;filter:alpha(opacity=0);z-index:2;}.GLR1MK0KG{filter:alpha(opacity=50);}.GLR1MK0JG{filter:alpha(opacity=70);}.GLR1MK0BG{cursor:pointer;}.GLR1MK0CG{cursor:none;}.GLR1MK0PF{cursor:default;}.GLR1MK0FG{margin:-21px auto;z-index:3;position:absolute;}.GLR1MK0GG{width:58px;margin:32px 0 0 -29px;}.GLR1MK0LG{background-color:#f1f1f1;border:1px solid #acacac;font-size:9px;height:20px;margin:0 0 10px;text-align:center;width:40px;}.GLR1MK0MG{float:left;}.GLR1MK0NG{float:right;}');rc();return true}return false}
|
474 |
+
function rg(){$wnd.__gwt_globalEventArray==null&&($wnd.__gwt_globalEventArray=new Array);$wnd.__gwt_globalEventArray[$wnd.__gwt_globalEventArray.length]=In(function(){return Bf($wnd.event)});var e=In(function(){var b=yb;yb=this;if($wnd.event.returnValue==null){$wnd.event.returnValue=true;if(!tg()){yb=b;return}}var c,d=this;while(d&&!(c=d.__listener)){d=d.parentElement}c&&!fe(c)&&c!=null&&c.cM&&!!c.cM[14]&&Af($wnd.event,d,c);yb=b});var f=In(function(){var b=$doc.createEventObject();$wnd.event.returnValue==null&&$wnd.event.srcElement.fireEvent&&$wnd.event.srcElement.fireEvent(Vn,b);if(this.__eventBits&2){e.call(this)}else if($wnd.event.returnValue==null){$wnd.event.returnValue=true;tg()}});var g=In(function(){this.__gwtLastUnhandledEvent=$wnd.event.type;e.call(this)});var h=$moduleName.replace(/\./g,'_');$wnd['__gwt_dispatchEvent_'+h]=e;og=(new Function(Wn,'return function() { w.__gwt_dispatchEvent_'+h+'.call(this) }'))($wnd);$wnd['__gwt_dispatchDblClickEvent_'+h]=f;ng=(new Function(Wn,'return function() { w.__gwt_dispatchDblClickEvent_'+h+Xn))($wnd);$wnd['__gwt_dispatchUnhandledEvent_'+h]=g;qg=(new Function(Wn,Yn+h+Xn))($wnd);pg=(new Function(Wn,Yn+h+'.call(w.event.srcElement)}'))($wnd);var i=In(function(){e.call($doc.body)});var j=In(function(){f.call($doc.body)});$doc.body.attachEvent(Vn,i);$doc.body.attachEvent('onmousedown',i);$doc.body.attachEvent('onmouseup',i);$doc.body.attachEvent('onmousemove',i);$doc.body.attachEvent('onmousewheel',i);$doc.body.attachEvent('onkeydown',i);$doc.body.attachEvent('onkeypress',i);$doc.body.attachEvent('onkeyup',i);$doc.body.attachEvent('onfocus',i);$doc.body.attachEvent('onblur',i);$doc.body.attachEvent('ondblclick',j);$doc.body.attachEvent('oncontextmenu',i)}
|
475 |
+
function fk(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;this.o=(kj(),ej);this.a=new dj;this.f=new nk(this);this.g=new qj;oh(this,(c=Fb($doc),q=new oi,e=Fb($doc),s=new oi,g=Fb($doc),h=Fb($doc),i=Fb($doc),j=Fb($doc),k=Fb($doc),w=new uh,m=Fb($doc),v=new Dh((lj(),fj)),o=new yh("<div class='GLR1MK0OG fact-finder-onetouchslider'> <span id='"+c+no+e+"'><\/span> <div style='clear: both !important;'><\/div> <div style='clear: both !important;'><\/div> <div class='GLR1MK0AG'> <div class='GLR1MK0EG fact-finder-onetouchslider-bar' id='"+g+"'> <div class='GLR1MK0DG fact-finder-onetouchslider-bar fact-finder-onetouchslider-bar-selected' id='"+h+"'><\/div> <span class='GLR1MK0HG fact-finder-onetouchslider-handle fact-finder-onetouchslider-handle-left' id='"+i+"'><\/span> <span class='GLR1MK0HG fact-finder-onetouchslider-handle fact-finder-onetouchslider-handle-right' id='"+j+no+k+no+m+"'><\/span> <\/div> <\/div> <\/div>"),q.w[$n]='GLR1MK0LG GLR1MK0MG fact-finder-onetouchslider-text-box fact-finder-onetouchslider-textbox-left',q.w[oo]=true,Bg(q,Cg(q.w)+po),s.w[$n]='GLR1MK0LG GLR1MK0NG fact-finder-onetouchslider-text-box fact-finder-onetouchslider-textbox-right',s.w[oo]=true,Bg(s,Cg(s.w)+po),w.w[$n]='GLR1MK0IG fact-finder-onetouchslider-triangle',v.w[$n]='GLR1MK0FG fact-finder-onetouchslider-grip',b=Qe(o.w),d=$doc.getElementById(c),f=$doc.getElementById(e),u=$doc.getElementById(g),u.removeAttribute(qo),t=$doc.getElementById(h),t.removeAttribute(qo),p=$doc.getElementById(i),p.removeAttribute(qo),r=$doc.getElementById(j),r.removeAttribute(qo),l=$doc.getElementById(k),n=$doc.getElementById(m),b.b?b.b.insertBefore(b.a,b.c):Se(b.a),Jg(q),Ei(o.a,q),d.parentNode.replaceChild(q.w,d),Lg(q,o),Jg(s),Ei(o.a,s),f.parentNode.replaceChild(s.w,f),Lg(s,o),Jg(w),Ei(o.a,w),l.parentNode.replaceChild(w.w,l),Lg(w,o),Jg(v),Ei(o.a,v),n.parentNode.replaceChild(v.w,n),Lg(v,o),this.c=p,this.d=q,this.i=r,this.j=s,this.k=t,this.n=u,this.p=v,this.q=w,o));ij(this.o);jk(this.f);this.g.ab()}
|
476 |
+
function lj(){lj=Hn;fj=new He('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA7CAYAAAAq55mNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADoBJREFUeNrUW3mQFcUZ7znewS67y7GwLKziLp7hFlEDFqcsRquSKjUqgkqMlRgllT9MoqaSlDGEktKUZzQiGhMVOTxKrQhUiCnLKwKLCHJI9mRvjuVY3u6bqztfHzOvXzPvWHalymd99szsTHf/+jv7+xqNEIK+zb/Kqgvyes88y5PS5PuG+v+dtVU2v0kg8NP68D75JhfBHGBwuYCq9yRHv2SgQJsDADAMjCY91/Lskkjk32uyHvYHsDlAALUMANVnuUDiENADAljvJ0hN9CGTIRYwjCISqX8zpNaQ+tLVxQuxBTl/Wr7uRXSuclGXOKYrwNW/q4ukiioWRJQWh3AYhbT9F10FZBgwTay+JnEhDGzYTwbiKQA98X3YImhK2z+gISD1LCLrt0ZxUZE2e/Ycc/r06WjSlEkoEomgC8+vQqbJh2xuadW6TyVIY0Ojtn/fPrJ54ybvQF2tKcDJID1poWTgfQKbVXTzAGnK4Oj95ZdNN25dsliff/WCWMeRxETb8cZ7GFMrEsMEVUAbZZ1pqB2m1gtti2no9SVF8W0nj7V3rFuznrz8j5ddCSwlV+GyzPW8xDgj0CwgDcXoMJBTJk6O3LJ4kXbV7Oryw8d6bnA9PEPXtTgAgY/gP+10yaVjM6IzxtxlxqLGxkFGYsu6NevQ6pdedAVIL4TCwPYNqGJds4Fk9PAfHjYXfO/7Q5o7Tt4MABfoGtI1XYf/IQZQ81t1+QVQipFOg2DMrxE5WFQQffVYZ23N2tdexxs3b3IEYBW0rLtZwWYDqkkuSFdFlNLYiorIz5YtM86fMHPWqR77bsASNyhKAZIi1AOgIc5TAMQ+YEzYNWuBQCJqxo8b8cTfX1qVePqZZ2Swbl/BngY0RGSNEJCReXPmRRctXqRHSioXgx5er+sclGHojHuAlbJVAEani64QWcSAUgJuYiRAYgbY8+g7pL1yzNDlH215r335n5ZTgI4gWX9JiBvKO2BQjU/AyfGXfMf866rnTCdW8Wvg5PUgrmxSHkzSdTGbKL/H7Bn2JPLvKShoXSzeo++zfnDQD+3XcbzyrxuPrJx8ZfXFDz7woBpg6JJbU9Ut7Wc89NBDuUTWUCIb875f3mce7Ir+OGm5c4kkgr508EYL9A/7eoiEaBK+KJ7PPUyChWIgGVgULBSAjh7rTk6fdunUz4riRm/NjppsAUSfQkAtxFcavuEpLJtUfSJhXevAqtt05YEc14MJEuQwThBxz7nic8t1FfJI8A7jHnzjsL7EteOx/tk4jle888ChB+/8yT3xK6ZfroaMei6u6hm2UZoisoyW3r7UPG/8VZWHuhJ3yROCSfBr1nppE04tAoagwUDDSwahGLSuB8/oc5fA9zhtgRwHB33ajsvA0vuk5Zy7+dO6ny5afKsh+fC8IjA9D5cSgH3gNw8Ye+sOLbMcz7RsD1k2TMKmq87Bssk5KmDOGepcCuMm2rrza9SbtFBRYSx4z/W/p30JkGlExxHPuxPWbFJYNY0uurIByA9oDrHVacdv/Wv35b29yUrbtmFQB1kwQQtWnIGmLUzEcvl9auJc/AoGRdAXu2vRoSPH0Z7aVhSPmczn8G89xjlLkL9wSXrNWtqXg+i4lm2hprauRTffelOuuDoNdDagaQaJdtzS0XUjHYgBtSzk0MEdf6ISueKZEDmIduBdC7V1HkHR+CCkGyZqbOlChQDeF33+Lhb9uaJPzLjpODAeG9di4/b09lTW7D8xZeGCajNkO5eTo1qmfSaNX7+q667q6emppAPZVhLx1goAc1GWyeWiDROmYvrl3joUicZRLBaHwD6KIExEEOMyzjJw4l0uCUJ8BQf9caykAJtMooOth66+/oc3IMW9ZMxqmBnyPmn7zOqFC7Xaxrbv0sFo1KPpBjKAdMNFBuxGDMNjXDIoYQgSdAJ/R6wtLx2Mjhw9hrpP9aLCwcXIjMRYH9T1NLYdg78Xo46jCcX3gsvxXOSBGnjQYjBclNg1c0ewMEk8bfyEGbFYNOpZtq3nymjoWZJXAdDZc2ehrmMnL7OAk0lYTdZavLXoSvsrblNymOglbe5uhhTF0Z79DbA4sGnRIyxQ8C1y18kkSvTaaMjgGHvf8nVR9OlTUozHx+wVz6zo2xs/nzhv7rxsVjcvHWUf032li+Pxnp5EhZXs5QMlfUqi4BkQF+kkcoQ4Dy+OoQN1zajXchHRTYiCwPiA3vniTQ1QQ2sXGjm0gHGPfW/zPuxkUvSZGs9mYyWDZx2Hj54/afIkLYSbp3HVzGKI2HVV5Tjto617ymEACGWp2Oo8aKfiS0XVA3KBzAhce/wZUElRAbgTHW3/ognF4oXIIzozODzkFdszYG8SxLCp9SgqLYmBKJ9CGAC7nsPF1nWYuPri61ERhvfpd7SPEyfJmFmXXoByhX/ZMgzBB+Xlo7TOziPDqbjwLZcAanA9ZQCpnsLETHYdYTo7dPRQtHPXfuYjY9CVBy0hVlrKCHtc3xpae9Hki8agGJiV44lkANCFNk1XhX4G2zvPG1ZWVobyyTTmTKUUFRWBIekpoNYOiQ20zgyRzg0STMB0OVga7ZhA5SOGIRdEsKmlDRUMLmHPQZaR5unpuxdmeLihOVDfhoYVF6DOw0c4UJcDlTlKQVKwPKamQN3CwsKCvHLHeSXHmB8LOKpx8QXOUnA6XW3TY+JrRjw2wdIhBWjbjl1i5THnDEyQSkKQEaPix4J7DrS1oxvCw7GoBFxRe+dJJqaua3OOCqsrc5NRJP+0dM43u7u70eBCvYeC5XtKiaswCV03mW5SsaWTrqwYjTo6O1HX8ePAzWLOTdtmIu9nG/ydDl0EIrhEubb3QCMaN3YUamxuSemn67sVrpv+d8ySaiiRSPTklfI0c2TOUXt7B7ni4plHXcdJKbDgKG2pPtJJ0FUv0Aeh0WVD0eYPPgLRjrDtl2s7TBcpUCTyR2zLzcDilPiCJPQkutGIIYXgW4eg+qaW08SWBGLLf9FIpKsTFjVXvijMvaj7O1LfUEfmzZrW7ro0FHM4sVjX5iItxJrqMNXNL3fvBRdgIwKso5zywzdHEHUfqWsr9TcQU7qY+2ob0TmjRzJgQfRl26mxBdH5mIbR3tzUnGn+OTkqb2jxye5uMqzETML1QdC1c7nmS7oKHPVAjGNwP3J4Mdq1Zy+KxAbRScAqEngTdJPQ+J2yML1KqFPLSf/uDwfLTnW8vrEFlQ0fimobGgPR5kYIB1lcOofSYSUHarZvJxmy+SQXR9V7XLN9B4pGza98S0jJoUS5anPOUqKrDGYQRUwDRZhVpnoEYDXMBJaB1niriTQPvdc1zHJLlExDA5E00KnEqaBf1jfr30n5WM/FN/5g/r5PPv0EZwFI0jhKq1NSvKvWPPBbb7xJLr5o5sefbd1+ra8iPLOnI6zDpIVV/Gp/LZpwURUqKR4c+Fsk0pyamgqUcrqykaEhYF1jM2oCg0T79PWYWWmUGrugoLAGuScSIHE4Q40mo+iSDGU8vHX7Nm/FyhVf/3dbTTNYw3PkuMKPlJjjbzoIE2wVgT+Pnng0FZLA9o2R8Kc0C0hEAOET8QMELM+dL1jF6PItb7/5NpKS2VnzR7l01AfrbVi7wRw1atQ7TU1Ny5DEVo1OxgcLE6URk7/D0TRP6DKPqE7P62IGghChgwEwnPbMdyd8SJ3WcZofX/GLHZdOnepKxSl8psYorZr1/Aur3B07vvjwmhvuuQ4sbSUD64sloRzlYDSYKAMq3E/Kf6pRmuT4CQ4F5wcVRN6KgE5fMu7CV55/9jm1PEGylBhDdy8kpEbJOnzqiSe9KZMmrIaJYBFrcmfv8ujFE3Gp64j4lLoBYUgCg5LhnhkaJxXXpqIhzHVV6Gk8Pmjbj26Zu50uvFJ4yspRXTkFosq4XNHyaJVr9vTz9o8cWfaqH3P6pt8TuwsfMLfOfAfiSrFrQI7/3N+pUHBOWj8pt8LHgV1R++/vv/epDWvXE6UsQfIGGuZWQrjqrlz5iHvv0mveATfyIU9QC0MiJoWlLRUH7J4OUgLo+hx0fS66KX31++Zq0nPdwvkr9u78OCGKTmo5kWSrv+ghZ3vUl2VdcMGcO6+/tsZ79YWVf4nF4rtTFTEc7C5Yq+wjUyKZEk0vSJF40rfiex8gCxA0e/LEiY+NLTNbpWKTXGDCucJAPc/jMFhaQe/zbVudVc8+5az925//WFIy5H35zUCcmdsgqYmLXQqWdiLBtktU0YJYVuoPrPjh6vlz76+eecFOUWRSK2leLm7mUzZUM/a6XBelxabb7rjdWP36f65ta29bCn0N6Em0WCy27+47lzxqnWg6/viTT/iVtIEpG+ZRCDbUOimtx9S3WeX/3PzvmyF0m4X6c5CSlR6NwxUV56x75Hd3fbDmldfI+jc2yDqpGiHvjAvBZ1DaN2dcOSOy+LbF2ntbdlVt27Hzxt7enqnQdTSf4z1+1ASBQFtpaemm5x//7ab3333LFVwMK+1jhc6stJ/nYQ0jrEg8b848Y8kdS7SSYWNiyx9bPamltfUK27LPA0tbCvpYLPcfjcbqIbhIFBUXf1k9Z+Ynt900t3Pd2vXoxRdX01ytd1YOa5zB8Ru5umXEolG9unqhUb2wGlWNq0IVY8pRcVERevTp9SN+9fObDtPO9u4/QFME6LOPP0Xvvfsurm2ox4rvVgMCL8NxupxZhrxOjuVxoCoTyX9nv7EVFVpTS4s6QfWkWCYiIYYnr1TKQB2RC6to6TmSyiQEbKYjcihDUJD3Ebm8Dz1KwUTY5DzlxIh8qMK/thVyFFINjyuB88I42ZdTnn3ye9IGXT6WRhSOkRARV5PjJMfWMGvG4EyOsfbZwfuDSIf2VcBq5hxnKGSRPA4m9xtgv09ghwAOyz1lO4aOMuV3BhJgv4GqgLOARn0wGiSs34H4DWhsGjI5EhJW5vrmG/mdtX/3cjb/jUu/3Mu3/fd/AQYAFnxtwIzfP80AAAAASUVORK5CYII=')}
|
477 |
+
var Jn='',Mn=' ',jo='%n',no="'><\/span> <span id='",bo=') no-repeat ',po='-readonly',Xn='.call(this)}',Ln=':',ro='CSS1Compat',ho='GLR1MK0BG',io='GLR1MK0CG',lo='GLR1MK0JG',ko='GLR1MK0KG',ao='__gwtLastUnhandledEvent',$n='className',Nn='div',Kn='function',qo='id',Rn='ie8',_n='left',Un='load',On='mousedown',Pn='mouseout',Qn='mouseover',Tn='msie',Vn='onclick',Zn='onload',Sn='opera',eo='px',co='px ',mo='px;',oo='readOnly',Yn='return function() { w.__gwt_dispatchUnhandledEvent_',fo='value',Wn='w',go='width';var _;_=E.prototype={};_.eQ=function F(b){return this===b};_.hC=function G(){return this.$H||(this.$H=++U)};_.tM=Hn;_.cM={};_=K.prototype=new E;_.cM={10:1,30:1};_=J.prototype=new K;_.cM={10:1,30:1};_=M.prototype=I.prototype=new J;_.cM={2:1,10:1,30:1};_=O.prototype=H.prototype=new I;_.cM={2:1,10:1,30:1};_.a=null;_=S.prototype=new E;_.cM={};var T=0,U=0;_=eb.prototype=Z.prototype=new S;_.cM={};_.a=null;_.b=null;var $;_=mb.prototype=ib.prototype=new E;_.y=function nb(b){return hb(b)};_.cM={};var yb=null;_=Hb.prototype=new E;_.eQ=function Ib(b){return this===b};_.hC=function Jb(){return this.$H||(this.$H=++U)};_.cM={30:1,31:1,32:1};_=Gb.prototype=new Hb;_.cM={23:1,30:1,31:1,32:1};var Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb;_=Vb.prototype=Ub.prototype=new Gb;_.cM={23:1,30:1,31:1,32:1};_=Xb.prototype=Wb.prototype=new Gb;_.cM={23:1,30:1,31:1,32:1};_=Zb.prototype=Yb.prototype=new Gb;_.cM={23:1,30:1,31:1,32:1};_=_b.prototype=$b.prototype=new Gb;_.cM={23:1,30:1,31:1,32:1};_=bc.prototype=ac.prototype=new Gb;_.cM={23:1,30:1,31:1,32:1};_=dc.prototype=cc.prototype=new Gb;_.cM={23:1,30:1,31:1,32:1};_=fc.prototype=ec.prototype=new Gb;_.cM={23:1,30:1,31:1,32:1};_=hc.prototype=gc.prototype=new Gb;_.cM={23:1,30:1,31:1,32:1};_=jc.prototype=ic.prototype=new Gb;_.cM={23:1,30:1,31:1,32:1};var kc,lc=false,mc,nc,oc;_=tc.prototype=sc.prototype=new E;_.x=function uc(){(pc(),lc)&&qc()};_.cM={};var wc;_=Ec.prototype=new E;_.cM={};_.f=null;_=Dc.prototype=new Ec;_.B=function Fc(){this.e=false;this.f=null};_.cM={};_.e=false;_=Cc.prototype=new Dc;_.A=function Ic(){return this.C()};_.cM={};_.a=null;_.b=null;var Gc=null;_=Lc.prototype=new E;_.hC=function Nc(){return this.c};_.cM={};_.c=0;var Mc=0;_=Oc.prototype=Kc.prototype=new Lc;_.cM={};_=Pc.prototype=Jc.prototype=new Kc;_.cM={3:1};_.a=null;_.b=null;_=Qc.prototype=new Cc;_.cM={};_=Sc.prototype=new Qc;_.cM={};_=Wc.prototype=Rc.prototype=new Sc;_.z=function Xc(b){Vc(this,ce(b,4))};_.C=function Yc(){return Tc};_.cM={};var Tc;_=ad.prototype=Zc.prototype=new Sc;_.z=function bd(b){ce(ce(b,5),6).e.g.Z()};_.C=function cd(){return $c};_.cM={};var $c;_=gd.prototype=dd.prototype=new Sc;_.z=function hd(b){ce(b,7).D(this)};_.C=function id(){return ed};_.cM={};var ed;_=kd.prototype=jd.prototype=new E;_.cM={};_.a=null;_=nd.prototype=ld.prototype=new Dc;_.z=function od(b){ce(b,8).E(this)};_.A=function qd(){return md};_.cM={};var md=null;_=ud.prototype=td.prototype=rd.prototype=new E;_.cM={25:1};_.a=null;_.b=null;_=xd.prototype=new E;_.cM={};_=wd.prototype=new xd;_.F=function Gd(b,c,d){this.b>0?yd(this,new Zi(this,b,d)):Cd(this,b,d)};_.cM={};_.a=null;_.b=0;_.c=false;_=Hd.prototype=vd.prototype=new wd;_.F=function Id(b,c,d){this.b>0?yd(this,new Zi(this,b,d)):Cd(this,b,d)};_.cM={};_=Kd.prototype=Jd.prototype=new E;_.cM={};_.a=null;_=Nd.prototype=Md.prototype=new I;_.cM={2:1,9:1,10:1,30:1};_.a=null;_=Od.prototype=Ld.prototype=new Md;_.cM={2:1,9:1,10:1,30:1};_=Qd.prototype=Pd.prototype=new E;_.cM={18:1};_=Sd.prototype=Rd.prototype=new E;_.cM={};_.aC=null;_.qI=0;var Yd,Zd;var ue=null;var ze,Ae,Be;_=Ee.prototype=De.prototype=new E;_.cM={26:1};_=He.prototype=Ge.prototype=new E;_.cM={};_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;_=Ie.prototype=new E;_.cM={};_=Le.prototype=Je.prototype=new E;_.cM={};var Ke=null;_=Oe.prototype=Me.prototype=new Ie;_.cM={};var Ne=null;var Pe=null;_=Ue.prototype=Te.prototype=new E;_.cM={};_.a=null;_.b=null;_.c=null;_=We.prototype=Ve.prototype=new I;_.cM={2:1,10:1,30:1};_=af.prototype=Xe.prototype=new E;_.cM={};_.c=false;_.e=false;_=cf.prototype=new E;_.G=function jf(){this.b||Wm(df,this);this.H()};_.cM={13:1};_.b=false;_.c=0;var df;_=kf.prototype=bf.prototype=new cf;_.H=function lf(){if(!this.a.c){return}Ye(this.a)};_.cM={13:1};_.a=null;_=nf.prototype=mf.prototype=new cf;_.H=function of(){this.a.e=false;Ze(this.a,(new Date).getTime())};_.cM={13:1};_.a=null;_=uf.prototype=pf.prototype=new E;_.I=function vf(){return this.c<this.a};_.J=function wf(){return sf(this)};_.K=function xf(){tf(this)};_.cM={};_.a=0;_.b=-1;_.c=0;_.d=null;var yf=null,zf=null;var Ff;var If=null;_=Of.prototype=Kf.prototype=new Dc;_.z=function Pf(b){kk(ce(b,12),this);Mf.c=false};_.A=function Rf(){return Lf};_.B=function Sf(){Nf(this)};_.cM={};_.a=false;_.b=false;_.c=false;_.d=null;var Lf=null,Mf=null;_=Uf.prototype=Tf.prototype=new E;_.E=function Vf(b){while((ef(),df).b>0){ff(ce(Tm(df,0),13))}};_.cM={8:1,18:1};var Xf=false,Yf=null;_=fg.prototype=cg.prototype=new Dc;_.z=function gg(b){he(b);null.tb()};_.A=function hg(){return dg};_.cM={};var dg;_=jg.prototype=ig.prototype=new rd;_.cM={25:1};var kg=false;var ng=null,og=null,pg=null,qg=null;_=yg.prototype=new E;_.cM={28:1};_.w=null;_=xg.prototype=new yg;_.M=function Ng(){};_.N=function Og(){};_.O=function Pg(){return this.s};_.P=function Qg(){Gg(this)};_.L=function Rg(b){Hg(this,b)};_.Q=function Sg(){Ig(this)};_.R=function Tg(){};_.S=function Ug(){};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.s=false;_.t=0;_.u=null;_.v=null;_=wg.prototype=new xg;_.M=function Vg(){gh(this,(eh(),ch))};_.N=function Wg(){gh(this,(eh(),dh))};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=vg.prototype=new wg;_.U=function Zg(){return new Ni(this.a)};_.T=function $g(b){return Yg(this,b)};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=ug.prototype=new vg;_.T=function ah(b){var c;c=Yg(this,b);c&&_g(b.w);return c};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=fh.prototype=bh.prototype=new Ld;_.cM={2:1,9:1,10:1,30:1};var ch,dh;_=ih.prototype=hh.prototype=new E;_.V=function jh(b){b.P()};_.cM={};_=lh.prototype=kh.prototype=new E;_.V=function mh(b){b.Q()};_.cM={};_=nh.prototype=new xg;_.O=function ph(){if(this.r){return this.r.s}return false};_.P=function qh(){if(this.t!=-1){Mg(this.r,this.t);this.t=-1}Gg(this.r);this.w.__listener=this;this.R()};_.L=function rh(b){Hg(this,b);Hg(this.r,b)};_.Q=function sh(){try{this.S()}finally{Ig(this.r)}};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.r=null;_=uh.prototype=th.prototype=new vg;_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=vh.prototype=new xg;_.P=function wh(){var b;Gg(this);b=this.w.tabIndex;-1==b&&(this.w.tabIndex=0,undefined)};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=yh.prototype=xh.prototype=new vg;_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=Dh.prototype=zh.prototype=new xg;_.L=function Eh(b){lg(b.type)==32768&&!!this.a&&(this.w[ao]=Jn,undefined);Hg(this,b)};_.R=function Fh(){var b;b=tb(this.w,ao);Ok(Un,b)&&Hf(new Mh(this))};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.a=null;_=Hh.prototype=new E;_.cM={};_=Jh.prototype=Gh.prototype=new Hh;_.cM={};_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;_=Mh.prototype=Kh.prototype=new E;_.x=function Nh(){Lh(this)};_.cM={11:1};_.a=null;_=Th.prototype=Oh.prototype=new ug;_.cM={14:1,15:1,16:1,17:1,24:1,25:1,27:1,28:1};var Ph,Qh,Rh;_=Yh.prototype=Xh.prototype=new E;_.V=function Zh(b){b.O()&&b.Q()};_.cM={};_=_h.prototype=$h.prototype=new E;_.E=function ai(b){Vh()};_.cM={8:1,18:1};_=ci.prototype=bi.prototype=new Oh;_.cM={14:1,15:1,16:1,17:1,24:1,25:1,27:1,28:1};_=fi.prototype=new vh;_.W=function ji(){return gi(this)};_.L=function ki(b){var c;c=lg(b.type);(c&896)!=0?Hg(this,b):Hg(this,b)};_.R=function li(){};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=ei.prototype=new fi;_.W=function ni(){var b;return b=gi(this),b==null?Jn:b};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=oi.prototype=di.prototype=new ei;_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=pi.prototype=new Hb;_.cM={29:1,30:1,31:1,32:1};var qi,ri,si,ti;_=wi.prototype=vi.prototype=new pi;_.cM={29:1,30:1,31:1,32:1};_=yi.prototype=xi.prototype=new pi;_.cM={29:1,30:1,31:1,32:1};_=Ai.prototype=zi.prototype=new pi;_.cM={29:1,30:1,31:1,32:1};_=Ci.prototype=Bi.prototype=new pi;_.cM={29:1,30:1,31:1,32:1};_=Ji.prototype=Di.prototype=new E;_.U=function Ki(){return new Ni(this)};_.cM={};_.a=null;_.b=null;_.c=0;_=Ni.prototype=Li.prototype=new E;_.I=function Oi(){return this.a<this.b.c-1};_.J=function Pi(){return Mi(this)};_.K=function Qi(){if(this.a<0||this.a>=this.b.c){throw new Ek}this.b.b.T(this.b.a[this.a--])};_.cM={};_.a=-1;_.b=null;_=Ui.prototype=Si.prototype=new E;_.cM={};_.a=null;_.b=null;_.c=null;_.d=null;_=Wi.prototype=Vi.prototype=new E;_.x=function Xi(){Ad(this.a,this.c,this.b)};_.cM={21:1};_.a=null;_.b=null;_.c=null;_=Zi.prototype=Yi.prototype=new E;_.x=function $i(){Cd(this.a,this.c,this.b)};_.cM={21:1};_.a=null;_.b=null;_.c=null;_=dj.prototype=_i.prototype=new E;_.cM={};_.a=null;var ej=null,fj=null,gj=null;_=jj.prototype=hj.prototype=new E;_.cM={};_.a=false;_=qj.prototype=pj.prototype=new E;_.X=function rj(b,c){};_.Y=function sj(){};_.Z=function tj(){};_.$=function uj(){};_._=function vj(){};_.ab=function wj(){};_.cM={};_=zj.prototype=new E;_.bb=function Cj(b){return Jn+b};_.X=function Dj(b,c){if(this.g){this.i+=b;this.j+=c;Bj(this);this.cb(b,c);Aj(this)}};_.cb=function Ej(b,c){};_.Y=function Fj(){this.g=true;Yj(this.k)};_.Z=function Gj(){if(!this.g){_j(this.k);this.g=false}};_.$=function Hj(){this.g||$j(this.k)};_._=function Ij(){this.g=false;Uj(this.k)?$j(this.k):_j(this.k);this.db(this.i,this.j)};_.db=function Jj(b,c){};_.ab=function Kj(){Aj(this)};_.cM={};_.g=false;_.i=0;_.j=1;_.k=null;_=yj.prototype=new zj;_.bb=function Nj(b){var c,d;c=b*this.b+this.d;d=Lj(this,c);return this.e!=null&&!!this.e.length?Pk(this.e,jo,Jn+d):Jn+d};_.cb=function Oj(b,c){this.c=false};_.eb=function Pj(b,c){};_.db=function Qj(b,c){var d,e;d=Lj(this,b*this.b+this.d);e=Lj(this,c*this.b+this.d);this.eb(d,e)};_.cM={};_.b=0;_.c=false;_.d=0;_.e=null;_.f=0;_=Rj.prototype=xj.prototype=new yj;_.eb=function Sj(b,c){var d=this.a;d&&typeof d==Kn&&d(b,c)};_.cM={};_.a=null;_=fk.prototype=Tj.prototype=new nh;_.R=function gk(){this.g.ab()};_.S=function hk(){mk(this.f)};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.b=0;_.c=null;_.d=null;_.e=null;_.i=null;_.j=null;_.k=null;_.n=null;_.p=null;_.q=null;_=nk.prototype=ik.prototype=new E;_.D=function ok(b){this.e.g.$()};_.cM={4:1,5:1,6:1,7:1,12:1,18:1};_.a=0;_.b=0;_.c=false;_.d=false;_.e=null;_=qk.prototype=pk.prototype=new E;_.D=function rk(b){lk(this.a)};_.cM={7:1,18:1};_.a=null;_=uk.prototype=sk.prototype=new E;_.cM={};_.a=0;_.b=0;_.c=0;_.d=0;_=wk.prototype=vk.prototype=new I;_.cM={2:1,10:1,30:1};_=yk.prototype=xk.prototype=new E;_.cM={};_=Ak.prototype=zk.prototype=new I;_.cM={2:1,10:1,30:1};_=Ck.prototype=Bk.prototype=new I;_.cM={2:1,10:1,30:1};_=Fk.prototype=Ek.prototype=Dk.prototype=new I;_.cM={2:1,10:1,30:1};_=Ik.prototype=Hk.prototype=Gk.prototype=new I;_.cM={2:1,10:1,30:1};_=Lk.prototype=Kk.prototype=Jk.prototype=new I;_.cM={2:1,10:1,30:1};_=Nk.prototype=Mk.prototype=new E;_.cM={30:1,33:1};_=String.prototype;_.eQ=function Tk(b){return Ok(this,b)};_.hC=function Uk(){return $k(this)};_.cM={1:1,30:1,31:1};var Vk,Wk=0,Xk;_=dl.prototype=al.prototype=new E;_.cM={};_=fl.prototype=el.prototype=new I;_.cM={2:1,10:1,30:1};_=gl.prototype=new E;_.fb=function il(b){throw new fl('Add not supported on this collection')};_.gb=function jl(b){var c;c=hl(this.U(),b);return !!c};_.hb=function kl(){return this.jb()==0};_.ib=function ll(b){var c;c=hl(this.U(),b);if(c){c.K();return true}else{return false}};_.kb=function ml(b){var c,d,e;e=this.jb();b.length<e&&(b=Td(b,e));d=this.U();for(c=0;c<e;++c){Xd(b,c,d.J())}b.length>e&&Xd(b,e,null);return b};_.cM={};_=ol.prototype=new E;_.eQ=function ql(b){var c,d,e,f,g;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[19])){return false}f=ce(b,19);if(this.d!=f.d){return false}for(d=new Wl((new Ol(f)).a);xm(d.a);){c=d.b=ce(ym(d.a),34);e=c.mb();g=c.W();if(!(e==null?this.c:e!=null&&e.cM&&!!e.cM[1]?Ln+ce(e,1) in this.e:yl(this,e,~~Q(e)))){return false}if(!Gn(g,e==null?this.b:e!=null&&e.cM&&!!e.cM[1]?this.e[Ln+ce(e,1)]:xl(this,e,~~Q(e)))){return false}}return true};_.hC=function rl(){var b,c,d;d=0;for(c=new Wl((new Ol(this)).a);xm(c.a);){b=c.b=ce(ym(c.a),34);d+=b.hC();d=~~d}return d};_.cM={19:1};_=nl.prototype=new ol;_.lb=function Il(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)};_.cM={19:1};_.a=null;_.b=null;_.c=false;_.d=0;_.e=null;_=Kl.prototype=new gl;_.eQ=function Ll(b){var c,d,e;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[35])){return false}d=ce(b,35);if(d.jb()!=this.jb()){return false}for(c=d.U();c.I();){e=c.J();if(!this.gb(e)){return false}}return true};_.hC=function Ml(){var b,c,d;b=0;for(c=this.U();c.I();){d=c.J();if(d!=null){b+=Q(d);b=~~b}}return b};_.cM={35:1};_=Ol.prototype=Jl.prototype=new Kl;_.gb=function Pl(b){return Nl(this,b)};_.U=function Ql(){return new Wl(this.a)};_.ib=function Rl(b){var c;if(Nl(this,b)){c=ce(b,34).mb();El(this.a,c);return true}return false};_.jb=function Sl(){return this.a.d};_.cM={35:1};_.a=null;_=Wl.prototype=Tl.prototype=new E;_.I=function Xl(){return xm(this.a)};_.J=function Yl(){return this.b=ce(ym(this.a),34)};_.K=function Zl(){Vl(this)};_.cM={};_.a=null;_.b=null;_.c=null;_=_l.prototype=new E;_.eQ=function am(b){var c;if(b!=null&&b.cM&&!!b.cM[34]){c=ce(b,34);if(Gn(this.mb(),c.mb())&&Gn(this.W(),c.W())){return true}}return false};_.hC=function bm(){var b,c;b=0;c=0;this.mb()!=null&&(b=Q(this.mb()));this.W()!=null&&(c=Q(this.W()));return b^c};_.cM={34:1};_=cm.prototype=$l.prototype=new _l;_.mb=function dm(){return null};_.W=function em(){return this.a.b};_.nb=function fm(b){return Cl(this.a,b)};_.cM={34:1};_.a=null;_=hm.prototype=gm.prototype=new _l;_.mb=function im(){return this.a};_.W=function jm(){return this.b.e[Ln+this.a]};_.nb=function km(b){return Dl(this.b,this.a,b)};_.cM={34:1};_.a=null;_.b=null;_=lm.prototype=new gl;_.fb=function mm(b){this.ob(this.jb(),b);return true};_.ob=function nm(b,c){throw new fl('Add not supported on this list')};_.eQ=function pm(b){var c,d,e,f,g;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[20])){return false}g=ce(b,20);if(this.jb()!=g.jb()){return false}e=new Am(this);f=g.U();while(e.b<e.d.jb()){c=ym(e);d=ym(f);if(!(c==null?d==null:P(c,d))){return false}}return true};_.hC=function qm(){var b,c,d;c=1;b=new Am(this);while(b.b<b.d.jb()){d=ym(b);c=31*c+(d==null?0:Q(d));c=~~c}return c};_.U=function sm(){return new Am(this)};_.qb=function tm(){return new Gm(this,0)};_.rb=function um(b){return new Gm(this,b)};_.sb=function vm(b){throw new fl('Remove not supported on this list')};_.cM={20:1};_=Am.prototype=wm.prototype=new E;_.I=function Bm(){return this.b<this.d.jb()};_.J=function Cm(){return ym(this)};_.K=function Dm(){zm(this)};_.cM={};_.b=0;_.c=-1;_.d=null;_=Gm.prototype=Em.prototype=new wm;_.cM={};_.a=null;_=Im.prototype=Hm.prototype=new Kl;_.gb=function Jm(b){return vl(this.a,b)};_.U=function Km(){var b;return b=new Wl(this.b.a),new Nm(b)};_.jb=function Lm(){return this.b.a.d};_.cM={35:1};_.a=null;_.b=null;_=Nm.prototype=Mm.prototype=new E;_.I=function Om(){return xm(this.a.a)};_.J=function Pm(){var b;b=Ul(this.a);return b.mb()};_.K=function Qm(){Vl(this.a)};_.cM={};_.a=null;_=Xm.prototype=Rm.prototype=new lm;_.fb=function Ym(b){return Xd(this.a,this.b++,b),true};_.ob=function Zm(b,c){(b<0||b>this.b)&&rm(b,this.b);this.a.splice(b,0,c);++this.b};_.gb=function $m(b){return Um(this,b,0)!=-1};_.pb=function _m(b){return om(b,this.b),this.a[b]};_.hb=function an(){return this.b==0};_.sb=function bn(b){return Vm(this,b)};_.ib=function cn(b){return Wm(this,b)};_.jb=function dn(){return this.b};_.kb=function en(b){var c,d,e;b.length<this.b&&(b=(d=b,e=Ud(0,this.b),Wd(d.aC,d.cM,d.qI,e),e));for(c=0;c<this.b;++c){Xd(b,c,this.a[c])}b.length>this.b&&Xd(b,this.b,null);return b};_.cM={20:1,30:1};_.b=0;var fn;_=jn.prototype=hn.prototype=new lm;_.gb=function kn(b){return false};_.pb=function ln(b){throw new Hk};_.jb=function mn(){return 0};_.cM={20:1,30:1};_=pn.prototype=nn.prototype=new nl;_.cM={19:1,30:1};_=sn.prototype=qn.prototype=new Kl;_.fb=function tn(b){var c;return c=Al(this.a,b,this),c==null};_.gb=function un(b){return vl(this.a,b)};_.hb=function vn(){return this.a.d==0};_.U=function wn(){var b;return b=new Wl(pl(this.a).b.a),new Nm(b)};_.ib=function xn(b){return El(this.a,b)!=null};_.jb=function yn(){return this.a.d};_.cM={30:1,35:1};_.a=null;_=An.prototype=zn.prototype=new _l;_.mb=function Bn(){return this.a};_.W=function Cn(){return this.b};_.nb=function Dn(b){var c;c=this.b;this.b=b;return c};_.cM={34:1};_.a=null;_.b=null;_=Fn.prototype=En.prototype=new I;_.cM={2:1,10:1,30:1};var In=X;var ie=new yk,oe=new yk,je=new yk,ke=new yk,me=new yk,le=new yk,pe=new yk,ne=new yk;$stats && $stats({moduleName:'de.factfinder.asn.slider.OneTouchSlider',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalEnd'});if (de_factfinder_asn_slider_OneTouchSlider && de_factfinder_asn_slider_OneTouchSlider.onScriptLoad)de_factfinder_asn_slider_OneTouchSlider.onScriptLoad(gwtOnLoad);})();
|
skin/frontend/base/default/js/factfinder_onetouchslider/25E490B929D7CDBF44085E4E4D9D6F78.cache.js
ADDED
@@ -0,0 +1,476 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function(){var $gwt_version = "2.3.0";var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var $strongName = '25E490B929D7CDBF44085E4E4D9D6F78';var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null;var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;$stats && $stats({moduleName:'de.factfinder.asn.slider.OneTouchSlider',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});function E(){}
|
2 |
+
function K(){}
|
3 |
+
function J(){}
|
4 |
+
function I(){}
|
5 |
+
function H(){}
|
6 |
+
function S(){}
|
7 |
+
function Z(){}
|
8 |
+
function Gn(){}
|
9 |
+
function eb(){}
|
10 |
+
function mb(){}
|
11 |
+
function ib(){}
|
12 |
+
function Fb(){}
|
13 |
+
function Eb(){}
|
14 |
+
function Tb(){}
|
15 |
+
function Sb(){}
|
16 |
+
function Vb(){}
|
17 |
+
function Ub(){}
|
18 |
+
function Xb(){}
|
19 |
+
function Wb(){}
|
20 |
+
function Zb(){}
|
21 |
+
function Yb(){}
|
22 |
+
function _b(){}
|
23 |
+
function $b(){}
|
24 |
+
function bc(){}
|
25 |
+
function ac(){}
|
26 |
+
function dc(){}
|
27 |
+
function cc(){}
|
28 |
+
function fc(){}
|
29 |
+
function ec(){}
|
30 |
+
function hc(){}
|
31 |
+
function gc(){}
|
32 |
+
function rc(){}
|
33 |
+
function qc(){}
|
34 |
+
function Cc(){}
|
35 |
+
function Bc(){}
|
36 |
+
function Ac(){}
|
37 |
+
function Jc(){}
|
38 |
+
function Ic(){}
|
39 |
+
function Hc(){}
|
40 |
+
function Oc(){}
|
41 |
+
function Qc(){}
|
42 |
+
function Uc(){}
|
43 |
+
function Pc(){}
|
44 |
+
function $c(){}
|
45 |
+
function Xc(){}
|
46 |
+
function ed(){}
|
47 |
+
function bd(){}
|
48 |
+
function hd(){}
|
49 |
+
function ld(){}
|
50 |
+
function jd(){}
|
51 |
+
function pd(){}
|
52 |
+
function vd(){}
|
53 |
+
function ud(){}
|
54 |
+
function td(){}
|
55 |
+
function Hd(){}
|
56 |
+
function Kd(){}
|
57 |
+
function Jd(){}
|
58 |
+
function Od(){}
|
59 |
+
function Nd(){}
|
60 |
+
function Qd(){}
|
61 |
+
function Pd(){}
|
62 |
+
function Ce(){}
|
63 |
+
function Be(){}
|
64 |
+
function Ee(){}
|
65 |
+
function Ge(){}
|
66 |
+
function Je(){}
|
67 |
+
function He(){}
|
68 |
+
function Me(){}
|
69 |
+
function Ke(){}
|
70 |
+
function Re(){}
|
71 |
+
function Te(){}
|
72 |
+
function Ve(){}
|
73 |
+
function _e(){}
|
74 |
+
function af(){}
|
75 |
+
function kf(){}
|
76 |
+
function nf(){}
|
77 |
+
function Mf(){}
|
78 |
+
function If(){}
|
79 |
+
function Sf(){}
|
80 |
+
function Rf(){}
|
81 |
+
function ag(){}
|
82 |
+
function gg(){}
|
83 |
+
function xg(){}
|
84 |
+
function wg(){}
|
85 |
+
function vg(){}
|
86 |
+
function ug(){}
|
87 |
+
function tg(){}
|
88 |
+
function ah(){}
|
89 |
+
function hh(){}
|
90 |
+
function gh(){}
|
91 |
+
function kh(){}
|
92 |
+
function jh(){}
|
93 |
+
function mh(){}
|
94 |
+
function sh(){}
|
95 |
+
function uh(){}
|
96 |
+
function wh(){}
|
97 |
+
function yh(){}
|
98 |
+
function Gh(){}
|
99 |
+
function Fh(){}
|
100 |
+
function Jh(){}
|
101 |
+
function Nh(){}
|
102 |
+
function Xh(){}
|
103 |
+
function Wh(){}
|
104 |
+
function $h(){}
|
105 |
+
function Zh(){}
|
106 |
+
function ai(){}
|
107 |
+
function ei(){}
|
108 |
+
function di(){}
|
109 |
+
function ci(){}
|
110 |
+
function oi(){}
|
111 |
+
function vi(){}
|
112 |
+
function ui(){}
|
113 |
+
function xi(){}
|
114 |
+
function wi(){}
|
115 |
+
function zi(){}
|
116 |
+
function yi(){}
|
117 |
+
function Bi(){}
|
118 |
+
function Ai(){}
|
119 |
+
function Ci(){}
|
120 |
+
function Ki(){}
|
121 |
+
function Ri(){}
|
122 |
+
function Ui(){}
|
123 |
+
function Xi(){}
|
124 |
+
function $i(){}
|
125 |
+
function ij(){}
|
126 |
+
function gj(){}
|
127 |
+
function pj(){}
|
128 |
+
function oj(){}
|
129 |
+
function yj(){}
|
130 |
+
function xj(){}
|
131 |
+
function wj(){}
|
132 |
+
function Sj(){}
|
133 |
+
function hk(){}
|
134 |
+
function ok(){}
|
135 |
+
function rk(){}
|
136 |
+
function uk(){}
|
137 |
+
function xk(){}
|
138 |
+
function wk(){}
|
139 |
+
function yk(){}
|
140 |
+
function Ak(){}
|
141 |
+
function Ck(){}
|
142 |
+
function Fk(){}
|
143 |
+
function Ik(){}
|
144 |
+
function Lk(){}
|
145 |
+
function _k(){}
|
146 |
+
function dl(){}
|
147 |
+
function fl(){}
|
148 |
+
function nl(){}
|
149 |
+
function ml(){}
|
150 |
+
function Jl(){}
|
151 |
+
function Il(){}
|
152 |
+
function Sl(){}
|
153 |
+
function $l(){}
|
154 |
+
function Zl(){}
|
155 |
+
function fm(){}
|
156 |
+
function km(){}
|
157 |
+
function vm(){}
|
158 |
+
function Dm(){}
|
159 |
+
function Gm(){}
|
160 |
+
function Lm(){}
|
161 |
+
function Qm(){}
|
162 |
+
function hn(){}
|
163 |
+
function gn(){}
|
164 |
+
function mn(){}
|
165 |
+
function pn(){}
|
166 |
+
function yn(){}
|
167 |
+
function Dn(){}
|
168 |
+
function Mk(b){}
|
169 |
+
function M(b){lb()}
|
170 |
+
function N(){lb()}
|
171 |
+
function Ue(){lb()}
|
172 |
+
function vk(){lb()}
|
173 |
+
function zk(){lb()}
|
174 |
+
function Dk(){lb()}
|
175 |
+
function Gk(){lb()}
|
176 |
+
function Jk(){lb()}
|
177 |
+
function En(){lb()}
|
178 |
+
function Ek(b){lb()}
|
179 |
+
function Bk(b){lb()}
|
180 |
+
function Hk(b){lb()}
|
181 |
+
function Kk(b){lb()}
|
182 |
+
function el(b){lb()}
|
183 |
+
function dg(){cg()}
|
184 |
+
function on(){tl(this)}
|
185 |
+
function id(){this.a={}}
|
186 |
+
function Id(b){this.a=b}
|
187 |
+
function Lh(b){this.a=b}
|
188 |
+
function pk(b){this.a=b}
|
189 |
+
function mk(b){this.e=b}
|
190 |
+
function sf(b){this.d=b}
|
191 |
+
function zm(b){this.d=b}
|
192 |
+
function bm(b){this.a=b}
|
193 |
+
function Mm(b){this.a=b}
|
194 |
+
function Mi(b){this.b=b}
|
195 |
+
function Nl(b){this.a=b}
|
196 |
+
function hf(b){cf();this.a=b}
|
197 |
+
function lf(b){cf();this.a=b}
|
198 |
+
function zg(b,c){b.w=c}
|
199 |
+
function Di(b,c){Fi(b,c,b.c)}
|
200 |
+
function Cf(b,c){kg();sg(b,c)}
|
201 |
+
function Bf(b){xf=b;kg();mg=b}
|
202 |
+
function tc(){tc=Gn;vc()}
|
203 |
+
function li(){li=Gn;ti()}
|
204 |
+
function zh(){zh=Gn;new on}
|
205 |
+
function rn(){this.a=new on}
|
206 |
+
function Mc(){this.c=++Kc}
|
207 |
+
function hi(b){this.w=b;new Od}
|
208 |
+
function ab(){ab=Gn;$=new eb}
|
209 |
+
function Ef(){Ef=Gn;Df=new $e}
|
210 |
+
function cg(){cg=Gn;bg=new Mc}
|
211 |
+
function jj(){jj=Gn;dj=new ij}
|
212 |
+
function fn(){fn=Gn;en=new hn}
|
213 |
+
function Xk(){Xk=Gn;Uk={};Wk={}}
|
214 |
+
function R(c,b){c[c.length]=b}
|
215 |
+
function Md(b){Ld.call(this,b)}
|
216 |
+
function eh(b){Ld.call(this,b)}
|
217 |
+
function Hm(b,c){this.a=b;this.b=c}
|
218 |
+
function zn(b,c){this.a=b;this.b=c}
|
219 |
+
function gm(b,c){this.b=b;this.a=c}
|
220 |
+
function Ag(b,c){Cg(b.w,c,true)}
|
221 |
+
function Ze(b,c){Rm(b.b,c);Ye(b)}
|
222 |
+
function al(b,c){ob(b.a,c);return b}
|
223 |
+
function bl(b,c){pb(b.a,c);return b}
|
224 |
+
function Eg(b,c){!!b.u&&qd(b.u,c)}
|
225 |
+
function Si(b){b.a.F(b.d,b.c,b.b)}
|
226 |
+
function of(b){return Sm(b.d.b,b.b)}
|
227 |
+
function pf(b){return b.c<b.a}
|
228 |
+
function we(b){return b.l|b.m<<22}
|
229 |
+
function wm(b){return b.b<b.d.jb()}
|
230 |
+
function _d(b,c){return b.cM&&b.cM[c]}
|
231 |
+
function yl(c,b){return Kn+b in c.e}
|
232 |
+
function Fd(b){this.d=new on;this.c=b}
|
233 |
+
function O(b){lb();this.a=b;kb(this)}
|
234 |
+
function cj(){jj();this.a=$doc.body}
|
235 |
+
function kg(){if(!ig){rg();ig=true}}
|
236 |
+
function _i(b){ub(b.a,qo);ub(b.a,ro)}
|
237 |
+
function aj(b){ub(b.a,qo);sb(b.a,ro)}
|
238 |
+
function bj(b){sb(b.a,qo);ub(b.a,ro)}
|
239 |
+
function kk(b){!b.e.e&&(b.e.e=Hf(b))}
|
240 |
+
function db(b,c){b.b=fb(b.b,[c,false])}
|
241 |
+
function nm(b,c){(b<0||b>=c)&&qm(b,c)}
|
242 |
+
function Sm(b,c){nm(c,b.b);return b.a[c]}
|
243 |
+
function ob(b,c){b[b.explicitLength++]=c}
|
244 |
+
function pb(b,c){b[b.explicitLength++]=c}
|
245 |
+
function sd(b,c){this.a=new Fd(c);this.b=b}
|
246 |
+
function Wm(){this.a=Td(le,{30:1},0,0,0)}
|
247 |
+
function dd(){dd=Gn;cd=new Nc(On,new ed)}
|
248 |
+
function Sc(){Sc=Gn;Rc=new Nc(Mn,new Uc)}
|
249 |
+
function Zc(){Zc=Gn;Yc=new Nc(Nn,new $c)}
|
250 |
+
function cf(){cf=Gn;bf=new Wm;Xf(new Sf)}
|
251 |
+
function dh(){dh=Gn;bh=new hh;ch=new kh}
|
252 |
+
function Tl(b){return b.b=ae(xm(b.a),34)}
|
253 |
+
function V(b,c,d){return b.apply(c,d);var e}
|
254 |
+
function ak(b,c,d){Yj(b,c,b.c);Yj(b,d,b.i)}
|
255 |
+
function Ah(b,c){Bh(b,c.d,c.b,c.c,c.e,c.a)}
|
256 |
+
function Bh(b,c,d,e,f,g){Hh(b.a,b,c,d,e,f,g)}
|
257 |
+
function yd(b,c,d){var e;e=Bd(b,c);e.fb(d)}
|
258 |
+
function wd(b,c){!b.a&&(b.a=new Wm);Rm(b.a,c)}
|
259 |
+
function nd(b){var c;if(kd){c=new ld;qd(b,c)}}
|
260 |
+
function Qe(b){b.parentNode.removeChild(b)}
|
261 |
+
function rd(b){this.a=new Fd(false);this.b=b}
|
262 |
+
function hg(){this.a=new Fd(false);this.b=null}
|
263 |
+
function Vi(b,c,d){this.a=b;this.c=c;this.b=d}
|
264 |
+
function Yi(b,c,d){this.a=b;this.c=c;this.b=d}
|
265 |
+
function Se(b,c,d){this.b=b;this.c=c;this.a=d}
|
266 |
+
function Rm(b,c){Vd(b.a,b.b++,c);return true}
|
267 |
+
function gi(b,c){b.W();b.w[oo]=c!=null?c:In}
|
268 |
+
function ce(b,c){return b!=null&&b.cM&&!!b.cM[c]}
|
269 |
+
function Pk(c,b){return c.substr(b,c.length-b)}
|
270 |
+
function Xf(b){Zf();return Yf(kd?kd:(kd=new Mc),b)}
|
271 |
+
function $f(){Vf&&nd((!Wf&&(Wf=new hg),Wf))}
|
272 |
+
function bi(){Sh.call(this,(Rh(),$doc.body))}
|
273 |
+
function Ii(b){this.b=b;this.a=Td(ke,{30:1},15,4,0)}
|
274 |
+
function vc(){vc=Gn;tc();uc=Td(ge,{30:1},-1,30,1)}
|
275 |
+
function nc(){nc=Gn;kc=[];lc=[];mc=[];ic=new rc}
|
276 |
+
function Yd(){Yd=Gn;Wd=[];Xd=[];Zd(new Qd,Wd,Xd)}
|
277 |
+
function Rh(){Rh=Gn;Oh=new Xh;Ph=new on;Qh=new rn}
|
278 |
+
function ol(b){var c;c=new Nl(b);return new Hm(b,c)}
|
279 |
+
function qn(b,c){var d;d=zl(b.a,c,b);return d==null}
|
280 |
+
function lk(b){if(b.e.e){Si(b.e.e.a);b.e.e=null}}
|
281 |
+
function fe(b){if(b!=null){throw new zk}return null}
|
282 |
+
function fb(b,c){!b&&(b=[]);b[b.length]=c;return b}
|
283 |
+
function qb(b,c){b[b.explicitLength++]=c==null?'null':c}
|
284 |
+
function tb(c,b){return c[b]==null?null:String(c[b])}
|
285 |
+
function lg(b){return !de(b)&&b!=null&&b.cM&&!!b.cM[14]}
|
286 |
+
function Tj(b){return sk(new tk(b.r.w),b.f.a,b.f.b)}
|
287 |
+
function re(b,c,d){return a=new Ce,a.l=b,a.m=c,a.h=d,a}
|
288 |
+
function Sh(b){this.a=new Ii(this);this.w=b;Fg(this)}
|
289 |
+
function Ti(b,c,d){this.a=b;this.d=c;this.c=null;this.b=d}
|
290 |
+
function tl(b){b.a=[];b.e={};b.c=false;b.b=null;b.d=0}
|
291 |
+
function Ye(b){if(b.b.b!=0&&!b.e&&!b.c){b.e=true;ef(b.d,1)}}
|
292 |
+
function pc(){nc();if(!jc){jc=true;db((ab(),$),ic)}}
|
293 |
+
function $k(){if(Vk==256){Uk=Wk;Wk={};Vk=0}++Vk}
|
294 |
+
function cl(){var b;this.a=(b=[],b.explicitLength=0,b)}
|
295 |
+
function Fe(b){this.b=0;this.c=0;this.a=59;this.e=58;this.d=b}
|
296 |
+
function Uh(){Rh();try{fh(Qh,Oh)}finally{tl(Qh.a);tl(Ph)}}
|
297 |
+
function Th(b){Rh();try{b.Q()}finally{Dl(Qh.a,b)!=null}}
|
298 |
+
function Af(b){!!xf&&b==xf&&(xf=null);kg();b===mg&&(mg=null)}
|
299 |
+
function _j(b,c,d){gi(b.d,c!=null?c:In);gi(b.j,d!=null?d:In)}
|
300 |
+
function Wg(b,c,d){Ig(c);Di(b.a,c);d.appendChild(c.w);Kg(c,b)}
|
301 |
+
function Ok(d,b,c){c=Rk(c);return d.replace(RegExp(b),c)}
|
302 |
+
function qm(b,c){throw new Hk('Index: '+b+', Size: '+c)}
|
303 |
+
function ym(b){if(b.c<0){throw new Dk}b.d.sb(b.c);b.b=b.c;b.c=-1}
|
304 |
+
function Em(b){if(b.b<=0){throw new En}return b.a.pb(b.c=--b.b)}
|
305 |
+
function Li(b){if(b.a>=b.b.c){throw new En}return b.b.a[++b.a]}
|
306 |
+
function W(){if(T++==0){bb((ab(),$));return true}return false}
|
307 |
+
function Bl(b,c){var d;d=b.b;b.b=c;if(!b.c){b.c=true;++b.d}return d}
|
308 |
+
function Rd(b,c){var d,e;d=b;e=Sd(0,c);Ud(d.aC,d.cM,d.qI,e);return e}
|
309 |
+
function Ud(b,c,d,e){Yd();$d(e,Wd,Xd);e.aC=b;e.cM=c;e.qI=d;return e}
|
310 |
+
function ae(b,c){if(b!=null&&!(b.cM&&b.cM[c])){throw new zk}return b}
|
311 |
+
function Hi(b,c){var d;d=Ei(b,c);if(d==-1){throw new En}Gi(b,d)}
|
312 |
+
function Yf(b,c){return new Id(xd((!Wf&&(Wf=new hg),Wf).a,b,c))}
|
313 |
+
function ff(b,c){return $wnd.setTimeout(Hn(function(){b.G()}),c)}
|
314 |
+
function de(b){return b!=null&&b.tM!=Gn&&!(b.cM&&!!b.cM[1])}
|
315 |
+
function rf(b){Um(b.d.b,b.b);--b.a;b.b<=b.c&&--b.c<0&&(b.c=0);b.b=-1}
|
316 |
+
function Fl(b){var c;c=b.b;b.b=null;if(b.c){b.c=false;--b.d}return c}
|
317 |
+
function pe(b){if(b!=null&&b.cM&&!!b.cM[10]){return b}return new O(b)}
|
318 |
+
function xm(b){if(b.b>=b.d.jb()){throw new En}return b.d.pb(b.c=b.b++)}
|
319 |
+
function Ff(b){Ef();if(!b){throw new Kk('cmd cannot be null')}Ze(Df,b)}
|
320 |
+
function th(){this.a=new Ii(this);this.w=$doc.createElement(Qn)}
|
321 |
+
function Lg(b,c){b.t==-1?Cf(b.w,c|(b.w.__eventBits||0)):(b.t|=c)}
|
322 |
+
function Db(b){!b.gwt_uid&&(b.gwt_uid=1);return 'gwt-uid-'+b.gwt_uid++}
|
323 |
+
function $g(b){b.style[jo]=In;b.style['top']=In;b.style['position']=In}
|
324 |
+
function Lf(b){b.e=false;b.f=null;b.a=false;b.b=false;b.c=true;b.d=null}
|
325 |
+
function qf(b){var c;b.b=b.c;c=Sm(b.d.b,b.c++);b.c>=b.a&&(b.c=0);return c}
|
326 |
+
function xb(b){var c=b.parentNode;(!c||c.nodeType!=1)&&(c=null);return c}
|
327 |
+
function fi(b){var c,d;d=tb(b.w,oo);c=d;if(Nk(In,d)){return null}return c}
|
328 |
+
function _f(){var b;if(Vf){b=new dg;!!Wf&&qd(Wf,b);return null}return null}
|
329 |
+
function Tm(b,c,d){for(;d<b.b;++d){if(Fn(c,b.a[d])){return d}}return -1}
|
330 |
+
function Um(b,c){var d;d=(nm(c,b.b),b.a[c]);b.a.splice(c,1);--b.b;return d}
|
331 |
+
function Uj(b,c){var d,e;e=b.b>0?b.b:b.n.offsetWidth||0;d=c/e;b.g.X(d,0)}
|
332 |
+
function Vj(b,c){var d,e;e=b.b>0?b.b:b.n.offsetWidth||0;d=c/e;b.g.X(0,d)}
|
333 |
+
function Cl(f,b,c){var d,e=f.e;b=Kn+b;b in e?(d=e[b]):++f.d;e[b]=c;return d}
|
334 |
+
function Zd(b,c,d){var e=0,f;for(var g in b){if(f=b[g]){c[e]=g;d[e]=f;++e}}}
|
335 |
+
function $d(b,c,d){Yd();for(var e=0,f=c.length;e<f;++e){b[c[e]]=d[e]}}
|
336 |
+
function Qj(b,c,d,e,f,g,h,i){Lj.call(this,b,c,d,e,f,g,h);this.a=i}
|
337 |
+
function ee(b){return ~~Math.max(Math.min(b,2147483647),-2147483648)}
|
338 |
+
function Cb(b){return b.tabIndex<65535?b.tabIndex:-(b.tabIndex%65535)-1}
|
339 |
+
function Ab(c){try{return c.getBoundingClientRect().top}catch(b){return 0}}
|
340 |
+
function zb(c){try{return c.getBoundingClientRect().left}catch(b){return 0}}
|
341 |
+
function P(b,c){var d;return d=b,d.tM==Gn||d.cM&&!!d.cM[1]?d.eQ(c):d===c}
|
342 |
+
function Q(b){var c;return c=b,c.tM==Gn||c.cM&&!!c.cM[1]?c.hC():c.$H||(c.$H=++U)}
|
343 |
+
function be(b){if(b!=null&&(b.tM==Gn||b.cM&&!!b.cM[1])){throw new zk}return b}
|
344 |
+
function Ei(b,c){var d;for(d=0;d<b.c;++d){if(b.a[d]==c){return d}}return -1}
|
345 |
+
function Vm(b,c){var d;d=Tm(b,c,0);if(d==-1){return false}Um(b,d);return true}
|
346 |
+
function Fm(b,c){var d;this.a=b;this.d=b;d=b.jb();(c<0||c>d)&&qm(c,d);this.b=c}
|
347 |
+
function Nc(b,c){this.c=++Kc;this.a=c;!Ec&&(Ec=new id);Ec.a[b]=this;this.b=b}
|
348 |
+
function nn(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)}
|
349 |
+
function Fn(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)}
|
350 |
+
function Aj(b){b.j>1&&(b.j=1);b.i<0&&(b.i=0);b.i>1&&(b.i=1);b.i>b.j&&(b.j=b.i)}
|
351 |
+
function yf(b,c,d){var e;e=wf;wf=b;c==xf&&jg(b.type)==8192&&(xf=null);d.L(b);wf=e}
|
352 |
+
function Y(b,c,d){var e;e=W();try{return V(b,c,d)}finally{e&&cb((ab(),$));--T}}
|
353 |
+
function X(c){return function(){try{return Y(c,this,arguments)}catch(b){throw b}}}
|
354 |
+
function vb(b){var c=b.firstChild;while(c&&c.nodeType!=1)c=c.nextSibling;return c}
|
355 |
+
function wb(b){var c=b.nextSibling;while(c&&c.nodeType!=1)c=c.nextSibling;return c}
|
356 |
+
function Bb(b){var c=b.offsetParent;if(c){return c.offsetWidth-c.clientWidth}return 0}
|
357 |
+
function Gl(e,b){var c,d=e.e;b=Kn+b;if(b in d){c=d[b];--e.d;delete d[b]}return c}
|
358 |
+
function Oe(b){var c,d;Pe();c=xb(b);d=wb(b);Ne.appendChild(b);return new Se(c,d,b)}
|
359 |
+
function bb(b){var c,d;if(b.a){d=null;do{c=b.a;b.a=null;d=gb(c,d)}while(b.a);b.a=d}}
|
360 |
+
function cb(b){var c,d;if(b.b){d=null;do{c=b.b;b.b=null;d=gb(c,d)}while(b.b);b.b=d}}
|
361 |
+
function yg(b,c){var d=b.parentNode;if(!d){return}d.insertBefore(c,b);d.removeChild(b)}
|
362 |
+
function Nk(b,c){if(!(c!=null&&c.cM&&!!c.cM[1])){return false}return String(b)==c}
|
363 |
+
function ul(b,c){return c==null?b.c:c!=null&&c.cM&&!!c.cM[1]?yl(b,ae(c,1)):xl(b,c,~~Q(c))}
|
364 |
+
function Dg(b,c,d){Lg(b,jg(d.b));return new Id(xd((!b.u?(b.u=new rd(b)):b.u).a,d,c))}
|
365 |
+
function Wj(b,c,d){var e,f,g;g=b.b>0?b.b:b.n.offsetWidth||0;e=c/g;f=(c+d*2)/g;b.g.X(e,f)}
|
366 |
+
function Yj(b,c,d){var e;e=c*(b.b>0?b.b:b.n.offsetWidth||0);d.style[jo]=e+(Rb(),no)}
|
367 |
+
function Td(b,c,d,e,f){var g;g=Sd(f,e);Yd();$d(g,Wd,Xd);g.aC=b;g.cM=c;g.qI=d;return g}
|
368 |
+
function gl(b,c){var d;while(b.I()){d=b.J();if(c==null?d==null:P(c,d)){return b}}return null}
|
369 |
+
function zf(b){var c;c=Of(Gf,b);if(!c&&!!b){b.cancelBubble=true;b.preventDefault()}return c}
|
370 |
+
function Vl(b){var c;this.c=b;c=new Wm;b.c&&Rm(c,new bm(b));sl(b,c);rl(b,c);this.a=new zm(c)}
|
371 |
+
function $e(){this.a=new hf(this);this.b=new Wm;this.d=new lf(this);this.f=new sf(this)}
|
372 |
+
function xh(b){this.a=new Ii(this);this.w=$doc.createElement(Qn);this.w.innerHTML=b||In}
|
373 |
+
function Ch(b){zh();this.a=new Ih(this,b.d,b.b,b.c,b.e,b.a);this.w[io]='gwt-Image'}
|
374 |
+
function Xj(b){Bf(b.w);aj(b.a);Cg(b.q.w,to,false);Cg(b.q.w,uo,true);Ah(b.p,(lj(),fj))}
|
375 |
+
function Zj(b){Af(b.w);bj(b.a);Cg(b.q.w,uo,false);Cg(b.q.w,to,true);Ah(b.p,(lj(),fj))}
|
376 |
+
function $j(b){lk(b.f);Af(b.w);_i(b.a);Cg(b.q.w,to,false);Cg(b.q.w,uo,false);Ah(b.p,(kj(),ej))}
|
377 |
+
function We(b){var c;c=of(b.f);rf(b.f);c!=null&&c.cM&&!!c.cM[11]&&new Ue(ae(c,11));b.c=false;Ye(b)}
|
378 |
+
function Dl(b,c){return c==null?Fl(b):c!=null&&c.cM&&!!c.cM[1]?Gl(b,ae(c,1)):El(b,c,~~Q(c))}
|
379 |
+
function zl(b,c,d){return c==null?Bl(b,d):c!=null&&c.cM&&!!c.cM[1]?Cl(b,ae(c,1),d):Al(b,c,d,~~Q(c))}
|
380 |
+
function vl(b,c){return c==null?b.b:c!=null&&c.cM&&!!c.cM[1]?b.e[Kn+ae(c,1)]:wl(b,c,~~Q(c))}
|
381 |
+
function ti(){ti=Gn;pi=new vi;qi=new xi;ri=new zi;si=new Bi;Ud(je,{30:1},29,[pi,qi,ri,si])}
|
382 |
+
function Ld(b){N.call(this,b.jb()==0?null:ae(b.kb(Td(ne,{22:1,30:1},10,0,0)),22)[0]);this.a=b}
|
383 |
+
function df(b){b.b?($wnd.clearInterval(b.c),undefined):($wnd.clearTimeout(b.c),undefined);Vm(bf,b)}
|
384 |
+
function Jg(b,c){b.s&&(b.w.__listener=null,undefined);!!b.w&&yg(b.w,c);b.w=c;b.s&&(b.w.__listener=b,undefined)}
|
385 |
+
function yb(b,c){while(c){if(b==c){return true}c=c.parentNode;c&&c.nodeType!=1&&(c=null)}return false}
|
386 |
+
function rb(b){var c,d;c=(d=b.join(In),b.length=b.explicitLength=0,d);b[b.explicitLength++]=c;return c}
|
387 |
+
function Kh(b){var c,d;c=(d=$doc.createEvent('HTMLEvents'),d.initEvent(Yn,false,false),d);b.a.w.dispatchEvent(c)}
|
388 |
+
function Pe(){if(!Ne){Ne=$doc.createElement(Qn);Ne.style.display='none';(Rh(),$doc.body).appendChild(Ne)}}
|
389 |
+
function gwtOnLoad(c,d,e,f){$moduleName=d;$moduleBase=e;if(c)try{Hn(oe)()}catch(b){c(d)}else{Hn(oe)()}}
|
390 |
+
function qe(b){var c,d,e;c=b&4194303;d=b>>22&4194303;e=b<0?1048575:0;return a=new Ce,a.l=c,a.m=d,a.h=e,a}
|
391 |
+
function sl(f,b){var c=f.e;for(var d in c){if(d.charCodeAt(0)==58){var e=new gm(f,d.substring(1));b.fb(e)}}}
|
392 |
+
function Dd(b){var c,d;if(b.a){try{for(d=new zm(b.a);d.b<d.d.jb();){c=ae(xm(d),21);c.x()}}finally{b.a=null}}}
|
393 |
+
function Gi(b,c){var d;if(c<0||c>=b.c){throw new Gk}--b.c;for(d=c;d<b.c;++d){Vd(b.a,d,b.a[d+1])}Vd(b.a,b.c,null)}
|
394 |
+
function Gg(b,c){var d;switch(jg(c.type)){case 16:case 32:d=c.relatedTarget;if(!!d&&yb(b.w,d)){return}}Fc(c,b,b.w)}
|
395 |
+
function Bd(b,c){var d,e;e=ae(vl(b.d,c),19);if(!e){e=new on;zl(b.d,c,e)}d=ae(e.b,20);if(!d){d=new Wm;Bl(e,d)}return d}
|
396 |
+
function wc(b,c,d){var e;e=$doc.styleSheets[b];d?(e.cssText+=c,undefined):(e.cssText=c+e.cssText,undefined);return e}
|
397 |
+
function Xg(b,c){var d;if(c.v!=b){return false}try{Kg(c,null)}finally{d=c.w;xb(d).removeChild(d);Hi(b.a,c)}return true}
|
398 |
+
function Zk(b){Xk();var c=Kn+b;var d=Wk[c];if(d!=null){return d}d=Uk[c];d==null&&(d=Yk(b));$k();return Wk[c]=d}
|
399 |
+
function Hf(b){kg();!Jf&&(Jf=new Mc);if(!Gf){Gf=new sd(null,true);Kf=new Mf}return new Id(xd(Gf.a,Jf,b))}
|
400 |
+
function ik(b){Dg(b.e,b,(Sc(),Sc(),Rc));Dg(b.e,b,(dd(),dd(),cd));Dg(b.e,b,(Zc(),Zc(),Yc));Dg(b.e,new pk(b),cd)}
|
401 |
+
function Ad(b,c,d){var e,f,g;e=Cd(b,c);f=e.ib(d);f&&e.hb()&&(g=ae(vl(b.d,c),19),ae(Fl(g),20),g.d==0&&Dl(b.d,c),undefined)}
|
402 |
+
function bk(b,c,d){var e;e=b.b>0?b.b:b.n.offsetWidth||0;b.k.style[jo]=c*e+(Rb(),no);b.k.style[po]=(d-c)*e+no}
|
403 |
+
function ck(b,c,d){var e,f;f=~~(b.p.a.e/2);e=c+(d-c)/2;b.p.w.style[jo]=e*(b.b>0?b.b:b.n.offsetWidth||0)-f+(Rb(),no)}
|
404 |
+
function Cd(b,c){var d,e;e=ae(vl(b.d,c),19);if(!e){return fn(),fn(),en}d=ae(e.b,20);if(!d){return fn(),fn(),en}return d}
|
405 |
+
function sk(b,c,d){var e,f;f=b.b;e=b.a;if(f<0||e<0){return false}if(c<b.c||d<b.d){return false}f+=b.c;e+=b.d;return f>c&&e>d}
|
406 |
+
function zc(b){var c;if($doc.styleSheets.length==0){return c=$doc.createStyleSheet(),c.cssText=b,c}return wc(0,b,false)}
|
407 |
+
function L(b){var c,d,e;d=Td(me,{30:1},33,b.length,0);for(e=0,c=b.length;e<c;++e){if(!b[e]){throw new Jk}d[e]=b[e]}}
|
408 |
+
function lb(){var b,c,d,e;d=jb(new mb);e=Td(me,{30:1},33,d.length,0);for(b=0,c=e.length;b<c;++b){e[b]=new Mk(d[b])}L(e)}
|
409 |
+
function rl(i,b){var c=i.a;for(var d in c){var e=parseInt(d,10);if(d==e){var f=c[e];for(var g=0,h=f.length;g<h;++g){b.fb(f[g])}}}}
|
410 |
+
function Fc(b,c,d){var e,f,g;if(Ec){g=ae(Ec.a[b.type],3);if(g){e=g.a.a;f=g.a.b;g.a.a=b;g.a.b=d;Eg(c,g.a);g.a.a=e;g.a.b=f}}}
|
411 |
+
function nj(b,c,d,e,f,g,h,i,j){var k,l,m;k=Vh(b);if(k){m=new ek;m.b=i;l=new Qj(c,d,e,f,g,h,m,j);m.g=l;Wg(k,m,k.w)}}
|
412 |
+
function nh(b,c){if(b.r){throw new Ek('Composite.initWidget() may only be called once.')}Ig(c);zg(b,c.w);b.r=c;Kg(c,b)}
|
413 |
+
function Ul(b){if(!b.b){throw new Ek('Must call next() before remove().')}else{ym(b.a);Dl(b.c,b.b.mb());b.b=null}}
|
414 |
+
function zj(b){var c,d;c=b.bb(b.i);d=b.bb(b.j);_j(b.k,c,d);ak(b.k,b.i,b.j);bk(b.k,b.i,b.j);ck(b.k,b.i,b.j);dk(b.k,b.i,b.j)}
|
415 |
+
function Tc(b,c){c.a=b.a.clientX||0;c.b=b.a.clientY||0;c.c=sk(new tk(c.e.c),c.a,c.b);c.d=sk(new tk(c.e.i),c.a,c.b);c.e.g.Y()}
|
416 |
+
function Qi(b,c,d,e,f,g){var h;h='url('+c+lo+-d+mo+-e+no;b.style['background']=h;b.style[po]=f+(Rb(),no);b.style['height']=g+no}
|
417 |
+
function Ae(){Ae=Gn;xe=(a=new Ce,a.l=4194303,a.m=4194303,a.h=524287,a);ye=(a=new Ce,a.l=0,a.m=0,a.h=524288,a);ue(1);ue(2);ze=ue(0)}
|
418 |
+
function Qk(d){if(d.length==0||d[0]>Ln&&d[d.length-1]>Ln){return d}var b=d.replace(/^(\s*)/,In);var c=b.replace(/\s*$/,In);return c}
|
419 |
+
function Bg(b){var c,d;c=b[io]==null?null:String(b[io]);d=c.indexOf(String.fromCharCode(32));if(d>=0){return c.substr(0,d-0)}return c}
|
420 |
+
function Ml(b,c){var d,e,f;if(c!=null&&c.cM&&!!c.cM[34]){d=ae(c,34);e=d.mb();if(ul(b.a,e)){f=vl(b.a,e);return nn(d.W(),f)}}return false}
|
421 |
+
function wl(i,b,c){var d=i.a[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.mb();if(i.lb(b,h)){return g.W()}}}return null}
|
422 |
+
function xl(i,b,c){var d=i.a[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.mb();if(i.lb(b,h)){return true}}}return false}
|
423 |
+
function gb(c,d){var b,e,f,g;for(e=0,f=c.length;e<f;++e){g=c[e];try{g[1]?g[0].tb()&&(d=fb(d,g)):g[0].x()}catch(b){b=pe(b);if(!ce(b,2))throw b}}return d}
|
424 |
+
function kb(b){var c,d,e,f;e=(de(b.a)?be(b.a):null,[]);f=Td(me,{30:1},33,e.length,0);for(c=0,d=f.length;c<d;++c){f[c]=new Mk(e[c])}L(f)}
|
425 |
+
function ue(b){var c,d;if(b>-129&&b<128){c=b+128;se==null&&(se=Td(ie,{30:1},26,256,0));d=se[c];!d&&(d=se[c]=qe(b));return d}return qe(b)}
|
426 |
+
function Vd(b,c,d){if(d!=null){if(b.qI>0&&!_d(d,b.qI)){throw new vk}if(b.qI<0&&(d.tM==Gn||d.cM&&!!d.cM[1])){throw new vk}}return b[c]=d}
|
427 |
+
function Hh(b,c,d,e,f,g,h){if(!Nk(b.d,d)||b.b!=e||b.c!=f||b.e!=g||b.a!=h){b.d=d;b.b=e;b.c=f;b.e=g;b.a=h;Qi(c.w,d,e,f,g,h);Ff(new Lh(c))}}
|
428 |
+
function hb(b){var c,d,e;e=In;b=Qk(b);c=b.indexOf('(');if(c!=-1){d=b.indexOf(Jn)==0?8:0;e=Qk(b.substr(d,c-d))}return e.length>0?e:'anonymous'}
|
429 |
+
function ni(){var b;li();hi.call(this,(b=$doc.createElement('INPUT'),b.type='text',b),(!Le&&(Le=new Me),!Ie&&(Ie=new Je)));this.w[io]='gwt-TextBox'}
|
430 |
+
function Rk(b){var c;c=0;while(0<=(c=b.indexOf('\\',c))){b.charCodeAt(c+1)==36?(b=b.substr(0,c-0)+'$'+Pk(b,++c)):(b=b.substr(0,c-0)+Pk(b,++c))}return b}
|
431 |
+
function yc(b){var c,d,e;c=$doc.styleSheets.length;if(c==0){return d=$doc.createStyleSheet(),d.cssText=b,d}return e=$doc.styleSheets[c-1],e.cssText+=b,e}
|
432 |
+
function Rb(){Rb=Gn;Qb=new Tb;Ob=new Vb;Jb=new Xb;Kb=new Zb;Pb=new _b;Nb=new bc;Lb=new dc;Ib=new fc;Mb=new hc;Ud(he,{30:1},23,[Qb,Ob,Jb,Kb,Pb,Nb,Lb,Ib,Mb])}
|
433 |
+
function Ig(b){if(!b.v){(Rh(),ul(Qh.a,b))&&Th(b)}else if(ce(b.v,17)){ae(b.v,17).T(b)}else if(b.v){throw new Ek("This widget's parent does not implement HasWidgets")}}
|
434 |
+
function ef(b,c){if(c<=0){throw new Bk('must be positive')}b.b?($wnd.clearInterval(b.c),undefined):($wnd.clearTimeout(b.c),undefined);Vm(bf,b);b.b=false;b.c=ff(b,c);Rm(bf,b)}
|
435 |
+
function qd(c,d){var b,e,f;!d.e||d.B();f=d.f;d.f=c.b;try{zd(c.a,d)}catch(b){b=pe(b);if(ce(b,9)){e=b;throw new Md(e.a)}else throw b}finally{f==null?(d.e=true,d.f=null):(d.f=f)}}
|
436 |
+
function Of(b,c){var d,e,f,g,h;if(!!Jf&&!!b&&ul(b.a.d,Jf)){d=Kf.a;e=Kf.b;f=Kf.c;g=Kf.d;Lf(Kf);Kf.d=c;qd(b,Kf);h=!(Kf.a&&!Kf.b);Kf.a=d;Kf.b=e;Kf.c=f;Kf.d=g;return h}return true}
|
437 |
+
function Sd(b,c){var d=new Array(c);if(b==3){for(var e=0;e<c;++e){var f=new Object;f.l=f.m=f.h=0;d[e]=f}}else if(b>0){var f=[null,0,false][b];for(var e=0;e<c;++e){d[e]=f}}return d}
|
438 |
+
function lj(){lj=Gn;fj=new Fe('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA7CAYAAAAq55mNAAAAJElEQVR42u3BMQEAAADCoPVPbQlPoAAAAAAAAAAAAAAAAAA4GTWzAAHmFYjpAAAAAElFTkSuQmCC')}
|
439 |
+
function El(i,b,c){var d=i.a[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.mb();if(i.lb(b,h)){d.length==1?delete i.a[c]:d.splice(e,1);--i.d;return g.W()}}}return null}
|
440 |
+
function Al(k,b,c,d){var e=k.a[d];if(e){for(var f=0,g=e.length;f<g;++f){var h=e[f];var i=h.mb();if(k.lb(b,i)){var j=h.W();h.nb(c);return j}}}else{e=k.a[d]=[]}var h=new zn(b,c);e.push(h);++k.d;return null}
|
441 |
+
function Kg(b,c){var d;d=b.v;if(!c){try{!!d&&d.O()&&b.Q()}finally{b.v=null}}else{if(d){throw new Ek('Cannot set a new parent without first clearing the old parent')}b.v=c;c.O()&&b.P()}}
|
442 |
+
function De(b){return $stats({moduleName:$moduleName,sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date).getTime(),type:'onModuleLoadStart',className:b})}
|
443 |
+
function Hg(b){if(!b.O()){throw new Ek("Should only call onDetach when the widget is attached to the browser's document")}try{b.S()}finally{try{b.N()}finally{b.w.__listener=null;b.s=false}}}
|
444 |
+
function Fg(b){var c;if(b.O()){throw new Ek("Should only call onAttach when the widget is detached from the browser's document")}b.s=true;b.w.__listener=b;c=b.t;b.t=-1;c>0&&(b.t==-1?Cf(b.w,c|(b.w.__eventBits||0)):(b.t|=c));b.M();b.R()}
|
445 |
+
function fh(c,d){var i;dh();var b,e,f,g,h;e=null;for(h=c.U();h.I();){g=ae(h.J(),15);try{d.V(g)}catch(b){b=pe(b);if(ce(b,10)){f=b;!e&&(e=new rn);i=zl(e.a,f,e)}else throw b}}if(e){throw new eh(e)}}
|
446 |
+
function Yk(b){var c,d,e,f;c=0;e=b.length;f=e-4;d=0;while(d<f){c=b.charCodeAt(d+3)+31*(b.charCodeAt(d+2)+31*(b.charCodeAt(d+1)+31*(b.charCodeAt(d)+31*c)))|0;d+=4}while(d<e){c=c*31+b.charCodeAt(d++)}return c|0}
|
447 |
+
function tk(b){var c;this.c=(c=zb(b)+$wnd.pageXOffset,b.ownerDocument.defaultView.getComputedStyle(b,In).direction=='rtl'&&(c+=Bb(b)),c);this.d=Ab(b)+$wnd.pageYOffset;this.b=b.clientWidth;this.a=b.clientHeight}
|
448 |
+
function xd(b,c,d){var e;if(!c){throw new Kk('Cannot add a handler with a null type')}if(!d){throw new Kk('Cannot add a null handler')}b.b>0?wd(b,new Vi(b,c,d)):(e=Bd(b,c),e.fb(d),undefined);return new Ti(b,c,d)}
|
449 |
+
function Fi(b,c,d){var e,f;if(d<0||d>b.c){throw new Gk}if(b.c==b.a.length){f=Td(ke,{30:1},15,b.a.length*2,0);for(e=0;e<b.a.length;++e){Vd(f,e,b.a[e])}b.a=f}++b.c;for(e=b.c-1;e>d;--e){Vd(b.a,e,b.a[e-1])}Vd(b.a,d,c)}
|
450 |
+
function Vh(b){Rh();var c,d;d=ae(vl(Ph,b),16);c=null;if(b!=null){if(!(c=$doc.getElementById(b))){return null}}if(d){if(!c||d.w==c){return d}}Ph.d==0&&Xf(new $h);!c?(d=new bi):(d=new Sh(c));zl(Ph,b,d);qn(Qh,d);return d}
|
451 |
+
function Cg(b,c,d){if(!b){throw new M('Null widget handle. If you are creating a composite, ensure that initWidget() has been called.')}c=Qk(c);if(c.length==0){throw new Bk('Style names cannot be empty')}d?sb(b,c):ub(b,c)}
|
452 |
+
function jk(b,c){var d,e,f,g,h,i;g=jg(c.d.type);if(g==4){c.d.preventDefault()}else if(g==64){f=c.d;h=f.clientX||0;i=f.clientY||0;d=h-b.a;e=b.b-i;b.a=h;b.b=i;b.c?Uj(b.e,d):b.d?Vj(b.e,d):Wj(b.e,d,e);c.d.preventDefault()}else g==8&&b.e.g._()}
|
453 |
+
function sb(b,c){var d,e,f,g;c=Qk(c);g=b.className;d=g.indexOf(c);while(d!=-1){if(d==0||g.charCodeAt(d-1)==32){e=d+c.length;f=g.length;if(e==f||e<f&&g.charCodeAt(e)==32){break}}d=g.indexOf(c,d+1)}if(d==-1){g.length>0&&(g+=Ln);b.className=g+c}}
|
454 |
+
function jb(j){var b={};var c=[];var d=arguments.callee.caller.caller;while(d){var e=j.y(d.toString());c.push(e);var f=Kn+e;var g=b[f];if(g){var h,i;for(h=0,i=g.length;h<i;h++){if(g[h]===d){return c}}}(g||(b[f]=[])).push(d);d=d.caller}return c}
|
455 |
+
function Kj(b,c){var d,e;e=b.d+b.b;b.f!=0&&!b.c?e-c<~~(b.f/2)?(d=e):c-b.d<~~(b.f/2)?(d=b.d):c==b.d?(d=ee(Math.floor(c))):c==e?(d=ee(Math.ceil(c))):(d=we(ve(te(Math.round(c/b.f)),ue(b.f)))):(d=we(te(Math.round(c))));d<b.d&&(d=b.d);d>e&&(d=e);return d}
|
456 |
+
function oc(){nc();var b,c,d;d=null;if(mc.length!=0){b=mc.join(In);c=zc((tc(),b));!mc&&(d=c);mc.length=0}if(kc.length!=0){b=kc.join(In);c=xc((tc(),b));!kc&&(d=c);kc.length=0}if(lc.length!=0){b=lc.join(In);c=yc((tc(),b));!lc&&(d=c);lc.length=0}jc=false;return d}
|
457 |
+
function xc(b){var c,d,e,f,g,h;e=$doc.styleSheets.length;if(e<30){return h=$doc.createStyleSheet(),h.cssText=b,h}else{g=2147483647;f=-1;for(c=0;c<e;++c){d=uc[c];d==0&&(d=uc[c]=$doc.styleSheets[c].cssText.length);if(d<=g){g=d;f=c}}uc[f]+=b.length;return wc(f,b,true)}}
|
458 |
+
function Xe(b,c){var d,e,f;f=false;try{b.c=true;b.f.a=b.b.b;ef(b.a,10000);while(pf(b.f)){e=qf(b.f);try{if(e==null){return}if(e!=null&&e.cM&&!!e.cM[11]){d=ae(e,11);Kh(d)}}finally{f=b.f.b==-1;f||rf(b.f)}if((new Date).getTime()-c>=100){return}}}finally{if(!f){df(b.a);b.c=false;Ye(b)}}}
|
459 |
+
function dk(b,c,d){var e;e=new cl;qb(e.a,'border-width:');qb(e.a,'0px ');bl(e,b.b>0?b.b:b.n.offsetWidth||0);qb(e.a,mo);pb(e.a,100);qb(e.a,'px 0px;');qb(e.a,'top:');ob(e.a,-100+(1-(d-c))*100);qb(e.a,vo);qb(e.a,'left:');al(e,c*(b.b>0?b.b:b.n.offsetWidth||0));qb(e.a,vo);b.q.w.setAttribute('style',rb(e.a))}
|
460 |
+
function ub(b,c){var d,e,f,g,h,i,j;c=Qk(c);j=b.className;f=j.indexOf(c);while(f!=-1){if(f==0||j.charCodeAt(f-1)==32){g=f+c.length;h=j.length;if(g==h||g<h&&j.charCodeAt(g)==32){break}}f=j.indexOf(c,f+1)}if(f!=-1){d=Qk(j.substr(0,f-0));e=Qk(Pk(j,f+c.length));d.length==0?(i=e):e.length==0?(i=d):(i=d+Ln+e);b.className=i}}
|
461 |
+
function zd(c,d){var b,e,f,g,h,i,j;if(!d){throw new Kk('Cannot fire null event')}try{++c.b;h=Cd(c,d.A());e=null;i=c.c?h.rb(h.jb()):h.qb();while(c.c?i.b>0:i.b<i.d.jb()){g=c.c?Em(i):xm(i);try{d.z(ae(g,18))}catch(b){b=pe(b);if(ce(b,10)){f=b;!e&&(e=new rn);j=zl(e.a,f,e)}else throw b}}if(e){throw new Ld(e)}}finally{--c.b;c.b==0&&Dd(c)}}
|
462 |
+
function Lj(b,c,d,e,f,g,h){var i,j,k;this.k=h;this.e=f;this.d=b;k=c-b;this.b=k==0?1:k;this.c=true;g==0?this.b>4000?(this.f=100):this.b>2000?(this.f=50):this.b>1000?(this.f=25):this.b>500?(this.f=10):this.b>100?(this.f=5):(this.f=0):(this.f=g);if(k!=0){i=(d-this.d)/this.b;j=(e-this.d)/this.b;this.i=i;this.j=j;Aj(this);zj(this)}else{this.i=0;this.j=1;Aj(this);zj(this)}}
|
463 |
+
function Ih(b,c,d,e,f,g){var h,i;this.b=d;this.c=e;this.e=f;this.a=g;this.d=c;Jg(b,(h=$doc.createElement('span'),h.innerHTML=(i='width: '+f+'px; height: '+g+'px; background: url('+c+lo+-d+mo+-e+no,"<img onload='this.__gwtLastUnhandledEvent=\"load\";' src='"+$moduleBase+"clear.cache.gif' style='"+i+"' border='0'>")||In,vb(h)));b.t==-1?Cf(b.w,133333119|(b.w.__eventBits||0)):(b.t|=133333119)}
|
464 |
+
function mj(b){var c;var d;var e;var f;var g;var h;var i;var j;var k;if(b){c=b['hostElementId'];d=b['leftBorder'];e=b['rightBorder'];f=b['currentLeft'];g=b['currentRight'];h=b['stepSize'];i=b['unit'];j=b['callback'];k=b[po]}!c&&(c=In);!d&&(d=0);!e&&(e=0);d>e&&(d=e);!f&&(f=d);!g&&(g=e);!h&&(h=0);i=i==null?so:i.indexOf(so)!=-1?i:'%n '+i;(!j||typeof j!=Jn)&&(j=null);!k&&(k=0);nj(c,d,e,f,g,i,h,k,j)}
|
465 |
+
function oe(){var b;!!$stats&&De('com.google.gwt.user.client.UserAgentAsserter');b=Uf();Nk(Pn,b)||($wnd.alert('ERROR: Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie9) does not match the runtime user.agent value ('+b+'). Expect more errors.\n'),undefined);!!$stats&&De('de.factfinder.asn.slider.client.StandAloneOneTouchSlider');$wnd.oneTouchSlider={};$wnd.oneTouchSlider.addSlider=Hn(mj);$wnd.oneTouchSliderOnLoad&&typeof $wnd.oneTouchSliderOnLoad==Jn&&$wnd.oneTouchSliderOnLoad()}
|
466 |
+
function Uf(){var c=navigator.userAgent.toLowerCase();var d=function(b){return parseInt(b[1])*1000+parseInt(b[2])};if(function(){return c.indexOf(Rn)!=-1}())return Rn;if(function(){return c.indexOf('webkit')!=-1}())return 'safari';if(function(){return c.indexOf(Sn)!=-1&&$doc.documentMode>=9}())return Pn;if(function(){return c.indexOf(Sn)!=-1&&$doc.documentMode>=8}())return 'ie8';if(function(){var b=/msie ([0-9]+)\.([0-9]+)/.exec(c);if(b&&b.length==3)return d(b)>=6000}())return 'ie6';if(function(){return c.indexOf('gecko')!=-1}())return 'gecko1_8';return 'unknown'}
|
467 |
+
function te(b){var c,d,e,f,g,h,i,j;if(isNaN(b)){return Ae(),ze}if(b<-9223372036854775808){return Ae(),ye}if(b>=9223372036854775807){return Ae(),xe}f=false;if(b<0){f=true;b=-b}e=0;if(b>=17592186044416){e=~~Math.max(Math.min(b/17592186044416,2147483647),-2147483648);b-=e*17592186044416}d=0;if(b>=4194304){d=~~Math.max(Math.min(b/4194304,2147483647),-2147483648);b-=d*4194304}c=~~Math.max(Math.min(b,2147483647),-2147483648);g=(a=new Ce,a.l=c,a.m=d,a.h=e,a);f&&(h=~g.l+1&4194303,i=~g.m+(h==0?1:0)&4194303,j=~g.h+(h==0&&i==0?1:0)&1048575,g.l=h,g.m=i,g.h=j,undefined);return g}
|
468 |
+
function ve(b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D;d=b.l&8191;e=b.l>>13|(b.m&15)<<9;f=b.m>>4&8191;g=b.m>>17|(b.h&255)<<5;h=(b.h&1048320)>>8;i=c.l&8191;j=c.l>>13|(c.m&15)<<9;k=c.m>>4&8191;l=c.m>>17|(c.h&255)<<5;m=(c.h&1048320)>>8;z=d*i;A=e*i;B=f*i;C=g*i;D=h*i;if(j!=0){A+=d*j;B+=e*j;C+=f*j;D+=g*j}if(k!=0){B+=d*k;C+=e*k;D+=f*k}if(l!=0){C+=d*l;D+=e*l}m!=0&&(D+=d*m);o=z&4194303;p=(A&511)<<13;n=o+p;r=z>>22;s=A>>9;t=(B&262143)<<4;u=(C&31)<<17;q=r+s+t+u;w=B>>18;x=C>>5;y=(D&4095)<<8;v=w+x+y;q+=n>>22;n&=4194303;v+=q>>22;q&=4194303;v&=1048575;return re(n,q,v)}
|
469 |
+
function jg(b){switch(b){case 'blur':return 4096;case 'change':return 1024;case Tn:return 1;case Un:return 2;case 'focus':return 2048;case Vn:return 128;case Wn:return 256;case Xn:return 512;case Yn:return 32768;case 'losecapture':return 8192;case Mn:return 4;case Zn:return 64;case Nn:return 32;case On:return 16;case $n:return 8;case 'scroll':return 16384;case 'error':return 65536;case 'DOMMouseScroll':case _n:return 131072;case 'contextmenu':return 262144;case 'paste':return 524288;case ao:return 1048576;case bo:return 2097152;case co:return 4194304;case eo:return 8388608;case fo:return 16777216;case go:return 33554432;case ho:return 67108864;case 'ended':return 134217728;case 'progress':return 268435456;case 'canplaythrough':return 536870912;default:return -1;}}
|
470 |
+
function rg(){ng=Hn(function(b){if(!zf(b)){b.stopPropagation();b.preventDefault();return false}return true});pg=Hn(function(b){var c,d=this;while(d&&!(c=d.__listener)){d=d.parentNode}d&&d.nodeType!=1&&(d=null);c&&lg(c)&&yf(b,d,c)});qg=Hn(function(b){this.__gwtLastUnhandledEvent=b.type;pg.call(this,b)});og=Hn(function(b){var c=ng;if(c(b)){var d=mg;if(d&&d.__listener){if(lg(d.__listener)){yf(b,d,d.__listener);b.stopPropagation()}}}});$wnd.addEventListener(Tn,og,true);$wnd.addEventListener(Un,og,true);$wnd.addEventListener(Mn,og,true);$wnd.addEventListener($n,og,true);$wnd.addEventListener(Zn,og,true);$wnd.addEventListener(On,og,true);$wnd.addEventListener(Nn,og,true);$wnd.addEventListener(_n,og,true);$wnd.addEventListener(Vn,ng,true);$wnd.addEventListener(Xn,ng,true);$wnd.addEventListener(Wn,ng,true);$wnd.addEventListener(ao,og,true);$wnd.addEventListener(bo,og,true);$wnd.addEventListener(co,og,true);$wnd.addEventListener(eo,og,true);$wnd.addEventListener(fo,og,true);$wnd.addEventListener(go,og,true);$wnd.addEventListener(ho,og,true)}
|
471 |
+
function sg(b,c){var d=(b.__eventBits||0)^c;b.__eventBits=c;if(!d)return;d&1&&(b.onclick=c&1?pg:null);d&2&&(b.ondblclick=c&2?pg:null);d&4&&(b.onmousedown=c&4?pg:null);d&8&&(b.onmouseup=c&8?pg:null);d&16&&(b.onmouseover=c&16?pg:null);d&32&&(b.onmouseout=c&32?pg:null);d&64&&(b.onmousemove=c&64?pg:null);d&128&&(b.onkeydown=c&128?pg:null);d&256&&(b.onkeypress=c&256?pg:null);d&512&&(b.onkeyup=c&512?pg:null);d&1024&&(b.onchange=c&1024?pg:null);d&2048&&(b.onfocus=c&2048?pg:null);d&4096&&(b.onblur=c&4096?pg:null);d&8192&&(b.onlosecapture=c&8192?pg:null);d&16384&&(b.onscroll=c&16384?pg:null);d&32768&&(b.onload=c&32768?qg:null);d&65536&&(b.onerror=c&65536?pg:null);d&131072&&(b.onmousewheel=c&131072?pg:null);d&262144&&(b.oncontextmenu=c&262144?pg:null);d&524288&&(b.onpaste=c&524288?pg:null);d&1048576&&(b.ontouchstart=c&1048576?pg:null);d&2097152&&(b.ontouchmove=c&2097152?pg:null);d&4194304&&(b.ontouchend=c&4194304?pg:null);d&8388608&&(b.ontouchcancel=c&8388608?pg:null);d&16777216&&(b.ongesturestart=c&16777216?pg:null);d&33554432&&(b.ongesturechange=c&33554432?pg:null);d&67108864&&(b.ongestureend=c&67108864?pg:null)}
|
472 |
+
function Zf(){var b,c;if(!Vf){b=(c=$doc.createElement('script'),c.textContent='function __gwt_initWindowCloseHandler(beforeunload, unload) {\n var wnd = window\n , oldOnBeforeUnload = wnd.onbeforeunload\n , oldOnUnload = wnd.onunload;\n \n wnd.onbeforeunload = function(evt) {\n var ret, oldRet;\n try {\n ret = beforeunload();\n } finally {\n oldRet = oldOnBeforeUnload && oldOnBeforeUnload(evt);\n }\n // Avoid returning null as IE6 will coerce it into a string.\n // Ensure that "" gets returned properly.\n if (ret != null) {\n return ret;\n }\n if (oldRet != null) {\n return oldRet;\n }\n // returns undefined.\n };\n \n wnd.onunload = function(evt) {\n try {\n unload();\n } finally {\n oldOnUnload && oldOnUnload(evt);\n wnd.onresize = null;\n wnd.onscroll = null;\n wnd.onbeforeunload = null;\n wnd.onunload = null;\n }\n };\n \n // Remove the reference once we\'ve initialize the handler\n wnd.__gwt_initWindowCloseHandler = undefined;\n}\n',c);$doc.body.appendChild(b);$wnd.__gwt_initWindowCloseHandler(Hn(_f),Hn($f));$doc.body.removeChild(b);Vf=true}}
|
473 |
+
function hj(b){if(!b.a){b.a=true;nc();R(kc,'.GLR1MK0AG{display:block;}.GLR1MK0OG{font-family:verdana, sans-serif;font-size:8pt;text-align:center;}.GLR1MK0EG{background:#555;width:100%;height:17px;position:relative;text-align:left;-moz-border-radius:4px 4px 4px 4px;-webkit-border-radius:4px;font-size:1.1em;}.GLR1MK0DG{height:100%;top:0;background:#6683b4;background-position:0 0;border:0 none;display:block;font-size:0.7em;position:absolute;z-index:1;text-align:center;}.GLR1MK0HG{background:repeat-x scroll 50% 50% #f6f6f6;border:1px solid #7f7f7f;color:#fff;font-weight:bold;outline:medium none;margin-left:-0.6em;top:-0.3em;cursor:default;height:23px;position:absolute;width:1em;z-index:3;-moz-border-radius:4px;-webkit-border-radius:4px;font-family:Verdana, Arial, sans-serif;font-size:1.1em;text-align:left;text-decoration:none;}.GLR1MK0IG{border-color:transparent;border-style:solid;border-width:0 200px 100px 0;height:0;width:0;position:absolute;border-bottom-color:#ccd6e6;opacity:0;z-index:2;margin-top:10px;}.GLR1MK0KG{opacity:0.5;}.GLR1MK0JG{opacity:0.7;}.GLR1MK0BG{cursor:pointer;}.GLR1MK0CG{cursor:none;}.GLR1MK0PF{cursor:default;}.GLR1MK0FG{margin:-21px auto;z-index:3;position:absolute;}.GLR1MK0GG{width:58px;margin:32px 0 0 -29px;}.GLR1MK0LG{background-color:#f1f1f1;border:1px solid #acacac;font-size:9px;height:20px;margin:0 0 10px;text-align:center;width:40px;}.GLR1MK0MG{float:left;}.GLR1MK0NG{float:right;}');pc();return true}return false}
|
474 |
+
function ek(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;this.o=(jj(),dj);this.a=new cj;this.f=new mk(this);this.g=new pj;nh(this,(c=Db($doc),q=new ni,e=Db($doc),s=new ni,g=Db($doc),h=Db($doc),i=Db($doc),j=Db($doc),k=Db($doc),w=new th,m=Db($doc),v=new Ch((kj(),ej)),o=new xh("<div class='GLR1MK0OG fact-finder-onetouchslider'> <span id='"+c+wo+e+"'><\/span> <div style='clear: both !important;'><\/div> <div style='clear: both !important;'><\/div> <div class='GLR1MK0AG'> <div class='GLR1MK0EG fact-finder-onetouchslider-bar' id='"+g+"'> <div class='GLR1MK0DG fact-finder-onetouchslider-bar fact-finder-onetouchslider-bar-selected' id='"+h+"'><\/div> <span class='GLR1MK0HG fact-finder-onetouchslider-handle fact-finder-onetouchslider-handle-left' id='"+i+"'><\/span> <span class='GLR1MK0HG fact-finder-onetouchslider-handle fact-finder-onetouchslider-handle-right' id='"+j+wo+k+wo+m+"'><\/span> <\/div> <\/div> <\/div>"),q.w[io]='GLR1MK0LG GLR1MK0MG fact-finder-onetouchslider-text-box fact-finder-onetouchslider-textbox-left',q.w[xo]=true,Ag(q,Bg(q.w)+yo),s.w[io]='GLR1MK0LG GLR1MK0NG fact-finder-onetouchslider-text-box fact-finder-onetouchslider-textbox-right',s.w[xo]=true,Ag(s,Bg(s.w)+yo),w.w[io]='GLR1MK0IG fact-finder-onetouchslider-triangle',v.w[io]='GLR1MK0FG fact-finder-onetouchslider-grip',b=Oe(o.w),d=$doc.getElementById(c),f=$doc.getElementById(e),u=$doc.getElementById(g),u.removeAttribute(zo),t=$doc.getElementById(h),t.removeAttribute(zo),p=$doc.getElementById(i),p.removeAttribute(zo),r=$doc.getElementById(j),r.removeAttribute(zo),l=$doc.getElementById(k),n=$doc.getElementById(m),b.b?b.b.insertBefore(b.a,b.c):Qe(b.a),Ig(q),Di(o.a,q),d.parentNode.replaceChild(q.w,d),Kg(q,o),Ig(s),Di(o.a,s),f.parentNode.replaceChild(s.w,f),Kg(s,o),Ig(w),Di(o.a,w),l.parentNode.replaceChild(w.w,l),Kg(w,o),Ig(v),Di(o.a,v),n.parentNode.replaceChild(v.w,n),Kg(v,o),this.c=p,this.d=q,this.i=r,this.j=s,this.k=t,this.n=u,this.p=v,this.q=w,o));hj(this.o);ik(this.f);this.g.ab()}
|
475 |
+
function kj(){kj=Gn;ej=new Fe('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA7CAYAAAAq55mNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADoBJREFUeNrUW3mQFcUZ7znewS67y7GwLKziLp7hFlEDFqcsRquSKjUqgkqMlRgllT9MoqaSlDGEktKUZzQiGhMVOTxKrQhUiCnLKwKLCHJI9mRvjuVY3u6bqztfHzOvXzPvWHalymd99szsTHf/+jv7+xqNEIK+zb/Kqgvyes88y5PS5PuG+v+dtVU2v0kg8NP68D75JhfBHGBwuYCq9yRHv2SgQJsDADAMjCY91/Lskkjk32uyHvYHsDlAALUMANVnuUDiENADAljvJ0hN9CGTIRYwjCISqX8zpNaQ+tLVxQuxBTl/Wr7uRXSuclGXOKYrwNW/q4ukiioWRJQWh3AYhbT9F10FZBgwTay+JnEhDGzYTwbiKQA98X3YImhK2z+gISD1LCLrt0ZxUZE2e/Ycc/r06WjSlEkoEomgC8+vQqbJh2xuadW6TyVIY0Ojtn/fPrJ54ybvQF2tKcDJID1poWTgfQKbVXTzAGnK4Oj95ZdNN25dsliff/WCWMeRxETb8cZ7GFMrEsMEVUAbZZ1pqB2m1gtti2no9SVF8W0nj7V3rFuznrz8j5ddCSwlV+GyzPW8xDgj0CwgDcXoMJBTJk6O3LJ4kXbV7Oryw8d6bnA9PEPXtTgAgY/gP+10yaVjM6IzxtxlxqLGxkFGYsu6NevQ6pdedAVIL4TCwPYNqGJds4Fk9PAfHjYXfO/7Q5o7Tt4MABfoGtI1XYf/IQZQ81t1+QVQipFOg2DMrxE5WFQQffVYZ23N2tdexxs3b3IEYBW0rLtZwWYDqkkuSFdFlNLYiorIz5YtM86fMHPWqR77bsASNyhKAZIi1AOgIc5TAMQ+YEzYNWuBQCJqxo8b8cTfX1qVePqZZ2Swbl/BngY0RGSNEJCReXPmRRctXqRHSioXgx5er+sclGHojHuAlbJVAEani64QWcSAUgJuYiRAYgbY8+g7pL1yzNDlH215r335n5ZTgI4gWX9JiBvKO2BQjU/AyfGXfMf866rnTCdW8Wvg5PUgrmxSHkzSdTGbKL/H7Bn2JPLvKShoXSzeo++zfnDQD+3XcbzyrxuPrJx8ZfXFDz7woBpg6JJbU9Ut7Wc89NBDuUTWUCIb875f3mce7Ir+OGm5c4kkgr508EYL9A/7eoiEaBK+KJ7PPUyChWIgGVgULBSAjh7rTk6fdunUz4riRm/NjppsAUSfQkAtxFcavuEpLJtUfSJhXevAqtt05YEc14MJEuQwThBxz7nic8t1FfJI8A7jHnzjsL7EteOx/tk4jle888ChB+/8yT3xK6ZfroaMei6u6hm2UZoisoyW3r7UPG/8VZWHuhJ3yROCSfBr1nppE04tAoagwUDDSwahGLSuB8/oc5fA9zhtgRwHB33ajsvA0vuk5Zy7+dO6ny5afKsh+fC8IjA9D5cSgH3gNw8Ye+sOLbMcz7RsD1k2TMKmq87Bssk5KmDOGepcCuMm2rrza9SbtFBRYSx4z/W/p30JkGlExxHPuxPWbFJYNY0uurIByA9oDrHVacdv/Wv35b29yUrbtmFQB1kwQQtWnIGmLUzEcvl9auJc/AoGRdAXu2vRoSPH0Z7aVhSPmczn8G89xjlLkL9wSXrNWtqXg+i4lm2hprauRTffelOuuDoNdDagaQaJdtzS0XUjHYgBtSzk0MEdf6ISueKZEDmIduBdC7V1HkHR+CCkGyZqbOlChQDeF33+Lhb9uaJPzLjpODAeG9di4/b09lTW7D8xZeGCajNkO5eTo1qmfSaNX7+q667q6emppAPZVhLx1goAc1GWyeWiDROmYvrl3joUicZRLBaHwD6KIExEEOMyzjJw4l0uCUJ8BQf9caykAJtMooOth66+/oc3IMW9ZMxqmBnyPmn7zOqFC7Xaxrbv0sFo1KPpBjKAdMNFBuxGDMNjXDIoYQgSdAJ/R6wtLx2Mjhw9hrpP9aLCwcXIjMRYH9T1NLYdg78Xo46jCcX3gsvxXOSBGnjQYjBclNg1c0ewMEk8bfyEGbFYNOpZtq3nymjoWZJXAdDZc2ehrmMnL7OAk0lYTdZavLXoSvsrblNymOglbe5uhhTF0Z79DbA4sGnRIyxQ8C1y18kkSvTaaMjgGHvf8nVR9OlTUozHx+wVz6zo2xs/nzhv7rxsVjcvHWUf032li+Pxnp5EhZXs5QMlfUqi4BkQF+kkcoQ4Dy+OoQN1zajXchHRTYiCwPiA3vniTQ1QQ2sXGjm0gHGPfW/zPuxkUvSZGs9mYyWDZx2Hj54/afIkLYSbp3HVzGKI2HVV5Tjto617ymEACGWp2Oo8aKfiS0XVA3KBzAhce/wZUElRAbgTHW3/ognF4oXIIzozODzkFdszYG8SxLCp9SgqLYmBKJ9CGAC7nsPF1nWYuPri61ERhvfpd7SPEyfJmFmXXoByhX/ZMgzBB+Xlo7TOziPDqbjwLZcAanA9ZQCpnsLETHYdYTo7dPRQtHPXfuYjY9CVBy0hVlrKCHtc3xpae9Hki8agGJiV44lkANCFNk1XhX4G2zvPG1ZWVobyyTTmTKUUFRWBIekpoNYOiQ20zgyRzg0STMB0OVga7ZhA5SOGIRdEsKmlDRUMLmHPQZaR5unpuxdmeLihOVDfhoYVF6DOw0c4UJcDlTlKQVKwPKamQN3CwsKCvHLHeSXHmB8LOKpx8QXOUnA6XW3TY+JrRjw2wdIhBWjbjl1i5THnDEyQSkKQEaPix4J7DrS1oxvCw7GoBFxRe+dJJqaua3OOCqsrc5NRJP+0dM43u7u70eBCvYeC5XtKiaswCV03mW5SsaWTrqwYjTo6O1HX8ePAzWLOTdtmIu9nG/ydDl0EIrhEubb3QCMaN3YUamxuSemn67sVrpv+d8ySaiiRSPTklfI0c2TOUXt7B7ni4plHXcdJKbDgKG2pPtJJ0FUv0Aeh0WVD0eYPPgLRjrDtl2s7TBcpUCTyR2zLzcDilPiCJPQkutGIIYXgW4eg+qaW08SWBGLLf9FIpKsTFjVXvijMvaj7O1LfUEfmzZrW7ro0FHM4sVjX5iItxJrqMNXNL3fvBRdgIwKso5zywzdHEHUfqWsr9TcQU7qY+2ob0TmjRzJgQfRl26mxBdH5mIbR3tzUnGn+OTkqb2jxye5uMqzETML1QdC1c7nmS7oKHPVAjGNwP3J4Mdq1Zy+KxAbRScAqEngTdJPQ+J2yML1KqFPLSf/uDwfLTnW8vrEFlQ0fimobGgPR5kYIB1lcOofSYSUHarZvJxmy+SQXR9V7XLN9B4pGza98S0jJoUS5anPOUqKrDGYQRUwDRZhVpnoEYDXMBJaB1niriTQPvdc1zHJLlExDA5E00KnEqaBf1jfr30n5WM/FN/5g/r5PPv0EZwFI0jhKq1NSvKvWPPBbb7xJLr5o5sefbd1+ra8iPLOnI6zDpIVV/Gp/LZpwURUqKR4c+Fsk0pyamgqUcrqykaEhYF1jM2oCg0T79PWYWWmUGrugoLAGuScSIHE4Q40mo+iSDGU8vHX7Nm/FyhVf/3dbTTNYw3PkuMKPlJjjbzoIE2wVgT+Pnng0FZLA9o2R8Kc0C0hEAOET8QMELM+dL1jF6PItb7/5NpKS2VnzR7l01AfrbVi7wRw1atQ7TU1Ny5DEVo1OxgcLE6URk7/D0TRP6DKPqE7P62IGghChgwEwnPbMdyd8SJ3WcZofX/GLHZdOnepKxSl8psYorZr1/Aur3B07vvjwmhvuuQ4sbSUD64sloRzlYDSYKAMq3E/Kf6pRmuT4CQ4F5wcVRN6KgE5fMu7CV55/9jm1PEGylBhDdy8kpEbJOnzqiSe9KZMmrIaJYBFrcmfv8ujFE3Gp64j4lLoBYUgCg5LhnhkaJxXXpqIhzHVV6Gk8Pmjbj26Zu50uvFJ4yspRXTkFosq4XNHyaJVr9vTz9o8cWfaqH3P6pt8TuwsfMLfOfAfiSrFrQI7/3N+pUHBOWj8pt8LHgV1R++/vv/epDWvXE6UsQfIGGuZWQrjqrlz5iHvv0mveATfyIU9QC0MiJoWlLRUH7J4OUgLo+hx0fS66KX31++Zq0nPdwvkr9u78OCGKTmo5kWSrv+ghZ3vUl2VdcMGcO6+/tsZ79YWVf4nF4rtTFTEc7C5Yq+wjUyKZEk0vSJF40rfiex8gCxA0e/LEiY+NLTNbpWKTXGDCucJAPc/jMFhaQe/zbVudVc8+5az925//WFIy5H35zUCcmdsgqYmLXQqWdiLBtktU0YJYVuoPrPjh6vlz76+eecFOUWRSK2leLm7mUzZUM/a6XBelxabb7rjdWP36f65ta29bCn0N6Em0WCy27+47lzxqnWg6/viTT/iVtIEpG+ZRCDbUOimtx9S3WeX/3PzvmyF0m4X6c5CSlR6NwxUV56x75Hd3fbDmldfI+jc2yDqpGiHvjAvBZ1DaN2dcOSOy+LbF2ntbdlVt27Hzxt7enqnQdTSf4z1+1ASBQFtpaemm5x//7ab3333LFVwMK+1jhc6stJ/nYQ0jrEg8b848Y8kdS7SSYWNiyx9bPamltfUK27LPA0tbCvpYLPcfjcbqIbhIFBUXf1k9Z+Ynt900t3Pd2vXoxRdX01ytd1YOa5zB8Ru5umXEolG9unqhUb2wGlWNq0IVY8pRcVERevTp9SN+9fObDtPO9u4/QFME6LOPP0Xvvfsurm2ox4rvVgMCL8NxupxZhrxOjuVxoCoTyX9nv7EVFVpTS4s6QfWkWCYiIYYnr1TKQB2RC6to6TmSyiQEbKYjcihDUJD3Ebm8Dz1KwUTY5DzlxIh8qMK/thVyFFINjyuB88I42ZdTnn3ye9IGXT6WRhSOkRARV5PjJMfWMGvG4EyOsfbZwfuDSIf2VcBq5hxnKGSRPA4m9xtgv09ghwAOyz1lO4aOMuV3BhJgv4GqgLOARn0wGiSs34H4DWhsGjI5EhJW5vrmG/mdtX/3cjb/jUu/3Mu3/fd/AQYAFnxtwIzfP80AAAAASUVORK5CYII=')}
|
476 |
+
var In='',Ln=' ',so='%n',wo="'><\/span> <span id='",lo=') no-repeat ',yo='-readonly',Kn=':',qo='GLR1MK0BG',ro='GLR1MK0CG',uo='GLR1MK0JG',to='GLR1MK0KG',ko='__gwtLastUnhandledEvent',io='className',Tn='click',Un='dblclick',Qn='div',Jn='function',go='gesturechange',ho='gestureend',fo='gesturestart',zo='id',Pn='ie9',Vn='keydown',Wn='keypress',Xn='keyup',jo='left',Yn='load',Mn='mousedown',Zn='mousemove',Nn='mouseout',On='mouseover',$n='mouseup',_n='mousewheel',Sn='msie',Rn='opera',no='px',mo='px ',vo='px;',xo='readOnly',eo='touchcancel',co='touchend',bo='touchmove',ao='touchstart',oo='value',po='width';var _;_=E.prototype={};_.eQ=function F(b){return this===b};_.hC=function G(){return this.$H||(this.$H=++U)};_.tM=Gn;_.cM={};_=K.prototype=new E;_.cM={10:1,30:1};_=J.prototype=new K;_.cM={10:1,30:1};_=M.prototype=I.prototype=new J;_.cM={2:1,10:1,30:1};_=O.prototype=H.prototype=new I;_.cM={2:1,10:1,30:1};_.a=null;_=S.prototype=new E;_.cM={};var T=0,U=0;_=eb.prototype=Z.prototype=new S;_.cM={};_.a=null;_.b=null;var $;_=mb.prototype=ib.prototype=new E;_.y=function nb(b){return hb(b)};_.cM={};_=Fb.prototype=new E;_.eQ=function Gb(b){return this===b};_.hC=function Hb(){return this.$H||(this.$H=++U)};_.cM={30:1,31:1,32:1};_=Eb.prototype=new Fb;_.cM={23:1,30:1,31:1,32:1};var Ib,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb;_=Tb.prototype=Sb.prototype=new Eb;_.cM={23:1,30:1,31:1,32:1};_=Vb.prototype=Ub.prototype=new Eb;_.cM={23:1,30:1,31:1,32:1};_=Xb.prototype=Wb.prototype=new Eb;_.cM={23:1,30:1,31:1,32:1};_=Zb.prototype=Yb.prototype=new Eb;_.cM={23:1,30:1,31:1,32:1};_=_b.prototype=$b.prototype=new Eb;_.cM={23:1,30:1,31:1,32:1};_=bc.prototype=ac.prototype=new Eb;_.cM={23:1,30:1,31:1,32:1};_=dc.prototype=cc.prototype=new Eb;_.cM={23:1,30:1,31:1,32:1};_=fc.prototype=ec.prototype=new Eb;_.cM={23:1,30:1,31:1,32:1};_=hc.prototype=gc.prototype=new Eb;_.cM={23:1,30:1,31:1,32:1};var ic,jc=false,kc,lc,mc;_=rc.prototype=qc.prototype=new E;_.x=function sc(){(nc(),jc)&&oc()};_.cM={};var uc;_=Cc.prototype=new E;_.cM={};_.f=null;_=Bc.prototype=new Cc;_.B=function Dc(){this.e=false;this.f=null};_.cM={};_.e=false;_=Ac.prototype=new Bc;_.A=function Gc(){return this.C()};_.cM={};_.a=null;_.b=null;var Ec=null;_=Jc.prototype=new E;_.hC=function Lc(){return this.c};_.cM={};_.c=0;var Kc=0;_=Mc.prototype=Ic.prototype=new Jc;_.cM={};_=Nc.prototype=Hc.prototype=new Ic;_.cM={3:1};_.a=null;_.b=null;_=Oc.prototype=new Ac;_.cM={};_=Qc.prototype=new Oc;_.cM={};_=Uc.prototype=Pc.prototype=new Qc;_.z=function Vc(b){Tc(this,ae(b,4))};_.C=function Wc(){return Rc};_.cM={};var Rc;_=$c.prototype=Xc.prototype=new Qc;_.z=function _c(b){ae(ae(b,5),6).e.g.Z()};_.C=function ad(){return Yc};_.cM={};var Yc;_=ed.prototype=bd.prototype=new Qc;_.z=function fd(b){ae(b,7).D(this)};_.C=function gd(){return cd};_.cM={};var cd;_=id.prototype=hd.prototype=new E;_.cM={};_.a=null;_=ld.prototype=jd.prototype=new Bc;_.z=function md(b){ae(b,8).E(this)};_.A=function od(){return kd};_.cM={};var kd=null;_=sd.prototype=rd.prototype=pd.prototype=new E;_.cM={25:1};_.a=null;_.b=null;_=vd.prototype=new E;_.cM={};_=ud.prototype=new vd;_.F=function Ed(b,c,d){this.b>0?wd(this,new Yi(this,b,d)):Ad(this,b,d)};_.cM={};_.a=null;_.b=0;_.c=false;_=Fd.prototype=td.prototype=new ud;_.F=function Gd(b,c,d){this.b>0?wd(this,new Yi(this,b,d)):Ad(this,b,d)};_.cM={};_=Id.prototype=Hd.prototype=new E;_.cM={};_.a=null;_=Ld.prototype=Kd.prototype=new I;_.cM={2:1,9:1,10:1,30:1};_.a=null;_=Md.prototype=Jd.prototype=new Kd;_.cM={2:1,9:1,10:1,30:1};_=Od.prototype=Nd.prototype=new E;_.cM={18:1};_=Qd.prototype=Pd.prototype=new E;_.cM={};_.aC=null;_.qI=0;var Wd,Xd;var se=null;var xe,ye,ze;_=Ce.prototype=Be.prototype=new E;_.cM={26:1};_=Fe.prototype=Ee.prototype=new E;_.cM={};_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;_=Ge.prototype=new E;_.cM={};_=Je.prototype=He.prototype=new E;_.cM={};var Ie=null;_=Me.prototype=Ke.prototype=new Ge;_.cM={};var Le=null;var Ne=null;_=Se.prototype=Re.prototype=new E;_.cM={};_.a=null;_.b=null;_.c=null;_=Ue.prototype=Te.prototype=new I;_.cM={2:1,10:1,30:1};_=$e.prototype=Ve.prototype=new E;_.cM={};_.c=false;_.e=false;_=af.prototype=new E;_.G=function gf(){this.b||Vm(bf,this);this.H()};_.cM={13:1};_.b=false;_.c=0;var bf;_=hf.prototype=_e.prototype=new af;_.H=function jf(){if(!this.a.c){return}We(this.a)};_.cM={13:1};_.a=null;_=lf.prototype=kf.prototype=new af;_.H=function mf(){this.a.e=false;Xe(this.a,(new Date).getTime())};_.cM={13:1};_.a=null;_=sf.prototype=nf.prototype=new E;_.I=function tf(){return this.c<this.a};_.J=function uf(){return qf(this)};_.K=function vf(){rf(this)};_.cM={};_.a=0;_.b=-1;_.c=0;_.d=null;var wf=null,xf=null;var Df;var Gf=null;_=Mf.prototype=If.prototype=new Bc;_.z=function Nf(b){jk(ae(b,12),this);Kf.c=false};_.A=function Pf(){return Jf};_.B=function Qf(){Lf(this)};_.cM={};_.a=false;_.b=false;_.c=false;_.d=null;var Jf=null,Kf=null;_=Sf.prototype=Rf.prototype=new E;_.E=function Tf(b){while((cf(),bf).b>0){df(ae(Sm(bf,0),13))}};_.cM={8:1,18:1};var Vf=false,Wf=null;_=dg.prototype=ag.prototype=new Bc;_.z=function eg(b){fe(b);null.tb()};_.A=function fg(){return bg};_.cM={};var bg;_=hg.prototype=gg.prototype=new pd;_.cM={25:1};var ig=false;var mg=null,ng=null,og=null,pg=null,qg=null;_=xg.prototype=new E;_.cM={28:1};_.w=null;_=wg.prototype=new xg;_.M=function Mg(){};_.N=function Ng(){};_.O=function Og(){return this.s};_.P=function Pg(){Fg(this)};_.L=function Qg(b){Gg(this,b)};_.Q=function Rg(){Hg(this)};_.R=function Sg(){};_.S=function Tg(){};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.s=false;_.t=0;_.u=null;_.v=null;_=vg.prototype=new wg;_.M=function Ug(){fh(this,(dh(),bh))};_.N=function Vg(){fh(this,(dh(),ch))};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=ug.prototype=new vg;_.U=function Yg(){return new Mi(this.a)};_.T=function Zg(b){return Xg(this,b)};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=tg.prototype=new ug;_.T=function _g(b){var c;c=Xg(this,b);c&&$g(b.w);return c};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=eh.prototype=ah.prototype=new Jd;_.cM={2:1,9:1,10:1,30:1};var bh,ch;_=hh.prototype=gh.prototype=new E;_.V=function ih(b){b.P()};_.cM={};_=kh.prototype=jh.prototype=new E;_.V=function lh(b){b.Q()};_.cM={};_=mh.prototype=new wg;_.O=function oh(){if(this.r){return this.r.s}return false};_.P=function ph(){if(this.t!=-1){Lg(this.r,this.t);this.t=-1}Fg(this.r);this.w.__listener=this;this.R()};_.L=function qh(b){Gg(this,b);Gg(this.r,b)};_.Q=function rh(){try{this.S()}finally{Hg(this.r)}};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.r=null;_=th.prototype=sh.prototype=new ug;_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=uh.prototype=new wg;_.P=function vh(){var b;Fg(this);b=Cb(this.w);-1==b&&(this.w.tabIndex=0,undefined)};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=xh.prototype=wh.prototype=new ug;_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=Ch.prototype=yh.prototype=new wg;_.L=function Dh(b){jg(b.type)==32768&&!!this.a&&(this.w[ko]=In,undefined);Gg(this,b)};_.R=function Eh(){var b;b=tb(this.w,ko);Nk(Yn,b)&&Ff(new Lh(this))};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.a=null;_=Gh.prototype=new E;_.cM={};_=Ih.prototype=Fh.prototype=new Gh;_.cM={};_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;_=Lh.prototype=Jh.prototype=new E;_.x=function Mh(){Kh(this)};_.cM={11:1};_.a=null;_=Sh.prototype=Nh.prototype=new tg;_.cM={14:1,15:1,16:1,17:1,24:1,25:1,27:1,28:1};var Oh,Ph,Qh;_=Xh.prototype=Wh.prototype=new E;_.V=function Yh(b){b.O()&&b.Q()};_.cM={};_=$h.prototype=Zh.prototype=new E;_.E=function _h(b){Uh()};_.cM={8:1,18:1};_=bi.prototype=ai.prototype=new Nh;_.cM={14:1,15:1,16:1,17:1,24:1,25:1,27:1,28:1};_=ei.prototype=new uh;_.W=function ii(){return fi(this)};_.L=function ji(b){var c;c=jg(b.type);(c&896)!=0?Gg(this,b):Gg(this,b)};_.R=function ki(){};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=di.prototype=new ei;_.W=function mi(){var b;return b=fi(this),b==null?In:b};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=ni.prototype=ci.prototype=new di;_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=oi.prototype=new Fb;_.cM={29:1,30:1,31:1,32:1};var pi,qi,ri,si;_=vi.prototype=ui.prototype=new oi;_.cM={29:1,30:1,31:1,32:1};_=xi.prototype=wi.prototype=new oi;_.cM={29:1,30:1,31:1,32:1};_=zi.prototype=yi.prototype=new oi;_.cM={29:1,30:1,31:1,32:1};_=Bi.prototype=Ai.prototype=new oi;_.cM={29:1,30:1,31:1,32:1};_=Ii.prototype=Ci.prototype=new E;_.U=function Ji(){return new Mi(this)};_.cM={};_.a=null;_.b=null;_.c=0;_=Mi.prototype=Ki.prototype=new E;_.I=function Ni(){return this.a<this.b.c-1};_.J=function Oi(){return Li(this)};_.K=function Pi(){if(this.a<0||this.a>=this.b.c){throw new Dk}this.b.b.T(this.b.a[this.a--])};_.cM={};_.a=-1;_.b=null;_=Ti.prototype=Ri.prototype=new E;_.cM={};_.a=null;_.b=null;_.c=null;_.d=null;_=Vi.prototype=Ui.prototype=new E;_.x=function Wi(){yd(this.a,this.c,this.b)};_.cM={21:1};_.a=null;_.b=null;_.c=null;_=Yi.prototype=Xi.prototype=new E;_.x=function Zi(){Ad(this.a,this.c,this.b)};_.cM={21:1};_.a=null;_.b=null;_.c=null;_=cj.prototype=$i.prototype=new E;_.cM={};_.a=null;var dj=null,ej=null,fj=null;_=ij.prototype=gj.prototype=new E;_.cM={};_.a=false;_=pj.prototype=oj.prototype=new E;_.X=function qj(b,c){};_.Y=function rj(){};_.Z=function sj(){};_.$=function tj(){};_._=function uj(){};_.ab=function vj(){};_.cM={};_=yj.prototype=new E;_.bb=function Bj(b){return In+b};_.X=function Cj(b,c){if(this.g){this.i+=b;this.j+=c;Aj(this);this.cb(b,c);zj(this)}};_.cb=function Dj(b,c){};_.Y=function Ej(){this.g=true;Xj(this.k)};_.Z=function Fj(){if(!this.g){$j(this.k);this.g=false}};_.$=function Gj(){this.g||Zj(this.k)};_._=function Hj(){this.g=false;Tj(this.k)?Zj(this.k):$j(this.k);this.db(this.i,this.j)};_.db=function Ij(b,c){};_.ab=function Jj(){zj(this)};_.cM={};_.g=false;_.i=0;_.j=1;_.k=null;_=xj.prototype=new yj;_.bb=function Mj(b){var c,d;c=b*this.b+this.d;d=Kj(this,c);return this.e!=null&&!!this.e.length?Ok(this.e,so,In+d):In+d};_.cb=function Nj(b,c){this.c=false};_.eb=function Oj(b,c){};_.db=function Pj(b,c){var d,e;d=Kj(this,b*this.b+this.d);e=Kj(this,c*this.b+this.d);this.eb(d,e)};_.cM={};_.b=0;_.c=false;_.d=0;_.e=null;_.f=0;_=Qj.prototype=wj.prototype=new xj;_.eb=function Rj(b,c){var d=this.a;d&&typeof d==Jn&&d(b,c)};_.cM={};_.a=null;_=ek.prototype=Sj.prototype=new mh;_.R=function fk(){this.g.ab()};_.S=function gk(){lk(this.f)};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.b=0;_.c=null;_.d=null;_.e=null;_.i=null;_.j=null;_.k=null;_.n=null;_.p=null;_.q=null;_=mk.prototype=hk.prototype=new E;_.D=function nk(b){this.e.g.$()};_.cM={4:1,5:1,6:1,7:1,12:1,18:1};_.a=0;_.b=0;_.c=false;_.d=false;_.e=null;_=pk.prototype=ok.prototype=new E;_.D=function qk(b){kk(this.a)};_.cM={7:1,18:1};_.a=null;_=tk.prototype=rk.prototype=new E;_.cM={};_.a=0;_.b=0;_.c=0;_.d=0;_=vk.prototype=uk.prototype=new I;_.cM={2:1,10:1,30:1};_=xk.prototype=wk.prototype=new E;_.cM={};_=zk.prototype=yk.prototype=new I;_.cM={2:1,10:1,30:1};_=Bk.prototype=Ak.prototype=new I;_.cM={2:1,10:1,30:1};_=Ek.prototype=Dk.prototype=Ck.prototype=new I;_.cM={2:1,10:1,30:1};_=Hk.prototype=Gk.prototype=Fk.prototype=new I;_.cM={2:1,10:1,30:1};_=Kk.prototype=Jk.prototype=Ik.prototype=new I;_.cM={2:1,10:1,30:1};_=Mk.prototype=Lk.prototype=new E;_.cM={30:1,33:1};_=String.prototype;_.eQ=function Sk(b){return Nk(this,b)};_.hC=function Tk(){return Zk(this)};_.cM={1:1,30:1,31:1};var Uk,Vk=0,Wk;_=cl.prototype=_k.prototype=new E;_.cM={};_=el.prototype=dl.prototype=new I;_.cM={2:1,10:1,30:1};_=fl.prototype=new E;_.fb=function hl(b){throw new el('Add not supported on this collection')};_.gb=function il(b){var c;c=gl(this.U(),b);return !!c};_.hb=function jl(){return this.jb()==0};_.ib=function kl(b){var c;c=gl(this.U(),b);if(c){c.K();return true}else{return false}};_.kb=function ll(b){var c,d,e;e=this.jb();b.length<e&&(b=Rd(b,e));d=this.U();for(c=0;c<e;++c){Vd(b,c,d.J())}b.length>e&&Vd(b,e,null);return b};_.cM={};_=nl.prototype=new E;_.eQ=function pl(b){var c,d,e,f,g;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[19])){return false}f=ae(b,19);if(this.d!=f.d){return false}for(d=new Vl((new Nl(f)).a);wm(d.a);){c=d.b=ae(xm(d.a),34);e=c.mb();g=c.W();if(!(e==null?this.c:e!=null&&e.cM&&!!e.cM[1]?Kn+ae(e,1) in this.e:xl(this,e,~~Q(e)))){return false}if(!Fn(g,e==null?this.b:e!=null&&e.cM&&!!e.cM[1]?this.e[Kn+ae(e,1)]:wl(this,e,~~Q(e)))){return false}}return true};_.hC=function ql(){var b,c,d;d=0;for(c=new Vl((new Nl(this)).a);wm(c.a);){b=c.b=ae(xm(c.a),34);d+=b.hC();d=~~d}return d};_.cM={19:1};_=ml.prototype=new nl;_.lb=function Hl(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)};_.cM={19:1};_.a=null;_.b=null;_.c=false;_.d=0;_.e=null;_=Jl.prototype=new fl;_.eQ=function Kl(b){var c,d,e;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[35])){return false}d=ae(b,35);if(d.jb()!=this.jb()){return false}for(c=d.U();c.I();){e=c.J();if(!this.gb(e)){return false}}return true};_.hC=function Ll(){var b,c,d;b=0;for(c=this.U();c.I();){d=c.J();if(d!=null){b+=Q(d);b=~~b}}return b};_.cM={35:1};_=Nl.prototype=Il.prototype=new Jl;_.gb=function Ol(b){return Ml(this,b)};_.U=function Pl(){return new Vl(this.a)};_.ib=function Ql(b){var c;if(Ml(this,b)){c=ae(b,34).mb();Dl(this.a,c);return true}return false};_.jb=function Rl(){return this.a.d};_.cM={35:1};_.a=null;_=Vl.prototype=Sl.prototype=new E;_.I=function Wl(){return wm(this.a)};_.J=function Xl(){return this.b=ae(xm(this.a),34)};_.K=function Yl(){Ul(this)};_.cM={};_.a=null;_.b=null;_.c=null;_=$l.prototype=new E;_.eQ=function _l(b){var c;if(b!=null&&b.cM&&!!b.cM[34]){c=ae(b,34);if(Fn(this.mb(),c.mb())&&Fn(this.W(),c.W())){return true}}return false};_.hC=function am(){var b,c;b=0;c=0;this.mb()!=null&&(b=Q(this.mb()));this.W()!=null&&(c=Q(this.W()));return b^c};_.cM={34:1};_=bm.prototype=Zl.prototype=new $l;_.mb=function cm(){return null};_.W=function dm(){return this.a.b};_.nb=function em(b){return Bl(this.a,b)};_.cM={34:1};_.a=null;_=gm.prototype=fm.prototype=new $l;_.mb=function hm(){return this.a};_.W=function im(){return this.b.e[Kn+this.a]};_.nb=function jm(b){return Cl(this.b,this.a,b)};_.cM={34:1};_.a=null;_.b=null;_=km.prototype=new fl;_.fb=function lm(b){this.ob(this.jb(),b);return true};_.ob=function mm(b,c){throw new el('Add not supported on this list')};_.eQ=function om(b){var c,d,e,f,g;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[20])){return false}g=ae(b,20);if(this.jb()!=g.jb()){return false}e=new zm(this);f=g.U();while(e.b<e.d.jb()){c=xm(e);d=xm(f);if(!(c==null?d==null:P(c,d))){return false}}return true};_.hC=function pm(){var b,c,d;c=1;b=new zm(this);while(b.b<b.d.jb()){d=xm(b);c=31*c+(d==null?0:Q(d));c=~~c}return c};_.U=function rm(){return new zm(this)};_.qb=function sm(){return new Fm(this,0)};_.rb=function tm(b){return new Fm(this,b)};_.sb=function um(b){throw new el('Remove not supported on this list')};_.cM={20:1};_=zm.prototype=vm.prototype=new E;_.I=function Am(){return this.b<this.d.jb()};_.J=function Bm(){return xm(this)};_.K=function Cm(){ym(this)};_.cM={};_.b=0;_.c=-1;_.d=null;_=Fm.prototype=Dm.prototype=new vm;_.cM={};_.a=null;_=Hm.prototype=Gm.prototype=new Jl;_.gb=function Im(b){return ul(this.a,b)};_.U=function Jm(){var b;return b=new Vl(this.b.a),new Mm(b)};_.jb=function Km(){return this.b.a.d};_.cM={35:1};_.a=null;_.b=null;_=Mm.prototype=Lm.prototype=new E;_.I=function Nm(){return wm(this.a.a)};_.J=function Om(){var b;b=Tl(this.a);return b.mb()};_.K=function Pm(){Ul(this.a)};_.cM={};_.a=null;_=Wm.prototype=Qm.prototype=new km;_.fb=function Xm(b){return Vd(this.a,this.b++,b),true};_.ob=function Ym(b,c){(b<0||b>this.b)&&qm(b,this.b);this.a.splice(b,0,c);++this.b};_.gb=function Zm(b){return Tm(this,b,0)!=-1};_.pb=function $m(b){return nm(b,this.b),this.a[b]};_.hb=function _m(){return this.b==0};_.sb=function an(b){return Um(this,b)};_.ib=function bn(b){return Vm(this,b)};_.jb=function cn(){return this.b};_.kb=function dn(b){var c,d,e;b.length<this.b&&(b=(d=b,e=Sd(0,this.b),Ud(d.aC,d.cM,d.qI,e),e));for(c=0;c<this.b;++c){Vd(b,c,this.a[c])}b.length>this.b&&Vd(b,this.b,null);return b};_.cM={20:1,30:1};_.b=0;var en;_=hn.prototype=gn.prototype=new km;_.gb=function jn(b){return false};_.pb=function kn(b){throw new Gk};_.jb=function ln(){return 0};_.cM={20:1,30:1};_=on.prototype=mn.prototype=new ml;_.cM={19:1,30:1};_=rn.prototype=pn.prototype=new Jl;_.fb=function sn(b){var c;return c=zl(this.a,b,this),c==null};_.gb=function tn(b){return ul(this.a,b)};_.hb=function un(){return this.a.d==0};_.U=function vn(){var b;return b=new Vl(ol(this.a).b.a),new Mm(b)};_.ib=function wn(b){return Dl(this.a,b)!=null};_.jb=function xn(){return this.a.d};_.cM={30:1,35:1};_.a=null;_=zn.prototype=yn.prototype=new $l;_.mb=function An(){return this.a};_.W=function Bn(){return this.b};_.nb=function Cn(b){var c;c=this.b;this.b=b;return c};_.cM={34:1};_.a=null;_.b=null;_=En.prototype=Dn.prototype=new I;_.cM={2:1,10:1,30:1};var Hn=X;var ge=new xk,me=new xk,he=new xk,ie=new xk,ke=new xk,je=new xk,ne=new xk,le=new xk;$stats && $stats({moduleName:'de.factfinder.asn.slider.OneTouchSlider',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalEnd'});if (de_factfinder_asn_slider_OneTouchSlider && de_factfinder_asn_slider_OneTouchSlider.onScriptLoad)de_factfinder_asn_slider_OneTouchSlider.onScriptLoad(gwtOnLoad);})();
|
skin/frontend/base/default/js/factfinder_onetouchslider/53ABFAE8983A4589B497F48695DB2A7C.cache.js
ADDED
@@ -0,0 +1,484 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function(){var $gwt_version = "2.3.0";var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var $strongName = '53ABFAE8983A4589B497F48695DB2A7C';var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null;var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;$stats && $stats({moduleName:'de.factfinder.asn.slider.OneTouchSlider',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});function E(){}
|
2 |
+
function K(){}
|
3 |
+
function J(){}
|
4 |
+
function I(){}
|
5 |
+
function H(){}
|
6 |
+
function S(){}
|
7 |
+
function Z(){}
|
8 |
+
function Wn(){}
|
9 |
+
function eb(){}
|
10 |
+
function nb(){}
|
11 |
+
function jb(){}
|
12 |
+
function sb(){}
|
13 |
+
function zb(){}
|
14 |
+
function rb(){}
|
15 |
+
function Eb(){}
|
16 |
+
function Gb(){}
|
17 |
+
function Fb(){}
|
18 |
+
function Ub(){}
|
19 |
+
function Tb(){}
|
20 |
+
function gc(){}
|
21 |
+
function fc(){}
|
22 |
+
function ic(){}
|
23 |
+
function hc(){}
|
24 |
+
function kc(){}
|
25 |
+
function jc(){}
|
26 |
+
function mc(){}
|
27 |
+
function lc(){}
|
28 |
+
function oc(){}
|
29 |
+
function nc(){}
|
30 |
+
function qc(){}
|
31 |
+
function pc(){}
|
32 |
+
function sc(){}
|
33 |
+
function rc(){}
|
34 |
+
function uc(){}
|
35 |
+
function tc(){}
|
36 |
+
function wc(){}
|
37 |
+
function vc(){}
|
38 |
+
function Gc(){}
|
39 |
+
function Fc(){}
|
40 |
+
function Pc(){}
|
41 |
+
function Ic(){}
|
42 |
+
function Sc(){}
|
43 |
+
function Rc(){}
|
44 |
+
function Qc(){}
|
45 |
+
function Zc(){}
|
46 |
+
function Yc(){}
|
47 |
+
function Xc(){}
|
48 |
+
function cd(){}
|
49 |
+
function ed(){}
|
50 |
+
function id(){}
|
51 |
+
function dd(){}
|
52 |
+
function od(){}
|
53 |
+
function ld(){}
|
54 |
+
function ud(){}
|
55 |
+
function rd(){}
|
56 |
+
function xd(){}
|
57 |
+
function Bd(){}
|
58 |
+
function zd(){}
|
59 |
+
function Fd(){}
|
60 |
+
function Ld(){}
|
61 |
+
function Kd(){}
|
62 |
+
function Jd(){}
|
63 |
+
function Xd(){}
|
64 |
+
function $d(){}
|
65 |
+
function Zd(){}
|
66 |
+
function ce(){}
|
67 |
+
function be(){}
|
68 |
+
function ee(){}
|
69 |
+
function de(){}
|
70 |
+
function Re(){}
|
71 |
+
function Qe(){}
|
72 |
+
function Te(){}
|
73 |
+
function Ve(){}
|
74 |
+
function Ye(){}
|
75 |
+
function We(){}
|
76 |
+
function _e(){}
|
77 |
+
function Ze(){}
|
78 |
+
function ef(){}
|
79 |
+
function gf(){}
|
80 |
+
function jf(){}
|
81 |
+
function qf(){}
|
82 |
+
function pf(){}
|
83 |
+
function zf(){}
|
84 |
+
function Cf(){}
|
85 |
+
function _f(){}
|
86 |
+
function Xf(){}
|
87 |
+
function fg(){}
|
88 |
+
function eg(){}
|
89 |
+
function og(){}
|
90 |
+
function ug(){}
|
91 |
+
function Mg(){}
|
92 |
+
function Lg(){}
|
93 |
+
function Kg(){}
|
94 |
+
function Jg(){}
|
95 |
+
function Ig(){}
|
96 |
+
function ph(){}
|
97 |
+
function wh(){}
|
98 |
+
function vh(){}
|
99 |
+
function zh(){}
|
100 |
+
function yh(){}
|
101 |
+
function Bh(){}
|
102 |
+
function Hh(){}
|
103 |
+
function Jh(){}
|
104 |
+
function Lh(){}
|
105 |
+
function Nh(){}
|
106 |
+
function Vh(){}
|
107 |
+
function Uh(){}
|
108 |
+
function Yh(){}
|
109 |
+
function ai(){}
|
110 |
+
function ki(){}
|
111 |
+
function ji(){}
|
112 |
+
function ni(){}
|
113 |
+
function mi(){}
|
114 |
+
function pi(){}
|
115 |
+
function ti(){}
|
116 |
+
function si(){}
|
117 |
+
function ri(){}
|
118 |
+
function Di(){}
|
119 |
+
function Ki(){}
|
120 |
+
function Ji(){}
|
121 |
+
function Mi(){}
|
122 |
+
function Li(){}
|
123 |
+
function Oi(){}
|
124 |
+
function Ni(){}
|
125 |
+
function Qi(){}
|
126 |
+
function Pi(){}
|
127 |
+
function Ri(){}
|
128 |
+
function Zi(){}
|
129 |
+
function ej(){}
|
130 |
+
function hj(){}
|
131 |
+
function kj(){}
|
132 |
+
function nj(){}
|
133 |
+
function xj(){}
|
134 |
+
function vj(){}
|
135 |
+
function Ej(){}
|
136 |
+
function Dj(){}
|
137 |
+
function Nj(){}
|
138 |
+
function Mj(){}
|
139 |
+
function Lj(){}
|
140 |
+
function Lk(){}
|
141 |
+
function fk(){}
|
142 |
+
function wk(){}
|
143 |
+
function Dk(){}
|
144 |
+
function Gk(){}
|
145 |
+
function Jk(){}
|
146 |
+
function Mk(){}
|
147 |
+
function Nk(){}
|
148 |
+
function Pk(){}
|
149 |
+
function Rk(){}
|
150 |
+
function Uk(){}
|
151 |
+
function Xk(){}
|
152 |
+
function $k(){}
|
153 |
+
function pl(){}
|
154 |
+
function tl(){}
|
155 |
+
function vl(){}
|
156 |
+
function Dl(){}
|
157 |
+
function Cl(){}
|
158 |
+
function Zl(){}
|
159 |
+
function Yl(){}
|
160 |
+
function gm(){}
|
161 |
+
function om(){}
|
162 |
+
function nm(){}
|
163 |
+
function vm(){}
|
164 |
+
function Am(){}
|
165 |
+
function Lm(){}
|
166 |
+
function Tm(){}
|
167 |
+
function Wm(){}
|
168 |
+
function _m(){}
|
169 |
+
function en(){}
|
170 |
+
function yn(){}
|
171 |
+
function xn(){}
|
172 |
+
function Cn(){}
|
173 |
+
function Fn(){}
|
174 |
+
function On(){}
|
175 |
+
function Tn(){}
|
176 |
+
function _k(b){}
|
177 |
+
function M(b){lb()}
|
178 |
+
function N(){lb()}
|
179 |
+
function hf(){lb()}
|
180 |
+
function Kk(){lb()}
|
181 |
+
function Ok(){lb()}
|
182 |
+
function Sk(){lb()}
|
183 |
+
function Vk(){lb()}
|
184 |
+
function Yk(){lb()}
|
185 |
+
function Un(){lb()}
|
186 |
+
function Qk(b){lb()}
|
187 |
+
function Tk(b){lb()}
|
188 |
+
function Wk(b){lb()}
|
189 |
+
function Zk(b){lb()}
|
190 |
+
function ul(b){lb()}
|
191 |
+
function rg(){qg()}
|
192 |
+
function En(){Jl(this)}
|
193 |
+
function Ek(b){this.b=b}
|
194 |
+
function Yd(b){this.b=b}
|
195 |
+
function $h(b){this.b=b}
|
196 |
+
function bm(b){this.b=b}
|
197 |
+
function rm(b){this.b=b}
|
198 |
+
function Pm(b){this.e=b}
|
199 |
+
function Hf(b){this.e=b}
|
200 |
+
function _i(b){this.c=b}
|
201 |
+
function Bk(b){this.f=b}
|
202 |
+
function an(b){this.b=b}
|
203 |
+
function yd(){this.b={}}
|
204 |
+
function ad(){this.d=++$c}
|
205 |
+
function sl(){this.b=new Gb}
|
206 |
+
function Hn(){this.b=new En}
|
207 |
+
function Oh(){Oh=Wn;new En}
|
208 |
+
function ab(){ab=Wn;$=new eb}
|
209 |
+
function Kc(){Kc=Wn;Jc=new Pc}
|
210 |
+
function Tf(){Tf=Wn;Sf=new of}
|
211 |
+
function qg(){qg=Wn;pg=new ad}
|
212 |
+
function yj(){yj=Wn;sj=new xj}
|
213 |
+
function wn(){wn=Wn;vn=new yn}
|
214 |
+
function Ai(){Ai=Wn;Ii()}
|
215 |
+
function Si(b,c){Ui(b,c,b.d)}
|
216 |
+
function Rf(b,c){yg();Gg(b,c)}
|
217 |
+
function Og(b,c){b.x=c}
|
218 |
+
function Pg(b,c){Rg(b.x,c,true)}
|
219 |
+
function nf(b,c){fn(b.c,c);mf(b)}
|
220 |
+
function Qf(b){Mf=b;yg();Ag=b}
|
221 |
+
function xf(b){sf();this.b=b}
|
222 |
+
function Af(b){sf();this.b=b}
|
223 |
+
function Ef(b){return b.d<b.b}
|
224 |
+
function Le(b){return b.l|b.m<<22}
|
225 |
+
function fj(b){b.b.J(b.e,b.d,b.c)}
|
226 |
+
function Tg(b,c){!!b.v&&Gd(b.v,c)}
|
227 |
+
function ae(b){_d.call(this,b)}
|
228 |
+
function th(b){_d.call(this,b)}
|
229 |
+
function R(c,b){c[c.length]=b}
|
230 |
+
function wm(b,c){this.c=b;this.b=c}
|
231 |
+
function Xm(b,c){this.b=b;this.c=c}
|
232 |
+
function Pn(b,c){this.b=b;this.c=c}
|
233 |
+
function wi(b){this.x=b;new ce}
|
234 |
+
function ql(b,c){b.b.b+=c;return b}
|
235 |
+
function rl(b,c){b.b.b+=c;return b}
|
236 |
+
function Ol(c,b){return ao+b in c.f}
|
237 |
+
function Mm(b){return b.c<b.e.nb()}
|
238 |
+
function Df(b){return gn(b.e.c,b.c)}
|
239 |
+
function pe(b,c){return b.cM&&b.cM[c]}
|
240 |
+
function Dm(b,c){(b<0||b>=c)&&Gm(b,c)}
|
241 |
+
function oj(b){Jb(b.b,Oo);Jb(b.b,Po)}
|
242 |
+
function pj(b){Jb(b.b,Oo);Hb(b.b,Po)}
|
243 |
+
function qj(b){Hb(b.b,Oo);Jb(b.b,Po)}
|
244 |
+
function zk(b){!b.f.f&&(b.f.f=Wf(b))}
|
245 |
+
function db(b,c){b.c=fb(b.c,[c,false])}
|
246 |
+
function ll(){ll=Wn;il={};kl={}}
|
247 |
+
function mg(){if(!ig){Hg();ig=true}}
|
248 |
+
function yg(){if(!wg){Fg();wg=true}}
|
249 |
+
function rj(){yj();this.b=$doc.body}
|
250 |
+
function Vd(b){this.e=new En;this.d=b}
|
251 |
+
function Id(b,c){this.b=new Vd(c);this.c=b}
|
252 |
+
function td(){td=Wn;sd=new bd(lo,new ud)}
|
253 |
+
function gd(){gd=Wn;fd=new bd(jo,new id)}
|
254 |
+
function nd(){nd=Wn;md=new bd(ko,new od)}
|
255 |
+
function sf(){sf=Wn;rf=new ln;kg(new fg)}
|
256 |
+
function sh(){sh=Wn;qh=new wh;rh=new zh}
|
257 |
+
function ln(){this.b=he(Ae,{30:1},0,0,0)}
|
258 |
+
function O(b){lb();this.b=b;kb(new zb,this)}
|
259 |
+
function Hd(b){this.b=new Vd(false);this.c=b}
|
260 |
+
function df(b){b.parentNode.removeChild(b)}
|
261 |
+
function hm(b){return b.c=qe(Nm(b.b),34)}
|
262 |
+
function V(b,c,d){return b.apply(c,d);var e}
|
263 |
+
function pk(b,c,d){lk(b,c,b.d);lk(b,d,b.j)}
|
264 |
+
function gn(b,c){Dm(c,b.c);return b.b[c]}
|
265 |
+
function fn(b,c){je(b.b,b.c++,c);return true}
|
266 |
+
function Ph(b,c){Qh(b,c.e,c.c,c.d,c.f,c.b)}
|
267 |
+
function Qh(b,c,d,e,f,g){Wh(b.b,b,c,d,e,f,g)}
|
268 |
+
function Od(b,c,d){var e;e=Rd(b,c);e.jb(d)}
|
269 |
+
function ff(b,c,d){this.c=b;this.d=c;this.b=d}
|
270 |
+
function ij(b,c,d){this.b=b;this.d=c;this.c=d}
|
271 |
+
function lj(b,c,d){this.b=b;this.d=c;this.c=d}
|
272 |
+
function vg(){this.b=new Vd(false);this.c=null}
|
273 |
+
function qi(){fi.call(this,(ei(),$doc.body))}
|
274 |
+
function Dd(b){var c;if(Ad){c=new Bd;Gd(b,c)}}
|
275 |
+
function Md(b,c){!b.b&&(b.b=new ln);fn(b.b,c)}
|
276 |
+
function vi(b,c){b.$();b.x[Mo]=c!=null?c:Yn}
|
277 |
+
function fb(b,c){!b&&(b=[]);b[b.length]=c;return b}
|
278 |
+
function mb(){try{null.a()}catch(b){return b}}
|
279 |
+
function ve(b){if(b!=null){throw new Ok}return null}
|
280 |
+
function Ak(b){if(b.f.f){fj(b.f.f.b);b.f.f=null}}
|
281 |
+
function ol(){if(jl==256){il=kl;kl={};jl=0}++jl}
|
282 |
+
function Cc(){Cc=Wn;zc=[];Ac=[];Bc=[];xc=new Gc}
|
283 |
+
function me(){me=Wn;ke=[];le=[];ne(new ee,ke,le)}
|
284 |
+
function ei(){ei=Wn;bi=new ki;ci=new En;di=new Hn}
|
285 |
+
function El(b){var c;c=new bm(b);return new Xm(b,c)}
|
286 |
+
function Gn(b,c){var d;d=Pl(b.b,c,b);return d==null}
|
287 |
+
function ib(b,c){b.length>=c&&b.splice(0,c);return b}
|
288 |
+
function cl(c,b){return c.substr(b,c.length-b)}
|
289 |
+
function Ib(c,b){return c[b]==null?null:String(c[b])}
|
290 |
+
function se(b,c){return b!=null&&b.cM&&!!b.cM[c]}
|
291 |
+
function zg(b){return !te(b)&&b!=null&&b.cM&&!!b.cM[14]}
|
292 |
+
function gk(b){return Hk(new Ik(b.s.x),b.g.b,b.g.c)}
|
293 |
+
function Ge(b,c,d){return a=new Re,a.l=b,a.m=c,a.h=d,a}
|
294 |
+
function kg(b){mg();return lg(Ad?Ad:(Ad=new ad),b)}
|
295 |
+
function bl(d,b,c){c=el(c);return d.replace(RegExp(b),c)}
|
296 |
+
function Ec(){Cc();if(!yc){yc=true;db((ab(),$),xc)}}
|
297 |
+
function gi(b){ei();try{b.U()}finally{Tl(di.b,b)!=null}}
|
298 |
+
function hi(){ei();try{uh(di,bi)}finally{Jl(di.b);Jl(ci)}}
|
299 |
+
function fi(b){this.b=new Xi(this);this.x=b;Ug(this)}
|
300 |
+
function gj(b,c,d){this.b=b;this.e=c;this.d=null;this.c=d}
|
301 |
+
function Ue(b){this.c=0;this.d=0;this.b=59;this.f=58;this.e=b}
|
302 |
+
function Xi(b){this.c=b;this.b=he(ze,{30:1},15,4,0)}
|
303 |
+
function Jl(b){b.b=[];b.f={};b.d=false;b.c=null;b.e=0}
|
304 |
+
function mf(b){if(b.c.c!=0&&!b.f&&!b.d){b.f=true;uf(b.e,1)}}
|
305 |
+
function te(b){return b!=null&&b.tM!=Wn&&!(b.cM&&!!b.cM[1])}
|
306 |
+
function ok(b,c,d){vi(b.e,c!=null?c:Yn);vi(b.k,d!=null?d:Yn)}
|
307 |
+
function jh(b,c,d){Xg(c);Si(b.b,c);d.appendChild(c.x);Zg(c,b)}
|
308 |
+
function Nc(b,c){var d;d=Lc(c);Mc(b).appendChild(d);return d}
|
309 |
+
function Wi(b,c){var d;d=Ti(b,c);if(d==-1){throw new Un}Vi(b,d)}
|
310 |
+
function $i(b){if(b.b>=b.c.d){throw new Un}return b.c.b[++b.b]}
|
311 |
+
function Um(b){if(b.c<=0){throw new Un}return b.b.tb(b.d=--b.c)}
|
312 |
+
function Om(b){if(b.d<0){throw new Sk}b.e.wb(b.d);b.c=b.d;b.d=-1}
|
313 |
+
function Gm(b,c){throw new Wk('Index: '+b+', Size: '+c)}
|
314 |
+
function lg(b,c){return new Yd(Nd((!jg&&(jg=new vg),jg).b,b,c))}
|
315 |
+
function vf(b,c){return $wnd.setTimeout(Xn(function(){b.K()}),c)}
|
316 |
+
function Ob(b){return typeof b.tabIndex!='undefined'?b.tabIndex:-1}
|
317 |
+
function nh(b){b.style[Ho]=Yn;b.style['top']=Yn;b.style[eo]=Yn}
|
318 |
+
function Ih(){this.b=new Xi(this);this.x=$doc.createElement(no)}
|
319 |
+
function W(){if(T++==0){bb((ab(),$));return true}return false}
|
320 |
+
function Rl(b,c){var d;d=b.c;b.c=c;if(!b.d){b.d=true;++b.e}return d}
|
321 |
+
function Vl(b){var c;c=b.c;b.c=null;if(b.d){b.d=false;--b.e}return c}
|
322 |
+
function fe(b,c){var d,e;d=b;e=ge(0,c);ie(d.aC,d.cM,d.qI,e);return e}
|
323 |
+
function ie(b,c,d,e){me();oe(e,ke,le);e.aC=b;e.cM=c;e.qI=d;return e}
|
324 |
+
function oe(b,c,d){me();for(var e=0,f=c.length;e<f;++e){b[c[e]]=d[e]}}
|
325 |
+
function Pf(b){!!Mf&&b==Mf&&(Mf=null);yg();b===Ag&&(Ag=null)}
|
326 |
+
function $f(b){b.f=false;b.g=null;b.b=false;b.c=false;b.d=true;b.e=null}
|
327 |
+
function Gf(b){jn(b.e.c,b.c);--b.b;b.c<=b.d&&--b.d<0&&(b.d=0);b.c=-1}
|
328 |
+
function Nm(b){if(b.c>=b.e.nb()){throw new Un}return b.e.tb(b.d=b.c++)}
|
329 |
+
function qe(b,c){if(b!=null&&!(b.cM&&b.cM[c])){throw new Ok}return b}
|
330 |
+
function Ee(b){if(b!=null&&b.cM&&!!b.cM[10]){return b}return new O(b)}
|
331 |
+
function hn(b,c,d){for(;d<b.c;++d){if(Vn(c,b.b[d])){return d}}return -1}
|
332 |
+
function Ff(b){var c;b.c=b.d;c=gn(b.e.c,b.d++);b.d>=b.b&&(b.d=0);return c}
|
333 |
+
function Mb(b){var c=b.parentNode;(!c||c.nodeType!=1)&&(c=null);return c}
|
334 |
+
function ui(b){var c,d;d=Ib(b.x,Mo);c=d;if(al(Yn,d)){return null}return c}
|
335 |
+
function ng(){var b;if(ig){b=new rg;!!jg&&Gd(jg,b);return null}return null}
|
336 |
+
function Uf(b){Tf();if(!b){throw new Zk('cmd cannot be null')}nf(Sf,b)}
|
337 |
+
function $g(b,c){b.u==-1?Rf(b.x,c|(b.x.__eventBits||0)):(b.u|=c)}
|
338 |
+
function hk(b,c){var d,e;e=b.c>0?b.c:b.o.offsetWidth||0;d=c/e;b.i._(d,0)}
|
339 |
+
function ik(b,c){var d,e;e=b.c>0?b.c:b.o.offsetWidth||0;d=c/e;b.i._(0,d)}
|
340 |
+
function jn(b,c){var d;d=(Dm(c,b.c),b.b[c]);b.b.splice(c,1);--b.c;return d}
|
341 |
+
function Sl(f,b,c){var d,e=f.f;b=ao+b;b in e?(d=e[b]):++f.e;e[b]=c;return d}
|
342 |
+
function Oc(b,c){var d;d=Lc(c);Mc(b).insertBefore(d,b.b.firstChild);return d}
|
343 |
+
function Ti(b,c){var d;for(d=0;d<b.d;++d){if(b.b[d]==c){return d}}return -1}
|
344 |
+
function kn(b,c){var d;d=hn(b,c,0);if(d==-1){return false}jn(b,d);return true}
|
345 |
+
function Sb(b){!b.gwt_uid&&(b.gwt_uid=1);return 'gwt-uid-'+b.gwt_uid++}
|
346 |
+
function ue(b){return ~~Math.max(Math.min(b,2147483647),-2147483648)}
|
347 |
+
function dk(b,c,d,e,f,g,h,i){$j.call(this,b,c,d,e,f,g,h);this.b=i}
|
348 |
+
function Vm(b,c){var d;this.b=b;this.e=b;d=b.nb();(c<0||c>d)&&Gm(c,d);this.c=c}
|
349 |
+
function bd(b,c){this.d=++$c;this.b=c;!Uc&&(Uc=new yd);Uc.b[b]=this;this.c=b}
|
350 |
+
function P(b,c){var d;return d=b,d.tM==Wn||d.cM&&!!d.cM[1]?d.eQ(c):d===c}
|
351 |
+
function Q(b){var c;return c=b,c.tM==Wn||c.cM&&!!c.cM[1]?c.hC():c.$H||(c.$H=++U)}
|
352 |
+
function re(b){if(b!=null&&(b.tM==Wn||b.cM&&!!b.cM[1])){throw new Ok}return b}
|
353 |
+
function al(b,c){if(!(c!=null&&c.cM&&!!c.cM[1])){return false}return String(b)==c}
|
354 |
+
function Dn(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)}
|
355 |
+
function Vn(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)}
|
356 |
+
function Pj(b){b.k>1&&(b.k=1);b.j<0&&(b.j=0);b.j>1&&(b.j=1);b.j>b.k&&(b.k=b.j)}
|
357 |
+
function Nf(b,c,d){var e;e=Lf;Lf=b;c==Mf&&xg(b.type)==8192&&(Mf=null);d.P(b);Lf=e}
|
358 |
+
function ne(b,c,d){var e=0,f;for(var g in b){if(f=b[g]){c[e]=g;d[e]=f;++e}}}
|
359 |
+
function Y(b,c,d){var e;e=W();try{return V(b,c,d)}finally{e&&cb((ab(),$));--T}}
|
360 |
+
function X(c){return function(){try{return Y(c,this,arguments)}catch(b){throw b}}}
|
361 |
+
function cb(b){var c,d;if(b.c){d=null;do{c=b.c;b.c=null;d=gb(c,d)}while(b.c);b.c=d}}
|
362 |
+
function bb(b){var c,d;if(b.b){d=null;do{c=b.b;b.b=null;d=gb(c,d)}while(b.b);b.b=d}}
|
363 |
+
function bf(b){var c,d;cf();c=Mb(b);d=Lb(b);af.appendChild(b);return new ff(c,d,b)}
|
364 |
+
function Wl(e,b){var c,d=e.f;b=ao+b;if(b in d){c=d[b];--e.e;delete d[b]}return c}
|
365 |
+
function Kb(b){var c=b.firstChild;while(c&&c.nodeType!=1)c=c.nextSibling;return c}
|
366 |
+
function Lb(b){var c=b.nextSibling;while(c&&c.nodeType!=1)c=c.nextSibling;return c}
|
367 |
+
function xb(b){var c;c=ib(yb(b,mb()),3);c.length==0&&(c=ib((new nb).z(),1));return c}
|
368 |
+
function Mc(b){var c;if(!b.b){c=$doc.getElementsByTagName('head')[0];b.b=c}return b.b}
|
369 |
+
function he(b,c,d,e,f){var g;g=ge(f,e);me();oe(g,ke,le);g.aC=b;g.cM=c;g.qI=d;return g}
|
370 |
+
function lk(b,c,d){var e;e=c*(b.c>0?b.c:b.o.offsetWidth||0);d.style[Ho]=e+(ec(),Lo)}
|
371 |
+
function jk(b,c,d){var e,f,g;g=b.c>0?b.c:b.o.offsetWidth||0;e=c/g;f=(c+d*2)/g;b.i._(e,f)}
|
372 |
+
function Sg(b,c,d){$g(b,xg(d.c));return new Yd(Nd((!b.v?(b.v=new Hd(b)):b.v).b,d,c))}
|
373 |
+
function kk(b){Qf(b.x);pj(b.b);Rg(b.r.x,Ro,false);Rg(b.r.x,So,true);Ph(b.q,(Aj(),uj))}
|
374 |
+
function mk(b){Pf(b.x);qj(b.b);Rg(b.r.x,So,false);Rg(b.r.x,Ro,true);Ph(b.q,(Aj(),uj))}
|
375 |
+
function Rh(b){Oh();this.b=new Xh(this,b.e,b.c,b.d,b.f,b.b);this.x[Go]='gwt-Image'}
|
376 |
+
function Mh(b){this.b=new Xi(this);this.x=$doc.createElement(no);this.x.innerHTML=b||Yn}
|
377 |
+
function of(){this.b=new xf(this);this.c=new ln;this.e=new Af(this);this.g=new Hf(this)}
|
378 |
+
function jm(b){var c;this.d=b;c=new ln;b.d&&fn(c,new rm(b));Il(b,c);Hl(b,c);this.b=new Pm(c)}
|
379 |
+
function Ng(b,c){var d=b.parentNode;if(!d){return}d.insertBefore(c,b);d.removeChild(b)}
|
380 |
+
function Of(b){var c;c=bg(Vf,b);if(!c&&!!b){b.cancelBubble=true;b.preventDefault()}return c}
|
381 |
+
function wl(b,c){var d;while(b.M()){d=b.N();if(c==null?d==null:P(c,d)){return b}}return null}
|
382 |
+
function Kl(b,c){return c==null?b.d:c!=null&&c.cM&&!!c.cM[1]?Ol(b,qe(c,1)):Nl(b,c,~~Q(c))}
|
383 |
+
function Tl(b,c){return c==null?Vl(b):c!=null&&c.cM&&!!c.cM[1]?Wl(b,qe(c,1)):Ul(b,c,~~Q(c))}
|
384 |
+
function Pl(b,c,d){return c==null?Rl(b,d):c!=null&&c.cM&&!!c.cM[1]?Sl(b,qe(c,1),d):Ql(b,c,d,~~Q(c))}
|
385 |
+
function Ll(b,c){return c==null?b.c:c!=null&&c.cM&&!!c.cM[1]?b.f[ao+qe(c,1)]:Ml(b,c,~~Q(c))}
|
386 |
+
function kf(b){var c;c=Df(b.g);Gf(b.g);c!=null&&c.cM&&!!c.cM[11]&&new hf(qe(c,11));b.d=false;mf(b)}
|
387 |
+
function nk(b){Ak(b.g);Pf(b.x);oj(b.b);Rg(b.r.x,Ro,false);Rg(b.r.x,So,false);Ph(b.q,(zj(),tj))}
|
388 |
+
function _d(b){N.call(this,b.nb()==0?null:qe(b.ob(he(Ce,{22:1,30:1},10,0,0)),22)[0]);this.b=b}
|
389 |
+
function Ii(){Ii=Wn;Ei=new Ki;Fi=new Mi;Gi=new Oi;Hi=new Qi;ie(ye,{30:1},29,[Ei,Fi,Gi,Hi])}
|
390 |
+
function Wf(b){yg();!Yf&&(Yf=new ad);if(!Vf){Vf=new Id(null,true);Zf=new _f}return new Yd(Nd(Vf.b,Yf,b))}
|
391 |
+
function tf(b){b.c?($wnd.clearInterval(b.d),undefined):($wnd.clearTimeout(b.d),undefined);kn(rf,b)}
|
392 |
+
function Yg(b,c){b.t&&(b.x.__listener=null,undefined);!!b.x&&Ng(b.x,c);b.x=c;b.t&&(b.x.__listener=b,undefined)}
|
393 |
+
function yb(b,c){var d;d=tb(b,c);return d.length==0?(new nb).B(c):(d.length>=1&&d.splice(0,1),d)}
|
394 |
+
function Pb(b,c){while(c){if(b==c){return true}c=c.parentNode;c&&c.nodeType!=1&&(c=null)}return false}
|
395 |
+
function Lc(b){var c;c=$doc.createElement(io);c['language']='text/css';c.textContent=b||Yn;return c}
|
396 |
+
function cf(){if(!af){af=$doc.createElement(no);af.style.display='none';(ei(),$doc.body).appendChild(af)}}
|
397 |
+
function Zh(b){var c,d;c=(d=$doc.createEvent('HTMLEvents'),d.initEvent(vo,false,false),d);b.b.x.dispatchEvent(c)}
|
398 |
+
function Td(b){var c,d;if(b.b){try{for(d=new Pm(b.b);d.c<d.e.nb();){c=qe(Nm(d),21);c.y()}}finally{b.b=null}}}
|
399 |
+
function Vi(b,c){var d;if(c<0||c>=b.d){throw new Vk}--b.d;for(d=c;d<b.d;++d){je(b.b,d,b.b[d+1])}je(b.b,b.d,null)}
|
400 |
+
function Vg(b,c){var d;switch(xg(c.type)){case 16:case 32:d=c.relatedTarget;if(!!d&&Pb(b.x,d)){return}}Vc(c,b,b.x)}
|
401 |
+
function qk(b,c,d){var e;e=b.c>0?b.c:b.o.offsetWidth||0;b.n.style[Ho]=c*e+(ec(),Lo);b.n.style[No]=(d-c)*e+Lo}
|
402 |
+
function rk(b,c,d){var e,f;f=~~(b.q.b.f/2);e=c+(d-c)/2;b.q.x.style[Ho]=e*(b.c>0?b.c:b.o.offsetWidth||0)-f+(ec(),Lo)}
|
403 |
+
function Il(f,b){var c=f.f;for(var d in c){if(d.charCodeAt(0)==58){var e=new wm(f,d.substring(1));b.jb(e)}}}
|
404 |
+
function nl(b){ll();var c=ao+b;var d=kl[c];if(d!=null){return d}d=il[c];d==null&&(d=ml(b));ol();return kl[c]=d}
|
405 |
+
function Rd(b,c){var d,e;e=qe(Ll(b.e,c),19);if(!e){e=new En;Pl(b.e,c,e)}d=qe(e.c,20);if(!d){d=new ln;Rl(e,d)}return d}
|
406 |
+
function tb(b,c){var d,e,f;f=c&&c.stack?c.stack.split('\n'):[];for(d=0,e=f.length;d<e;++d){f[d]=b.A(f[d])}return f}
|
407 |
+
function L(b){var c,d,e;d=he(Be,{30:1},33,b.length,0);for(e=0,c=b.length;e<c;++e){if(!b[e]){throw new Yk}d[e]=b[e]}}
|
408 |
+
function lb(){var b,c,d,e;d=xb(new zb);e=he(Be,{30:1},33,d.length,0);for(b=0,c=e.length;b<c;++b){e[b]=new _k(d[b])}L(e)}
|
409 |
+
function Fe(b){var c,d,e;c=b&4194303;d=~~b>>22&4194303;e=b<0?1048575:0;return a=new Re,a.l=c,a.m=d,a.h=e,a}
|
410 |
+
function gwtOnLoad(c,d,e,f){$moduleName=d;$moduleBase=e;if(c)try{Xn(De)()}catch(b){c(d)}else{Xn(De)()}}
|
411 |
+
function xk(b){Sg(b.f,b,(gd(),gd(),fd));Sg(b.f,b,(td(),td(),sd));Sg(b.f,b,(nd(),nd(),md));Sg(b.f,new Ek(b),sd)}
|
412 |
+
function Oj(b){var c,d;c=b.fb(b.j);d=b.fb(b.k);ok(b.n,c,d);pk(b.n,b.j,b.k);qk(b.n,b.j,b.k);rk(b.n,b.j,b.k);sk(b.n,b.j,b.k)}
|
413 |
+
function Qd(b,c,d){var e,f,g;e=Sd(b,c);f=e.mb(d);f&&e.lb()&&(g=qe(Ll(b.e,c),19),qe(Vl(g),20),g.e==0&&Tl(b.e,c),undefined)}
|
414 |
+
function Sd(b,c){var d,e;e=qe(Ll(b.e,c),19);if(!e){return wn(),wn(),vn}d=qe(e.c,20);if(!d){return wn(),wn(),vn}return d}
|
415 |
+
function Qg(b){var c,d;c=b[Go]==null?null:String(b[Go]);d=c.indexOf(gl(32));if(d>=0){return c.substr(0,d-0)}return c}
|
416 |
+
function kh(b,c){var d;if(c.w!=b){return false}try{Zg(c,null)}finally{d=c.x;Mb(d).removeChild(d);Wi(b.b,c)}return true}
|
417 |
+
function Hk(b,c,d){var e,f;f=b.c;e=b.b;if(f<0||e<0){return false}if(c<b.d||d<b.e){return false}f+=b.d;e+=b.e;return f>c&&e>d}
|
418 |
+
function Vc(b,c,d){var e,f,g;if(Uc){g=qe(Uc.b[b.type],3);if(g){e=g.b.b;f=g.b.c;g.b.b=b;g.b.c=d;Tg(c,g.b);g.b.b=e;g.b.c=f}}}
|
419 |
+
function Cj(b,c,d,e,f,g,h,i,j){var k,l,m;k=ii(b);if(k){m=new tk;m.c=i;l=new dk(c,d,e,f,g,h,m,j);m.i=l;jh(k,m,k.x)}}
|
420 |
+
function Ch(b,c){if(b.s){throw new Tk('Composite.initWidget() may only be called once.')}Xg(c);Og(b,c.x);b.s=c;Zg(c,b)}
|
421 |
+
function im(b){if(!b.c){throw new Tk('Must call next() before remove().')}else{Om(b.b);Tl(b.d,b.c.qb());b.c=null}}
|
422 |
+
function hd(b,c){c.b=b.b.clientX||0;c.c=b.b.clientY||0;c.d=Hk(new Ik(c.f.d),c.b,c.c);c.e=Hk(new Ik(c.f.j),c.b,c.c);c.f.i.ab()}
|
423 |
+
function dj(b,c,d,e,f,g){var h;h='url('+c+Jo+-d+Ko+-e+Lo;b.style['background']=h;b.style[No]=f+(ec(),Lo);b.style['height']=g+Lo}
|
424 |
+
function Hl(i,b){var c=i.b;for(var d in c){var e=parseInt(d,10);if(d==e){var f=c[e];for(var g=0,h=f.length;g<h;++g){b.jb(f[g])}}}}
|
425 |
+
function Ml(i,b,c){var d=i.b[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.qb();if(i.pb(b,h)){return g.$()}}}return null}
|
426 |
+
function Nl(i,b,c){var d=i.b[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.qb();if(i.pb(b,h)){return true}}}return false}
|
427 |
+
function am(b,c){var d,e,f;if(c!=null&&c.cM&&!!c.cM[34]){d=qe(c,34);e=d.qb();if(Kl(b.b,e)){f=Ll(b.b,e);return Dn(d.$(),f)}}return false}
|
428 |
+
function hb(b){var c,d,e;e=Yn;b=dl(b);c=b.indexOf(Zn);if(c!=-1){d=b.indexOf($n)==0?8:0;e=dl(b.substr(d,c-d))}return e.length>0?e:_n}
|
429 |
+
function Je(b){var c,d;if(b>-129&&b<128){c=b+128;He==null&&(He=he(xe,{30:1},26,256,0));d=He[c];!d&&(d=He[c]=Fe(b));return d}return Fe(b)}
|
430 |
+
function kb(b,c){var d,e,f,g;f=yb(b,te(c.b)?re(c.b):null);g=he(Be,{30:1},33,f.length,0);for(d=0,e=g.length;d<e;++d){g[d]=new _k(f[d])}L(g)}
|
431 |
+
function Pe(){Pe=Wn;Me=(a=new Re,a.l=4194303,a.m=4194303,a.h=524287,a);Ne=(a=new Re,a.l=0,a.m=0,a.h=524288,a);Je(1);Je(2);Oe=Je(0)}
|
432 |
+
function dl(d){if(d.length==0||d[0]>bo&&d[d.length-1]>bo){return d}var b=d.replace(/^(\s*)/,Yn);var c=b.replace(/\s*$/,Yn);return c}
|
433 |
+
function je(b,c,d){if(d!=null){if(b.qI>0&&!pe(d,b.qI)){throw new Kk}if(b.qI<0&&(d.tM==Wn||d.cM&&!!d.cM[1])){throw new Kk}}return b[c]=d}
|
434 |
+
function Wh(b,c,d,e,f,g,h){if(!al(b.e,d)||b.c!=e||b.d!=f||b.f!=g||b.b!=h){b.e=d;b.c=e;b.d=f;b.f=g;b.b=h;dj(c.x,d,e,f,g,h);Uf(new $h(c))}}
|
435 |
+
function Ci(){var b;Ai();wi.call(this,(b=$doc.createElement('INPUT'),b.type='text',b),(!$e&&($e=new _e),!Xe&&(Xe=new Ye)));this.x[Go]='gwt-TextBox'}
|
436 |
+
function gb(c,d){var b,e,f,g;for(e=0,f=c.length;e<f;++e){g=c[e];try{g[1]?g[0].xb()&&(d=fb(d,g)):g[0].y()}catch(b){b=Ee(b);if(!se(b,2))throw b}}return d}
|
437 |
+
function el(b){var c;c=0;while(0<=(c=b.indexOf('\\',c))){b.charCodeAt(c+1)==36?(b=b.substr(0,c-0)+'$'+cl(b,++c)):(b=b.substr(0,c-0)+cl(b,++c))}return b}
|
438 |
+
function ec(){ec=Wn;dc=new gc;bc=new ic;Yb=new kc;Zb=new mc;cc=new oc;ac=new qc;$b=new sc;Xb=new uc;_b=new wc;ie(we,{30:1},23,[dc,bc,Yb,Zb,cc,ac,$b,Xb,_b])}
|
439 |
+
function Xg(b){if(!b.w){(ei(),Kl(di.b,b))&&gi(b)}else if(se(b.w,17)){qe(b.w,17).X(b)}else if(b.w){throw new Tk("This widget's parent does not implement HasWidgets")}}
|
440 |
+
function Nb(b){if(b.ownerDocument.defaultView.getComputedStyle(b,Yn).direction==co){return (b.scrollLeft||0)-((b.scrollWidth||0)-b.clientWidth)}return b.scrollLeft||0}
|
441 |
+
function uf(b,c){if(c<=0){throw new Qk('must be positive')}b.c?($wnd.clearInterval(b.d),undefined):($wnd.clearTimeout(b.d),undefined);kn(rf,b);b.c=false;b.d=vf(b,c);fn(rf,b)}
|
442 |
+
function Gd(c,d){var b,e,f;!d.f||d.F();f=d.g;d.g=c.c;try{Pd(c.b,d)}catch(b){b=Ee(b);if(se(b,9)){e=b;throw new ae(e.b)}else throw b}finally{f==null?(d.f=true,d.g=null):(d.g=f)}}
|
443 |
+
function bg(b,c){var d,e,f,g,h;if(!!Yf&&!!b&&Kl(b.b.e,Yf)){d=Zf.b;e=Zf.c;f=Zf.d;g=Zf.e;$f(Zf);Zf.e=c;Gd(b,Zf);h=!(Zf.b&&!Zf.c);Zf.b=d;Zf.c=e;Zf.d=f;Zf.e=g;return h}return true}
|
444 |
+
function ge(b,c){var d=new Array(c);if(b==3){for(var e=0;e<c;++e){var f=new Object;f.l=f.m=f.h=0;d[e]=f}}else if(b>0){var f=[null,0,false][b];for(var e=0;e<c;++e){d[e]=f}}return d}
|
445 |
+
function Aj(){Aj=Wn;uj=new Ue('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA7CAYAAAAq55mNAAAAJElEQVR42u3BMQEAAADCoPVPbQlPoAAAAAAAAAAAAAAAAAA4GTWzAAHmFYjpAAAAAElFTkSuQmCC')}
|
446 |
+
function Ul(i,b,c){var d=i.b[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.qb();if(i.pb(b,h)){d.length==1?delete i.b[c]:d.splice(e,1);--i.e;return g.$()}}}return null}
|
447 |
+
function Ql(k,b,c,d){var e=k.b[d];if(e){for(var f=0,g=e.length;f<g;++f){var h=e[f];var i=h.qb();if(k.pb(b,i)){var j=h.$();h.rb(c);return j}}}else{e=k.b[d]=[]}var h=new Pn(b,c);e.push(h);++k.e;return null}
|
448 |
+
function Zg(b,c){var d;d=b.w;if(!c){try{!!d&&d.S()&&b.U()}finally{b.w=null}}else{if(d){throw new Tk('Cannot set a new parent without first clearing the old parent')}b.w=c;c.S()&&b.T()}}
|
449 |
+
function Se(b){return $stats({moduleName:$moduleName,sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date).getTime(),type:'onModuleLoadStart',className:b})}
|
450 |
+
function Wg(b){if(!b.S()){throw new Tk("Should only call onDetach when the widget is attached to the browser's document")}try{b.W()}finally{try{b.R()}finally{b.x.__listener=null;b.t=false}}}
|
451 |
+
function Ug(b){var c;if(b.S()){throw new Tk("Should only call onAttach when the widget is detached from the browser's document")}b.t=true;b.x.__listener=b;c=b.u;b.u=-1;c>0&&(b.u==-1?Rf(b.x,c|(b.x.__eventBits||0)):(b.u|=c));b.Q();b.V()}
|
452 |
+
function uh(c,d){var i;sh();var b,e,f,g,h;e=null;for(h=c.Y();h.M();){g=qe(h.N(),15);try{d.Z(g)}catch(b){b=Ee(b);if(se(b,10)){f=b;!e&&(e=new Hn);i=Pl(e.b,f,e)}else throw b}}if(e){throw new th(e)}}
|
453 |
+
function gl(b){var c,d;if(b>=65536){c=55296+(~~(b-65536)>>10&1023)&65535;d=56320+(b-65536&1023)&65535;return String.fromCharCode(c)+String.fromCharCode(d)}else{return String.fromCharCode(b&65535)}}
|
454 |
+
function ml(b){var c,d,e,f;c=0;e=b.length;f=e-4;d=0;while(d<f){c=b.charCodeAt(d+3)+31*(b.charCodeAt(d+2)+31*(b.charCodeAt(d+1)+31*(b.charCodeAt(d)+31*c)))|0;d+=4}while(d<e){c=c*31+b.charCodeAt(d++)}return c|0}
|
455 |
+
function Nd(b,c,d){var e;if(!c){throw new Zk('Cannot add a handler with a null type')}if(!d){throw new Zk('Cannot add a null handler')}b.c>0?Md(b,new ij(b,c,d)):(e=Rd(b,c),e.jb(d),undefined);return new gj(b,c,d)}
|
456 |
+
function Ui(b,c,d){var e,f;if(d<0||d>b.d){throw new Vk}if(b.d==b.b.length){f=he(ze,{30:1},15,b.b.length*2,0);for(e=0;e<b.b.length;++e){je(f,e,b.b[e])}b.b=f}++b.d;for(e=b.d-1;e>d;--e){je(b.b,e,b.b[e-1])}je(b.b,d,c)}
|
457 |
+
function ii(b){ei();var c,d;d=qe(Ll(ci,b),16);c=null;if(b!=null){if(!(c=$doc.getElementById(b))){return null}}if(d){if(!c||d.x==c){return d}}ci.e==0&&kg(new ni);!c?(d=new qi):(d=new fi(c));Pl(ci,b,d);Gn(di,d);return d}
|
458 |
+
function Rg(b,c,d){if(!b){throw new M('Null widget handle. If you are creating a composite, ensure that initWidget() has been called.')}c=dl(c);if(c.length==0){throw new Qk('Style names cannot be empty')}d?Hb(b,c):Jb(b,c)}
|
459 |
+
function yk(b,c){var d,e,f,g,h,i;g=xg(c.e.type);if(g==4){c.e.preventDefault()}else if(g==64){f=c.e;h=f.clientX||0;i=f.clientY||0;d=h-b.b;e=b.c-i;b.b=h;b.c=i;b.d?hk(b.f,d):b.e?ik(b.f,d):jk(b.f,d,e);c.e.preventDefault()}else g==8&&b.f.i.db()}
|
460 |
+
function Hb(b,c){var d,e,f,g;c=dl(c);g=b.className;d=g.indexOf(c);while(d!=-1){if(d==0||g.charCodeAt(d-1)==32){e=d+c.length;f=g.length;if(e==f||e<f&&g.charCodeAt(e)==32){break}}d=g.indexOf(c,d+1)}if(d==-1){g.length>0&&(g+=bo);b.className=g+c}}
|
461 |
+
function Zj(b,c){var d,e;e=b.e+b.c;b.g!=0&&!b.d?e-c<~~(b.g/2)?(d=e):c-b.e<~~(b.g/2)?(d=b.e):c==b.e?(d=ue(Math.floor(c))):c==e?(d=ue(Math.ceil(c))):(d=Le(Ke(Ie(Math.round(c/b.g)),Je(b.g)))):(d=Le(Ie(Math.round(c))));d<b.e&&(d=b.e);d>e&&(d=e);return d}
|
462 |
+
function Dc(){Cc();var b,c,d;d=null;if(Bc.length!=0){b=Bc.join(Yn);c=Oc((Kc(),Jc),b);!Bc&&(d=c);Bc.length=0}if(zc.length!=0){b=zc.join(Yn);c=Nc((Kc(),Jc),b);!zc&&(d=c);zc.length=0}if(Ac.length!=0){b=Ac.join(Yn);c=Nc((Kc(),Jc),b);!Ac&&(d=c);Ac.length=0}yc=false;return d}
|
463 |
+
function Ik(b){var c,d;this.d=(c=b.getBoundingClientRect&&b.getBoundingClientRect(),c?c.left+Nb(b.ownerDocument.body):Qb(b));this.e=(d=b.getBoundingClientRect&&b.getBoundingClientRect(),d?d.top+(b.ownerDocument.body.scrollTop||0):Rb(b));this.c=b.clientWidth;this.b=b.clientHeight}
|
464 |
+
function lf(b,c){var d,e,f;f=false;try{b.d=true;b.g.b=b.c.c;uf(b.b,10000);while(Ef(b.g)){e=Ff(b.g);try{if(e==null){return}if(e!=null&&e.cM&&!!e.cM[11]){d=qe(e,11);Zh(d)}}finally{f=b.g.c==-1;f||Gf(b.g)}if((new Date).getTime()-c>=100){return}}}finally{if(!f){tf(b.b);b.d=false;mf(b)}}}
|
465 |
+
function sk(b,c,d){var e;e=new sl;e.b.b+='border-width:';e.b.b+='0px ';rl(e,b.c>0?b.c:b.o.offsetWidth||0);e.b.b+=Ko;e.b.b+=100;e.b.b+='px 0px;';e.b.b+='top:';e.b.b+=-100+(1-(d-c))*100;e.b.b+=To;e.b.b+='left:';ql(e,c*(b.c>0?b.c:b.o.offsetWidth||0));e.b.b+=To;b.r.x.setAttribute(io,e.b.b)}
|
466 |
+
function Jb(b,c){var d,e,f,g,h,i,j;c=dl(c);j=b.className;f=j.indexOf(c);while(f!=-1){if(f==0||j.charCodeAt(f-1)==32){g=f+c.length;h=j.length;if(g==h||g<h&&j.charCodeAt(g)==32){break}}f=j.indexOf(c,f+1)}if(f!=-1){d=dl(j.substr(0,f-0));e=dl(cl(j,f+c.length));d.length==0?(i=e):e.length==0?(i=d):(i=d+bo+e);b.className=i}}
|
467 |
+
function Pd(c,d){var b,e,f,g,h,i,j;if(!d){throw new Zk('Cannot fire null event')}try{++c.c;h=Sd(c,d.E());e=null;i=c.d?h.vb(h.nb()):h.ub();while(c.d?i.c>0:i.c<i.e.nb()){g=c.d?Um(i):Nm(i);try{d.D(qe(g,18))}catch(b){b=Ee(b);if(se(b,10)){f=b;!e&&(e=new Hn);j=Pl(e.b,f,e)}else throw b}}if(e){throw new _d(e)}}finally{--c.c;c.c==0&&Td(c)}}
|
468 |
+
function Hg(){var e=$wnd.onbeforeunload;var f=$wnd.onunload;$wnd.onbeforeunload=function(b){var c,d;try{c=Xn(ng)()}finally{d=e&&e(b)}if(c!=null){return c}if(d!=null){return d}};$wnd.onunload=Xn(function(b){try{ig&&Dd((!jg&&(jg=new vg),jg))}finally{f&&f(b);$wnd.onresize=null;$wnd.onscroll=null;$wnd.onbeforeunload=null;$wnd.onunload=null}})}
|
469 |
+
function $j(b,c,d,e,f,g,h){var i,j,k;this.n=h;this.f=f;this.e=b;k=c-b;this.c=k==0?1:k;this.d=true;g==0?this.c>4000?(this.g=100):this.c>2000?(this.g=50):this.c>1000?(this.g=25):this.c>500?(this.g=10):this.c>100?(this.g=5):(this.g=0):(this.g=g);if(k!=0){i=(d-this.e)/this.c;j=(e-this.e)/this.c;this.j=i;this.k=j;Pj(this);Oj(this)}else{this.j=0;this.k=1;Pj(this);Oj(this)}}
|
470 |
+
function Xh(b,c,d,e,f,g){var h,i;this.c=d;this.d=e;this.f=f;this.b=g;this.e=c;Yg(b,(h=$doc.createElement('span'),h.innerHTML=(i='width: '+f+'px; height: '+g+'px; background: url('+c+Jo+-d+Ko+-e+Lo,"<img onload='this.__gwtLastUnhandledEvent=\"load\";' src='"+$moduleBase+"clear.cache.gif' style='"+i+"' border='0'>")||Yn,Kb(h)));b.u==-1?Rf(b.x,133333119|(b.x.__eventBits||0)):(b.u|=133333119)}
|
471 |
+
function Bj(b){var c;var d;var e;var f;var g;var h;var i;var j;var k;if(b){c=b['hostElementId'];d=b['leftBorder'];e=b['rightBorder'];f=b['currentLeft'];g=b['currentRight'];h=b['stepSize'];i=b['unit'];j=b['callback'];k=b[No]}!c&&(c=Yn);!d&&(d=0);!e&&(e=0);d>e&&(d=e);!f&&(f=d);!g&&(g=e);!h&&(h=0);i=i==null?Qo:i.indexOf(Qo)!=-1?i:'%n '+i;(!j||typeof j!=$n)&&(j=null);!k&&(k=0);Cj(c,d,e,f,g,i,h,k,j)}
|
472 |
+
function Rb(b){if(b.offsetTop==null){return 0}var c=0;var d=b.ownerDocument;var e=b.parentNode;if(e){while(e.offsetParent){c-=e.scrollTop;e=e.parentNode}}while(b){c+=b.offsetTop;if(d.defaultView.getComputedStyle(b,Yn)[eo]==fo){c+=d.body.scrollTop;return c}var f=b.offsetParent;f&&$wnd.devicePixelRatio&&(c+=parseInt(d.defaultView.getComputedStyle(f,Yn).getPropertyValue('border-top-width')));if(f&&f.tagName==go&&b.style.position==ho){break}b=f}return c}
|
473 |
+
function De(){var b;!!$stats&&Se('com.google.gwt.user.client.UserAgentAsserter');b=hg();al(mo,b)||($wnd.alert('ERROR: Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (safari) does not match the runtime user.agent value ('+b+'). Expect more errors.\n'),undefined);!!$stats&&Se('de.factfinder.asn.slider.client.StandAloneOneTouchSlider');$wnd.oneTouchSlider={};$wnd.oneTouchSlider.addSlider=Xn(Bj);$wnd.oneTouchSliderOnLoad&&typeof $wnd.oneTouchSliderOnLoad==$n&&$wnd.oneTouchSliderOnLoad()}
|
474 |
+
function Qb(b){if(b.offsetLeft==null){return 0}var c=0;var d=b.ownerDocument;var e=b.parentNode;if(e){while(e.offsetParent){c-=e.scrollLeft;d.defaultView.getComputedStyle(e,Yn).getPropertyValue('direction')==co&&(c+=e.scrollWidth-e.clientWidth);e=e.parentNode}}while(b){c+=b.offsetLeft;if(d.defaultView.getComputedStyle(b,Yn)[eo]==fo){c+=d.body.scrollLeft;return c}var f=b.offsetParent;f&&$wnd.devicePixelRatio&&(c+=parseInt(d.defaultView.getComputedStyle(f,Yn).getPropertyValue('border-left-width')));if(f&&f.tagName==go&&b.style.position==ho){break}b=f}return c}
|
475 |
+
function hg(){var c=navigator.userAgent.toLowerCase();var d=function(b){return parseInt(b[1])*1000+parseInt(b[2])};if(function(){return c.indexOf(oo)!=-1}())return oo;if(function(){return c.indexOf('webkit')!=-1}())return mo;if(function(){return c.indexOf(po)!=-1&&$doc.documentMode>=9}())return 'ie9';if(function(){return c.indexOf(po)!=-1&&$doc.documentMode>=8}())return 'ie8';if(function(){var b=/msie ([0-9]+)\.([0-9]+)/.exec(c);if(b&&b.length==3)return d(b)>=6000}())return 'ie6';if(function(){return c.indexOf('gecko')!=-1}())return 'gecko1_8';return 'unknown'}
|
476 |
+
function Ie(b){var c,d,e,f,g,h,i,j;if(isNaN(b)){return Pe(),Oe}if(b<-9223372036854775808){return Pe(),Ne}if(b>=9223372036854775807){return Pe(),Me}f=false;if(b<0){f=true;b=-b}e=0;if(b>=17592186044416){e=~~Math.max(Math.min(b/17592186044416,2147483647),-2147483648);b-=e*17592186044416}d=0;if(b>=4194304){d=~~Math.max(Math.min(b/4194304,2147483647),-2147483648);b-=d*4194304}c=~~Math.max(Math.min(b,2147483647),-2147483648);g=(a=new Re,a.l=c,a.m=d,a.h=e,a);f&&(h=~g.l+1&4194303,i=~g.m+(h==0?1:0)&4194303,j=~g.h+(h==0&&i==0?1:0)&1048575,g.l=h,g.m=i,g.h=j,undefined);return g}
|
477 |
+
function Ke(b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D;d=b.l&8191;e=~~b.l>>13|(b.m&15)<<9;f=~~b.m>>4&8191;g=~~b.m>>17|(b.h&255)<<5;h=~~(b.h&1048320)>>8;i=c.l&8191;j=~~c.l>>13|(c.m&15)<<9;k=~~c.m>>4&8191;l=~~c.m>>17|(c.h&255)<<5;m=~~(c.h&1048320)>>8;z=d*i;A=e*i;B=f*i;C=g*i;D=h*i;if(j!=0){A+=d*j;B+=e*j;C+=f*j;D+=g*j}if(k!=0){B+=d*k;C+=e*k;D+=f*k}if(l!=0){C+=d*l;D+=e*l}m!=0&&(D+=d*m);o=z&4194303;p=(A&511)<<13;n=o+p;r=~~z>>22;s=~~A>>9;t=(B&262143)<<4;u=(C&31)<<17;q=r+s+t+u;w=~~B>>18;x=~~C>>5;y=(D&4095)<<8;v=w+x+y;q+=~~n>>22;n&=4194303;v+=~~q>>22;q&=4194303;v&=1048575;return Ge(n,q,v)}
|
478 |
+
function xg(b){switch(b){case 'blur':return 4096;case 'change':return 1024;case qo:return 1;case ro:return 2;case 'focus':return 2048;case so:return 128;case to:return 256;case uo:return 512;case vo:return 32768;case 'losecapture':return 8192;case jo:return 4;case wo:return 64;case ko:return 32;case lo:return 16;case xo:return 8;case 'scroll':return 16384;case 'error':return 65536;case 'DOMMouseScroll':case yo:return 131072;case 'contextmenu':return 262144;case 'paste':return 524288;case zo:return 1048576;case Ao:return 2097152;case Bo:return 4194304;case Co:return 8388608;case Do:return 16777216;case Eo:return 33554432;case Fo:return 67108864;case 'ended':return 134217728;case 'progress':return 268435456;case 'canplaythrough':return 536870912;default:return -1;}}
|
479 |
+
function Fg(){Bg=Xn(function(b){if(!Of(b)){b.stopPropagation();b.preventDefault();return false}return true});Dg=Xn(function(b){var c,d=this;while(d&&!(c=d.__listener)){d=d.parentNode}d&&d.nodeType!=1&&(d=null);c&&zg(c)&&Nf(b,d,c)});Eg=Xn(function(b){this.__gwtLastUnhandledEvent=b.type;Dg.call(this,b)});Cg=Xn(function(b){var c=Bg;if(c(b)){var d=Ag;if(d&&d.__listener){if(zg(d.__listener)){Nf(b,d,d.__listener);b.stopPropagation()}}}});$wnd.addEventListener(qo,Cg,true);$wnd.addEventListener(ro,Cg,true);$wnd.addEventListener(jo,Cg,true);$wnd.addEventListener(xo,Cg,true);$wnd.addEventListener(wo,Cg,true);$wnd.addEventListener(lo,Cg,true);$wnd.addEventListener(ko,Cg,true);$wnd.addEventListener(yo,Cg,true);$wnd.addEventListener(so,Bg,true);$wnd.addEventListener(uo,Bg,true);$wnd.addEventListener(to,Bg,true);$wnd.addEventListener(zo,Cg,true);$wnd.addEventListener(Ao,Cg,true);$wnd.addEventListener(Bo,Cg,true);$wnd.addEventListener(Co,Cg,true);$wnd.addEventListener(Do,Cg,true);$wnd.addEventListener(Eo,Cg,true);$wnd.addEventListener(Fo,Cg,true)}
|
480 |
+
function Gg(b,c){var d=(b.__eventBits||0)^c;b.__eventBits=c;if(!d)return;d&1&&(b.onclick=c&1?Dg:null);d&2&&(b.ondblclick=c&2?Dg:null);d&4&&(b.onmousedown=c&4?Dg:null);d&8&&(b.onmouseup=c&8?Dg:null);d&16&&(b.onmouseover=c&16?Dg:null);d&32&&(b.onmouseout=c&32?Dg:null);d&64&&(b.onmousemove=c&64?Dg:null);d&128&&(b.onkeydown=c&128?Dg:null);d&256&&(b.onkeypress=c&256?Dg:null);d&512&&(b.onkeyup=c&512?Dg:null);d&1024&&(b.onchange=c&1024?Dg:null);d&2048&&(b.onfocus=c&2048?Dg:null);d&4096&&(b.onblur=c&4096?Dg:null);d&8192&&(b.onlosecapture=c&8192?Dg:null);d&16384&&(b.onscroll=c&16384?Dg:null);d&32768&&(b.onload=c&32768?Eg:null);d&65536&&(b.onerror=c&65536?Dg:null);d&131072&&(b.onmousewheel=c&131072?Dg:null);d&262144&&(b.oncontextmenu=c&262144?Dg:null);d&524288&&(b.onpaste=c&524288?Dg:null);d&1048576&&(b.ontouchstart=c&1048576?Dg:null);d&2097152&&(b.ontouchmove=c&2097152?Dg:null);d&4194304&&(b.ontouchend=c&4194304?Dg:null);d&8388608&&(b.ontouchcancel=c&8388608?Dg:null);d&16777216&&(b.ongesturestart=c&16777216?Dg:null);d&33554432&&(b.ongesturechange=c&33554432?Dg:null);d&67108864&&(b.ongestureend=c&67108864?Dg:null)}
|
481 |
+
function wj(b){if(!b.b){b.b=true;Cc();R(zc,'.GLR1MK0AG{display:block;}.GLR1MK0OG{font-family:verdana, sans-serif;font-size:8pt;text-align:center;}.GLR1MK0EG{background:#555;width:100%;height:17px;position:relative;text-align:left;-moz-border-radius:4px 4px 4px 4px;-webkit-border-radius:4px;font-size:1.1em;}.GLR1MK0DG{height:100%;top:0;background:#6683b4;background-position:0 0;border:0 none;display:block;font-size:0.7em;position:absolute;z-index:1;text-align:center;}.GLR1MK0HG{background:repeat-x scroll 50% 50% #f6f6f6;border:1px solid #7f7f7f;color:#fff;font-weight:bold;outline:medium none;margin-left:-0.6em;top:-0.3em;cursor:default;height:23px;position:absolute;width:1em;z-index:3;-moz-border-radius:4px;-webkit-border-radius:4px;font-family:Verdana, Arial, sans-serif;font-size:1.1em;text-align:left;text-decoration:none;}.GLR1MK0IG{border-color:transparent;border-style:solid;border-width:0 200px 100px 0;height:0;width:0;position:absolute;border-bottom-color:#ccd6e6;opacity:0;z-index:2;margin-top:10px;}.GLR1MK0KG{opacity:0.5;}.GLR1MK0JG{opacity:0.7;}.GLR1MK0BG{cursor:pointer;}.GLR1MK0CG{cursor:none;}.GLR1MK0PF{cursor:default;}.GLR1MK0FG{margin:-21px auto;z-index:3;position:absolute;}.GLR1MK0GG{width:58px;margin:32px 0 0 -29px;}.GLR1MK0LG{background-color:#f1f1f1;border:1px solid #acacac;font-size:9px;height:20px;margin:0 0 10px;text-align:center;width:40px;}.GLR1MK0MG{float:left;}.GLR1MK0NG{float:right;}');Ec();return true}return false}
|
482 |
+
function tk(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;this.p=(yj(),sj);this.b=new rj;this.g=new Bk(this);this.i=new Ej;Ch(this,(c=Sb($doc),q=new Ci,e=Sb($doc),s=new Ci,g=Sb($doc),h=Sb($doc),i=Sb($doc),j=Sb($doc),k=Sb($doc),w=new Ih,m=Sb($doc),v=new Rh((zj(),tj)),o=new Mh("<div class='GLR1MK0OG fact-finder-onetouchslider'> <span id='"+c+Uo+e+"'><\/span> <div style='clear: both !important;'><\/div> <div style='clear: both !important;'><\/div> <div class='GLR1MK0AG'> <div class='GLR1MK0EG fact-finder-onetouchslider-bar' id='"+g+"'> <div class='GLR1MK0DG fact-finder-onetouchslider-bar fact-finder-onetouchslider-bar-selected' id='"+h+"'><\/div> <span class='GLR1MK0HG fact-finder-onetouchslider-handle fact-finder-onetouchslider-handle-left' id='"+i+"'><\/span> <span class='GLR1MK0HG fact-finder-onetouchslider-handle fact-finder-onetouchslider-handle-right' id='"+j+Uo+k+Uo+m+"'><\/span> <\/div> <\/div> <\/div>"),q.x[Go]='GLR1MK0LG GLR1MK0MG fact-finder-onetouchslider-text-box fact-finder-onetouchslider-textbox-left',q.x[Vo]=true,Pg(q,Qg(q.x)+Wo),s.x[Go]='GLR1MK0LG GLR1MK0NG fact-finder-onetouchslider-text-box fact-finder-onetouchslider-textbox-right',s.x[Vo]=true,Pg(s,Qg(s.x)+Wo),w.x[Go]='GLR1MK0IG fact-finder-onetouchslider-triangle',v.x[Go]='GLR1MK0FG fact-finder-onetouchslider-grip',b=bf(o.x),d=$doc.getElementById(c),f=$doc.getElementById(e),u=$doc.getElementById(g),u.removeAttribute(Xo),t=$doc.getElementById(h),t.removeAttribute(Xo),p=$doc.getElementById(i),p.removeAttribute(Xo),r=$doc.getElementById(j),r.removeAttribute(Xo),l=$doc.getElementById(k),n=$doc.getElementById(m),b.c?b.c.insertBefore(b.b,b.d):df(b.b),Xg(q),Si(o.b,q),d.parentNode.replaceChild(q.x,d),Zg(q,o),Xg(s),Si(o.b,s),f.parentNode.replaceChild(s.x,f),Zg(s,o),Xg(w),Si(o.b,w),l.parentNode.replaceChild(w.x,l),Zg(w,o),Xg(v),Si(o.b,v),n.parentNode.replaceChild(v.x,n),Zg(v,o),this.d=p,this.e=q,this.j=r,this.k=s,this.n=t,this.o=u,this.q=v,this.r=w,o));wj(this.p);xk(this.g);this.i.eb()}
|
483 |
+
function zj(){zj=Wn;tj=new Ue('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA7CAYAAAAq55mNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADoBJREFUeNrUW3mQFcUZ7znewS67y7GwLKziLp7hFlEDFqcsRquSKjUqgkqMlRgllT9MoqaSlDGEktKUZzQiGhMVOTxKrQhUiCnLKwKLCHJI9mRvjuVY3u6bqztfHzOvXzPvWHalymd99szsTHf/+jv7+xqNEIK+zb/Kqgvyes88y5PS5PuG+v+dtVU2v0kg8NP68D75JhfBHGBwuYCq9yRHv2SgQJsDADAMjCY91/Lskkjk32uyHvYHsDlAALUMANVnuUDiENADAljvJ0hN9CGTIRYwjCISqX8zpNaQ+tLVxQuxBTl/Wr7uRXSuclGXOKYrwNW/q4ukiioWRJQWh3AYhbT9F10FZBgwTay+JnEhDGzYTwbiKQA98X3YImhK2z+gISD1LCLrt0ZxUZE2e/Ycc/r06WjSlEkoEomgC8+vQqbJh2xuadW6TyVIY0Ojtn/fPrJ54ybvQF2tKcDJID1poWTgfQKbVXTzAGnK4Oj95ZdNN25dsliff/WCWMeRxETb8cZ7GFMrEsMEVUAbZZ1pqB2m1gtti2no9SVF8W0nj7V3rFuznrz8j5ddCSwlV+GyzPW8xDgj0CwgDcXoMJBTJk6O3LJ4kXbV7Oryw8d6bnA9PEPXtTgAgY/gP+10yaVjM6IzxtxlxqLGxkFGYsu6NevQ6pdedAVIL4TCwPYNqGJds4Fk9PAfHjYXfO/7Q5o7Tt4MABfoGtI1XYf/IQZQ81t1+QVQipFOg2DMrxE5WFQQffVYZ23N2tdexxs3b3IEYBW0rLtZwWYDqkkuSFdFlNLYiorIz5YtM86fMHPWqR77bsASNyhKAZIi1AOgIc5TAMQ+YEzYNWuBQCJqxo8b8cTfX1qVePqZZ2Swbl/BngY0RGSNEJCReXPmRRctXqRHSioXgx5er+sclGHojHuAlbJVAEani64QWcSAUgJuYiRAYgbY8+g7pL1yzNDlH215r335n5ZTgI4gWX9JiBvKO2BQjU/AyfGXfMf866rnTCdW8Wvg5PUgrmxSHkzSdTGbKL/H7Bn2JPLvKShoXSzeo++zfnDQD+3XcbzyrxuPrJx8ZfXFDz7woBpg6JJbU9Ut7Wc89NBDuUTWUCIb875f3mce7Ir+OGm5c4kkgr508EYL9A/7eoiEaBK+KJ7PPUyChWIgGVgULBSAjh7rTk6fdunUz4riRm/NjppsAUSfQkAtxFcavuEpLJtUfSJhXevAqtt05YEc14MJEuQwThBxz7nic8t1FfJI8A7jHnzjsL7EteOx/tk4jle888ChB+/8yT3xK6ZfroaMei6u6hm2UZoisoyW3r7UPG/8VZWHuhJ3yROCSfBr1nppE04tAoagwUDDSwahGLSuB8/oc5fA9zhtgRwHB33ajsvA0vuk5Zy7+dO6ny5afKsh+fC8IjA9D5cSgH3gNw8Ye+sOLbMcz7RsD1k2TMKmq87Bssk5KmDOGepcCuMm2rrza9SbtFBRYSx4z/W/p30JkGlExxHPuxPWbFJYNY0uurIByA9oDrHVacdv/Wv35b29yUrbtmFQB1kwQQtWnIGmLUzEcvl9auJc/AoGRdAXu2vRoSPH0Z7aVhSPmczn8G89xjlLkL9wSXrNWtqXg+i4lm2hprauRTffelOuuDoNdDagaQaJdtzS0XUjHYgBtSzk0MEdf6ISueKZEDmIduBdC7V1HkHR+CCkGyZqbOlChQDeF33+Lhb9uaJPzLjpODAeG9di4/b09lTW7D8xZeGCajNkO5eTo1qmfSaNX7+q667q6emppAPZVhLx1goAc1GWyeWiDROmYvrl3joUicZRLBaHwD6KIExEEOMyzjJw4l0uCUJ8BQf9caykAJtMooOth66+/oc3IMW9ZMxqmBnyPmn7zOqFC7Xaxrbv0sFo1KPpBjKAdMNFBuxGDMNjXDIoYQgSdAJ/R6wtLx2Mjhw9hrpP9aLCwcXIjMRYH9T1NLYdg78Xo46jCcX3gsvxXOSBGnjQYjBclNg1c0ewMEk8bfyEGbFYNOpZtq3nymjoWZJXAdDZc2ehrmMnL7OAk0lYTdZavLXoSvsrblNymOglbe5uhhTF0Z79DbA4sGnRIyxQ8C1y18kkSvTaaMjgGHvf8nVR9OlTUozHx+wVz6zo2xs/nzhv7rxsVjcvHWUf032li+Pxnp5EhZXs5QMlfUqi4BkQF+kkcoQ4Dy+OoQN1zajXchHRTYiCwPiA3vniTQ1QQ2sXGjm0gHGPfW/zPuxkUvSZGs9mYyWDZx2Hj54/afIkLYSbp3HVzGKI2HVV5Tjto617ymEACGWp2Oo8aKfiS0XVA3KBzAhce/wZUElRAbgTHW3/ognF4oXIIzozODzkFdszYG8SxLCp9SgqLYmBKJ9CGAC7nsPF1nWYuPri61ERhvfpd7SPEyfJmFmXXoByhX/ZMgzBB+Xlo7TOziPDqbjwLZcAanA9ZQCpnsLETHYdYTo7dPRQtHPXfuYjY9CVBy0hVlrKCHtc3xpae9Hki8agGJiV44lkANCFNk1XhX4G2zvPG1ZWVobyyTTmTKUUFRWBIekpoNYOiQ20zgyRzg0STMB0OVga7ZhA5SOGIRdEsKmlDRUMLmHPQZaR5unpuxdmeLihOVDfhoYVF6DOw0c4UJcDlTlKQVKwPKamQN3CwsKCvHLHeSXHmB8LOKpx8QXOUnA6XW3TY+JrRjw2wdIhBWjbjl1i5THnDEyQSkKQEaPix4J7DrS1oxvCw7GoBFxRe+dJJqaua3OOCqsrc5NRJP+0dM43u7u70eBCvYeC5XtKiaswCV03mW5SsaWTrqwYjTo6O1HX8ePAzWLOTdtmIu9nG/ydDl0EIrhEubb3QCMaN3YUamxuSemn67sVrpv+d8ySaiiRSPTklfI0c2TOUXt7B7ni4plHXcdJKbDgKG2pPtJJ0FUv0Aeh0WVD0eYPPgLRjrDtl2s7TBcpUCTyR2zLzcDilPiCJPQkutGIIYXgW4eg+qaW08SWBGLLf9FIpKsTFjVXvijMvaj7O1LfUEfmzZrW7ro0FHM4sVjX5iItxJrqMNXNL3fvBRdgIwKso5zywzdHEHUfqWsr9TcQU7qY+2ob0TmjRzJgQfRl26mxBdH5mIbR3tzUnGn+OTkqb2jxye5uMqzETML1QdC1c7nmS7oKHPVAjGNwP3J4Mdq1Zy+KxAbRScAqEngTdJPQ+J2yML1KqFPLSf/uDwfLTnW8vrEFlQ0fimobGgPR5kYIB1lcOofSYSUHarZvJxmy+SQXR9V7XLN9B4pGza98S0jJoUS5anPOUqKrDGYQRUwDRZhVpnoEYDXMBJaB1niriTQPvdc1zHJLlExDA5E00KnEqaBf1jfr30n5WM/FN/5g/r5PPv0EZwFI0jhKq1NSvKvWPPBbb7xJLr5o5sefbd1+ra8iPLOnI6zDpIVV/Gp/LZpwURUqKR4c+Fsk0pyamgqUcrqykaEhYF1jM2oCg0T79PWYWWmUGrugoLAGuScSIHE4Q40mo+iSDGU8vHX7Nm/FyhVf/3dbTTNYw3PkuMKPlJjjbzoIE2wVgT+Pnng0FZLA9o2R8Kc0C0hEAOET8QMELM+dL1jF6PItb7/5NpKS2VnzR7l01AfrbVi7wRw1atQ7TU1Ny5DEVo1OxgcLE6URk7/D0TRP6DKPqE7P62IGghChgwEwnPbMdyd8SJ3WcZofX/GLHZdOnepKxSl8psYorZr1/Aur3B07vvjwmhvuuQ4sbSUD64sloRzlYDSYKAMq3E/Kf6pRmuT4CQ4F5wcVRN6KgE5fMu7CV55/9jm1PEGylBhDdy8kpEbJOnzqiSe9KZMmrIaJYBFrcmfv8ujFE3Gp64j4lLoBYUgCg5LhnhkaJxXXpqIhzHVV6Gk8Pmjbj26Zu50uvFJ4yspRXTkFosq4XNHyaJVr9vTz9o8cWfaqH3P6pt8TuwsfMLfOfAfiSrFrQI7/3N+pUHBOWj8pt8LHgV1R++/vv/epDWvXE6UsQfIGGuZWQrjqrlz5iHvv0mveATfyIU9QC0MiJoWlLRUH7J4OUgLo+hx0fS66KX31++Zq0nPdwvkr9u78OCGKTmo5kWSrv+ghZ3vUl2VdcMGcO6+/tsZ79YWVf4nF4rtTFTEc7C5Yq+wjUyKZEk0vSJF40rfiex8gCxA0e/LEiY+NLTNbpWKTXGDCucJAPc/jMFhaQe/zbVudVc8+5az925//WFIy5H35zUCcmdsgqYmLXQqWdiLBtktU0YJYVuoPrPjh6vlz76+eecFOUWRSK2leLm7mUzZUM/a6XBelxabb7rjdWP36f65ta29bCn0N6Em0WCy27+47lzxqnWg6/viTT/iVtIEpG+ZRCDbUOimtx9S3WeX/3PzvmyF0m4X6c5CSlR6NwxUV56x75Hd3fbDmldfI+jc2yDqpGiHvjAvBZ1DaN2dcOSOy+LbF2ntbdlVt27Hzxt7enqnQdTSf4z1+1ASBQFtpaemm5x//7ab3333LFVwMK+1jhc6stJ/nYQ0jrEg8b848Y8kdS7SSYWNiyx9bPamltfUK27LPA0tbCvpYLPcfjcbqIbhIFBUXf1k9Z+Ynt900t3Pd2vXoxRdX01ytd1YOa5zB8Ru5umXEolG9unqhUb2wGlWNq0IVY8pRcVERevTp9SN+9fObDtPO9u4/QFME6LOPP0Xvvfsurm2ox4rvVgMCL8NxupxZhrxOjuVxoCoTyX9nv7EVFVpTS4s6QfWkWCYiIYYnr1TKQB2RC6to6TmSyiQEbKYjcihDUJD3Ebm8Dz1KwUTY5DzlxIh8qMK/thVyFFINjyuB88I42ZdTnn3ye9IGXT6WRhSOkRARV5PjJMfWMGvG4EyOsfbZwfuDSIf2VcBq5hxnKGSRPA4m9xtgv09ghwAOyz1lO4aOMuV3BhJgv4GqgLOARn0wGiSs34H4DWhsGjI5EhJW5vrmG/mdtX/3cjb/jUu/3Mu3/fd/AQYAFnxtwIzfP80AAAAASUVORK5CYII=')}
|
484 |
+
var Yn='',bo=' ',Qo='%n',Uo="'><\/span> <span id='",Zn='(',Jo=') no-repeat ',Wo='-readonly',ao=':',go='BODY',Oo='GLR1MK0BG',Po='GLR1MK0CG',So='GLR1MK0JG',Ro='GLR1MK0KG',Io='__gwtLastUnhandledEvent',ho='absolute',_n='anonymous',Go='className',qo='click',ro='dblclick',no='div',fo='fixed',$n='function',Eo='gesturechange',Fo='gestureend',Do='gesturestart',Xo='id',so='keydown',to='keypress',uo='keyup',Ho='left',vo='load',jo='mousedown',wo='mousemove',ko='mouseout',lo='mouseover',xo='mouseup',yo='mousewheel',po='msie',oo='opera',eo='position',Lo='px',Ko='px ',To='px;',Vo='readOnly',co='rtl',mo='safari',io='style',Co='touchcancel',Bo='touchend',Ao='touchmove',zo='touchstart',Mo='value',No='width';var _;_=E.prototype={};_.eQ=function F(b){return this===b};_.hC=function G(){return this.$H||(this.$H=++U)};_.tM=Wn;_.cM={};_=K.prototype=new E;_.cM={10:1,30:1};_=J.prototype=new K;_.cM={10:1,30:1};_=M.prototype=I.prototype=new J;_.cM={2:1,10:1,30:1};_=O.prototype=H.prototype=new I;_.cM={2:1,10:1,30:1};_.b=null;_=S.prototype=new E;_.cM={};var T=0,U=0;_=eb.prototype=Z.prototype=new S;_.cM={};_.b=null;_.c=null;var $;_=nb.prototype=jb.prototype=new E;_.z=function ob(){var b={};var c=[];var d=arguments.callee.caller.caller;while(d){var e=this.A(d.toString());c.push(e);var f=ao+e;var g=b[f];if(g){var h,i;for(h=0,i=g.length;h<i;h++){if(g[h]===d){return c}}}(g||(b[f]=[])).push(d);d=d.caller}return c};_.A=function pb(b){return hb(b)};_.B=function qb(b){return []};_.cM={};_=sb.prototype=new jb;_.z=function ub(){return ib(this.B(mb()),this.C())};_.B=function vb(b){return tb(this,b)};_.C=function wb(){return 2};_.cM={};_=zb.prototype=rb.prototype=new sb;_.z=function Ab(){return xb(this)};_.A=function Bb(b){var c,d;if(b.length==0){return _n}d=dl(b);d.indexOf('at ')==0&&(d=d.substr(3,d.length-3));c=d.indexOf('[');c==-1&&(c=d.indexOf(Zn));if(c==-1){return _n}else{d=dl(d.substr(0,c-0))}c=d.indexOf(gl(46));c!=-1&&(d=d.substr(c+1,d.length-(c+1)));return d.length>0?d:_n};_.B=function Cb(b){return yb(this,b)};_.C=function Db(){return 3};_.cM={};_=Eb.prototype=new E;_.cM={};_=Gb.prototype=Fb.prototype=new Eb;_.cM={};_.b=Yn;_=Ub.prototype=new E;_.eQ=function Vb(b){return this===b};_.hC=function Wb(){return this.$H||(this.$H=++U)};_.cM={30:1,31:1,32:1};_=Tb.prototype=new Ub;_.cM={23:1,30:1,31:1,32:1};var Xb,Yb,Zb,$b,_b,ac,bc,cc,dc;_=gc.prototype=fc.prototype=new Tb;_.cM={23:1,30:1,31:1,32:1};_=ic.prototype=hc.prototype=new Tb;_.cM={23:1,30:1,31:1,32:1};_=kc.prototype=jc.prototype=new Tb;_.cM={23:1,30:1,31:1,32:1};_=mc.prototype=lc.prototype=new Tb;_.cM={23:1,30:1,31:1,32:1};_=oc.prototype=nc.prototype=new Tb;_.cM={23:1,30:1,31:1,32:1};_=qc.prototype=pc.prototype=new Tb;_.cM={23:1,30:1,31:1,32:1};_=sc.prototype=rc.prototype=new Tb;_.cM={23:1,30:1,31:1,32:1};_=uc.prototype=tc.prototype=new Tb;_.cM={23:1,30:1,31:1,32:1};_=wc.prototype=vc.prototype=new Tb;_.cM={23:1,30:1,31:1,32:1};var xc,yc=false,zc,Ac,Bc;_=Gc.prototype=Fc.prototype=new E;_.y=function Hc(){(Cc(),yc)&&Dc()};_.cM={};_=Pc.prototype=Ic.prototype=new E;_.cM={};_.b=null;var Jc;_=Sc.prototype=new E;_.cM={};_.g=null;_=Rc.prototype=new Sc;_.F=function Tc(){this.f=false;this.g=null};_.cM={};_.f=false;_=Qc.prototype=new Rc;_.E=function Wc(){return this.G()};_.cM={};_.b=null;_.c=null;var Uc=null;_=Zc.prototype=new E;_.hC=function _c(){return this.d};_.cM={};_.d=0;var $c=0;_=ad.prototype=Yc.prototype=new Zc;_.cM={};_=bd.prototype=Xc.prototype=new Yc;_.cM={3:1};_.b=null;_.c=null;_=cd.prototype=new Qc;_.cM={};_=ed.prototype=new cd;_.cM={};_=id.prototype=dd.prototype=new ed;_.D=function jd(b){hd(this,qe(b,4))};_.G=function kd(){return fd};_.cM={};var fd;_=od.prototype=ld.prototype=new ed;_.D=function pd(b){qe(qe(b,5),6).f.i.bb()};_.G=function qd(){return md};_.cM={};var md;_=ud.prototype=rd.prototype=new ed;_.D=function vd(b){qe(b,7).H(this)};_.G=function wd(){return sd};_.cM={};var sd;_=yd.prototype=xd.prototype=new E;_.cM={};_.b=null;_=Bd.prototype=zd.prototype=new Rc;_.D=function Cd(b){qe(b,8).I(this)};_.E=function Ed(){return Ad};_.cM={};var Ad=null;_=Id.prototype=Hd.prototype=Fd.prototype=new E;_.cM={25:1};_.b=null;_.c=null;_=Ld.prototype=new E;_.cM={};_=Kd.prototype=new Ld;_.J=function Ud(b,c,d){this.c>0?Md(this,new lj(this,b,d)):Qd(this,b,d)};_.cM={};_.b=null;_.c=0;_.d=false;_=Vd.prototype=Jd.prototype=new Kd;_.J=function Wd(b,c,d){this.c>0?Md(this,new lj(this,b,d)):Qd(this,b,d)};_.cM={};_=Yd.prototype=Xd.prototype=new E;_.cM={};_.b=null;_=_d.prototype=$d.prototype=new I;_.cM={2:1,9:1,10:1,30:1};_.b=null;_=ae.prototype=Zd.prototype=new $d;_.cM={2:1,9:1,10:1,30:1};_=ce.prototype=be.prototype=new E;_.cM={18:1};_=ee.prototype=de.prototype=new E;_.cM={};_.aC=null;_.qI=0;var ke,le;var He=null;var Me,Ne,Oe;_=Re.prototype=Qe.prototype=new E;_.cM={26:1};_=Ue.prototype=Te.prototype=new E;_.cM={};_.b=0;_.c=0;_.d=0;_.e=null;_.f=0;_=Ve.prototype=new E;_.cM={};_=Ye.prototype=We.prototype=new E;_.cM={};var Xe=null;_=_e.prototype=Ze.prototype=new Ve;_.cM={};var $e=null;var af=null;_=ff.prototype=ef.prototype=new E;_.cM={};_.b=null;_.c=null;_.d=null;_=hf.prototype=gf.prototype=new I;_.cM={2:1,10:1,30:1};_=of.prototype=jf.prototype=new E;_.cM={};_.d=false;_.f=false;_=qf.prototype=new E;_.K=function wf(){this.c||kn(rf,this);this.L()};_.cM={13:1};_.c=false;_.d=0;var rf;_=xf.prototype=pf.prototype=new qf;_.L=function yf(){if(!this.b.d){return}kf(this.b)};_.cM={13:1};_.b=null;_=Af.prototype=zf.prototype=new qf;_.L=function Bf(){this.b.f=false;lf(this.b,(new Date).getTime())};_.cM={13:1};_.b=null;_=Hf.prototype=Cf.prototype=new E;_.M=function If(){return this.d<this.b};_.N=function Jf(){return Ff(this)};_.O=function Kf(){Gf(this)};_.cM={};_.b=0;_.c=-1;_.d=0;_.e=null;var Lf=null,Mf=null;var Sf;var Vf=null;_=_f.prototype=Xf.prototype=new Rc;_.D=function ag(b){yk(qe(b,12),this);Zf.d=false};_.E=function cg(){return Yf};_.F=function dg(){$f(this)};_.cM={};_.b=false;_.c=false;_.d=false;_.e=null;var Yf=null,Zf=null;_=fg.prototype=eg.prototype=new E;_.I=function gg(b){while((sf(),rf).c>0){tf(qe(gn(rf,0),13))}};_.cM={8:1,18:1};var ig=false,jg=null;_=rg.prototype=og.prototype=new Rc;_.D=function sg(b){ve(b);null.xb()};_.E=function tg(){return pg};_.cM={};var pg;_=vg.prototype=ug.prototype=new Fd;_.cM={25:1};var wg=false;var Ag=null,Bg=null,Cg=null,Dg=null,Eg=null;_=Mg.prototype=new E;_.cM={28:1};_.x=null;_=Lg.prototype=new Mg;_.Q=function _g(){};_.R=function ah(){};_.S=function bh(){return this.t};_.T=function ch(){Ug(this)};_.P=function dh(b){Vg(this,b)};_.U=function eh(){Wg(this)};_.V=function fh(){};_.W=function gh(){};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.t=false;_.u=0;_.v=null;_.w=null;_=Kg.prototype=new Lg;_.Q=function hh(){uh(this,(sh(),qh))};_.R=function ih(){uh(this,(sh(),rh))};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=Jg.prototype=new Kg;_.Y=function lh(){return new _i(this.b)};_.X=function mh(b){return kh(this,b)};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=Ig.prototype=new Jg;_.X=function oh(b){var c;c=kh(this,b);c&&nh(b.x);return c};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=th.prototype=ph.prototype=new Zd;_.cM={2:1,9:1,10:1,30:1};var qh,rh;_=wh.prototype=vh.prototype=new E;_.Z=function xh(b){b.T()};_.cM={};_=zh.prototype=yh.prototype=new E;_.Z=function Ah(b){b.U()};_.cM={};_=Bh.prototype=new Lg;_.S=function Dh(){if(this.s){return this.s.t}return false};_.T=function Eh(){if(this.u!=-1){$g(this.s,this.u);this.u=-1}Ug(this.s);this.x.__listener=this;this.V()};_.P=function Fh(b){Vg(this,b);Vg(this.s,b)};_.U=function Gh(){try{this.W()}finally{Wg(this.s)}};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.s=null;_=Ih.prototype=Hh.prototype=new Jg;_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=Jh.prototype=new Lg;_.T=function Kh(){var b;Ug(this);b=Ob(this.x);-1==b&&(this.x.tabIndex=0,undefined)};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=Mh.prototype=Lh.prototype=new Jg;_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=Rh.prototype=Nh.prototype=new Lg;_.P=function Sh(b){xg(b.type)==32768&&!!this.b&&(this.x[Io]=Yn,undefined);Vg(this,b)};_.V=function Th(){var b;b=Ib(this.x,Io);al(vo,b)&&Uf(new $h(this))};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.b=null;_=Vh.prototype=new E;_.cM={};_=Xh.prototype=Uh.prototype=new Vh;_.cM={};_.b=0;_.c=0;_.d=0;_.e=null;_.f=0;_=$h.prototype=Yh.prototype=new E;_.y=function _h(){Zh(this)};_.cM={11:1};_.b=null;_=fi.prototype=ai.prototype=new Ig;_.cM={14:1,15:1,16:1,17:1,24:1,25:1,27:1,28:1};var bi,ci,di;_=ki.prototype=ji.prototype=new E;_.Z=function li(b){b.S()&&b.U()};_.cM={};_=ni.prototype=mi.prototype=new E;_.I=function oi(b){hi()};_.cM={8:1,18:1};_=qi.prototype=pi.prototype=new ai;_.cM={14:1,15:1,16:1,17:1,24:1,25:1,27:1,28:1};_=ti.prototype=new Jh;_.$=function xi(){return ui(this)};_.P=function yi(b){var c;c=xg(b.type);(c&896)!=0?Vg(this,b):Vg(this,b)};_.V=function zi(){};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=si.prototype=new ti;_.$=function Bi(){var b;return b=ui(this),b==null?Yn:b};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=Ci.prototype=ri.prototype=new si;_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=Di.prototype=new Ub;_.cM={29:1,30:1,31:1,32:1};var Ei,Fi,Gi,Hi;_=Ki.prototype=Ji.prototype=new Di;_.cM={29:1,30:1,31:1,32:1};_=Mi.prototype=Li.prototype=new Di;_.cM={29:1,30:1,31:1,32:1};_=Oi.prototype=Ni.prototype=new Di;_.cM={29:1,30:1,31:1,32:1};_=Qi.prototype=Pi.prototype=new Di;_.cM={29:1,30:1,31:1,32:1};_=Xi.prototype=Ri.prototype=new E;_.Y=function Yi(){return new _i(this)};_.cM={};_.b=null;_.c=null;_.d=0;_=_i.prototype=Zi.prototype=new E;_.M=function aj(){return this.b<this.c.d-1};_.N=function bj(){return $i(this)};_.O=function cj(){if(this.b<0||this.b>=this.c.d){throw new Sk}this.c.c.X(this.c.b[this.b--])};_.cM={};_.b=-1;_.c=null;_=gj.prototype=ej.prototype=new E;_.cM={};_.b=null;_.c=null;_.d=null;_.e=null;_=ij.prototype=hj.prototype=new E;_.y=function jj(){Od(this.b,this.d,this.c)};_.cM={21:1};_.b=null;_.c=null;_.d=null;_=lj.prototype=kj.prototype=new E;_.y=function mj(){Qd(this.b,this.d,this.c)};_.cM={21:1};_.b=null;_.c=null;_.d=null;_=rj.prototype=nj.prototype=new E;_.cM={};_.b=null;var sj=null,tj=null,uj=null;_=xj.prototype=vj.prototype=new E;_.cM={};_.b=false;_=Ej.prototype=Dj.prototype=new E;_._=function Fj(b,c){};_.ab=function Gj(){};_.bb=function Hj(){};_.cb=function Ij(){};_.db=function Jj(){};_.eb=function Kj(){};_.cM={};_=Nj.prototype=new E;_.fb=function Qj(b){return Yn+b};_._=function Rj(b,c){if(this.i){this.j+=b;this.k+=c;Pj(this);this.gb(b,c);Oj(this)}};_.gb=function Sj(b,c){};_.ab=function Tj(){this.i=true;kk(this.n)};_.bb=function Uj(){if(!this.i){nk(this.n);this.i=false}};_.cb=function Vj(){this.i||mk(this.n)};_.db=function Wj(){this.i=false;gk(this.n)?mk(this.n):nk(this.n);this.hb(this.j,this.k)};_.hb=function Xj(b,c){};_.eb=function Yj(){Oj(this)};_.cM={};_.i=false;_.j=0;_.k=1;_.n=null;_=Mj.prototype=new Nj;_.fb=function _j(b){var c,d;c=b*this.c+this.e;d=Zj(this,c);return this.f!=null&&!!this.f.length?bl(this.f,Qo,Yn+d):Yn+d};_.gb=function ak(b,c){this.d=false};_.ib=function bk(b,c){};_.hb=function ck(b,c){var d,e;d=Zj(this,b*this.c+this.e);e=Zj(this,c*this.c+this.e);this.ib(d,e)};_.cM={};_.c=0;_.d=false;_.e=0;_.f=null;_.g=0;_=dk.prototype=Lj.prototype=new Mj;_.ib=function ek(b,c){var d=this.b;d&&typeof d==$n&&d(b,c)};_.cM={};_.b=null;_=tk.prototype=fk.prototype=new Bh;_.V=function uk(){this.i.eb()};_.W=function vk(){Ak(this.g)};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.c=0;_.d=null;_.e=null;_.f=null;_.j=null;_.k=null;_.n=null;_.o=null;_.q=null;_.r=null;_=Bk.prototype=wk.prototype=new E;_.H=function Ck(b){this.f.i.cb()};_.cM={4:1,5:1,6:1,7:1,12:1,18:1};_.b=0;_.c=0;_.d=false;_.e=false;_.f=null;_=Ek.prototype=Dk.prototype=new E;_.H=function Fk(b){zk(this.b)};_.cM={7:1,18:1};_.b=null;_=Ik.prototype=Gk.prototype=new E;_.cM={};_.b=0;_.c=0;_.d=0;_.e=0;_=Kk.prototype=Jk.prototype=new I;_.cM={2:1,10:1,30:1};_=Mk.prototype=Lk.prototype=new E;_.cM={};_=Ok.prototype=Nk.prototype=new I;_.cM={2:1,10:1,30:1};_=Qk.prototype=Pk.prototype=new I;_.cM={2:1,10:1,30:1};_=Tk.prototype=Sk.prototype=Rk.prototype=new I;_.cM={2:1,10:1,30:1};_=Wk.prototype=Vk.prototype=Uk.prototype=new I;_.cM={2:1,10:1,30:1};_=Zk.prototype=Yk.prototype=Xk.prototype=new I;_.cM={2:1,10:1,30:1};_=_k.prototype=$k.prototype=new E;_.cM={30:1,33:1};_=String.prototype;_.eQ=function fl(b){return al(this,b)};_.hC=function hl(){return nl(this)};_.cM={1:1,30:1,31:1};var il,jl=0,kl;_=sl.prototype=pl.prototype=new E;_.cM={};_=ul.prototype=tl.prototype=new I;_.cM={2:1,10:1,30:1};_=vl.prototype=new E;_.jb=function xl(b){throw new ul('Add not supported on this collection')};_.kb=function yl(b){var c;c=wl(this.Y(),b);return !!c};_.lb=function zl(){return this.nb()==0};_.mb=function Al(b){var c;c=wl(this.Y(),b);if(c){c.O();return true}else{return false}};_.ob=function Bl(b){var c,d,e;e=this.nb();b.length<e&&(b=fe(b,e));d=this.Y();for(c=0;c<e;++c){je(b,c,d.N())}b.length>e&&je(b,e,null);return b};_.cM={};_=Dl.prototype=new E;_.eQ=function Fl(b){var c,d,e,f,g;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[19])){return false}f=qe(b,19);if(this.e!=f.e){return false}for(d=new jm((new bm(f)).b);Mm(d.b);){c=d.c=qe(Nm(d.b),34);e=c.qb();g=c.$();if(!(e==null?this.d:e!=null&&e.cM&&!!e.cM[1]?ao+qe(e,1) in this.f:Nl(this,e,~~Q(e)))){return false}if(!Vn(g,e==null?this.c:e!=null&&e.cM&&!!e.cM[1]?this.f[ao+qe(e,1)]:Ml(this,e,~~Q(e)))){return false}}return true};_.hC=function Gl(){var b,c,d;d=0;for(c=new jm((new bm(this)).b);Mm(c.b);){b=c.c=qe(Nm(c.b),34);d+=b.hC();d=~~d}return d};_.cM={19:1};_=Cl.prototype=new Dl;_.pb=function Xl(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)};_.cM={19:1};_.b=null;_.c=null;_.d=false;_.e=0;_.f=null;_=Zl.prototype=new vl;_.eQ=function $l(b){var c,d,e;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[35])){return false}d=qe(b,35);if(d.nb()!=this.nb()){return false}for(c=d.Y();c.M();){e=c.N();if(!this.kb(e)){return false}}return true};_.hC=function _l(){var b,c,d;b=0;for(c=this.Y();c.M();){d=c.N();if(d!=null){b+=Q(d);b=~~b}}return b};_.cM={35:1};_=bm.prototype=Yl.prototype=new Zl;_.kb=function cm(b){return am(this,b)};_.Y=function dm(){return new jm(this.b)};_.mb=function em(b){var c;if(am(this,b)){c=qe(b,34).qb();Tl(this.b,c);return true}return false};_.nb=function fm(){return this.b.e};_.cM={35:1};_.b=null;_=jm.prototype=gm.prototype=new E;_.M=function km(){return Mm(this.b)};_.N=function lm(){return this.c=qe(Nm(this.b),34)};_.O=function mm(){im(this)};_.cM={};_.b=null;_.c=null;_.d=null;_=om.prototype=new E;_.eQ=function pm(b){var c;if(b!=null&&b.cM&&!!b.cM[34]){c=qe(b,34);if(Vn(this.qb(),c.qb())&&Vn(this.$(),c.$())){return true}}return false};_.hC=function qm(){var b,c;b=0;c=0;this.qb()!=null&&(b=Q(this.qb()));this.$()!=null&&(c=Q(this.$()));return b^c};_.cM={34:1};_=rm.prototype=nm.prototype=new om;_.qb=function sm(){return null};_.$=function tm(){return this.b.c};_.rb=function um(b){return Rl(this.b,b)};_.cM={34:1};_.b=null;_=wm.prototype=vm.prototype=new om;_.qb=function xm(){return this.b};_.$=function ym(){return this.c.f[ao+this.b]};_.rb=function zm(b){return Sl(this.c,this.b,b)};_.cM={34:1};_.b=null;_.c=null;_=Am.prototype=new vl;_.jb=function Bm(b){this.sb(this.nb(),b);return true};_.sb=function Cm(b,c){throw new ul('Add not supported on this list')};_.eQ=function Em(b){var c,d,e,f,g;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[20])){return false}g=qe(b,20);if(this.nb()!=g.nb()){return false}e=new Pm(this);f=g.Y();while(e.c<e.e.nb()){c=Nm(e);d=Nm(f);if(!(c==null?d==null:P(c,d))){return false}}return true};_.hC=function Fm(){var b,c,d;c=1;b=new Pm(this);while(b.c<b.e.nb()){d=Nm(b);c=31*c+(d==null?0:Q(d));c=~~c}return c};_.Y=function Hm(){return new Pm(this)};_.ub=function Im(){return new Vm(this,0)};_.vb=function Jm(b){return new Vm(this,b)};_.wb=function Km(b){throw new ul('Remove not supported on this list')};_.cM={20:1};_=Pm.prototype=Lm.prototype=new E;_.M=function Qm(){return this.c<this.e.nb()};_.N=function Rm(){return Nm(this)};_.O=function Sm(){Om(this)};_.cM={};_.c=0;_.d=-1;_.e=null;_=Vm.prototype=Tm.prototype=new Lm;_.cM={};_.b=null;_=Xm.prototype=Wm.prototype=new Zl;_.kb=function Ym(b){return Kl(this.b,b)};_.Y=function Zm(){var b;return b=new jm(this.c.b),new an(b)};_.nb=function $m(){return this.c.b.e};_.cM={35:1};_.b=null;_.c=null;_=an.prototype=_m.prototype=new E;_.M=function bn(){return Mm(this.b.b)};_.N=function cn(){var b;b=hm(this.b);return b.qb()};_.O=function dn(){im(this.b)};_.cM={};_.b=null;_=ln.prototype=en.prototype=new Am;_.jb=function mn(b){return je(this.b,this.c++,b),true};_.sb=function nn(b,c){(b<0||b>this.c)&&Gm(b,this.c);this.b.splice(b,0,c);++this.c};_.kb=function on(b){return hn(this,b,0)!=-1};_.tb=function pn(b){return Dm(b,this.c),this.b[b]};_.lb=function qn(){return this.c==0};_.wb=function rn(b){return jn(this,b)};_.mb=function sn(b){return kn(this,b)};_.nb=function tn(){return this.c};_.ob=function un(b){var c,d,e;b.length<this.c&&(b=(d=b,e=ge(0,this.c),ie(d.aC,d.cM,d.qI,e),e));for(c=0;c<this.c;++c){je(b,c,this.b[c])}b.length>this.c&&je(b,this.c,null);return b};_.cM={20:1,30:1};_.c=0;var vn;_=yn.prototype=xn.prototype=new Am;_.kb=function zn(b){return false};_.tb=function An(b){throw new Vk};_.nb=function Bn(){return 0};_.cM={20:1,30:1};_=En.prototype=Cn.prototype=new Cl;_.cM={19:1,30:1};_=Hn.prototype=Fn.prototype=new Zl;_.jb=function In(b){var c;return c=Pl(this.b,b,this),c==null};_.kb=function Jn(b){return Kl(this.b,b)};_.lb=function Kn(){return this.b.e==0};_.Y=function Ln(){var b;return b=new jm(El(this.b).c.b),new an(b)};_.mb=function Mn(b){return Tl(this.b,b)!=null};_.nb=function Nn(){return this.b.e};_.cM={30:1,35:1};_.b=null;_=Pn.prototype=On.prototype=new om;_.qb=function Qn(){return this.b};_.$=function Rn(){return this.c};_.rb=function Sn(b){var c;c=this.c;this.c=b;return c};_.cM={34:1};_.b=null;_.c=null;_=Un.prototype=Tn.prototype=new I;_.cM={2:1,10:1,30:1};var Xn=X;var Be=new Mk,we=new Mk,xe=new Mk,ze=new Mk,ye=new Mk,Ce=new Mk,Ae=new Mk;$stats && $stats({moduleName:'de.factfinder.asn.slider.OneTouchSlider',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalEnd'});if (de_factfinder_asn_slider_OneTouchSlider && de_factfinder_asn_slider_OneTouchSlider.onScriptLoad)de_factfinder_asn_slider_OneTouchSlider.onScriptLoad(gwtOnLoad);})();
|
skin/frontend/base/default/js/factfinder_onetouchslider/75B23D057185BAB61CFE100CE08C4D84.cache.js
ADDED
@@ -0,0 +1,477 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function(){var $gwt_version = "2.3.0";var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var $strongName = '75B23D057185BAB61CFE100CE08C4D84';var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null;var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;$stats && $stats({moduleName:'de.factfinder.asn.slider.OneTouchSlider',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});function E(){}
|
2 |
+
function K(){}
|
3 |
+
function J(){}
|
4 |
+
function I(){}
|
5 |
+
function H(){}
|
6 |
+
function S(){}
|
7 |
+
function Z(){}
|
8 |
+
function Fn(){}
|
9 |
+
function eb(){}
|
10 |
+
function nb(){}
|
11 |
+
function pb(){}
|
12 |
+
function ob(){}
|
13 |
+
function Db(){}
|
14 |
+
function Cb(){}
|
15 |
+
function Rb(){}
|
16 |
+
function Qb(){}
|
17 |
+
function Tb(){}
|
18 |
+
function Sb(){}
|
19 |
+
function Vb(){}
|
20 |
+
function Ub(){}
|
21 |
+
function Xb(){}
|
22 |
+
function Wb(){}
|
23 |
+
function Zb(){}
|
24 |
+
function Yb(){}
|
25 |
+
function _b(){}
|
26 |
+
function $b(){}
|
27 |
+
function bc(){}
|
28 |
+
function ac(){}
|
29 |
+
function dc(){}
|
30 |
+
function cc(){}
|
31 |
+
function fc(){}
|
32 |
+
function ec(){}
|
33 |
+
function pc(){}
|
34 |
+
function oc(){}
|
35 |
+
function yc(){}
|
36 |
+
function rc(){}
|
37 |
+
function Bc(){}
|
38 |
+
function Ac(){}
|
39 |
+
function zc(){}
|
40 |
+
function Ic(){}
|
41 |
+
function Hc(){}
|
42 |
+
function Gc(){}
|
43 |
+
function Nc(){}
|
44 |
+
function Pc(){}
|
45 |
+
function Tc(){}
|
46 |
+
function Oc(){}
|
47 |
+
function Zc(){}
|
48 |
+
function Wc(){}
|
49 |
+
function dd(){}
|
50 |
+
function ad(){}
|
51 |
+
function gd(){}
|
52 |
+
function kd(){}
|
53 |
+
function id(){}
|
54 |
+
function od(){}
|
55 |
+
function ud(){}
|
56 |
+
function td(){}
|
57 |
+
function sd(){}
|
58 |
+
function Gd(){}
|
59 |
+
function Jd(){}
|
60 |
+
function Id(){}
|
61 |
+
function Nd(){}
|
62 |
+
function Md(){}
|
63 |
+
function Pd(){}
|
64 |
+
function Od(){}
|
65 |
+
function Ae(){}
|
66 |
+
function ze(){}
|
67 |
+
function Ce(){}
|
68 |
+
function Ee(){}
|
69 |
+
function He(){}
|
70 |
+
function Fe(){}
|
71 |
+
function Ke(){}
|
72 |
+
function Ie(){}
|
73 |
+
function Pe(){}
|
74 |
+
function Re(){}
|
75 |
+
function Te(){}
|
76 |
+
function $e(){}
|
77 |
+
function Ze(){}
|
78 |
+
function hf(){}
|
79 |
+
function lf(){}
|
80 |
+
function Jf(){}
|
81 |
+
function Ff(){}
|
82 |
+
function Pf(){}
|
83 |
+
function Of(){}
|
84 |
+
function Yf(){}
|
85 |
+
function cg(){}
|
86 |
+
function wg(){}
|
87 |
+
function vg(){}
|
88 |
+
function ug(){}
|
89 |
+
function tg(){}
|
90 |
+
function sg(){}
|
91 |
+
function _g(){}
|
92 |
+
function gh(){}
|
93 |
+
function fh(){}
|
94 |
+
function jh(){}
|
95 |
+
function ih(){}
|
96 |
+
function lh(){}
|
97 |
+
function rh(){}
|
98 |
+
function th(){}
|
99 |
+
function vh(){}
|
100 |
+
function xh(){}
|
101 |
+
function Fh(){}
|
102 |
+
function Eh(){}
|
103 |
+
function Ih(){}
|
104 |
+
function Mh(){}
|
105 |
+
function Wh(){}
|
106 |
+
function Vh(){}
|
107 |
+
function Zh(){}
|
108 |
+
function Yh(){}
|
109 |
+
function _h(){}
|
110 |
+
function di(){}
|
111 |
+
function ci(){}
|
112 |
+
function bi(){}
|
113 |
+
function ni(){}
|
114 |
+
function ui(){}
|
115 |
+
function ti(){}
|
116 |
+
function wi(){}
|
117 |
+
function vi(){}
|
118 |
+
function yi(){}
|
119 |
+
function xi(){}
|
120 |
+
function Ai(){}
|
121 |
+
function zi(){}
|
122 |
+
function Bi(){}
|
123 |
+
function Ji(){}
|
124 |
+
function Qi(){}
|
125 |
+
function Ti(){}
|
126 |
+
function Wi(){}
|
127 |
+
function Zi(){}
|
128 |
+
function hj(){}
|
129 |
+
function fj(){}
|
130 |
+
function oj(){}
|
131 |
+
function nj(){}
|
132 |
+
function xj(){}
|
133 |
+
function wj(){}
|
134 |
+
function vj(){}
|
135 |
+
function Rj(){}
|
136 |
+
function gk(){}
|
137 |
+
function nk(){}
|
138 |
+
function qk(){}
|
139 |
+
function tk(){}
|
140 |
+
function wk(){}
|
141 |
+
function vk(){}
|
142 |
+
function xk(){}
|
143 |
+
function zk(){}
|
144 |
+
function Bk(){}
|
145 |
+
function Ek(){}
|
146 |
+
function Hk(){}
|
147 |
+
function Kk(){}
|
148 |
+
function $k(){}
|
149 |
+
function cl(){}
|
150 |
+
function el(){}
|
151 |
+
function ml(){}
|
152 |
+
function ll(){}
|
153 |
+
function Il(){}
|
154 |
+
function Hl(){}
|
155 |
+
function Rl(){}
|
156 |
+
function Zl(){}
|
157 |
+
function Yl(){}
|
158 |
+
function em(){}
|
159 |
+
function jm(){}
|
160 |
+
function um(){}
|
161 |
+
function Cm(){}
|
162 |
+
function Fm(){}
|
163 |
+
function Km(){}
|
164 |
+
function Pm(){}
|
165 |
+
function gn(){}
|
166 |
+
function fn(){}
|
167 |
+
function ln(){}
|
168 |
+
function on(){}
|
169 |
+
function xn(){}
|
170 |
+
function Cn(){}
|
171 |
+
function Lk(b){}
|
172 |
+
function M(b){kb()}
|
173 |
+
function N(){kb()}
|
174 |
+
function Se(){kb()}
|
175 |
+
function uk(){kb()}
|
176 |
+
function yk(){kb()}
|
177 |
+
function Ck(){kb()}
|
178 |
+
function Fk(){kb()}
|
179 |
+
function Ik(){kb()}
|
180 |
+
function Dn(){kb()}
|
181 |
+
function Dk(b){kb()}
|
182 |
+
function Ak(b){kb()}
|
183 |
+
function Gk(b){kb()}
|
184 |
+
function Jk(b){kb()}
|
185 |
+
function dl(b){kb()}
|
186 |
+
function _f(){$f()}
|
187 |
+
function nn(){sl(this)}
|
188 |
+
function hd(){this.b={}}
|
189 |
+
function Hd(b){this.b=b}
|
190 |
+
function Kh(b){this.b=b}
|
191 |
+
function ok(b){this.b=b}
|
192 |
+
function lk(b){this.f=b}
|
193 |
+
function qf(b){this.e=b}
|
194 |
+
function ym(b){this.e=b}
|
195 |
+
function am(b){this.b=b}
|
196 |
+
function Lm(b){this.b=b}
|
197 |
+
function Li(b){this.c=b}
|
198 |
+
function Ml(b){this.b=b}
|
199 |
+
function bl(){this.b=new pb}
|
200 |
+
function qn(){this.b=new nn}
|
201 |
+
function yh(){yh=Fn;new nn}
|
202 |
+
function ab(){ab=Fn;$=new eb}
|
203 |
+
function tc(){tc=Fn;sc=new yc}
|
204 |
+
function Bf(){Bf=Fn;Af=new Ye}
|
205 |
+
function $f(){$f=Fn;Zf=new Lc}
|
206 |
+
function ij(){ij=Fn;cj=new hj}
|
207 |
+
function en(){en=Fn;dn=new gn}
|
208 |
+
function ki(){ki=Fn;si()}
|
209 |
+
function Lc(){this.d=++Jc}
|
210 |
+
function yg(b,c){b.x=c}
|
211 |
+
function zg(b,c){Bg(b.x,c,true)}
|
212 |
+
function Ci(b,c){Ei(b,c,b.d)}
|
213 |
+
function Xe(b,c){Qm(b.c,c);We(b)}
|
214 |
+
function zf(b){vf=b;gg();ig=b}
|
215 |
+
function ff(b){af();this.b=b}
|
216 |
+
function jf(b){af();this.b=b}
|
217 |
+
function nf(b){return b.d<b.b}
|
218 |
+
function ue(b){return b.l|b.m<<22}
|
219 |
+
function Ri(b){b.b.F(b.e,b.d,b.c)}
|
220 |
+
function Dg(b,c){!!b.v&&pd(b.v,c)}
|
221 |
+
function Ld(b){Kd.call(this,b)}
|
222 |
+
function dh(b){Kd.call(this,b)}
|
223 |
+
function R(c,b){c[c.length]=b}
|
224 |
+
function fm(b,c){this.c=b;this.b=c}
|
225 |
+
function Gm(b,c){this.b=b;this.c=c}
|
226 |
+
function yn(b,c){this.b=b;this.c=c}
|
227 |
+
function gi(b){this.x=b;new Nd}
|
228 |
+
function O(b){kb();this.b=b;jb(this)}
|
229 |
+
function bj(){ij();this.b=$doc.body}
|
230 |
+
function mf(b){return Rm(b.e.c,b.c)}
|
231 |
+
function vm(b){return b.c<b.e.jb()}
|
232 |
+
function xl(c,b){return Ao+b in c.f}
|
233 |
+
function $d(b,c){return b.cM&&b.cM[c]}
|
234 |
+
function mm(b,c){(b<0||b>=c)&&pm(b,c)}
|
235 |
+
function _k(b,c){b.b.b+=c;return b}
|
236 |
+
function al(b,c){b.b.b+=c;return b}
|
237 |
+
function aj(b){qb(b.b,qo);sb(b.b,ro)}
|
238 |
+
function $i(b){sb(b.b,qo);sb(b.b,ro)}
|
239 |
+
function _i(b){sb(b.b,qo);qb(b.b,ro)}
|
240 |
+
function jk(b){!b.f.f&&(b.f.f=Ef(b))}
|
241 |
+
function db(b,c){b.c=fb(b.c,[c,false])}
|
242 |
+
function Rc(){Rc=Fn;Qc=new Mc(Ln,new Tc)}
|
243 |
+
function Yc(){Yc=Fn;Xc=new Mc(Mn,new Zc)}
|
244 |
+
function cd(){cd=Fn;bd=new Mc(Nn,new dd)}
|
245 |
+
function ch(){ch=Fn;ah=new gh;bh=new jh}
|
246 |
+
function af(){af=Fn;_e=new Vm;Uf(new Pf)}
|
247 |
+
function Wk(){Wk=Fn;Tk={};Vk={}}
|
248 |
+
function Wf(){if(!Sf){rg();Sf=true}}
|
249 |
+
function gg(){if(!eg){ng();pg();eg=true}}
|
250 |
+
function Ed(b){this.e=new nn;this.d=b}
|
251 |
+
function rd(b,c){this.b=new Ed(c);this.c=b}
|
252 |
+
function qd(b){this.b=new Ed(false);this.c=b}
|
253 |
+
function Vm(){this.b=Sd(je,{30:1},0,0,0)}
|
254 |
+
function Sl(b){return b.c=_d(wm(b.b),34)}
|
255 |
+
function V(b,c,d){return b.apply(c,d);var e}
|
256 |
+
function _j(b,c,d){Xj(b,c,b.d);Xj(b,d,b.j)}
|
257 |
+
function Rm(b,c){mm(c,b.c);return b.b[c]}
|
258 |
+
function Qm(b,c){Ud(b.b,b.c++,c);return true}
|
259 |
+
function zh(b,c){Ah(b,c.e,c.c,c.d,c.f,c.b)}
|
260 |
+
function Ah(b,c,d,e,f,g){Gh(b.b,b,c,d,e,f,g)}
|
261 |
+
function xd(b,c,d){var e;e=Ad(b,c);e.fb(d)}
|
262 |
+
function Qe(b,c,d){this.c=b;this.d=c;this.b=d}
|
263 |
+
function Ui(b,c,d){this.b=b;this.d=c;this.c=d}
|
264 |
+
function Xi(b,c,d){this.b=b;this.d=c;this.c=d}
|
265 |
+
function dg(){this.b=new Ed(false);this.c=null}
|
266 |
+
function ai(){Rh.call(this,(Qh(),$doc.body))}
|
267 |
+
function Oe(b){b.parentNode.removeChild(b)}
|
268 |
+
function md(b){var c;if(jd){c=new kd;pd(b,c)}}
|
269 |
+
function vd(b,c){!b.b&&(b.b=new Vm);Qm(b.b,c)}
|
270 |
+
function fi(b,c){b.W();b.x[oo]=c!=null?c:Hn}
|
271 |
+
function fb(b,c){!b&&(b=[]);b[b.length]=c;return b}
|
272 |
+
function lb(){try{null.a()}catch(b){return b}}
|
273 |
+
function ee(b){if(b!=null){throw new yk}return null}
|
274 |
+
function kk(b){if(b.f.f){Ri(b.f.f.b);b.f.f=null}}
|
275 |
+
function Zk(){if(Uk==256){Tk=Vk;Vk={};Uk=0}++Uk}
|
276 |
+
function lc(){lc=Fn;ic=[];jc=[];kc=[];gc=new pc}
|
277 |
+
function Xd(){Xd=Fn;Vd=[];Wd=[];Yd(new Pd,Vd,Wd)}
|
278 |
+
function Qh(){Qh=Fn;Nh=new Wh;Oh=new nn;Ph=new qn}
|
279 |
+
function nl(b){var c;c=new Ml(b);return new Gm(b,c)}
|
280 |
+
function pn(b,c){var d;d=yl(b.b,c,b);return d==null}
|
281 |
+
function ib(b,c){b.length>=c&&b.splice(0,c);return b}
|
282 |
+
function Ok(c,b){return c.substr(b,c.length-b)}
|
283 |
+
function rb(c,b){return c[b]==null?null:String(c[b])}
|
284 |
+
function be(b,c){return b!=null&&b.cM&&!!b.cM[c]}
|
285 |
+
function hg(b){return !ce(b)&&b!=null&&b.cM&&!!b.cM[14]}
|
286 |
+
function Sj(b){return rk(new sk(b.s.x),b.g.b,b.g.c)}
|
287 |
+
function pe(b,c,d){return a=new Ae,a.l=b,a.m=c,a.h=d,a}
|
288 |
+
function Uf(b){Wf();return Vf(jd?jd:(jd=new Lc),b)}
|
289 |
+
function Nk(d,b,c){c=Qk(c);return d.replace(RegExp(b),c)}
|
290 |
+
function nc(){lc();if(!hc){hc=true;db((ab(),$),gc)}}
|
291 |
+
function Th(){Qh();try{eh(Ph,Nh)}finally{sl(Ph.b);sl(Oh)}}
|
292 |
+
function Sh(b){Qh();try{b.Q()}finally{Cl(Ph.b,b)!=null}}
|
293 |
+
function Rh(b){this.b=new Hi(this);this.x=b;Eg(this)}
|
294 |
+
function Si(b,c,d){this.b=b;this.e=c;this.d=null;this.c=d}
|
295 |
+
function De(b){this.c=0;this.d=0;this.b=59;this.f=58;this.e=b}
|
296 |
+
function Hi(b){this.c=b;this.b=Sd(ie,{30:1},15,4,0)}
|
297 |
+
function sl(b){b.b=[];b.f={};b.d=false;b.c=null;b.e=0}
|
298 |
+
function We(b){if(b.c.c!=0&&!b.f&&!b.d){b.f=true;cf(b.e,1)}}
|
299 |
+
function ce(b){return b!=null&&b.tM!=Fn&&!(b.cM&&!!b.cM[1])}
|
300 |
+
function $j(b,c,d){fi(b.e,c!=null?c:Hn);fi(b.k,d!=null?d:Hn)}
|
301 |
+
function yf(b){!!vf&&b==vf&&(vf=null);gg();b===ig&&(ig=null)}
|
302 |
+
function pm(b,c){throw new Gk('Index: '+b+', Size: '+c)}
|
303 |
+
function Dm(b){if(b.c<=0){throw new Dn}return b.b.pb(b.d=--b.c)}
|
304 |
+
function Ki(b){if(b.b>=b.c.d){throw new Dn}return b.c.b[++b.b]}
|
305 |
+
function xm(b){if(b.d<0){throw new Ck}b.e.sb(b.d);b.c=b.d;b.d=-1}
|
306 |
+
function W(){if(T++==0){bb((ab(),$));return true}return false}
|
307 |
+
function wc(b,c){var d;d=uc(c);vc(b).appendChild(d);return d}
|
308 |
+
function Al(b,c){var d;d=b.c;b.c=c;if(!b.d){b.d=true;++b.e}return d}
|
309 |
+
function Gi(b,c){var d;d=Di(b,c);if(d==-1){throw new Dn}Fi(b,d)}
|
310 |
+
function _d(b,c){if(b!=null&&!(b.cM&&b.cM[c])){throw new yk}return b}
|
311 |
+
function Qd(b,c){var d,e;d=b;e=Rd(0,c);Td(d.aC,d.cM,d.qI,e);return e}
|
312 |
+
function Td(b,c,d,e){Xd();Zd(e,Vd,Wd);e.aC=b;e.cM=c;e.qI=d;return e}
|
313 |
+
function Vg(b,c,d){Hg(c);Ci(b.b,c);d.appendChild(c.x);Jg(c,b)}
|
314 |
+
function Kg(b,c){b.u==-1?qg(b.x,c|(b.x.__eventBits||0)):(b.u|=c)}
|
315 |
+
function zb(b,c){return b===c||!!(b.compareDocumentPosition(c)&16)}
|
316 |
+
function df(b,c){return $wnd.setTimeout(Gn(function(){b.G()}),c)}
|
317 |
+
function Vf(b,c){return new Hd(wd((!Tf&&(Tf=new dg),Tf).b,b,c))}
|
318 |
+
function de(b){return ~~Math.max(Math.min(b,2147483647),-2147483648)}
|
319 |
+
function Pj(b,c,d,e,f,g,h,i){Kj.call(this,b,c,d,e,f,g,h);this.b=i}
|
320 |
+
function sh(){this.b=new Hi(this);this.x=$doc.createElement(Pn)}
|
321 |
+
function El(b){var c;c=b.c;b.c=null;if(b.d){b.d=false;--b.e}return c}
|
322 |
+
function If(b){b.f=false;b.g=null;b.b=false;b.c=false;b.d=true;b.e=null}
|
323 |
+
function pf(b){Tm(b.e.c,b.c);--b.b;b.c<=b.d&&--b.d<0&&(b.d=0);b.c=-1}
|
324 |
+
function wm(b){if(b.c>=b.e.jb()){throw new Dn}return b.e.pb(b.d=b.c++)}
|
325 |
+
function ne(b){if(b!=null&&b.cM&&!!b.cM[10]){return b}return new O(b)}
|
326 |
+
function Sm(b,c,d){for(;d<b.c;++d){if(En(c,b.b[d])){return d}}return -1}
|
327 |
+
function of(b){var c;b.c=b.d;c=Rm(b.e.c,b.d++);b.d>=b.b&&(b.d=0);return c}
|
328 |
+
function vb(b){var c=b.parentNode;(!c||c.nodeType!=1)&&(c=null);return c}
|
329 |
+
function ei(b){var c,d;d=rb(b.x,oo);c=d;if(Mk(Hn,d)){return null}return c}
|
330 |
+
function Xf(){var b;if(Sf){b=new _f;!!Tf&&pd(Tf,b);return null}return null}
|
331 |
+
function Cf(b){Bf();if(!b){throw new Jk('cmd cannot be null')}Xe(Af,b)}
|
332 |
+
function qg(b,c){gg();og(b,c);c&131072&&b.addEventListener($n,lg,false)}
|
333 |
+
function Zd(b,c,d){Xd();for(var e=0,f=c.length;e<f;++e){b[c[e]]=d[e]}}
|
334 |
+
function Yd(b,c,d){var e=0,f;for(var g in b){if(f=b[g]){c[e]=g;d[e]=f;++e}}}
|
335 |
+
function Bl(f,b,c){var d,e=f.f;b=Ao+b;b in e?(d=e[b]):++f.e;e[b]=c;return d}
|
336 |
+
function Tm(b,c){var d;d=(mm(c,b.c),b.b[c]);b.b.splice(c,1);--b.c;return d}
|
337 |
+
function xc(b,c){var d;d=uc(c);vc(b).insertBefore(d,b.b.firstChild);return d}
|
338 |
+
function Di(b,c){var d;for(d=0;d<b.d;++d){if(b.b[d]==c){return d}}return -1}
|
339 |
+
function P(b,c){var d;return d=b,d.tM==Fn||d.cM&&!!d.cM[1]?d.eQ(c):d===c}
|
340 |
+
function ae(b){if(b!=null&&(b.tM==Fn||b.cM&&!!b.cM[1])){throw new yk}return b}
|
341 |
+
function Ab(b){!b.gwt_uid&&(b.gwt_uid=1);return 'gwt-uid-'+b.gwt_uid++}
|
342 |
+
function Um(b,c){var d;d=Sm(b,c,0);if(d==-1){return false}Tm(b,d);return true}
|
343 |
+
function Em(b,c){var d;this.b=b;this.e=b;d=b.jb();(c<0||c>d)&&pm(c,d);this.c=c}
|
344 |
+
function Mc(b,c){this.d=++Jc;this.b=c;!Dc&&(Dc=new hd);Dc.b[b]=this;this.c=b}
|
345 |
+
function Tj(b,c){var d,e;e=b.c>0?b.c:b.o.offsetWidth||0;d=c/e;b.i.X(d,0)}
|
346 |
+
function Uj(b,c){var d,e;e=b.c>0?b.c:b.o.offsetWidth||0;d=c/e;b.i.X(0,d)}
|
347 |
+
function Y(b,c,d){var e;e=W();try{return V(b,c,d)}finally{e&&cb((ab(),$));--T}}
|
348 |
+
function X(c){return function(){try{return Y(c,this,arguments)}catch(b){throw b}}}
|
349 |
+
function Bb(b){return Mk(b.compatMode,'CSS1Compat')?b.documentElement:b.body}
|
350 |
+
function mn(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)}
|
351 |
+
function En(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)}
|
352 |
+
function zj(b){b.k>1&&(b.k=1);b.j<0&&(b.j=0);b.j>1&&(b.j=1);b.j>b.k&&(b.k=b.j)}
|
353 |
+
function Zg(b){b.style[jo]=Hn;b.style['top']=Hn;b.style['position']=Hn}
|
354 |
+
function Fl(e,b){var c,d=e.f;b=Ao+b;if(b in d){c=d[b];--e.e;delete d[b]}return c}
|
355 |
+
function tb(b){var c=b.firstChild;while(c&&c.nodeType!=1)c=c.nextSibling;return c}
|
356 |
+
function ub(b){var c=b.nextSibling;while(c&&c.nodeType!=1)c=c.nextSibling;return c}
|
357 |
+
function vc(b){var c;if(!b.b){c=$doc.getElementsByTagName('head')[0];b.b=c}return b.b}
|
358 |
+
function bb(b){var c,d;if(b.b){d=null;do{c=b.b;b.b=null;d=gb(c,d)}while(b.b);b.b=d}}
|
359 |
+
function cb(b){var c,d;if(b.c){d=null;do{c=b.c;b.c=null;d=gb(c,d)}while(b.c);b.c=d}}
|
360 |
+
function Me(b){var c,d;Ne();c=vb(b);d=ub(b);Le.appendChild(b);return new Qe(c,d,b)}
|
361 |
+
function Q(b){var c;return c=b,c.tM==Fn||c.cM&&!!c.cM[1]?c.hC():c.$H||(c.$H=++U)}
|
362 |
+
function wf(b,c,d){var e;e=uf;uf=b;c==vf&&fg(b.type)==8192&&(vf=null);d.L(b);uf=e}
|
363 |
+
function Xj(b,c,d){var e;e=c*(b.c>0?b.c:b.o.offsetWidth||0);d.style[jo]=e+(Pb(),no)}
|
364 |
+
function Vj(b,c,d){var e,f,g;g=b.c>0?b.c:b.o.offsetWidth||0;e=c/g;f=(c+d*2)/g;b.i.X(e,f)}
|
365 |
+
function Cg(b,c,d){Kg(b,fg(d.c));return new Hd(wd((!b.v?(b.v=new qd(b)):b.v).b,d,c))}
|
366 |
+
function Wj(b){zf(b.x);_i(b.b);Bg(b.r.x,to,false);Bg(b.r.x,uo,true);zh(b.q,(kj(),ej))}
|
367 |
+
function Yj(b){yf(b.x);aj(b.b);Bg(b.r.x,uo,false);Bg(b.r.x,to,true);zh(b.q,(kj(),ej))}
|
368 |
+
function Bh(b){yh();this.b=new Hh(this,b.e,b.c,b.d,b.f,b.b);this.x[io]='gwt-Image'}
|
369 |
+
function wh(b){this.b=new Hi(this);this.x=$doc.createElement(Pn);this.x.innerHTML=b||Hn}
|
370 |
+
function Ye(){this.b=new ff(this);this.c=new Vm;this.e=new jf(this);this.g=new qf(this)}
|
371 |
+
function Ul(b){var c;this.d=b;c=new Vm;b.d&&Qm(c,new am(b));rl(b,c);ql(b,c);this.b=new ym(c)}
|
372 |
+
function xg(b,c){var d=b.parentNode;if(!d){return}d.insertBefore(c,b);d.removeChild(b)}
|
373 |
+
function Mk(b,c){if(!(c!=null&&c.cM&&!!c.cM[1])){return false}return String(b)==c}
|
374 |
+
function tl(b,c){return c==null?b.d:c!=null&&c.cM&&!!c.cM[1]?xl(b,_d(c,1)):wl(b,c,~~Q(c))}
|
375 |
+
function Cl(b,c){return c==null?El(b):c!=null&&c.cM&&!!c.cM[1]?Fl(b,_d(c,1)):Dl(b,c,~~Q(c))}
|
376 |
+
function ul(b,c){return c==null?b.c:c!=null&&c.cM&&!!c.cM[1]?b.f[Ao+_d(c,1)]:vl(b,c,~~Q(c))}
|
377 |
+
function yl(b,c,d){return c==null?Al(b,d):c!=null&&c.cM&&!!c.cM[1]?Bl(b,_d(c,1),d):zl(b,c,d,~~Q(c))}
|
378 |
+
function Ue(b){var c;c=mf(b.g);pf(b.g);c!=null&&c.cM&&!!c.cM[11]&&new Se(_d(c,11));b.d=false;We(b)}
|
379 |
+
function xf(b){var c;c=Lf(Df,b);if(!c&&!!b){b.cancelBubble=true;b.preventDefault()}return c}
|
380 |
+
function uc(b){var c;c=$doc.createElement(Kn);c['language']='text/css';c.textContent=b||Hn;return c}
|
381 |
+
function Sd(b,c,d,e,f){var g;g=Rd(f,e);Xd();Zd(g,Vd,Wd);g.aC=b;g.cM=c;g.qI=d;return g}
|
382 |
+
function fl(b,c){var d;while(b.I()){d=b.J();if(c==null?d==null:P(c,d)){return b}}return null}
|
383 |
+
function Fg(b,c){var d;switch(fg(c.type)){case 16:case 32:d=wb(c);if(!!d&&zb(b.x,d)){return}}Ec(c,b,b.x)}
|
384 |
+
function bf(b){b.c?($wnd.clearInterval(b.d),undefined):($wnd.clearTimeout(b.d),undefined);Um(_e,b)}
|
385 |
+
function Zj(b){kk(b.g);yf(b.x);$i(b.b);Bg(b.r.x,to,false);Bg(b.r.x,uo,false);zh(b.q,(jj(),dj))}
|
386 |
+
function si(){si=Fn;oi=new ui;pi=new wi;qi=new yi;ri=new Ai;Td(he,{30:1},29,[oi,pi,qi,ri])}
|
387 |
+
function Ef(b){gg();!Gf&&(Gf=new Lc);if(!Df){Df=new rd(null,true);Hf=new Jf}return new Hd(wd(Df.b,Gf,b))}
|
388 |
+
function wb(c){var d=c.relatedTarget;if(!d){return null}try{var e=d.nodeName;return d}catch(b){return null}}
|
389 |
+
function Yk(b){Wk();var c=Ao+b;var d=Vk[c];if(d!=null){return d}d=Tk[c];d==null&&(d=Xk(b));Zk();return Vk[c]=d}
|
390 |
+
function rl(f,b){var c=f.f;for(var d in c){if(d.charCodeAt(0)==58){var e=new fm(f,d.substring(1));b.fb(e)}}}
|
391 |
+
function Cd(b){var c,d;if(b.b){try{for(d=new ym(b.b);d.c<d.e.jb();){c=_d(wm(d),21);c.y()}}finally{b.b=null}}}
|
392 |
+
function Fi(b,c){var d;if(c<0||c>=b.d){throw new Fk}--b.d;for(d=c;d<b.d;++d){Ud(b.b,d,b.b[d+1])}Ud(b.b,b.d,null)}
|
393 |
+
function Tl(b){if(!b.c){throw new Dk('Must call next() before remove().')}else{xm(b.b);Cl(b.d,b.c.mb());b.c=null}}
|
394 |
+
function Ne(){if(!Le){Le=$doc.createElement(Pn);Le.style.display='none';(Qh(),$doc.body).appendChild(Le)}}
|
395 |
+
function Jh(b){var c,d;c=(d=$doc.createEvent('HTMLEvents'),d.initEvent(Xn,false,false),d);b.b.x.dispatchEvent(c)}
|
396 |
+
function oe(b){var c,d,e;c=b&4194303;d=b>>22&4194303;e=b<0?1048575:0;return a=new Ae,a.l=c,a.m=d,a.h=e,a}
|
397 |
+
function mb(b){var c,d,e;e=b&&b.stack?b.stack.split('\n'):[];for(c=0,d=e.length;c<d;++c){e[c]=hb(e[c])}return e}
|
398 |
+
function L(b){var c,d,e;d=Sd(ke,{30:1},33,b.length,0);for(e=0,c=b.length;e<c;++e){if(!b[e]){throw new Ik}d[e]=b[e]}}
|
399 |
+
function Ad(b,c){var d,e;e=_d(ul(b.e,c),19);if(!e){e=new nn;yl(b.e,c,e)}d=_d(e.c,20);if(!d){d=new Vm;Al(e,d)}return d}
|
400 |
+
function Bd(b,c){var d,e;e=_d(ul(b.e,c),19);if(!e){return en(),en(),dn}d=_d(e.c,20);if(!d){return en(),en(),dn}return d}
|
401 |
+
function zd(b,c,d){var e,f,g;e=Bd(b,c);f=e.ib(d);f&&e.hb()&&(g=_d(ul(b.e,c),19),_d(El(g),20),g.e==0&&Cl(b.e,c),undefined)}
|
402 |
+
function ak(b,c,d){var e;e=b.c>0?b.c:b.o.offsetWidth||0;b.n.style[jo]=c*e+(Pb(),no);b.n.style[po]=(d-c)*e+no}
|
403 |
+
function bk(b,c,d){var e,f;f=~~(b.q.b.f/2);e=c+(d-c)/2;b.q.x.style[jo]=e*(b.c>0?b.c:b.o.offsetWidth||0)-f+(Pb(),no)}
|
404 |
+
function Ec(b,c,d){var e,f,g;if(Dc){g=_d(Dc.b[b.type],3);if(g){e=g.b.b;f=g.b.c;g.b.b=b;g.b.c=d;Dg(c,g.b);g.b.b=e;g.b.c=f}}}
|
405 |
+
function mj(b,c,d,e,f,g,h,i,j){var k,l,m;k=Uh(b);if(k){m=new dk;m.c=i;l=new Pj(c,d,e,f,g,h,m,j);m.i=l;Vg(k,m,k.x)}}
|
406 |
+
function Kd(b){N.call(this,b.jb()==0?null:_d(b.kb(Sd(le,{22:1,30:1},10,0,0)),22)[0]);this.b=b}
|
407 |
+
function hk(b){Cg(b.f,b,(Rc(),Rc(),Qc));Cg(b.f,b,(cd(),cd(),bd));Cg(b.f,b,(Yc(),Yc(),Xc));Cg(b.f,new ok(b),bd)}
|
408 |
+
function yj(b){var c,d;c=b.bb(b.j);d=b.bb(b.k);$j(b.n,c,d);_j(b.n,b.j,b.k);ak(b.n,b.j,b.k);bk(b.n,b.j,b.k);ck(b.n,b.j,b.k)}
|
409 |
+
function kb(){var b,c,d,e;d=ib(mb(lb()),2);e=Sd(ke,{30:1},33,d.length,0);for(b=0,c=e.length;b<c;++b){e[b]=new Lk(d[b])}L(e)}
|
410 |
+
function ql(i,b){var c=i.b;for(var d in c){var e=parseInt(d,10);if(d==e){var f=c[e];for(var g=0,h=f.length;g<h;++g){b.fb(f[g])}}}}
|
411 |
+
function Wg(b,c){var d;if(c.w!=b){return false}try{Jg(c,null)}finally{d=c.x;vb(d).removeChild(d);Gi(b.b,c)}return true}
|
412 |
+
function rk(b,c,d){var e,f;f=b.c;e=b.b;if(f<0||e<0){return false}if(c<b.d||d<b.e){return false}f+=b.d;e+=b.e;return f>c&&e>d}
|
413 |
+
function Ig(b,c){b.t&&(b.x.__listener=null,undefined);!!b.x&&xg(b.x,c);b.x=c;b.t&&(b.x.__listener=b,undefined)}
|
414 |
+
function Sc(b,c){c.b=b.b.clientX||0;c.c=b.b.clientY||0;c.d=rk(new sk(c.f.d),c.b,c.c);c.e=rk(new sk(c.f.j),c.b,c.c);c.f.i.Y()}
|
415 |
+
function mh(b,c){if(b.s){throw new Dk('Composite.initWidget() may only be called once.')}Hg(c);yg(b,c.x);b.s=c;Jg(c,b)}
|
416 |
+
function gwtOnLoad(c,d,e,f){$moduleName=d;$moduleBase=e;if(c)try{Gn(me)()}catch(b){c(d)}else{Gn(me)()}}
|
417 |
+
function sk(b){this.d=xb(Bb(b.ownerDocument),b);this.e=yb(Bb(b.ownerDocument),b);this.c=b.clientWidth;this.b=b.clientHeight}
|
418 |
+
function Pi(b,c,d,e,f,g){var h;h='url('+c+lo+-d+mo+-e+no;b.style['background']=h;b.style[po]=f+(Pb(),no);b.style['height']=g+no}
|
419 |
+
function ye(){ye=Fn;ve=(a=new Ae,a.l=4194303,a.m=4194303,a.h=524287,a);we=(a=new Ae,a.l=0,a.m=0,a.h=524288,a);se(1);se(2);xe=se(0)}
|
420 |
+
function Pk(d){if(d.length==0||d[0]>Jn&&d[d.length-1]>Jn){return d}var b=d.replace(/^(\s*)/,Hn);var c=b.replace(/\s*$/,Hn);return c}
|
421 |
+
function Ag(b){var c,d;c=b[io]==null?null:String(b[io]);d=c.indexOf(String.fromCharCode(32));if(d>=0){return c.substr(0,d-0)}return c}
|
422 |
+
function Ll(b,c){var d,e,f;if(c!=null&&c.cM&&!!c.cM[34]){d=_d(c,34);e=d.mb();if(tl(b.b,e)){f=ul(b.b,e);return mn(d.W(),f)}}return false}
|
423 |
+
function vl(i,b,c){var d=i.b[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.mb();if(i.lb(b,h)){return g.W()}}}return null}
|
424 |
+
function wl(i,b,c){var d=i.b[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.mb();if(i.lb(b,h)){return true}}}return false}
|
425 |
+
function gb(c,d){var b,e,f,g;for(e=0,f=c.length;e<f;++e){g=c[e];try{g[1]?g[0].tb()&&(d=fb(d,g)):g[0].y()}catch(b){b=ne(b);if(!be(b,2))throw b}}return d}
|
426 |
+
function jb(b){var c,d,e,f;e=mb(ce(b.b)?ae(b.b):null);f=Sd(ke,{30:1},33,e.length,0);for(c=0,d=f.length;c<d;++c){f[c]=new Lk(e[c])}L(f)}
|
427 |
+
function se(b){var c,d;if(b>-129&&b<128){c=b+128;qe==null&&(qe=Sd(ge,{30:1},26,256,0));d=qe[c];!d&&(d=qe[c]=oe(b));return d}return oe(b)}
|
428 |
+
function Ud(b,c,d){if(d!=null){if(b.qI>0&&!$d(d,b.qI)){throw new uk}if(b.qI<0&&(d.tM==Fn||d.cM&&!!d.cM[1])){throw new uk}}return b[c]=d}
|
429 |
+
function Gh(b,c,d,e,f,g,h){if(!Mk(b.e,d)||b.c!=e||b.d!=f||b.f!=g||b.b!=h){b.e=d;b.c=e;b.d=f;b.f=g;b.b=h;Pi(c.x,d,e,f,g,h);Cf(new Kh(c))}}
|
430 |
+
function hb(b){var c,d,e;e=Hn;b=Pk(b);c=b.indexOf('(');if(c!=-1){d=b.indexOf(In)==0?8:0;e=Pk(b.substr(d,c-d))}return e.length>0?e:'anonymous'}
|
431 |
+
function mi(){var b;ki();gi.call(this,(b=$doc.createElement('INPUT'),b.type='text',b),(!Je&&(Je=new Ke),!Ge&&(Ge=new He)));this.x[io]='gwt-TextBox'}
|
432 |
+
function Qk(b){var c;c=0;while(0<=(c=b.indexOf('\\',c))){b.charCodeAt(c+1)==36?(b=b.substr(0,c-0)+'$'+Ok(b,++c)):(b=b.substr(0,c-0)+Ok(b,++c))}return b}
|
433 |
+
function Pb(){Pb=Fn;Ob=new Rb;Mb=new Tb;Hb=new Vb;Ib=new Xb;Nb=new Zb;Lb=new _b;Jb=new bc;Gb=new dc;Kb=new fc;Td(fe,{30:1},23,[Ob,Mb,Hb,Ib,Nb,Lb,Jb,Gb,Kb])}
|
434 |
+
function Hg(b){if(!b.w){(Qh(),tl(Ph.b,b))&&Sh(b)}else if(be(b.w,17)){_d(b.w,17).T(b)}else if(b.w){throw new Dk("This widget's parent does not implement HasWidgets")}}
|
435 |
+
function cf(b,c){if(c<=0){throw new Ak('must be positive')}b.c?($wnd.clearInterval(b.d),undefined):($wnd.clearTimeout(b.d),undefined);Um(_e,b);b.c=false;b.d=df(b,c);Qm(_e,b)}
|
436 |
+
function pd(c,d){var b,e,f;!d.f||d.B();f=d.g;d.g=c.c;try{yd(c.b,d)}catch(b){b=ne(b);if(be(b,9)){e=b;throw new Ld(e.b)}else throw b}finally{f==null?(d.f=true,d.g=null):(d.g=f)}}
|
437 |
+
function Lf(b,c){var d,e,f,g,h;if(!!Gf&&!!b&&tl(b.b.e,Gf)){d=Hf.b;e=Hf.c;f=Hf.d;g=Hf.e;If(Hf);Hf.e=c;pd(b,Hf);h=!(Hf.b&&!Hf.c);Hf.b=d;Hf.c=e;Hf.d=f;Hf.e=g;return h}return true}
|
438 |
+
function Rd(b,c){var d=new Array(c);if(b==3){for(var e=0;e<c;++e){var f=new Object;f.l=f.m=f.h=0;d[e]=f}}else if(b>0){var f=[null,0,false][b];for(var e=0;e<c;++e){d[e]=f}}return d}
|
439 |
+
function kj(){kj=Fn;ej=new De('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA7CAYAAAAq55mNAAAAJElEQVR42u3BMQEAAADCoPVPbQlPoAAAAAAAAAAAAAAAAAA4GTWzAAHmFYjpAAAAAElFTkSuQmCC')}
|
440 |
+
function Dl(i,b,c){var d=i.b[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.mb();if(i.lb(b,h)){d.length==1?delete i.b[c]:d.splice(e,1);--i.e;return g.W()}}}return null}
|
441 |
+
function zl(k,b,c,d){var e=k.b[d];if(e){for(var f=0,g=e.length;f<g;++f){var h=e[f];var i=h.mb();if(k.lb(b,i)){var j=h.W();h.nb(c);return j}}}else{e=k.b[d]=[]}var h=new yn(b,c);e.push(h);++k.e;return null}
|
442 |
+
function Jg(b,c){var d;d=b.w;if(!c){try{!!d&&d.O()&&b.Q()}finally{b.w=null}}else{if(d){throw new Dk('Cannot set a new parent without first clearing the old parent')}b.w=c;c.O()&&b.P()}}
|
443 |
+
function Be(b){return $stats({moduleName:$moduleName,sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date).getTime(),type:'onModuleLoadStart',className:b})}
|
444 |
+
function Gg(b){if(!b.O()){throw new Dk("Should only call onDetach when the widget is attached to the browser's document")}try{b.S()}finally{try{b.N()}finally{b.x.__listener=null;b.t=false}}}
|
445 |
+
function Eg(b){var c;if(b.O()){throw new Dk("Should only call onAttach when the widget is detached from the browser's document")}b.t=true;b.x.__listener=b;c=b.u;b.u=-1;c>0&&(b.u==-1?qg(b.x,c|(b.x.__eventBits||0)):(b.u|=c));b.M();b.R()}
|
446 |
+
function eh(c,d){var i;ch();var b,e,f,g,h;e=null;for(h=c.U();h.I();){g=_d(h.J(),15);try{d.V(g)}catch(b){b=ne(b);if(be(b,10)){f=b;!e&&(e=new qn);i=yl(e.b,f,e)}else throw b}}if(e){throw new dh(e)}}
|
447 |
+
function Xk(b){var c,d,e,f;c=0;e=b.length;f=e-4;d=0;while(d<f){c=b.charCodeAt(d+3)+31*(b.charCodeAt(d+2)+31*(b.charCodeAt(d+1)+31*(b.charCodeAt(d)+31*c)))|0;d+=4}while(d<e){c=c*31+b.charCodeAt(d++)}return c|0}
|
448 |
+
function wd(b,c,d){var e;if(!c){throw new Jk('Cannot add a handler with a null type')}if(!d){throw new Jk('Cannot add a null handler')}b.c>0?vd(b,new Ui(b,c,d)):(e=Ad(b,c),e.fb(d),undefined);return new Si(b,c,d)}
|
449 |
+
function Ei(b,c,d){var e,f;if(d<0||d>b.d){throw new Fk}if(b.d==b.b.length){f=Sd(ie,{30:1},15,b.b.length*2,0);for(e=0;e<b.b.length;++e){Ud(f,e,b.b[e])}b.b=f}++b.d;for(e=b.d-1;e>d;--e){Ud(b.b,e,b.b[e-1])}Ud(b.b,d,c)}
|
450 |
+
function Uh(b){Qh();var c,d;d=_d(ul(Oh,b),16);c=null;if(b!=null){if(!(c=$doc.getElementById(b))){return null}}if(d){if(!c||d.x==c){return d}}Oh.e==0&&Uf(new Zh);!c?(d=new ai):(d=new Rh(c));yl(Oh,b,d);pn(Ph,d);return d}
|
451 |
+
function yb(b,c){if(Element.prototype.getBoundingClientRect){return c.getBoundingClientRect().top+b.scrollTop|0}else{var d=c.ownerDocument;return d.getBoxObjectFor(c).screenY-d.getBoxObjectFor(d.documentElement).screenY}}
|
452 |
+
function xb(b,c){if(Element.prototype.getBoundingClientRect){return c.getBoundingClientRect().left+b.scrollLeft|0}else{var d=c.ownerDocument;return d.getBoxObjectFor(c).screenX-d.getBoxObjectFor(d.documentElement).screenX}}
|
453 |
+
function Bg(b,c,d){if(!b){throw new M('Null widget handle. If you are creating a composite, ensure that initWidget() has been called.')}c=Pk(c);if(c.length==0){throw new Ak('Style names cannot be empty')}d?qb(b,c):sb(b,c)}
|
454 |
+
function ik(b,c){var d,e,f,g,h,i;g=fg(c.e.type);if(g==4){c.e.preventDefault()}else if(g==64){f=c.e;h=f.clientX||0;i=f.clientY||0;d=h-b.b;e=b.c-i;b.b=h;b.c=i;b.d?Tj(b.f,d):b.e?Uj(b.f,d):Vj(b.f,d,e);c.e.preventDefault()}else g==8&&b.f.i._()}
|
455 |
+
function qb(b,c){var d,e,f,g;c=Pk(c);g=b.className;d=g.indexOf(c);while(d!=-1){if(d==0||g.charCodeAt(d-1)==32){e=d+c.length;f=g.length;if(e==f||e<f&&g.charCodeAt(e)==32){break}}d=g.indexOf(c,d+1)}if(d==-1){g.length>0&&(g+=Jn);b.className=g+c}}
|
456 |
+
function Jj(b,c){var d,e;e=b.e+b.c;b.g!=0&&!b.d?e-c<~~(b.g/2)?(d=e):c-b.e<~~(b.g/2)?(d=b.e):c==b.e?(d=de(Math.floor(c))):c==e?(d=de(Math.ceil(c))):(d=ue(te(re(Math.round(c/b.g)),se(b.g)))):(d=ue(re(Math.round(c))));d<b.e&&(d=b.e);d>e&&(d=e);return d}
|
457 |
+
function mc(){lc();var b,c,d;d=null;if(kc.length!=0){b=kc.join(Hn);c=xc((tc(),sc),b);!kc&&(d=c);kc.length=0}if(ic.length!=0){b=ic.join(Hn);c=wc((tc(),sc),b);!ic&&(d=c);ic.length=0}if(jc.length!=0){b=jc.join(Hn);c=wc((tc(),sc),b);!jc&&(d=c);jc.length=0}hc=false;return d}
|
458 |
+
function Ve(b,c){var d,e,f;f=false;try{b.d=true;b.g.b=b.c.c;cf(b.b,10000);while(nf(b.g)){e=of(b.g);try{if(e==null){return}if(e!=null&&e.cM&&!!e.cM[11]){d=_d(e,11);Jh(d)}}finally{f=b.g.c==-1;f||pf(b.g)}if((new Date).getTime()-c>=100){return}}}finally{if(!f){bf(b.b);b.d=false;We(b)}}}
|
459 |
+
function ck(b,c,d){var e;e=new bl;e.b.b+='border-width:';e.b.b+='0px ';al(e,b.c>0?b.c:b.o.offsetWidth||0);e.b.b+=mo;e.b.b+=100;e.b.b+='px 0px;';e.b.b+='top:';e.b.b+=-100+(1-(d-c))*100;e.b.b+=vo;e.b.b+='left:';_k(e,c*(b.c>0?b.c:b.o.offsetWidth||0));e.b.b+=vo;b.r.x.setAttribute(Kn,e.b.b)}
|
460 |
+
function sb(b,c){var d,e,f,g,h,i,j;c=Pk(c);j=b.className;f=j.indexOf(c);while(f!=-1){if(f==0||j.charCodeAt(f-1)==32){g=f+c.length;h=j.length;if(g==h||g<h&&j.charCodeAt(g)==32){break}}f=j.indexOf(c,f+1)}if(f!=-1){d=Pk(j.substr(0,f-0));e=Pk(Ok(j,f+c.length));d.length==0?(i=e):e.length==0?(i=d):(i=d+Jn+e);b.className=i}}
|
461 |
+
function yd(c,d){var b,e,f,g,h,i,j;if(!d){throw new Jk('Cannot fire null event')}try{++c.c;h=Bd(c,d.A());e=null;i=c.d?h.rb(h.jb()):h.qb();while(c.d?i.c>0:i.c<i.e.jb()){g=c.d?Dm(i):wm(i);try{d.z(_d(g,18))}catch(b){b=ne(b);if(be(b,10)){f=b;!e&&(e=new qn);j=yl(e.b,f,e)}else throw b}}if(e){throw new Kd(e)}}finally{--c.c;c.c==0&&Cd(c)}}
|
462 |
+
function rg(){var e=$wnd.onbeforeunload;var f=$wnd.onunload;$wnd.onbeforeunload=function(b){var c,d;try{c=Gn(Xf)()}finally{d=e&&e(b)}if(c!=null){return c}if(d!=null){return d}};$wnd.onunload=Gn(function(b){try{Sf&&md((!Tf&&(Tf=new dg),Tf))}finally{f&&f(b);$wnd.onresize=null;$wnd.onscroll=null;$wnd.onbeforeunload=null;$wnd.onunload=null}})}
|
463 |
+
function pg(){$wnd.addEventListener(Mn,Gn(function(b){var c=ig;if(c&&!b.relatedTarget){if('html'==b.target.tagName.toLowerCase()){var d=$doc.createEvent('MouseEvents');d.initMouseEvent(Zn,true,true,$wnd,0,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,null);c.dispatchEvent(d)}}}),true);$wnd.addEventListener($n,kg,true)}
|
464 |
+
function Kj(b,c,d,e,f,g,h){var i,j,k;this.n=h;this.f=f;this.e=b;k=c-b;this.c=k==0?1:k;this.d=true;g==0?this.c>4000?(this.g=100):this.c>2000?(this.g=50):this.c>1000?(this.g=25):this.c>500?(this.g=10):this.c>100?(this.g=5):(this.g=0):(this.g=g);if(k!=0){i=(d-this.e)/this.c;j=(e-this.e)/this.c;this.j=i;this.k=j;zj(this);yj(this)}else{this.j=0;this.k=1;zj(this);yj(this)}}
|
465 |
+
function Hh(b,c,d,e,f,g){var h,i;this.c=d;this.d=e;this.f=f;this.b=g;this.e=c;Ig(b,(h=$doc.createElement('span'),h.innerHTML=(i='width: '+f+'px; height: '+g+'px; background: url('+c+lo+-d+mo+-e+no,"<img onload='this.__gwtLastUnhandledEvent=\"load\";' src='"+$moduleBase+"clear.cache.gif' style='"+i+"' border='0'>")||Hn,tb(h)));b.u==-1?qg(b.x,133333119|(b.x.__eventBits||0)):(b.u|=133333119)}
|
466 |
+
function lj(b){var c;var d;var e;var f;var g;var h;var i;var j;var k;if(b){c=b['hostElementId'];d=b['leftBorder'];e=b['rightBorder'];f=b['currentLeft'];g=b['currentRight'];h=b['stepSize'];i=b['unit'];j=b['callback'];k=b[po]}!c&&(c=Hn);!d&&(d=0);!e&&(e=0);d>e&&(d=e);!f&&(f=d);!g&&(g=e);!h&&(h=0);i=i==null?so:i.indexOf(so)!=-1?i:'%n '+i;(!j||typeof j!=In)&&(j=null);!k&&(k=0);mj(c,d,e,f,g,i,h,k,j)}
|
467 |
+
function me(){var b;!!$stats&&Be('com.google.gwt.user.client.UserAgentAsserter');b=Rf();Mk(On,b)||($wnd.alert('ERROR: Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (gecko1_8) does not match the runtime user.agent value ('+b+'). Expect more errors.\n'),undefined);!!$stats&&Be('de.factfinder.asn.slider.client.StandAloneOneTouchSlider');$wnd.oneTouchSlider={};$wnd.oneTouchSlider.addSlider=Gn(lj);$wnd.oneTouchSliderOnLoad&&typeof $wnd.oneTouchSliderOnLoad==In&&$wnd.oneTouchSliderOnLoad()}
|
468 |
+
function Rf(){var c=navigator.userAgent.toLowerCase();var d=function(b){return parseInt(b[1])*1000+parseInt(b[2])};if(function(){return c.indexOf(Qn)!=-1}())return Qn;if(function(){return c.indexOf('webkit')!=-1}())return 'safari';if(function(){return c.indexOf(Rn)!=-1&&$doc.documentMode>=9}())return 'ie9';if(function(){return c.indexOf(Rn)!=-1&&$doc.documentMode>=8}())return 'ie8';if(function(){var b=/msie ([0-9]+)\.([0-9]+)/.exec(c);if(b&&b.length==3)return d(b)>=6000}())return 'ie6';if(function(){return c.indexOf('gecko')!=-1}())return On;return 'unknown'}
|
469 |
+
function re(b){var c,d,e,f,g,h,i,j;if(isNaN(b)){return ye(),xe}if(b<-9223372036854775808){return ye(),we}if(b>=9223372036854775807){return ye(),ve}f=false;if(b<0){f=true;b=-b}e=0;if(b>=17592186044416){e=~~Math.max(Math.min(b/17592186044416,2147483647),-2147483648);b-=e*17592186044416}d=0;if(b>=4194304){d=~~Math.max(Math.min(b/4194304,2147483647),-2147483648);b-=d*4194304}c=~~Math.max(Math.min(b,2147483647),-2147483648);g=(a=new Ae,a.l=c,a.m=d,a.h=e,a);f&&(h=~g.l+1&4194303,i=~g.m+(h==0?1:0)&4194303,j=~g.h+(h==0&&i==0?1:0)&1048575,g.l=h,g.m=i,g.h=j,undefined);return g}
|
470 |
+
function te(b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D;d=b.l&8191;e=b.l>>13|(b.m&15)<<9;f=b.m>>4&8191;g=b.m>>17|(b.h&255)<<5;h=(b.h&1048320)>>8;i=c.l&8191;j=c.l>>13|(c.m&15)<<9;k=c.m>>4&8191;l=c.m>>17|(c.h&255)<<5;m=(c.h&1048320)>>8;z=d*i;A=e*i;B=f*i;C=g*i;D=h*i;if(j!=0){A+=d*j;B+=e*j;C+=f*j;D+=g*j}if(k!=0){B+=d*k;C+=e*k;D+=f*k}if(l!=0){C+=d*l;D+=e*l}m!=0&&(D+=d*m);o=z&4194303;p=(A&511)<<13;n=o+p;r=z>>22;s=A>>9;t=(B&262143)<<4;u=(C&31)<<17;q=r+s+t+u;w=B>>18;x=C>>5;y=(D&4095)<<8;v=w+x+y;q+=n>>22;n&=4194303;v+=q>>22;q&=4194303;v&=1048575;return pe(n,q,v)}
|
471 |
+
function fg(b){switch(b){case 'blur':return 4096;case 'change':return 1024;case Sn:return 1;case Tn:return 2;case 'focus':return 2048;case Un:return 128;case Vn:return 256;case Wn:return 512;case Xn:return 32768;case 'losecapture':return 8192;case Ln:return 4;case Yn:return 64;case Mn:return 32;case Nn:return 16;case Zn:return 8;case 'scroll':return 16384;case 'error':return 65536;case $n:case _n:return 131072;case 'contextmenu':return 262144;case 'paste':return 524288;case ao:return 1048576;case bo:return 2097152;case co:return 4194304;case eo:return 8388608;case fo:return 16777216;case go:return 33554432;case ho:return 67108864;case 'ended':return 134217728;case 'progress':return 268435456;case 'canplaythrough':return 536870912;default:return -1;}}
|
472 |
+
function ng(){jg=Gn(function(b){if(!xf(b)){b.stopPropagation();b.preventDefault();return false}return true});lg=Gn(function(b){var c,d=this;while(d&&!(c=d.__listener)){d=d.parentNode}d&&d.nodeType!=1&&(d=null);c&&hg(c)&&wf(b,d,c)});mg=Gn(function(b){this.__gwtLastUnhandledEvent=b.type;lg.call(this,b)});kg=Gn(function(b){var c=jg;if(c(b)){var d=ig;if(d&&d.__listener){if(hg(d.__listener)){wf(b,d,d.__listener);b.stopPropagation()}}}});$wnd.addEventListener(Sn,kg,true);$wnd.addEventListener(Tn,kg,true);$wnd.addEventListener(Ln,kg,true);$wnd.addEventListener(Zn,kg,true);$wnd.addEventListener(Yn,kg,true);$wnd.addEventListener(Nn,kg,true);$wnd.addEventListener(Mn,kg,true);$wnd.addEventListener(_n,kg,true);$wnd.addEventListener(Un,jg,true);$wnd.addEventListener(Wn,jg,true);$wnd.addEventListener(Vn,jg,true);$wnd.addEventListener(ao,kg,true);$wnd.addEventListener(bo,kg,true);$wnd.addEventListener(co,kg,true);$wnd.addEventListener(eo,kg,true);$wnd.addEventListener(fo,kg,true);$wnd.addEventListener(go,kg,true);$wnd.addEventListener(ho,kg,true)}
|
473 |
+
function og(b,c){var d=(b.__eventBits||0)^c;b.__eventBits=c;if(!d)return;d&1&&(b.onclick=c&1?lg:null);d&2&&(b.ondblclick=c&2?lg:null);d&4&&(b.onmousedown=c&4?lg:null);d&8&&(b.onmouseup=c&8?lg:null);d&16&&(b.onmouseover=c&16?lg:null);d&32&&(b.onmouseout=c&32?lg:null);d&64&&(b.onmousemove=c&64?lg:null);d&128&&(b.onkeydown=c&128?lg:null);d&256&&(b.onkeypress=c&256?lg:null);d&512&&(b.onkeyup=c&512?lg:null);d&1024&&(b.onchange=c&1024?lg:null);d&2048&&(b.onfocus=c&2048?lg:null);d&4096&&(b.onblur=c&4096?lg:null);d&8192&&(b.onlosecapture=c&8192?lg:null);d&16384&&(b.onscroll=c&16384?lg:null);d&32768&&(b.onload=c&32768?mg:null);d&65536&&(b.onerror=c&65536?lg:null);d&131072&&(b.onmousewheel=c&131072?lg:null);d&262144&&(b.oncontextmenu=c&262144?lg:null);d&524288&&(b.onpaste=c&524288?lg:null);d&1048576&&(b.ontouchstart=c&1048576?lg:null);d&2097152&&(b.ontouchmove=c&2097152?lg:null);d&4194304&&(b.ontouchend=c&4194304?lg:null);d&8388608&&(b.ontouchcancel=c&8388608?lg:null);d&16777216&&(b.ongesturestart=c&16777216?lg:null);d&33554432&&(b.ongesturechange=c&33554432?lg:null);d&67108864&&(b.ongestureend=c&67108864?lg:null)}
|
474 |
+
function gj(b){if(!b.b){b.b=true;lc();R(ic,'.GLR1MK0AG{display:block;}.GLR1MK0OG{font-family:verdana, sans-serif;font-size:8pt;text-align:center;}.GLR1MK0EG{background:#555;width:100%;height:17px;position:relative;text-align:left;-moz-border-radius:4px 4px 4px 4px;-webkit-border-radius:4px;font-size:1.1em;}.GLR1MK0DG{height:100%;top:0;background:#6683b4;background-position:0 0;border:0 none;display:block;font-size:0.7em;position:absolute;z-index:1;text-align:center;}.GLR1MK0HG{background:repeat-x scroll 50% 50% #f6f6f6;border:1px solid #7f7f7f;color:#fff;font-weight:bold;outline:medium none;margin-left:-0.6em;top:-0.3em;cursor:default;height:23px;position:absolute;width:1em;z-index:3;-moz-border-radius:4px;-webkit-border-radius:4px;font-family:Verdana, Arial, sans-serif;font-size:1.1em;text-align:left;text-decoration:none;}.GLR1MK0IG{border-color:transparent;border-style:solid;border-width:0 200px 100px 0;height:0;width:0;position:absolute;border-bottom-color:#ccd6e6;opacity:0;z-index:2;margin-top:10px;}.GLR1MK0KG{opacity:0.5;}.GLR1MK0JG{opacity:0.7;}.GLR1MK0BG{cursor:pointer;}.GLR1MK0CG{cursor:none;}.GLR1MK0PF{cursor:default;}.GLR1MK0FG{margin:-21px auto;z-index:3;position:absolute;}.GLR1MK0GG{width:58px;margin:32px 0 0 -29px;}.GLR1MK0LG{background-color:#f1f1f1;border:1px solid #acacac;font-size:9px;height:20px;margin:0 0 10px;text-align:center;width:40px;}.GLR1MK0MG{float:left;}.GLR1MK0NG{float:right;}');nc();return true}return false}
|
475 |
+
function dk(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;this.p=(ij(),cj);this.b=new bj;this.g=new lk(this);this.i=new oj;mh(this,(c=Ab($doc),q=new mi,e=Ab($doc),s=new mi,g=Ab($doc),h=Ab($doc),i=Ab($doc),j=Ab($doc),k=Ab($doc),w=new sh,m=Ab($doc),v=new Bh((jj(),dj)),o=new wh("<div class='GLR1MK0OG fact-finder-onetouchslider'> <span id='"+c+wo+e+"'><\/span> <div style='clear: both !important;'><\/div> <div style='clear: both !important;'><\/div> <div class='GLR1MK0AG'> <div class='GLR1MK0EG fact-finder-onetouchslider-bar' id='"+g+"'> <div class='GLR1MK0DG fact-finder-onetouchslider-bar fact-finder-onetouchslider-bar-selected' id='"+h+"'><\/div> <span class='GLR1MK0HG fact-finder-onetouchslider-handle fact-finder-onetouchslider-handle-left' id='"+i+"'><\/span> <span class='GLR1MK0HG fact-finder-onetouchslider-handle fact-finder-onetouchslider-handle-right' id='"+j+wo+k+wo+m+"'><\/span> <\/div> <\/div> <\/div>"),q.x[io]='GLR1MK0LG GLR1MK0MG fact-finder-onetouchslider-text-box fact-finder-onetouchslider-textbox-left',q.x[xo]=true,zg(q,Ag(q.x)+yo),s.x[io]='GLR1MK0LG GLR1MK0NG fact-finder-onetouchslider-text-box fact-finder-onetouchslider-textbox-right',s.x[xo]=true,zg(s,Ag(s.x)+yo),w.x[io]='GLR1MK0IG fact-finder-onetouchslider-triangle',v.x[io]='GLR1MK0FG fact-finder-onetouchslider-grip',b=Me(o.x),d=$doc.getElementById(c),f=$doc.getElementById(e),u=$doc.getElementById(g),u.removeAttribute(zo),t=$doc.getElementById(h),t.removeAttribute(zo),p=$doc.getElementById(i),p.removeAttribute(zo),r=$doc.getElementById(j),r.removeAttribute(zo),l=$doc.getElementById(k),n=$doc.getElementById(m),b.c?b.c.insertBefore(b.b,b.d):Oe(b.b),Hg(q),Ci(o.b,q),d.parentNode.replaceChild(q.x,d),Jg(q,o),Hg(s),Ci(o.b,s),f.parentNode.replaceChild(s.x,f),Jg(s,o),Hg(w),Ci(o.b,w),l.parentNode.replaceChild(w.x,l),Jg(w,o),Hg(v),Ci(o.b,v),n.parentNode.replaceChild(v.x,n),Jg(v,o),this.d=p,this.e=q,this.j=r,this.k=s,this.n=t,this.o=u,this.q=v,this.r=w,o));gj(this.p);hk(this.g);this.i.ab()}
|
476 |
+
function jj(){jj=Fn;dj=new De('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA7CAYAAAAq55mNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADoBJREFUeNrUW3mQFcUZ7znewS67y7GwLKziLp7hFlEDFqcsRquSKjUqgkqMlRgllT9MoqaSlDGEktKUZzQiGhMVOTxKrQhUiCnLKwKLCHJI9mRvjuVY3u6bqztfHzOvXzPvWHalymd99szsTHf/+jv7+xqNEIK+zb/Kqgvyes88y5PS5PuG+v+dtVU2v0kg8NP68D75JhfBHGBwuYCq9yRHv2SgQJsDADAMjCY91/Lskkjk32uyHvYHsDlAALUMANVnuUDiENADAljvJ0hN9CGTIRYwjCISqX8zpNaQ+tLVxQuxBTl/Wr7uRXSuclGXOKYrwNW/q4ukiioWRJQWh3AYhbT9F10FZBgwTay+JnEhDGzYTwbiKQA98X3YImhK2z+gISD1LCLrt0ZxUZE2e/Ycc/r06WjSlEkoEomgC8+vQqbJh2xuadW6TyVIY0Ojtn/fPrJ54ybvQF2tKcDJID1poWTgfQKbVXTzAGnK4Oj95ZdNN25dsliff/WCWMeRxETb8cZ7GFMrEsMEVUAbZZ1pqB2m1gtti2no9SVF8W0nj7V3rFuznrz8j5ddCSwlV+GyzPW8xDgj0CwgDcXoMJBTJk6O3LJ4kXbV7Oryw8d6bnA9PEPXtTgAgY/gP+10yaVjM6IzxtxlxqLGxkFGYsu6NevQ6pdedAVIL4TCwPYNqGJds4Fk9PAfHjYXfO/7Q5o7Tt4MABfoGtI1XYf/IQZQ81t1+QVQipFOg2DMrxE5WFQQffVYZ23N2tdexxs3b3IEYBW0rLtZwWYDqkkuSFdFlNLYiorIz5YtM86fMHPWqR77bsASNyhKAZIi1AOgIc5TAMQ+YEzYNWuBQCJqxo8b8cTfX1qVePqZZ2Swbl/BngY0RGSNEJCReXPmRRctXqRHSioXgx5er+sclGHojHuAlbJVAEani64QWcSAUgJuYiRAYgbY8+g7pL1yzNDlH215r335n5ZTgI4gWX9JiBvKO2BQjU/AyfGXfMf866rnTCdW8Wvg5PUgrmxSHkzSdTGbKL/H7Bn2JPLvKShoXSzeo++zfnDQD+3XcbzyrxuPrJx8ZfXFDz7woBpg6JJbU9Ut7Wc89NBDuUTWUCIb875f3mce7Ir+OGm5c4kkgr508EYL9A/7eoiEaBK+KJ7PPUyChWIgGVgULBSAjh7rTk6fdunUz4riRm/NjppsAUSfQkAtxFcavuEpLJtUfSJhXevAqtt05YEc14MJEuQwThBxz7nic8t1FfJI8A7jHnzjsL7EteOx/tk4jle888ChB+/8yT3xK6ZfroaMei6u6hm2UZoisoyW3r7UPG/8VZWHuhJ3yROCSfBr1nppE04tAoagwUDDSwahGLSuB8/oc5fA9zhtgRwHB33ajsvA0vuk5Zy7+dO6ny5afKsh+fC8IjA9D5cSgH3gNw8Ye+sOLbMcz7RsD1k2TMKmq87Bssk5KmDOGepcCuMm2rrza9SbtFBRYSx4z/W/p30JkGlExxHPuxPWbFJYNY0uurIByA9oDrHVacdv/Wv35b29yUrbtmFQB1kwQQtWnIGmLUzEcvl9auJc/AoGRdAXu2vRoSPH0Z7aVhSPmczn8G89xjlLkL9wSXrNWtqXg+i4lm2hprauRTffelOuuDoNdDagaQaJdtzS0XUjHYgBtSzk0MEdf6ISueKZEDmIduBdC7V1HkHR+CCkGyZqbOlChQDeF33+Lhb9uaJPzLjpODAeG9di4/b09lTW7D8xZeGCajNkO5eTo1qmfSaNX7+q667q6emppAPZVhLx1goAc1GWyeWiDROmYvrl3joUicZRLBaHwD6KIExEEOMyzjJw4l0uCUJ8BQf9caykAJtMooOth66+/oc3IMW9ZMxqmBnyPmn7zOqFC7Xaxrbv0sFo1KPpBjKAdMNFBuxGDMNjXDIoYQgSdAJ/R6wtLx2Mjhw9hrpP9aLCwcXIjMRYH9T1NLYdg78Xo46jCcX3gsvxXOSBGnjQYjBclNg1c0ewMEk8bfyEGbFYNOpZtq3nymjoWZJXAdDZc2ehrmMnL7OAk0lYTdZavLXoSvsrblNymOglbe5uhhTF0Z79DbA4sGnRIyxQ8C1y18kkSvTaaMjgGHvf8nVR9OlTUozHx+wVz6zo2xs/nzhv7rxsVjcvHWUf032li+Pxnp5EhZXs5QMlfUqi4BkQF+kkcoQ4Dy+OoQN1zajXchHRTYiCwPiA3vniTQ1QQ2sXGjm0gHGPfW/zPuxkUvSZGs9mYyWDZx2Hj54/afIkLYSbp3HVzGKI2HVV5Tjto617ymEACGWp2Oo8aKfiS0XVA3KBzAhce/wZUElRAbgTHW3/ognF4oXIIzozODzkFdszYG8SxLCp9SgqLYmBKJ9CGAC7nsPF1nWYuPri61ERhvfpd7SPEyfJmFmXXoByhX/ZMgzBB+Xlo7TOziPDqbjwLZcAanA9ZQCpnsLETHYdYTo7dPRQtHPXfuYjY9CVBy0hVlrKCHtc3xpae9Hki8agGJiV44lkANCFNk1XhX4G2zvPG1ZWVobyyTTmTKUUFRWBIekpoNYOiQ20zgyRzg0STMB0OVga7ZhA5SOGIRdEsKmlDRUMLmHPQZaR5unpuxdmeLihOVDfhoYVF6DOw0c4UJcDlTlKQVKwPKamQN3CwsKCvHLHeSXHmB8LOKpx8QXOUnA6XW3TY+JrRjw2wdIhBWjbjl1i5THnDEyQSkKQEaPix4J7DrS1oxvCw7GoBFxRe+dJJqaua3OOCqsrc5NRJP+0dM43u7u70eBCvYeC5XtKiaswCV03mW5SsaWTrqwYjTo6O1HX8ePAzWLOTdtmIu9nG/ydDl0EIrhEubb3QCMaN3YUamxuSemn67sVrpv+d8ySaiiRSPTklfI0c2TOUXt7B7ni4plHXcdJKbDgKG2pPtJJ0FUv0Aeh0WVD0eYPPgLRjrDtl2s7TBcpUCTyR2zLzcDilPiCJPQkutGIIYXgW4eg+qaW08SWBGLLf9FIpKsTFjVXvijMvaj7O1LfUEfmzZrW7ro0FHM4sVjX5iItxJrqMNXNL3fvBRdgIwKso5zywzdHEHUfqWsr9TcQU7qY+2ob0TmjRzJgQfRl26mxBdH5mIbR3tzUnGn+OTkqb2jxye5uMqzETML1QdC1c7nmS7oKHPVAjGNwP3J4Mdq1Zy+KxAbRScAqEngTdJPQ+J2yML1KqFPLSf/uDwfLTnW8vrEFlQ0fimobGgPR5kYIB1lcOofSYSUHarZvJxmy+SQXR9V7XLN9B4pGza98S0jJoUS5anPOUqKrDGYQRUwDRZhVpnoEYDXMBJaB1niriTQPvdc1zHJLlExDA5E00KnEqaBf1jfr30n5WM/FN/5g/r5PPv0EZwFI0jhKq1NSvKvWPPBbb7xJLr5o5sefbd1+ra8iPLOnI6zDpIVV/Gp/LZpwURUqKR4c+Fsk0pyamgqUcrqykaEhYF1jM2oCg0T79PWYWWmUGrugoLAGuScSIHE4Q40mo+iSDGU8vHX7Nm/FyhVf/3dbTTNYw3PkuMKPlJjjbzoIE2wVgT+Pnng0FZLA9o2R8Kc0C0hEAOET8QMELM+dL1jF6PItb7/5NpKS2VnzR7l01AfrbVi7wRw1atQ7TU1Ny5DEVo1OxgcLE6URk7/D0TRP6DKPqE7P62IGghChgwEwnPbMdyd8SJ3WcZofX/GLHZdOnepKxSl8psYorZr1/Aur3B07vvjwmhvuuQ4sbSUD64sloRzlYDSYKAMq3E/Kf6pRmuT4CQ4F5wcVRN6KgE5fMu7CV55/9jm1PEGylBhDdy8kpEbJOnzqiSe9KZMmrIaJYBFrcmfv8ujFE3Gp64j4lLoBYUgCg5LhnhkaJxXXpqIhzHVV6Gk8Pmjbj26Zu50uvFJ4yspRXTkFosq4XNHyaJVr9vTz9o8cWfaqH3P6pt8TuwsfMLfOfAfiSrFrQI7/3N+pUHBOWj8pt8LHgV1R++/vv/epDWvXE6UsQfIGGuZWQrjqrlz5iHvv0mveATfyIU9QC0MiJoWlLRUH7J4OUgLo+hx0fS66KX31++Zq0nPdwvkr9u78OCGKTmo5kWSrv+ghZ3vUl2VdcMGcO6+/tsZ79YWVf4nF4rtTFTEc7C5Yq+wjUyKZEk0vSJF40rfiex8gCxA0e/LEiY+NLTNbpWKTXGDCucJAPc/jMFhaQe/zbVudVc8+5az925//WFIy5H35zUCcmdsgqYmLXQqWdiLBtktU0YJYVuoPrPjh6vlz76+eecFOUWRSK2leLm7mUzZUM/a6XBelxabb7rjdWP36f65ta29bCn0N6Em0WCy27+47lzxqnWg6/viTT/iVtIEpG+ZRCDbUOimtx9S3WeX/3PzvmyF0m4X6c5CSlR6NwxUV56x75Hd3fbDmldfI+jc2yDqpGiHvjAvBZ1DaN2dcOSOy+LbF2ntbdlVt27Hzxt7enqnQdTSf4z1+1ASBQFtpaemm5x//7ab3333LFVwMK+1jhc6stJ/nYQ0jrEg8b848Y8kdS7SSYWNiyx9bPamltfUK27LPA0tbCvpYLPcfjcbqIbhIFBUXf1k9Z+Ynt900t3Pd2vXoxRdX01ytd1YOa5zB8Ru5umXEolG9unqhUb2wGlWNq0IVY8pRcVERevTp9SN+9fObDtPO9u4/QFME6LOPP0Xvvfsurm2ox4rvVgMCL8NxupxZhrxOjuVxoCoTyX9nv7EVFVpTS4s6QfWkWCYiIYYnr1TKQB2RC6to6TmSyiQEbKYjcihDUJD3Ebm8Dz1KwUTY5DzlxIh8qMK/thVyFFINjyuB88I42ZdTnn3ye9IGXT6WRhSOkRARV5PjJMfWMGvG4EyOsfbZwfuDSIf2VcBq5hxnKGSRPA4m9xtgv09ghwAOyz1lO4aOMuV3BhJgv4GqgLOARn0wGiSs34H4DWhsGjI5EhJW5vrmG/mdtX/3cjb/jUu/3Mu3/fd/AQYAFnxtwIzfP80AAAAASUVORK5CYII=')}
|
477 |
+
var Hn='',Jn=' ',so='%n',wo="'><\/span> <span id='",lo=') no-repeat ',yo='-readonly',Ao=':',$n='DOMMouseScroll',qo='GLR1MK0BG',ro='GLR1MK0CG',uo='GLR1MK0JG',to='GLR1MK0KG',ko='__gwtLastUnhandledEvent',io='className',Sn='click',Tn='dblclick',Pn='div',In='function',On='gecko1_8',go='gesturechange',ho='gestureend',fo='gesturestart',zo='id',Un='keydown',Vn='keypress',Wn='keyup',jo='left',Xn='load',Ln='mousedown',Yn='mousemove',Mn='mouseout',Nn='mouseover',Zn='mouseup',_n='mousewheel',Rn='msie',Qn='opera',no='px',mo='px ',vo='px;',xo='readOnly',Kn='style',eo='touchcancel',co='touchend',bo='touchmove',ao='touchstart',oo='value',po='width';var _;_=E.prototype={};_.eQ=function F(b){return this===b};_.hC=function G(){return this.$H||(this.$H=++U)};_.tM=Fn;_.cM={};_=K.prototype=new E;_.cM={10:1,30:1};_=J.prototype=new K;_.cM={10:1,30:1};_=M.prototype=I.prototype=new J;_.cM={2:1,10:1,30:1};_=O.prototype=H.prototype=new I;_.cM={2:1,10:1,30:1};_.b=null;_=S.prototype=new E;_.cM={};var T=0,U=0;_=eb.prototype=Z.prototype=new S;_.cM={};_.b=null;_.c=null;var $;_=nb.prototype=new E;_.cM={};_=pb.prototype=ob.prototype=new nb;_.cM={};_.b=Hn;_=Db.prototype=new E;_.eQ=function Eb(b){return this===b};_.hC=function Fb(){return this.$H||(this.$H=++U)};_.cM={30:1,31:1,32:1};_=Cb.prototype=new Db;_.cM={23:1,30:1,31:1,32:1};var Gb,Hb,Ib,Jb,Kb,Lb,Mb,Nb,Ob;_=Rb.prototype=Qb.prototype=new Cb;_.cM={23:1,30:1,31:1,32:1};_=Tb.prototype=Sb.prototype=new Cb;_.cM={23:1,30:1,31:1,32:1};_=Vb.prototype=Ub.prototype=new Cb;_.cM={23:1,30:1,31:1,32:1};_=Xb.prototype=Wb.prototype=new Cb;_.cM={23:1,30:1,31:1,32:1};_=Zb.prototype=Yb.prototype=new Cb;_.cM={23:1,30:1,31:1,32:1};_=_b.prototype=$b.prototype=new Cb;_.cM={23:1,30:1,31:1,32:1};_=bc.prototype=ac.prototype=new Cb;_.cM={23:1,30:1,31:1,32:1};_=dc.prototype=cc.prototype=new Cb;_.cM={23:1,30:1,31:1,32:1};_=fc.prototype=ec.prototype=new Cb;_.cM={23:1,30:1,31:1,32:1};var gc,hc=false,ic,jc,kc;_=pc.prototype=oc.prototype=new E;_.y=function qc(){(lc(),hc)&&mc()};_.cM={};_=yc.prototype=rc.prototype=new E;_.cM={};_.b=null;var sc;_=Bc.prototype=new E;_.cM={};_.g=null;_=Ac.prototype=new Bc;_.B=function Cc(){this.f=false;this.g=null};_.cM={};_.f=false;_=zc.prototype=new Ac;_.A=function Fc(){return this.C()};_.cM={};_.b=null;_.c=null;var Dc=null;_=Ic.prototype=new E;_.hC=function Kc(){return this.d};_.cM={};_.d=0;var Jc=0;_=Lc.prototype=Hc.prototype=new Ic;_.cM={};_=Mc.prototype=Gc.prototype=new Hc;_.cM={3:1};_.b=null;_.c=null;_=Nc.prototype=new zc;_.cM={};_=Pc.prototype=new Nc;_.cM={};_=Tc.prototype=Oc.prototype=new Pc;_.z=function Uc(b){Sc(this,_d(b,4))};_.C=function Vc(){return Qc};_.cM={};var Qc;_=Zc.prototype=Wc.prototype=new Pc;_.z=function $c(b){_d(_d(b,5),6).f.i.Z()};_.C=function _c(){return Xc};_.cM={};var Xc;_=dd.prototype=ad.prototype=new Pc;_.z=function ed(b){_d(b,7).D(this)};_.C=function fd(){return bd};_.cM={};var bd;_=hd.prototype=gd.prototype=new E;_.cM={};_.b=null;_=kd.prototype=id.prototype=new Ac;_.z=function ld(b){_d(b,8).E(this)};_.A=function nd(){return jd};_.cM={};var jd=null;_=rd.prototype=qd.prototype=od.prototype=new E;_.cM={25:1};_.b=null;_.c=null;_=ud.prototype=new E;_.cM={};_=td.prototype=new ud;_.F=function Dd(b,c,d){this.c>0?vd(this,new Xi(this,b,d)):zd(this,b,d)};_.cM={};_.b=null;_.c=0;_.d=false;_=Ed.prototype=sd.prototype=new td;_.F=function Fd(b,c,d){this.c>0?vd(this,new Xi(this,b,d)):zd(this,b,d)};_.cM={};_=Hd.prototype=Gd.prototype=new E;_.cM={};_.b=null;_=Kd.prototype=Jd.prototype=new I;_.cM={2:1,9:1,10:1,30:1};_.b=null;_=Ld.prototype=Id.prototype=new Jd;_.cM={2:1,9:1,10:1,30:1};_=Nd.prototype=Md.prototype=new E;_.cM={18:1};_=Pd.prototype=Od.prototype=new E;_.cM={};_.aC=null;_.qI=0;var Vd,Wd;var qe=null;var ve,we,xe;_=Ae.prototype=ze.prototype=new E;_.cM={26:1};_=De.prototype=Ce.prototype=new E;_.cM={};_.b=0;_.c=0;_.d=0;_.e=null;_.f=0;_=Ee.prototype=new E;_.cM={};_=He.prototype=Fe.prototype=new E;_.cM={};var Ge=null;_=Ke.prototype=Ie.prototype=new Ee;_.cM={};var Je=null;var Le=null;_=Qe.prototype=Pe.prototype=new E;_.cM={};_.b=null;_.c=null;_.d=null;_=Se.prototype=Re.prototype=new I;_.cM={2:1,10:1,30:1};_=Ye.prototype=Te.prototype=new E;_.cM={};_.d=false;_.f=false;_=$e.prototype=new E;_.G=function ef(){this.c||Um(_e,this);this.H()};_.cM={13:1};_.c=false;_.d=0;var _e;_=ff.prototype=Ze.prototype=new $e;_.H=function gf(){if(!this.b.d){return}Ue(this.b)};_.cM={13:1};_.b=null;_=jf.prototype=hf.prototype=new $e;_.H=function kf(){this.b.f=false;Ve(this.b,(new Date).getTime())};_.cM={13:1};_.b=null;_=qf.prototype=lf.prototype=new E;_.I=function rf(){return this.d<this.b};_.J=function sf(){return of(this)};_.K=function tf(){pf(this)};_.cM={};_.b=0;_.c=-1;_.d=0;_.e=null;var uf=null,vf=null;var Af;var Df=null;_=Jf.prototype=Ff.prototype=new Ac;_.z=function Kf(b){ik(_d(b,12),this);Hf.d=false};_.A=function Mf(){return Gf};_.B=function Nf(){If(this)};_.cM={};_.b=false;_.c=false;_.d=false;_.e=null;var Gf=null,Hf=null;_=Pf.prototype=Of.prototype=new E;_.E=function Qf(b){while((af(),_e).c>0){bf(_d(Rm(_e,0),13))}};_.cM={8:1,18:1};var Sf=false,Tf=null;_=_f.prototype=Yf.prototype=new Ac;_.z=function ag(b){ee(b);null.tb()};_.A=function bg(){return Zf};_.cM={};var Zf;_=dg.prototype=cg.prototype=new od;_.cM={25:1};var eg=false;var ig=null,jg=null,kg=null,lg=null,mg=null;_=wg.prototype=new E;_.cM={28:1};_.x=null;_=vg.prototype=new wg;_.M=function Lg(){};_.N=function Mg(){};_.O=function Ng(){return this.t};_.P=function Og(){Eg(this)};_.L=function Pg(b){Fg(this,b)};_.Q=function Qg(){Gg(this)};_.R=function Rg(){};_.S=function Sg(){};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.t=false;_.u=0;_.v=null;_.w=null;_=ug.prototype=new vg;_.M=function Tg(){eh(this,(ch(),ah))};_.N=function Ug(){eh(this,(ch(),bh))};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=tg.prototype=new ug;_.U=function Xg(){return new Li(this.b)};_.T=function Yg(b){return Wg(this,b)};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=sg.prototype=new tg;_.T=function $g(b){var c;c=Wg(this,b);c&&Zg(b.x);return c};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=dh.prototype=_g.prototype=new Id;_.cM={2:1,9:1,10:1,30:1};var ah,bh;_=gh.prototype=fh.prototype=new E;_.V=function hh(b){b.P()};_.cM={};_=jh.prototype=ih.prototype=new E;_.V=function kh(b){b.Q()};_.cM={};_=lh.prototype=new vg;_.O=function nh(){if(this.s){return this.s.t}return false};_.P=function oh(){if(this.u!=-1){Kg(this.s,this.u);this.u=-1}Eg(this.s);this.x.__listener=this;this.R()};_.L=function ph(b){Fg(this,b);Fg(this.s,b)};_.Q=function qh(){try{this.S()}finally{Gg(this.s)}};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.s=null;_=sh.prototype=rh.prototype=new tg;_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=th.prototype=new vg;_.P=function uh(){var b;Eg(this);b=this.x.tabIndex;-1==b&&(this.x.tabIndex=0,undefined)};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=wh.prototype=vh.prototype=new tg;_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=Bh.prototype=xh.prototype=new vg;_.L=function Ch(b){fg(b.type)==32768&&!!this.b&&(this.x[ko]=Hn,undefined);Fg(this,b)};_.R=function Dh(){var b;b=rb(this.x,ko);Mk(Xn,b)&&Cf(new Kh(this))};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.b=null;_=Fh.prototype=new E;_.cM={};_=Hh.prototype=Eh.prototype=new Fh;_.cM={};_.b=0;_.c=0;_.d=0;_.e=null;_.f=0;_=Kh.prototype=Ih.prototype=new E;_.y=function Lh(){Jh(this)};_.cM={11:1};_.b=null;_=Rh.prototype=Mh.prototype=new sg;_.cM={14:1,15:1,16:1,17:1,24:1,25:1,27:1,28:1};var Nh,Oh,Ph;_=Wh.prototype=Vh.prototype=new E;_.V=function Xh(b){b.O()&&b.Q()};_.cM={};_=Zh.prototype=Yh.prototype=new E;_.E=function $h(b){Th()};_.cM={8:1,18:1};_=ai.prototype=_h.prototype=new Mh;_.cM={14:1,15:1,16:1,17:1,24:1,25:1,27:1,28:1};_=di.prototype=new th;_.W=function hi(){return ei(this)};_.L=function ii(b){var c;c=fg(b.type);(c&896)!=0?Fg(this,b):Fg(this,b)};_.R=function ji(){};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=ci.prototype=new di;_.W=function li(){var b;return b=ei(this),b==null?Hn:b};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=mi.prototype=bi.prototype=new ci;_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=ni.prototype=new Db;_.cM={29:1,30:1,31:1,32:1};var oi,pi,qi,ri;_=ui.prototype=ti.prototype=new ni;_.cM={29:1,30:1,31:1,32:1};_=wi.prototype=vi.prototype=new ni;_.cM={29:1,30:1,31:1,32:1};_=yi.prototype=xi.prototype=new ni;_.cM={29:1,30:1,31:1,32:1};_=Ai.prototype=zi.prototype=new ni;_.cM={29:1,30:1,31:1,32:1};_=Hi.prototype=Bi.prototype=new E;_.U=function Ii(){return new Li(this)};_.cM={};_.b=null;_.c=null;_.d=0;_=Li.prototype=Ji.prototype=new E;_.I=function Mi(){return this.b<this.c.d-1};_.J=function Ni(){return Ki(this)};_.K=function Oi(){if(this.b<0||this.b>=this.c.d){throw new Ck}this.c.c.T(this.c.b[this.b--])};_.cM={};_.b=-1;_.c=null;_=Si.prototype=Qi.prototype=new E;_.cM={};_.b=null;_.c=null;_.d=null;_.e=null;_=Ui.prototype=Ti.prototype=new E;_.y=function Vi(){xd(this.b,this.d,this.c)};_.cM={21:1};_.b=null;_.c=null;_.d=null;_=Xi.prototype=Wi.prototype=new E;_.y=function Yi(){zd(this.b,this.d,this.c)};_.cM={21:1};_.b=null;_.c=null;_.d=null;_=bj.prototype=Zi.prototype=new E;_.cM={};_.b=null;var cj=null,dj=null,ej=null;_=hj.prototype=fj.prototype=new E;_.cM={};_.b=false;_=oj.prototype=nj.prototype=new E;_.X=function pj(b,c){};_.Y=function qj(){};_.Z=function rj(){};_.$=function sj(){};_._=function tj(){};_.ab=function uj(){};_.cM={};_=xj.prototype=new E;_.bb=function Aj(b){return Hn+b};_.X=function Bj(b,c){if(this.i){this.j+=b;this.k+=c;zj(this);this.cb(b,c);yj(this)}};_.cb=function Cj(b,c){};_.Y=function Dj(){this.i=true;Wj(this.n)};_.Z=function Ej(){if(!this.i){Zj(this.n);this.i=false}};_.$=function Fj(){this.i||Yj(this.n)};_._=function Gj(){this.i=false;Sj(this.n)?Yj(this.n):Zj(this.n);this.db(this.j,this.k)};_.db=function Hj(b,c){};_.ab=function Ij(){yj(this)};_.cM={};_.i=false;_.j=0;_.k=1;_.n=null;_=wj.prototype=new xj;_.bb=function Lj(b){var c,d;c=b*this.c+this.e;d=Jj(this,c);return this.f!=null&&!!this.f.length?Nk(this.f,so,Hn+d):Hn+d};_.cb=function Mj(b,c){this.d=false};_.eb=function Nj(b,c){};_.db=function Oj(b,c){var d,e;d=Jj(this,b*this.c+this.e);e=Jj(this,c*this.c+this.e);this.eb(d,e)};_.cM={};_.c=0;_.d=false;_.e=0;_.f=null;_.g=0;_=Pj.prototype=vj.prototype=new wj;_.eb=function Qj(b,c){var d=this.b;d&&typeof d==In&&d(b,c)};_.cM={};_.b=null;_=dk.prototype=Rj.prototype=new lh;_.R=function ek(){this.i.ab()};_.S=function fk(){kk(this.g)};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.c=0;_.d=null;_.e=null;_.f=null;_.j=null;_.k=null;_.n=null;_.o=null;_.q=null;_.r=null;_=lk.prototype=gk.prototype=new E;_.D=function mk(b){this.f.i.$()};_.cM={4:1,5:1,6:1,7:1,12:1,18:1};_.b=0;_.c=0;_.d=false;_.e=false;_.f=null;_=ok.prototype=nk.prototype=new E;_.D=function pk(b){jk(this.b)};_.cM={7:1,18:1};_.b=null;_=sk.prototype=qk.prototype=new E;_.cM={};_.b=0;_.c=0;_.d=0;_.e=0;_=uk.prototype=tk.prototype=new I;_.cM={2:1,10:1,30:1};_=wk.prototype=vk.prototype=new E;_.cM={};_=yk.prototype=xk.prototype=new I;_.cM={2:1,10:1,30:1};_=Ak.prototype=zk.prototype=new I;_.cM={2:1,10:1,30:1};_=Dk.prototype=Ck.prototype=Bk.prototype=new I;_.cM={2:1,10:1,30:1};_=Gk.prototype=Fk.prototype=Ek.prototype=new I;_.cM={2:1,10:1,30:1};_=Jk.prototype=Ik.prototype=Hk.prototype=new I;_.cM={2:1,10:1,30:1};_=Lk.prototype=Kk.prototype=new E;_.cM={30:1,33:1};_=String.prototype;_.eQ=function Rk(b){return Mk(this,b)};_.hC=function Sk(){return Yk(this)};_.cM={1:1,30:1,31:1};var Tk,Uk=0,Vk;_=bl.prototype=$k.prototype=new E;_.cM={};_=dl.prototype=cl.prototype=new I;_.cM={2:1,10:1,30:1};_=el.prototype=new E;_.fb=function gl(b){throw new dl('Add not supported on this collection')};_.gb=function hl(b){var c;c=fl(this.U(),b);return !!c};_.hb=function il(){return this.jb()==0};_.ib=function jl(b){var c;c=fl(this.U(),b);if(c){c.K();return true}else{return false}};_.kb=function kl(b){var c,d,e;e=this.jb();b.length<e&&(b=Qd(b,e));d=this.U();for(c=0;c<e;++c){Ud(b,c,d.J())}b.length>e&&Ud(b,e,null);return b};_.cM={};_=ml.prototype=new E;_.eQ=function ol(b){var c,d,e,f,g;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[19])){return false}f=_d(b,19);if(this.e!=f.e){return false}for(d=new Ul((new Ml(f)).b);vm(d.b);){c=d.c=_d(wm(d.b),34);e=c.mb();g=c.W();if(!(e==null?this.d:e!=null&&e.cM&&!!e.cM[1]?Ao+_d(e,1) in this.f:wl(this,e,~~Q(e)))){return false}if(!En(g,e==null?this.c:e!=null&&e.cM&&!!e.cM[1]?this.f[Ao+_d(e,1)]:vl(this,e,~~Q(e)))){return false}}return true};_.hC=function pl(){var b,c,d;d=0;for(c=new Ul((new Ml(this)).b);vm(c.b);){b=c.c=_d(wm(c.b),34);d+=b.hC();d=~~d}return d};_.cM={19:1};_=ll.prototype=new ml;_.lb=function Gl(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)};_.cM={19:1};_.b=null;_.c=null;_.d=false;_.e=0;_.f=null;_=Il.prototype=new el;_.eQ=function Jl(b){var c,d,e;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[35])){return false}d=_d(b,35);if(d.jb()!=this.jb()){return false}for(c=d.U();c.I();){e=c.J();if(!this.gb(e)){return false}}return true};_.hC=function Kl(){var b,c,d;b=0;for(c=this.U();c.I();){d=c.J();if(d!=null){b+=Q(d);b=~~b}}return b};_.cM={35:1};_=Ml.prototype=Hl.prototype=new Il;_.gb=function Nl(b){return Ll(this,b)};_.U=function Ol(){return new Ul(this.b)};_.ib=function Pl(b){var c;if(Ll(this,b)){c=_d(b,34).mb();Cl(this.b,c);return true}return false};_.jb=function Ql(){return this.b.e};_.cM={35:1};_.b=null;_=Ul.prototype=Rl.prototype=new E;_.I=function Vl(){return vm(this.b)};_.J=function Wl(){return this.c=_d(wm(this.b),34)};_.K=function Xl(){Tl(this)};_.cM={};_.b=null;_.c=null;_.d=null;_=Zl.prototype=new E;_.eQ=function $l(b){var c;if(b!=null&&b.cM&&!!b.cM[34]){c=_d(b,34);if(En(this.mb(),c.mb())&&En(this.W(),c.W())){return true}}return false};_.hC=function _l(){var b,c;b=0;c=0;this.mb()!=null&&(b=Q(this.mb()));this.W()!=null&&(c=Q(this.W()));return b^c};_.cM={34:1};_=am.prototype=Yl.prototype=new Zl;_.mb=function bm(){return null};_.W=function cm(){return this.b.c};_.nb=function dm(b){return Al(this.b,b)};_.cM={34:1};_.b=null;_=fm.prototype=em.prototype=new Zl;_.mb=function gm(){return this.b};_.W=function hm(){return this.c.f[Ao+this.b]};_.nb=function im(b){return Bl(this.c,this.b,b)};_.cM={34:1};_.b=null;_.c=null;_=jm.prototype=new el;_.fb=function km(b){this.ob(this.jb(),b);return true};_.ob=function lm(b,c){throw new dl('Add not supported on this list')};_.eQ=function nm(b){var c,d,e,f,g;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[20])){return false}g=_d(b,20);if(this.jb()!=g.jb()){return false}e=new ym(this);f=g.U();while(e.c<e.e.jb()){c=wm(e);d=wm(f);if(!(c==null?d==null:P(c,d))){return false}}return true};_.hC=function om(){var b,c,d;c=1;b=new ym(this);while(b.c<b.e.jb()){d=wm(b);c=31*c+(d==null?0:Q(d));c=~~c}return c};_.U=function qm(){return new ym(this)};_.qb=function rm(){return new Em(this,0)};_.rb=function sm(b){return new Em(this,b)};_.sb=function tm(b){throw new dl('Remove not supported on this list')};_.cM={20:1};_=ym.prototype=um.prototype=new E;_.I=function zm(){return this.c<this.e.jb()};_.J=function Am(){return wm(this)};_.K=function Bm(){xm(this)};_.cM={};_.c=0;_.d=-1;_.e=null;_=Em.prototype=Cm.prototype=new um;_.cM={};_.b=null;_=Gm.prototype=Fm.prototype=new Il;_.gb=function Hm(b){return tl(this.b,b)};_.U=function Im(){var b;return b=new Ul(this.c.b),new Lm(b)};_.jb=function Jm(){return this.c.b.e};_.cM={35:1};_.b=null;_.c=null;_=Lm.prototype=Km.prototype=new E;_.I=function Mm(){return vm(this.b.b)};_.J=function Nm(){var b;b=Sl(this.b);return b.mb()};_.K=function Om(){Tl(this.b)};_.cM={};_.b=null;_=Vm.prototype=Pm.prototype=new jm;_.fb=function Wm(b){return Ud(this.b,this.c++,b),true};_.ob=function Xm(b,c){(b<0||b>this.c)&&pm(b,this.c);this.b.splice(b,0,c);++this.c};_.gb=function Ym(b){return Sm(this,b,0)!=-1};_.pb=function Zm(b){return mm(b,this.c),this.b[b]};_.hb=function $m(){return this.c==0};_.sb=function _m(b){return Tm(this,b)};_.ib=function an(b){return Um(this,b)};_.jb=function bn(){return this.c};_.kb=function cn(b){var c,d,e;b.length<this.c&&(b=(d=b,e=Rd(0,this.c),Td(d.aC,d.cM,d.qI,e),e));for(c=0;c<this.c;++c){Ud(b,c,this.b[c])}b.length>this.c&&Ud(b,this.c,null);return b};_.cM={20:1,30:1};_.c=0;var dn;_=gn.prototype=fn.prototype=new jm;_.gb=function hn(b){return false};_.pb=function jn(b){throw new Fk};_.jb=function kn(){return 0};_.cM={20:1,30:1};_=nn.prototype=ln.prototype=new ll;_.cM={19:1,30:1};_=qn.prototype=on.prototype=new Il;_.fb=function rn(b){var c;return c=yl(this.b,b,this),c==null};_.gb=function sn(b){return tl(this.b,b)};_.hb=function tn(){return this.b.e==0};_.U=function un(){var b;return b=new Ul(nl(this.b).c.b),new Lm(b)};_.ib=function vn(b){return Cl(this.b,b)!=null};_.jb=function wn(){return this.b.e};_.cM={30:1,35:1};_.b=null;_=yn.prototype=xn.prototype=new Zl;_.mb=function zn(){return this.b};_.W=function An(){return this.c};_.nb=function Bn(b){var c;c=this.c;this.c=b;return c};_.cM={34:1};_.b=null;_.c=null;_=Dn.prototype=Cn.prototype=new I;_.cM={2:1,10:1,30:1};var Gn=X;var ke=new wk,fe=new wk,ge=new wk,ie=new wk,he=new wk,le=new wk,je=new wk;$stats && $stats({moduleName:'de.factfinder.asn.slider.OneTouchSlider',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalEnd'});if (de_factfinder_asn_slider_OneTouchSlider && de_factfinder_asn_slider_OneTouchSlider.onScriptLoad)de_factfinder_asn_slider_OneTouchSlider.onScriptLoad(gwtOnLoad);})();
|
skin/frontend/base/default/js/factfinder_onetouchslider/79DD9AE9135ADFDE204324DA7F1B1405.cache.png
ADDED
Binary file
|
skin/frontend/base/default/js/factfinder_onetouchslider/9F0D0456482D7A7A901A2CD8F64EA019.cache.js
ADDED
@@ -0,0 +1,502 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function(){var $gwt_version = "2.3.0";var $wnd = window;var $doc = $wnd.document;var $moduleName, $moduleBase;var $strongName = '9F0D0456482D7A7A901A2CD8F64EA019';var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null;var $sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;$stats && $stats({moduleName:'de.factfinder.asn.slider.OneTouchSlider',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});function E(){}
|
2 |
+
function K(){}
|
3 |
+
function J(){}
|
4 |
+
function I(){}
|
5 |
+
function H(){}
|
6 |
+
function S(){}
|
7 |
+
function Z(){}
|
8 |
+
function io(){}
|
9 |
+
function ib(){}
|
10 |
+
function eb(){}
|
11 |
+
function mb(){}
|
12 |
+
function Tb(){}
|
13 |
+
function Sb(){}
|
14 |
+
function fc(){}
|
15 |
+
function ec(){}
|
16 |
+
function hc(){}
|
17 |
+
function gc(){}
|
18 |
+
function jc(){}
|
19 |
+
function ic(){}
|
20 |
+
function lc(){}
|
21 |
+
function kc(){}
|
22 |
+
function nc(){}
|
23 |
+
function mc(){}
|
24 |
+
function pc(){}
|
25 |
+
function oc(){}
|
26 |
+
function rc(){}
|
27 |
+
function qc(){}
|
28 |
+
function tc(){}
|
29 |
+
function sc(){}
|
30 |
+
function vc(){}
|
31 |
+
function uc(){}
|
32 |
+
function Fc(){}
|
33 |
+
function Ec(){}
|
34 |
+
function Qc(){}
|
35 |
+
function Pc(){}
|
36 |
+
function Oc(){}
|
37 |
+
function Xc(){}
|
38 |
+
function Wc(){}
|
39 |
+
function Vc(){}
|
40 |
+
function ad(){}
|
41 |
+
function cd(){}
|
42 |
+
function gd(){}
|
43 |
+
function bd(){}
|
44 |
+
function md(){}
|
45 |
+
function jd(){}
|
46 |
+
function sd(){}
|
47 |
+
function pd(){}
|
48 |
+
function vd(){}
|
49 |
+
function zd(){}
|
50 |
+
function xd(){}
|
51 |
+
function Dd(){}
|
52 |
+
function Jd(){}
|
53 |
+
function Id(){}
|
54 |
+
function Hd(){}
|
55 |
+
function Vd(){}
|
56 |
+
function Yd(){}
|
57 |
+
function Xd(){}
|
58 |
+
function _d(){}
|
59 |
+
function ae(){}
|
60 |
+
function ce(){}
|
61 |
+
function be(){}
|
62 |
+
function Qe(){}
|
63 |
+
function Pe(){}
|
64 |
+
function Se(){}
|
65 |
+
function Ue(){}
|
66 |
+
function Xe(){}
|
67 |
+
function Ve(){}
|
68 |
+
function $e(){}
|
69 |
+
function Ye(){}
|
70 |
+
function df(){}
|
71 |
+
function ff(){}
|
72 |
+
function hf(){}
|
73 |
+
function pf(){}
|
74 |
+
function of(){}
|
75 |
+
function yf(){}
|
76 |
+
function Bf(){}
|
77 |
+
function _f(){}
|
78 |
+
function Xf(){}
|
79 |
+
function fg(){}
|
80 |
+
function eg(){}
|
81 |
+
function pg(){}
|
82 |
+
function vg(){}
|
83 |
+
function Lg(){}
|
84 |
+
function Kg(){}
|
85 |
+
function Jg(){}
|
86 |
+
function Ig(){}
|
87 |
+
function Hg(){}
|
88 |
+
function oh(){}
|
89 |
+
function vh(){}
|
90 |
+
function uh(){}
|
91 |
+
function yh(){}
|
92 |
+
function xh(){}
|
93 |
+
function Ah(){}
|
94 |
+
function Gh(){}
|
95 |
+
function Ih(){}
|
96 |
+
function Kh(){}
|
97 |
+
function Mh(){}
|
98 |
+
function Uh(){}
|
99 |
+
function Th(){}
|
100 |
+
function Yh(){}
|
101 |
+
function ai(){}
|
102 |
+
function ki(){}
|
103 |
+
function ji(){}
|
104 |
+
function ni(){}
|
105 |
+
function mi(){}
|
106 |
+
function pi(){}
|
107 |
+
function ti(){}
|
108 |
+
function si(){}
|
109 |
+
function ri(){}
|
110 |
+
function Di(){}
|
111 |
+
function Ki(){}
|
112 |
+
function Ji(){}
|
113 |
+
function Mi(){}
|
114 |
+
function Li(){}
|
115 |
+
function Oi(){}
|
116 |
+
function Ni(){}
|
117 |
+
function Qi(){}
|
118 |
+
function Pi(){}
|
119 |
+
function Ri(){}
|
120 |
+
function Zi(){}
|
121 |
+
function dj(){}
|
122 |
+
function ej(){}
|
123 |
+
function nj(){}
|
124 |
+
function qj(){}
|
125 |
+
function tj(){}
|
126 |
+
function wj(){}
|
127 |
+
function Kj(){}
|
128 |
+
function Ij(){}
|
129 |
+
function Rj(){}
|
130 |
+
function Qj(){}
|
131 |
+
function $j(){}
|
132 |
+
function Zj(){}
|
133 |
+
function Yj(){}
|
134 |
+
function Yk(){}
|
135 |
+
function sk(){}
|
136 |
+
function Jk(){}
|
137 |
+
function Qk(){}
|
138 |
+
function Tk(){}
|
139 |
+
function Wk(){}
|
140 |
+
function Zk(){}
|
141 |
+
function $k(){}
|
142 |
+
function al(){}
|
143 |
+
function cl(){}
|
144 |
+
function fl(){}
|
145 |
+
function il(){}
|
146 |
+
function ll(){}
|
147 |
+
function Cl(){}
|
148 |
+
function Gl(){}
|
149 |
+
function Il(){}
|
150 |
+
function Ql(){}
|
151 |
+
function Pl(){}
|
152 |
+
function km(){}
|
153 |
+
function jm(){}
|
154 |
+
function tm(){}
|
155 |
+
function Bm(){}
|
156 |
+
function Am(){}
|
157 |
+
function Im(){}
|
158 |
+
function Nm(){}
|
159 |
+
function Ym(){}
|
160 |
+
function en(){}
|
161 |
+
function hn(){}
|
162 |
+
function nn(){}
|
163 |
+
function sn(){}
|
164 |
+
function Ln(){}
|
165 |
+
function Kn(){}
|
166 |
+
function Pn(){}
|
167 |
+
function Sn(){}
|
168 |
+
function _n(){}
|
169 |
+
function fo(){}
|
170 |
+
function ml(b){}
|
171 |
+
function M(b){lb()}
|
172 |
+
function N(){lb()}
|
173 |
+
function gf(){lb()}
|
174 |
+
function gl(){lb()}
|
175 |
+
function dl(){lb()}
|
176 |
+
function jl(){lb()}
|
177 |
+
function Xk(){lb()}
|
178 |
+
function _k(){lb()}
|
179 |
+
function go(){lb()}
|
180 |
+
function bl(b){lb()}
|
181 |
+
function el(b){lb()}
|
182 |
+
function hl(b){lb()}
|
183 |
+
function kl(b){lb()}
|
184 |
+
function Hl(b){lb()}
|
185 |
+
function sg(){rg()}
|
186 |
+
function Rn(){Wl(this)}
|
187 |
+
function lj(){gj();mj()}
|
188 |
+
function Hj(){Dj=new Kj}
|
189 |
+
function wd(){this.a={}}
|
190 |
+
function Wd(b){this.a=b}
|
191 |
+
function $h(b){this.a=b}
|
192 |
+
function Rk(b){this.a=b}
|
193 |
+
function Ok(b){this.e=b}
|
194 |
+
function Gf(b){this.d=b}
|
195 |
+
function an(b){this.d=b}
|
196 |
+
function on(b){this.a=b}
|
197 |
+
function om(b){this.a=b}
|
198 |
+
function Em(b){this.a=b}
|
199 |
+
function _i(b){this.b=b}
|
200 |
+
function $c(){this.c=++Yc}
|
201 |
+
function Un(){this.a=new Rn}
|
202 |
+
function Nh(){Nh=io;new Rn}
|
203 |
+
function Vh(){Vh=io;new lj}
|
204 |
+
function ab(){ab=io;$=new eb}
|
205 |
+
function Mb(){Mb=io;Ob()}
|
206 |
+
function Hc(){Hc=io;Jc()}
|
207 |
+
function Ai(){Ai=io;Ii()}
|
208 |
+
function Bj(){Bj=io;Gj()}
|
209 |
+
function Lj(){Lj=io;Hj(Gj())}
|
210 |
+
function Tf(){Tf=io;Sf=new nf}
|
211 |
+
function rg(){rg=io;qg=new $c}
|
212 |
+
function Jn(){Jn=io;In=new Ln}
|
213 |
+
function wi(b){this.w=b;new ae}
|
214 |
+
function wf(b){rf();this.a=b}
|
215 |
+
function zf(b){rf();this.a=b}
|
216 |
+
function Df(b){return b.c<b.a}
|
217 |
+
function Ke(b){return b.l|b.m<<22}
|
218 |
+
function Si(b,c){Ui(b,c,b.c)}
|
219 |
+
function Rf(b,c){zg();Fg(b,c)}
|
220 |
+
function mf(b,c){tn(b.b,c);lf(b)}
|
221 |
+
function Og(b,c){Qg(b.w,c,true)}
|
222 |
+
function Ng(b,c){b.w=c}
|
223 |
+
function Sg(b,c){!!b.u&&Ed(b.u,c)}
|
224 |
+
function oj(b){b.a.F(b.d,b.c,b.b)}
|
225 |
+
function Cf(b){return un(b.d.b,b.b)}
|
226 |
+
function Zm(b){return b.b<b.d.jb()}
|
227 |
+
function $d(b){Zd.call(this,b)}
|
228 |
+
function sh(b){Zd.call(this,b)}
|
229 |
+
function R(c,b){c[c.length]=b}
|
230 |
+
function Jm(b,c){this.b=b;this.a=c}
|
231 |
+
function jn(b,c){this.a=b;this.b=c}
|
232 |
+
function ao(b,c){this.a=b;this.b=c}
|
233 |
+
function O(b){lb();this.a=b;kb(this)}
|
234 |
+
function xj(b){ub(b.a,ar);ub(b.a,br)}
|
235 |
+
function yj(b){ub(b.a,ar);sb(b.a,br)}
|
236 |
+
function zj(b){sb(b.a,ar);ub(b.a,br)}
|
237 |
+
function Dl(b,c){ob(b.a,c);return b}
|
238 |
+
function El(b,c){pb(b.a,c);return b}
|
239 |
+
function Qm(b,c){(b<0||b>=c)&&Tm(b,c)}
|
240 |
+
function ne(b,c){return b.cM&&b.cM[c]}
|
241 |
+
function _l(c,b){return oo+b in c.e}
|
242 |
+
function ol(c,b){return c.indexOf(b)}
|
243 |
+
function Mk(b){!b.e.e&&(b.e.e=Wf(b))}
|
244 |
+
function db(b,c){b.b=fb(b.b,[c,false])}
|
245 |
+
function ob(b,c){b[b.explicitLength++]=c}
|
246 |
+
function pb(b,c){b[b.explicitLength++]=c}
|
247 |
+
function Td(b){this.d=new Rn;this.c=b}
|
248 |
+
function rh(){rh=io;ph=new vh;qh=new yh}
|
249 |
+
function rf(){rf=io;qf=new yn;kg(new fg)}
|
250 |
+
function rd(){rd=io;qd=new _c(Co,new sd)}
|
251 |
+
function ed(){ed=io;dd=new _c(Ao,new gd)}
|
252 |
+
function ld(){ld=io;kd=new _c(Bo,new md)}
|
253 |
+
function Gj(){Gj=io;Cj=$moduleBase+cr}
|
254 |
+
function yl(){yl=io;vl={};xl={}}
|
255 |
+
function zg(){if(!xg){Eg();xg=true}}
|
256 |
+
function Pf(b){Lf=b;zg();b.setCapture()}
|
257 |
+
function Nj(){Nj=io;Gj();Fj=new Te(Cj,0)}
|
258 |
+
function Mj(){Mj=io;Gj();Ej=new Te(Cj,58)}
|
259 |
+
function um(b){return b.b=oe($m(b.a),34)}
|
260 |
+
function V(b,c,d){return b.apply(c,d);var e}
|
261 |
+
function Ck(b,c,d){yk(b,c,b.c);yk(b,d,b.i)}
|
262 |
+
function un(b,c){Qm(c,b.b);return b.a[c]}
|
263 |
+
function Oh(b,c){Ph(b,c.d,c.b,c.c,c.e,c.a)}
|
264 |
+
function Ph(b,c,d,e,f,g){Wh(b.a,b,c,d,e,f,g)}
|
265 |
+
function Md(b,c,d){var e;e=Pd(b,c);e.fb(d)}
|
266 |
+
function Gd(b,c){this.a=new Td(c);this.b=b}
|
267 |
+
function Fd(b){this.a=new Td(false);this.b=b}
|
268 |
+
function yn(){this.a=fe(ze,{30:1},0,0,0)}
|
269 |
+
function Ab(b,c){b.fireEvent(uo+c.type,c)}
|
270 |
+
function Tm(b,c){throw new hl(Pr+b+Qr+c)}
|
271 |
+
function Kd(b,c){!b.a&&(b.a=new yn);tn(b.a,c)}
|
272 |
+
function Bd(b){var c;if(yd){c=new zd;Ed(b,c)}}
|
273 |
+
function cf(b){b.parentNode.removeChild(b)}
|
274 |
+
function qi(){fi.call(this,(ei(),$doc.body))}
|
275 |
+
function Aj(){Bj();Lj();Gj();this.a=$doc.body}
|
276 |
+
function rj(b,c,d){this.a=b;this.c=c;this.b=d}
|
277 |
+
function uj(b,c,d){this.a=b;this.c=c;this.b=d}
|
278 |
+
function ef(b,c,d){this.b=b;this.c=c;this.a=d}
|
279 |
+
function wg(){this.a=new Td(false);this.b=null}
|
280 |
+
function Nk(b){if(b.e.e){oj(b.e.e.a);b.e.e=null}}
|
281 |
+
function tn(b,c){he(b.a,b.b++,c);return true}
|
282 |
+
function vi(b,c){b.W();b.w[lq]=c!=null?c:ko}
|
283 |
+
function Qf(b,c){Ib()?Rb(b,c):(b.src=c,undefined)}
|
284 |
+
function ql(c,b){return c.substr(b,c.length-b)}
|
285 |
+
function qe(b,c){return b!=null&&b.cM&&!!b.cM[c]}
|
286 |
+
function kg(b){mg();return lg(yd?yd:(yd=new $c),b)}
|
287 |
+
function ng(){ig&&Bd((!jg&&(jg=new wg),jg))}
|
288 |
+
function ke(){ke=io;ie=[];je=[];le(new ce,ie,je)}
|
289 |
+
function Bc(){Bc=io;yc=[];zc=[];Ac=[];wc=new Fc}
|
290 |
+
function ei(){ei=io;bi=new ki;ci=new Rn;di=new Un}
|
291 |
+
function Ib(){if(!Fb){Eb=Jb();Fb=true}return Eb}
|
292 |
+
function fb(b,c){!b&&(b=[]);b[b.length]=c;return b}
|
293 |
+
function qb(b,c){b[b.explicitLength++]=c==null?po:c}
|
294 |
+
function Tn(b,c){var d;d=am(b.a,c,b);return d==null}
|
295 |
+
function Rl(b){var c;c=new om(b);return new jn(b,c)}
|
296 |
+
function kj(b){if(!Ib()){return b.w}return vb(b.w)}
|
297 |
+
function te(b){if(b!=null){throw new _k}return null}
|
298 |
+
function Uf(b){Tf();if(!b){throw new kl(Qo)}mf(Sf,b)}
|
299 |
+
function Dc(){Bc();if(!xc){xc=true;db((ab(),$),wc)}}
|
300 |
+
function Jc(){Jc=io;Hc();Ic=fe(ue,{30:1},-1,30,1)}
|
301 |
+
function Xi(b){this.b=b;this.a=fe(ye,{30:1},15,4,0)}
|
302 |
+
function fi(b){this.a=new Xi(this);this.w=b;Tg(this)}
|
303 |
+
function Hh(){this.a=new Xi(this);this.w=zb($doc,ro)}
|
304 |
+
function pj(b,c,d){this.a=b;this.d=c;this.c=null;this.b=d}
|
305 |
+
function Wl(b){b.a=[];b.e={};b.c=false;b.b=null;b.d=0}
|
306 |
+
function Bl(){if(wl==256){vl=xl;xl={};wl=0}++wl}
|
307 |
+
function tb(c,b){return c[b]==null?null:String(c[b])}
|
308 |
+
function tk(b){return Uk(new Vk(b.r.w),b.f.a,b.f.b)}
|
309 |
+
function Fe(b,c,d){return a=new Qe,a.l=b,a.m=c,a.h=d,a}
|
310 |
+
function Fl(){var b;this.a=(b=[],b.explicitLength=0,b)}
|
311 |
+
function pl(d,b,c){c=sl(c);return d.replace(RegExp(b),c)}
|
312 |
+
function ih(b,c,d){Wg(c);Si(b.a,c);d.appendChild(c.w);Yg(c,b)}
|
313 |
+
function Bk(b,c,d){vi(b.d,c!=null?c:ko);vi(b.j,d!=null?d:ko)}
|
314 |
+
function gi(b){ei();try{b.Q()}finally{em(di.a,b)!=null}}
|
315 |
+
function hi(){ei();try{th(di,bi)}finally{Wl(di.a);Wl(ci)}}
|
316 |
+
function lf(b){if(b.b.b!=0&&!b.e&&!b.c){b.e=true;tf(b.d,1)}}
|
317 |
+
function re(b){return b!=null&&b.tM!=io&&!(b.cM&&!!b.cM[1])}
|
318 |
+
function lg(b,c){return new Wd(Ld((!jg&&(jg=new wg),jg).a,b,c))}
|
319 |
+
function uf(b,c){return $wnd.setTimeout(jo(function(){b.G()}),c)}
|
320 |
+
function Wi(b,c){var d;d=Ti(b,c);if(d==-1){throw new go}Vi(b,d)}
|
321 |
+
function $i(b){if(b.a>=b.b.c){throw new go}return b.b.a[++b.a]}
|
322 |
+
function fn(b){if(b.b<=0){throw new go}return b.a.pb(b.c=--b.b)}
|
323 |
+
function _m(b){if(b.c<0){throw new dl}b.d.sb(b.c);b.b=b.c;b.c=-1}
|
324 |
+
function mh(b){b.style[fq]=ko;b.style[gq]=ko;b.style[hq]=ko}
|
325 |
+
function Zg(b,c){b.t==-1?Rf(b.w,c|(b.w.__eventBits||0)):(b.t|=c)}
|
326 |
+
function Te(b,c){this.b=c;this.c=0;this.a=59;this.e=58;this.d=b}
|
327 |
+
function qk(b,c,d,e,f,g,h,i){lk.call(this,b,c,d,e,f,g,h);this.a=i}
|
328 |
+
function de(b,c){var d,e;d=b;e=ee(0,c);ge(d.aC,d.cM,d.qI,e);return e}
|
329 |
+
function ge(b,c,d,e){ke();me(e,ie,je);e.aC=b;e.cM=c;e.qI=d;return e}
|
330 |
+
function me(b,c,d){ke();for(var e=0,f=c.length;e<f;++e){b[c[e]]=d[e]}}
|
331 |
+
function Ob(){try{$doc.execCommand(zo,false,true)}catch(b){}}
|
332 |
+
function W(){if(T++==0){bb((ab(),$));return true}return false}
|
333 |
+
function De(b){if(b!=null&&b.cM&&!!b.cM[10]){return b}return new O(b)}
|
334 |
+
function oe(b,c){if(b!=null&&!(b.cM&&b.cM[c])){throw new _k}return b}
|
335 |
+
function cm(b,c){var d;d=b.b;b.b=c;if(!b.c){b.c=true;++b.d}return d}
|
336 |
+
function gm(b){var c;c=b.b;b.b=null;if(b.c){b.c=false;--b.d}return c}
|
337 |
+
function $f(b){b.e=false;b.f=null;b.a=false;b.b=false;b.c=true;b.d=null}
|
338 |
+
function Ff(b){wn(b.d.b,b.b);--b.a;b.b<=b.c&&--b.c<0&&(b.c=0);b.b=-1}
|
339 |
+
function $m(b){if(b.b>=b.d.jb()){throw new go}return b.d.pb(b.c=b.b++)}
|
340 |
+
function Kb(b){!b.gwt_uid&&(b.gwt_uid=1);return yo+b.gwt_uid++}
|
341 |
+
function Of(b){!!Lf&&b==Lf&&(Lf=null);zg();b.releaseCapture()}
|
342 |
+
function Bh(b,c){if(b.r){throw new el(iq)}Wg(c);Ng(b,c.w);b.r=c;Yg(c,b)}
|
343 |
+
function Qh(b){Nh();this.a=new Xh(this,b.d,b.b,b.c,b.e,b.a);this.w[$p]=jq}
|
344 |
+
function Ef(b){var c;b.b=b.c;c=un(b.d.b,b.c++);b.c>=b.a&&(b.c=0);return c}
|
345 |
+
function xb(b){var c=b.parentNode;(!c||c.nodeType!=1)&&(c=null);return c}
|
346 |
+
function ui(b){var c,d;d=tb(b.w,lq);c=d;if(nl(ko,d)){return null}return c}
|
347 |
+
function og(){var b;if(ig){b=new sg;!!jg&&Ed(jg,b);return null}return null}
|
348 |
+
function Ti(b,c){var d;for(d=0;d<b.c;++d){if(b.a[d]==c){return d}}return -1}
|
349 |
+
function vn(b,c,d){for(;d<b.b;++d){if(ho(c,b.a[d])){return d}}return -1}
|
350 |
+
function wn(b,c){var d;d=(Qm(c,b.b),b.a[c]);b.a.splice(c,1);--b.b;return d}
|
351 |
+
function dm(f,b,c){var d,e=f.e;b=oo+b;b in e?(d=e[b]):++f.d;e[b]=c;return d}
|
352 |
+
function le(b,c,d){var e=0,f;for(var g in b){if(f=b[g]){c[e]=g;d[e]=f;++e}}}
|
353 |
+
function P(b,c){var d;return d=b,d.tM==io||d.cM&&!!d.cM[1]?d.eQ(c):d===c}
|
354 |
+
function uk(b,c){var d,e;e=b.b>0?b.b:b.n.offsetWidth||0;d=c/e;b.g.X(d,0)}
|
355 |
+
function vk(b,c){var d,e;e=b.b>0?b.b:b.n.offsetWidth||0;d=c/e;b.g.X(0,d)}
|
356 |
+
function xn(b,c){var d;d=vn(b,c,0);if(d==-1){return false}wn(b,d);return true}
|
357 |
+
function Jj(b){if(!b.a){b.a=true;Bc();R(yc,dr);Dc();return true}return false}
|
358 |
+
function pe(b){if(b!=null&&(b.tM==io||b.cM&&!!b.cM[1])){throw new _k}return b}
|
359 |
+
function Cb(c){try{return c.getBoundingClientRect().top}catch(b){return 0}}
|
360 |
+
function Bb(c){try{return c.getBoundingClientRect().left}catch(b){return 0}}
|
361 |
+
function se(b){return ~~Math.max(Math.min(b,2147483647),-2147483648)}
|
362 |
+
function Qn(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)}
|
363 |
+
function ho(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)}
|
364 |
+
function _c(b,c){this.c=++Yc;this.a=c;!Sc&&(Sc=new wd);Sc.a[b]=this;this.b=b}
|
365 |
+
function gn(b,c){var d;this.a=b;this.d=b;d=b.jb();(c<0||c>d)&&Tm(c,d);this.b=c}
|
366 |
+
function Mf(b,c,d){var e;e=Kf;Kf=b;c==Lf&&yg(b.type)==8192&&(Lf=null);d.L(b);Kf=e}
|
367 |
+
function Y(b,c,d){var e;e=W();try{return V(b,c,d)}finally{e&&cb((ab(),$));--T}}
|
368 |
+
function X(c){return function(){try{return Y(c,this,arguments)}catch(b){throw b}}}
|
369 |
+
function Lh(b){this.a=new Xi(this);this.w=zb($doc,ro);this.w.innerHTML=b||ko}
|
370 |
+
function ak(b){b.j>1&&(b.j=1);b.i<0&&(b.i=0);b.i>1&&(b.i=1);b.i>b.j&&(b.j=b.i)}
|
371 |
+
function vm(b){if(!b.b){throw new el(Or)}else{_m(b.a);em(b.c,b.b.mb());b.b=null}}
|
372 |
+
function cb(b){var c,d;if(b.b){d=null;do{c=b.b;b.b=null;d=gb(c,d)}while(b.b);b.b=d}}
|
373 |
+
function bb(b){var c,d;if(b.a){d=null;do{c=b.a;b.a=null;d=gb(c,d)}while(b.a);b.a=d}}
|
374 |
+
function Zh(b){var c,d;c=(d=$doc.createEventObject(),d.type=hp,d);Ab(kj(b.a),c)}
|
375 |
+
function af(b){var c,d;bf();c=xb(b);d=wb(b);_e.appendChild(b);return new ef(c,d,b)}
|
376 |
+
function hm(e,b){var c,d=e.e;b=oo+b;if(b in d){c=d[b];--e.d;delete d[b]}return c}
|
377 |
+
function vb(b){var c=b.firstChild;while(c&&c.nodeType!=1)c=c.nextSibling;return c}
|
378 |
+
function wb(b){var c=b.nextSibling;while(c&&c.nodeType!=1)c=c.nextSibling;return c}
|
379 |
+
function Q(b){var c;return c=b,c.tM==io||c.cM&&!!c.cM[1]?c.hC():c.$H||(c.$H=++U)}
|
380 |
+
function Xl(b,c){return c==null?b.c:c!=null&&c.cM&&!!c.cM[1]?_l(b,oe(c,1)):$l(b,c,~~Q(c))}
|
381 |
+
function nl(b,c){if(!(c!=null&&c.cM&&!!c.cM[1])){return false}return String(b)==c}
|
382 |
+
function Mg(b,c){var d=b.parentNode;if(!d){return}d.insertBefore(c,b);d.removeChild(b)}
|
383 |
+
function yk(b,c,d){var e;e=c*(b.b>0?b.b:b.n.offsetWidth||0);d.style[fq]=e+(dc(),yq)}
|
384 |
+
function wk(b,c,d){var e,f,g;g=b.b>0?b.b:b.n.offsetWidth||0;e=c/g;f=(c+d*2)/g;b.g.X(e,f)}
|
385 |
+
function Rg(b,c,d){Zg(b,yg(d.b));return new Wd(Ld((!b.u?(b.u=new Fd(b)):b.u).a,d,c))}
|
386 |
+
function fe(b,c,d,e,f){var g;g=ee(f,e);ke();me(g,ie,je);g.aC=b;g.cM=c;g.qI=d;return g}
|
387 |
+
function Nf(b){var c;c=bg(Vf,b);if(!c&&!!b){b.cancelBubble=true;b.returnValue=false}return c}
|
388 |
+
function Jl(b,c){var d;while(b.I()){d=b.J();if(c==null?d==null:P(c,d)){return b}}return null}
|
389 |
+
function wm(b){var c;this.c=b;c=new yn;b.c&&tn(c,new Em(b));Vl(b,c);Ul(b,c);this.a=new an(c)}
|
390 |
+
function nf(){this.a=new wf(this);this.b=new yn;this.d=new zf(this);this.f=new Gf(this)}
|
391 |
+
function Ii(){Ii=io;Ei=new Ki;Fi=new Mi;Gi=new Oi;Hi=new Qi;ge(xe,{30:1},29,[Ei,Fi,Gi,Hi])}
|
392 |
+
function bf(){if(!_e){_e=zb($doc,ro);_e.style.display=Oo;(ei(),$doc.body).appendChild(_e)}}
|
393 |
+
function zk(b){Of(b.w);zj(b.a);Qg(b.q.w,pr,false);Qg(b.q.w,or,true);Oh(b.p,(Nj(),Gj(),Fj))}
|
394 |
+
function xk(b){Pf(b.w);yj(b.a);Qg(b.q.w,or,false);Qg(b.q.w,pr,true);Oh(b.p,(Nj(),Gj(),Fj))}
|
395 |
+
function Ak(b){Nk(b.f);Of(b.w);xj(b.a);Qg(b.q.w,or,false);Qg(b.q.w,pr,false);Oh(b.p,(Mj(),Gj(),Ej))}
|
396 |
+
function jf(b){var c;c=Cf(b.f);Ff(b.f);c!=null&&c.cM&&!!c.cM[11]&&new gf(oe(c,11));b.c=false;lf(b)}
|
397 |
+
function em(b,c){return c==null?gm(b):c!=null&&c.cM&&!!c.cM[1]?hm(b,oe(c,1)):fm(b,c,~~Q(c))}
|
398 |
+
function am(b,c,d){return c==null?cm(b,d):c!=null&&c.cM&&!!c.cM[1]?dm(b,oe(c,1),d):bm(b,c,d,~~Q(c))}
|
399 |
+
function Yl(b,c){return c==null?b.b:c!=null&&c.cM&&!!c.cM[1]?b.e[oo+oe(c,1)]:Zl(b,c,~~Q(c))}
|
400 |
+
function Qg(b,c,d){if(!b){throw new M(_p)}c=rl(c);if(c.length==0){throw new bl(aq)}d?sb(b,c):ub(b,c)}
|
401 |
+
function Vl(f,b){var c=f.e;for(var d in c){if(d.charCodeAt(0)==58){var e=new Jm(f,d.substring(1));b.fb(e)}}}
|
402 |
+
function Rd(b){var c,d;if(b.a){try{for(d=new an(b.a);d.b<d.d.jb();){c=oe($m(d),21);c.x()}}finally{b.a=null}}}
|
403 |
+
function rb(b){var c,d;c=(d=b.join(ko),b.length=b.explicitLength=0,d);b[b.explicitLength++]=c;return c}
|
404 |
+
function Zd(b){N.call(this,b.jb()==0?null:oe(b.kb(fe(Be,{22:1,30:1},10,0,0)),22)[0]);this.a=b}
|
405 |
+
function mj(){$wnd.__gwt_transparentImgHandler=function(b){b.onerror=null;Qf(b,$moduleBase+_q)}}
|
406 |
+
function sf(b){b.b?($wnd.clearInterval(b.c),undefined):($wnd.clearTimeout(b.c),undefined);xn(qf,b)}
|
407 |
+
function Xg(b,c){b.s&&(b.w.__listener=null,undefined);!!b.w&&Mg(b.w,c);b.w=c;b.s&&(b.w.__listener=b,undefined)}
|
408 |
+
function Vg(b){if(!b.O()){throw new el(cq)}try{b.S()}finally{try{b.N()}finally{b.w.__listener=null;b.s=false}}}
|
409 |
+
function Vi(b,c){var d;if(c<0||c>=b.c){throw new gl}--b.c;for(d=c;d<b.c;++d){he(b.a,d,b.a[d+1])}he(b.a,b.c,null)}
|
410 |
+
function Dk(b,c,d){var e;e=b.b>0?b.b:b.n.offsetWidth||0;b.k.style[fq]=c*e+(dc(),yq);b.k.style[Aq]=(d-c)*e+yq}
|
411 |
+
function Ek(b,c,d){var e,f;f=~~(b.p.a.e/2);e=c+(d-c)/2;b.p.w.style[fq]=e*(b.b>0?b.b:b.n.offsetWidth||0)-f+(dc(),yq)}
|
412 |
+
function Kc(b,c,d){var e;e=$doc.styleSheets[b];d?(e.cssText+=c,undefined):(e.cssText=c+e.cssText,undefined);return e}
|
413 |
+
function Pd(b,c){var d,e;e=oe(Yl(b.d,c),19);if(!e){e=new Rn;am(b.d,c,e)}d=oe(e.b,20);if(!d){d=new yn;cm(e,d)}return d}
|
414 |
+
function Wf(b){zg();!Yf&&(Yf=new $c);if(!Vf){Vf=new Gd(null,true);Zf=new _f}return new Wd(Ld(Vf.a,Yf,b))}
|
415 |
+
function Al(b){yl();var c=oo+b;var d=xl[c];if(d!=null){return d}d=vl[c];d==null&&(d=zl(b));Bl();return xl[c]=d}
|
416 |
+
function Qd(b,c){var d,e;e=oe(Yl(b.d,c),19);if(!e){return Jn(),Jn(),In}d=oe(e.b,20);if(!d){return Jn(),Jn(),In}return d}
|
417 |
+
function jh(b,c){var d;if(c.v!=b){return false}try{Yg(c,null)}finally{d=c.w;xb(d).removeChild(d);Wi(b.a,c)}return true}
|
418 |
+
function Nc(b){var c;if($doc.styleSheets.length==0){return c=$doc.createStyleSheet(),c.cssText=b,c}return Kc(0,b,false)}
|
419 |
+
function L(b){var c,d,e;d=fe(Ae,{30:1},33,b.length,0);for(e=0,c=b.length;e<c;++e){if(!b[e]){throw new jl}d[e]=b[e]}}
|
420 |
+
function lb(){var b,c,d,e;d=jb(new mb);e=fe(Ae,{30:1},33,d.length,0);for(b=0,c=e.length;b<c;++b){e[b]=new ml(d[b])}L(e)}
|
421 |
+
function Ee(b){var c,d,e;c=b&4194303;d=b>>22&4194303;e=b<0?1048575:0;return a=new Qe,a.l=c,a.m=d,a.h=e,a}
|
422 |
+
function gwtOnLoad(c,d,e,f){$moduleName=d;$moduleBase=e;if(c)try{jo(Ce)()}catch(b){c(d)}else{jo(Ce)()}}
|
423 |
+
function Wg(b){if(!b.v){(ei(),Xl(di.a,b))&&gi(b)}else if(qe(b.v,17)){oe(b.v,17).T(b)}else if(b.v){throw new el(dq)}}
|
424 |
+
function Kk(b){Rg(b.e,b,(ed(),ed(),dd));Rg(b.e,b,(rd(),rd(),qd));Rg(b.e,b,(ld(),ld(),kd));Rg(b.e,new Rk(b),qd)}
|
425 |
+
function _j(b){var c,d;c=b.bb(b.i);d=b.bb(b.j);Bk(b.k,c,d);Ck(b.k,b.i,b.j);Dk(b.k,b.i,b.j);Ek(b.k,b.i,b.j);Fk(b.k,b.i,b.j)}
|
426 |
+
function Od(b,c,d){var e,f,g;e=Qd(b,c);f=e.ib(d);f&&e.hb()&&(g=oe(Yl(b.d,c),19),oe(gm(g),20),g.d==0&&em(b.d,c),undefined)}
|
427 |
+
function Uk(b,c,d){var e,f;f=b.b;e=b.a;if(f<0||e<0){return false}if(c<b.c||d<b.d){return false}f+=b.c;e+=b.d;return f>c&&e>d}
|
428 |
+
function Tc(b,c,d){var e,f,g;if(Sc){g=oe(Sc.a[b.type],3);if(g){e=g.a.a;f=g.a.b;g.a.a=b;g.a.b=d;Sg(c,g.a);g.a.a=e;g.a.b=f}}}
|
429 |
+
function Pj(b,c,d,e,f,g,h,i,j){var k,l,m;k=ii(b);if(k){m=new Gk;m.b=i;l=new qk(c,d,e,f,g,h,m,j);m.g=l;ih(k,m,k.w)}}
|
430 |
+
function Yg(b,c){var d;d=b.v;if(!c){try{!!d&&d.O()&&b.Q()}finally{b.v=null}}else{if(d){throw new el(eq)}b.v=c;c.O()&&b.P()}}
|
431 |
+
function fd(b,c){c.a=b.a.clientX||0;c.b=b.a.clientY||0;c.c=Uk(new Vk(c.e.c),c.a,c.b);c.d=Uk(new Vk(c.e.i),c.a,c.b);c.e.g.Y()}
|
432 |
+
function Ci(){var b;Ai();wi.call(this,(b=$doc.createElement(mq),b.type=nq,b),(!Ze&&(Ze=new $e),!We&&(We=new Xe)));this.w[$p]=oq}
|
433 |
+
function Ul(i,b){var c=i.a;for(var d in c){var e=parseInt(d,10);if(d==e){var f=c[e];for(var g=0,h=f.length;g<h;++g){b.fb(f[g])}}}}
|
434 |
+
function Zl(i,b,c){var d=i.a[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.mb();if(i.lb(b,h)){return g.W()}}}return null}
|
435 |
+
function $l(i,b,c){var d=i.a[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.mb();if(i.lb(b,h)){return true}}}return false}
|
436 |
+
function nm(b,c){var d,e,f;if(c!=null&&c.cM&&!!c.cM[34]){d=oe(c,34);e=d.mb();if(Xl(b.a,e)){f=Yl(b.a,e);return Qn(d.W(),f)}}return false}
|
437 |
+
function Pg(b){var c,d;c=b[$p]==null?null:String(b[$p]);d=c.indexOf(String.fromCharCode(32));if(d>=0){return c.substr(0,d-0)}return c}
|
438 |
+
function hb(b){var c,d,e;e=ko;b=rl(b);c=b.indexOf(lo);if(c!=-1){d=b.indexOf(mo)==0?8:0;e=rl(b.substr(d,c-d))}return e.length>0?e:no}
|
439 |
+
function Ie(b){var c,d;if(b>-129&&b<128){c=b+128;Ge==null&&(Ge=fe(we,{30:1},26,256,0));d=Ge[c];!d&&(d=Ge[c]=Ee(b));return d}return Ee(b)}
|
440 |
+
function kb(b){var c,d,e,f;e=(re(b.a)?pe(b.a):null,[]);f=fe(Ae,{30:1},33,e.length,0);for(c=0,d=f.length;c<d;++c){f[c]=new ml(e[c])}L(f)}
|
441 |
+
function Gb(b){if(b.currentStyle.direction==vo){return (b.scrollLeft||0)-((b.scrollWidth||0)-b.clientWidth)}return b.scrollLeft||0}
|
442 |
+
function Db(b,c){if(b.nodeType!=1&&b.nodeType!=9){return b==c}if(c.nodeType!=1){c=c.parentNode;if(!c){return false}}return b===c||b.contains(c)}
|
443 |
+
function Oe(){Oe=io;Le=(a=new Qe,a.l=4194303,a.m=4194303,a.h=524287,a);Me=(a=new Qe,a.l=0,a.m=0,a.h=524288,a);Ie(1);Ie(2);Ne=Ie(0)}
|
444 |
+
function rl(d){if(d.length==0||d[0]>qo&&d[d.length-1]>qo){return d}var b=d.replace(/^(\s*)/,ko);var c=b.replace(/\s*$/,ko);return c}
|
445 |
+
function Gg(){var b=false;for(var c=0;c<$wnd.__gwt_globalEventArray.length;c++){!$wnd.__gwt_globalEventArray[c]()&&(b=true)}return !b}
|
446 |
+
function he(b,c,d){if(d!=null){if(b.qI>0&&!ne(d,b.qI)){throw new Xk}if(b.qI<0&&(d.tM==io||d.cM&&!!d.cM[1])){throw new Xk}}return b[c]=d}
|
447 |
+
function Wh(b,c,d,e,f,g,h){if(!nl(b.d,d)||b.b!=e||b.c!=f||b.e!=g||b.a!=h){b.d=d;b.b=e;b.c=f;b.e=g;b.a=h;hj(c.w,d,e,f,g,h);Uf(new $h(c))}}
|
448 |
+
function Pb(b,c,d){var e=b.__kids;for(var f=0,g=e.length;f<g;++f){if(e[f]===c){if(!d){e.splice(f,1);c.__pendingSrc=null}return true}}return false}
|
449 |
+
function Re(b){return $stats({moduleName:$moduleName,sessionId:$sessionId,subSystem:Lo,evtGroup:Mo,millis:(new Date).getTime(),type:No,className:b})}
|
450 |
+
function sl(b){var c;c=0;while(0<=(c=b.indexOf(Lr,c))){b.charCodeAt(c+1)==36?(b=b.substr(0,c-0)+Mr+ql(b,++c)):(b=b.substr(0,c-0)+ql(b,++c))}return b}
|
451 |
+
function Ld(b,c,d){var e;if(!c){throw new kl(Do)}if(!d){throw new kl(Eo)}b.b>0?Kd(b,new rj(b,c,d)):(e=Pd(b,c),e.fb(d),undefined);return new pj(b,c,d)}
|
452 |
+
function gb(c,d){var b,e,f,g;for(e=0,f=c.length;e<f;++e){g=c[e];try{g[1]?g[0].tb()&&(d=fb(d,g)):g[0].x()}catch(b){b=De(b);if(!qe(b,2))throw b}}return d}
|
453 |
+
function Mc(b){var c,d,e;c=$doc.styleSheets.length;if(c==0){return d=$doc.createStyleSheet(),d.cssText=b,d}return e=$doc.styleSheets[c-1],e.cssText+=b,e}
|
454 |
+
function Tg(b){var c;if(b.O()){throw new el(bq)}b.s=true;b.w.__listener=b;c=b.t;b.t=-1;c>0&&(b.t==-1?Rf(b.w,c|(b.w.__eventBits||0)):(b.t|=c));b.M();b.R()}
|
455 |
+
function Xh(b,c,d,e,f,g){Vh();this.b=d;this.c=e;this.e=f;this.a=g;this.d=c;Xg(b,ij(c,d,e,f,g));b.t==-1?Rf(b.w,133333119|(b.w.__eventBits||0)):(b.t|=133333119)}
|
456 |
+
function Ug(b,c){var d;switch(yg(c.type)){case 16:case 32:d=c.relatedTarget||(c.type==Bo?c.toElement:c.fromElement);if(!!d&&Db(b.w,d)){return}}Tc(c,b,b.w)}
|
457 |
+
function dc(){dc=io;cc=new fc;ac=new hc;Xb=new jc;Yb=new lc;bc=new nc;_b=new pc;Zb=new rc;Wb=new tc;$b=new vc;ge(ve,{30:1},23,[cc,ac,Xb,Yb,bc,_b,Zb,Wb,$b])}
|
458 |
+
function tf(b,c){if(c<=0){throw new bl(Po)}b.b?($wnd.clearInterval(b.c),undefined):($wnd.clearTimeout(b.c),undefined);xn(qf,b);b.b=false;b.c=uf(b,c);tn(qf,b)}
|
459 |
+
function mg(){var b,c;if(!ig){b=(c=zb($doc,Zo),c.text=$o,c);$doc.body.appendChild(b);$wnd.__gwt_initWindowCloseHandler(jo(og),jo(ng));$doc.body.removeChild(b);ig=true}}
|
460 |
+
function Ed(c,d){var b,e,f;!d.e||d.B();f=d.f;d.f=c.b;try{Nd(c.a,d)}catch(b){b=De(b);if(qe(b,9)){e=b;throw new $d(e.a)}else throw b}finally{f==null?(d.e=true,d.f=null):(d.f=f)}}
|
461 |
+
function bg(b,c){var d,e,f,g,h;if(!!Yf&&!!b&&Xl(b.a.d,Yf)){d=Zf.a;e=Zf.b;f=Zf.c;g=Zf.d;$f(Zf);Zf.d=c;Ed(b,Zf);h=!(Zf.a&&!Zf.b);Zf.a=d;Zf.b=e;Zf.c=f;Zf.d=g;return h}return true}
|
462 |
+
function Hb(b){var c,d;if(nl(b.compatMode,wo)){return 1}else{c=b.body.offsetWidth||0;return c==0?1:~~(((d=b.body.parentNode,(!d||d.nodeType!=1)&&(d=null),d).offsetWidth||0)/c)}}
|
463 |
+
function ee(b,c){var d=new Array(c);if(b==3){for(var e=0;e<c;++e){var f=new Object;f.l=f.m=f.h=0;d[e]=f}}else if(b>0){var f=[null,0,false][b];for(var e=0;e<c;++e){d[e]=f}}return d}
|
464 |
+
function fm(i,b,c){var d=i.a[c];if(d){for(var e=0,f=d.length;e<f;++e){var g=d[e];var h=g.mb();if(i.lb(b,h)){d.length==1?delete i.a[c]:d.splice(e,1);--i.d;return g.W()}}}return null}
|
465 |
+
function bm(k,b,c,d){var e=k.a[d];if(e){for(var f=0,g=e.length;f<g;++f){var h=e[f];var i=h.mb();if(k.lb(b,i)){var j=h.W();h.nb(c);return j}}}else{e=k.a[d]=[]}var h=new ao(b,c);e.push(h);++k.d;return null}
|
466 |
+
function ij(b,c,d,e,f){var g,h,i,j;if(!Ib()){return i=zb($doc,Hq),i.innerHTML=jj(b,c,d,e,f)||ko,vb(i)}g=(j=zb($doc,Hq),j.innerHTML=jj(b,c,d,e,f)||ko,vb(j));h=vb(g);zg();Fg(h,32768);return g}
|
467 |
+
function th(c,d){var i;rh();var b,e,f,g,h;e=null;for(h=c.U();h.I();){g=oe(h.J(),15);try{d.V(g)}catch(b){b=De(b);if(qe(b,10)){f=b;!e&&(e=new Un);i=am(e.a,f,e)}else throw b}}if(e){throw new sh(e)}}
|
468 |
+
function jj(b,c,d,e,f){var g,h,i,j;if(!Ib()){return j=Iq+e+Jq+f+Kq+b+wq+-c+xq+-d+yq,Lq+$moduleBase+Mq+j+Nq}h=Oq+e+Jq+f+Pq;i=Qq+b+Rq+-c+Sq+-d+Tq;g=Uq+h+Vq+fj+Wq+$moduleBase+Xq+i+Yq+(c+e)+Zq+(d+f)+$q;return g}
|
469 |
+
function zl(b){var c,d,e,f;c=0;e=b.length;f=e-4;d=0;while(d<f){c=b.charCodeAt(d+3)+31*(b.charCodeAt(d+2)+31*(b.charCodeAt(d+1)+31*(b.charCodeAt(d)+31*c)))|0;d+=4}while(d<e){c=c*31+b.charCodeAt(d++)}return c|0}
|
470 |
+
function zb(b,c){var d,e;if(c.indexOf(oo)!=-1){d=(!b.__gwt_container&&(b.__gwt_container=b.createElement(ro)),b.__gwt_container);d.innerHTML=so+c+to||ko;e=vb(d);d.removeChild(e);return e}return b.createElement(c)}
|
471 |
+
function Ui(b,c,d){var e,f;if(d<0||d>b.c){throw new gl}if(b.c==b.a.length){f=fe(ye,{30:1},15,b.a.length*2,0);for(e=0;e<b.a.length;++e){he(f,e,b.a[e])}b.a=f}++b.c;for(e=b.c-1;e>d;--e){he(b.a,e,b.a[e-1])}he(b.a,d,c)}
|
472 |
+
function ii(b){ei();var c,d;d=oe(Yl(ci,b),16);c=null;if(b!=null){if(!(c=$doc.getElementById(b))){return null}}if(d){if(!c||d.w==c){return d}}ci.d==0&&kg(new ni);!c?(d=new qi):(d=new fi(c));am(ci,b,d);Tn(di,d);return d}
|
473 |
+
function gj(){var b,c;gj=io;fj=ol((b=$doc.location.href,c=b.indexOf(pq),c!=-1&&(b=b.substring(0,c)),c=b.indexOf(qq),c!=-1&&(b=b.substring(0,c)),c=b.lastIndexOf(rq),c!=-1&&(b=b.substring(0,c)),b.length>0?b+rq:ko),sq)==0?tq:uq}
|
474 |
+
function Qb(b,c){var d=c.__pendingSrc;var e=c.__kids;c.__cleanup();if(c=e[0]){c.__pendingSrc=null;Nb(b,c,d);if(c.__pendingSrc){e.splice(0,1);c.__kids=e}else{for(var f=1,g=e.length;f<g;++f){e[f].src=d;e[f].__pendingSrc=null}}}}
|
475 |
+
function Jb(){function c(b){return parseInt(b[1])*1000+parseInt(b[2])}
|
476 |
+
var d=navigator.userAgent.toLowerCase();if(d.indexOf(xo)!=-1){var e=/msie ([0-9]+)\.([0-9]+)/.exec(d);if(e&&e.length==3){var f=c(e);if(f<7000){return true}}}return false}
|
477 |
+
function Lk(b,c){var d,e,f,g,h,i;g=yg(c.d.type);if(g==4){c.d.returnValue=false}else if(g==64){f=c.d;h=f.clientX||0;i=f.clientY||0;d=h-b.a;e=b.b-i;b.a=h;b.b=i;b.c?uk(b.e,d):b.d?vk(b.e,d):wk(b.e,d,e);c.d.returnValue=false}else g==8&&b.e.g._()}
|
478 |
+
function sb(b,c){var d,e,f,g;c=rl(c);g=b.className;d=g.indexOf(c);while(d!=-1){if(d==0||g.charCodeAt(d-1)==32){e=d+c.length;f=g.length;if(e==f||e<f&&g.charCodeAt(e)==32){break}}d=g.indexOf(c,d+1)}if(d==-1){g.length>0&&(g+=qo);b.className=g+c}}
|
479 |
+
function jb(j){var b={};var c=[];var d=arguments.callee.caller.caller;while(d){var e=j.y(d.toString());c.push(e);var f=oo+e;var g=b[f];if(g){var h,i;for(h=0,i=g.length;h<i;h++){if(g[h]===d){return c}}}(g||(b[f]=[])).push(d);d=d.caller}return c}
|
480 |
+
function kk(b,c){var d,e;e=b.d+b.b;b.f!=0&&!b.c?e-c<~~(b.f/2)?(d=e):c-b.d<~~(b.f/2)?(d=b.d):c==b.d?(d=se(Math.floor(c))):c==e?(d=se(Math.ceil(c))):(d=Ke(Je(He(Math.round(c/b.f)),Ie(b.f)))):(d=Ke(He(Math.round(c))));d<b.d&&(d=b.d);d>e&&(d=e);return d}
|
481 |
+
function Ce(){var b;!!$stats&&Re(Go);b=hg();nl(Ho,b)||($wnd.alert(Io+b+Jo),undefined);!!$stats&&Re(Ko);$wnd.oneTouchSlider={};$wnd.oneTouchSlider.addSlider=jo(Oj);$wnd.oneTouchSliderOnLoad&&typeof $wnd.oneTouchSliderOnLoad==mo&&$wnd.oneTouchSliderOnLoad()}
|
482 |
+
function Cc(){Bc();var b,c,d;d=null;if(Ac.length!=0){b=Ac.join(ko);c=Nc((Hc(),b));!Ac&&(d=c);Ac.length=0}if(yc.length!=0){b=yc.join(ko);c=Lc((Hc(),b));!yc&&(d=c);yc.length=0}if(zc.length!=0){b=zc.join(ko);c=Mc((Hc(),b));!zc&&(d=c);zc.length=0}xc=false;return d}
|
483 |
+
function hj(b,c,d,e,f,g){var h,i,j,k;if(!Ib()){k=vq+c+wq+-d+xq+-e+yq;b.style[zq]=k;b.style[Aq]=f+(dc(),yq);b.style[Bq]=g+yq;return}b.style[Aq]=f+(dc(),yq);b.style[Bq]=g+yq;h=vb(b);h.style[Cq]=Dq+c+Eq;h.style[Fq]=-d+yq;h.style[Gq]=-e+yq;j=d+f;i=e+g;h[Aq]=j;h[Bq]=i}
|
484 |
+
function Lc(b){var c,d,e,f,g,h;e=$doc.styleSheets.length;if(e<30){return h=$doc.createStyleSheet(),h.cssText=b,h}else{g=2147483647;f=-1;for(c=0;c<e;++c){d=Ic[c];d==0&&(d=Ic[c]=$doc.styleSheets[c].cssText.length);if(d<=g){g=d;f=c}}Ic[f]+=b.length;return Kc(f,b,true)}}
|
485 |
+
function Fk(b,c,d){var e;e=new Fl;qb(e.a,qr);qb(e.a,rr);El(e,b.b>0?b.b:b.n.offsetWidth||0);qb(e.a,xq);pb(e.a,100);qb(e.a,sr);qb(e.a,tr);ob(e.a,-100+(1-(d-c))*100);qb(e.a,ur);qb(e.a,vr);Dl(e,c*(b.b>0?b.b:b.n.offsetWidth||0));qb(e.a,ur);b.q.w.style.setAttribute(wr,rb(e.a))}
|
486 |
+
function kf(b,c){var d,e,f;f=false;try{b.c=true;b.f.a=b.b.b;tf(b.a,10000);while(Df(b.f)){e=Ef(b.f);try{if(e==null){return}if(e!=null&&e.cM&&!!e.cM[11]){d=oe(e,11);Zh(d)}}finally{f=b.f.b==-1;f||Ff(b.f)}if((new Date).getTime()-c>=100){return}}}finally{if(!f){sf(b.a);b.c=false;lf(b)}}}
|
487 |
+
function Vk(b){var c,d;this.c=(c=b.ownerDocument,se(Math.floor(Bb(b)/Hb(c)+Gb(nl(c.compatMode,wo)?c.documentElement:c.body))));this.d=(d=b.ownerDocument,se(Math.floor(Cb(b)/Hb(d)+((nl(d.compatMode,wo)?d.documentElement:d.body).scrollTop||0))));this.b=b.clientWidth;this.a=b.clientHeight}
|
488 |
+
function Nd(c,d){var b,e,f,g,h,i,j;if(!d){throw new kl(Fo)}try{++c.b;h=Qd(c,d.A());e=null;i=c.c?h.rb(h.jb()):h.qb();while(c.c?i.b>0:i.b<i.d.jb()){g=c.c?fn(i):$m(i);try{d.z(oe(g,18))}catch(b){b=De(b);if(qe(b,10)){f=b;!e&&(e=new Un);j=am(e.a,f,e)}else throw b}}if(e){throw new Zd(e)}}finally{--c.b;c.b==0&&Rd(c)}}
|
489 |
+
function Oj(b){var c;var d;var e;var f;var g;var h;var i;var j;var k;if(b){c=b[er];d=b[fr];e=b[gr];f=b[hr];g=b[ir];h=b[jr];i=b[kr];j=b[lr];k=b[Aq]}!c&&(c=ko);!d&&(d=0);!e&&(e=0);d>e&&(d=e);!f&&(f=d);!g&&(g=e);!h&&(h=0);i=i==null?mr:i.indexOf(mr)!=-1?i:nr+i;(!j||typeof j!=mo)&&(j=null);!k&&(k=0);Pj(c,d,e,f,g,i,h,k,j)}
|
490 |
+
function ub(b,c){var d,e,f,g,h,i,j;c=rl(c);j=b.className;f=j.indexOf(c);while(f!=-1){if(f==0||j.charCodeAt(f-1)==32){g=f+c.length;h=j.length;if(g==h||g<h&&j.charCodeAt(g)==32){break}}f=j.indexOf(c,f+1)}if(f!=-1){d=rl(j.substr(0,f-0));e=rl(ql(j,f+c.length));d.length==0?(i=e):e.length==0?(i=d):(i=d+qo+e);b.className=i}}
|
491 |
+
function Rb(b,c){Mb();var d,e,f;d=nl(b.__pendingSrc||b.src,c);!Lb&&(Lb={});e=b.__pendingSrc;if(e!=null){f=Lb[e];if(!f){b.__cleanup=b.__pendingSrc=b.__kids=null}else if(f==b){if(d){return}Qb(Lb,f)}else if(Pb(f,b,d)){if(d){return}}else{b.__cleanup=b.__pendingSrc=b.__kids=null}}f=Lb[c];!f?Nb(Lb,b,c):(f.__kids.push(b),b.__pendingSrc=f.__pendingSrc,undefined)}
|
492 |
+
function lk(b,c,d,e,f,g,h){var i,j,k;this.k=h;this.e=f;this.d=b;k=c-b;this.b=k==0?1:k;this.c=true;g==0?this.b>4000?(this.f=100):this.b>2000?(this.f=50):this.b>1000?(this.f=25):this.b>500?(this.f=10):this.b>100?(this.f=5):(this.f=0):(this.f=g);if(k!=0){i=(d-this.d)/this.b;j=(e-this.d)/this.b;this.i=i;this.j=j;ak(this);_j(this)}else{this.i=0;this.j=1;ak(this);_j(this)}}
|
493 |
+
function Nb(f,g,h){g.src=h;if(g.complete){return}g.__kids=[];g.__pendingSrc=h;f[h]=g;var i=g.onload,j=g.onerror,k=g.onabort;function l(d){var e=g.__kids;g.__cleanup();window.setTimeout(function(){for(var b=0;b<e.length;++b){var c=e[b];if(c.__pendingSrc==h){c.src=h;c.__pendingSrc=null}}},0);d&&d.call(g)}
|
494 |
+
g.onload=function(){l(i)};g.onerror=function(){l(j)};g.onabort=function(){l(k)};g.__cleanup=function(){g.onload=i;g.onerror=j;g.onabort=k;g.__cleanup=g.__pendingSrc=g.__kids=null;delete f[h]}}
|
495 |
+
function hg(){var c=navigator.userAgent.toLowerCase();var d=function(b){return parseInt(b[1])*1000+parseInt(b[2])};if(function(){return c.indexOf(Ro)!=-1}())return Ro;if(function(){return c.indexOf(So)!=-1}())return To;if(function(){return c.indexOf(xo)!=-1&&$doc.documentMode>=9}())return Uo;if(function(){return c.indexOf(xo)!=-1&&$doc.documentMode>=8}())return Vo;if(function(){var b=/msie ([0-9]+)\.([0-9]+)/.exec(c);if(b&&b.length==3)return d(b)>=6000}())return Ho;if(function(){return c.indexOf(Wo)!=-1}())return Xo;return Yo}
|
496 |
+
function He(b){var c,d,e,f,g,h,i,j;if(isNaN(b)){return Oe(),Ne}if(b<-9223372036854775808){return Oe(),Me}if(b>=9223372036854775807){return Oe(),Le}f=false;if(b<0){f=true;b=-b}e=0;if(b>=17592186044416){e=~~Math.max(Math.min(b/17592186044416,2147483647),-2147483648);b-=e*17592186044416}d=0;if(b>=4194304){d=~~Math.max(Math.min(b/4194304,2147483647),-2147483648);b-=d*4194304}c=~~Math.max(Math.min(b,2147483647),-2147483648);g=(a=new Qe,a.l=c,a.m=d,a.h=e,a);f&&(h=~g.l+1&4194303,i=~g.m+(h==0?1:0)&4194303,j=~g.h+(h==0&&i==0?1:0)&1048575,g.l=h,g.m=i,g.h=j,undefined);return g}
|
497 |
+
function Je(b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D;d=b.l&8191;e=b.l>>13|(b.m&15)<<9;f=b.m>>4&8191;g=b.m>>17|(b.h&255)<<5;h=(b.h&1048320)>>8;i=c.l&8191;j=c.l>>13|(c.m&15)<<9;k=c.m>>4&8191;l=c.m>>17|(c.h&255)<<5;m=(c.h&1048320)>>8;z=d*i;A=e*i;B=f*i;C=g*i;D=h*i;if(j!=0){A+=d*j;B+=e*j;C+=f*j;D+=g*j}if(k!=0){B+=d*k;C+=e*k;D+=f*k}if(l!=0){C+=d*l;D+=e*l}m!=0&&(D+=d*m);o=z&4194303;p=(A&511)<<13;n=o+p;r=z>>22;s=A>>9;t=(B&262143)<<4;u=(C&31)<<17;q=r+s+t+u;w=B>>18;x=C>>5;y=(D&4095)<<8;v=w+x+y;q+=n>>22;n&=4194303;v+=q>>22;q&=4194303;v&=1048575;return Fe(n,q,v)}
|
498 |
+
function yg(b){switch(b){case _o:return 4096;case ap:return 1024;case bp:return 1;case cp:return 2;case dp:return 2048;case ep:return 128;case fp:return 256;case gp:return 512;case hp:return 32768;case ip:return 8192;case Ao:return 4;case jp:return 64;case Bo:return 32;case Co:return 16;case kp:return 8;case lp:return 16384;case mp:return 65536;case np:case op:return 131072;case pp:return 262144;case qp:return 524288;case rp:return 1048576;case sp:return 2097152;case tp:return 4194304;case up:return 8388608;case vp:return 16777216;case wp:return 33554432;case xp:return 67108864;case yp:return 134217728;case zp:return 268435456;case Ap:return 536870912;default:return -1;}}
|
499 |
+
function Fg(b,c){var d=(b.__eventBits||0)^c;b.__eventBits=c;if(!d)return;d&1&&(b.onclick=c&1?Bg:null);d&3&&(b.ondblclick=c&3?Ag:null);d&4&&(b.onmousedown=c&4?Bg:null);d&8&&(b.onmouseup=c&8?Bg:null);d&16&&(b.onmouseover=c&16?Bg:null);d&32&&(b.onmouseout=c&32?Bg:null);d&64&&(b.onmousemove=c&64?Bg:null);d&128&&(b.onkeydown=c&128?Bg:null);d&256&&(b.onkeypress=c&256?Bg:null);d&512&&(b.onkeyup=c&512?Bg:null);d&1024&&(b.onchange=c&1024?Bg:null);d&2048&&(b.onfocus=c&2048?Bg:null);d&4096&&(b.onblur=c&4096?Bg:null);d&8192&&(b.onlosecapture=c&8192?Bg:null);d&16384&&(b.onscroll=c&16384?Bg:null);d&32768&&(b.nodeName==Yp?c&32768?b.attachEvent(Zp,Cg):b.detachEvent(Zp,Cg):(b.onload=c&32768?Dg:null));d&65536&&(b.onerror=c&65536?Bg:null);d&131072&&(b.onmousewheel=c&131072?Bg:null);d&262144&&(b.oncontextmenu=c&262144?Bg:null);d&524288&&(b.onpaste=c&524288?Bg:null)}
|
500 |
+
function Gk(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;this.o=(Bj(),Lj(),Gj(),Dj);this.a=new Aj;this.f=new Ok(this);this.g=new Rj;Bh(this,(c=Kb($doc),q=new Ci,e=Kb($doc),s=new Ci,g=Kb($doc),h=Kb($doc),i=Kb($doc),j=Kb($doc),k=Kb($doc),w=new Hh,m=Kb($doc),v=new Qh((Mj(),Ej)),o=new Lh(xr+c+yr+e+zr+g+Ar+h+Br+i+Cr+j+yr+k+yr+m+Dr),q.w[$p]=Er,q.w[Fr]=true,Og(q,Pg(q.w)+Gr),s.w[$p]=Hr,s.w[Fr]=true,Og(s,Pg(s.w)+Gr),w.w[$p]=Ir,v.w[$p]=Jr,b=af(o.w),d=$doc.getElementById(c),f=$doc.getElementById(e),u=$doc.getElementById(g),u.removeAttribute(Kr),t=$doc.getElementById(h),t.removeAttribute(Kr),p=$doc.getElementById(i),p.removeAttribute(Kr),r=$doc.getElementById(j),r.removeAttribute(Kr),l=$doc.getElementById(k),n=$doc.getElementById(m),b.b?b.b.insertBefore(b.a,b.c):cf(b.a),Wg(q),Si(o.a,q),d.parentNode.replaceChild(q.w,d),Yg(q,o),Wg(s),Si(o.a,s),f.parentNode.replaceChild(s.w,f),Yg(s,o),Wg(w),Si(o.a,w),l.parentNode.replaceChild(w.w,l),Yg(w,o),Wg(v),Si(o.a,v),n.parentNode.replaceChild(v.w,n),Yg(v,o),this.c=p,this.d=q,this.i=r,this.j=s,this.k=t,this.n=u,this.p=v,this.q=w,o));Jj(this.o);Kk(this.f);this.g.ab()}
|
501 |
+
function Eg(){$wnd.__gwt_globalEventArray==null&&($wnd.__gwt_globalEventArray=new Array);$wnd.__gwt_globalEventArray[$wnd.__gwt_globalEventArray.length]=jo(function(){return Nf($wnd.event)});var e=jo(function(){var b=yb;yb=this;if($wnd.event.returnValue==null){$wnd.event.returnValue=true;if(!Gg()){yb=b;return}}var c,d=this;while(d&&!(c=d.__listener)){d=d.parentElement}c&&!re(c)&&c!=null&&c.cM&&!!c.cM[14]&&Mf($wnd.event,d,c);yb=b});var f=jo(function(){var b=$doc.createEventObject();$wnd.event.returnValue==null&&$wnd.event.srcElement.fireEvent&&$wnd.event.srcElement.fireEvent(Bp,b);if(this.__eventBits&2){e.call(this)}else if($wnd.event.returnValue==null){$wnd.event.returnValue=true;Gg()}});var g=jo(function(){this.__gwtLastUnhandledEvent=$wnd.event.type;e.call(this)});var h=$moduleName.replace(/\./g,Cp);$wnd[Dp+h]=e;Bg=(new Function(Ep,Fp+h+Gp))($wnd);$wnd[Hp+h]=f;Ag=(new Function(Ep,Ip+h+Jp))($wnd);$wnd[Kp+h]=g;Dg=(new Function(Ep,Lp+h+Jp))($wnd);Cg=(new Function(Ep,Lp+h+Mp))($wnd);var i=jo(function(){e.call($doc.body)});var j=jo(function(){f.call($doc.body)});$doc.body.attachEvent(Bp,i);$doc.body.attachEvent(Np,i);$doc.body.attachEvent(Op,i);$doc.body.attachEvent(Pp,i);$doc.body.attachEvent(Qp,i);$doc.body.attachEvent(Rp,i);$doc.body.attachEvent(Sp,i);$doc.body.attachEvent(Tp,i);$doc.body.attachEvent(Up,i);$doc.body.attachEvent(Vp,i);$doc.body.attachEvent(Wp,j);$doc.body.attachEvent(Xp,i)}
|
502 |
+
var ko='',qo=' ',$q=" border='0'><\/gwt:clipper>",Zq=' height=',Yq='" width=',Vq='"><img onload=\'this.__gwtLastUnhandledEvent="load";\' src=\'',pq='#',Mr='$',mr='%n',nr='%n ',Nq="' border='0'>",Wq="' onerror='if(window.__gwt_transparentImgHandler)window.__gwt_transparentImgHandler(this);else this.src=\"",Eq="',sizingMethod='crop')",Rq="',sizingMethod='crop'); margin-left: ",Ar="'> <div class='GLR1MK0DG fact-finder-onetouchslider-bar fact-finder-onetouchslider-bar-selected' id='",Br="'><\/div> <span class='GLR1MK0HG fact-finder-onetouchslider-handle fact-finder-onetouchslider-handle-left' id='",Dr="'><\/span> <\/div> <\/div> <\/div>",zr="'><\/span> <div style='clear: both !important;'><\/div> <div style='clear: both !important;'><\/div> <div class='GLR1MK0AG'> <div class='GLR1MK0EG fact-finder-onetouchslider-bar' id='",Cr="'><\/span> <span class='GLR1MK0HG fact-finder-onetouchslider-handle fact-finder-onetouchslider-handle-right' id='",yr="'><\/span> <span id='",lo='(',wq=') no-repeat ',Jo='). Expect more errors.\n',Qr=', Size: ',Gr='-readonly',dr='.GLR1MK0AG{display:block;}.GLR1MK0OG{font-family:verdana, sans-serif;font-size:8pt;text-align:center;}.GLR1MK0EG{background:#555;width:100%;height:17px;position:relative;text-align:left;-moz-border-radius:4px 4px 4px 4px;-webkit-border-radius:4px;font-size:1.1em;}.GLR1MK0DG{height:100%;top:0;background:#6683b4;background-position:0 0;border:0 none;display:block;font-size:0.7em;position:absolute;z-index:1;text-align:center;}.GLR1MK0HG{background:repeat-x scroll 50% 50% #f6f6f6;border:1px solid #7f7f7f;color:#fff;font-weight:bold;outline:medium none;margin-left:-0.6em;top:-0.3em;cursor:default;height:23px;position:absolute;width:1em;z-index:3;-moz-border-radius:4px;-webkit-border-radius:4px;font-family:Verdana, Arial, sans-serif;font-size:1.1em;text-align:left;text-decoration:none;}.GLR1MK0IG{border-color:transparent;border-style:solid;border-width:0 200px 100px 0;height:0;width:0;position:absolute;border-bottom-color:#ccd6e6;filter:alpha(opacity=0);z-index:2;}.GLR1MK0KG{filter:alpha(opacity=50);}.GLR1MK0JG{filter:alpha(opacity=70);}.GLR1MK0BG{cursor:pointer;}.GLR1MK0CG{cursor:none;}.GLR1MK0PF{cursor:default;}.GLR1MK0FG{margin:-21px auto;z-index:3;position:absolute;}.GLR1MK0GG{width:58px;margin:32px 0 0 -29px;}.GLR1MK0LG{background-color:#f1f1f1;border:1px solid #acacac;font-size:9px;height:20px;margin:0 0 10px;text-align:center;width:40px;}.GLR1MK0MG{float:left;}.GLR1MK0NG{float:right;}',Gp='.call(this) }',Jp='.call(this)}',Mp='.call(w.event.srcElement)}',rq='/',to='/>',rr='0px ',cr='79DD9AE9135ADFDE204324DA7F1B1405.cache.png',oo=':',so='<',xr="<div class='GLR1MK0OG fact-finder-onetouchslider'> <span id='",Uq='<gwt:clipper style="',Lq="<img onload='this.__gwtLastUnhandledEvent=\"load\";' src='",qq='?',Nr='Add not supported on this collection',Rr='Add not supported on this list',zo='BackgroundImageCache',wo='CSS1Compat',Do='Cannot add a handler with a null type',Eo='Cannot add a null handler',Fo='Cannot fire null event',eq='Cannot set a new parent without first clearing the old parent',iq='Composite.initWidget() may only be called once.',np='DOMMouseScroll',Io='ERROR: Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (ie6) does not match the runtime user.agent value (',ar='GLR1MK0BG',br='GLR1MK0CG',Jr='GLR1MK0FG fact-finder-onetouchslider-grip',Ir='GLR1MK0IG fact-finder-onetouchslider-triangle',pr='GLR1MK0JG',or='GLR1MK0KG',Er='GLR1MK0LG GLR1MK0MG fact-finder-onetouchslider-text-box fact-finder-onetouchslider-textbox-left',Hr='GLR1MK0LG GLR1MK0NG fact-finder-onetouchslider-text-box fact-finder-onetouchslider-textbox-right',Yp='IFRAME',mq='INPUT',Pr='Index: ',Or='Must call next() before remove().',_p='Null widget handle. If you are creating a composite, ensure that initWidget() has been called.',Sr='Remove not supported on this list',bq="Should only call onAttach when the widget is detached from the browser's document",cq="Should only call onDetach when the widget is attached to the browser's document",aq='Style names cannot be empty',dq="This widget's parent does not implement HasWidgets",Lr='\\',Cp='_',kq='__gwtLastUnhandledEvent',Hp='__gwt_dispatchDblClickEvent_',Dp='__gwt_dispatchEvent_',Kp='__gwt_dispatchUnhandledEvent_',no='anonymous',zq='background',_o='blur',qr='border-width:',lr='callback',Ap='canplaythrough',ap='change',$p='className',_q='clear.cache.gif',Xq='clear.cache.gif"\' style="',Mq="clear.cache.gif' style='",bp='click',Qo='cmd cannot be null',Go='com.google.gwt.user.client.UserAgentAsserter',pp='contextmenu',wr='cssText',hr='currentLeft',ir='currentRight',cp='dblclick',Ko='de.factfinder.asn.slider.client.StandAloneOneTouchSlider',ro='div',yp='ended',mp='error',Cq='filter',Qq="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='",dp='focus',mo='function',$o='function __gwt_initWindowCloseHandler(beforeunload, unload) {\n var wnd = window\n , oldOnBeforeUnload = wnd.onbeforeunload\n , oldOnUnload = wnd.onunload;\n \n wnd.onbeforeunload = function(evt) {\n var ret, oldRet;\n try {\n ret = beforeunload();\n } finally {\n oldRet = oldOnBeforeUnload && oldOnBeforeUnload(evt);\n }\n // Avoid returning null as IE6 will coerce it into a string.\n // Ensure that "" gets returned properly.\n if (ret != null) {\n return ret;\n }\n if (oldRet != null) {\n return oldRet;\n }\n // returns undefined.\n };\n \n wnd.onunload = function(evt) {\n try {\n unload();\n } finally {\n oldOnUnload && oldOnUnload(evt);\n wnd.onresize = null;\n wnd.onscroll = null;\n wnd.onbeforeunload = null;\n wnd.onunload = null;\n }\n };\n \n // Remove the reference once we\'ve initialize the handler\n wnd.__gwt_initWindowCloseHandler = undefined;\n}\n',Wo='gecko',Xo='gecko1_8',wp='gesturechange',xp='gestureend',vp='gesturestart',jq='gwt-Image',oq='gwt-TextBox',yo='gwt-uid-',Bq='height',er='hostElementId',uq='http://',sq='https',tq='https://',Kr='id',Ho='ie6',Vo='ie8',Uo='ie9',ep='keydown',fp='keypress',gp='keyup',fq='left',vr='left:',fr='leftBorder',hp='load',ip='losecapture',Fq='marginLeft',Gq='marginTop',Mo='moduleStartup',Ao='mousedown',jp='mousemove',Bo='mouseout',Co='mouseover',kp='mouseup',op='mousewheel',xo='msie',Po='must be positive',Oo='none',po='null',uo='on',No='onModuleLoadStart',Vp='onblur',Bp='onclick',Xp='oncontextmenu',Wp='ondblclick',Up='onfocus',Rp='onkeydown',Sp='onkeypress',Tp='onkeyup',Zp='onload',Np='onmousedown',Pp='onmousemove',Op='onmouseup',Qp='onmousewheel',Ro='opera',Oq='overflow: hidden; width: ',qp='paste',hq='position',Dq="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='",zp='progress',yq='px',xq='px ',sr='px 0px;',ur='px;',Kq='px; background: url(',Tq='px; border: none',Jq='px; height: ',Sq='px; margin-top: ',Pq='px; padding: 0px; zoom: 1',Fr='readOnly',Ip='return function() { w.__gwt_dispatchDblClickEvent_',Fp='return function() { w.__gwt_dispatchEvent_',Lp='return function() { w.__gwt_dispatchUnhandledEvent_',gr='rightBorder',vo='rtl',To='safari',Zo='script',lp='scroll',Hq='span',Lo='startup',jr='stepSize',nq='text',gq='top',tr='top:',up='touchcancel',tp='touchend',sp='touchmove',rp='touchstart',kr='unit',Yo='unknown',vq='url(',lq='value',Ep='w',So='webkit',Aq='width',Iq='width: ';var _;_=E.prototype={};_.eQ=function F(b){return this===b};_.hC=function G(){return this.$H||(this.$H=++U)};_.tM=io;_.cM={};_=K.prototype=new E;_.cM={10:1,30:1};_=J.prototype=new K;_.cM={10:1,30:1};_=M.prototype=I.prototype=new J;_.cM={2:1,10:1,30:1};_=O.prototype=H.prototype=new I;_.cM={2:1,10:1,30:1};_.a=null;_=S.prototype=new E;_.cM={};var T=0,U=0;_=eb.prototype=Z.prototype=new S;_.cM={};_.a=null;_.b=null;var $;_=mb.prototype=ib.prototype=new E;_.y=function nb(b){return hb(b)};_.cM={};var yb=null;var Eb=false,Fb=false;var Lb=null;_=Tb.prototype=new E;_.eQ=function Ub(b){return this===b};_.hC=function Vb(){return this.$H||(this.$H=++U)};_.cM={30:1,31:1,32:1};_=Sb.prototype=new Tb;_.cM={23:1,30:1,31:1,32:1};var Wb,Xb,Yb,Zb,$b,_b,ac,bc,cc;_=fc.prototype=ec.prototype=new Sb;_.cM={23:1,30:1,31:1,32:1};_=hc.prototype=gc.prototype=new Sb;_.cM={23:1,30:1,31:1,32:1};_=jc.prototype=ic.prototype=new Sb;_.cM={23:1,30:1,31:1,32:1};_=lc.prototype=kc.prototype=new Sb;_.cM={23:1,30:1,31:1,32:1};_=nc.prototype=mc.prototype=new Sb;_.cM={23:1,30:1,31:1,32:1};_=pc.prototype=oc.prototype=new Sb;_.cM={23:1,30:1,31:1,32:1};_=rc.prototype=qc.prototype=new Sb;_.cM={23:1,30:1,31:1,32:1};_=tc.prototype=sc.prototype=new Sb;_.cM={23:1,30:1,31:1,32:1};_=vc.prototype=uc.prototype=new Sb;_.cM={23:1,30:1,31:1,32:1};var wc,xc=false,yc,zc,Ac;_=Fc.prototype=Ec.prototype=new E;_.x=function Gc(){(Bc(),xc)&&Cc()};_.cM={};var Ic;_=Qc.prototype=new E;_.cM={};_.f=null;_=Pc.prototype=new Qc;_.B=function Rc(){this.e=false;this.f=null};_.cM={};_.e=false;_=Oc.prototype=new Pc;_.A=function Uc(){return this.C()};_.cM={};_.a=null;_.b=null;var Sc=null;_=Xc.prototype=new E;_.hC=function Zc(){return this.c};_.cM={};_.c=0;var Yc=0;_=$c.prototype=Wc.prototype=new Xc;_.cM={};_=_c.prototype=Vc.prototype=new Wc;_.cM={3:1};_.a=null;_.b=null;_=ad.prototype=new Oc;_.cM={};_=cd.prototype=new ad;_.cM={};_=gd.prototype=bd.prototype=new cd;_.z=function hd(b){fd(this,oe(b,4))};_.C=function id(){return dd};_.cM={};var dd;_=md.prototype=jd.prototype=new cd;_.z=function nd(b){oe(oe(b,5),6).e.g.Z()};_.C=function od(){return kd};_.cM={};var kd;_=sd.prototype=pd.prototype=new cd;_.z=function td(b){oe(b,7).D(this)};_.C=function ud(){return qd};_.cM={};var qd;_=wd.prototype=vd.prototype=new E;_.cM={};_.a=null;_=zd.prototype=xd.prototype=new Pc;_.z=function Ad(b){oe(b,8).E(this)};_.A=function Cd(){return yd};_.cM={};var yd=null;_=Gd.prototype=Fd.prototype=Dd.prototype=new E;_.cM={25:1};_.a=null;_.b=null;_=Jd.prototype=new E;_.cM={};_=Id.prototype=new Jd;_.F=function Sd(b,c,d){this.b>0?Kd(this,new uj(this,b,d)):Od(this,b,d)};_.cM={};_.a=null;_.b=0;_.c=false;_=Td.prototype=Hd.prototype=new Id;_.F=function Ud(b,c,d){this.b>0?Kd(this,new uj(this,b,d)):Od(this,b,d)};_.cM={};_=Wd.prototype=Vd.prototype=new E;_.cM={};_.a=null;_=Zd.prototype=Yd.prototype=new I;_.cM={2:1,9:1,10:1,30:1};_.a=null;_=$d.prototype=Xd.prototype=new Yd;_.cM={2:1,9:1,10:1,30:1};_=ae.prototype=_d.prototype=new E;_.cM={18:1};_=ce.prototype=be.prototype=new E;_.cM={};_.aC=null;_.qI=0;var ie,je;var Ge=null;var Le,Me,Ne;_=Qe.prototype=Pe.prototype=new E;_.cM={26:1};_=Te.prototype=Se.prototype=new E;_.cM={};_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;_=Ue.prototype=new E;_.cM={};_=Xe.prototype=Ve.prototype=new E;_.cM={};var We=null;_=$e.prototype=Ye.prototype=new Ue;_.cM={};var Ze=null;var _e=null;_=ef.prototype=df.prototype=new E;_.cM={};_.a=null;_.b=null;_.c=null;_=gf.prototype=ff.prototype=new I;_.cM={2:1,10:1,30:1};_=nf.prototype=hf.prototype=new E;_.cM={};_.c=false;_.e=false;_=pf.prototype=new E;_.G=function vf(){this.b||xn(qf,this);this.H()};_.cM={13:1};_.b=false;_.c=0;var qf;_=wf.prototype=of.prototype=new pf;_.H=function xf(){if(!this.a.c){return}jf(this.a)};_.cM={13:1};_.a=null;_=zf.prototype=yf.prototype=new pf;_.H=function Af(){this.a.e=false;kf(this.a,(new Date).getTime())};_.cM={13:1};_.a=null;_=Gf.prototype=Bf.prototype=new E;_.I=function Hf(){return this.c<this.a};_.J=function If(){return Ef(this)};_.K=function Jf(){Ff(this)};_.cM={};_.a=0;_.b=-1;_.c=0;_.d=null;var Kf=null,Lf=null;var Sf;var Vf=null;_=_f.prototype=Xf.prototype=new Pc;_.z=function ag(b){Lk(oe(b,12),this);Zf.c=false};_.A=function cg(){return Yf};_.B=function dg(){$f(this)};_.cM={};_.a=false;_.b=false;_.c=false;_.d=null;var Yf=null,Zf=null;_=fg.prototype=eg.prototype=new E;_.E=function gg(b){while((rf(),qf).b>0){sf(oe(un(qf,0),13))}};_.cM={8:1,18:1};var ig=false,jg=null;_=sg.prototype=pg.prototype=new Pc;_.z=function tg(b){te(b);null.tb()};_.A=function ug(){return qg};_.cM={};var qg;_=wg.prototype=vg.prototype=new Dd;_.cM={25:1};var xg=false;var Ag=null,Bg=null,Cg=null,Dg=null;_=Lg.prototype=new E;_.cM={28:1};_.w=null;_=Kg.prototype=new Lg;_.M=function $g(){};_.N=function _g(){};_.O=function ah(){return this.s};_.P=function bh(){Tg(this)};_.L=function ch(b){Ug(this,b)};_.Q=function dh(){Vg(this)};_.R=function eh(){};_.S=function fh(){};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.s=false;_.t=0;_.u=null;_.v=null;_=Jg.prototype=new Kg;_.M=function gh(){th(this,(rh(),ph))};_.N=function hh(){th(this,(rh(),qh))};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=Ig.prototype=new Jg;_.U=function kh(){return new _i(this.a)};_.T=function lh(b){return jh(this,b)};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=Hg.prototype=new Ig;_.T=function nh(b){var c;c=jh(this,b);c&&mh(b.w);return c};_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=sh.prototype=oh.prototype=new Xd;_.cM={2:1,9:1,10:1,30:1};var ph,qh;_=vh.prototype=uh.prototype=new E;_.V=function wh(b){b.P()};_.cM={};_=yh.prototype=xh.prototype=new E;_.V=function zh(b){b.Q()};_.cM={};_=Ah.prototype=new Kg;_.O=function Ch(){if(this.r){return this.r.s}return false};_.P=function Dh(){if(this.t!=-1){Zg(this.r,this.t);this.t=-1}Tg(this.r);this.w.__listener=this;this.R()};_.L=function Eh(b){Ug(this,b);Ug(this.r,b)};_.Q=function Fh(){try{this.S()}finally{Vg(this.r)}};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.r=null;_=Hh.prototype=Gh.prototype=new Ig;_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=Ih.prototype=new Kg;_.P=function Jh(){var b;Tg(this);b=this.w.tabIndex;-1==b&&(this.w.tabIndex=0,undefined)};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=Lh.prototype=Kh.prototype=new Ig;_.cM={14:1,15:1,17:1,24:1,25:1,27:1,28:1};_=Qh.prototype=Mh.prototype=new Kg;_.L=function Rh(b){yg(b.type)==32768&&!!this.a&&(kj(this)[kq]=ko,undefined);Ug(this,b)};_.R=function Sh(){var b;b=tb(kj(this),kq);nl(hp,b)&&Uf(new $h(this))};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.a=null;_=Uh.prototype=new E;_.cM={};_=Xh.prototype=Th.prototype=new Uh;_.cM={};_.a=0;_.b=0;_.c=0;_.d=null;_.e=0;_=$h.prototype=Yh.prototype=new E;_.x=function _h(){Zh(this)};_.cM={11:1};_.a=null;_=fi.prototype=ai.prototype=new Hg;_.cM={14:1,15:1,16:1,17:1,24:1,25:1,27:1,28:1};var bi,ci,di;_=ki.prototype=ji.prototype=new E;_.V=function li(b){b.O()&&b.Q()};_.cM={};_=ni.prototype=mi.prototype=new E;_.E=function oi(b){hi()};_.cM={8:1,18:1};_=qi.prototype=pi.prototype=new ai;_.cM={14:1,15:1,16:1,17:1,24:1,25:1,27:1,28:1};_=ti.prototype=new Ih;_.W=function xi(){return ui(this)};_.L=function yi(b){var c;c=yg(b.type);(c&896)!=0?Ug(this,b):Ug(this,b)};_.R=function zi(){};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=si.prototype=new ti;_.W=function Bi(){var b;return b=ui(this),b==null?ko:b};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=Ci.prototype=ri.prototype=new si;_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_=Di.prototype=new Tb;_.cM={29:1,30:1,31:1,32:1};var Ei,Fi,Gi,Hi;_=Ki.prototype=Ji.prototype=new Di;_.cM={29:1,30:1,31:1,32:1};_=Mi.prototype=Li.prototype=new Di;_.cM={29:1,30:1,31:1,32:1};_=Oi.prototype=Ni.prototype=new Di;_.cM={29:1,30:1,31:1,32:1};_=Qi.prototype=Pi.prototype=new Di;_.cM={29:1,30:1,31:1,32:1};_=Xi.prototype=Ri.prototype=new E;_.U=function Yi(){return new _i(this)};_.cM={};_.a=null;_.b=null;_.c=0;_=_i.prototype=Zi.prototype=new E;_.I=function aj(){return this.a<this.b.c-1};_.J=function bj(){return $i(this)};_.K=function cj(){if(this.a<0||this.a>=this.b.c){throw new dl}this.b.b.T(this.b.a[this.a--])};_.cM={};_.a=-1;_.b=null;_=dj.prototype=new E;_.cM={};_=lj.prototype=ej.prototype=new dj;_.cM={};var fj;_=pj.prototype=nj.prototype=new E;_.cM={};_.a=null;_.b=null;_.c=null;_.d=null;_=rj.prototype=qj.prototype=new E;_.x=function sj(){Md(this.a,this.c,this.b)};_.cM={21:1};_.a=null;_.b=null;_.c=null;_=uj.prototype=tj.prototype=new E;_.x=function vj(){Od(this.a,this.c,this.b)};_.cM={21:1};_.a=null;_.b=null;_.c=null;_=Aj.prototype=wj.prototype=new E;_.cM={};_.a=null;var Cj,Dj=null,Ej=null,Fj=null;_=Kj.prototype=Ij.prototype=new E;_.cM={};_.a=false;_=Rj.prototype=Qj.prototype=new E;_.X=function Sj(b,c){};_.Y=function Tj(){};_.Z=function Uj(){};_.$=function Vj(){};_._=function Wj(){};_.ab=function Xj(){};_.cM={};_=$j.prototype=new E;_.bb=function bk(b){return ko+b};_.X=function ck(b,c){if(this.g){this.i+=b;this.j+=c;ak(this);this.cb(b,c);_j(this)}};_.cb=function dk(b,c){};_.Y=function ek(){this.g=true;xk(this.k)};_.Z=function fk(){if(!this.g){Ak(this.k);this.g=false}};_.$=function gk(){this.g||zk(this.k)};_._=function hk(){this.g=false;tk(this.k)?zk(this.k):Ak(this.k);this.db(this.i,this.j)};_.db=function ik(b,c){};_.ab=function jk(){_j(this)};_.cM={};_.g=false;_.i=0;_.j=1;_.k=null;_=Zj.prototype=new $j;_.bb=function mk(b){var c,d;c=b*this.b+this.d;d=kk(this,c);return this.e!=null&&!!this.e.length?pl(this.e,mr,ko+d):ko+d};_.cb=function nk(b,c){this.c=false};_.eb=function ok(b,c){};_.db=function pk(b,c){var d,e;d=kk(this,b*this.b+this.d);e=kk(this,c*this.b+this.d);this.eb(d,e)};_.cM={};_.b=0;_.c=false;_.d=0;_.e=null;_.f=0;_=qk.prototype=Yj.prototype=new Zj;_.eb=function rk(b,c){var d=this.a;d&&typeof d==mo&&d(b,c)};_.cM={};_.a=null;_=Gk.prototype=sk.prototype=new Ah;_.R=function Hk(){this.g.ab()};_.S=function Ik(){Nk(this.f)};_.cM={14:1,15:1,24:1,25:1,27:1,28:1};_.b=0;_.c=null;_.d=null;_.e=null;_.i=null;_.j=null;_.k=null;_.n=null;_.p=null;_.q=null;_=Ok.prototype=Jk.prototype=new E;_.D=function Pk(b){this.e.g.$()};_.cM={4:1,5:1,6:1,7:1,12:1,18:1};_.a=0;_.b=0;_.c=false;_.d=false;_.e=null;_=Rk.prototype=Qk.prototype=new E;_.D=function Sk(b){Mk(this.a)};_.cM={7:1,18:1};_.a=null;_=Vk.prototype=Tk.prototype=new E;_.cM={};_.a=0;_.b=0;_.c=0;_.d=0;_=Xk.prototype=Wk.prototype=new I;_.cM={2:1,10:1,30:1};_=Zk.prototype=Yk.prototype=new E;_.cM={};_=_k.prototype=$k.prototype=new I;_.cM={2:1,10:1,30:1};_=bl.prototype=al.prototype=new I;_.cM={2:1,10:1,30:1};_=el.prototype=dl.prototype=cl.prototype=new I;_.cM={2:1,10:1,30:1};_=hl.prototype=gl.prototype=fl.prototype=new I;_.cM={2:1,10:1,30:1};_=kl.prototype=jl.prototype=il.prototype=new I;_.cM={2:1,10:1,30:1};_=ml.prototype=ll.prototype=new E;_.cM={30:1,33:1};_=String.prototype;_.eQ=function tl(b){return nl(this,b)};_.hC=function ul(){return Al(this)};_.cM={1:1,30:1,31:1};var vl,wl=0,xl;_=Fl.prototype=Cl.prototype=new E;_.cM={};_=Hl.prototype=Gl.prototype=new I;_.cM={2:1,10:1,30:1};_=Il.prototype=new E;_.fb=function Kl(b){throw new Hl(Nr)};_.gb=function Ll(b){var c;c=Jl(this.U(),b);return !!c};_.hb=function Ml(){return this.jb()==0};_.ib=function Nl(b){var c;c=Jl(this.U(),b);if(c){c.K();return true}else{return false}};_.kb=function Ol(b){var c,d,e;e=this.jb();b.length<e&&(b=de(b,e));d=this.U();for(c=0;c<e;++c){he(b,c,d.J())}b.length>e&&he(b,e,null);return b};_.cM={};_=Ql.prototype=new E;_.eQ=function Sl(b){var c,d,e,f,g;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[19])){return false}f=oe(b,19);if(this.d!=f.d){return false}for(d=new wm((new om(f)).a);Zm(d.a);){c=d.b=oe($m(d.a),34);e=c.mb();g=c.W();if(!(e==null?this.c:e!=null&&e.cM&&!!e.cM[1]?oo+oe(e,1) in this.e:$l(this,e,~~Q(e)))){return false}if(!ho(g,e==null?this.b:e!=null&&e.cM&&!!e.cM[1]?this.e[oo+oe(e,1)]:Zl(this,e,~~Q(e)))){return false}}return true};_.hC=function Tl(){var b,c,d;d=0;for(c=new wm((new om(this)).a);Zm(c.a);){b=c.b=oe($m(c.a),34);d+=b.hC();d=~~d}return d};_.cM={19:1};_=Pl.prototype=new Ql;_.lb=function im(b,c){return (b==null?null:b)===(c==null?null:c)||b!=null&&P(b,c)};_.cM={19:1};_.a=null;_.b=null;_.c=false;_.d=0;_.e=null;_=km.prototype=new Il;_.eQ=function lm(b){var c,d,e;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[35])){return false}d=oe(b,35);if(d.jb()!=this.jb()){return false}for(c=d.U();c.I();){e=c.J();if(!this.gb(e)){return false}}return true};_.hC=function mm(){var b,c,d;b=0;for(c=this.U();c.I();){d=c.J();if(d!=null){b+=Q(d);b=~~b}}return b};_.cM={35:1};_=om.prototype=jm.prototype=new km;_.gb=function pm(b){return nm(this,b)};_.U=function qm(){return new wm(this.a)};_.ib=function rm(b){var c;if(nm(this,b)){c=oe(b,34).mb();em(this.a,c);return true}return false};_.jb=function sm(){return this.a.d};_.cM={35:1};_.a=null;_=wm.prototype=tm.prototype=new E;_.I=function xm(){return Zm(this.a)};_.J=function ym(){return this.b=oe($m(this.a),34)};_.K=function zm(){vm(this)};_.cM={};_.a=null;_.b=null;_.c=null;_=Bm.prototype=new E;_.eQ=function Cm(b){var c;if(b!=null&&b.cM&&!!b.cM[34]){c=oe(b,34);if(ho(this.mb(),c.mb())&&ho(this.W(),c.W())){return true}}return false};_.hC=function Dm(){var b,c;b=0;c=0;this.mb()!=null&&(b=Q(this.mb()));this.W()!=null&&(c=Q(this.W()));return b^c};_.cM={34:1};_=Em.prototype=Am.prototype=new Bm;_.mb=function Fm(){return null};_.W=function Gm(){return this.a.b};_.nb=function Hm(b){return cm(this.a,b)};_.cM={34:1};_.a=null;_=Jm.prototype=Im.prototype=new Bm;_.mb=function Km(){return this.a};_.W=function Lm(){return this.b.e[oo+this.a]};_.nb=function Mm(b){return dm(this.b,this.a,b)};_.cM={34:1};_.a=null;_.b=null;_=Nm.prototype=new Il;_.fb=function Om(b){this.ob(this.jb(),b);return true};_.ob=function Pm(b,c){throw new Hl(Rr)};_.eQ=function Rm(b){var c,d,e,f,g;if(b===this){return true}if(!(b!=null&&b.cM&&!!b.cM[20])){return false}g=oe(b,20);if(this.jb()!=g.jb()){return false}e=new an(this);f=g.U();while(e.b<e.d.jb()){c=$m(e);d=$m(f);if(!(c==null?d==null:P(c,d))){return false}}return true};_.hC=function Sm(){var b,c,d;c=1;b=new an(this);while(b.b<b.d.jb()){d=$m(b);c=31*c+(d==null?0:Q(d));c=~~c}return c};_.U=function Um(){return new an(this)};_.qb=function Vm(){return new gn(this,0)};_.rb=function Wm(b){return new gn(this,b)};_.sb=function Xm(b){throw new Hl(Sr)};_.cM={20:1};_=an.prototype=Ym.prototype=new E;_.I=function bn(){return this.b<this.d.jb()};_.J=function cn(){return $m(this)};_.K=function dn(){_m(this)};_.cM={};_.b=0;_.c=-1;_.d=null;_=gn.prototype=en.prototype=new Ym;_.cM={};_.a=null;_=jn.prototype=hn.prototype=new km;_.gb=function kn(b){return Xl(this.a,b)};_.U=function ln(){var b;return b=new wm(this.b.a),new on(b)};_.jb=function mn(){return this.b.a.d};_.cM={35:1};_.a=null;_.b=null;_=on.prototype=nn.prototype=new E;_.I=function pn(){return Zm(this.a.a)};_.J=function qn(){var b;b=um(this.a);return b.mb()};_.K=function rn(){vm(this.a)};_.cM={};_.a=null;_=yn.prototype=sn.prototype=new Nm;_.fb=function zn(b){return he(this.a,this.b++,b),true};_.ob=function An(b,c){(b<0||b>this.b)&&Tm(b,this.b);this.a.splice(b,0,c);++this.b};_.gb=function Bn(b){return vn(this,b,0)!=-1};_.pb=function Cn(b){return Qm(b,this.b),this.a[b]};_.hb=function Dn(){return this.b==0};_.sb=function En(b){return wn(this,b)};_.ib=function Fn(b){return xn(this,b)};_.jb=function Gn(){return this.b};_.kb=function Hn(b){var c,d,e;b.length<this.b&&(b=(d=b,e=ee(0,this.b),ge(d.aC,d.cM,d.qI,e),e));for(c=0;c<this.b;++c){he(b,c,this.a[c])}b.length>this.b&&he(b,this.b,null);return b};_.cM={20:1,30:1};_.b=0;var In;_=Ln.prototype=Kn.prototype=new Nm;_.gb=function Mn(b){return false};_.pb=function Nn(b){throw new gl};_.jb=function On(){return 0};_.cM={20:1,30:1};_=Rn.prototype=Pn.prototype=new Pl;_.cM={19:1,30:1};_=Un.prototype=Sn.prototype=new km;_.fb=function Vn(b){var c;return c=am(this.a,b,this),c==null};_.gb=function Wn(b){return Xl(this.a,b)};_.hb=function Xn(){return this.a.d==0};_.U=function Yn(){var b;return b=new wm(Rl(this.a).b.a),new on(b)};_.ib=function Zn(b){return em(this.a,b)!=null};_.jb=function $n(){return this.a.d};_.cM={30:1,35:1};_.a=null;_=ao.prototype=_n.prototype=new Bm;_.mb=function bo(){return this.a};_.W=function co(){return this.b};_.nb=function eo(b){var c;c=this.b;this.b=b;return c};_.cM={34:1};_.a=null;_.b=null;_=go.prototype=fo.prototype=new I;_.cM={2:1,10:1,30:1};var jo=X;var ue=new Zk,Ae=new Zk,ve=new Zk,we=new Zk,ye=new Zk,xe=new Zk,Be=new Zk,ze=new Zk;$stats && $stats({moduleName:'de.factfinder.asn.slider.OneTouchSlider',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalEnd'});if (de_factfinder_asn_slider_OneTouchSlider && de_factfinder_asn_slider_OneTouchSlider.onScriptLoad)de_factfinder_asn_slider_OneTouchSlider.onScriptLoad(gwtOnLoad);})();
|
skin/frontend/base/default/js/factfinder_onetouchslider/clear.cache.gif
ADDED
Binary file
|
skin/frontend/base/default/js/factfinder_onetouchslider/de.factfinder.asn.slider.OneTouchSlider.nocache.js
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function de_factfinder_asn_slider_OneTouchSlider(){var L='',bc='\n-',sb='" for "gwt:onLoadErrorFn"',qb='" for "gwt:onPropertyErrorFn"',Qb='"<script src=\\"',eb='"><\/script>',V='#',ac=');',Ub='-\n',cc='-><\/scr',Rb='.cache.js\\"><\/scr" + "ipt>"',X='/',Hb='234A0ACCECB3C19247FA8B7920453761',Ib='25E490B929D7CDBF44085E4E4D9D6F78',Jb='53ABFAE8983A4589B497F48695DB2A7C',Kb='75B23D057185BAB61CFE100CE08C4D84',Lb='9F0D0456482D7A7A901A2CD8F64EA019',Nb=':',kb='::',Sb='<scr',db='<script id="',nb='=',W='?',pb='Bad handler "',Eb='Cross-site hosted mode not yet implemented. See issue ',Ob='DOMContentLoaded',Mb='E99B1B37801E5D6E5F99A5A03BC233EF',fb='SCRIPT',cb='__gwt_marker_de.factfinder.asn.slider.OneTouchSlider',gb='base',$='baseUrl',P='begin',O='bootstrap',Z='clear.cache.gif',mb='content',M='de.factfinder.asn.slider.OneTouchSlider',ab='de.factfinder.asn.slider.OneTouchSlider.nocache.js',jb='de.factfinder.asn.slider.OneTouchSlider::',_b='document.write(',U='end',Xb='evtGroup: "loadExternalRefs", millis:(new Date()).getTime(),',Zb='evtGroup: "moduleStartup", millis:(new Date()).getTime(),',Bb='gecko',Cb='gecko1_8',Q='gwt.codesvr=',R='gwt.hosted=',S='gwt.hybrid',rb='gwt:onLoadErrorFn',ob='gwt:onPropertyErrorFn',lb='gwt:property',Fb='http://code.google.com/p/google-web-toolkit/issues/detail?id=2079',Ab='ie6',zb='ie8',yb='ie9',Y='img',dc='ipt>',Tb='ipt><!-',Pb='loadExternalRefs',hb='meta',Wb='moduleName:"de.factfinder.asn.slider.OneTouchSlider", sessionId:window.__gwtStatsSessionId, subSystem:"startup",',T='moduleStartup',xb='msie',ib='name',ub='opera',wb='safari',_='script',Gb='selectingPermutation',N='startup',Yb='type: "end"});',$b='type: "moduleRequested"});',bb='undefined',Db='unknown',tb='user.agent',vb='webkit',Vb='window.__gwtStatsEvent && window.__gwtStatsEvent({';var l=window,m=document,n=l.__gwtStatsEvent?function(a){return l.__gwtStatsEvent(a)}:null,o=l.__gwtStatsSessionId?l.__gwtStatsSessionId:null,p,q,r=L,s={},t=[],u=[],v=[],w=0,x,y;n&&n({moduleName:M,sessionId:o,subSystem:N,evtGroup:O,millis:(new Date).getTime(),type:P});if(!l.__gwt_stylesLoaded){l.__gwt_stylesLoaded={}}if(!l.__gwt_scriptsLoaded){l.__gwt_scriptsLoaded={}}function z(){var b=false;try{var c=l.location.search;return (c.indexOf(Q)!=-1||(c.indexOf(R)!=-1||l.external&&l.external.gwtOnLoad))&&c.indexOf(S)==-1}catch(a){}z=function(){return b};return b}
|
2 |
+
function A(){if(p&&q){p(x,M,r,w);n&&n({moduleName:M,sessionId:o,subSystem:N,evtGroup:T,millis:(new Date).getTime(),type:U})}}
|
3 |
+
function B(){function e(a){var b=a.lastIndexOf(V);if(b==-1){b=a.length}var c=a.indexOf(W);if(c==-1){c=a.length}var d=a.lastIndexOf(X,Math.min(c,b));return d>=0?a.substring(0,d+1):L}
|
4 |
+
function f(a){if(a.match(/^\w+:\/\//)){}else{var b=m.createElement(Y);b.src=a+Z;a=e(b.src)}return a}
|
5 |
+
function g(){var a=D($);if(a!=null){return a}return L}
|
6 |
+
function h(){var a=m.getElementsByTagName(_);for(var b=0;b<a.length;++b){if(a[b].src.indexOf(ab)!=-1){return e(a[b].src)}}return L}
|
7 |
+
function i(){var a;if(typeof isBodyLoaded==bb||!isBodyLoaded()){var b=cb;var c;m.write(db+b+eb);c=m.getElementById(b);a=c&&c.previousSibling;while(a&&a.tagName!=fb){a=a.previousSibling}if(c){c.parentNode.removeChild(c)}if(a&&a.src){return e(a.src)}}return L}
|
8 |
+
function j(){var a=m.getElementsByTagName(gb);if(a.length>0){return a[a.length-1].href}return L}
|
9 |
+
var k=g();if(k==L){k=h()}if(k==L){k=i()}if(k==L){k=j()}if(k==L){k=e(m.location.href)}k=f(k);r=k;return k}
|
10 |
+
function C(){var b=document.getElementsByTagName(hb);for(var c=0,d=b.length;c<d;++c){var e=b[c],f=e.getAttribute(ib),g;if(f){f=f.replace(jb,L);if(f.indexOf(kb)>=0){continue}if(f==lb){g=e.getAttribute(mb);if(g){var h,i=g.indexOf(nb);if(i>=0){f=g.substring(0,i);h=g.substring(i+1)}else{f=g;h=L}s[f]=h}}else if(f==ob){g=e.getAttribute(mb);if(g){try{y=eval(g)}catch(a){alert(pb+g+qb)}}}else if(f==rb){g=e.getAttribute(mb);if(g){try{x=eval(g)}catch(a){alert(pb+g+sb)}}}}}}
|
11 |
+
function D(a){var b=s[a];return b==null?null:b}
|
12 |
+
function E(a,b){var c=v;for(var d=0,e=a.length-1;d<e;++d){c=c[a[d]]||(c[a[d]]=[])}c[a[e]]=b}
|
13 |
+
function F(a){var b=u[a](),c=t[a];if(b in c){return b}var d=[];for(var e in c){d[c[e]]=e}if(y){y(a,d,b)}throw null}
|
14 |
+
u[tb]=function(){var b=navigator.userAgent.toLowerCase();var c=function(a){return parseInt(a[1])*1000+parseInt(a[2])};if(function(){return b.indexOf(ub)!=-1}())return ub;if(function(){return b.indexOf(vb)!=-1}())return wb;if(function(){return b.indexOf(xb)!=-1&&m.documentMode>=9}())return yb;if(function(){return b.indexOf(xb)!=-1&&m.documentMode>=8}())return zb;if(function(){var a=/msie ([0-9]+)\.([0-9]+)/.exec(b);if(a&&a.length==3)return c(a)>=6000}())return Ab;if(function(){return b.indexOf(Bb)!=-1}())return Cb;return Db};t[tb]={gecko1_8:0,ie6:1,ie8:2,ie9:3,opera:4,safari:5};de_factfinder_asn_slider_OneTouchSlider.onScriptLoad=function(a){de_factfinder_asn_slider_OneTouchSlider.onScriptLoad=null;p=a;A()};if(z()){alert(Eb+Fb);return}C();B();n&&n({moduleName:M,sessionId:o,subSystem:N,evtGroup:O,millis:(new Date).getTime(),type:Gb});var G;try{E([zb],Hb);E([yb],Ib);E([wb],Jb);E([Cb],Kb);E([Ab],Lb);E([ub],Mb);G=v[F(tb)];var H=G.indexOf(Nb);if(H!=-1){w=Number(G.substring(H+1));G=G.substring(0,H)}}catch(a){return}var I;function J(){if(!q){q=true;A();if(m.removeEventListener){m.removeEventListener(Ob,J,false)}if(I){clearInterval(I)}}}
|
15 |
+
if(m.addEventListener){m.addEventListener(Ob,function(){J()},false)}var I=setInterval(function(){if(/loaded|complete/.test(m.readyState)){J()}},50);n&&n({moduleName:M,sessionId:o,subSystem:N,evtGroup:O,millis:(new Date).getTime(),type:U});n&&n({moduleName:M,sessionId:o,subSystem:N,evtGroup:Pb,millis:(new Date).getTime(),type:P});var K=Qb+r+G+Rb;m.write(Sb+Tb+Ub+Vb+Wb+Xb+Yb+Vb+Wb+Zb+$b+_b+K+ac+bc+cc+dc)}
|
16 |
+
de_factfinder_asn_slider_OneTouchSlider();
|