Mana_Filters - Version 14.11.25.15

Version Notes

Adds multiple selection features for attribute and price filters in Magento layered navigation.

Download this release

Release Info

Developer Magento Core Team
Extension Mana_Filters
Version 14.11.25.15
Comparing to
See all releases


Code changes from version 14.06.13.09 to 14.11.25.15

Files changed (37) hide show
  1. app/code/local/Mana/Core/Helper/Data.php +35 -2
  2. app/code/local/Mana/Core/Helper/Eav.php +68 -0
  3. app/code/local/Mana/Core/Helper/Layer.php +3 -0
  4. app/code/local/Mana/Core/Helper/PageType/CmsPage.php +1 -1
  5. app/code/local/Mana/Core/Model/Indexer.php +11 -0
  6. app/code/local/Mana/Core/Resource/JsonCollection.php +186 -0
  7. app/code/local/Mana/Core/etc/config.xml +1 -1
  8. app/code/local/Mana/Db/Model/Entity/Indexer.php +4 -1
  9. app/code/local/Mana/Db/Resource/Entity/JsonCollection.php +1 -173
  10. app/code/local/Mana/Db/etc/config.xml +1 -1
  11. app/code/local/Mana/Filters/Block/Filter.php +2 -14
  12. app/code/local/Mana/Filters/Block/Layer.php +1 -1
  13. app/code/local/Mana/Filters/Block/State.php +20 -0
  14. app/code/local/Mana/Filters/Helper/Data.php +36 -0
  15. app/code/local/Mana/Filters/Model/Filter/Attribute.php +25 -1
  16. app/code/local/Mana/Filters/Model/Filter/Category.php +54 -1
  17. app/code/local/Mana/Filters/Model/Filter/Decimal.php +33 -0
  18. app/code/local/Mana/Filters/Model/Filter/Price.php +32 -0
  19. app/code/local/Mana/Filters/Model/Item.php +28 -1
  20. app/code/local/Mana/Filters/Model/Query.php +17 -0
  21. app/code/local/Mana/Filters/Model/Solr/Adapter/HttpStream.php +13 -0
  22. app/code/local/Mana/Filters/Model/Solr/Adapter/PhpExtension.php +12 -0
  23. app/code/local/Mana/Filters/Model/Solr/Price.php +8 -4
  24. app/code/local/Mana/Filters/Model/Source/Filter.php +91 -0
  25. app/code/local/Mana/Filters/Resource/Filter/Attribute.php +4 -4
  26. app/code/local/Mana/Filters/Resource/Filter/Price.php +3 -3
  27. app/code/local/Mana/Filters/etc/config.xml +1 -1
  28. app/design/frontend/base/default/template/mana/filters/items/list_special.phtml +33 -0
  29. app/design/frontend/base/default/template/mana/filters/state.phtml +1 -1
  30. js/jquery/history.adapter.jquery.js +4 -1
  31. js/mana/core.js +61 -62
  32. js/mana/core.js.map +26 -26
  33. js/mana/core.min.js +7 -7
  34. js/src/Mana/Core/Core.js +2 -2
  35. js/src/Mana/Core/Layout.js +17 -19
  36. js/src/Mana/Core/Object.js +6 -5
  37. package.xml +4 -4
app/code/local/Mana/Core/Helper/Data.php CHANGED
@@ -12,6 +12,10 @@
12
  */
13
  class Mana_Core_Helper_Data extends Mage_Core_Helper_Abstract {
14
  protected $_pageTypes;
 
 
 
 
15
 
16
  /**
17
  * Retrieve config value for store by path. By default uses standard Magento function to query core_config_data
@@ -546,6 +550,17 @@ class Mana_Core_Helper_Data extends Mage_Core_Helper_Abstract {
546
  }
547
  }
548
 
 
 
 
 
 
 
 
 
 
 
 
549
  public function base64EncodeUrl($url) {
550
  return base64_encode(Mage::getSingleton('core/url')->sessionUrlVar($url));
551
  }
@@ -651,10 +666,10 @@ class Mana_Core_Helper_Data extends Mage_Core_Helper_Abstract {
651
  return $this->_attributes[$key];
652
  }
653
 
654
- public function getAttributeTable($attribute) {
655
  return $attribute['backend_table'] ?
656
  $attribute['backend_table'] :
657
- Mage::getSingleton('core/resource')->getTableName('catalog_category_entity_' . $attribute['backend_type']);
658
  }
659
 
660
  /**
@@ -738,6 +753,10 @@ class Mana_Core_Helper_Data extends Mage_Core_Helper_Abstract {
738
  return $this->isModuleEnabled('Mana_Filters');
739
  }
740
 
 
 
 
 
741
  public function isManadevSeoLayeredNavigationInstalled() {
742
  return $this->isModuleEnabled('ManaPro_FilterSeoLinks');
743
  }
@@ -768,6 +787,10 @@ class Mana_Core_Helper_Data extends Mage_Core_Helper_Abstract {
768
  return $this->isModuleEnabled('Enterprise_UrlRewrite');
769
  }
770
 
 
 
 
 
771
  protected $_accentTranslations = array(
772
  'à' => 'a',
773
  'á' => 'a',
@@ -892,4 +915,14 @@ class Mana_Core_Helper_Data extends Mage_Core_Helper_Abstract {
892
  return $this;
893
  }
894
 
 
 
 
 
 
 
 
 
 
 
895
  }
12
  */
13
  class Mana_Core_Helper_Data extends Mage_Core_Helper_Abstract {
14
  protected $_pageTypes;
15
+ /**
16
+ * @var Mage_Catalog_Model_Category
17
+ */
18
+ protected $_rootCategory;
19
 
20
  /**
21
  * Retrieve config value for store by path. By default uses standard Magento function to query core_config_data
550
  }
551
  }
552
 
553
+ public function setProtectedProperty($object, $propertyName, $value) {
554
+ $className = get_class($object);
555
+ $class = new ReflectionClass($className);
556
+ $property = $class->getProperty($propertyName);
557
+ if (method_exists($property, 'setAccessible')) {
558
+ $property->setAccessible(true);
559
+ $property->setValue($object, $value);
560
+ }
561
+ }
562
+
563
+
564
  public function base64EncodeUrl($url) {
565
  return base64_encode(Mage::getSingleton('core/url')->sessionUrlVar($url));
566
  }
666
  return $this->_attributes[$key];
667
  }
668
 
669
+ public function getAttributeTable($attribute, $baseTable = 'catalog_category_entity') {
670
  return $attribute['backend_table'] ?
671
  $attribute['backend_table'] :
672
+ Mage::getSingleton('core/resource')->getTableName($baseTable . '_' . $attribute['backend_type']);
673
  }
674
 
675
  /**
753
  return $this->isModuleEnabled('Mana_Filters');
754
  }
755
 
756
+ public function isManadevLayeredNavigationCheckboxesInstalled() {
757
+ return $this->isModuleEnabled('ManaPro_FilterCheckboxes');
758
+ }
759
+
760
  public function isManadevSeoLayeredNavigationInstalled() {
761
  return $this->isModuleEnabled('ManaPro_FilterSeoLinks');
762
  }
787
  return $this->isModuleEnabled('Enterprise_UrlRewrite');
788
  }
789
 
790
+ public function isSpecialPagesInstalled() {
791
+ return $this->isModuleEnabled('Mana_Page');
792
+ }
793
+
794
  protected $_accentTranslations = array(
795
  'à' => 'a',
796
  'á' => 'a',
915
  return $this;
916
  }
917
 
918
+ public function getRootCategory() {
919
+ if (!$this->_rootCategory) {
920
+ $this->_rootCategory = Mage::getModel('catalog/category');
921
+ $this->_rootCategory
922
+ ->setStoreId(Mage::app()->getStore()->getId())
923
+ ->load(Mage::app()->getStore()->getRootCategoryId());
924
+
925
+ }
926
+ return $this->_rootCategory;
927
+ }
928
  }
app/code/local/Mana/Core/Helper/Eav.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @category Mana
4
+ * @package Mana_Core
5
+ * @copyright Copyright (c) http://www.manadev.com
6
+ * @license http://www.manadev.com/license Proprietary License
7
+ */
8
+ /**
9
+ * @author Mana Team
10
+ *
11
+ */
12
+ class Mana_Core_Helper_Eav extends Mage_Core_Helper_Abstract {
13
+ protected $_attributes;
14
+
15
+ public function getAttributes()
16
+ {
17
+ if (is_null($this->_attributes)) {
18
+ $this->_attributes = Mage::getSingleton('eav/config')
19
+ ->getEntityType('catalog_product')
20
+ ->getAttributeCollection();
21
+ }
22
+
23
+ return $this->_attributes;
24
+ }
25
+
26
+ /**
27
+ * @param Varien_Db_Select $select
28
+ * @param string $attributeCode
29
+ * @return $this
30
+ */
31
+ public function joinAttribute($select, $attributeCode) {
32
+ /* @var $core Mana_Core_Helper_Data */
33
+ $core = Mage::helper(strtolower('Mana_Core'));
34
+
35
+ /* @var $attribute Mage_Catalog_Model_Resource_Eav_Attribute */
36
+ $attribute = $core->collectionFind($this->getAttributes(), 'attribute_code', $attributeCode);
37
+
38
+ /* @var $db Varien_Db_Adapter_Pdo_Mysql */
39
+ $db = $select->getAdapter();
40
+
41
+ $alias = 'meav_'.$attributeCode;
42
+ $storeAlias = 's' . $alias;
43
+ $from = $select->getPart(Varien_Db_Select::FROM);
44
+ if (!isset($from[$alias])) {
45
+ $select->joinLeft(array($alias => $attribute->getBackendTable()),
46
+ implode(' AND ', array(
47
+ "`$alias`.`entity_id` = `e`.`entity_id`",
48
+ $db->quoteInto("`$alias`.`attribute_id` = ?", $attribute->getId()),
49
+ "`$alias`.`store_id` = 0",
50
+ )), null);
51
+ $select->joinLeft(array($storeAlias => $attribute->getBackendTable()),
52
+ implode(' AND ', array(
53
+ "`$storeAlias`.`entity_id` = `e`.`entity_id`",
54
+ $db->quoteInto("`$storeAlias`.`attribute_id` = ?", $attribute->getId()),
55
+ $db->quoteInto("`$storeAlias`.`store_id` = ?", Mage::app()->getStore()->getId()),
56
+ )), null);
57
+ }
58
+
59
+ return $this;
60
+ }
61
+
62
+ public function attributeValue($attributeCode) {
63
+ $alias = 'meav_' . $attributeCode;
64
+ $storeAlias = 's' . $alias;
65
+
66
+ return "COALESCE(`$storeAlias`.`value`, `$alias`.`value`)";
67
+ }
68
+ }
app/code/local/Mana/Core/Helper/Layer.php CHANGED
@@ -11,6 +11,9 @@
11
  */
12
  class Mana_Core_Helper_Layer extends Mage_Core_Helper_Abstract {
13
  public function useSolrForNavigation() {
 
 
 
14
  if (!Mage::helper('core')->isModuleEnabled('Enterprise_Search')) {
15
  return false;
16
  }
11
  */
12
  class Mana_Core_Helper_Layer extends Mage_Core_Helper_Abstract {
13
  public function useSolrForNavigation() {
14
+ if (Mage::registry('m_no_solr')) {
15
+ return false;
16
+ }
17
  if (!Mage::helper('core')->isModuleEnabled('Enterprise_Search')) {
18
  return false;
19
  }
app/code/local/Mana/Core/Helper/PageType/CmsPage.php CHANGED
@@ -22,7 +22,7 @@ class Mana_Core_Helper_PageType_CmsPage extends Mana_Core_Helper_PageType {
22
  if ($block = Mage::getSingleton('core/layout')->getBlock('cms.products')) {
23
  return ($block->hasData('hide_when_no_filters_applied')
24
  ? $block->getData('hide_when_no_filters_applied')
25
- : Mage::getStoreConfigFlag('mana_filters/display/hide_cms_product_list'));
26
  }
27
 
28
  return true;
22
  if ($block = Mage::getSingleton('core/layout')->getBlock('cms.products')) {
23
  return ($block->hasData('hide_when_no_filters_applied')
24
  ? $block->getData('hide_when_no_filters_applied')
25
+ : !Mage::getStoreConfigFlag('mana_filters/display/hide_cms_product_list'));
26
  }
27
 
28
  return true;
app/code/local/Mana/Core/Model/Indexer.php CHANGED
@@ -13,6 +13,8 @@ abstract class Mana_Core_Model_Indexer extends Mage_Index_Model_Indexer_Abstract
13
  protected $_code;
14
  protected $_process;
15
  protected $_xml = null;
 
 
16
  public function getCode() {
17
  return $this->_code;
18
  }
@@ -40,6 +42,15 @@ abstract class Mana_Core_Model_Indexer extends Mage_Index_Model_Indexer_Abstract
40
  return $this->_xml;
41
  }
42
 
 
 
 
 
 
 
 
 
 
43
  /**
44
  * Get Indexer name
45
  *
13
  protected $_code;
14
  protected $_process;
15
  protected $_xml = null;
16
+ protected $_configXml = null;
17
+
18
  public function getCode() {
19
  return $this->_code;
20
  }
42
  return $this->_xml;
43
  }
44
 
45
+ public function getConfigXml() {
46
+ if (is_null($this->_configXml)) {
47
+ $result = Mage::getConfig()->getXpath("//global/index/indexer_config/{$this->getProcess()->getIndexerCode()}");
48
+
49
+ $this->_configXml = count($result) == 1 ? $result[0] : false;
50
+ }
51
+ return $this->_configXml;
52
+ }
53
+
54
  /**
55
  * Get Indexer name
56
  *
app/code/local/Mana/Core/Resource/JsonCollection.php ADDED
@@ -0,0 +1,186 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @category Mana
4
+ * @package Mana_Db
5
+ * @copyright Copyright (c) http://www.manadev.com
6
+ * @license http://www.manadev.com/license Proprietary License
7
+ */
8
+ /**
9
+ * @author Mana Team
10
+ * @method string getScopeName()
11
+ */
12
+ class Mana_Core_Resource_JsonCollection extends Varien_Data_Collection {
13
+ protected $_rawData = array();
14
+ protected $_data = array();
15
+ protected $_mFilters = array();
16
+
17
+ /**
18
+ * @param $data
19
+ * @return Mana_Core_Resource_JsonCollection
20
+ */
21
+ public function setData($data) {
22
+ foreach (array_keys($data) as $index) {
23
+ if (!isset($data[$index]['id'])) {
24
+ $data[$index]['id'] = $index;
25
+ }
26
+ }
27
+ $this->_data = $data;
28
+ $this->_rawData = $data;
29
+
30
+ return $this;
31
+ }
32
+
33
+ public function getData() {
34
+ return $this->_data;
35
+ }
36
+ public function load($printQuery = false, $logQuery = false) {
37
+ if ($this->isLoaded()) {
38
+ return $this;
39
+ }
40
+
41
+ $this->_beforeLoad();
42
+
43
+ $this->_renderFilters()
44
+ ->_renderOrders()
45
+ ->_renderLimit();
46
+
47
+ $data = $this->getData();
48
+
49
+ if (is_array($data)) {
50
+ foreach ($data as $row) {
51
+ $item = $this->getNewEmptyItem();
52
+ $item->addData($row);
53
+ $this->addItem($item);
54
+ }
55
+ }
56
+
57
+ $this->_setIsLoaded();
58
+ $this->_afterLoad();
59
+
60
+ return $this;
61
+ }
62
+
63
+ protected function _beforeLoad() {
64
+ return $this;
65
+ }
66
+
67
+ protected function _afterLoad() {
68
+ return $this;
69
+ }
70
+
71
+ /**
72
+ * @return Mana_Db_Resource_Entity_JsonCollection
73
+ */
74
+ protected function _renderFilters() {
75
+ $this->_data = array_filter($this->_data, array($this, '_filterItem'));
76
+ return $this;
77
+ }
78
+
79
+ /**
80
+ * Render sql select orders
81
+ *
82
+ * @return Mana_Db_Resource_Entity_JsonCollection
83
+ */
84
+ protected function _renderOrders() {
85
+ if (count($this->_orders)) {
86
+ uasort($this->_data, array($this, '_compareItems'));
87
+ }
88
+
89
+ return $this;
90
+ }
91
+
92
+ /**
93
+ * Render sql select limit
94
+ *
95
+ * @return Mana_Db_Resource_Entity_JsonCollection
96
+ */
97
+ protected function _renderLimit() {
98
+ if ($this->_pageSize !== false) {
99
+ $offset = ($this->_curPage - 1) * $this->_pageSize;
100
+ $count = count($this->_data);
101
+ if ($count > $offset) {
102
+ if ($count >= $offset + $this->_pageSize) {
103
+ $this->_data = array_slice($this->_data, $offset, $this->_pageSize);
104
+ }
105
+ else {
106
+ $this->_data = array_slice($this->_data, $offset);
107
+ }
108
+ }
109
+ else {
110
+ $this->_data = array();
111
+ }
112
+ }
113
+
114
+ return $this;
115
+ }
116
+
117
+ public function getRawData() {
118
+ return $this->_rawData;
119
+ }
120
+
121
+ /**
122
+ * @param array $a
123
+ * @param array $b
124
+ * @return int
125
+ */
126
+ protected function _compareItems($a, $b) {
127
+ foreach ($this->_orders as $column => $direction) {
128
+ if (isset($a[$column])) {
129
+ if (isset($b[$column])) {
130
+ if ($a[$column] < $b[$column]) {
131
+ return strtolower($direction) == 'desc' ? 1 : -1;
132
+ }
133
+ if ($a[$column] > $b[$column]) {
134
+ return strtolower($direction) == 'desc' ? -1 : 1;
135
+ }
136
+ }
137
+ else {
138
+ return strtolower($direction) == 'desc' ? -1 : 1;
139
+ }
140
+ }
141
+ else {
142
+ if (isset($b[$column])) {
143
+ return strtolower($direction) == 'desc' ? 1 : -1;
144
+ }
145
+ }
146
+ }
147
+ return 0;
148
+ }
149
+
150
+ /**
151
+ * @param array $a
152
+ * @return bool
153
+ */
154
+ protected function _filterItem($a) {
155
+ foreach ($this->_mFilters as $filter) {
156
+ $value = isset($a[$filter['attribute']]) ? $a[$filter['attribute']] : '';
157
+ if (isset($filter['condition']['like'])) {
158
+ $test = $filter['condition']['like'];
159
+ if ($this->getMbstring()->stripos($value, $this->getMbstring()->substr($test, 1, mb_strlen($test) - 2)) === false) {
160
+ return false;
161
+ }
162
+ }
163
+ elseif (isset($filter['condition']['eq'])) {
164
+ $test = $filter['condition']['eq'];
165
+ if ($value != $test) {
166
+ return false;
167
+ }
168
+ }
169
+ }
170
+
171
+ return true;
172
+ }
173
+ public function addFieldToFilter($attribute, $condition = null) {
174
+ $this->_mFilters[] = array('attribute' => $attribute, 'condition' => $condition);
175
+ }
176
+
177
+ #region Dependencies
178
+
179
+ /**
180
+ * @return Mana_Core_Helper_Mbstring
181
+ */
182
+ public function getMbstring() {
183
+ return Mage::helper('mana_core/mbstring');
184
+ }
185
+ #endregion
186
+ }
app/code/local/Mana/Core/etc/config.xml CHANGED
@@ -12,7 +12,7 @@
12
  <Mana_Core>
13
  <!-- This version number identifies version of database tables specific to this extension. It is written to
14
  core_resource table. -->
15
- <version>14.06.13.09</version>
16
  </Mana_Core>
17
  </modules>
18
  <!-- This section contains module settings which are merged into global configuration during each page load,
12
  <Mana_Core>
13
  <!-- This version number identifies version of database tables specific to this extension. It is written to
14
  core_resource table. -->
15
+ <version>14.10.28.12</version>
16
  </Mana_Core>
17
  </modules>
18
  <!-- This section contains module settings which are merged into global configuration during each page load,
app/code/local/Mana/Db/Model/Entity/Indexer.php CHANGED
@@ -21,7 +21,10 @@ class Mana_Db_Model_Entity_Indexer extends Mana_Core_Model_Indexer {
21
 
22
  public function matchEvent(Mage_Index_Model_Event $event) {
23
  /* @var $object Mana_Db_Model_Entity */
24
- $object = $event->getData('data_object');
 
 
 
25
  $key = $event->getData('entity').'-'.$object->getId();
26
  if (!isset($this->_matchedEvents[$key])) {
27
  $this->_matchedEvents[$key] = $this->_matchEntity($event, $object);
21
 
22
  public function matchEvent(Mage_Index_Model_Event $event) {
23
  /* @var $object Mana_Db_Model_Entity */
24
+ if (!($object = $event->getData('data_object'))) {
25
+ return false;
26
+ }
27
+
28
  $key = $event->getData('entity').'-'.$object->getId();
29
  if (!isset($this->_matchedEvents[$key])) {
30
  $this->_matchedEvents[$key] = $this->_matchEntity($event, $object);
app/code/local/Mana/Db/Resource/Entity/JsonCollection.php CHANGED
@@ -9,178 +9,6 @@
9
  * @author Mana Team
10
  * @method string getScopeName()
11
  */
12
- class Mana_Db_Resource_Entity_JsonCollection extends Varien_Data_Collection {
13
- protected $_rawData = array();
14
- protected $_data = array();
15
- protected $_mFilters = array();
16
 
17
- /**
18
- * @param $data
19
- * @return Mana_Db_Resource_Entity_JsonCollection
20
- */
21
- public function setData($data) {
22
- foreach (array_keys($data) as $index) {
23
- if (!isset($data[$index]['id'])) {
24
- $data[$index]['id'] = $index;
25
- }
26
- }
27
- $this->_data = $data;
28
- $this->_rawData = $data;
29
-
30
- return $this;
31
- }
32
-
33
- public function getData() {
34
- return $this->_data;
35
- }
36
- public function load($printQuery = false, $logQuery = false) {
37
- if ($this->isLoaded()) {
38
- return $this;
39
- }
40
-
41
- $this->_beforeLoad();
42
-
43
- $this->_renderFilters()
44
- ->_renderOrders()
45
- ->_renderLimit();
46
-
47
- $data = $this->getData();
48
-
49
- if (is_array($data)) {
50
- foreach ($data as $row) {
51
- $item = $this->getNewEmptyItem();
52
- $item->addData($row);
53
- $this->addItem($item);
54
- }
55
- }
56
-
57
- $this->_setIsLoaded();
58
- $this->_afterLoad();
59
-
60
- return $this;
61
- }
62
-
63
- protected function _beforeLoad() {
64
- return $this;
65
- }
66
-
67
- protected function _afterLoad() {
68
- return $this;
69
- }
70
-
71
- /**
72
- * @return Mana_Db_Resource_Entity_JsonCollection
73
- */
74
- protected function _renderFilters() {
75
- $this->_data = array_filter($this->_data, array($this, '_filterItem'));
76
- return $this;
77
- }
78
-
79
- /**
80
- * Render sql select orders
81
- *
82
- * @return Mana_Db_Resource_Entity_JsonCollection
83
- */
84
- protected function _renderOrders() {
85
- if (count($this->_orders)) {
86
- uasort($this->_data, array($this, '_compareItems'));
87
- }
88
-
89
- return $this;
90
- }
91
-
92
- /**
93
- * Render sql select limit
94
- *
95
- * @return Mana_Db_Resource_Entity_JsonCollection
96
- */
97
- protected function _renderLimit() {
98
- if ($this->_pageSize !== false) {
99
- $offset = ($this->_curPage - 1) * $this->_pageSize;
100
- $count = count($this->_data);
101
- if ($count > $offset) {
102
- if ($count >= $offset + $this->_pageSize) {
103
- $this->_data = array_slice($this->_data, $offset, $this->_pageSize);
104
- }
105
- else {
106
- $this->_data = array_slice($this->_data, $offset);
107
- }
108
- }
109
- else {
110
- $this->_data = array();
111
- }
112
- }
113
-
114
- return $this;
115
- }
116
-
117
- public function getRawData() {
118
- return $this->_rawData;
119
- }
120
-
121
- /**
122
- * @param array $a
123
- * @param array $b
124
- * @return int
125
- */
126
- protected function _compareItems($a, $b) {
127
- foreach ($this->_orders as $column => $direction) {
128
- if (isset($a[$column])) {
129
- if (isset($b[$column])) {
130
- if ($a[$column] < $b[$column]) {
131
- return strtolower($direction) == 'desc' ? 1 : -1;
132
- }
133
- if ($a[$column] > $b[$column]) {
134
- return strtolower($direction) == 'desc' ? -1 : 1;
135
- }
136
- }
137
- else {
138
- return strtolower($direction) == 'desc' ? -1 : 1;
139
- }
140
- }
141
- else {
142
- if (isset($b[$column])) {
143
- return strtolower($direction) == 'desc' ? 1 : -1;
144
- }
145
- }
146
- }
147
- return 0;
148
- }
149
-
150
- /**
151
- * @param array $a
152
- * @return bool
153
- */
154
- protected function _filterItem($a) {
155
- foreach ($this->_mFilters as $filter) {
156
- $value = isset($a[$filter['attribute']]) ? $a[$filter['attribute']] : '';
157
- if (isset($filter['condition']['like'])) {
158
- $test = $filter['condition']['like'];
159
- if ($this->getMbstring()->stripos($value, $this->getMbstring()->substr($test, 1, mb_strlen($test) - 2)) === false) {
160
- return false;
161
- }
162
- }
163
- elseif (isset($filter['condition']['eq'])) {
164
- $test = $filter['condition']['eq'];
165
- if ($value != $test) {
166
- return false;
167
- }
168
- }
169
- }
170
-
171
- return true;
172
- }
173
- public function addFieldToFilter($attribute, $condition = null) {
174
- $this->_mFilters[] = array('attribute' => $attribute, 'condition' => $condition);
175
- }
176
-
177
- #region Dependencies
178
-
179
- /**
180
- * @return Mana_Core_Helper_Mbstring
181
- */
182
- public function getMbstring() {
183
- return Mage::helper('mana_core/mbstring');
184
- }
185
- #endregion
186
  }
9
  * @author Mana Team
10
  * @method string getScopeName()
11
  */
12
+ class Mana_Db_Resource_Entity_JsonCollection extends Mana_Core_Resource_JsonCollection {
 
 
 
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  }
app/code/local/Mana/Db/etc/config.xml CHANGED
@@ -12,7 +12,7 @@
12
  <Mana_Db>
13
  <!-- This version number identifies version of database tables specific to this extension. It is written to
14
  core_resource table. -->
15
- <version>14.03.20.15</version>
16
  </Mana_Db>
17
  </modules>
18
  <!-- This section contains module settings which are merged into global configuration during each page load,
12
  <Mana_Db>
13
  <!-- This version number identifies version of database tables specific to this extension. It is written to
14
  core_resource table. -->
15
+ <version>14.10.28.12</version>
16
  </Mana_Db>
17
  </modules>
18
  <!-- This section contains module settings which are merged into global configuration during each page load,
app/code/local/Mana/Filters/Block/Filter.php CHANGED
@@ -90,6 +90,7 @@ class Mana_Filters_Block_Filter extends Mage_Catalog_Block_Layer_Filter_Abstract
90
  if ($count == 1 &&
91
  empty($selected) &&
92
  $this->getFilterOptions()->getCode() != 'category' &&
 
93
  Mage::getStoreConfigFlag('mana_filters/display/hide_filters_with_single_visible_item'))
94
  {
95
  return 0;
@@ -142,20 +143,7 @@ class Mana_Filters_Block_Filter extends Mage_Catalog_Block_Layer_Filter_Abstract
142
  }
143
 
144
  public function getListItemClass($item) {
145
- $result = '';
146
- if ($item->getMShowSelected()) {
147
- $result .= 'm-selected-ln-item';
148
- }
149
- if (!($item->getCount() || $item->getMSelected())) {
150
- if ($result) {
151
- $result .= ' ';
152
- }
153
- $result .= 'm-disabled';
154
- }
155
- if ($result) {
156
- $result = "class=\"$result\"";
157
- }
158
- return $result;
159
  }
160
 
161
  #region Dependencies
90
  if ($count == 1 &&
91
  empty($selected) &&
92
  $this->getFilterOptions()->getCode() != 'category' &&
93
+ $this->getFilterOptions()->getCode() != 'price' &&
94
  Mage::getStoreConfigFlag('mana_filters/display/hide_filters_with_single_visible_item'))
95
  {
96
  return 0;
143
  }
144
 
145
  public function getListItemClass($item) {
146
+ return Mage::helper('mana_filters')->getListItemClass($item);
 
 
 
 
 
 
 
 
 
 
 
 
 
147
  }
148
 
149
  #region Dependencies
app/code/local/Mana/Filters/Block/Layer.php CHANGED
@@ -14,7 +14,7 @@ class Mana_Filters_Block_Layer extends Mage_Core_Block_Template {
14
  {
15
  $category = Mage::getModel('catalog/category')->load($id);
16
  if ($category->getId()) {
17
- Mage::getSingleton('catalog/layer')->setCurrentCategory($category);
18
  }
19
  }
20
  }
14
  {
15
  $category = Mage::getModel('catalog/category')->load($id);
16
  if ($category->getId()) {
17
+ Mage::helper('mana_filters')->getLayer()->setCurrentCategory($category);
18
  }
19
  }
20
  }
app/code/local/Mana/Filters/Block/State.php CHANGED
@@ -17,6 +17,9 @@ class Mana_Filters_Block_State extends Mage_Catalog_Block_Layer_State {
17
  foreach ($this->getActiveFilters() as $item) {
18
  $query[$item->getFilter()->getRequestVar()] = $item->getFilter()->getResetValue();
19
  }
 
 
 
20
  $params = array('_secure' => Mage::app()->getFrontController()->getRequest()->isSecure());
21
  $params['_current'] = true;
22
  $params['_use_rewrite'] = true;
@@ -62,4 +65,21 @@ class Mana_Filters_Block_State extends Mage_Catalog_Block_Layer_State {
62
  }
63
  return false;
64
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  }
17
  foreach ($this->getActiveFilters() as $item) {
18
  $query[$item->getFilter()->getRequestVar()] = $item->getFilter()->getResetValue();
19
  }
20
+ if ($this->coreHelper()->isSpecialPagesInstalled()) {
21
+ $query[$this->specialPageHelper()->getRequestVar()] = null;
22
+ }
23
  $params = array('_secure' => Mage::app()->getFrontController()->getRequest()->isSecure());
24
  $params['_current'] = true;
25
  $params['_use_rewrite'] = true;
65
  }
66
  return false;
67
  }
68
+
69
+ #region Dependencies
70
+
71
+ /**
72
+ * @return Mana_Core_Helper_Data
73
+ */
74
+ public function coreHelper() {
75
+ return Mage::helper('mana_core');
76
+ }
77
+
78
+ /**
79
+ * @return Mana_Page_Helper_Special
80
+ */
81
+ public function specialPageHelper() {
82
+ return Mage::helper('mana_page/special');
83
+ }
84
+ #endregion
85
  }
app/code/local/Mana/Filters/Helper/Data.php CHANGED
@@ -133,6 +133,9 @@ class Mana_Filters_Helper_Data extends Mana_Core_Helper_Layer {
133
  foreach ($this->getLayer()->getState()->getFilters() as $item) {
134
  $filterState[$item->getFilter()->getRequestVar()] = $item->getFilter()->getCleanValue();
135
  }
 
 
 
136
  if ($clearListParams) {
137
  $filterState = array_merge($filterState, array(
138
  'dir' => null,
@@ -453,6 +456,33 @@ class Mana_Filters_Helper_Data extends Mana_Core_Helper_Layer {
453
  );
454
  }
455
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
456
 
457
  #region Dependencies
458
 
@@ -463,5 +493,11 @@ class Mana_Filters_Helper_Data extends Mana_Core_Helper_Layer {
463
  return Mage::helper('mana_core');
464
  }
465
 
 
 
 
 
 
 
466
  #endregion
467
  }
133
  foreach ($this->getLayer()->getState()->getFilters() as $item) {
134
  $filterState[$item->getFilter()->getRequestVar()] = $item->getFilter()->getCleanValue();
135
  }
136
+ if ($this->coreHelper()->isSpecialPagesInstalled()) {
137
+ $filterState[$this->specialPageHelper()->getRequestVar()] = null;
138
+ }
139
  if ($clearListParams) {
140
  $filterState = array_merge($filterState, array(
141
  'dir' => null,
456
  );
457
  }
458
 
459
+ public function getSpecialOptionData($code) {
460
+ if ($this->coreHelper()->isSpecialPagesInstalled()) {
461
+ $data = $this->specialPageHelper()->getOptionData($code);
462
+ usort($data, array(Mage::getSingleton('mana_filters/sort'), 'byPosition'));
463
+ return $data;
464
+ }
465
+ else {
466
+ return array();
467
+ }
468
+ }
469
+
470
+ public function getListItemClass($item) {
471
+ $result = '';
472
+ if ($item->getMShowSelected()) {
473
+ $result .= 'm-selected-ln-item';
474
+ }
475
+ if (!($item->getCount() || $item->getMSelected())) {
476
+ if ($result) {
477
+ $result .= ' ';
478
+ }
479
+ $result .= 'm-disabled';
480
+ }
481
+ if ($result) {
482
+ $result = "class=\"$result\"";
483
+ }
484
+ return $result;
485
+ }
486
 
487
  #region Dependencies
488
 
493
  return Mage::helper('mana_core');
494
  }
495
 
496
+ /**
497
+ * @return Mana_Page_Helper_Special
498
+ */
499
+ public function specialPageHelper() {
500
+ return Mage::helper('mana_page/special');
501
+ }
502
  #endregion
503
  }
app/code/local/Mana/Filters/Model/Filter/Attribute.php CHANGED
@@ -56,6 +56,9 @@ class Mana_Filters_Model_Filter_Attribute
56
  /* @var $query Mana_Filters_Model_Query */
57
  $query = $this->getQuery();
58
 
 
 
 
59
  // MANA BEGIN: from url, retrieve ids of all options currently selected
60
  $selectedOptionIds = $this->getMSelectedValues();
61
  // MANA END
@@ -67,7 +70,8 @@ class Mana_Filters_Model_Filter_Attribute
67
  $data = $this->getLayer()->getAggregator()->getCacheData($key);
68
 
69
  if ($data === null && $this->itemHelper()->isEnabled() &&
70
- $this->_getIsFilterable() == self::OPTIONS_ONLY_WITH_RESULTS)
 
71
  {
72
  $data = $query->getFilterCounts($this->getFilterOptions()->getCode());
73
  }
@@ -118,6 +122,10 @@ class Mana_Filters_Model_Filter_Attribute
118
  foreach (array_keys($data) as $position => $key) {
119
  $data[$key]['position'] = $position;
120
  }
 
 
 
 
121
  usort($data, array(Mage::getSingleton('mana_filters/sort'), $sortMethod));
122
 
123
  $this->getLayer()->getAggregator()->saveCacheData($data, $key, $tags);
@@ -299,6 +307,10 @@ class Mana_Filters_Model_Filter_Attribute
299
 
300
  public function getRemoveUrl()
301
  {
 
 
 
 
302
  $query = array($this->getRequestVar() => $this->getResetValue());
303
  if ($this->coreHelper()->isManadevDependentFilterInstalled()) {
304
  $query = $this->dependentHelper()->removeDependentFiltersFromUrl($query, $this->getRequestVar());
@@ -339,6 +351,11 @@ class Mana_Filters_Model_Filter_Attribute
339
  return $values ? array_filter(explode('_', $values)) : array();
340
  }
341
  #endregion
 
 
 
 
 
342
  #region Dependencies
343
 
344
  /**
@@ -361,5 +378,12 @@ class Mana_Filters_Model_Filter_Attribute
361
  public function itemHelper() {
362
  return Mage::helper('mana_filters/item');
363
  }
 
 
 
 
 
 
 
364
  #endregion
365
  }
56
  /* @var $query Mana_Filters_Model_Query */
57
  $query = $this->getQuery();
58
 
59
+ /* @var $helper Mana_Filters_Helper_Data */
60
+ $helper = Mage::helper('mana_filters');
61
+
62
  // MANA BEGIN: from url, retrieve ids of all options currently selected
63
  $selectedOptionIds = $this->getMSelectedValues();
64
  // MANA END
70
  $data = $this->getLayer()->getAggregator()->getCacheData($key);
71
 
72
  if ($data === null && $this->itemHelper()->isEnabled() &&
73
+ $this->_getIsFilterable() == self::OPTIONS_ONLY_WITH_RESULTS &&
74
+ !$helper->useSolr())
75
  {
76
  $data = $query->getFilterCounts($this->getFilterOptions()->getCode());
77
  }
122
  foreach (array_keys($data) as $position => $key) {
123
  $data[$key]['position'] = $position;
124
  }
125
+ if ($this->_addSpecialOptionsToAllOptions()) {
126
+ $data = array_merge($data, Mage::helper('mana_filters')->getSpecialOptionData($this->getFilterOptions()->getCode()));
127
+ }
128
+
129
  usort($data, array(Mage::getSingleton('mana_filters/sort'), $sortMethod));
130
 
131
  $this->getLayer()->getAggregator()->saveCacheData($data, $key, $tags);
307
 
308
  public function getRemoveUrl()
309
  {
310
+ if ($this->coreHelper()->isSpecialPagesInstalled() && $this->specialPageHelper()->isAppliedInFilter($this->getRequestVar())) {
311
+ return $this->specialPageHelper()->getClearFilterUrl($this->getRequestVar());
312
+ }
313
+
314
  $query = array($this->getRequestVar() => $this->getResetValue());
315
  if ($this->coreHelper()->isManadevDependentFilterInstalled()) {
316
  $query = $this->dependentHelper()->removeDependentFiltersFromUrl($query, $this->getRequestVar());
351
  return $values ? array_filter(explode('_', $values)) : array();
352
  }
353
  #endregion
354
+
355
+ protected function _addSpecialOptionsToAllOptions() {
356
+ return true;
357
+ }
358
+
359
  #region Dependencies
360
 
361
  /**
378
  public function itemHelper() {
379
  return Mage::helper('mana_filters/item');
380
  }
381
+
382
+ /**
383
+ * @return Mana_Page_Helper_Special
384
+ */
385
+ public function specialPageHelper() {
386
+ return Mage::helper('mana_page/special');
387
+ }
388
  #endregion
389
  }
app/code/local/Mana/Filters/Model/Filter/Category.php CHANGED
@@ -15,6 +15,8 @@ class Mana_Filters_Model_Filter_Category
15
  extends Mage_Catalog_Model_Layer_Filter_Category
16
  implements Mana_Filters_Interface_Filter
17
  {
 
 
18
  #region Category Specific logic
19
  protected $_countedCategories;
20
 
@@ -22,7 +24,7 @@ class Mana_Filters_Model_Filter_Category
22
  public function getCountedCategories() {
23
  if (!$this->_countedCategories) {
24
  $category = $this->isApplied() ? $this->getAppliedCategory() : $this->getCategory();
25
- $this->_countedCategories = $category->getChildrenCategories();
26
  }
27
  return $this->_countedCategories;
28
  }
@@ -336,6 +338,57 @@ class Mana_Filters_Model_Filter_Category
336
  return null;
337
  }
338
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
339
  #region Dependencies
340
 
341
  /**
15
  extends Mage_Catalog_Model_Layer_Filter_Category
16
  implements Mana_Filters_Interface_Filter
17
  {
18
+ const GET_ALL_CHILDREN_RECURSIVELY = 'recursive';
19
+ const GET_ALL_DIRECT_CHILDREN = 'direct';
20
  #region Category Specific logic
21
  protected $_countedCategories;
22
 
24
  public function getCountedCategories() {
25
  if (!$this->_countedCategories) {
26
  $category = $this->isApplied() ? $this->getAppliedCategory() : $this->getCategory();
27
+ $this->_countedCategories = $this->getChildrenCollection($category, self::GET_ALL_DIRECT_CHILDREN);
28
  }
29
  return $this->_countedCategories;
30
  }
338
  return null;
339
  }
340
 
341
+ public function getChildrenCollection($category, $mode) {
342
+
343
+ /* @var $resource Mage_Catalog_Model_Resource_Eav_Mysql4_Category */
344
+ $resource = $category->getResource();
345
+
346
+ $categoryIds = array();
347
+ switch ($mode) {
348
+ case self::GET_ALL_CHILDREN_RECURSIVELY:
349
+ $categoryIds = $resource->getChildren($category, true);
350
+ break;
351
+ case self::GET_ALL_DIRECT_CHILDREN:
352
+ $categoryIds = $resource->getChildren($category, false);
353
+ break;
354
+ }
355
+
356
+ $collection = $category->getCollection();
357
+
358
+ /* @var $_conn Varien_Db_Adapter_Pdo_Mysql */
359
+ $_conn = $collection->getConnection();
360
+
361
+ /* @var $collection Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection */
362
+ if (Mage::helper('catalog/category_flat')->isEnabled()) {
363
+ $storeId = $category->getStoreId();
364
+ $collection->getSelect()
365
+ ->reset(Zend_Db_Select::COLUMNS)
366
+ ->columns('main_table.*')
367
+ ->joinLeft(
368
+ array('url_rewrite' => $collection->getTable('core/url_rewrite')),
369
+ 'url_rewrite.category_id=main_table.entity_id AND url_rewrite.is_system=1 AND ' .
370
+ $_conn->quoteInto(
371
+ 'url_rewrite.product_id IS NULL AND url_rewrite.store_id=? AND url_rewrite.id_path LIKE "category/%"',
372
+ $storeId),
373
+ array('request_path' => 'url_rewrite.request_path'));
374
+ }
375
+ else {
376
+ $collection
377
+ ->addAttributeToSelect('url_key')
378
+ ->addAttributeToSelect('name')
379
+ ->addAttributeToSelect('all_children')
380
+ ->addAttributeToSelect('is_anchor')
381
+ ->joinUrlRewrite();
382
+ }
383
+ $collection
384
+ ->addAttributeToFilter('is_active', 1)
385
+ ->addIdFilter($categoryIds)
386
+ ->setOrder('position', 'ASC')
387
+ ->load();
388
+
389
+ return $collection;
390
+ }
391
+
392
  #region Dependencies
393
 
394
  /**
app/code/local/Mana/Filters/Model/Filter/Decimal.php CHANGED
@@ -82,9 +82,27 @@ class Mana_Filters_Model_Filter_Decimal
82
  );
83
  }
84
 
 
 
 
 
85
  return $data;
86
  }
87
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  public function getLowestPossibleValue()
89
  {
90
  return (int)$this->getMinValue();
@@ -250,6 +268,10 @@ class Mana_Filters_Model_Filter_Decimal
250
 
251
  public function getRemoveUrl()
252
  {
 
 
 
 
253
  $query = array($this->getRequestVar() => $this->getResetValue());
254
  if ($this->coreHelper()->isManadevDependentFilterInstalled()) {
255
  $query = $this->dependentHelper()->removeDependentFiltersFromUrl($query, $this->getRequestVar());
@@ -454,6 +476,11 @@ class Mana_Filters_Model_Filter_Decimal
454
  return $this->_getResource()->isUpperBoundInclusive();
455
  }
456
  #endregion
 
 
 
 
 
457
  #region Dependencies
458
 
459
  /**
@@ -470,5 +497,11 @@ class Mana_Filters_Model_Filter_Decimal
470
  return Mage::helper('manapro_filterdependent');
471
  }
472
 
 
 
 
 
 
 
473
  #endregion
474
  }
82
  );
83
  }
84
 
85
+ if ($this->_addSpecialOptionsToAllOptions()) {
86
+ $data = array_merge($data, Mage::helper('mana_filters')->getSpecialOptionData($this->getFilterOptions()->getCode()));
87
+ }
88
+
89
  return $data;
90
  }
91
 
92
+ protected $_specialItems;
93
+ public function getSpecialItems()
94
+ {
95
+ if (!$this->_specialItems) {
96
+ $this->_specialItems = array();
97
+ if (!$this->_addSpecialOptionsToAllOptions()) {
98
+ foreach (Mage::helper('mana_filters')->getSpecialOptionData($this->getFilterOptions()->getCode()) as $itemData) {
99
+ $this->_specialItems[] = $this->_createItemEx($itemData);
100
+ }
101
+ }
102
+ }
103
+ return $this->_specialItems;
104
+ }
105
+
106
  public function getLowestPossibleValue()
107
  {
108
  return (int)$this->getMinValue();
268
 
269
  public function getRemoveUrl()
270
  {
271
+ if ($this->coreHelper()->isSpecialPagesInstalled() && $this->specialPageHelper()->isAppliedInFilter($this->getRequestVar())) {
272
+ return $this->specialPageHelper()->getClearFilterUrl($this->getRequestVar());
273
+ }
274
+
275
  $query = array($this->getRequestVar() => $this->getResetValue());
276
  if ($this->coreHelper()->isManadevDependentFilterInstalled()) {
277
  $query = $this->dependentHelper()->removeDependentFiltersFromUrl($query, $this->getRequestVar());
476
  return $this->_getResource()->isUpperBoundInclusive();
477
  }
478
  #endregion
479
+
480
+ protected function _addSpecialOptionsToAllOptions() {
481
+ return true;
482
+ }
483
+
484
  #region Dependencies
485
 
486
  /**
497
  return Mage::helper('manapro_filterdependent');
498
  }
499
 
500
+ /**
501
+ * @return Mana_Page_Helper_Special
502
+ */
503
+ public function specialPageHelper() {
504
+ return Mage::helper('mana_page/special');
505
+ }
506
  #endregion
507
  }
app/code/local/Mana/Filters/Model/Filter/Price.php CHANGED
@@ -80,9 +80,26 @@ class Mana_Filters_Model_Filter_Price
80
  );
81
  }
82
 
 
 
 
83
  return $data;
84
  }
85
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  public function getLowestPossibleValue() {
87
  return 0;
88
  }
@@ -275,6 +292,10 @@ class Mana_Filters_Model_Filter_Price
275
 
276
  public function getRemoveUrl()
277
  {
 
 
 
 
278
  $query = array($this->getRequestVar() => $this->getResetValue());
279
  if ($this->coreHelper()->isManadevDependentFilterInstalled()) {
280
  $query = $this->dependentHelper()->removeDependentFiltersFromUrl($query, $this->getRequestVar());
@@ -438,6 +459,11 @@ class Mana_Filters_Model_Filter_Price
438
  }
439
  #endregion
440
 
 
 
 
 
 
441
  #region Dependencies
442
 
443
  /**
@@ -454,5 +480,11 @@ class Mana_Filters_Model_Filter_Price
454
  return Mage::helper('manapro_filterdependent');
455
  }
456
 
 
 
 
 
 
 
457
  #endregion
458
  }
80
  );
81
  }
82
 
83
+ if ($this->_addSpecialOptionsToAllOptions()) {
84
+ $data = array_merge($data, Mage::helper('mana_filters')->getSpecialOptionData($this->getFilterOptions()->getCode()));
85
+ }
86
  return $data;
87
  }
88
 
89
+ protected $_specialItems;
90
+ public function getSpecialItems()
91
+ {
92
+ if (!$this->_specialItems) {
93
+ $this->_specialItems = array();
94
+ if (!$this->_addSpecialOptionsToAllOptions()) {
95
+ foreach (Mage::helper('mana_filters')->getSpecialOptionData($this->getFilterOptions()->getCode()) as $itemData) {
96
+ $this->_specialItems[] = $this->_createItemEx($itemData);
97
+ }
98
+ }
99
+ }
100
+ return $this->_specialItems;
101
+ }
102
+
103
  public function getLowestPossibleValue() {
104
  return 0;
105
  }
292
 
293
  public function getRemoveUrl()
294
  {
295
+ if ($this->coreHelper()->isSpecialPagesInstalled() && $this->specialPageHelper()->isAppliedInFilter($this->getRequestVar())) {
296
+ return $this->specialPageHelper()->getClearFilterUrl($this->getRequestVar());
297
+ }
298
+
299
  $query = array($this->getRequestVar() => $this->getResetValue());
300
  if ($this->coreHelper()->isManadevDependentFilterInstalled()) {
301
  $query = $this->dependentHelper()->removeDependentFiltersFromUrl($query, $this->getRequestVar());
459
  }
460
  #endregion
461
 
462
+ protected function _addSpecialOptionsToAllOptions() {
463
+ return true;
464
+ }
465
+
466
+
467
  #region Dependencies
468
 
469
  /**
480
  return Mage::helper('manapro_filterdependent');
481
  }
482
 
483
+ /**
484
+ * @return Mana_Page_Helper_Special
485
+ */
486
+ public function specialPageHelper() {
487
+ return Mage::helper('mana_page/special');
488
+ }
489
  #endregion
490
  }
app/code/local/Mana/Filters/Model/Item.php CHANGED
@@ -25,6 +25,10 @@ class Mana_Filters_Model_Item extends Mage_Catalog_Model_Layer_Filter_Item {
25
  */
26
  public function getUrl()
27
  {
 
 
 
 
28
  // MANA BEGIN: add multivalue filter handling
29
  $values = $this->getFilter()->getMSelectedValues(); // this could fail if called from some kind of standard filter
30
  if (!$values) $values = array();
@@ -53,6 +57,12 @@ class Mana_Filters_Model_Item extends Mage_Catalog_Model_Layer_Filter_Item {
53
  */
54
  public function getReplaceUrl()
55
  {
 
 
 
 
 
 
56
  // MANA BEGIN: add multivalue filter handling
57
  $values = array();
58
  if (!in_array($this->getValue(), $values)) $values[] = $this->getValue();
@@ -79,6 +89,10 @@ class Mana_Filters_Model_Item extends Mage_Catalog_Model_Layer_Filter_Item {
79
  */
80
  public function getRemoveUrl()
81
  {
 
 
 
 
82
  // MANA BEGIN: add multivalue filter handling
83
  if ($this->hasData('remove_url')) {
84
  return $this->getData('remove_url');
@@ -139,13 +153,20 @@ class Mana_Filters_Model_Item extends Mage_Catalog_Model_Layer_Filter_Item {
139
  ) {
140
  /* @var $url Mana_Seo_Rewrite_Url */
141
  $url = Mage::getModel('core/url');
142
- $this->_seoData = $url->getItemData($this->getFilter()->getRequestVar(), $this->getValue());
 
 
 
 
 
 
143
  }
144
  else {
145
  $this->_seoData = array(
146
  'url' => $this->getValue(),
147
  'prefix' => '',
148
  'position' => 0,
 
149
  'id' => $this->getValue(),
150
  );
151
  }
@@ -179,5 +200,11 @@ class Mana_Filters_Model_Item extends Mage_Catalog_Model_Layer_Filter_Item {
179
  return Mage::helper('manapro_filterdependent');
180
  }
181
 
 
 
 
 
 
 
182
  #endregion
183
  }
25
  */
26
  public function getUrl()
27
  {
28
+ if ($this->coreHelper()->isSpecialPagesInstalled() && $this->getData('special')) {
29
+ return $this->specialPageHelper()->getItemAddToFilterUrl($this);
30
+ }
31
+
32
  // MANA BEGIN: add multivalue filter handling
33
  $values = $this->getFilter()->getMSelectedValues(); // this could fail if called from some kind of standard filter
34
  if (!$values) $values = array();
57
  */
58
  public function getReplaceUrl()
59
  {
60
+ if ($this->coreHelper()->isSpecialPagesInstalled() &&
61
+ ($this->getData('special') || $this->specialPageHelper()->isAppliedInFilter($this->getFilter()->getRequestVar())))
62
+ {
63
+ return $this->specialPageHelper()->getItemReplaceInFilterUrl($this, $this->getFilter()->getRequestVar());
64
+ }
65
+
66
  // MANA BEGIN: add multivalue filter handling
67
  $values = array();
68
  if (!in_array($this->getValue(), $values)) $values[] = $this->getValue();
89
  */
90
  public function getRemoveUrl()
91
  {
92
+ if ($this->coreHelper()->isSpecialPagesInstalled() && $this->getData('special')) {
93
+ return $this->specialPageHelper()->getItemRemoveFromFilterUrl($this);
94
+ }
95
+
96
  // MANA BEGIN: add multivalue filter handling
97
  if ($this->hasData('remove_url')) {
98
  return $this->getData('remove_url');
153
  ) {
154
  /* @var $url Mana_Seo_Rewrite_Url */
155
  $url = Mage::getModel('core/url');
156
+ $requestVar = $this->getFilter()->getRequestVar();
157
+ if ($this->coreHelper()->isSpecialPagesInstalled()) {
158
+ if ($this->getData('special')) {
159
+ $requestVar = $this->specialPageHelper()->getRequestVar();
160
+ }
161
+ }
162
+ $this->_seoData = $url->getItemData($requestVar, $this->getValue());
163
  }
164
  else {
165
  $this->_seoData = array(
166
  'url' => $this->getValue(),
167
  'prefix' => '',
168
  'position' => 0,
169
+ 'special' => $this->getData('special'),
170
  'id' => $this->getValue(),
171
  );
172
  }
200
  return Mage::helper('manapro_filterdependent');
201
  }
202
 
203
+ /**
204
+ * @return Mana_Page_Helper_Special
205
+ */
206
+ public function specialPageHelper() {
207
+ return Mage::helper('mana_page/special');
208
+ }
209
  #endregion
210
  }
app/code/local/Mana/Filters/Model/Query.php CHANGED
@@ -69,6 +69,9 @@ class Mana_Filters_Model_Query extends Varien_Object
69
  }
70
 
71
  public function apply() {
 
 
 
72
  foreach ($this->_filters as $code => $filter) {
73
  if (!$filter['isApplyProcessed']) {
74
  $model = $filter['model'];
@@ -89,6 +92,7 @@ class Mana_Filters_Model_Query extends Varien_Object
89
  $this->_filters[$code]['isApplyProcessed'] = true;
90
  }
91
  }
 
92
  return $this;
93
  }
94
 
@@ -190,5 +194,18 @@ class Mana_Filters_Model_Query extends Varien_Object
190
  return Mage::helper('mana_filters');
191
  }
192
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  #endregion
194
  }
69
  }
70
 
71
  public function apply() {
72
+ if ($this->coreHelper()->isSpecialPagesInstalled()) {
73
+ $this->specialPageHelper()->registerSpecialFilters($this);
74
+ }
75
  foreach ($this->_filters as $code => $filter) {
76
  if (!$filter['isApplyProcessed']) {
77
  $model = $filter['model'];
92
  $this->_filters[$code]['isApplyProcessed'] = true;
93
  }
94
  }
95
+
96
  return $this;
97
  }
98
 
194
  return Mage::helper('mana_filters');
195
  }
196
 
197
+ /**
198
+ * @return Mana_Core_Helper_Data
199
+ */
200
+ public function coreHelper() {
201
+ return Mage::helper('mana_core');
202
+ }
203
+
204
+ /**
205
+ * @return Mana_Page_Helper_Special
206
+ */
207
+ public function specialPageHelper() {
208
+ return Mage::helper('mana_page/special');
209
+ }
210
  #endregion
211
  }
app/code/local/Mana/Filters/Model/Solr/Adapter/HttpStream.php CHANGED
@@ -151,6 +151,19 @@ class Mana_Filters_Model_Solr_Adapter_HttpStream extends Enterprise_Search_Model
151
  }
152
  return $result;
153
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  #region Dependencies
155
 
156
  /**
151
  }
152
  return $result;
153
  }
154
+
155
+ function _prepareSortFields($sortBy) {
156
+ $unsetCurrentCategory = false;
157
+ if (!Mage::registry('current_category')) {
158
+ $unsetCurrentCategory = true;
159
+ Mage::register('current_category', Mage::helper('mana_core')->getRootCategory());
160
+ }
161
+ $result = parent::_prepareSortFields($sortBy);
162
+ if ($unsetCurrentCategory) {
163
+ Mage::unregister('current_category');
164
+ }
165
+ return $result;
166
+ }
167
  #region Dependencies
168
 
169
  /**
app/code/local/Mana/Filters/Model/Solr/Adapter/PhpExtension.php CHANGED
@@ -83,4 +83,16 @@ class Mana_Filters_Model_Solr_Adapter_PhpExtension extends Enterprise_Search_Mod
83
  }
84
  return $result;
85
  }
 
 
 
 
 
 
 
 
 
 
 
 
86
  }
83
  }
84
  return $result;
85
  }
86
+ function _prepareSortFields($sortBy) {
87
+ $unsetCurrentCategory = false;
88
+ if (!Mage::registry('current_category')) {
89
+ $unsetCurrentCategory = true;
90
+ Mage::register('current_category', Mage::helper('mana_core')->getRootCategory());
91
+ }
92
+ $result = parent::_prepareSortFields($sortBy);
93
+ if ($unsetCurrentCategory) {
94
+ Mage::unregister('current_category');
95
+ }
96
+ return $result;
97
+ }
98
  }
app/code/local/Mana/Filters/Model/Solr/Price.php CHANGED
@@ -59,10 +59,12 @@ class Mana_Filters_Model_Solr_Price extends Mana_Filters_Model_Filter_Price
59
  if (!empty($facets)) {
60
  foreach ($facets as $key => $value) {
61
  preg_match('/TO ([\d\.]+)\]$/', $key, $rangeKey);
62
- $rangeKey = $rangeKey[1] / $this->getPriceRange();
63
  $rangeKey = round($rangeKey);
64
- /** @noinspection PhpIllegalArrayKeyTypeInspection */
65
- $result[$rangeKey] = $value;
 
 
66
  }
67
  }
68
  return $result;
@@ -82,8 +84,10 @@ class Mana_Filters_Model_Solr_Price extends Mana_Filters_Model_Filter_Price
82
  if (strpos($selection, ',') !== false) {
83
  list($index, $range) = explode(',', $selection);
84
  $range = $this->_getResource()->getPriceRange($index, $range);
 
 
85
  $to = $range['to'];
86
- if ($to < $this->getMaxPriceInt() && !$this->isUpperBoundInclusive()) {
87
  $to -= 0.001;
88
  }
89
 
59
  if (!empty($facets)) {
60
  foreach ($facets as $key => $value) {
61
  preg_match('/TO ([\d\.]+)\]$/', $key, $rangeKey);
62
+ $rangeKey = $rangeKey[1] * $this->getCurrencyRate() / $this->getPriceRange();
63
  $rangeKey = round($rangeKey);
64
+ if ($value > 0) {
65
+ /** @noinspection PhpIllegalArrayKeyTypeInspection */
66
+ $result[$rangeKey] = $value;
67
+ }
68
  }
69
  }
70
  return $result;
84
  if (strpos($selection, ',') !== false) {
85
  list($index, $range) = explode(',', $selection);
86
  $range = $this->_getResource()->getPriceRange($index, $range);
87
+ $range['from'] /= $this->getCurrencyRate();
88
+ $range['to'] /= $this->getCurrencyRate();
89
  $to = $range['to'];
90
+ if ($to < $this->getMaxPriceInt() / $this->getCurrencyRate() && !$this->isUpperBoundInclusive()) {
91
  $to -= 0.001;
92
  }
93
 
app/code/local/Mana/Filters/Model/Source/Filter.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @category Mana
4
+ * @package ManaPro_FilterDependent
5
+ * @copyright Copyright (c) http://www.manadev.com
6
+ * @license http://www.manadev.com/license Proprietary License
7
+ */
8
+ /**
9
+ * @author Mana Team
10
+ *
11
+ */
12
+ class Mana_Filters_Model_Source_Filter extends Mana_Core_Model_Source_Abstract {
13
+ protected $_currentFilterId;
14
+ protected $_noEmptyValue = false;
15
+ protected $_excluded = array();
16
+
17
+ public function setCurrentFilterId($value) {
18
+ $this->_currentFilterId = $value;
19
+ return $this;
20
+ }
21
+
22
+ public function setNoEmptyValue($value) {
23
+ $this->_noEmptyValue = $value;
24
+
25
+ return $this;
26
+ }
27
+
28
+ public function exclude($code) {
29
+ $this->_excluded[$code] = $code;
30
+ return $this;
31
+ }
32
+
33
+ protected function _getAllOptions() {
34
+ $result = $this->_noEmptyValue ? array() : array(array('value' => '', 'label' => ''));
35
+
36
+ if ($this->adminHelper()->isGlobal()) {
37
+ $collection = $this->getGlobalFilterCollection();
38
+
39
+ $select = $collection->getSelect()
40
+ ->reset(Varien_Db_Select::COLUMNS)
41
+ ->columns(array('id', 'name'));
42
+ }
43
+ else {
44
+ $collection = $this->getStoreLevelFilterCollection()
45
+ ->addStoreFilter($this->adminHelper()->getStore());
46
+ $select = $collection->getSelect()
47
+ ->reset(Varien_Db_Select::COLUMNS)
48
+ ->columns(array('global_id', 'name'));
49
+ Mage::helper('mana_db')->joinLeft($select,
50
+ 'global', Mage::getSingleton('core/resource')->getTableName('mana_filters/filter2'),
51
+ 'main_table.global_id = global.id');
52
+ }
53
+ if ($this->_currentFilterId) {
54
+ $collection->addFieldToFilter('id', array('neq' => $this->_currentFilterId));
55
+ }
56
+
57
+ if (count($this->_excluded)) {
58
+ $collection->addFieldToFilter('code', array('nin' => $this->_excluded));
59
+ }
60
+ $data = $collection->getConnection()->fetchPairs($select);
61
+ foreach ($data as $value => $label) {
62
+ $result[] = array('value' => $value, 'label' => $label);
63
+ }
64
+
65
+ return $result;
66
+ }
67
+
68
+ #region Dependencies
69
+
70
+ /**
71
+ * @return Mana_Admin_Helper_Data
72
+ */
73
+ public function adminHelper() {
74
+ return Mage::helper('mana_admin');
75
+ }
76
+
77
+ /**
78
+ * @return Mana_Filters_Resource_Filter2_Collection
79
+ */
80
+ public function getGlobalFilterCollection() {
81
+ return Mage::getResourceModel('mana_filters/filter2_collection');
82
+ }
83
+
84
+ /**
85
+ * @return Mana_Filters_Resource_Filter2_Store_Collection
86
+ */
87
+ public function getStoreLevelFilterCollection() {
88
+ return Mage::getResourceModel('mana_filters/filter2_store_collection');
89
+ }
90
+ #endregion
91
+ }
app/code/local/Mana/Filters/Resource/Filter/Attribute.php CHANGED
@@ -110,10 +110,10 @@ class Mana_Filters_Resource_Filter_Attribute
110
 
111
  $tableAlias = $attribute->getAttributeCode() . '_idx';
112
  $conditions = array(
113
- "{$tableAlias}.entity_id = e.entity_id",
114
- $connection->quoteInto("{$tableAlias}.attribute_id = ?", $attribute->getAttributeId()),
115
- $connection->quoteInto("{$tableAlias}.store_id = ?", $collection->getStoreId()),
116
- "{$tableAlias}.value in (" . implode(',', array_filter($value)) . ")"
117
  );
118
  $conditions = join(' AND ', $conditions);
119
  $collection->getSelect()
110
 
111
  $tableAlias = $attribute->getAttributeCode() . '_idx';
112
  $conditions = array(
113
+ "`{$tableAlias}`.entity_id = e.entity_id",
114
+ $connection->quoteInto("`{$tableAlias}`.attribute_id = ?", $attribute->getAttributeId()),
115
+ $connection->quoteInto("`{$tableAlias}`.store_id = ?", $collection->getStoreId()),
116
+ "`{$tableAlias}`.value in (" . implode(',', array_filter($value)) . ")"
117
  );
118
  $conditions = join(' AND ', $conditions);
119
  $collection->getSelect()
app/code/local/Mana/Filters/Resource/Filter/Price.php CHANGED
@@ -111,7 +111,7 @@ class Mana_Filters_Resource_Filter_Price extends Mage_Catalog_Model_Resource_Eav
111
  'range' => $rangeExpr,
112
  'count' => $countExpr
113
  ));
114
- $select->group($rangeExpr)->order("$rangeExpr ASC");
115
 
116
  Mage::helper('mana_filters')->resetProductCollectionWhereClause($select);
117
  $select->where("{$table}.min_price > 0");
@@ -137,12 +137,12 @@ class Mana_Filters_Resource_Filter_Price extends Mage_Catalog_Model_Resource_Eav
137
  ));
138
 
139
  // MANA BEGIN: make sure price filter is not applied
140
- Mage::helper('mana_filters')->resetProductCollectionWhereClause($select);
141
  // MANA END
142
 
143
  $select->where("{$table}.min_price > 0");
144
  $select->group('range');
145
-
146
  return $connection->fetchPairs($select);
147
  }
148
  }
111
  'range' => $rangeExpr,
112
  'count' => $countExpr
113
  ));
114
+ $select->group($rangeExpr)->order($rangeExpr);
115
 
116
  Mage::helper('mana_filters')->resetProductCollectionWhereClause($select);
117
  $select->where("{$table}.min_price > 0");
137
  ));
138
 
139
  // MANA BEGIN: make sure price filter is not applied
140
+ //Mage::helper('mana_filters')->resetProductCollectionWhereClause($select);
141
  // MANA END
142
 
143
  $select->where("{$table}.min_price > 0");
144
  $select->group('range');
145
+ $sql = $select->__toString();
146
  return $connection->fetchPairs($select);
147
  }
148
  }
app/code/local/Mana/Filters/etc/config.xml CHANGED
@@ -12,7 +12,7 @@
12
  <Mana_Filters>
13
  <!-- This version number identifies version of database tables specific to this extension. It is written to
14
  core_resource table. -->
15
- <version>14.06.13.09</version>
16
  </Mana_Filters>
17
  </modules>
18
 
12
  <Mana_Filters>
13
  <!-- This version number identifies version of database tables specific to this extension. It is written to
14
  core_resource table. -->
15
+ <version>14.11.25.15</version>
16
  </Mana_Filters>
17
  </modules>
18
 
app/design/frontend/base/default/template/mana/filters/items/list_special.phtml ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @category Mana
4
+ * @package Mana_Filters
5
+ * @copyright Copyright (c) http://www.manadev.com
6
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
7
+ */
8
+ /**
9
+ * Template for showing options for filter as a HTML list
10
+ * @author Mana Team
11
+ * Injected instead of standard catalog/layer/filter.phtml in Mana_Filters_Block_Filter_Attribute constructor.
12
+ * This template is overridden by copying (template body was pasted from catalog/layer/filter.phtml
13
+ * and modified as needed). All changes are marked with comments.
14
+ */
15
+ /* @var $this Mage_Core_Block_Template */
16
+ ?>
17
+ <ol class="m-filter-item-list m-special-filters <?php echo $this->getFilterOptions()->getIsReverse() ? 'm-reverse' : '' ?>">
18
+ <?php foreach ($this->getFilter()->getSpecialItems() as $_item): ?>
19
+ <li <?php if ($_item->getMShowSelected()): ?>class="m-selected-ln-item"<?php endif; ?>>
20
+ <?php if ($_item->getMSelected()): ?>
21
+ <span class="m-selected-filter-item"><?php echo $this->escapeHtml($_item->getLabel()) ?></span>
22
+ <?php else : ?>
23
+ <?php if (!$this->getFilterOptions()->getDisableNoResultOptions() || $_item->getCount() > 0 || $_item->getMSelected()): ?>
24
+ <a href="<?php echo $this->urlEscape($_item->getUrl()) ?>" title="<?php echo $this->escapeHtml($_item->getLabel()) ?>"><?php echo $this->escapeHtml($_item->getLabel()) ?></a>
25
+ <?php else: echo $this->escapeHtml($_item->getLabel()) ?>
26
+ <?php endif; ?>
27
+ <?php endif; ?>
28
+ <?php if (Mage::getStoreConfigFlag('mana_filters/display/count')) : ?>
29
+ (<?php echo $_item->getCount() ?>)
30
+ <?php endif; ?>
31
+ </li>
32
+ <?php endforeach ?>
33
+ </ol>
app/design/frontend/base/default/template/mana/filters/state.phtml CHANGED
@@ -33,7 +33,7 @@
33
  <?php else : ?>
34
  <li>
35
  <a href="<?php echo $_filter->getRemoveUrl() ?>" title="<?php echo $this->__('Remove This Item') ?>" class="btn-remove"><?php echo $this->__('Remove This Item') ?></a>
36
- <span class="label"><?php echo $this->__($_filter->getName()) ?>:</span> <?php echo $_filter->getMShowSelected() ? $this->__('not') : '' ?> <?php echo $this->stripTags($_filter->getLabel()) ?>
37
  </li>
38
  <?php endif; ?>
39
  <?php endforeach; ?>
33
  <?php else : ?>
34
  <li>
35
  <a href="<?php echo $_filter->getRemoveUrl() ?>" title="<?php echo $this->__('Remove This Item') ?>" class="btn-remove"><?php echo $this->__('Remove This Item') ?></a>
36
+ <span class="label"><?php echo $this->__($_filter->getName()) ?>:</span> <?php echo $_filter->getMShowSelected() ? $this->__('not') : '' ?> <?php echo $this->escapeHtml($_filter->getLabel()) ?>
37
  </li>
38
  <?php endif; ?>
39
  <?php endforeach; ?>
js/jquery/history.adapter.jquery.js CHANGED
@@ -37,7 +37,10 @@
37
  * @return
38
  */
39
  trigger: function(el,event){
40
- jQuery(el).trigger(event);
 
 
 
41
  },
42
 
43
  /**
37
  * @return
38
  */
39
  trigger: function(el,event){
40
+ if (jQuery.mobile && jQuery.mobile.navigate && jQuery.mobile.navigate.navigator) {
41
+ jQuery.mobile.navigate.navigator.ignorePopState = true;
42
+ }
43
+ jQuery(el).trigger(event);
44
  },
45
 
46
  /**
js/mana/core.js CHANGED
@@ -7,8 +7,8 @@
7
 
8
  ; // make JS merging easier
9
 
10
-
11
-
12
  var Mana = Mana || {};
13
 
14
  (function($, $p, undefined) {
@@ -143,15 +143,16 @@ var Mana = Mana || {};
143
  });
144
  })(jQuery, $);
145
 
146
-
147
-
148
  /* Simple JavaScript Inheritance
149
  * By John Resig http://ejohn.org/
150
  * MIT Licensed.
151
  */
152
  // Inspired by base2 and Prototype
 
153
  (function (undefined) {
154
- var initializing = false, fnTest = /xyz/.test(function () { xyz;}) ? /\b_super\b/ : /.*/;
155
 
156
  // The base Class implementation (does nothing)
157
  Mana.Object = function () {
@@ -167,9 +168,9 @@ var Mana = Mana || {};
167
 
168
  // Instantiate a base class (but only create the instance,
169
  // don't run the init constructor)
170
- initializing = true;
171
  var prototype = new this();
172
- initializing = false;
173
 
174
  // Copy the properties over onto the new prototype
175
  for (var name in prop) {
@@ -201,11 +202,11 @@ var Mana = Mana || {};
201
  var Object;
202
  if (className === undefined) {
203
  // All construction is actually done in the init method
204
- Object = function Object() { if (!initializing && this._init) this._init.apply(this, arguments); };
205
  }
206
  else {
207
  // give constructor a meaningful name for easier debugging
208
- eval("Object = function " + className.replace(/\//g, '_') + "() { if (!initializing && this._init) this._init.apply(this, arguments); };");
209
  }
210
 
211
  // Populate our constructed prototype object
@@ -220,12 +221,12 @@ var Mana = Mana || {};
220
  return Object;
221
  };
222
  })();
223
-
224
-
225
  Mana.define('Mana/Core', ['jquery'], function ($) {
226
  return Mana.Object.extend('Mana/Core', {
227
- getClasses: function(element) {
228
- return element.className.split(/\s+/);
229
  },
230
  getPrefixedClass: function(element, prefix) {
231
  var result = '';
@@ -270,8 +271,8 @@ Mana.define('Mana/Core', ['jquery'], function ($) {
270
  }
271
  });
272
  });
273
-
274
-
275
  Mana.define('Mana/Core/Config', ['jquery'], function ($) {
276
  return Mana.Object.extend('Mana/Core/Config', {
277
  _init: function () {
@@ -300,8 +301,8 @@ Mana.define('Mana/Core/Config', ['jquery'], function ($) {
300
 
301
  });
302
  });
303
-
304
-
305
  Mana.define('Mana/Core/Json', ['jquery', 'singleton:Mana/Core'], function ($, core) {
306
  return Mana.Object.extend('Mana/Core/Json', {
307
  parse: function (what) {
@@ -326,8 +327,8 @@ Mana.define('Mana/Core/Json', ['jquery', 'singleton:Mana/Core'], function ($, co
326
  }
327
  });
328
  });
329
-
330
-
331
  Mana.define('Mana/Core/Utf8', [], function () {
332
  return Mana.Object.extend('Mana/Core/Utf8', {
333
  decode: function (str_data) {
@@ -375,8 +376,8 @@ Mana.define('Mana/Core/Utf8', [], function () {
375
  }
376
  });
377
  });
378
-
379
-
380
  Mana.define('Mana/Core/Base64', ['singleton:Mana/Core/Utf8'], function (utf8) {
381
  return Mana.Object.extend('Mana/Core/Base64', {
382
  encode: function (what) {
@@ -503,8 +504,8 @@ Mana.define('Mana/Core/Base64', ['singleton:Mana/Core/Utf8'], function (utf8) {
503
  }
504
  });
505
  });
506
-
507
-
508
  Mana.define('Mana/Core/UrlTemplate', ['singleton:Mana/Core/Base64', 'singleton:Mana/Core/Config'], function (base64, config) {
509
  return Mana.Object.extend('Mana/Core/UrlTemplate', {
510
  decodeAttribute: function (data) {
@@ -520,8 +521,8 @@ Mana.define('Mana/Core/UrlTemplate', ['singleton:Mana/Core/Base64', 'singleton:M
520
  }
521
  });
522
  });
523
-
524
-
525
  Mana.define('Mana/Core/StringTemplate', ['jquery'], function ($, undefined) {
526
  return Mana.Object.extend('Mana/Core/StringTemplate', {
527
  concat: function(parsedTemplate, vars) {
@@ -545,8 +546,8 @@ Mana.define('Mana/Core/StringTemplate', ['jquery'], function ($, undefined) {
545
  }
546
  });
547
  });
548
-
549
-
550
  Mana.define('Mana/Core/Layout', ['jquery', 'singleton:Mana/Core'], function ($, core, undefined) {
551
  return Mana.Object.extend('Mana/Core/Layout', {
552
  _init: function () {
@@ -747,25 +748,23 @@ Mana.define('Mana/Core/Layout', ['jquery', 'singleton:Mana/Core'], function ($,
747
  return options.$popup;
748
  },
749
  _preparePopupOptions: function(options) {
750
- var result = {
751
- overlay: {
752
- opacity: 0.2
753
- },
754
- popup: {
755
- blockName: 'Mana/Core/PopupBlock'
756
- },
757
- popupBlock: {},
758
- fadein: {
759
- overlayTime: 0,
760
- popupTime: 300
761
- },
762
- fadeout: {
763
- overlayTime: 0,
764
- popupTime: 500
765
- }
766
- };
767
- $.extend(true, result, options);
768
- return result;
769
  },
770
  showPopup: function (options) {
771
  options = this._preparePopupOptions(options);
@@ -848,8 +847,8 @@ Mana.define('Mana/Core/Layout', ['jquery', 'singleton:Mana/Core'], function ($,
848
  }
849
  });
850
  });
851
-
852
-
853
  Mana.define('Mana/Core/Ajax', ['jquery', 'singleton:Mana/Core/Layout', 'singleton:Mana/Core/Json',
854
  'singleton:Mana/Core', 'singleton:Mana/Core/Config'],
855
  function ($, layout, json, core, config, undefined)
@@ -1147,8 +1146,8 @@ function ($, layout, json, core, config, undefined)
1147
  }
1148
  });
1149
  });
1150
-
1151
-
1152
  Mana.define('Mana/Core/Block', ['jquery', 'singleton:Mana/Core', 'singleton:Mana/Core/Layout',
1153
  'singleton:Mana/Core/Json'],
1154
  function($, core, layout, json, undefined) {
@@ -1374,8 +1373,8 @@ function($, core, layout, json, undefined) {
1374
  }
1375
  });
1376
  });
1377
-
1378
-
1379
  Mana.define('Mana/Core/PopupBlock', ['jquery', 'Mana/Core/Block', 'singleton:Mana/Core/Layout'], function ($, Block, layout) {
1380
  return Block.extend('Mana/Core/PopupBlock', {
1381
  prepare: function(options) {
@@ -1390,8 +1389,8 @@ Mana.define('Mana/Core/PopupBlock', ['jquery', 'Mana/Core/Block', 'singleton:Man
1390
  }
1391
  });
1392
  });
1393
-
1394
-
1395
  Mana.define('Mana/Core/PageBlock', ['jquery', 'Mana/Core/Block', 'singleton:Mana/Core/Config'],
1396
  function ($, Block, config)
1397
  {
@@ -1473,8 +1472,8 @@ function ($, Block, config)
1473
  }
1474
  });
1475
  });
1476
-
1477
-
1478
  Mana.require(['jquery', 'singleton:Mana/Core/Layout', 'singleton:Mana/Core/Ajax'], function($, layout, ajax) {
1479
  function _generateBlocks() {
1480
  var vars = layout.beginGeneratingBlocks();
@@ -1485,8 +1484,8 @@ Mana.require(['jquery', 'singleton:Mana/Core/Layout', 'singleton:Mana/Core/Ajax'
1485
  ajax.startIntercepting();
1486
  });
1487
  });
1488
-
1489
-
1490
  Mana.require(['jquery'], function($) {
1491
  var bp = {
1492
  xsmall: 479,
@@ -1511,8 +1510,8 @@ Mana.require(['jquery'], function($) {
1511
  }
1512
  });
1513
  });
1514
-
1515
-
1516
  //region (Obsolete) additional jQuery functions used in MANAdev extensions
1517
  (function($) {
1518
  // this variables are private to this code block
@@ -1846,6 +1845,6 @@ Mana.require(['jquery'], function($) {
1846
  };
1847
 
1848
  })(jQuery);
1849
- //endregion
1850
-
1851
  //# sourceMappingURL=core.js.map
7
 
8
  ; // make JS merging easier
9
 
10
+
11
+
12
  var Mana = Mana || {};
13
 
14
  (function($, $p, undefined) {
143
  });
144
  })(jQuery, $);
145
 
146
+
147
+
148
  /* Simple JavaScript Inheritance
149
  * By John Resig http://ejohn.org/
150
  * MIT Licensed.
151
  */
152
  // Inspired by base2 and Prototype
153
+ var m_object_initializing = false;
154
  (function (undefined) {
155
+ var fnTest = /xyz/.test(function () { xyz;}) ? /\b_super\b/ : /.*/;
156
 
157
  // The base Class implementation (does nothing)
158
  Mana.Object = function () {
168
 
169
  // Instantiate a base class (but only create the instance,
170
  // don't run the init constructor)
171
+ m_object_initializing = true;
172
  var prototype = new this();
173
+ m_object_initializing = false;
174
 
175
  // Copy the properties over onto the new prototype
176
  for (var name in prop) {
202
  var Object;
203
  if (className === undefined) {
204
  // All construction is actually done in the init method
205
+ Object = function Object() { if (!m_object_initializing && this._init) this._init.apply(this, arguments); };
206
  }
207
  else {
208
  // give constructor a meaningful name for easier debugging
209
+ eval("Object = function " + className.replace(/\//g, '_') + "() { if (!m_object_initializing && this._init) this._init.apply(this, arguments); };");
210
  }
211
 
212
  // Populate our constructed prototype object
221
  return Object;
222
  };
223
  })();
224
+
225
+
226
  Mana.define('Mana/Core', ['jquery'], function ($) {
227
  return Mana.Object.extend('Mana/Core', {
228
+ getClasses: function(element) {
229
+ return element.className && element.className.split ? element.className.split(/\s+/) : [];
230
  },
231
  getPrefixedClass: function(element, prefix) {
232
  var result = '';
271
  }
272
  });
273
  });
274
+
275
+
276
  Mana.define('Mana/Core/Config', ['jquery'], function ($) {
277
  return Mana.Object.extend('Mana/Core/Config', {
278
  _init: function () {
301
 
302
  });
303
  });
304
+
305
+
306
  Mana.define('Mana/Core/Json', ['jquery', 'singleton:Mana/Core'], function ($, core) {
307
  return Mana.Object.extend('Mana/Core/Json', {
308
  parse: function (what) {
327
  }
328
  });
329
  });
330
+
331
+
332
  Mana.define('Mana/Core/Utf8', [], function () {
333
  return Mana.Object.extend('Mana/Core/Utf8', {
334
  decode: function (str_data) {
376
  }
377
  });
378
  });
379
+
380
+
381
  Mana.define('Mana/Core/Base64', ['singleton:Mana/Core/Utf8'], function (utf8) {
382
  return Mana.Object.extend('Mana/Core/Base64', {
383
  encode: function (what) {
504
  }
505
  });
506
  });
507
+
508
+
509
  Mana.define('Mana/Core/UrlTemplate', ['singleton:Mana/Core/Base64', 'singleton:Mana/Core/Config'], function (base64, config) {
510
  return Mana.Object.extend('Mana/Core/UrlTemplate', {
511
  decodeAttribute: function (data) {
521
  }
522
  });
523
  });
524
+
525
+
526
  Mana.define('Mana/Core/StringTemplate', ['jquery'], function ($, undefined) {
527
  return Mana.Object.extend('Mana/Core/StringTemplate', {
528
  concat: function(parsedTemplate, vars) {
546
  }
547
  });
548
  });
549
+
550
+
551
  Mana.define('Mana/Core/Layout', ['jquery', 'singleton:Mana/Core'], function ($, core, undefined) {
552
  return Mana.Object.extend('Mana/Core/Layout', {
553
  _init: function () {
748
  return options.$popup;
749
  },
750
  _preparePopupOptions: function(options) {
751
+ if (options.overlay === undefined) { options.overlay = {}; }
752
+ if (options.overlay.opacity === undefined) { options.overlay.opacity = 0.2; }
753
+
754
+ if (options.popup === undefined) { options.popup = {}; }
755
+ if (options.popup.blockName === undefined) { options.popup.blockName = 'Mana/Core/PopupBlock'; }
756
+
757
+ if (options.popupBlock === undefined) { options.popupBlock = {}; }
758
+
759
+ if (options.fadein === undefined) { options.fadein = {}; }
760
+ if (options.fadein.overlayTime === undefined) { options.fadein.overlayTime = 0; }
761
+ if (options.fadein.popupTime === undefined) { options.fadein.popupTime = 300; }
762
+
763
+ if (options.fadeout === undefined) { options.fadeout = {}; }
764
+ if (options.fadeout.overlayTime === undefined) { options.fadeout.overlayTime = 0; }
765
+ if (options.fadeout.popupTime === undefined) { options.fadeout.popupTime = 500; }
766
+
767
+ return options;
 
 
768
  },
769
  showPopup: function (options) {
770
  options = this._preparePopupOptions(options);
847
  }
848
  });
849
  });
850
+
851
+
852
  Mana.define('Mana/Core/Ajax', ['jquery', 'singleton:Mana/Core/Layout', 'singleton:Mana/Core/Json',
853
  'singleton:Mana/Core', 'singleton:Mana/Core/Config'],
854
  function ($, layout, json, core, config, undefined)
1146
  }
1147
  });
1148
  });
1149
+
1150
+
1151
  Mana.define('Mana/Core/Block', ['jquery', 'singleton:Mana/Core', 'singleton:Mana/Core/Layout',
1152
  'singleton:Mana/Core/Json'],
1153
  function($, core, layout, json, undefined) {
1373
  }
1374
  });
1375
  });
1376
+
1377
+
1378
  Mana.define('Mana/Core/PopupBlock', ['jquery', 'Mana/Core/Block', 'singleton:Mana/Core/Layout'], function ($, Block, layout) {
1379
  return Block.extend('Mana/Core/PopupBlock', {
1380
  prepare: function(options) {
1389
  }
1390
  });
1391
  });
1392
+
1393
+
1394
  Mana.define('Mana/Core/PageBlock', ['jquery', 'Mana/Core/Block', 'singleton:Mana/Core/Config'],
1395
  function ($, Block, config)
1396
  {
1472
  }
1473
  });
1474
  });
1475
+
1476
+
1477
  Mana.require(['jquery', 'singleton:Mana/Core/Layout', 'singleton:Mana/Core/Ajax'], function($, layout, ajax) {
1478
  function _generateBlocks() {
1479
  var vars = layout.beginGeneratingBlocks();
1484
  ajax.startIntercepting();
1485
  });
1486
  });
1487
+
1488
+
1489
  Mana.require(['jquery'], function($) {
1490
  var bp = {
1491
  xsmall: 479,
1510
  }
1511
  });
1512
  });
1513
+
1514
+
1515
  //region (Obsolete) additional jQuery functions used in MANAdev extensions
1516
  (function($) {
1517
  // this variables are private to this code block
1845
  };
1846
 
1847
  })(jQuery);
1848
+ //endregion
1849
+
1850
  //# sourceMappingURL=core.js.map
js/mana/core.js.map CHANGED
@@ -1,27 +1,27 @@
1
- {
2
- "version": 3,
3
- "file": "core.js",
4
- "sources": [
5
- "src/Mana/Core/header.js",
6
- "src/Mana/Core/Mana.js",
7
- "src/Mana/Core/Object.js",
8
- "src/Mana/Core/Core.js",
9
- "src/Mana/Core/Config.js",
10
- "src/Mana/Core/Json.js",
11
- "src/Mana/Core/Utf8.js",
12
- "src/Mana/Core/Base64.js",
13
- "src/Mana/Core/UrlTemplate.js",
14
- "src/Mana/Core/StringTemplate.js",
15
- "src/Mana/Core/Layout.js",
16
- "src/Mana/Core/Ajax.js",
17
- "src/Mana/Core/Block.js",
18
- "src/Mana/Core/PopupBlock.js",
19
- "src/Mana/Core/PageBlock.js",
20
- "src/Mana/Core/init.js",
21
- "src/Mana/Core/rwd.js",
22
- "src/Mana/Core/obsolete.js"
23
- ],
24
- "names": [],
25
- "mappings": "AAAA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA,EACA;CCTA;AACA,EACA;AACA,EACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA,EACA;AACA;AACA;AACA,EACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA,EACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA,EACA;CCtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA,EACA;AACA;AACA,EACA;AACA;AACA,EACA;AACA;AACA;AACA,C;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA,C;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA,C;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA,EACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA,EACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA,EACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA,C;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA,EACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACzSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACjOA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACxBA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA,EACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA,EACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EACA;AACA",
26
- "sourceRoot": "../"
27
  }
1
+ {
2
+ "version": 3,
3
+ "file": "core.js",
4
+ "sources": [
5
+ "src/Mana/Core/header.js",
6
+ "src/Mana/Core/Mana.js",
7
+ "src/Mana/Core/Object.js",
8
+ "src/Mana/Core/Core.js",
9
+ "src/Mana/Core/Config.js",
10
+ "src/Mana/Core/Json.js",
11
+ "src/Mana/Core/Utf8.js",
12
+ "src/Mana/Core/Base64.js",
13
+ "src/Mana/Core/UrlTemplate.js",
14
+ "src/Mana/Core/StringTemplate.js",
15
+ "src/Mana/Core/Layout.js",
16
+ "src/Mana/Core/Ajax.js",
17
+ "src/Mana/Core/Block.js",
18
+ "src/Mana/Core/PopupBlock.js",
19
+ "src/Mana/Core/PageBlock.js",
20
+ "src/Mana/Core/init.js",
21
+ "src/Mana/Core/rwd.js",
22
+ "src/Mana/Core/obsolete.js"
23
+ ],
24
+ "names": [],
25
+ "mappings": "AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",
26
+ "sourceRoot": "../"
27
  }
js/mana/core.min.js CHANGED
@@ -1,7 +1,7 @@
1
- /**
2
- * @category Mana
3
- * @package Mana_Core
4
- * @copyright Copyright (c) http://www.manadev.com
5
- * @license http://www.manadev.com/license Proprietary License
6
- */
7
- var Mana=Mana||{};!function(e,t,n){e.extend(Mana,{_singletons:{},_defines:{jquery:e,prototype:t},define:function(e,t,n){var o=Mana._resolveDependencyNames(t);return Mana._define(e,o.names,function(){return n.apply(this,Mana._resolveDependencies(arguments,o.deps))})},require:function(e,t){var n=Mana._resolveDependencyNames(e);return Mana._define(null,n.names,function(){return t.apply(this,Mana._resolveDependencies(arguments,n.deps))})},_define:function(t,n,o){var i=[];e.each(n,function(e,t){i.push(Mana._resolveDefine(t))});var r=o.apply(this,i);return t&&(Mana._defines[t]=r),r},_resolveDefine:function(e){return Mana._defines[e]===n&&console.warn("'"+e+"' is not defined"),Mana._defines[e]},requireOptional:function(e,t){var n=Mana._resolveDependencyNames(e);return Mana._define(null,n.names,function(){return t.apply(this,Mana._resolveDependencies(arguments,n.deps))})},_resolveDependencyNames:function(t){var n=[],o=[];return e.each(t,function(e,t){var i=t.indexOf(":"),r={name:t,resolver:""};-1!=i&&(r={name:t.substr(i+1),resolver:t.substr(0,i)}),Mana._resolveDependencyName(r),n.push(r.name),o.push(r)}),{names:n,deps:o}},_resolveDependencies:function(t,n){return e.each(t,function(e,o){t[e]=Mana._resolveDependency(n[e],o)}),t},_resolveDependencyName:function(){},_resolveDependency:function(e,t){if(t!==n)switch(e.resolver){case"singleton":return Mana._singletons[e.name]===n&&(Mana._singletons[e.name]=new t),Mana._singletons[e.name]}return t}})}(jQuery,$),function(undefined){var initializing=!1,fnTest=/xyz/.test(function(){})?/\b_super\b/:/.*/;Mana.Object=function(){},Mana.Object.extend=function(className,prop){prop===undefined&&(prop=className,className=undefined);var _super=this.prototype;initializing=!0;var prototype=new this;initializing=!1;for(var name in prop)prototype[name]="function"==typeof prop[name]&&"function"==typeof _super[name]&&fnTest.test(prop[name])?function(e,t){return function(){var n=this._super;this._super=_super[e];var o=t.apply(this,arguments);return this._super=n,o}}(name,prop[name]):prop[name];var Object;return className===undefined?Object=function(){!initializing&&this._init&&this._init.apply(this,arguments)}:eval("Object = function "+className.replace(/\//g,"_")+"() { if (!initializing && this._init) this._init.apply(this, arguments); };"),Object.prototype=prototype,Object.prototype.constructor=Object,Object.extend=arguments.callee,Object}}(),Mana.define("Mana/Core",["jquery"],function(e){return Mana.Object.extend("Mana/Core",{getClasses:function(e){return e.className.split(/\s+/)},getPrefixedClass:function(t,n){var o="";return e.each(this.getClasses(t),function(e,t){return 0==t.indexOf(n)?(o=t.substr(n.length),!1):void 0}),o},arrayRemove:function(e,t,n){var o=e.slice((n||t)+1||e.length);return e.length=0>t?e.length+t:t,e.push.apply(e,o)},getBlockAlias:function(e,t){var n;return 0===(n=t.indexOf(e+"-"))?t.substr((e+"-").length):t},count:function(t){var n=0;return e.each(t,function(){n++}),n},isFunction:function(e){return!!(e&&e.constructor&&e.call&&e.apply)},isString:function(e){return"[object String]"==Object.prototype.toString.call(e)}})}),Mana.define("Mana/Core/Config",["jquery"],function(e){return Mana.Object.extend("Mana/Core/Config",{_init:function(){this._data={debug:!1,showOverlay:!0,showWait:!0}},getData:function(e){return this._data[e]},setData:function(e,t){return this._data[e]=t,this},set:function(t){return e.extend(this._data,t),this},getBaseUrl:function(e){return this.getData(0==e.indexOf(this.getData("url.base"))?"url.base":"url.secureBase")}})}),Mana.define("Mana/Core/Json",["jquery","singleton:Mana/Core"],function(e,t){return Mana.Object.extend("Mana/Core/Json",{parse:function(t){return e.parseJSON(t)},stringify:function(e){return Object.toJSON(e)},decodeAttribute:function(n){if(t.isString(n)){var o=n.split('"'),i=[];e.each(o,function(e,t){i.push(t.replace(/'/g,'"'))});var r=i.join("'");return this.parse(r)}return n}})}),Mana.define("Mana/Core/Utf8",[],function(){return Mana.Object.extend("Mana/Core/Utf8",{decode:function(e){var t=[],n=0,o=0,i=0,r=0,a=0;for(e+="";n<e.length;)i=e.charCodeAt(n),128>i?(t[o++]=String.fromCharCode(i),n++):i>191&&224>i?(r=e.charCodeAt(n+1),t[o++]=String.fromCharCode((31&i)<<6|63&r),n+=2):(r=e.charCodeAt(n+1),a=e.charCodeAt(n+2),t[o++]=String.fromCharCode((15&i)<<12|(63&r)<<6|63&a),n+=3);return t.join("")}})}),Mana.define("Mana/Core/Base64",["singleton:Mana/Core/Utf8"],function(e){return Mana.Object.extend("Mana/Core/Base64",{encode:function(e){for(var t,n,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i="",r=e.length,a=0;r-->0;){if(t=e.charCodeAt(a++),i+=o.charAt(t>>2&63),r--<=0){i+=o.charAt(t<<4&63),i+="==";break}if(n=e.charCodeAt(a++),i+=o.charAt(63&(t<<4|n>>4&15)),r--<=0){i+=o.charAt(n<<2&63),i+="=";break}t=e.charCodeAt(a++),i+=o.charAt(63&(n<<2|t>>6&3)),i+=o.charAt(63&t)}return i},decode:function(t){var n,o,i,r,a,c,s,u,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=0,h=0,p="",f=[];if(!t)return t;t+="";do r=l.indexOf(t.charAt(d++)),a=l.indexOf(t.charAt(d++)),c=l.indexOf(t.charAt(d++)),s=l.indexOf(t.charAt(d++)),u=r<<18|a<<12|c<<6|s,n=u>>16&255,o=u>>8&255,i=255&u,f[h++]=64==c?String.fromCharCode(n):64==s?String.fromCharCode(n,o):String.fromCharCode(n,o,i);while(d<t.length);return p=f.join(""),p=e.decode(p)}})}),Mana.define("Mana/Core/UrlTemplate",["singleton:Mana/Core/Base64","singleton:Mana/Core/Config"],function(e,t){return Mana.Object.extend("Mana/Core/UrlTemplate",{decodeAttribute:function(n){return t.getData("debug")?n:e.decode(n.replace(/-/g,"+").replace(/_/g,"/").replace(/,/g,"="))},encodeAttribute:function(t){return e.encode(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,",")}})}),Mana.define("Mana/Core/StringTemplate",["jquery"],function(e,t){return Mana.Object.extend("Mana/Core/StringTemplate",{concat:function(n,o){var i="";return e.each(n,function(e,n){var r=n[0],a=n[1];"string"==r?i+=a:"var"==r&&(i+=o[a]!==t?o[a]:"{{"+a+"}}")}),i}})}),Mana.define("Mana/Core/Layout",["jquery","singleton:Mana/Core"],function(e,t,n){return Mana.Object.extend("Mana/Core/Layout",{_init:function(){this._pageBlock=null},getPageBlock:function(){return this._pageBlock},getBlock:function(e){return this._getBlockRecursively(this.getPageBlock(),e)},getBlockForElement:function(e){var t=this._getElementBlockInfo(e);return t?this.getBlock(t.id):null},_getBlockRecursively:function(t,n){if(t.getId()==n)return t;var o=this,i=null;return e.each(t.getChildren(),function(e,t){return i=o._getBlockRecursively(t,n),i?!1:!0}),i},beginGeneratingBlocks:function(e){var t={parentBlock:e,namedBlocks:{}};return e&&(e.trigger("unload",{},!1,!0),e.trigger("unbind",{},!1,!0),t.namedBlocks=this._removeAnonymousBlocks(e)),t},endGeneratingBlocks:function(t){var o=t.parentBlock,i=t.namedBlocks,r=this;this._collectBlockTypes(o?o.getElement():document,function(t){if(!r._pageBlock){var a=document.body,c=e(a),s=c.attr("data-m-block"),u=s?t[s]:t["Mana/Core/PageBlock"];r._pageBlock=(new u).setElement(e("body")[0]).setId("page")}var l=o===n;l&&(o=r.getPageBlock()),r._generateBlocksInElement(o.getElement(),o,t,i),e.each(i,function(e,t){t.parent.removeChild(t.child)}),o.trigger("bind",{},!1,!0),o.trigger("load",{},!1,!0)})},_collectBlockTypes:function(t,n){var o=["Mana/Core/PageBlock"];this._collectBlockTypesInElement(t,o),Mana.requireOptional(o,function(){var t=arguments,i={};e.each(o,function(e,n){i[n]=t[e]}),n(i)})},_collectBlockTypesInElement:function(t,n){var o=this;e(t).children().each(function(){var e=o._getElementBlockInfo(this);e&&-1==n.indexOf(e.typeName)&&n.push(e.typeName),o._collectBlockTypesInElement(this,n)})},_removeAnonymousBlocks:function(t){var n=this,o={};return e.each(t.getChildren().slice(0),function(e,i){i.getId()?(o[i.getId()]={parent:t,child:i},n._removeAnonymousBlocks(i)):t.removeChild(i)}),o},_getElementBlockInfo:function(n){var o,i,r=e(n);return(o=t.getPrefixedClass(n,"mb-"))||(i=r.attr("data-m-block"))||r.hasClass("m-block")?{id:o||n.id,typeName:i||r.attr("data-m-block")||"Mana/Core/Block"}:null},_generateBlocksInElement:function(t,n,o,i){var r=this;e(t).children().each(function(){var e=r._createBlockFromElement(this,n,o,i);r._generateBlocksInElement(this,e||n,o,i)})},_createBlockFromElement:function(e,n,o,i){var r=this._getElementBlockInfo(e);if(r){var a,c=o[r.typeName],s=!1;return r.id?(a=n.getChild(t.getBlockAlias(n.getId(),r.id)),a?(s=!0,delete i[r.id]):c?a=new c:console.error("Block '"+r.typeName+"' is not defined"),a&&a.setId(r.id)):c?a=new c:console.error("Block '"+r.typeName+"' is not defined"),a?(a.setElement(e),s||n.addChild(a),a):null}return null},preparePopup:function(o){if(o=this._preparePopupOptions(o),o.$popup===n){var i=e("#m-popup");i.css({width:"auto",height:"auto"}),i.html(t.isString(o.content)?o.content:e(o.content).html()),o.popup["class"]&&i.addClass(o.popup["class"]),o.$popup=i}return o.$popup},_preparePopupOptions:function(t){var n={overlay:{opacity:.2},popup:{blockName:"Mana/Core/PopupBlock"},popupBlock:{},fadein:{overlayTime:0,popupTime:300},fadeout:{overlayTime:0,popupTime:500}};return e.extend(!0,n,t),n},showPopup:function(t){t=this._preparePopupOptions(t);var n=this;Mana.requireOptional([t.popup.blockName],function(o){var i=t.fadeout.callback;t.fadeout.callback=function(){e("#m-popup").fadeOut(t.fadeout.popupTime,function(){i&&i()})};var r=n.getPageBlock().showOverlay("m-popup-overlay",t.fadeout),a=n.preparePopup(t);r.animate({opacity:t.overlay.opacity},t.fadein.overlayTime,function(){a.show();var i=new o;i.setElement(a[0]);var r=n.beginGeneratingBlocks(i);n.endGeneratingBlocks(r),i.prepare&&i.prepare(t.popupBlock),e(".m-popup-overlay").on("click",function(){return n.hidePopup(),!1}),n._popupEscListenerInitialized||(n._popupEscListenerInitialized=!0,e(document).keydown(function(t){return e(".m-popup-overlay").length&&27==t.keyCode?(n.hidePopup(),!1):!0})),a.css("top",(e(window).height()-a.outerHeight())/2+e(window).scrollTop()+"px").css("left",(e(window).width()-a.outerWidth())/2+e(window).scrollLeft()+"px");a.height();a.hide().css({height:"auto"});var c={left:a.css("left"),top:a.css("top"),width:a.width()+"px",height:a.height()+"px"};a.children().each(function(){e(this).css({width:a.width()+e(this).width()-e(this).outerWidth()+"px",height:a.height()+e(this).height()-e(this).outerHeight()+"px"})}),a.css({top:e(window).height()/2+e(window).scrollTop()+"px",left:e(window).width()/2+e(window).scrollLeft()+"px",width:"0px",height:"0px"}).show(),a.animate(c,t.fadein.popupTime,t.fadein.callback)})})},hidePopup:function(){this.getPageBlock().hideOverlay()}})}),Mana.define("Mana/Core/Ajax",["jquery","singleton:Mana/Core/Layout","singleton:Mana/Core/Json","singleton:Mana/Core","singleton:Mana/Core/Config"],function(e,t,n,o,i,r){return Mana.Object.extend("Mana/Core/Ajax",{_init:function(){this._interceptors=[],this._matchedInterceptorCache={},this._lastAjaxActionSource=r,this._oldSetLocation=r,this._preventClicks=0},_encodeUrl:function(e,t){return t.encode?t.encode.offset!==r?t.encode.length===r?0===t.encode.offset?window.encodeURI(e.substr(t.encode.offset)):e.substr(0,t.encode.offset)+window.encodeURI(e.substr(t.encode.offset)):0===t.encode.length?e:0===t.encode.offset?window.encodeURI(e.substr(t.encode.offset,t.encode.length))+e.substr(t.encode.offset+t.encode.length):e.substr(0,t.encode.offset)+window.encodeURI(e.substr(t.encode.offset,t.encode.length))+e.substr(t.encode.offset+t.encode.length):e:window.encodeURI(e)},get:function(t,n,o){var i=this;o=this._before(o,t),e.get(this._encodeUrl(t,o)).done(function(e){i._done(e,n,o,t)}).fail(function(e){i._fail(e,o,t)}).complete(function(){i._complete(o,t)})},post:function(t,n,o,i){var a=this;n===r&&(n=[]),o===r&&(o=function(){}),i=this._before(i,t,n),e.post(window.encodeURI(t),n).done(function(e){a._done(e,o,i,t,n)}).fail(function(e){a._fail(e,i,t,n)}).complete(function(){a._complete(i,t,n)})},update:function(n){n.updates&&e.each(n.updates,function(t,n){e(t).html(n)}),n.blocks&&e.each(n.blocks,function(e,o){var i=t.getBlock(e);i&&i.setContent(n.sections[o])}),n.config&&i.set(n.config),n.script&&e.globalEval(n.script),n.title&&(document.title=n.title.replace(/&amp;/g,"&"))},getSectionSeparator:function(){return"\n91b5970cd70e2353d866806f8003c1cd56646961\n"},_before:function(n,o){var i=t.getPageBlock();return n=e.extend({showOverlay:i.getShowOverlay(),showWait:i.getShowWait(),showDebugMessages:i.getShowDebugMessages()},n),n.showOverlay&&i.showOverlay(),n.showWait&&i.showWait(),n.preventClicks&&this._preventClicks++,e(document).trigger("m-ajax-before",[[],o,"",n]),n},_done:function(e,o,i,r,a){var c=t.getPageBlock();i.showOverlay&&c.hideOverlay(),i.showWait&&c.hideWait();try{var s=e;try{var u=e.split(this.getSectionSeparator());e=u.shift(),e=n.parse(e),e.sections=u}catch(l){return void o(s,{url:r})}e?e.error&&!e.customErrorDisplay?i.showDebugMessages&&alert(e.message||e.error):o(e,{url:r,data:a}):i.showDebugMessages&&alert("No response.")}catch(d){if(i.showDebugMessages){var h="";"string"==typeof d?h+=d:(h+=d.message,d.fileName&&(h+="\n in "+d.fileName+" ("+d.lineNumber+")")),e&&(h+="\n\n",h+="string"==typeof e?e:n.stringify(e)),alert(h)}}},_fail:function(e,n){var o=t.getPageBlock();n.showOverlay&&o.hideOverlay(),n.showWait&&o.hideWait(),n.showDebugMessages&&alert(e.status+(e.responseText?": "+e.responseText:""))},_complete:function(t,n){t.preventClicks&&this._preventClicks--,e(document).trigger("m-ajax-after",[[],n,"",t])},addInterceptor:function(e){this._interceptors.push(e)},removeInterceptor:function(e){var t=this._interceptors.indexOf(e);-1!=t&&this._interceptors.splice(t,1)},startIntercepting:function(){var t=this;window.History&&window.History.enabled&&e(window).on("statechange",t._onStateChange=function(){var e=window.History.getState(),n=e.url;t._findMatchingInterceptor(n,t._lastAjaxActionSource)?t._internalCallInterceptionCallback(n,t._lastAjaxActionSource):t._oldSetLocation(n,t._lastAjaxActionSource)}),window.setLocation&&(this._oldSetLocation=window.setLocation,window.setLocation=function(e,n){t._callInterceptionCallback(e,n)}),e(document).on("click","a",t._onClick=function(){var e=this.href;return t._preventClicks&&e==location.href+"#"?!1:t._findMatchingInterceptor(e,this)?t._callInterceptionCallback(e,this):!0})},stopIntercepting:function(){window.History&&window.History.enabled&&(e(window).off("statechange",self._onStateChange),self._onStateChange=null),e(document).off("click","a",self._onClick),self._onClick=null},_internalCallInterceptionCallback:function(e,t){var n=this._findMatchingInterceptor(e,t);return n?(this.lastUrl=e,n.intercept(e,t),!1):!0},_callInterceptionCallback:function(e,t){return this._findMatchingInterceptor(e,t)?(this._lastAjaxActionSource=t,window.History&&window.History.enabled?window.History.pushState(null,window.title,e):this._internalCallInterceptionCallback(e,t)):this._oldSetLocation(e,t),!1},_findMatchingInterceptor:function(t,n){if(this._matchedInterceptorCache[t]===r){var o=!1;i.getData("ajax.enabled")&&e.each(this._interceptors,function(e,i){return i.match(t,n)?(o=i,!1):!0}),this._matchedInterceptorCache[t]=o}return this._matchedInterceptorCache[t]},getDocumentUrl:function(){return this.lastUrl?this.lastUrl:document.URL}})}),Mana.define("Mana/Core/Block",["jquery","singleton:Mana/Core","singleton:Mana/Core/Layout","singleton:Mana/Core/Json"],function(e,t,n,o,i){return Mana.Object.extend("Mana/Core/Block",{_init:function(){this._id="",this._element=null,this._parent=null,this._children=[],this._namedChildren={},this._isSelfContained=!1,this._eventHandlers={},this._data={},this._text={},this._subscribeToHtmlEvents()._subscribeToBlockEvents()},_subscribeToHtmlEvents:function(){return this._json={},this},_subscribeToBlockEvents:function(){return this},getElement:function(){return this._element},$:function(){return e(this.getElement())},setElement:function(e){return this._element=e,this},addChild:function(e){return this._children.push(e),e.getId()&&(this._namedChildren[t.getBlockAlias(this.getId(),e.getId())]=e),e._parent=this,this},removeChild:function(n){var o=e.inArray(n,this._children);return-1!=o&&(t.arrayRemove(this._children,o),n.getId()&&delete this._namedChildren[t.getBlockAlias(this.getId(),n.getId())]),n._parent=null,this},getIsSelfContained:function(){return this._isSelfContained},setIsSelfContained:function(e){return this._isSelfContained=e,this},getId:function(){return this._id||this.getElement().id},setId:function(e){return this._id=e,this},getParent:function(){return this._parent},getChild:function(n){if(t.isFunction(n)){var o=null;return e.each(this._children,function(e,t){return n(e,t)?(o=t,!1):!0}),o}return this._namedChildren[n]},getChildren:function(t){if(t===i)return this._children.slice(0);var n=[];return e.each(this._children,function(e,o){t(e,o)&&n.push(o)}),n},getAlias:function(){var t=i,n=this;return e.each(this._parent._namedChildren,function(e,o){return o===n?(t=e,!1):!0}),t},_trigger:function(t,n){return n.stopped||this._eventHandlers[t]===i||e.each(this._eventHandlers[t],function(e,t){var o=t.callback.call(t.target,n);return o===!1&&(n.stopped=!0),o}),n.result},trigger:function(t,n,o,r){return n===i&&(n={}),n.target===i&&(n.target=this),r===i&&(r=!1),o===i&&(o=!0),this._trigger(t,n),r&&e.each(this.getChildren(),function(e,o){o.trigger(t,n,!1,r)}),o&&this.getParent()&&this.getParent().trigger(t,n,o,!1),n.result},on:function(e,t,n,o){return this._eventHandlers[e]===i&&(this._eventHandlers[e]=[]),o===i&&(o=0),this._eventHandlers[e].push({target:t,callback:n,sortOrder:o}),this._eventHandlers[e].sort(function(e,t){return e.sortOrder<t.sortOrder?-1:e.sortOrder>t.sortOrder?1:0}),this},off:function(n,o,r){this._eventHandlers[n]===i&&(this._eventHandlers[n]=[]);var a=-1;e.each(this._eventHandlers[n],function(e,t){return t.target==o&&t.callback==r?(a=e,!1):!0}),-1!=a&&t.arrayRemove(this._eventHandlers[n],a)},setContent:function(t){if("string"!=e.type(t)){if(!(t.content&&this.getId()&&t.content[this.getId()]))return this;t=t.content[this.getId()]}var o=n.beginGeneratingBlocks(this);return t=e(t),e(this.getElement()).replaceWith(t),this.setElement(t[0]),n.endGeneratingBlocks(o),this},getData:function(e){return this._data[e]},setData:function(e,t){return this._data[e]=t,this},getText:function(e){return this._text[e]===i&&(this._text[e]=this.$().data(e+"-text")),this._text[e]},getJsonData:function(e,t){return this._json[e]===i&&(this._json[e]=o.decodeAttribute(this.$().data(e))),t===i?this._json[e]:this._json[e][t]}})}),Mana.define("Mana/Core/PopupBlock",["jquery","Mana/Core/Block","singleton:Mana/Core/Layout"],function(e,t,n){return t.extend("Mana/Core/PopupBlock",{prepare:function(e){var t=this;this._host=e.host,this.$().find(".btn-close").on("click",function(){return t._close()})},_close:function(){return n.hidePopup(),!1}})}),Mana.define("Mana/Core/PageBlock",["jquery","Mana/Core/Block","singleton:Mana/Core/Config"],function(e,t,n){return t.extend("Mana/Core/PageBlock",{_init:function(){this._defaultOverlayFadeout={overlayTime:0,popupTime:0,callback:null},this._overlayFadeout=this._defaultOverlayFadeout,this._super()},_subscribeToHtmlEvents:function(){function t(){o||(o=!0,n.resize(),o=!1)}var n=this,o=!1;return this._super().on("bind",this,function(){e(window).on("load",t),e(window).on("resize",t)}).on("unbind",this,function(){e(window).off("load",t),e(window).off("resize",t)})},_subscribeToBlockEvents:function(){return this._super().on("load",this,function(){this.resize()})},resize:function(){this.trigger("resize",{},!1,!0)},showOverlay:function(t,n){this._overlayFadeout=n||this._defaultOverlayFadeout;var o=e(t?'<div class="m-overlay '+t+'"></div>':'<div class="m-overlay"></div>');return o.appendTo(this.getElement()),o.css({left:0,top:0}).width(e(document).width()).height(e(document).height()),o},hideOverlay:function(){var t=this;return e(".m-overlay").fadeOut(this._overlayFadeout.overlayTime,function(){e(".m-overlay").remove(),t._overlayFadeout.callback&&t._overlayFadeout.callback(),t._overlayFadeout=t._defaultOverlayFadeout}),this},showWait:function(){return e("#m-wait").show(),this},hideWait:function(){return e("#m-wait").hide(),this},getShowDebugMessages:function(){return n.getData("debug")},getShowOverlay:function(){return n.getData("showOverlay")},getShowWait:function(){return n.getData("showWait")}})}),Mana.require(["jquery","singleton:Mana/Core/Layout","singleton:Mana/Core/Ajax"],function(e,t,n){function o(){var e=t.beginGeneratingBlocks();t.endGeneratingBlocks(e)}e(function(){o(),n.startIntercepting()})}),Mana.require(["jquery"],function(e){var t={xsmall:479,small:599,medium:770,large:979,xlarge:1199};Mana.rwdIsMobile=!1,e(function(){window.enquire&&enquire.register("screen and (max-width: "+t.medium+"px)",{match:function(){Mana.rwdIsMobile=!0,e(document).trigger("m-rwd-mobile")},unmatch:function(){Mana.rwdIsMobile=!1,e(document).trigger("m-rwd-wide")}})})}),function(e){var t={},n={};e.__=function(n){if("string"==typeof n){var o=arguments;return o[0]=t[n]?t[n]:n,e.vsprintf(o)}t=e.extend(t,n)},e.options=function(t){return"string"==typeof t?n[t]:(n=e.extend(!0,n,t),void e(document).trigger("m-options-changed"))},e.dynamicUpdate=function(t){t&&e.each(t,function(t,n){e(n.selector).html(n.html)})},e.dynamicReplace=function(t,n,o){t&&e.each(t,function(t,i){var r=e(t);if(r.length){var a=e(r[0]);r.length>1&&r.slice(1).remove(),a.replaceWith(o?e.utf8_decode(i):i)}else if(n)throw"There is no content to replace."})},e.errorUpdate=function(t,n){t||(t="#messages");var o=e(t);o.length?o.html('<ul class="messages"><li class="error-msg"><ul><li>'+n+"</li></ul></li></ul>"):alert(n)},e.arrayRemove=function(e,t,n){var o=e.slice((n||t)+1||e.length);return e.length=0>t?e.length+t:t,e.push.apply(e,o)},e.mViewport=function(){var e="CSS1Compat"==document.compatMode;return{l:window.pageXOffset||(e?document.documentElement.scrollLeft:document.body.scrollLeft),t:window.pageYOffset||(e?document.documentElement.scrollTop:document.body.scrollTop),w:window.innerWidth||(e?document.documentElement.clientWidth:document.body.clientWidth),h:window.innerHeight||(e?document.documentElement.clientHeight:document.body.clientHeight)}},e.mStickTo=function(t,n){var o=e(t).offset(),i=e.mViewport(),r=o.top+t.offsetHeight,a=o.left+(t.offsetWidth-n.outerWidth())/2;r+n.outerHeight()>i.t+i.h&&(r=o.top-n.outerHeight()),a+n.outerWidth()>i.l+i.w&&(a=o.left+t.offsetWidth-n.outerWidth()),n.css({left:a+"px",top:r+"px"})},e.fn.mMarkAttr=function(e,t){return t?this.attr(e,e):this.removeAttr(e),this},e(function(){try{window.mainNav&&window.mainNav("nav",{show_delay:"100",hide_delay:"100"})}catch(e){}}),e.base64_decode=function(t){var n,o,i,r,a,c,s,u,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=0,h=0,p="",f=[];if(!t)return t;t+="";do r=l.indexOf(t.charAt(d++)),a=l.indexOf(t.charAt(d++)),c=l.indexOf(t.charAt(d++)),s=l.indexOf(t.charAt(d++)),u=r<<18|a<<12|c<<6|s,n=u>>16&255,o=u>>8&255,i=255&u,f[h++]=64==c?String.fromCharCode(n):64==s?String.fromCharCode(n,o):String.fromCharCode(n,o,i);while(d<t.length);return p=f.join(""),p=e.utf8_decode(p)},e.utf8_decode=function(e){var t=[],n=0,o=0,i=0,r=0,a=0;for(e+="";n<e.length;)i=e.charCodeAt(n),128>i?(t[o++]=String.fromCharCode(i),n++):i>191&&224>i?(r=e.charCodeAt(n+1),t[o++]=String.fromCharCode((31&i)<<6|63&r),n+=2):(r=e.charCodeAt(n+1),a=e.charCodeAt(n+2),t[o++]=String.fromCharCode((15&i)<<12|(63&r)<<6|63&a),n+=3);return t.join("")};var o={overlayTime:500,popupTime:1e3,callback:null};e.mSetPopupFadeoutOptions=function(e){o=e},e.fn.extend({mPopup:function(t,n){var o=e.extend({fadeOut:{overlayTime:0,popupTime:500,callback:null},fadeIn:{overlayTime:0,popupTime:500,callback:null},overlay:{opacity:.2},popup:{contentSelector:"."+t+"-text",containerClass:"m-"+t+"-popup-container",top:100}},n);e(this).live("click",function(){if(e.mPopupClosing())return!1;var t=e(o.popup.contentSelector).html();e.mSetPopupFadeoutOptions(o.fadeOut);var n=e('<div class="m-popup-overlay"> </div>');return n.appendTo(document.body),n.css({left:0,top:0}).width(e(document).width()).height(e(document).height()),n.animate({opacity:o.overlay.opacity},o.fadeIn.overlayTime,function(){e("#m-popup").css({width:"auto",height:"auto"}).html(t).addClass(o.popup.containerClass).css("top",(e(window).height()-e("#m-popup").outerHeight())/2-o.popup.top+e(window).scrollTop()+"px").css("left",(e(window).width()-e("#m-popup").outerWidth())/2+e(window).scrollLeft()+"px");e("#m-popup").height();e("#m-popup").show().height(0),e("#m-popup").hide().css({height:"auto"});var n={left:e("#m-popup").css("left"),top:e("#m-popup").css("top"),width:e("#m-popup").width()+"px",height:e("#m-popup").height()+"px"};e("#m-popup").children().each(function(){e(this).css({width:e("#m-popup").width()+e(this).width()-e(this).outerWidth()+"px",height:e("#m-popup").height()+e(this).height()-e(this).outerHeight()+"px"})}),e("#m-popup").css({top:e(window).height()/2-o.popup.top+e(window).scrollTop()+"px",left:e(window).width()/2+e(window).scrollLeft()+"px",width:"0px",height:"0px"}).show(),e("#m-popup").animate(n,o.fadeIn.popupTime,function(){o.fadeIn.callback&&o.fadeIn.callback()})}),!1})}});var i=!1;e.mPopupClosing=function(e){return void 0!==e&&(i=e),i},e.mClosePopup=function(){return e.mPopupClosing(!0),e(".m-popup-overlay").fadeOut(o.overlayTime,function(){e(".m-popup-overlay").remove(),e("#m-popup").fadeOut(o.popupTime,function(){o.callback&&o.callback(),e.mPopupClosing(!1)})}),!1}}(jQuery);
1
+ /**
2
+ * @category Mana
3
+ * @package Mana_Core
4
+ * @copyright Copyright (c) http://www.manadev.com
5
+ * @license http://www.manadev.com/license Proprietary License
6
+ */
7
+ var Mana=Mana||{};!function(e,t,n){e.extend(Mana,{_singletons:{},_defines:{jquery:e,prototype:t},define:function(e,t,n){var o=Mana._resolveDependencyNames(t);return Mana._define(e,o.names,function(){return n.apply(this,Mana._resolveDependencies(arguments,o.deps))})},require:function(e,t){var n=Mana._resolveDependencyNames(e);return Mana._define(null,n.names,function(){return t.apply(this,Mana._resolveDependencies(arguments,n.deps))})},_define:function(t,n,o){var i=[];e.each(n,function(e,t){i.push(Mana._resolveDefine(t))});var r=o.apply(this,i);return t&&(Mana._defines[t]=r),r},_resolveDefine:function(e){return Mana._defines[e]===n&&console.warn("'"+e+"' is not defined"),Mana._defines[e]},requireOptional:function(e,t){var n=Mana._resolveDependencyNames(e);return Mana._define(null,n.names,function(){return t.apply(this,Mana._resolveDependencies(arguments,n.deps))})},_resolveDependencyNames:function(t){var n=[],o=[];return e.each(t,function(e,t){var i=t.indexOf(":"),r={name:t,resolver:""};-1!=i&&(r={name:t.substr(i+1),resolver:t.substr(0,i)}),Mana._resolveDependencyName(r),n.push(r.name),o.push(r)}),{names:n,deps:o}},_resolveDependencies:function(t,n){return e.each(t,function(e,o){t[e]=Mana._resolveDependency(n[e],o)}),t},_resolveDependencyName:function(){},_resolveDependency:function(e,t){if(t!==n)switch(e.resolver){case"singleton":return Mana._singletons[e.name]===n&&(Mana._singletons[e.name]=new t),Mana._singletons[e.name]}return t}})}(jQuery,$);var m_object_initializing=!1;!function(undefined){var fnTest=/xyz/.test(function(){})?/\b_super\b/:/.*/;Mana.Object=function(){},Mana.Object.extend=function(className,prop){prop===undefined&&(prop=className,className=undefined);var _super=this.prototype;m_object_initializing=!0;var prototype=new this;m_object_initializing=!1;for(var name in prop)prototype[name]="function"==typeof prop[name]&&"function"==typeof _super[name]&&fnTest.test(prop[name])?function(e,t){return function(){var n=this._super;this._super=_super[e];var o=t.apply(this,arguments);return this._super=n,o}}(name,prop[name]):prop[name];var Object;return className===undefined?Object=function(){!m_object_initializing&&this._init&&this._init.apply(this,arguments)}:eval("Object = function "+className.replace(/\//g,"_")+"() { if (!m_object_initializing && this._init) this._init.apply(this, arguments); };"),Object.prototype=prototype,Object.prototype.constructor=Object,Object.extend=arguments.callee,Object}}(),Mana.define("Mana/Core",["jquery"],function(e){return Mana.Object.extend("Mana/Core",{getClasses:function(e){return e.className&&e.className.split?e.className.split(/\s+/):[]},getPrefixedClass:function(t,n){var o="";return e.each(this.getClasses(t),function(e,t){return 0==t.indexOf(n)?(o=t.substr(n.length),!1):void 0}),o},arrayRemove:function(e,t,n){var o=e.slice((n||t)+1||e.length);return e.length=0>t?e.length+t:t,e.push.apply(e,o)},getBlockAlias:function(e,t){var n;return 0===(n=t.indexOf(e+"-"))?t.substr((e+"-").length):t},count:function(t){var n=0;return e.each(t,function(){n++}),n},isFunction:function(e){return!!(e&&e.constructor&&e.call&&e.apply)},isString:function(e){return"[object String]"==Object.prototype.toString.call(e)}})}),Mana.define("Mana/Core/Config",["jquery"],function(e){return Mana.Object.extend("Mana/Core/Config",{_init:function(){this._data={debug:!1,showOverlay:!0,showWait:!0}},getData:function(e){return this._data[e]},setData:function(e,t){return this._data[e]=t,this},set:function(t){return e.extend(this._data,t),this},getBaseUrl:function(e){return this.getData(0==e.indexOf(this.getData("url.base"))?"url.base":"url.secureBase")}})}),Mana.define("Mana/Core/Json",["jquery","singleton:Mana/Core"],function(e,t){return Mana.Object.extend("Mana/Core/Json",{parse:function(t){return e.parseJSON(t)},stringify:function(e){return Object.toJSON(e)},decodeAttribute:function(n){if(t.isString(n)){var o=n.split('"'),i=[];e.each(o,function(e,t){i.push(t.replace(/'/g,'"'))});var r=i.join("'");return this.parse(r)}return n}})}),Mana.define("Mana/Core/Utf8",[],function(){return Mana.Object.extend("Mana/Core/Utf8",{decode:function(e){var t=[],n=0,o=0,i=0,r=0,a=0;for(e+="";n<e.length;)i=e.charCodeAt(n),128>i?(t[o++]=String.fromCharCode(i),n++):i>191&&224>i?(r=e.charCodeAt(n+1),t[o++]=String.fromCharCode((31&i)<<6|63&r),n+=2):(r=e.charCodeAt(n+1),a=e.charCodeAt(n+2),t[o++]=String.fromCharCode((15&i)<<12|(63&r)<<6|63&a),n+=3);return t.join("")}})}),Mana.define("Mana/Core/Base64",["singleton:Mana/Core/Utf8"],function(e){return Mana.Object.extend("Mana/Core/Base64",{encode:function(e){for(var t,n,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i="",r=e.length,a=0;r-->0;){if(t=e.charCodeAt(a++),i+=o.charAt(t>>2&63),r--<=0){i+=o.charAt(t<<4&63),i+="==";break}if(n=e.charCodeAt(a++),i+=o.charAt(63&(t<<4|n>>4&15)),r--<=0){i+=o.charAt(n<<2&63),i+="=";break}t=e.charCodeAt(a++),i+=o.charAt(63&(n<<2|t>>6&3)),i+=o.charAt(63&t)}return i},decode:function(t){var n,o,i,r,a,c,s,u,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=0,h=0,p="",f=[];if(!t)return t;t+="";do r=l.indexOf(t.charAt(d++)),a=l.indexOf(t.charAt(d++)),c=l.indexOf(t.charAt(d++)),s=l.indexOf(t.charAt(d++)),u=r<<18|a<<12|c<<6|s,n=u>>16&255,o=u>>8&255,i=255&u,f[h++]=64==c?String.fromCharCode(n):64==s?String.fromCharCode(n,o):String.fromCharCode(n,o,i);while(d<t.length);return p=f.join(""),p=e.decode(p)}})}),Mana.define("Mana/Core/UrlTemplate",["singleton:Mana/Core/Base64","singleton:Mana/Core/Config"],function(e,t){return Mana.Object.extend("Mana/Core/UrlTemplate",{decodeAttribute:function(n){return t.getData("debug")?n:e.decode(n.replace(/-/g,"+").replace(/_/g,"/").replace(/,/g,"="))},encodeAttribute:function(t){return e.encode(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,",")}})}),Mana.define("Mana/Core/StringTemplate",["jquery"],function(e,t){return Mana.Object.extend("Mana/Core/StringTemplate",{concat:function(n,o){var i="";return e.each(n,function(e,n){var r=n[0],a=n[1];"string"==r?i+=a:"var"==r&&(i+=o[a]!==t?o[a]:"{{"+a+"}}")}),i}})}),Mana.define("Mana/Core/Layout",["jquery","singleton:Mana/Core"],function(e,t,n){return Mana.Object.extend("Mana/Core/Layout",{_init:function(){this._pageBlock=null},getPageBlock:function(){return this._pageBlock},getBlock:function(e){return this._getBlockRecursively(this.getPageBlock(),e)},getBlockForElement:function(e){var t=this._getElementBlockInfo(e);return t?this.getBlock(t.id):null},_getBlockRecursively:function(t,n){if(t.getId()==n)return t;var o=this,i=null;return e.each(t.getChildren(),function(e,t){return i=o._getBlockRecursively(t,n),i?!1:!0}),i},beginGeneratingBlocks:function(e){var t={parentBlock:e,namedBlocks:{}};return e&&(e.trigger("unload",{},!1,!0),e.trigger("unbind",{},!1,!0),t.namedBlocks=this._removeAnonymousBlocks(e)),t},endGeneratingBlocks:function(t){var o=t.parentBlock,i=t.namedBlocks,r=this;this._collectBlockTypes(o?o.getElement():document,function(t){if(!r._pageBlock){var a=document.body,c=e(a),s=c.attr("data-m-block"),u=s?t[s]:t["Mana/Core/PageBlock"];r._pageBlock=(new u).setElement(e("body")[0]).setId("page")}var l=o===n;l&&(o=r.getPageBlock()),r._generateBlocksInElement(o.getElement(),o,t,i),e.each(i,function(e,t){t.parent.removeChild(t.child)}),o.trigger("bind",{},!1,!0),o.trigger("load",{},!1,!0)})},_collectBlockTypes:function(t,n){var o=["Mana/Core/PageBlock"];this._collectBlockTypesInElement(t,o),Mana.requireOptional(o,function(){var t=arguments,i={};e.each(o,function(e,n){i[n]=t[e]}),n(i)})},_collectBlockTypesInElement:function(t,n){var o=this;e(t).children().each(function(){var e=o._getElementBlockInfo(this);e&&-1==n.indexOf(e.typeName)&&n.push(e.typeName),o._collectBlockTypesInElement(this,n)})},_removeAnonymousBlocks:function(t){var n=this,o={};return e.each(t.getChildren().slice(0),function(e,i){i.getId()?(o[i.getId()]={parent:t,child:i},n._removeAnonymousBlocks(i)):t.removeChild(i)}),o},_getElementBlockInfo:function(n){var o,i,r=e(n);return(o=t.getPrefixedClass(n,"mb-"))||(i=r.attr("data-m-block"))||r.hasClass("m-block")?{id:o||n.id,typeName:i||r.attr("data-m-block")||"Mana/Core/Block"}:null},_generateBlocksInElement:function(t,n,o,i){var r=this;e(t).children().each(function(){var e=r._createBlockFromElement(this,n,o,i);r._generateBlocksInElement(this,e||n,o,i)})},_createBlockFromElement:function(e,n,o,i){var r=this._getElementBlockInfo(e);if(r){var a,c=o[r.typeName],s=!1;return r.id?(a=n.getChild(t.getBlockAlias(n.getId(),r.id)),a?(s=!0,delete i[r.id]):c?a=new c:console.error("Block '"+r.typeName+"' is not defined"),a&&a.setId(r.id)):c?a=new c:console.error("Block '"+r.typeName+"' is not defined"),a?(a.setElement(e),s||n.addChild(a),a):null}return null},preparePopup:function(o){if(o=this._preparePopupOptions(o),o.$popup===n){var i=e("#m-popup");i.css({width:"auto",height:"auto"}),i.html(t.isString(o.content)?o.content:e(o.content).html()),o.popup["class"]&&i.addClass(o.popup["class"]),o.$popup=i}return o.$popup},_preparePopupOptions:function(e){return e.overlay===n&&(e.overlay={}),e.overlay.opacity===n&&(e.overlay.opacity=.2),e.popup===n&&(e.popup={}),e.popup.blockName===n&&(e.popup.blockName="Mana/Core/PopupBlock"),e.popupBlock===n&&(e.popupBlock={}),e.fadein===n&&(e.fadein={}),e.fadein.overlayTime===n&&(e.fadein.overlayTime=0),e.fadein.popupTime===n&&(e.fadein.popupTime=300),e.fadeout===n&&(e.fadeout={}),e.fadeout.overlayTime===n&&(e.fadeout.overlayTime=0),e.fadeout.popupTime===n&&(e.fadeout.popupTime=500),e},showPopup:function(t){t=this._preparePopupOptions(t);var n=this;Mana.requireOptional([t.popup.blockName],function(o){var i=t.fadeout.callback;t.fadeout.callback=function(){e("#m-popup").fadeOut(t.fadeout.popupTime,function(){i&&i()})};var r=n.getPageBlock().showOverlay("m-popup-overlay",t.fadeout),a=n.preparePopup(t);r.animate({opacity:t.overlay.opacity},t.fadein.overlayTime,function(){a.show();var i=new o;i.setElement(a[0]);var r=n.beginGeneratingBlocks(i);n.endGeneratingBlocks(r),i.prepare&&i.prepare(t.popupBlock),e(".m-popup-overlay").on("click",function(){return n.hidePopup(),!1}),n._popupEscListenerInitialized||(n._popupEscListenerInitialized=!0,e(document).keydown(function(t){return e(".m-popup-overlay").length&&27==t.keyCode?(n.hidePopup(),!1):!0})),a.css("top",(e(window).height()-a.outerHeight())/2+e(window).scrollTop()+"px").css("left",(e(window).width()-a.outerWidth())/2+e(window).scrollLeft()+"px");a.height();a.hide().css({height:"auto"});var c={left:a.css("left"),top:a.css("top"),width:a.width()+"px",height:a.height()+"px"};a.children().each(function(){e(this).css({width:a.width()+e(this).width()-e(this).outerWidth()+"px",height:a.height()+e(this).height()-e(this).outerHeight()+"px"})}),a.css({top:e(window).height()/2+e(window).scrollTop()+"px",left:e(window).width()/2+e(window).scrollLeft()+"px",width:"0px",height:"0px"}).show(),a.animate(c,t.fadein.popupTime,t.fadein.callback)})})},hidePopup:function(){this.getPageBlock().hideOverlay()}})}),Mana.define("Mana/Core/Ajax",["jquery","singleton:Mana/Core/Layout","singleton:Mana/Core/Json","singleton:Mana/Core","singleton:Mana/Core/Config"],function(e,t,n,o,i,r){return Mana.Object.extend("Mana/Core/Ajax",{_init:function(){this._interceptors=[],this._matchedInterceptorCache={},this._lastAjaxActionSource=r,this._oldSetLocation=r,this._preventClicks=0},_encodeUrl:function(e,t){return t.encode?t.encode.offset!==r?t.encode.length===r?0===t.encode.offset?window.encodeURI(e.substr(t.encode.offset)):e.substr(0,t.encode.offset)+window.encodeURI(e.substr(t.encode.offset)):0===t.encode.length?e:0===t.encode.offset?window.encodeURI(e.substr(t.encode.offset,t.encode.length))+e.substr(t.encode.offset+t.encode.length):e.substr(0,t.encode.offset)+window.encodeURI(e.substr(t.encode.offset,t.encode.length))+e.substr(t.encode.offset+t.encode.length):e:window.encodeURI(e)},get:function(t,n,o){var i=this;o=this._before(o,t),e.get(this._encodeUrl(t,o)).done(function(e){i._done(e,n,o,t)}).fail(function(e){i._fail(e,o,t)}).complete(function(){i._complete(o,t)})},post:function(t,n,o,i){var a=this;n===r&&(n=[]),o===r&&(o=function(){}),i=this._before(i,t,n),e.post(window.encodeURI(t),n).done(function(e){a._done(e,o,i,t,n)}).fail(function(e){a._fail(e,i,t,n)}).complete(function(){a._complete(i,t,n)})},update:function(n){n.updates&&e.each(n.updates,function(t,n){e(t).html(n)}),n.blocks&&e.each(n.blocks,function(e,o){var i=t.getBlock(e);i&&i.setContent(n.sections[o])}),n.config&&i.set(n.config),n.script&&e.globalEval(n.script),n.title&&(document.title=n.title.replace(/&amp;/g,"&"))},getSectionSeparator:function(){return"\n91b5970cd70e2353d866806f8003c1cd56646961\n"},_before:function(n,o){var i=t.getPageBlock();return n=e.extend({showOverlay:i.getShowOverlay(),showWait:i.getShowWait(),showDebugMessages:i.getShowDebugMessages()},n),n.showOverlay&&i.showOverlay(),n.showWait&&i.showWait(),n.preventClicks&&this._preventClicks++,e(document).trigger("m-ajax-before",[[],o,"",n]),n},_done:function(e,o,i,r,a){var c=t.getPageBlock();i.showOverlay&&c.hideOverlay(),i.showWait&&c.hideWait();try{var s=e;try{var u=e.split(this.getSectionSeparator());e=u.shift(),e=n.parse(e),e.sections=u}catch(l){return void o(s,{url:r})}e?e.error&&!e.customErrorDisplay?i.showDebugMessages&&alert(e.message||e.error):o(e,{url:r,data:a}):i.showDebugMessages&&alert("No response.")}catch(d){if(i.showDebugMessages){var h="";"string"==typeof d?h+=d:(h+=d.message,d.fileName&&(h+="\n in "+d.fileName+" ("+d.lineNumber+")")),e&&(h+="\n\n",h+="string"==typeof e?e:n.stringify(e)),alert(h)}}},_fail:function(e,n){var o=t.getPageBlock();n.showOverlay&&o.hideOverlay(),n.showWait&&o.hideWait(),n.showDebugMessages&&alert(e.status+(e.responseText?": "+e.responseText:""))},_complete:function(t,n){t.preventClicks&&this._preventClicks--,e(document).trigger("m-ajax-after",[[],n,"",t])},addInterceptor:function(e){this._interceptors.push(e)},removeInterceptor:function(e){var t=this._interceptors.indexOf(e);-1!=t&&this._interceptors.splice(t,1)},startIntercepting:function(){var t=this;window.History&&window.History.enabled&&e(window).on("statechange",t._onStateChange=function(){var e=window.History.getState(),n=e.url;t._findMatchingInterceptor(n,t._lastAjaxActionSource)?t._internalCallInterceptionCallback(n,t._lastAjaxActionSource):t._oldSetLocation(n,t._lastAjaxActionSource)}),window.setLocation&&(this._oldSetLocation=window.setLocation,window.setLocation=function(e,n){t._callInterceptionCallback(e,n)}),e(document).on("click","a",t._onClick=function(){var e=this.href;return t._preventClicks&&e==location.href+"#"?!1:t._findMatchingInterceptor(e,this)?t._callInterceptionCallback(e,this):!0})},stopIntercepting:function(){window.History&&window.History.enabled&&(e(window).off("statechange",self._onStateChange),self._onStateChange=null),e(document).off("click","a",self._onClick),self._onClick=null},_internalCallInterceptionCallback:function(e,t){var n=this._findMatchingInterceptor(e,t);return n?(this.lastUrl=e,n.intercept(e,t),!1):!0},_callInterceptionCallback:function(e,t){return this._findMatchingInterceptor(e,t)?(this._lastAjaxActionSource=t,window.History&&window.History.enabled?window.History.pushState(null,window.title,e):this._internalCallInterceptionCallback(e,t)):this._oldSetLocation(e,t),!1},_findMatchingInterceptor:function(t,n){if(this._matchedInterceptorCache[t]===r){var o=!1;i.getData("ajax.enabled")&&e.each(this._interceptors,function(e,i){return i.match(t,n)?(o=i,!1):!0}),this._matchedInterceptorCache[t]=o}return this._matchedInterceptorCache[t]},getDocumentUrl:function(){return this.lastUrl?this.lastUrl:document.URL}})}),Mana.define("Mana/Core/Block",["jquery","singleton:Mana/Core","singleton:Mana/Core/Layout","singleton:Mana/Core/Json"],function(e,t,n,o,i){return Mana.Object.extend("Mana/Core/Block",{_init:function(){this._id="",this._element=null,this._parent=null,this._children=[],this._namedChildren={},this._isSelfContained=!1,this._eventHandlers={},this._data={},this._text={},this._subscribeToHtmlEvents()._subscribeToBlockEvents()},_subscribeToHtmlEvents:function(){return this._json={},this},_subscribeToBlockEvents:function(){return this},getElement:function(){return this._element},$:function(){return e(this.getElement())},setElement:function(e){return this._element=e,this},addChild:function(e){return this._children.push(e),e.getId()&&(this._namedChildren[t.getBlockAlias(this.getId(),e.getId())]=e),e._parent=this,this},removeChild:function(n){var o=e.inArray(n,this._children);return-1!=o&&(t.arrayRemove(this._children,o),n.getId()&&delete this._namedChildren[t.getBlockAlias(this.getId(),n.getId())]),n._parent=null,this},getIsSelfContained:function(){return this._isSelfContained},setIsSelfContained:function(e){return this._isSelfContained=e,this},getId:function(){return this._id||this.getElement().id},setId:function(e){return this._id=e,this},getParent:function(){return this._parent},getChild:function(n){if(t.isFunction(n)){var o=null;return e.each(this._children,function(e,t){return n(e,t)?(o=t,!1):!0}),o}return this._namedChildren[n]},getChildren:function(t){if(t===i)return this._children.slice(0);var n=[];return e.each(this._children,function(e,o){t(e,o)&&n.push(o)}),n},getAlias:function(){var t=i,n=this;return e.each(this._parent._namedChildren,function(e,o){return o===n?(t=e,!1):!0}),t},_trigger:function(t,n){return n.stopped||this._eventHandlers[t]===i||e.each(this._eventHandlers[t],function(e,t){var o=t.callback.call(t.target,n);return o===!1&&(n.stopped=!0),o}),n.result},trigger:function(t,n,o,r){return n===i&&(n={}),n.target===i&&(n.target=this),r===i&&(r=!1),o===i&&(o=!0),this._trigger(t,n),r&&e.each(this.getChildren(),function(e,o){o.trigger(t,n,!1,r)}),o&&this.getParent()&&this.getParent().trigger(t,n,o,!1),n.result},on:function(e,t,n,o){return this._eventHandlers[e]===i&&(this._eventHandlers[e]=[]),o===i&&(o=0),this._eventHandlers[e].push({target:t,callback:n,sortOrder:o}),this._eventHandlers[e].sort(function(e,t){return e.sortOrder<t.sortOrder?-1:e.sortOrder>t.sortOrder?1:0}),this},off:function(n,o,r){this._eventHandlers[n]===i&&(this._eventHandlers[n]=[]);var a=-1;e.each(this._eventHandlers[n],function(e,t){return t.target==o&&t.callback==r?(a=e,!1):!0}),-1!=a&&t.arrayRemove(this._eventHandlers[n],a)},setContent:function(t){if("string"!=e.type(t)){if(!(t.content&&this.getId()&&t.content[this.getId()]))return this;t=t.content[this.getId()]}var o=n.beginGeneratingBlocks(this);return t=e(t),e(this.getElement()).replaceWith(t),this.setElement(t[0]),n.endGeneratingBlocks(o),this},getData:function(e){return this._data[e]},setData:function(e,t){return this._data[e]=t,this},getText:function(e){return this._text[e]===i&&(this._text[e]=this.$().data(e+"-text")),this._text[e]},getJsonData:function(e,t){return this._json[e]===i&&(this._json[e]=o.decodeAttribute(this.$().data(e))),t===i?this._json[e]:this._json[e][t]}})}),Mana.define("Mana/Core/PopupBlock",["jquery","Mana/Core/Block","singleton:Mana/Core/Layout"],function(e,t,n){return t.extend("Mana/Core/PopupBlock",{prepare:function(e){var t=this;this._host=e.host,this.$().find(".btn-close").on("click",function(){return t._close()})},_close:function(){return n.hidePopup(),!1}})}),Mana.define("Mana/Core/PageBlock",["jquery","Mana/Core/Block","singleton:Mana/Core/Config"],function(e,t,n){return t.extend("Mana/Core/PageBlock",{_init:function(){this._defaultOverlayFadeout={overlayTime:0,popupTime:0,callback:null},this._overlayFadeout=this._defaultOverlayFadeout,this._super()},_subscribeToHtmlEvents:function(){function t(){o||(o=!0,n.resize(),o=!1)}var n=this,o=!1;return this._super().on("bind",this,function(){e(window).on("load",t),e(window).on("resize",t)}).on("unbind",this,function(){e(window).off("load",t),e(window).off("resize",t)})},_subscribeToBlockEvents:function(){return this._super().on("load",this,function(){this.resize()})},resize:function(){this.trigger("resize",{},!1,!0)},showOverlay:function(t,n){this._overlayFadeout=n||this._defaultOverlayFadeout;var o=e(t?'<div class="m-overlay '+t+'"></div>':'<div class="m-overlay"></div>');return o.appendTo(this.getElement()),o.css({left:0,top:0}).width(e(document).width()).height(e(document).height()),o},hideOverlay:function(){var t=this;return e(".m-overlay").fadeOut(this._overlayFadeout.overlayTime,function(){e(".m-overlay").remove(),t._overlayFadeout.callback&&t._overlayFadeout.callback(),t._overlayFadeout=t._defaultOverlayFadeout}),this},showWait:function(){return e("#m-wait").show(),this},hideWait:function(){return e("#m-wait").hide(),this},getShowDebugMessages:function(){return n.getData("debug")},getShowOverlay:function(){return n.getData("showOverlay")},getShowWait:function(){return n.getData("showWait")}})}),Mana.require(["jquery","singleton:Mana/Core/Layout","singleton:Mana/Core/Ajax"],function(e,t,n){function o(){var e=t.beginGeneratingBlocks();t.endGeneratingBlocks(e)}e(function(){o(),n.startIntercepting()})}),Mana.require(["jquery"],function(e){var t={xsmall:479,small:599,medium:770,large:979,xlarge:1199};Mana.rwdIsMobile=!1,e(function(){window.enquire&&enquire.register("screen and (max-width: "+t.medium+"px)",{match:function(){Mana.rwdIsMobile=!0,e(document).trigger("m-rwd-mobile")},unmatch:function(){Mana.rwdIsMobile=!1,e(document).trigger("m-rwd-wide")}})})}),function(e){var t={},n={};e.__=function(n){if("string"==typeof n){var o=arguments;return o[0]=t[n]?t[n]:n,e.vsprintf(o)}t=e.extend(t,n)},e.options=function(t){return"string"==typeof t?n[t]:(n=e.extend(!0,n,t),void e(document).trigger("m-options-changed"))},e.dynamicUpdate=function(t){t&&e.each(t,function(t,n){e(n.selector).html(n.html)})},e.dynamicReplace=function(t,n,o){t&&e.each(t,function(t,i){var r=e(t);if(r.length){var a=e(r[0]);r.length>1&&r.slice(1).remove(),a.replaceWith(o?e.utf8_decode(i):i)}else if(n)throw"There is no content to replace."})},e.errorUpdate=function(t,n){t||(t="#messages");var o=e(t);o.length?o.html('<ul class="messages"><li class="error-msg"><ul><li>'+n+"</li></ul></li></ul>"):alert(n)},e.arrayRemove=function(e,t,n){var o=e.slice((n||t)+1||e.length);return e.length=0>t?e.length+t:t,e.push.apply(e,o)},e.mViewport=function(){var e="CSS1Compat"==document.compatMode;return{l:window.pageXOffset||(e?document.documentElement.scrollLeft:document.body.scrollLeft),t:window.pageYOffset||(e?document.documentElement.scrollTop:document.body.scrollTop),w:window.innerWidth||(e?document.documentElement.clientWidth:document.body.clientWidth),h:window.innerHeight||(e?document.documentElement.clientHeight:document.body.clientHeight)}},e.mStickTo=function(t,n){var o=e(t).offset(),i=e.mViewport(),r=o.top+t.offsetHeight,a=o.left+(t.offsetWidth-n.outerWidth())/2;r+n.outerHeight()>i.t+i.h&&(r=o.top-n.outerHeight()),a+n.outerWidth()>i.l+i.w&&(a=o.left+t.offsetWidth-n.outerWidth()),n.css({left:a+"px",top:r+"px"})},e.fn.mMarkAttr=function(e,t){return t?this.attr(e,e):this.removeAttr(e),this},e(function(){try{window.mainNav&&window.mainNav("nav",{show_delay:"100",hide_delay:"100"})}catch(e){}}),e.base64_decode=function(t){var n,o,i,r,a,c,s,u,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=0,h=0,p="",f=[];if(!t)return t;t+="";do r=l.indexOf(t.charAt(d++)),a=l.indexOf(t.charAt(d++)),c=l.indexOf(t.charAt(d++)),s=l.indexOf(t.charAt(d++)),u=r<<18|a<<12|c<<6|s,n=u>>16&255,o=u>>8&255,i=255&u,f[h++]=64==c?String.fromCharCode(n):64==s?String.fromCharCode(n,o):String.fromCharCode(n,o,i);while(d<t.length);return p=f.join(""),p=e.utf8_decode(p)},e.utf8_decode=function(e){var t=[],n=0,o=0,i=0,r=0,a=0;for(e+="";n<e.length;)i=e.charCodeAt(n),128>i?(t[o++]=String.fromCharCode(i),n++):i>191&&224>i?(r=e.charCodeAt(n+1),t[o++]=String.fromCharCode((31&i)<<6|63&r),n+=2):(r=e.charCodeAt(n+1),a=e.charCodeAt(n+2),t[o++]=String.fromCharCode((15&i)<<12|(63&r)<<6|63&a),n+=3);return t.join("")};var o={overlayTime:500,popupTime:1e3,callback:null};e.mSetPopupFadeoutOptions=function(e){o=e},e.fn.extend({mPopup:function(t,n){var o=e.extend({fadeOut:{overlayTime:0,popupTime:500,callback:null},fadeIn:{overlayTime:0,popupTime:500,callback:null},overlay:{opacity:.2},popup:{contentSelector:"."+t+"-text",containerClass:"m-"+t+"-popup-container",top:100}},n);e(this).live("click",function(){if(e.mPopupClosing())return!1;var t=e(o.popup.contentSelector).html();e.mSetPopupFadeoutOptions(o.fadeOut);var n=e('<div class="m-popup-overlay"> </div>');return n.appendTo(document.body),n.css({left:0,top:0}).width(e(document).width()).height(e(document).height()),n.animate({opacity:o.overlay.opacity},o.fadeIn.overlayTime,function(){e("#m-popup").css({width:"auto",height:"auto"}).html(t).addClass(o.popup.containerClass).css("top",(e(window).height()-e("#m-popup").outerHeight())/2-o.popup.top+e(window).scrollTop()+"px").css("left",(e(window).width()-e("#m-popup").outerWidth())/2+e(window).scrollLeft()+"px");e("#m-popup").height();e("#m-popup").show().height(0),e("#m-popup").hide().css({height:"auto"});var n={left:e("#m-popup").css("left"),top:e("#m-popup").css("top"),width:e("#m-popup").width()+"px",height:e("#m-popup").height()+"px"};e("#m-popup").children().each(function(){e(this).css({width:e("#m-popup").width()+e(this).width()-e(this).outerWidth()+"px",height:e("#m-popup").height()+e(this).height()-e(this).outerHeight()+"px"})}),e("#m-popup").css({top:e(window).height()/2-o.popup.top+e(window).scrollTop()+"px",left:e(window).width()/2+e(window).scrollLeft()+"px",width:"0px",height:"0px"}).show(),e("#m-popup").animate(n,o.fadeIn.popupTime,function(){o.fadeIn.callback&&o.fadeIn.callback()})}),!1})}});var i=!1;e.mPopupClosing=function(e){return void 0!==e&&(i=e),i},e.mClosePopup=function(){return e.mPopupClosing(!0),e(".m-popup-overlay").fadeOut(o.overlayTime,function(){e(".m-popup-overlay").remove(),e("#m-popup").fadeOut(o.popupTime,function(){o.callback&&o.callback(),e.mPopupClosing(!1)})}),!1}}(jQuery);
js/src/Mana/Core/Core.js CHANGED
@@ -1,7 +1,7 @@
1
  Mana.define('Mana/Core', ['jquery'], function ($) {
2
  return Mana.Object.extend('Mana/Core', {
3
- getClasses: function(element) {
4
- return element.className.split(/\s+/);
5
  },
6
  getPrefixedClass: function(element, prefix) {
7
  var result = '';
1
  Mana.define('Mana/Core', ['jquery'], function ($) {
2
  return Mana.Object.extend('Mana/Core', {
3
+ getClasses: function(element) {
4
+ return element.className && element.className.split ? element.className.split(/\s+/) : [];
5
  },
6
  getPrefixedClass: function(element, prefix) {
7
  var result = '';
js/src/Mana/Core/Layout.js CHANGED
@@ -198,25 +198,23 @@ Mana.define('Mana/Core/Layout', ['jquery', 'singleton:Mana/Core'], function ($,
198
  return options.$popup;
199
  },
200
  _preparePopupOptions: function(options) {
201
- var result = {
202
- overlay: {
203
- opacity: 0.2
204
- },
205
- popup: {
206
- blockName: 'Mana/Core/PopupBlock'
207
- },
208
- popupBlock: {},
209
- fadein: {
210
- overlayTime: 0,
211
- popupTime: 300
212
- },
213
- fadeout: {
214
- overlayTime: 0,
215
- popupTime: 500
216
- }
217
- };
218
- $.extend(true, result, options);
219
- return result;
220
  },
221
  showPopup: function (options) {
222
  options = this._preparePopupOptions(options);
198
  return options.$popup;
199
  },
200
  _preparePopupOptions: function(options) {
201
+ if (options.overlay === undefined) { options.overlay = {}; }
202
+ if (options.overlay.opacity === undefined) { options.overlay.opacity = 0.2; }
203
+
204
+ if (options.popup === undefined) { options.popup = {}; }
205
+ if (options.popup.blockName === undefined) { options.popup.blockName = 'Mana/Core/PopupBlock'; }
206
+
207
+ if (options.popupBlock === undefined) { options.popupBlock = {}; }
208
+
209
+ if (options.fadein === undefined) { options.fadein = {}; }
210
+ if (options.fadein.overlayTime === undefined) { options.fadein.overlayTime = 0; }
211
+ if (options.fadein.popupTime === undefined) { options.fadein.popupTime = 300; }
212
+
213
+ if (options.fadeout === undefined) { options.fadeout = {}; }
214
+ if (options.fadeout.overlayTime === undefined) { options.fadeout.overlayTime = 0; }
215
+ if (options.fadeout.popupTime === undefined) { options.fadeout.popupTime = 500; }
216
+
217
+ return options;
 
 
218
  },
219
  showPopup: function (options) {
220
  options = this._preparePopupOptions(options);
js/src/Mana/Core/Object.js CHANGED
@@ -3,8 +3,9 @@
3
  * MIT Licensed.
4
  */
5
  // Inspired by base2 and Prototype
 
6
  (function (undefined) {
7
- var initializing = false, fnTest = /xyz/.test(function () { xyz;}) ? /\b_super\b/ : /.*/;
8
 
9
  // The base Class implementation (does nothing)
10
  Mana.Object = function () {
@@ -20,9 +21,9 @@
20
 
21
  // Instantiate a base class (but only create the instance,
22
  // don't run the init constructor)
23
- initializing = true;
24
  var prototype = new this();
25
- initializing = false;
26
 
27
  // Copy the properties over onto the new prototype
28
  for (var name in prop) {
@@ -54,11 +55,11 @@
54
  var Object;
55
  if (className === undefined) {
56
  // All construction is actually done in the init method
57
- Object = function Object() { if (!initializing && this._init) this._init.apply(this, arguments); };
58
  }
59
  else {
60
  // give constructor a meaningful name for easier debugging
61
- eval("Object = function " + className.replace(/\//g, '_') + "() { if (!initializing && this._init) this._init.apply(this, arguments); };");
62
  }
63
 
64
  // Populate our constructed prototype object
3
  * MIT Licensed.
4
  */
5
  // Inspired by base2 and Prototype
6
+ var m_object_initializing = false;
7
  (function (undefined) {
8
+ var fnTest = /xyz/.test(function () { xyz;}) ? /\b_super\b/ : /.*/;
9
 
10
  // The base Class implementation (does nothing)
11
  Mana.Object = function () {
21
 
22
  // Instantiate a base class (but only create the instance,
23
  // don't run the init constructor)
24
+ m_object_initializing = true;
25
  var prototype = new this();
26
+ m_object_initializing = false;
27
 
28
  // Copy the properties over onto the new prototype
29
  for (var name in prop) {
55
  var Object;
56
  if (className === undefined) {
57
  // All construction is actually done in the init method
58
+ Object = function Object() { if (!m_object_initializing && this._init) this._init.apply(this, arguments); };
59
  }
60
  else {
61
  // give constructor a meaningful name for easier debugging
62
+ eval("Object = function " + className.replace(/\//g, '_') + "() { if (!m_object_initializing && this._init) this._init.apply(this, arguments); };");
63
  }
64
 
65
  // Populate our constructed prototype object
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Mana_Filters</name>
4
- <version>14.06.13.09</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL 3.0)</license>
7
  <channel>community</channel>
@@ -10,9 +10,9 @@
10
  <description>Add multiple selection features for attribute and price filters in Magento layered navigation</description>
11
  <notes>Adds multiple selection features for attribute and price filters in Magento layered navigation.</notes>
12
  <authors><author><name>Mana Team</name><user>auto-converted</user><email>team@manadev.com</email></author></authors>
13
- <date>2014-06-16</date>
14
- <time>19:24:25</time>
15
- <contents><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><file name="mana_core.css" hash="cdc7b84e7e3e73b182cf7ed02bbc76a8"/></dir><dir name="images"><dir name="mana_core"><file name="m-wait.gif" hash="1ae32bc8232ff2527c627e5b38eb319a"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="jquery"><file name="ui.css" hash="4ab351feeb25bfbcb84f61e722545525"/><dir name="images"><file name="animated-overlay.gif" hash="2b912f7c0653008ca28ebacda49025e7"/><file name="ui-bg_diagonals-thick_18_b81900_40x40.png" hash="95f9cceeb9d742dd3e917ec16ed754f8"/><file name="ui-bg_diagonals-thick_20_666666_40x40.png" hash="f040b255ca13e693da34ab33c7d6b554"/><file name="ui-bg_flat_0_aaaaaa_40x100.png" hash="2a44fbdb7360c60122bcf6dcef0387d8"/><file name="ui-bg_flat_10_000000_40x100.png" hash="c18cd01623c7fed23c80d53e2f5e7c78"/><file name="ui-bg_flat_75_ffffff_40x100.png" hash="8692e6efddf882acbff144c38ea7dfdf"/><file name="ui-bg_glass_55_fbf9ee_1x400.png" hash="f8f4558e0b92ff2cd6136781533902ec"/><file name="ui-bg_glass_65_ffffff_1x400.png" hash="e5a8f32e28fd5c27bf0fed33c8a8b9b5"/><file name="ui-bg_glass_75_dadada_1x400.png" hash="c12c6510dad3ebfa64c8a30e959a2469"/><file name="ui-bg_glass_75_e6e6e6_1x400.png" hash="f4254356c2a8c9a383205ef2c4de22c4"/><file name="ui-bg_glass_95_fef1ec_1x400.png" hash="5a3be2d8fff8324d59aec3df7b0a0c83"/><file name="ui-bg_glass_100_f6f6f6_1x400.png" hash="5f1847175ba18c41322cb9cb0581e0fb"/><file name="ui-bg_glass_100_fdf5ce_1x400.png" hash="d386adb3d23db4588a3271526a530f51"/><file name="ui-bg_gloss-wave_35_f6a828_500x100.png" hash="34c616d227cbdaefd8a81534d6ca7813"/><file name="ui-bg_highlight-soft_75_cccccc_1x100.png" hash="72c593d16e998952cd8d798fee33c6f3"/><file name="ui-bg_highlight-soft_75_ffe45c_1x100.png" hash="b806658954cb4d16ade8977af737f486"/><file name="ui-bg_highlight-soft_100_eeeeee_1x100.png" hash="384c3f17709ba0f809b023b6e7b10b84"/><file name="ui-icons_2e83ff_256x240.png" hash="25162bf857a8eb83ea932a58436e1049"/><file name="ui-icons_228ef1_256x240.png" hash="79f41c0765e9ec18562b20b0801d748b"/><file name="ui-icons_222222_256x240.png" hash="9129e086dc488d8bcaf808510bc646ba"/><file name="ui-icons_454545_256x240.png" hash="771099482bdc1571ece41073b1752596"/><file name="ui-icons_888888_256x240.png" hash="faf6f5dc44e713178784c1fb053990aa"/><file name="ui-icons_cd0a0a_256x240.png" hash="5d8808d43cefca6f6781a5316d176632"/><file name="ui-icons_ef8c08_256x240.png" hash="380c866362e1e42896f973ea92f67013"/><file name="ui-icons_ffd27a_256x240.png" hash="2a20f483ddcbc84e6469ce5bbd280699"/><file name="ui-icons_ffffff_256x240.png" hash="342bc03f6264c75d3f1d7f99e34295b9"/></dir></dir><file name="mana_core.css" hash="4b45e64cd88e3fcb70ccb3f1c4f39917"/><file name="mana_filters.css" hash="1d9769421d9cd76993bb033107363821"/></dir><dir name="images"><dir name="mana_core"><file name="m-wait.gif" hash="1ae32bc8232ff2527c627e5b38eb319a"/></dir></dir></dir></dir><dir name="rwd"><dir name="default"><dir name="css"><file name="mana_core.css" hash="c8533f81b029f25db3e3396cd75e779b"/><file name="mana_filters.css" hash="8b5cb1b1c480a051bed60ed64af2d790"/></dir><dir name="images"><dir name="mana_core"><file name="m-wait.gif" hash="79d9787b05ea3e0e5e1e7b23a357bca0"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="mana_core.xml" hash="cc0feb9124aa77e1f323b61cf504c204"/></dir><dir name="template"><dir name="mana"><dir name="core"><file name="js.phtml" hash="53a4035fe21537c0cd7fde286ed4a611"/><file name="popup.phtml" hash="e2823a07a8eefcad23f1ea416e95f84c"/><file name="require.phtml" hash="b85203a9ecf3808b5cdde85fcb03ec6e"/><file name="wait.phtml" hash="7c0ffe76e7b3aca2163d9ecc5145e81b"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="mana_core.xml" hash="67573b93ead87e30c31eedf5f39af2a2"/><file name="mana_filters.xml" hash="51005a99382d5450fbc6ea239bbbc7a2"/></dir><dir name="template"><dir name="mana"><dir name="core"><file name="js.phtml" hash="1aa41c842f1984142a864f667f99d33b"/><file name="popup.phtml" hash="e2823a07a8eefcad23f1ea416e95f84c"/><file name="require.phtml" hash="b85203a9ecf3808b5cdde85fcb03ec6e"/><file name="wait.phtml" hash="2fdb82f90c1aa8705fa76f500b967fef"/></dir><dir name="filters"><file name="cms.phtml" hash="b4c954289a496a8e79bddac6f89abbbe"/><file name="state.phtml" hash="d39975d6dc1fba2cec9679b023dfb667"/><dir name="items"><file name="list.phtml" hash="f5e0ac3cea381560e83d536433e303c7"/><file name="list_popup.phtml" hash="ff8d08726080a7eee21a85282d5294a4"/><file name="standard.phtml" hash="5c125504a6674f6eac8ea6ebd2c7ed1e"/><file name="standard_popup.phtml" hash="5318ff7766dce895a033ca0cea8a12d6"/></dir></dir></dir></dir></dir></dir><dir name="rwd"><dir name="default"><dir name="layout"><file name="mana_filters.xml" hash="5aa157d9c8f9cdb68c7d0c03c1e8a0f3"/></dir><dir name="template"><dir name="mana"><dir name="filters"><dir name="items"><file name="list.phtml" hash="1adf0a61f5a3a216939ae03daaae7080"/><file name="standard.phtml" hash="983c40cf9136b3b879d2d1a41bdccbf6"/></dir></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Mana_Core.csv" hash="264b6e6e44c593af6f79b93875091672"/><file name="Mana_Db.csv" hash="754c3b5f318886cb1eae04af5e841ada"/><file name="Mana_Filters.csv" hash="7a4c41f5f3d3a4f4389db3ba7cac53e4"/></dir></target><target name="mageweb"><dir name="js"><dir name="jquery"><file name="advListRotator.js" hash="6629920522d9fd8364469abe1ae705c9"/><file name="fileuploader.js" hash="164c23d4b94b5424c8e1c00057d45ce4"/><file name="froogaloop.js" hash="aefc485211db6c55726e13759063d312"/><file name="froogaloop.min.js" hash="d39fd09571c0cae46b8c35d75cffeb77"/><file name="history.adapter.jquery.js" hash="8e34662937b6021c290077b353800702"/><file name="history.js" hash="89898d2f67eecb9f819588dcad2c8717"/><file name="jquery-ui.js" hash="6ac9f97eaab22d1a1f91572a20ef516b"/><file name="jquery-ui.min.js" hash="c1e83e4d225186ec057ea9eb18742dea"/><file name="jquery.easing.js" hash="cc674e02a06874bb5888ede6e0b1c977"/><file name="jquery.flexslider-min.js" hash="c236f33e84d73c1a873ec63cc25d7bd1"/><file name="jquery.js" hash="a581ffd88c93e2125e42f7ecb363739f"/><file name="jquery.min.js" hash="f8a9d24fe8df43991da1c0dd0dd9d1af"/><file name="jquery.noconflict.js" hash="0da09155d7323809b48494da0846bf34"/><file name="jquery.printf.js" hash="71e34de7c90b12d738ca6b912fef04da"/><file name="require.js" hash="a7afdceabeb04107653fdc7d274a00d1"/><file name="require.min.js" hash="215507e3b7eb905c61e436921c5736bd"/><dir name="validate"><file name="jquery.validate.js" hash="0bb7a2f5eea19acc7bb65f6c82ec15fb"/><dir name="localization"><file name="messages_ar.js" hash="a42cc9c91da7c4f6d2f48492dda14273"/><file name="messages_bg.js" hash="bc4ebf054b6a399abf518ef28bbad839"/><file name="messages_cn.js" hash="886e45b3ffd60a683ecc8e6ea644e519"/><file name="messages_cs.js" hash="6b794f90ab955c17fe02b6553876050c"/><file name="messages_da.js" hash="cc862df2998db2cc18c8276aa7bfe0f0"/><file name="messages_de.js" hash="70a9eb9abfc4365f36718b06b38f6725"/><file name="messages_el.js" hash="bd18b65d9f876e12997281e09d2a8bf3"/><file name="messages_es.js" hash="2f3a18c6d0377bc4658839a070853ed7"/><file name="messages_fa.js" hash="e32dd026bd9d2f626b7371bf025eb5c1"/><file name="messages_fi.js" hash="d8810a4f5b025594129f32957e521210"/><file name="messages_fr.js" hash="3081f76c1368d03d2e1a84a7ed9748e2"/><file name="messages_he.js" hash="028af705c2c07e946ce6de5e63223611"/><file name="messages_hu.js" hash="7612f6525fd5922f970d40b5929c88bb"/><file name="messages_it.js" hash="824964b0dcf1ea4904d18a125ff10b09"/><file name="messages_kk.js" hash="28c0dac0417ec5e0ec9271bfd11b7129"/><file name="messages_lt.js" hash="ef0a5dea6d4bfe7965ff9c719238f2b0"/><file name="messages_lv.js" hash="6d1d834333de4f018259481658d79e85"/><file name="messages_nl.js" hash="9f8aad8e3d769b0a636a02c672044232"/><file name="messages_no.js" hash="1a00dddbef393a2b8bc2e78934243566"/><file name="messages_pl.js" hash="28cea41b05ff80cc721b6896a2f658ba"/><file name="messages_ptbr.js" hash="194f1a4cbe9483dea4363400e046b923"/><file name="messages_ptpt.js" hash="3a9a7730cc461866e37f2cd8b0507f3a"/><file name="messages_ro.js" hash="eaf4c868e8fde6f5dee2f0a3ee0cbe12"/><file name="messages_ru.js" hash="e3d6e8809230c758b95438de4c783474"/><file name="messages_se.js" hash="b80035c9f1fdfba7c7f523838ec6510b"/><file name="messages_sk.js" hash="9e1b0a7378aff7add6100dc3c3e8d80c"/><file name="messages_tr.js" hash="7ecf31a65c2eefd8c7da62f65ccf33a7"/><file name="messages_tw.js" hash="b660609f8ddf6b17d71b72aa43512f1f"/><file name="messages_ua.js" hash="80e565078f016c8ea1cffc6c8cdd5a93"/><file name="methods_de.js" hash="a9d8792f8e46298165daaf4e9a5d98ad"/><file name="methods_nl.js" hash="8505eec534134eac849adca1cf8f2f9d"/><file name="methods_pt.js" hash="09b350c9c069b5a82d5811339ac15ab6"/></dir></dir></dir><dir name="mana"><file name="core.js" hash="cdfda671a3361d34c08e544e0357489e"/><file name="core.js.map" hash="11d54f3b87ba371680f3a64575d02e0d"/><file name="core.min.js" hash="0c1905f1da4b3dddac590a3d5a307d34"/></dir><dir name="src"><dir name="Mana"><dir name="Core"><file name="Ajax.js" hash="a4adb98a7e0e46efb596ef46d12f591c"/><file name="Base64.js" hash="32c5eca8e7ae6860935f6026c810bb7f"/><file name="Block.js" hash="aa31f18ce505d2c43ddfac845b3516d6"/><file name="Config.js" hash="2592b48b066c51fad272c471c14e1ca1"/><file name="Core.js" hash="e251a9d5950eb1ca8303879c5d6c84c2"/><file name="header.js" hash="53b9f4625f72a5e2d93edbc0129c1b82"/><file name="init.js" hash="e05d11b113604d27530c83bb9ff557cb"/><file name="Json.js" hash="226ab2f431754f2338aec47ecaabf720"/><file name="Layout.js" hash="e0e953dc2d8e2421830e642b02fbc7fd"/><file name="Mana.js" hash="fa1102a7f579b5dda5db1f2dfa848672"/><file name="Object.js" hash="8c84b51fafe42654f920a776e5250309"/><file name="obsolete.js" hash="6c05b74822091b64f27019f433afb5ec"/><file name="PageBlock.js" hash="4798d5992ded92dc472bde54486327cc"/><file name="PopupBlock.js" hash="22bdd511747703b95d267a9d649e3d8e"/><file name="rwd.js" hash="3bbb8b6175369e03560444faa9061264"/><file name="StringTemplate.js" hash="7cd14ce2f038bf9d1f88c516f0ec11a3"/><file name="UrlTemplate.js" hash="340bfd288bfdbe53e562fac6f81ee1c7"/><file name="Utf8.js" hash="a7381e9d7e3b54f8169d58ad660c8f13"/></dir></dir></dir></dir></target><target name="magelocal"><dir name="Mana"><dir name="Core"><file name="Profiler.php" hash="750f9a6490534be89ef5a55ddf62db21"/><file name="Profiler2.php" hash="65d3000031d885779b195558cecc159a"/><dir name="Block"><file name="Js.php" hash="23b65253ab9b20b0c80f5cb30b25e63f"/><file name="List.php" hash="8a54149b3d24b8f1447ee77dc7c691ed"/><file name="Require.php" hash="39764e20e72f331223f1ad85a21c15a3"/><file name="Singleton.php" hash="74e1cb457680fb2f999af95fa3af26c2"/></dir><dir name="etc"><file name="adminhtml.xml" hash="6245429c5bc31a6b9667afe2e714cdb9"/><file name="config.xml" hash="6857907ac085b0ae0a1fad1bc8e23bb1"/><file name="system.xml" hash="107f9fc56e6b83ceb92fa20bfcc93705"/></dir><dir name="Exception"><file name="Validation.php" hash="fea7418326430c7acd04c34d8a4b3f07"/></dir><dir name="Helper"><file name="Data.php" hash="415f11ed029a3b252d04cb8fde071ce0"/><file name="Db.php" hash="8f63c21d8e5d1feda88727d222a233a3"/><file name="Debug.php" hash="6fd3859ac2e817d36aadd8ba6c47405a"/><file name="Files.php" hash="d0f013090c6266c8e39d7b095985ba27"/><file name="Image.php" hash="75ade04d12f104d05314f2d9343ec539"/><file name="Js.php" hash="a9866a72f35c584a0c4684d4b2a371dd"/><file name="Json.php" hash="39f860c7189913faad31b234903ea6d6"/><file name="Layer.php" hash="30a33c43ac0b4fdcd8cb4e20968ea664"/><file name="Layout.php" hash="32d6016c0ddad2f414791dee4712c13e"/><file name="Lock.php" hash="7567ccb21cef8c90dac0e9bbac321801"/><file name="Logger.php" hash="6fc13c5afbd795a4d0ecfe9c576baaac"/><file name="Mbstring.php" hash="1702040a0138b88445a36bdd23d44566"/><file name="PageType.php" hash="78c1ed2f6353d29f2f8ed580014176a2"/><file name="Router.php" hash="9713a66ad89d22b0d0a5c6d5a5937ae6"/><file name="Seo.php" hash="b8aafbf9d4ec1d796e83c9ff2f7fac0b"/><file name="StringTemplate.php" hash="a7720417ae715c37eb155853e3e84f90"/><file name="UrlTemplate.php" hash="2e04649154b3c1a80e40df17cc1846a6"/><file name="Utils.php" hash="611650a169c7747bbc8177dcd31ee2a4"/><dir name="Db"><file name="Aggregate.php" hash="ee2b6086c62e6870d2139b3e8f619bdc"/></dir><dir name="PageType"><file name="Category.php" hash="22851b663096414aa80a6504ff6d1196"/><file name="CmsPage.php" hash="4e0e65b61638212f4a7780d6e0b7f4b8"/><file name="HomePage.php" hash="64891fa7d23b59fc14ad38d2e9fc2f4b"/><file name="Search.php" hash="3b0e7e11924e950f0d9a2d30e7a83118"/></dir></dir><dir name="Model"><file name="Callback.php" hash="2e8955cf399ea302e8b19c6ccb999cc5"/><file name="Closure.php" hash="f1456fc3e6aa04906339198be3a0a544"/><file name="Eav.php" hash="ed4adbb339497fefe1db29a59c2ed110"/><file name="Indexer.php" hash="3fcaafc332c5fe3dca0cdef383228603"/><file name="Object.php" hash="dcb759ec94621a28c4e531715813513c"/><file name="Observer.php" hash="ca5d42b0d4bef6a312575f07df964d2d"/><dir name="Attribute"><file name="Scope.php" hash="7277aac766688c59886cff561b8c44a3"/></dir><dir name="Condition"><file name="Abstract.php" hash="2b4cb990a9c690d7a1f5033e5a97cc3c"/><file name="Combine.php" hash="ee16e0a17610f5b08bc04b2f2967820b"/></dir><dir name="Config"><file name="Default.php" hash="b69bd384a59f38f214f565d21af1ca3a"/></dir><dir name="Html"><file name="Filter.php" hash="ca77f8b76bd39d00001d6dfb12ff6929"/><file name="Parser.php" hash="5f4c098e69b582025f909ddeeab6e630"/><file name="Reader.php" hash="41a66c26ce51f3803eba50cea5b95d96"/><file name="State.php" hash="5952deebd020273729594ace8a2cae9b"/><file name="Token.php" hash="5c7a4ef3150a35b8a6bf9e296e53e739"/></dir><dir name="Source"><file name="Abstract.php" hash="bb05e3ce9f5e01ef2843a5a558a86fd8"/><file name="Config.php" hash="59b1d6927157e4b34bde55794a7a86be"/><file name="Country.php" hash="cd5c9dd00c4456db2e6b4f6316303a8c"/><file name="Design.php" hash="8c033c3585d0bf0bc31a95cbbbf7d4c4"/><file name="Js.php" hash="71852d9a46c5fca27d4b0403e9ee19d9"/><file name="Layout.php" hash="4eb47f747d5a91983fb62e802ec51793"/><file name="Status.php" hash="d4fdf128e0c4cf088f654baf426c5f0f"/><file name="Yesno.php" hash="3082e75e81e111aed0ac9f1cc17e579e"/><file name="YesNoDefault.php" hash="4a13c8de30d7f27b71dac16bbf1e18ae"/></dir></dir><dir name="Resource"><file name="Eav.php" hash="2ada400977d3a8b0883a03998e1a4e47"/><file name="Indexer.php" hash="6ced1a9ad6696345071a189c8c3e657d"/><dir name="Attribute"><file name="Collection.php" hash="7f01d6480b5110a431a5b50571a9ec62"/></dir><dir name="Eav"><file name="Collection.php" hash="5153a97a4021aebced2b0a538d10b4e7"/><file name="Setup.php" hash="13360360cbfada91713159a38c82e6b2"/><dir name="Collection"><file name="Derived.php" hash="03a87d87a781c8256b6414fb132ed30e"/></dir></dir><dir name="Virtual"><file name="Collection.php" hash="ac2d11980e9dc015ed0cfbe12fbf3fc7"/></dir></dir><dir name="Rewrite"><dir name="PageCache"><file name="Processor.php" hash="d5175e3a150d92ec32016654c8a7988a"/></dir></dir><dir name="sql"><dir name="mana_core_setup"><file name="mysql4-install-1.1.1.php" hash="a169406e2cc37282d001e9415eda219a"/></dir></dir></dir><dir name="Db"><dir name="etc"><file name="config.xml" hash="456710718979cc7987f6aed01a917b1f"/><file name="m_db.xml" hash="7fb95c96ed440dfc5efb8d3ed598dd20"/></dir><dir name="Exception"><file name="Formula.php" hash="f791f3d718241b9b004ae1719dd8fca8"/><file name="Validation.php" hash="7238432db3b3a24615dc186e60afc546"/></dir><dir name="Helper"><file name="Config.php" hash="947e93e74329de11cffe102dad3b5002"/><file name="Data.php" hash="a35a41643d9c5e875d0e8e2dbfa8d4d1"/><file name="Formula.php" hash="c5761ee937e3490d1508a3ed0cfac805"/><dir name="Formula"><file name="Abstract.php" hash="88283737316ebd8cafddce5e42ac2bd8"/><file name="DependencyFinder.php" hash="480e4097ef5e9b21c527f5c61dbd3987"/><file name="Entity.php" hash="e5f500a86b18b37dd43fc8ab151fd204"/><file name="Evaluator.php" hash="8dc9cf1b9ddf8cefd053909ba841d985"/><file name="Function.php" hash="db3fb341c32f9c285d37df84a36fb82c"/><file name="Parser.php" hash="7828e59f31c03e31da92a889b4e8b52f"/><file name="Processor.php" hash="4bf7bfa8a2cdcfbecaede6ab3aa67f04"/><file name="Selector.php" hash="91bee56da8ee75aa06edacb19cb925b9"/><dir name="Entity"><file name="Aggregate.php" hash="fab53a31e480228474de7015100d6498"/><file name="Foreign.php" hash="6d4159dcb6ff3f7e5a958b6e891057c1"/><file name="Frontend.php" hash="4bef999e0ca552c3fa8b518c36b6e239"/><file name="Normal.php" hash="6a91af1bd600ca9b8be40ee5be5c4fa5"/><dir name="Aggregate"><file name="Field.php" hash="682fc6e82caf400025ba22f6b1c40156"/></dir></dir><dir name="Function"><file name="Count.php" hash="62d463301d3eac82f9f8c2952cc23ed4"/><file name="Glue.php" hash="00abff0970bc94ef46ebdb91d773ab02"/><file name="If.php" hash="215287632f25bd541fe29051cc11fba4"/><file name="Lower.php" hash="7e91d1e618e66d262b0967f0a053adfd"/><file name="Seo.php" hash="70ce3da277c48fc84363c58baba3dd37"/><file name="SkinUrl.php" hash="059ac4b6d44bf7714886c023c30a1490"/></dir><dir name="Processor"><file name="Eav.php" hash="722b0888661d38b399f74eaf9ec4247e"/><file name="Entity.php" hash="b3d6e11b78cf782c9eae78ce1eefd155"/><file name="System.php" hash="c7a3c7bf6194b041dd17dc2b3a605f6f"/><file name="Table.php" hash="771155e0a194fcf7a821e51172100138"/></dir></dir></dir><dir name="Model"><file name="Entity.php" hash="88e63ed2ebdeb129757d7acbd6f4d805"/><file name="Indexer.php" hash="8596a12b7ee26e686937cef3d2985685"/><file name="Object.php" hash="91dac5c80f75dcb81c1aadaa8984b466"/><file name="Observer.php" hash="d52dc7c597890e130a6d0ee92846fa89"/><file name="Setup.php" hash="637ff1d605b453dacf2565587c78a8d9"/><file name="Validation.php" hash="f2dd026c3d73f3fd345e1b7abde51e7d"/><dir name="Entity"><file name="Indexer.php" hash="c807d323f91e2c38344332ae8e9654b3"/></dir><dir name="Formula"><file name="Alias.php" hash="d14575f9f0477021a2e53ff1fd9c5501"/><file name="Closure.php" hash="d773c0f5ed1f593acb5458bfb3187a7b"/><file name="Context.php" hash="5fd16cf22bc1bac09856606ee0d0a141"/><file name="Entity.php" hash="c0eb7a9362996c104bde5cd2c469db10"/><file name="Expr.php" hash="b739ab589ea0e3378e32c12a69ba78cc"/><file name="Field.php" hash="d00b8c25724e34f6cad819edf1497ede"/><file name="Node.php" hash="e28d2d8d0af762abbe3b9677937103fe"/><dir name="Alias"><file name="Array.php" hash="6719df8e4123c881980f5a2b6ef93a8f"/><file name="Empty.php" hash="93e05898f60e111f12b5febb119305dd"/><file name="Single.php" hash="8603f08d6415110c8c0f04a805055fab"/></dir><dir name="Closure"><file name="AggregateFieldJoin.php" hash="f1d19cb54eaf620d038508b7ad31fc60"/><file name="ForeignJoin.php" hash="b07167a5ef2a7caf479266269f232edf"/><file name="ForeignJoinEnd.php" hash="6b9000298615ce69eadc04e707fbe17f"/><file name="Join.php" hash="b8d368c1042754f18d027027acccb27a"/></dir><dir name="Node"><file name="Add.php" hash="22f6ec02b3226ce2c9313f713d1b03fb"/><file name="Field.php" hash="93c6bf27b93091ebe7672500e7e94e48"/><file name="FormulaExpr.php" hash="b6a36a818533775fa778c6dc66ec40f7"/><file name="FunctionCall.php" hash="bac31778c670aca74c9db49dcb40007a"/><file name="Identifier.php" hash="a38aa478e6485ef9ea95fb0758c2ea49"/><file name="Multiply.php" hash="292881a092500642e4d98aeb33aa2f75"/><file name="NullValue.php" hash="2ddeb334ac3e12cdec1b413904e02210"/><file name="NumberConstant.php" hash="fd2524859dc3ed2a3fb46468b8352f72"/><file name="StringConstant.php" hash="04cdb7baa502e001dfb35af748efde30"/></dir></dir><dir name="Replication"><file name="Target.php" hash="b918ef992096a72080a743352385b64b"/></dir><dir name="Setup"><file name="Abstract.php" hash="d8e84857de7b1cdb6ba6c03e5f4aa867"/><file name="V13012122.php" hash="a2ca004389d5145d819ff791f965ef9e"/></dir><dir name="Virtual"><file name="Result.php" hash="33f35c946b2285e62a5a1c08c1bb3ec8"/></dir></dir><dir name="Resource"><file name="Entity.php" hash="c5f9ee0f1475f2d4a2075b5cead6199d"/><file name="Formula.php" hash="53b21b55b710d119fc91bbcf841caea2"/><file name="Object.php" hash="9106bec7565a3bedaf2de81b18569157"/><file name="Replicate.php" hash="e4c75872344dde3ed8a04744110faace"/><dir name="Edit"><file name="Session.php" hash="07474c4d34f6ec1cd91ade3e871ec096"/></dir><dir name="Entity"><file name="Collection.php" hash="291cbdeef792ab848175c0ae9bb65fad"/><file name="Indexer.php" hash="9e102278a3cf4e69ead0a34b12d3c91c"/><file name="JsonCollection.php" hash="bf1f5a893a33affb7c1b182f803d600a"/></dir><dir name="Object"><file name="Collection.php" hash="6f7f393abef136226ed22eb8f45d2fdd"/></dir></dir><dir name="sql"><dir name="mana_db_setup"><file name="mysql4-install-11.09.28.09.php" hash="0d8c0873cbbabb1db406e1c0b709b4de"/><file name="mysql4-upgrade-11.09.28.09-11.09.28.10.php" hash="04ccee17b3b04906e8fed2b1ac9214a3"/><file name="mysql4-upgrade-11.10.08.23-11.10.20.22.php" hash="847b24ea006e99af80cc8980ff7ff021"/></dir></dir></dir><dir name="Filters"><dir name="Block"><file name="Filter.php" hash="af52c37fb8b8d83cb2cb0f318818aaee"/><file name="Layer.php" hash="0f8fac9a9277fb6e204a8ed32b164902"/><file name="Search.php" hash="e7c5d74b36406fb181ba149588070f95"/><file name="State.php" hash="c1b960278b23822b9a645f8b29e9e79e"/><file name="View.php" hash="5257cd7eefe0b40f6b479c098dcda36e"/></dir><dir name="etc"><file name="config.xml" hash="cafb094e9188b44b5a289f23e9c2a03c"/></dir><dir name="Helper"><file name="Data.php" hash="521f102ddc19b09476ebe43afad10cd4"/><file name="Extended.php" hash="5b065cc2be0a8b96dc4db32bc8279304"/><file name="Item.php" hash="7f482a48c1e661076ccea3c21f59677c"/></dir><dir name="Interface"><file name="Filter.php" hash="f1aaf305fa9d01c666d5d0801816ced0"/></dir><dir name="Model"><file name="Filter.php" hash="cd3bc9276ff4566802e2d43280394e6f"/><file name="Filter2.php" hash="81ef439832e656d8aad2c6a8d3c2cf47"/><file name="Item.php" hash="23f74f06de263e462f8ea2f096696f8e"/><file name="Observer.php" hash="e835045553a7e4d8d821eed81e6492a1"/><file name="Operation.php" hash="54d01ace78c5b6ba3facf1a2f3255618"/><file name="Query.php" hash="d97c90a1ef471babf2d7375b4aa3eb24"/><file name="Repository.php" hash="e0cf842a98aa5ae27fc107c18f190fab"/><file name="Sort.php" hash="95804fcd46ca143587747dc7dfe9845e"/><dir name="Config"><dir name="Display"><file name="Default.php" hash="e16716300e514ef6ee7fa4c1c5fd3331"/></dir></dir><dir name="Filter"><file name="Attribute.php" hash="fed1e49349cb00230e0db624591b7043"/><file name="Category.php" hash="064e14439f5999f53f04b360a6a25a5b"/><file name="Common.php" hash="522b1695cf4f4f545c7174b90a8b06ba"/><file name="Decimal.php" hash="345c021580768436dab88b304c20229e"/><file name="Default.php" hash="960d7b6f0fd9c32cf9726e11a62cbb1e"/><file name="Price.php" hash="d90bddf4d7ee8ec591e3e71159ad259c"/></dir><dir name="Filter2"><file name="Store.php" hash="d82d20f485c4417bc51a73bcf01cd374"/><file name="Value.php" hash="d3214a80a4c3fe1eb492ce860de8d60b"/><dir name="Value"><file name="Store.php" hash="695bf8aad7ff431fe5a511098cf23f48"/></dir></dir><dir name="Solr"><file name="Attribute.php" hash="c60628b8ec074147918ea7a96e85ecd5"/><file name="Category.php" hash="281864a88dc542de2dd8bd15812a64d4"/><file name="Decimal.php" hash="4c732a1189b7cd5c96ece2f2040c4704"/><file name="Price.php" hash="97f7ffaff98551516113a7e0151c743b"/><dir name="Adapter"><file name="HttpStream.php" hash="e22a03fe69b70da21546b54558a87763"/><file name="PhpExtension.php" hash="f3a9202c874765eda2e978c15dbaaf3c"/></dir><dir name="And"><file name="Attribute.php" hash="3df0798bc675483dd4b327299fc00b33"/></dir><dir name="Reverse"><file name="Attribute.php" hash="c23dc7f104559c3df2f3394438735537"/><file name="Decimal.php" hash="89810a0c5fe707af354d7be73b8dfe36"/><file name="Price.php" hash="bf207efb2854f99a15775f38f019f5b4"/></dir></dir><dir name="Source"><file name="Display.php" hash="509e389d33e3175e304ab67ffdb79325"/><file name="Filterable.php" hash="618680f75072220ad711dec6e220d43b"/><dir name="Display"><file name="All.php" hash="1875630a7565c9655c8c8724dad45bba"/><file name="Attribute.php" hash="d2bd347e70e3924490dff6e57274ff40"/><file name="Category.php" hash="437b3f678edd292a0110529aadfb1530"/><file name="Decimal.php" hash="b432f32e93fb1991f8882bfe25f0514e"/><file name="Price.php" hash="c6a017240beaf76666e9f702a9fcd48d"/></dir></dir></dir><dir name="Resource"><file name="Filter.php" hash="e74d789c7751fe0a126b38ab0bd3ac40"/><file name="Filter2.php" hash="ed398f976465a24464e92566a9b41f6a"/><file name="Item.php" hash="c90c3eb3649317e1746065ee3e15f44a"/><file name="ItemAdditionalInfo.php" hash="af989c2a78aadbe51831d216b6c54643"/><file name="Setup.php" hash="83b12b7939ac1c7696360f77304d9d84"/><dir name="EnterpriseSearch"><file name="Engine.php" hash="51d77208587d1c55c8d508a3024bd269"/></dir><dir name="Filter"><file name="Attribute.php" hash="db4bec9fe85abd13193a491ef533da27"/><file name="Collection.php" hash="6831f054791977048641d43c288ff53c"/><file name="Decimal.php" hash="472f527ca55851d319d28ad4119e38ac"/><file name="Price.php" hash="b165981a092366d05b3537c4684e6087"/><dir name="And"><file name="Attribute.php" hash="cdc41ca223083360b35bd5f455733cd8"/></dir><dir name="Attribute"><file name="Collection.php" hash="c854270f63ca3bfd44cfd6ab27888676"/></dir><dir name="Collection"><file name="Derived.php" hash="5240ac10d2989122c49665919a9555ff"/></dir><dir name="Reverse"><file name="Attribute.php" hash="0be2e3f5eef03862e13b37deb1f7f7a3"/><file name="Decimal.php" hash="9d9974cf64c5178812bcc6fca83bc9ff"/><file name="Price.php" hash="3be48facf6596b618fc0a621f625d460"/></dir></dir><dir name="Filter2"><file name="Collection.php" hash="822b71198d05e41e90d096cb7cc47fa5"/><file name="Store.php" hash="4c430d687e9ae90ec36a9faa1c283aa1"/><file name="Value.php" hash="ea33d71787937002c2c794df69b982a8"/><dir name="Store"><file name="Collection.php" hash="7998c9394089d23d21db58a4023cc180"/></dir><dir name="Value"><file name="Collection.php" hash="3273b517dd65a46034cb3ef8adb3c610"/><file name="Store.php" hash="48d9631e8d34b15a72fc22e6bb3a98c2"/><dir name="Store"><file name="Collection.php" hash="073931492acfc99a3b5cd1ecf7113982"/></dir></dir></dir><dir name="Indexer"><file name="Source.php" hash="251589738ea54dcf6e986921f3810931"/></dir><dir name="Solr"><file name="Attribute.php" hash="f2b30e509881147f2f73ede11ac2fbed"/><file name="Collection.php" hash="9b35d28e731fc47f420447251a5e976b"/><file name="Engine.php" hash="e3c3306e436e6943aa10f9b1a77404be"/><dir name="And"><file name="Attribute.php" hash="a7dd5fbb9388a4b73efeeaa7e91a9b7b"/></dir><dir name="Reverse"><file name="Attribute.php" hash="1084278692e5ffe1d16640b530e33662"/></dir></dir></dir><dir name="sql"><dir name="mana_filters_setup"><file name="mysql4-install-1.1.1.php" hash="22f7381b5ea9261a2e8a00fda28f28ef"/><file name="mysql4-upgrade-1.1.1-1.9.1.php" hash="04c761bab20de6e0fed68e141fb68112"/><file name="mysql4-upgrade-11.09.24.09-11.09.28.09.php" hash="a007f769d492c43b1e7a583a2763300a"/><file name="mysql4-upgrade-11.10.19.18-11.10.23.01.php" hash="ef0b7b4f4530e5b01f349e3d534ebb16"/><file name="mysql4-upgrade-12.01.14.09-12.01.15.14.php" hash="001d8e035bc798d8779c29ac38912543"/><file name="mysql4-upgrade-12.04.10.23-12.04.17.18.php" hash="48f2d8cc8ca6afe014a95dea808e5087"/><file name="mysql4-upgrade-12.10.25.17-12.10.25.18.php" hash="5d726b388ac30fc00cd95bb86ab5641b"/><file name="mysql4-upgrade-12.11.02.16-12.11.13.15.php" hash="11fc0db6ff2f56fe95bfaf89ab758f61"/><file name="mysql4-upgrade-13.09.11.14-13.09.23.17.php" hash="aca62ea5d13c5bc3259a48e5cd4d5282"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Mana_Core.xml" hash="0ca7883c0f5fcaa12b32842f142f92eb"/><file name="Mana_Db.xml" hash="9b4669b284f2a688e165abaac373c358"/><file name="Mana_Filters.xml" hash="1a5a180ae37f2b369a2c8ce2d2d120b1"/></dir></target></contents>
16
  <compatible/>
17
  <dependencies/>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Mana_Filters</name>
4
+ <version>14.11.25.15</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL 3.0)</license>
7
  <channel>community</channel>
10
  <description>Add multiple selection features for attribute and price filters in Magento layered navigation</description>
11
  <notes>Adds multiple selection features for attribute and price filters in Magento layered navigation.</notes>
12
  <authors><author><name>Mana Team</name><user>auto-converted</user><email>team@manadev.com</email></author></authors>
13
+ <date>2014-11-26</date>
14
+ <time>11:15:47</time>
15
+ <contents><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><file name="mana_core.css" hash="cdc7b84e7e3e73b182cf7ed02bbc76a8"/></dir><dir name="images"><dir name="mana_core"><file name="m-wait.gif" hash="1ae32bc8232ff2527c627e5b38eb319a"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="jquery"><file name="ui.css" hash="4ab351feeb25bfbcb84f61e722545525"/><dir name="images"><file name="animated-overlay.gif" hash="2b912f7c0653008ca28ebacda49025e7"/><file name="ui-bg_diagonals-thick_18_b81900_40x40.png" hash="95f9cceeb9d742dd3e917ec16ed754f8"/><file name="ui-bg_diagonals-thick_20_666666_40x40.png" hash="f040b255ca13e693da34ab33c7d6b554"/><file name="ui-bg_flat_0_aaaaaa_40x100.png" hash="2a44fbdb7360c60122bcf6dcef0387d8"/><file name="ui-bg_flat_10_000000_40x100.png" hash="c18cd01623c7fed23c80d53e2f5e7c78"/><file name="ui-bg_flat_75_ffffff_40x100.png" hash="8692e6efddf882acbff144c38ea7dfdf"/><file name="ui-bg_glass_55_fbf9ee_1x400.png" hash="f8f4558e0b92ff2cd6136781533902ec"/><file name="ui-bg_glass_65_ffffff_1x400.png" hash="e5a8f32e28fd5c27bf0fed33c8a8b9b5"/><file name="ui-bg_glass_75_dadada_1x400.png" hash="c12c6510dad3ebfa64c8a30e959a2469"/><file name="ui-bg_glass_75_e6e6e6_1x400.png" hash="f4254356c2a8c9a383205ef2c4de22c4"/><file name="ui-bg_glass_95_fef1ec_1x400.png" hash="5a3be2d8fff8324d59aec3df7b0a0c83"/><file name="ui-bg_glass_100_f6f6f6_1x400.png" hash="5f1847175ba18c41322cb9cb0581e0fb"/><file name="ui-bg_glass_100_fdf5ce_1x400.png" hash="d386adb3d23db4588a3271526a530f51"/><file name="ui-bg_gloss-wave_35_f6a828_500x100.png" hash="34c616d227cbdaefd8a81534d6ca7813"/><file name="ui-bg_highlight-soft_75_cccccc_1x100.png" hash="72c593d16e998952cd8d798fee33c6f3"/><file name="ui-bg_highlight-soft_75_ffe45c_1x100.png" hash="b806658954cb4d16ade8977af737f486"/><file name="ui-bg_highlight-soft_100_eeeeee_1x100.png" hash="384c3f17709ba0f809b023b6e7b10b84"/><file name="ui-icons_2e83ff_256x240.png" hash="25162bf857a8eb83ea932a58436e1049"/><file name="ui-icons_228ef1_256x240.png" hash="79f41c0765e9ec18562b20b0801d748b"/><file name="ui-icons_222222_256x240.png" hash="9129e086dc488d8bcaf808510bc646ba"/><file name="ui-icons_454545_256x240.png" hash="771099482bdc1571ece41073b1752596"/><file name="ui-icons_888888_256x240.png" hash="faf6f5dc44e713178784c1fb053990aa"/><file name="ui-icons_cd0a0a_256x240.png" hash="5d8808d43cefca6f6781a5316d176632"/><file name="ui-icons_ef8c08_256x240.png" hash="380c866362e1e42896f973ea92f67013"/><file name="ui-icons_ffd27a_256x240.png" hash="2a20f483ddcbc84e6469ce5bbd280699"/><file name="ui-icons_ffffff_256x240.png" hash="342bc03f6264c75d3f1d7f99e34295b9"/></dir></dir><file name="mana_core.css" hash="4b45e64cd88e3fcb70ccb3f1c4f39917"/><file name="mana_filters.css" hash="1d9769421d9cd76993bb033107363821"/></dir><dir name="images"><dir name="mana_core"><file name="m-wait.gif" hash="1ae32bc8232ff2527c627e5b38eb319a"/></dir></dir></dir></dir><dir name="rwd"><dir name="default"><dir name="css"><file name="mana_core.css" hash="c8533f81b029f25db3e3396cd75e779b"/><file name="mana_filters.css" hash="8b5cb1b1c480a051bed60ed64af2d790"/></dir><dir name="images"><dir name="mana_core"><file name="m-wait.gif" hash="79d9787b05ea3e0e5e1e7b23a357bca0"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="mana_core.xml" hash="cc0feb9124aa77e1f323b61cf504c204"/></dir><dir name="template"><dir name="mana"><dir name="core"><file name="js.phtml" hash="53a4035fe21537c0cd7fde286ed4a611"/><file name="popup.phtml" hash="e2823a07a8eefcad23f1ea416e95f84c"/><file name="require.phtml" hash="b85203a9ecf3808b5cdde85fcb03ec6e"/><file name="wait.phtml" hash="7c0ffe76e7b3aca2163d9ecc5145e81b"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="mana_core.xml" hash="67573b93ead87e30c31eedf5f39af2a2"/><file name="mana_filters.xml" hash="51005a99382d5450fbc6ea239bbbc7a2"/></dir><dir name="template"><dir name="mana"><dir name="core"><file name="js.phtml" hash="1aa41c842f1984142a864f667f99d33b"/><file name="popup.phtml" hash="e2823a07a8eefcad23f1ea416e95f84c"/><file name="require.phtml" hash="b85203a9ecf3808b5cdde85fcb03ec6e"/><file name="wait.phtml" hash="2fdb82f90c1aa8705fa76f500b967fef"/></dir><dir name="filters"><file name="cms.phtml" hash="b4c954289a496a8e79bddac6f89abbbe"/><file name="state.phtml" hash="9f49dcb0fa2e99652e02b9891d4ea7d8"/><dir name="items"><file name="list.phtml" hash="f5e0ac3cea381560e83d536433e303c7"/><file name="list_popup.phtml" hash="ff8d08726080a7eee21a85282d5294a4"/><file name="list_special.phtml" hash="2e930f38fbcd7b942d70adfb5307e305"/><file name="standard.phtml" hash="5c125504a6674f6eac8ea6ebd2c7ed1e"/><file name="standard_popup.phtml" hash="5318ff7766dce895a033ca0cea8a12d6"/></dir></dir></dir></dir></dir></dir><dir name="rwd"><dir name="default"><dir name="layout"><file name="mana_filters.xml" hash="5aa157d9c8f9cdb68c7d0c03c1e8a0f3"/></dir><dir name="template"><dir name="mana"><dir name="filters"><dir name="items"><file name="list.phtml" hash="1adf0a61f5a3a216939ae03daaae7080"/><file name="standard.phtml" hash="983c40cf9136b3b879d2d1a41bdccbf6"/></dir></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Mana_Core.csv" hash="264b6e6e44c593af6f79b93875091672"/><file name="Mana_Db.csv" hash="754c3b5f318886cb1eae04af5e841ada"/><file name="Mana_Filters.csv" hash="7a4c41f5f3d3a4f4389db3ba7cac53e4"/></dir></target><target name="mageweb"><dir name="js"><dir name="jquery"><file name="advListRotator.js" hash="6629920522d9fd8364469abe1ae705c9"/><file name="fileuploader.js" hash="164c23d4b94b5424c8e1c00057d45ce4"/><file name="froogaloop.js" hash="aefc485211db6c55726e13759063d312"/><file name="froogaloop.min.js" hash="d39fd09571c0cae46b8c35d75cffeb77"/><file name="history.adapter.jquery.js" hash="b930b14f725f7f882a06b834a486cc4c"/><file name="history.js" hash="89898d2f67eecb9f819588dcad2c8717"/><file name="jquery-ui.js" hash="6ac9f97eaab22d1a1f91572a20ef516b"/><file name="jquery-ui.min.js" hash="c1e83e4d225186ec057ea9eb18742dea"/><file name="jquery.easing.js" hash="cc674e02a06874bb5888ede6e0b1c977"/><file name="jquery.flexslider-min.js" hash="c236f33e84d73c1a873ec63cc25d7bd1"/><file name="jquery.js" hash="a581ffd88c93e2125e42f7ecb363739f"/><file name="jquery.min.js" hash="f8a9d24fe8df43991da1c0dd0dd9d1af"/><file name="jquery.noconflict.js" hash="0da09155d7323809b48494da0846bf34"/><file name="jquery.printf.js" hash="71e34de7c90b12d738ca6b912fef04da"/><file name="require.js" hash="a7afdceabeb04107653fdc7d274a00d1"/><file name="require.min.js" hash="215507e3b7eb905c61e436921c5736bd"/><dir name="validate"><file name="jquery.validate.js" hash="0bb7a2f5eea19acc7bb65f6c82ec15fb"/><dir name="localization"><file name="messages_ar.js" hash="a42cc9c91da7c4f6d2f48492dda14273"/><file name="messages_bg.js" hash="bc4ebf054b6a399abf518ef28bbad839"/><file name="messages_cn.js" hash="886e45b3ffd60a683ecc8e6ea644e519"/><file name="messages_cs.js" hash="6b794f90ab955c17fe02b6553876050c"/><file name="messages_da.js" hash="cc862df2998db2cc18c8276aa7bfe0f0"/><file name="messages_de.js" hash="70a9eb9abfc4365f36718b06b38f6725"/><file name="messages_el.js" hash="bd18b65d9f876e12997281e09d2a8bf3"/><file name="messages_es.js" hash="2f3a18c6d0377bc4658839a070853ed7"/><file name="messages_fa.js" hash="e32dd026bd9d2f626b7371bf025eb5c1"/><file name="messages_fi.js" hash="d8810a4f5b025594129f32957e521210"/><file name="messages_fr.js" hash="3081f76c1368d03d2e1a84a7ed9748e2"/><file name="messages_he.js" hash="028af705c2c07e946ce6de5e63223611"/><file name="messages_hu.js" hash="7612f6525fd5922f970d40b5929c88bb"/><file name="messages_it.js" hash="824964b0dcf1ea4904d18a125ff10b09"/><file name="messages_kk.js" hash="28c0dac0417ec5e0ec9271bfd11b7129"/><file name="messages_lt.js" hash="ef0a5dea6d4bfe7965ff9c719238f2b0"/><file name="messages_lv.js" hash="6d1d834333de4f018259481658d79e85"/><file name="messages_nl.js" hash="9f8aad8e3d769b0a636a02c672044232"/><file name="messages_no.js" hash="1a00dddbef393a2b8bc2e78934243566"/><file name="messages_pl.js" hash="28cea41b05ff80cc721b6896a2f658ba"/><file name="messages_ptbr.js" hash="194f1a4cbe9483dea4363400e046b923"/><file name="messages_ptpt.js" hash="3a9a7730cc461866e37f2cd8b0507f3a"/><file name="messages_ro.js" hash="eaf4c868e8fde6f5dee2f0a3ee0cbe12"/><file name="messages_ru.js" hash="e3d6e8809230c758b95438de4c783474"/><file name="messages_se.js" hash="b80035c9f1fdfba7c7f523838ec6510b"/><file name="messages_sk.js" hash="9e1b0a7378aff7add6100dc3c3e8d80c"/><file name="messages_tr.js" hash="7ecf31a65c2eefd8c7da62f65ccf33a7"/><file name="messages_tw.js" hash="b660609f8ddf6b17d71b72aa43512f1f"/><file name="messages_ua.js" hash="80e565078f016c8ea1cffc6c8cdd5a93"/><file name="methods_de.js" hash="a9d8792f8e46298165daaf4e9a5d98ad"/><file name="methods_nl.js" hash="8505eec534134eac849adca1cf8f2f9d"/><file name="methods_pt.js" hash="09b350c9c069b5a82d5811339ac15ab6"/></dir></dir></dir><dir name="mana"><file name="core.js" hash="50a499ad52d5155e6edaf7cad2f7e778"/><file name="core.js.map" hash="7ed0105807c60a60ef8027479f7007c7"/><file name="core.min.js" hash="7537021875f5a04f140258d91bb3bfc5"/></dir><dir name="src"><dir name="Mana"><dir name="Core"><file name="Ajax.js" hash="a4adb98a7e0e46efb596ef46d12f591c"/><file name="Base64.js" hash="32c5eca8e7ae6860935f6026c810bb7f"/><file name="Block.js" hash="aa31f18ce505d2c43ddfac845b3516d6"/><file name="Config.js" hash="2592b48b066c51fad272c471c14e1ca1"/><file name="Core.js" hash="2b29cb91249da92b4aa6a180d38a4f4b"/><file name="header.js" hash="53b9f4625f72a5e2d93edbc0129c1b82"/><file name="init.js" hash="e05d11b113604d27530c83bb9ff557cb"/><file name="Json.js" hash="226ab2f431754f2338aec47ecaabf720"/><file name="Layout.js" hash="e8c17f6f40c5d768a57cd73da2c575cd"/><file name="Mana.js" hash="fa1102a7f579b5dda5db1f2dfa848672"/><file name="Object.js" hash="e15ad2bbac3d4729b1bc7499415fd0e9"/><file name="obsolete.js" hash="6c05b74822091b64f27019f433afb5ec"/><file name="PageBlock.js" hash="4798d5992ded92dc472bde54486327cc"/><file name="PopupBlock.js" hash="22bdd511747703b95d267a9d649e3d8e"/><file name="rwd.js" hash="3bbb8b6175369e03560444faa9061264"/><file name="StringTemplate.js" hash="7cd14ce2f038bf9d1f88c516f0ec11a3"/><file name="UrlTemplate.js" hash="340bfd288bfdbe53e562fac6f81ee1c7"/><file name="Utf8.js" hash="a7381e9d7e3b54f8169d58ad660c8f13"/></dir></dir></dir></dir></target><target name="magelocal"><dir name="Mana"><dir name="Core"><file name="Profiler.php" hash="750f9a6490534be89ef5a55ddf62db21"/><file name="Profiler2.php" hash="65d3000031d885779b195558cecc159a"/><dir name="Block"><file name="Js.php" hash="23b65253ab9b20b0c80f5cb30b25e63f"/><file name="List.php" hash="8a54149b3d24b8f1447ee77dc7c691ed"/><file name="Require.php" hash="39764e20e72f331223f1ad85a21c15a3"/><file name="Singleton.php" hash="74e1cb457680fb2f999af95fa3af26c2"/></dir><dir name="etc"><file name="adminhtml.xml" hash="6245429c5bc31a6b9667afe2e714cdb9"/><file name="config.xml" hash="1724ef23c2b6347ba451dffb2df7b8c2"/><file name="system.xml" hash="107f9fc56e6b83ceb92fa20bfcc93705"/></dir><dir name="Exception"><file name="Validation.php" hash="fea7418326430c7acd04c34d8a4b3f07"/></dir><dir name="Helper"><file name="Data.php" hash="e08ef5d31e210c3f5f0a1519b5318568"/><file name="Db.php" hash="8f63c21d8e5d1feda88727d222a233a3"/><file name="Debug.php" hash="6fd3859ac2e817d36aadd8ba6c47405a"/><file name="Eav.php" hash="9a801730d87f636cdd612c83528d9998"/><file name="Files.php" hash="d0f013090c6266c8e39d7b095985ba27"/><file name="Image.php" hash="75ade04d12f104d05314f2d9343ec539"/><file name="Js.php" hash="a9866a72f35c584a0c4684d4b2a371dd"/><file name="Json.php" hash="39f860c7189913faad31b234903ea6d6"/><file name="Layer.php" hash="f1d1197dc115ef8680d7bfeb0ef11c84"/><file name="Layout.php" hash="32d6016c0ddad2f414791dee4712c13e"/><file name="Lock.php" hash="7567ccb21cef8c90dac0e9bbac321801"/><file name="Logger.php" hash="6fc13c5afbd795a4d0ecfe9c576baaac"/><file name="Mbstring.php" hash="1702040a0138b88445a36bdd23d44566"/><file name="PageType.php" hash="78c1ed2f6353d29f2f8ed580014176a2"/><file name="Router.php" hash="9713a66ad89d22b0d0a5c6d5a5937ae6"/><file name="Seo.php" hash="b8aafbf9d4ec1d796e83c9ff2f7fac0b"/><file name="StringTemplate.php" hash="a7720417ae715c37eb155853e3e84f90"/><file name="UrlTemplate.php" hash="2e04649154b3c1a80e40df17cc1846a6"/><file name="Utils.php" hash="611650a169c7747bbc8177dcd31ee2a4"/><dir name="Db"><file name="Aggregate.php" hash="ee2b6086c62e6870d2139b3e8f619bdc"/></dir><dir name="PageType"><file name="Category.php" hash="22851b663096414aa80a6504ff6d1196"/><file name="CmsPage.php" hash="a54ea981e73b877a9ec63023be79b1e5"/><file name="HomePage.php" hash="64891fa7d23b59fc14ad38d2e9fc2f4b"/><file name="Search.php" hash="3b0e7e11924e950f0d9a2d30e7a83118"/></dir></dir><dir name="Model"><file name="Callback.php" hash="2e8955cf399ea302e8b19c6ccb999cc5"/><file name="Closure.php" hash="f1456fc3e6aa04906339198be3a0a544"/><file name="Eav.php" hash="ed4adbb339497fefe1db29a59c2ed110"/><file name="Indexer.php" hash="d0e5a2c7f12a484336d3baa529ba41dc"/><file name="Object.php" hash="dcb759ec94621a28c4e531715813513c"/><file name="Observer.php" hash="ca5d42b0d4bef6a312575f07df964d2d"/><dir name="Attribute"><file name="Scope.php" hash="7277aac766688c59886cff561b8c44a3"/></dir><dir name="Condition"><file name="Abstract.php" hash="2b4cb990a9c690d7a1f5033e5a97cc3c"/><file name="Combine.php" hash="ee16e0a17610f5b08bc04b2f2967820b"/></dir><dir name="Config"><file name="Default.php" hash="b69bd384a59f38f214f565d21af1ca3a"/></dir><dir name="Html"><file name="Filter.php" hash="ca77f8b76bd39d00001d6dfb12ff6929"/><file name="Parser.php" hash="5f4c098e69b582025f909ddeeab6e630"/><file name="Reader.php" hash="41a66c26ce51f3803eba50cea5b95d96"/><file name="State.php" hash="5952deebd020273729594ace8a2cae9b"/><file name="Token.php" hash="5c7a4ef3150a35b8a6bf9e296e53e739"/></dir><dir name="Source"><file name="Abstract.php" hash="bb05e3ce9f5e01ef2843a5a558a86fd8"/><file name="Config.php" hash="59b1d6927157e4b34bde55794a7a86be"/><file name="Country.php" hash="cd5c9dd00c4456db2e6b4f6316303a8c"/><file name="Design.php" hash="8c033c3585d0bf0bc31a95cbbbf7d4c4"/><file name="Js.php" hash="71852d9a46c5fca27d4b0403e9ee19d9"/><file name="Layout.php" hash="4eb47f747d5a91983fb62e802ec51793"/><file name="Status.php" hash="d4fdf128e0c4cf088f654baf426c5f0f"/><file name="Yesno.php" hash="3082e75e81e111aed0ac9f1cc17e579e"/><file name="YesNoDefault.php" hash="4a13c8de30d7f27b71dac16bbf1e18ae"/></dir></dir><dir name="Resource"><file name="Eav.php" hash="2ada400977d3a8b0883a03998e1a4e47"/><file name="Indexer.php" hash="6ced1a9ad6696345071a189c8c3e657d"/><file name="JsonCollection.php" hash="5a1c91aace6564fc62c3eeeddc0cd03b"/><dir name="Attribute"><file name="Collection.php" hash="7f01d6480b5110a431a5b50571a9ec62"/></dir><dir name="Eav"><file name="Collection.php" hash="5153a97a4021aebced2b0a538d10b4e7"/><file name="Setup.php" hash="13360360cbfada91713159a38c82e6b2"/><dir name="Collection"><file name="Derived.php" hash="03a87d87a781c8256b6414fb132ed30e"/></dir></dir><dir name="Virtual"><file name="Collection.php" hash="ac2d11980e9dc015ed0cfbe12fbf3fc7"/></dir></dir><dir name="Rewrite"><dir name="PageCache"><file name="Processor.php" hash="d5175e3a150d92ec32016654c8a7988a"/></dir></dir><dir name="sql"><dir name="mana_core_setup"><file name="mysql4-install-1.1.1.php" hash="a169406e2cc37282d001e9415eda219a"/></dir></dir></dir><dir name="Db"><dir name="etc"><file name="config.xml" hash="03b75095a6c89342032e58fc8fbc1da7"/><file name="m_db.xml" hash="7fb95c96ed440dfc5efb8d3ed598dd20"/></dir><dir name="Exception"><file name="Formula.php" hash="f791f3d718241b9b004ae1719dd8fca8"/><file name="Validation.php" hash="7238432db3b3a24615dc186e60afc546"/></dir><dir name="Helper"><file name="Config.php" hash="947e93e74329de11cffe102dad3b5002"/><file name="Data.php" hash="a35a41643d9c5e875d0e8e2dbfa8d4d1"/><file name="Formula.php" hash="c5761ee937e3490d1508a3ed0cfac805"/><dir name="Formula"><file name="Abstract.php" hash="88283737316ebd8cafddce5e42ac2bd8"/><file name="DependencyFinder.php" hash="480e4097ef5e9b21c527f5c61dbd3987"/><file name="Entity.php" hash="e5f500a86b18b37dd43fc8ab151fd204"/><file name="Evaluator.php" hash="8dc9cf1b9ddf8cefd053909ba841d985"/><file name="Function.php" hash="db3fb341c32f9c285d37df84a36fb82c"/><file name="Parser.php" hash="7828e59f31c03e31da92a889b4e8b52f"/><file name="Processor.php" hash="4bf7bfa8a2cdcfbecaede6ab3aa67f04"/><file name="Selector.php" hash="91bee56da8ee75aa06edacb19cb925b9"/><dir name="Entity"><file name="Aggregate.php" hash="fab53a31e480228474de7015100d6498"/><file name="Foreign.php" hash="6d4159dcb6ff3f7e5a958b6e891057c1"/><file name="Frontend.php" hash="4bef999e0ca552c3fa8b518c36b6e239"/><file name="Normal.php" hash="6a91af1bd600ca9b8be40ee5be5c4fa5"/><dir name="Aggregate"><file name="Field.php" hash="682fc6e82caf400025ba22f6b1c40156"/></dir></dir><dir name="Function"><file name="Count.php" hash="62d463301d3eac82f9f8c2952cc23ed4"/><file name="Glue.php" hash="00abff0970bc94ef46ebdb91d773ab02"/><file name="If.php" hash="215287632f25bd541fe29051cc11fba4"/><file name="Lower.php" hash="7e91d1e618e66d262b0967f0a053adfd"/><file name="Seo.php" hash="70ce3da277c48fc84363c58baba3dd37"/><file name="SkinUrl.php" hash="059ac4b6d44bf7714886c023c30a1490"/></dir><dir name="Processor"><file name="Eav.php" hash="722b0888661d38b399f74eaf9ec4247e"/><file name="Entity.php" hash="b3d6e11b78cf782c9eae78ce1eefd155"/><file name="System.php" hash="c7a3c7bf6194b041dd17dc2b3a605f6f"/><file name="Table.php" hash="771155e0a194fcf7a821e51172100138"/></dir></dir></dir><dir name="Model"><file name="Entity.php" hash="88e63ed2ebdeb129757d7acbd6f4d805"/><file name="Indexer.php" hash="8596a12b7ee26e686937cef3d2985685"/><file name="Object.php" hash="91dac5c80f75dcb81c1aadaa8984b466"/><file name="Observer.php" hash="d52dc7c597890e130a6d0ee92846fa89"/><file name="Setup.php" hash="637ff1d605b453dacf2565587c78a8d9"/><file name="Validation.php" hash="f2dd026c3d73f3fd345e1b7abde51e7d"/><dir name="Entity"><file name="Indexer.php" hash="80ea5030912a762f6c1ccfaadbfbbc54"/></dir><dir name="Formula"><file name="Alias.php" hash="d14575f9f0477021a2e53ff1fd9c5501"/><file name="Closure.php" hash="d773c0f5ed1f593acb5458bfb3187a7b"/><file name="Context.php" hash="5fd16cf22bc1bac09856606ee0d0a141"/><file name="Entity.php" hash="c0eb7a9362996c104bde5cd2c469db10"/><file name="Expr.php" hash="b739ab589ea0e3378e32c12a69ba78cc"/><file name="Field.php" hash="d00b8c25724e34f6cad819edf1497ede"/><file name="Node.php" hash="e28d2d8d0af762abbe3b9677937103fe"/><dir name="Alias"><file name="Array.php" hash="6719df8e4123c881980f5a2b6ef93a8f"/><file name="Empty.php" hash="93e05898f60e111f12b5febb119305dd"/><file name="Single.php" hash="8603f08d6415110c8c0f04a805055fab"/></dir><dir name="Closure"><file name="AggregateFieldJoin.php" hash="f1d19cb54eaf620d038508b7ad31fc60"/><file name="ForeignJoin.php" hash="b07167a5ef2a7caf479266269f232edf"/><file name="ForeignJoinEnd.php" hash="6b9000298615ce69eadc04e707fbe17f"/><file name="Join.php" hash="b8d368c1042754f18d027027acccb27a"/></dir><dir name="Node"><file name="Add.php" hash="22f6ec02b3226ce2c9313f713d1b03fb"/><file name="Field.php" hash="93c6bf27b93091ebe7672500e7e94e48"/><file name="FormulaExpr.php" hash="b6a36a818533775fa778c6dc66ec40f7"/><file name="FunctionCall.php" hash="bac31778c670aca74c9db49dcb40007a"/><file name="Identifier.php" hash="a38aa478e6485ef9ea95fb0758c2ea49"/><file name="Multiply.php" hash="292881a092500642e4d98aeb33aa2f75"/><file name="NullValue.php" hash="2ddeb334ac3e12cdec1b413904e02210"/><file name="NumberConstant.php" hash="fd2524859dc3ed2a3fb46468b8352f72"/><file name="StringConstant.php" hash="04cdb7baa502e001dfb35af748efde30"/></dir></dir><dir name="Replication"><file name="Target.php" hash="b918ef992096a72080a743352385b64b"/></dir><dir name="Setup"><file name="Abstract.php" hash="d8e84857de7b1cdb6ba6c03e5f4aa867"/><file name="V13012122.php" hash="a2ca004389d5145d819ff791f965ef9e"/></dir><dir name="Virtual"><file name="Result.php" hash="33f35c946b2285e62a5a1c08c1bb3ec8"/></dir></dir><dir name="Resource"><file name="Entity.php" hash="c5f9ee0f1475f2d4a2075b5cead6199d"/><file name="Formula.php" hash="53b21b55b710d119fc91bbcf841caea2"/><file name="Object.php" hash="9106bec7565a3bedaf2de81b18569157"/><file name="Replicate.php" hash="e4c75872344dde3ed8a04744110faace"/><dir name="Edit"><file name="Session.php" hash="07474c4d34f6ec1cd91ade3e871ec096"/></dir><dir name="Entity"><file name="Collection.php" hash="291cbdeef792ab848175c0ae9bb65fad"/><file name="Indexer.php" hash="9e102278a3cf4e69ead0a34b12d3c91c"/><file name="JsonCollection.php" hash="e2f66cce960914674366bc4b54603650"/></dir><dir name="Object"><file name="Collection.php" hash="6f7f393abef136226ed22eb8f45d2fdd"/></dir></dir><dir name="sql"><dir name="mana_db_setup"><file name="mysql4-install-11.09.28.09.php" hash="0d8c0873cbbabb1db406e1c0b709b4de"/><file name="mysql4-upgrade-11.09.28.09-11.09.28.10.php" hash="04ccee17b3b04906e8fed2b1ac9214a3"/><file name="mysql4-upgrade-11.10.08.23-11.10.20.22.php" hash="847b24ea006e99af80cc8980ff7ff021"/></dir></dir></dir><dir name="Filters"><dir name="Block"><file name="Filter.php" hash="bfbc2dc381f8ec2cb3a2f3eecff673f6"/><file name="Layer.php" hash="cfc87dab28d7a269a987840cd52b84db"/><file name="Search.php" hash="e7c5d74b36406fb181ba149588070f95"/><file name="State.php" hash="5259384f8b24da0e737fde2d7ffcfd93"/><file name="View.php" hash="5257cd7eefe0b40f6b479c098dcda36e"/></dir><dir name="etc"><file name="config.xml" hash="910a53d815900b5edb63a4525eefac3e"/></dir><dir name="Helper"><file name="Data.php" hash="9037b11c2450bd0661d96aadbf031968"/><file name="Extended.php" hash="5b065cc2be0a8b96dc4db32bc8279304"/><file name="Item.php" hash="7f482a48c1e661076ccea3c21f59677c"/></dir><dir name="Interface"><file name="Filter.php" hash="f1aaf305fa9d01c666d5d0801816ced0"/></dir><dir name="Model"><file name="Filter.php" hash="cd3bc9276ff4566802e2d43280394e6f"/><file name="Filter2.php" hash="81ef439832e656d8aad2c6a8d3c2cf47"/><file name="Item.php" hash="a9c7bad2c855698387135d8b0cbd5610"/><file name="Observer.php" hash="e835045553a7e4d8d821eed81e6492a1"/><file name="Operation.php" hash="54d01ace78c5b6ba3facf1a2f3255618"/><file name="Query.php" hash="b37cef8c7b24752661fb340e0d78e807"/><file name="Repository.php" hash="e0cf842a98aa5ae27fc107c18f190fab"/><file name="Sort.php" hash="95804fcd46ca143587747dc7dfe9845e"/><dir name="Config"><dir name="Display"><file name="Default.php" hash="e16716300e514ef6ee7fa4c1c5fd3331"/></dir></dir><dir name="Filter"><file name="Attribute.php" hash="61d312cb5095bcc2f474b23f8c3afd82"/><file name="Category.php" hash="cc18ac1c3f47fda27fc74086d867c18f"/><file name="Common.php" hash="522b1695cf4f4f545c7174b90a8b06ba"/><file name="Decimal.php" hash="43bd8e5b3d47e19a156a15bf14a248a2"/><file name="Default.php" hash="960d7b6f0fd9c32cf9726e11a62cbb1e"/><file name="Price.php" hash="14c50f49106ea768d537465d3d1775e7"/></dir><dir name="Filter2"><file name="Store.php" hash="d82d20f485c4417bc51a73bcf01cd374"/><file name="Value.php" hash="d3214a80a4c3fe1eb492ce860de8d60b"/><dir name="Value"><file name="Store.php" hash="695bf8aad7ff431fe5a511098cf23f48"/></dir></dir><dir name="Solr"><file name="Attribute.php" hash="c60628b8ec074147918ea7a96e85ecd5"/><file name="Category.php" hash="281864a88dc542de2dd8bd15812a64d4"/><file name="Decimal.php" hash="4c732a1189b7cd5c96ece2f2040c4704"/><file name="Price.php" hash="33d267665ed583da42a0001a5e575426"/><dir name="Adapter"><file name="HttpStream.php" hash="e8ae626402b1403e7cbcb5f692aa76ee"/><file name="PhpExtension.php" hash="847d0e30ec5aef0ddb1dfe5fe150e30f"/></dir><dir name="And"><file name="Attribute.php" hash="3df0798bc675483dd4b327299fc00b33"/></dir><dir name="Reverse"><file name="Attribute.php" hash="c23dc7f104559c3df2f3394438735537"/><file name="Decimal.php" hash="89810a0c5fe707af354d7be73b8dfe36"/><file name="Price.php" hash="bf207efb2854f99a15775f38f019f5b4"/></dir></dir><dir name="Source"><file name="Display.php" hash="509e389d33e3175e304ab67ffdb79325"/><file name="Filter.php" hash="7f62fe307f6e83dbdb018e41e09c1087"/><file name="Filterable.php" hash="618680f75072220ad711dec6e220d43b"/><dir name="Display"><file name="All.php" hash="1875630a7565c9655c8c8724dad45bba"/><file name="Attribute.php" hash="d2bd347e70e3924490dff6e57274ff40"/><file name="Category.php" hash="437b3f678edd292a0110529aadfb1530"/><file name="Decimal.php" hash="b432f32e93fb1991f8882bfe25f0514e"/><file name="Price.php" hash="c6a017240beaf76666e9f702a9fcd48d"/></dir></dir></dir><dir name="Resource"><file name="Filter.php" hash="e74d789c7751fe0a126b38ab0bd3ac40"/><file name="Filter2.php" hash="ed398f976465a24464e92566a9b41f6a"/><file name="Item.php" hash="c90c3eb3649317e1746065ee3e15f44a"/><file name="ItemAdditionalInfo.php" hash="af989c2a78aadbe51831d216b6c54643"/><file name="Setup.php" hash="83b12b7939ac1c7696360f77304d9d84"/><dir name="EnterpriseSearch"><file name="Engine.php" hash="51d77208587d1c55c8d508a3024bd269"/></dir><dir name="Filter"><file name="Attribute.php" hash="5d8d60c67a2295bb690bf755247ff9cc"/><file name="Collection.php" hash="6831f054791977048641d43c288ff53c"/><file name="Decimal.php" hash="472f527ca55851d319d28ad4119e38ac"/><file name="Price.php" hash="a7141e1bb1ff424b6ccff608ab245fd9"/><dir name="And"><file name="Attribute.php" hash="cdc41ca223083360b35bd5f455733cd8"/></dir><dir name="Attribute"><file name="Collection.php" hash="c854270f63ca3bfd44cfd6ab27888676"/></dir><dir name="Collection"><file name="Derived.php" hash="5240ac10d2989122c49665919a9555ff"/></dir><dir name="Reverse"><file name="Attribute.php" hash="0be2e3f5eef03862e13b37deb1f7f7a3"/><file name="Decimal.php" hash="9d9974cf64c5178812bcc6fca83bc9ff"/><file name="Price.php" hash="3be48facf6596b618fc0a621f625d460"/></dir></dir><dir name="Filter2"><file name="Collection.php" hash="822b71198d05e41e90d096cb7cc47fa5"/><file name="Store.php" hash="4c430d687e9ae90ec36a9faa1c283aa1"/><file name="Value.php" hash="ea33d71787937002c2c794df69b982a8"/><dir name="Store"><file name="Collection.php" hash="7998c9394089d23d21db58a4023cc180"/></dir><dir name="Value"><file name="Collection.php" hash="3273b517dd65a46034cb3ef8adb3c610"/><file name="Store.php" hash="48d9631e8d34b15a72fc22e6bb3a98c2"/><dir name="Store"><file name="Collection.php" hash="073931492acfc99a3b5cd1ecf7113982"/></dir></dir></dir><dir name="Indexer"><file name="Source.php" hash="251589738ea54dcf6e986921f3810931"/></dir><dir name="Solr"><file name="Attribute.php" hash="f2b30e509881147f2f73ede11ac2fbed"/><file name="Collection.php" hash="9b35d28e731fc47f420447251a5e976b"/><file name="Engine.php" hash="e3c3306e436e6943aa10f9b1a77404be"/><dir name="And"><file name="Attribute.php" hash="a7dd5fbb9388a4b73efeeaa7e91a9b7b"/></dir><dir name="Reverse"><file name="Attribute.php" hash="1084278692e5ffe1d16640b530e33662"/></dir></dir></dir><dir name="sql"><dir name="mana_filters_setup"><file name="mysql4-install-1.1.1.php" hash="22f7381b5ea9261a2e8a00fda28f28ef"/><file name="mysql4-upgrade-1.1.1-1.9.1.php" hash="04c761bab20de6e0fed68e141fb68112"/><file name="mysql4-upgrade-11.09.24.09-11.09.28.09.php" hash="a007f769d492c43b1e7a583a2763300a"/><file name="mysql4-upgrade-11.10.19.18-11.10.23.01.php" hash="ef0b7b4f4530e5b01f349e3d534ebb16"/><file name="mysql4-upgrade-12.01.14.09-12.01.15.14.php" hash="001d8e035bc798d8779c29ac38912543"/><file name="mysql4-upgrade-12.04.10.23-12.04.17.18.php" hash="48f2d8cc8ca6afe014a95dea808e5087"/><file name="mysql4-upgrade-12.10.25.17-12.10.25.18.php" hash="5d726b388ac30fc00cd95bb86ab5641b"/><file name="mysql4-upgrade-12.11.02.16-12.11.13.15.php" hash="11fc0db6ff2f56fe95bfaf89ab758f61"/><file name="mysql4-upgrade-13.09.11.14-13.09.23.17.php" hash="aca62ea5d13c5bc3259a48e5cd4d5282"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Mana_Core.xml" hash="0ca7883c0f5fcaa12b32842f142f92eb"/><file name="Mana_Db.xml" hash="9b4669b284f2a688e165abaac373c358"/><file name="Mana_Filters.xml" hash="1a5a180ae37f2b369a2c8ce2d2d120b1"/></dir></target></contents>
16
  <compatible/>
17
  <dependencies/>
18
  </package>