Ampersand_Core - Version 0.1.0

Version Notes

Ampersand Core v0.1.0

Download this release

Release Info

Developer Ampersand Commerce
Extension Ampersand_Core
Version 0.1.0
Comparing to
See all releases


Version 0.1.0

Files changed (230) hide show
  1. app/code/core/Ampersand/Adminhtml/Block/System/Config/Element/ProductImage/Attribute.php +27 -0
  2. app/code/core/Ampersand/Adminhtml/Block/System/Config/Element/ProductImage/Select.php +41 -0
  3. app/code/core/Ampersand/Adminhtml/Block/System/Config/Element/ProductImage/UseFrame.php +32 -0
  4. app/code/core/Ampersand/Adminhtml/Block/System/Config/Renderer/ArrayAbstract.php +36 -0
  5. app/code/core/Ampersand/Adminhtml/Block/System/Config/Renderer/ProductImage.php +22 -0
  6. app/code/core/Ampersand/Adminhtml/Block/System/Config/Renderer/ProductImages.php +130 -0
  7. app/code/core/Ampersand/Adminhtml/Controller/Action.php +21 -0
  8. app/code/core/Ampersand/Adminhtml/Helper/Data.php +21 -0
  9. app/code/core/Ampersand/Adminhtml/Helper/Image.php +137 -0
  10. app/code/core/Ampersand/Adminhtml/Model/Observer.php +141 -0
  11. app/code/core/Ampersand/Adminhtml/Model/System/Config/Source/ProductImageAttributes.php +51 -0
  12. app/code/core/Ampersand/Adminhtml/Model/System/Config/Source/Store.php +45 -0
  13. app/code/core/Ampersand/Adminhtml/etc/config.xml +33 -0
  14. app/code/core/Ampersand/Catalog/Model/Category.php +5 -0
  15. app/code/core/Ampersand/Catalog/Model/Product.php +5 -0
  16. app/code/core/Ampersand/Catalog/Model/Resource/Eav/Mysql4/Category.php +6 -0
  17. app/code/core/Ampersand/Catalog/Model/Resource/Eav/Mysql4/Category/Collection.php +6 -0
  18. app/code/core/Ampersand/Catalog/Model/Resource/Eav/Mysql4/Product.php +6 -0
  19. app/code/core/Ampersand/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php +6 -0
  20. app/code/core/Ampersand/Core/Block/Abstract.php +5 -0
  21. app/code/core/Ampersand/Core/Block/Template.php +5 -0
  22. app/code/core/Ampersand/Core/Controller/Front/Action.php +5 -0
  23. app/code/core/Ampersand/Core/Exception.php +5 -0
  24. app/code/core/Ampersand/Core/Helper/Abstract.php +5 -0
  25. app/code/core/Ampersand/Core/Helper/Data.php +13 -0
  26. app/code/core/Ampersand/Core/Model/Abstract.php +5 -0
  27. app/code/core/Ampersand/Core/Model/Mysql4/Abstract.php +5 -0
  28. app/code/core/Ampersand/Core/Model/Mysql4/Collection/Abstract.php +100 -0
  29. app/code/core/Ampersand/Core/changelog.txt +1 -0
  30. app/code/core/Ampersand/Core/etc/config.xml +15 -0
  31. app/code/core/Ampersand/Integration/Block/Adminhtml/Flag.php +44 -0
  32. app/code/core/Ampersand/Integration/Block/Adminhtml/Flag/Grid.php +173 -0
  33. app/code/core/Ampersand/Integration/Block/Adminhtml/Flag/View.php +43 -0
  34. app/code/core/Ampersand/Integration/Block/Adminhtml/Flag/View/Abstract.php +30 -0
  35. app/code/core/Ampersand/Integration/Block/Adminhtml/Flag/View/Identifier.php +25 -0
  36. app/code/core/Ampersand/Integration/Block/Adminhtml/Flag/View/Overview.php +22 -0
  37. app/code/core/Ampersand/Integration/Block/Adminhtml/Grid/DirectedServiceFilter.php +143 -0
  38. app/code/core/Ampersand/Integration/Block/Adminhtml/Grid/DirectedServiceRenderer.php +53 -0
  39. app/code/core/Ampersand/Integration/Block/Adminhtml/Grid/StatusRenderer.php +51 -0
  40. app/code/core/Ampersand/Integration/Block/Adminhtml/GridAbstract.php +100 -0
  41. app/code/core/Ampersand/Integration/Block/Adminhtml/Message.php +44 -0
  42. app/code/core/Ampersand/Integration/Block/Adminhtml/Message/Grid.php +169 -0
  43. app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View.php +54 -0
  44. app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View/Abstract.php +35 -0
  45. app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View/Flags/Grid.php +120 -0
  46. app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View/LogContent.php +65 -0
  47. app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View/LogContent/Pair.php +60 -0
  48. app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View/Overview.php +57 -0
  49. app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View/RelatedObjects/Grid.php +137 -0
  50. app/code/core/Ampersand/Integration/Block/Adminhtml/MessageIdentifier.php +45 -0
  51. app/code/core/Ampersand/Integration/Block/Adminhtml/MessageIdentifier/Grid.php +177 -0
  52. app/code/core/Ampersand/Integration/Block/Adminhtml/System/Config/Renderer/CustomFields.php +189 -0
  53. app/code/core/Ampersand/Integration/Controller/Adminhtml/Abstract.php +161 -0
  54. app/code/core/Ampersand/Integration/Controller/Adminhtml/Message.php +71 -0
  55. app/code/core/Ampersand/Integration/Helper/Adminhtml.php +64 -0
  56. app/code/core/Ampersand/Integration/Helper/Data.php +43 -0
  57. app/code/core/Ampersand/Integration/Helper/Message.php +146 -0
  58. app/code/core/Ampersand/Integration/Helper/ServiceAbstract.php +46 -0
  59. app/code/core/Ampersand/Integration/Model/AdminSession.php +96 -0
  60. app/code/core/Ampersand/Integration/Model/Config.php +100 -0
  61. app/code/core/Ampersand/Integration/Model/Config/Base.php +49 -0
  62. app/code/core/Ampersand/Integration/Model/Flag.php +57 -0
  63. app/code/core/Ampersand/Integration/Model/License.php +89 -0
  64. app/code/core/Ampersand/Integration/Model/Logger/Database.php +72 -0
  65. app/code/core/Ampersand/Integration/Model/Logger/File.php +66 -0
  66. app/code/core/Ampersand/Integration/Model/Mapper/ClassName.php +56 -0
  67. app/code/core/Ampersand/Integration/Model/Mapper/CustomFields.php +106 -0
  68. app/code/core/Ampersand/Integration/Model/Mapper/Helper.php +36 -0
  69. app/code/core/Ampersand/Integration/Model/Mapper/StoreConfig.php +58 -0
  70. app/code/core/Ampersand/Integration/Model/Message.php +121 -0
  71. app/code/core/Ampersand/Integration/Model/Message/Filter/CompressDirectory.php +31 -0
  72. app/code/core/Ampersand/Integration/Model/Message/Identifier.php +137 -0
  73. app/code/core/Ampersand/Integration/Model/Mysql4/Abstract.php +39 -0
  74. app/code/core/Ampersand/Integration/Model/Mysql4/Flag.php +24 -0
  75. app/code/core/Ampersand/Integration/Model/Mysql4/Flag/Collection.php +86 -0
  76. app/code/core/Ampersand/Integration/Model/Mysql4/Message.php +24 -0
  77. app/code/core/Ampersand/Integration/Model/Mysql4/Message/Collection.php +97 -0
  78. app/code/core/Ampersand/Integration/Model/Mysql4/Message/Identifier.php +51 -0
  79. app/code/core/Ampersand/Integration/Model/Mysql4/Message/Identifier/Collection.php +95 -0
  80. app/code/core/Ampersand/Integration/Model/Mysql4/Service/Info.php +24 -0
  81. app/code/core/Ampersand/Integration/Model/Mysql4/Service/Info/Collection.php +25 -0
  82. app/code/core/Ampersand/Integration/Model/Mysql4/Status.php +40 -0
  83. app/code/core/Ampersand/Integration/Model/Mysql4/Status/Collection.php +24 -0
  84. app/code/core/Ampersand/Integration/Model/Mysql4/StockUpdate.php +35 -0
  85. app/code/core/Ampersand/Integration/Model/Mysql4/StockUpdate/Collection.php +24 -0
  86. app/code/core/Ampersand/Integration/Model/OrderAbstract.php +67 -0
  87. app/code/core/Ampersand/Integration/Model/Payment.php +30 -0
  88. app/code/core/Ampersand/Integration/Model/Service.php +85 -0
  89. app/code/core/Ampersand/Integration/Model/Service/Info.php +48 -0
  90. app/code/core/Ampersand/Integration/Model/Shipment.php +40 -0
  91. app/code/core/Ampersand/Integration/Model/Status.php +35 -0
  92. app/code/core/Ampersand/Integration/Model/StockUpdate.php +125 -0
  93. app/code/core/Ampersand/Integration/Model/Transport/Incoming/Http.php +93 -0
  94. app/code/core/Ampersand/Integration/controllers/Adminhtml/FlagController.php +168 -0
  95. app/code/core/Ampersand/Integration/controllers/Adminhtml/Message/ViewController.php +81 -0
  96. app/code/core/Ampersand/Integration/controllers/Adminhtml/MessageController.php +91 -0
  97. app/code/core/Ampersand/Integration/controllers/Adminhtml/MessageIdentifierController.php +112 -0
  98. app/code/core/Ampersand/Integration/controllers/MessageController.php +46 -0
  99. app/code/core/Ampersand/Integration/etc/adminhtml.xml +66 -0
  100. app/code/core/Ampersand/Integration/etc/config.xml +96 -0
  101. app/code/core/Ampersand/Integration/etc/integration/in.types.xml +30 -0
  102. app/code/core/Ampersand/Integration/etc/integration/out.types.xml +11 -0
  103. app/code/core/Ampersand/Integration/sql/ampersand_integration_setup/mysql4-install-1.0.0.php +51 -0
  104. app/code/core/Ampersand/Integration/sql/ampersand_integration_setup/mysql4-upgrade-1.0.0-1.0.1.php +19 -0
  105. app/code/core/Ampersand/Integration/sql/ampersand_integration_setup/mysql4-upgrade-1.0.1-1.0.2.php +41 -0
  106. app/design/adminhtml/base/default/layout/ampersand_integration.xml +50 -0
  107. app/design/adminhtml/base/default/template/ampersand_integration/flag/view.phtml +36 -0
  108. app/design/adminhtml/base/default/template/ampersand_integration/flag/view/identifier.phtml +31 -0
  109. app/design/adminhtml/base/default/template/ampersand_integration/flag/view/overview.phtml +45 -0
  110. app/design/adminhtml/base/default/template/ampersand_integration/message/view.phtml +19 -0
  111. app/design/adminhtml/base/default/template/ampersand_integration/message/view/flags.phtml +8 -0
  112. app/design/adminhtml/base/default/template/ampersand_integration/message/view/log-content.phtml +31 -0
  113. app/design/adminhtml/base/default/template/ampersand_integration/message/view/log-content/pair.phtml +19 -0
  114. app/design/adminhtml/base/default/template/ampersand_integration/message/view/overview.phtml +44 -0
  115. app/design/adminhtml/base/default/template/ampersand_integration/message/view/related-objects.phtml +8 -0
  116. app/etc/modules/Ampersand_Core.xml +33 -0
  117. lib/Ampersand/ClassProvider.php +30 -0
  118. lib/Ampersand/Exception.php +12 -0
  119. lib/Ampersand/Filter/Compress.php +34 -0
  120. lib/Ampersand/Integration/Exception.php +13 -0
  121. lib/Ampersand/Integration/HandlerQueue.php +63 -0
  122. lib/Ampersand/Integration/HandlerQueue/Config.php +128 -0
  123. lib/Ampersand/Integration/HandlerQueue/Handler/Abstract.php +49 -0
  124. lib/Ampersand/Integration/HandlerQueue/Handler/CallbackMulti.php +26 -0
  125. lib/Ampersand/Integration/HandlerQueue/Handler/CallbackSingle.php +47 -0
  126. lib/Ampersand/Integration/HandlerQueue/Handler/Filter.php +27 -0
  127. lib/Ampersand/Integration/HandlerQueue/Handler/Interface.php +23 -0
  128. lib/Ampersand/Integration/HandlerQueue/Handler/Provider.php +16 -0
  129. lib/Ampersand/Integration/HandlerQueue/Handler/Transform.php +35 -0
  130. lib/Ampersand/Integration/HandlerQueue/Handler/Validate.php +26 -0
  131. lib/Ampersand/Integration/Message/Abstract.php +81 -0
  132. lib/Ampersand/Integration/Message/Config/Abstract.php +183 -0
  133. lib/Ampersand/Integration/Message/Config/Incoming.php +49 -0
  134. lib/Ampersand/Integration/Message/Config/Outgoing.php +41 -0
  135. lib/Ampersand/Integration/Message/Data/Abstract.php +24 -0
  136. lib/Ampersand/Integration/Message/Data/Request.php +23 -0
  137. lib/Ampersand/Integration/Message/Data/Response.php +23 -0
  138. lib/Ampersand/Integration/Message/Debug.php +54 -0
  139. lib/Ampersand/Integration/Message/Filter/Abstract.php +33 -0
  140. lib/Ampersand/Integration/Message/Filter/CompressDirectory.php +56 -0
  141. lib/Ampersand/Integration/Message/Filter/DomHtml.php +25 -0
  142. lib/Ampersand/Integration/Message/Filter/Exception.php +14 -0
  143. lib/Ampersand/Integration/Message/Filter/Interface.php +17 -0
  144. lib/Ampersand/Integration/Message/Filter/Provider.php +16 -0
  145. lib/Ampersand/Integration/Message/Filter/XmlObject.php +20 -0
  146. lib/Ampersand/Integration/Message/Incoming.php +115 -0
  147. lib/Ampersand/Integration/Message/Logger/Abstract.php +40 -0
  148. lib/Ampersand/Integration/Message/Logger/Exception.php +14 -0
  149. lib/Ampersand/Integration/Message/Logger/File.php +170 -0
  150. lib/Ampersand/Integration/Message/Logger/Interface.php +15 -0
  151. lib/Ampersand/Integration/Message/Logger/Provider.php +15 -0
  152. lib/Ampersand/Integration/Message/Logger/XmlFile.php +86 -0
  153. lib/Ampersand/Integration/Message/Outgoing.php +104 -0
  154. lib/Ampersand/Integration/Service.php +75 -0
  155. lib/Ampersand/Integration/Transport/Abstract.php +26 -0
  156. lib/Ampersand/Integration/Transport/Exception.php +14 -0
  157. lib/Ampersand/Integration/Transport/Incoming/Abstract.php +30 -0
  158. lib/Ampersand/Integration/Transport/Incoming/Http.php +20 -0
  159. lib/Ampersand/Integration/Transport/Incoming/Interface.php +16 -0
  160. lib/Ampersand/Integration/Transport/Incoming/Provider.php +15 -0
  161. lib/Ampersand/Integration/Transport/Interface.php +17 -0
  162. lib/Ampersand/Integration/Transport/Outgoing/Abstract.php +33 -0
  163. lib/Ampersand/Integration/Transport/Outgoing/File.php +144 -0
  164. lib/Ampersand/Integration/Transport/Outgoing/Ftp.php +51 -0
  165. lib/Ampersand/Integration/Transport/Outgoing/Http.php +89 -0
  166. lib/Ampersand/Integration/Transport/Outgoing/Http/Client.php +21 -0
  167. lib/Ampersand/Integration/Transport/Outgoing/Interface.php +20 -0
  168. lib/Ampersand/Integration/Transport/Outgoing/Provider.php +16 -0
  169. lib/Ampersand/Integration/Transport/Outgoing/Soap.php +53 -0
  170. lib/Ampersand/License.php +162 -0
  171. lib/Ampersand/License/Helper.php +155 -0
  172. lib/Ampersand/License/Remote.php +225 -0
  173. lib/Ampersand/License/ResourceRegistry.php +77 -0
  174. lib/Ampersand/Map.php +23 -0
  175. lib/Ampersand/Map/Config.php +112 -0
  176. lib/Ampersand/Map/Exception.php +13 -0
  177. lib/Ampersand/Map/Iterator.php +35 -0
  178. lib/Ampersand/Map/Iterator/BreakException.php +14 -0
  179. lib/Ampersand/Map/Iterator/ContinueException.php +14 -0
  180. lib/Ampersand/Map/Mapper/Abstract.php +32 -0
  181. lib/Ampersand/Map/Mapper/Accessor.php +35 -0
  182. lib/Ampersand/Map/Mapper/AllData.php +17 -0
  183. lib/Ampersand/Map/Mapper/Array.php +26 -0
  184. lib/Ampersand/Map/Mapper/Concatenate.php +21 -0
  185. lib/Ampersand/Map/Mapper/FieldPath.php +47 -0
  186. lib/Ampersand/Map/Mapper/Fraction.php +35 -0
  187. lib/Ampersand/Map/Mapper/Function.php +54 -0
  188. lib/Ampersand/Map/Mapper/Interface.php +16 -0
  189. lib/Ampersand/Map/Mapper/Iteration.php +30 -0
  190. lib/Ampersand/Map/Mapper/LeafAbstract.php +19 -0
  191. lib/Ampersand/Map/Mapper/Method.php +65 -0
  192. lib/Ampersand/Map/Mapper/Multiply.php +21 -0
  193. lib/Ampersand/Map/Mapper/Negative.php +19 -0
  194. lib/Ampersand/Map/Mapper/Parameter.php +61 -0
  195. lib/Ampersand/Map/Mapper/Provider.php +18 -0
  196. lib/Ampersand/Map/Mapper/Regexp.php +46 -0
  197. lib/Ampersand/Map/Mapper/Sum.php +21 -0
  198. lib/Ampersand/Map/Mapper/Xpath.php +32 -0
  199. lib/Ampersand/Map/Mapper/XpathSingle.php +21 -0
  200. lib/Ampersand/Map/Result.php +38 -0
  201. lib/Ampersand/Map/XmlElement.php +326 -0
  202. lib/Ampersand/Object.php +124 -0
  203. lib/Ampersand/Pairs.php +63 -0
  204. lib/Ampersand/Render.php +29 -0
  205. lib/Ampersand/Render/Exception.php +13 -0
  206. lib/Ampersand/Render/Renderer/Abstract.php +48 -0
  207. lib/Ampersand/Render/Renderer/Interface.php +15 -0
  208. lib/Ampersand/Render/Renderer/KeyValue.php +23 -0
  209. lib/Ampersand/Render/Renderer/KeyValues.php +27 -0
  210. lib/Ampersand/Render/Renderer/Provider.php +15 -0
  211. lib/Ampersand/Render/Renderer/Soap.php +43 -0
  212. lib/Ampersand/Render/Renderer/Soap/DummyClient.php +29 -0
  213. lib/Ampersand/Render/Renderer/Xml.php +77 -0
  214. lib/Ampersand/Render/Renderer/Xsv.php +76 -0
  215. lib/Ampersand/Render/XmlElement.php +138 -0
  216. lib/Ampersand/Validator/Abstract.php +28 -0
  217. lib/Ampersand/Validator/And.php +21 -0
  218. lib/Ampersand/Validator/GroupAbstract.php +22 -0
  219. lib/Ampersand/Validator/InstanceOf.php +19 -0
  220. lib/Ampersand/Validator/Interface.php +18 -0
  221. lib/Ampersand/Validator/Nand.php +17 -0
  222. lib/Ampersand/Validator/Nor.php +17 -0
  223. lib/Ampersand/Validator/Or.php +20 -0
  224. lib/Ampersand/Validator/Provider.php +15 -0
  225. lib/Ampersand/Validator/Xor.php +22 -0
  226. lib/Ampersand/Xml.php +229 -0
  227. lib/Ampersand/Xml/Config.php +27 -0
  228. lib/Ampersand/Xml/Element.php +630 -0
  229. lib/Ampersand/Xml/Resource.php +61 -0
  230. package.xml +18 -0
app/code/core/Ampersand/Adminhtml/Block/System/Config/Element/ProductImage/Attribute.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Adminhtml
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Adminhtml
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Adminhtml_Block_System_Config_Element_ProductImage_Attribute
19
+ extends Ampersand_Adminhtml_Block_System_Config_Element_ProductImage_Select
20
+ {
21
+ protected function _getSource()
22
+ {
23
+ return Mage::getSingleton(
24
+ 'ampersand_adminhtml/system_config_source_productImageAttributes'
25
+ );
26
+ }
27
+ }
app/code/core/Ampersand/Adminhtml/Block/System/Config/Element/ProductImage/Select.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Adminhtml
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Adminhtml
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Adminhtml_Block_System_Config_Element_ProductImage_Select
19
+ extends Mage_Core_Block_Html_Select
20
+ {
21
+ public function setInputName($value)
22
+ {
23
+ return $this->setName($value);
24
+ }
25
+
26
+ public function getOptions()
27
+ {
28
+ if (!$this->_options) {
29
+ $this->_options = $this->_getSource()->toOptionArray();
30
+ }
31
+
32
+ return $this->_options;
33
+ }
34
+
35
+ protected function _getSource()
36
+ {
37
+ return Mage::getSingleton(
38
+ 'ampersand_adminhtml/system_config_source_productImageAttributes'
39
+ );
40
+ }
41
+ }
app/code/core/Ampersand/Adminhtml/Block/System/Config/Element/ProductImage/UseFrame.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Adminhtml
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Adminhtml
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Adminhtml_Block_System_Config_Element_ProductImage_UseFrame
19
+ extends Ampersand_Adminhtml_Block_System_Config_Element_ProductImage_Select
20
+ {
21
+ public function getOptions()
22
+ {
23
+ return array_reverse(parent::getOptions());
24
+ }
25
+
26
+ protected function _getSource()
27
+ {
28
+ return Mage::getSingleton(
29
+ 'adminhtml/system_config_source_yesno'
30
+ );
31
+ }
32
+ }
app/code/core/Ampersand/Adminhtml/Block/System/Config/Renderer/ArrayAbstract.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Adminhtml
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Adminhtml
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ abstract class Ampersand_Adminhtml_Block_System_Config_Renderer_ArrayAbstract
19
+ extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
20
+ {
21
+ public function render(Varien_Data_Form_Element_Abstract $element)
22
+ {
23
+ $html = parent::render($element);
24
+
25
+ if (!trim($element->getLabel())) {
26
+ $xmlObject = Ampersand_Xml::factory("<html>$html</html>");
27
+ $row = $xmlObject->getChild('tr');
28
+ $row->removeChild('td#0');
29
+ $row->getChild('td#0')->setAttribute('colspan', 2);
30
+
31
+ $html = $xmlObject->getInnerXml();
32
+ }
33
+
34
+ return $html;
35
+ }
36
+ }
app/code/core/Ampersand/Adminhtml/Block/System/Config/Renderer/ProductImage.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Adminhtml
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Adminhtml
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Adminhtml_Block_System_Config_Renderer_ProductImage
19
+ extends Ampersand_Adminhtml_Block_System_Config_Renderer_ArrayAbstract
20
+ {
21
+
22
+ }
app/code/core/Ampersand/Adminhtml/Block/System/Config/Renderer/ProductImages.php ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Adminhtml
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Adminhtml
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Adminhtml_Block_System_Config_Renderer_ProductImages
19
+ extends Ampersand_Adminhtml_Block_System_Config_Renderer_ArrayAbstract
20
+ {
21
+ /** @var Ampersand_Adminhtml_Block_System_Config_Element_ProductImage_Attribute */
22
+ protected $_attributeRenderer;
23
+ /** @var Ampersand_Adminhtml_Block_System_Config_Element_ProductImage_UseFrame */
24
+ protected $_useFrameRenderer;
25
+
26
+ /**
27
+ * Prepares block to be rendered
28
+ *
29
+ * @return Ampersand_Adminhtml_Block_System_Config_Renderer_ProductImages
30
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
31
+ */
32
+ protected function _prepareToRender()
33
+ {
34
+ $this->addColumn('code', array(
35
+ 'label' => Mage::helper('ampersand_adminhtml')->__('Reference Code'),
36
+ 'style' => 'width:100px',
37
+ ));
38
+ $this->addColumn('attribute', array(
39
+ 'label' => Mage::helper('ampersand_adminhtml')->__('Magento Image Name'),
40
+ 'renderer' => $this->_getAttributeRenderer(),
41
+ ));
42
+ $this->addColumn('width', array(
43
+ 'label' => Mage::helper('ampersand_adminhtml')->__('Width'),
44
+ 'style' => 'width:55px',
45
+ ));
46
+ $this->addColumn('height', array(
47
+ 'label' => Mage::helper('ampersand_adminhtml')->__('Height'),
48
+ 'style' => 'width:55px',
49
+ ));
50
+ $this->addColumn('use_frame', array(
51
+ 'label' => Mage::helper('ampersand_adminhtml')->__('Use Frame'),
52
+ 'renderer' => $this->_getUseFrameRenderer(),
53
+ ));
54
+ $this->addColumn('background', array(
55
+ 'label' => Mage::helper('ampersand_adminhtml')->__('Frame Colour'),
56
+ 'style' => 'width:55px',
57
+ ));
58
+
59
+ $this->_addAfter = false;
60
+ $this->_addButtonLabel = Mage::helper('ampersand_adminhtml')->__('Add Image');
61
+
62
+ return $this;
63
+ }
64
+
65
+ /**
66
+ * Retrieves renderer for product image attribute field
67
+ *
68
+ * @return Ampersand_Adminhtml_Block_System_Config_Element_ProductImage_Attribute
69
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
70
+ */
71
+ protected function _getAttributeRenderer()
72
+ {
73
+ if (is_null($this->_attributeRenderer)) {
74
+ $this->_attributeRenderer = $this->getLayout()->createBlock(
75
+ 'ampersand_adminhtml/system_config_element_productImage_attribute', '',
76
+ array('is_render_to_js_template' => true)
77
+ );
78
+
79
+ $this->_attributeRenderer->setExtraParams('style="width:130px"');
80
+ }
81
+
82
+ return $this->_attributeRenderer;
83
+ }
84
+
85
+ /**
86
+ * Retrieves renderer for product image attribute field
87
+ *
88
+ * @return Ampersand_Adminhtml_Block_System_Config_Element_ProductImage_Attribute
89
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
90
+ */
91
+ protected function _getUseFrameRenderer()
92
+ {
93
+ if (is_null($this->_useFrameRenderer)) {
94
+ $this->_useFrameRenderer = $this->getLayout()->createBlock(
95
+ 'ampersand_adminhtml/system_config_element_productImage_useFrame', '',
96
+ array('is_render_to_js_template' => true)
97
+ );
98
+
99
+ $this->_useFrameRenderer->setExtraParams('style="width:55px"');
100
+ }
101
+
102
+ return $this->_useFrameRenderer;
103
+ }
104
+
105
+ /**
106
+ * Select correct option in attribute select
107
+ *
108
+ * @param Varien_Object
109
+ * @return Ampersand_Adminhtml_Block_System_Config_Renderer_ProductImages
110
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
111
+ */
112
+ protected function _prepareArrayRow(Varien_Object $row)
113
+ {
114
+ $row->setData(
115
+ 'option_extra_attr_' . $this->_getAttributeRenderer()->calcOptionHash(
116
+ $row->getData('attribute')
117
+ ),
118
+ 'selected="selected"'
119
+ );
120
+
121
+ $row->setData(
122
+ 'option_extra_attr_' . $this->_getUseFrameRenderer()->calcOptionHash(
123
+ $row->getData('use_frame')
124
+ ),
125
+ 'selected="selected"'
126
+ );
127
+
128
+ return $this;
129
+ }
130
+ }
app/code/core/Ampersand/Adminhtml/Controller/Action.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Adminhtml
7
+ * @subpackage Controller
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Adminhtml
15
+ * @subpackage Controller
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Adminhtml_Controller_Action extends Mage_Adminhtml_Controller_Action
19
+ {
20
+
21
+ }
app/code/core/Ampersand/Adminhtml/Helper/Data.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Adminhtml
7
+ * @subpackage Helper
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Adminhtml
15
+ * @subpackage Helper
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Adminhtml_Helper_Data extends Mage_Core_Helper_Abstract
19
+ {
20
+
21
+ }
app/code/core/Ampersand/Adminhtml/Helper/Image.php ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Adminhtml
7
+ * @subpackage Helper
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Adminhtml
15
+ * @subpackage Helper
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Adminhtml_Helper_Image extends Mage_Core_Helper_Abstract
19
+ {
20
+ public function getProductImageUrl(Mage_Catalog_Model_Product $product, $configPath,
21
+ $code = null
22
+ ) {
23
+ if (!$image = $this->getConfiguredImage($product, $configPath, $code)) {
24
+ return null;
25
+ }
26
+
27
+ return (string) $image;
28
+ }
29
+
30
+ public function getProductImageUrls(Mage_Catalog_Model_Product $product, $configPath)
31
+ {
32
+ $urls = array();
33
+
34
+ foreach ($this->_getImageConfigData($configPath) as $_imageConfigData) {
35
+ $_code = $this->_getImageCode($_imageConfigData);
36
+ $urls[$_code] = (string) $this->_getPreparedImage($product, $_imageConfigData);
37
+ }
38
+
39
+ return $urls;
40
+ }
41
+
42
+ public function getConfiguredImage(Mage_Catalog_Model_Product $product, $configPath,
43
+ $code = null
44
+ ) {
45
+ if (!$configData = $this->_getImageConfigData($configPath, $code)) {
46
+ return null;
47
+ }
48
+
49
+ return $this->_getPreparedImage($product, $configData);
50
+ }
51
+
52
+ protected function _getImageConfigData($configPath, $code = null)
53
+ {
54
+ $configData = Mage::getStoreConfig($configPath);
55
+ if (is_string($configData)) {
56
+ $configData = unserialize($configData);
57
+ }
58
+
59
+ if (!is_array($configData)) {
60
+ return array();
61
+ }
62
+
63
+ if (!is_null($code)) {
64
+ if (!array_key_exists($code, $configData)) {
65
+ return array();
66
+ }
67
+
68
+ return $configData[$code];
69
+ }
70
+
71
+ return $configData;
72
+ }
73
+
74
+ protected function _getImageCode($configData)
75
+ {
76
+ if (!is_array($configData) || !array_key_exists('code', $configData)) {
77
+ return null;
78
+ }
79
+
80
+ return $configData['code'];
81
+ }
82
+
83
+ protected function _getPreparedImage(Mage_Catalog_Model_Product $product, $configData)
84
+ {
85
+ $config = $this->_prepareImageConfig($configData);
86
+
87
+ $image = $this->_initProductImage($product, $config);
88
+
89
+ return $this->_prepareProductImage($image, $config);
90
+ }
91
+
92
+ protected function _prepareImageConfig($configData)
93
+ {
94
+ if (!is_array($configData)) {
95
+ Mage::throwException('Image config data must be an array');
96
+ }
97
+
98
+ return new Ampersand_Object($configData);
99
+ }
100
+
101
+ protected function _initProductImage(Mage_Catalog_Model_Product $product, Ampersand_Object $config)
102
+ {
103
+ $image = Mage::helper('catalog/image')->init($product, $config->getAttribute());
104
+
105
+ return $image;
106
+ }
107
+
108
+ protected function _prepareProductImage(Mage_Catalog_Helper_Image $image, Ampersand_Object $config)
109
+ {
110
+ $width = $config->getWidth();
111
+ $height = $config->getHeight();
112
+ if (strlen($width) || strlen($height)) {
113
+ $image->resize($width, $height);
114
+ }
115
+
116
+ $keepFrame = (bool) $config->getUseFrame();
117
+ $image->keepFrame($keepFrame);
118
+
119
+ $backgroundColour = $config->getBackground();
120
+ if (strlen($backgroundColour)) {
121
+ $image->backgroundColor($this->_hexToRgb($backgroundColour));
122
+ }
123
+
124
+ return $image;
125
+ }
126
+
127
+ protected function _hexToRgb($hex)
128
+ {
129
+ $hex = trim($hex, '# ');
130
+
131
+ $red = hexdec(substr($hex, 0, 2));
132
+ $green = hexdec(substr($hex, 2, 2));
133
+ $blue = hexdec(substr($hex, 4, 2));
134
+
135
+ return array($red, $green, $blue);
136
+ }
137
+ }
app/code/core/Ampersand/Adminhtml/Model/Observer.php ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Adminhtml
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Adminhtml
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Adminhtml_Model_Observer
19
+ {
20
+ protected $_gridBlocks = array();
21
+ protected $_layoutHandles;
22
+ protected $_gridUpdateConfigs = array();
23
+
24
+ public function handleNewBlock(Varien_Event_Observer $observer)
25
+ {
26
+ $block = $observer->getEvent()->getBlock();
27
+
28
+ if ($block instanceof Mage_Adminhtml_Block_Widget_Grid) {
29
+ $this->_gridBlocks[$block->getNameInLayout()] = $block;
30
+ $this->_prepareGrid($block);
31
+ } else {
32
+ switch ($block->getType()) {
33
+ case 'adminhtml/widget_grid_column':
34
+ $this->_executeGridUpdateCallbacks($block, 'column');
35
+ break;
36
+ case 'adminhtml/widget_grid_massaction':
37
+ $this->_executeGridUpdateCallbacks($block, 'massaction');
38
+ break;
39
+ }
40
+ }
41
+ }
42
+
43
+ protected function _prepareGrid($gridBlock)
44
+ {
45
+
46
+ }
47
+
48
+ protected function _executeGridUpdateCallbacks($targetBlock, $type)
49
+ {
50
+ $gridBlock = $this->_getContainingGrid();
51
+
52
+ if (!$callbacks = $this->_getGridUpdateCallbacks($gridBlock, $type)) {
53
+ return;
54
+ }
55
+
56
+ foreach ($callbacks as $_callback) {
57
+ call_user_func($_callback, $targetBlock, $gridBlock);
58
+ }
59
+ }
60
+
61
+ protected function _getGridUpdateCallbacks($gridBlock, $type)
62
+ {
63
+ $callbacks = array();
64
+
65
+ foreach ($this->_getGridUpdateConfigs($type) as $_config) {
66
+ if ($_config->grid_name
67
+ && (string) $_config->grid_name != $gridBlock->getNameInLayout()) {
68
+ continue;
69
+ }
70
+ if ($_config->grid_type
71
+ && (string) $_config->grid_type != $gridBlock->getType()) {
72
+ continue;
73
+ }
74
+ if ($_config->layout_handle
75
+ && !$this->_isLayoutHandleActive((string) $_config->layout_handle)) {
76
+ continue;
77
+ }
78
+
79
+ switch ($_config->callback->type) {
80
+ case 'singleton':
81
+ $callbacks[] = array(
82
+ Mage::getSingleton((string) $_config->callback->class),
83
+ (string) $_config->callback->method
84
+ );
85
+ break;
86
+ case 'object':
87
+ case 'model':
88
+ $callbacks[] = array(
89
+ Mage::getModel((string) $_config->callback->class),
90
+ (string) $_config->callback->method
91
+ );
92
+ break;
93
+ default:
94
+ $callbacks[] = array(
95
+ (string) $_config->callback->class_name,
96
+ (string) $_config->callback->method,
97
+ );
98
+ break;
99
+ }
100
+ }
101
+
102
+ return $callbacks;
103
+ }
104
+
105
+ protected function _getGridUpdateConfigs($type)
106
+ {
107
+ if (!array_key_exists($type, $this->_gridUpdateConfigs)) {
108
+ $config = Mage::getConfig()->getNode("adminhtml/grid_updates/$type");
109
+ $this->_gridUpdateConfigs[$type] = is_object($config) ? $config->children() : array();
110
+ }
111
+
112
+ return $this->_gridUpdateConfigs[$type];
113
+ }
114
+
115
+ protected function _isLayoutHandleActive($handle)
116
+ {
117
+ if (is_null($this->_layoutHandles)) {
118
+ $this->_layoutHandles = Mage::app()->getLayout()->getUpdate()->getHandles();
119
+ }
120
+
121
+ return in_array($handle, $this->_layoutHandles);
122
+ }
123
+
124
+ protected function _getContainingGrid()
125
+ {
126
+ if (1 == count($this->_gridBlocks)) {
127
+ return reset($this->_gridBlocks);
128
+ }
129
+
130
+ if (count($this->_gridBlocks)) {
131
+ foreach (debug_backtrace() as $_item) {
132
+ if (array_key_exists('object', $_item)
133
+ && $_item['object'] instanceof Mage_Adminhtml_Block_Widget_Grid) {
134
+ return $_item['object'];
135
+ }
136
+ }
137
+ }
138
+
139
+ return null;
140
+ }
141
+ }
app/code/core/Ampersand/Adminhtml/Model/System/Config/Source/ProductImageAttributes.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Adminhtml
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Adminhtml
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Adminhtml_Model_System_Config_Source_ProductImageAttributes
19
+ {
20
+ public function toOptionArray()
21
+ {
22
+ $options = array();
23
+
24
+ $labels = $this->getPairs();
25
+
26
+ foreach ($labels as $_attributeCode => $_label) {
27
+ $options[] = array(
28
+ 'value' => $_attributeCode,
29
+ 'label' => $_label,
30
+ );
31
+ }
32
+
33
+ return $options;
34
+ }
35
+
36
+ public function getPairs()
37
+ {
38
+ $attributeCollection = $this->_getAttributeCollection();
39
+
40
+ $codes = $attributeCollection->getColumnValues('attribute_code');
41
+ $labels = $attributeCollection->getColumnValues('frontend_label');
42
+
43
+ return array_combine($codes, $labels);
44
+ }
45
+
46
+ protected function _getAttributeCollection()
47
+ {
48
+ return Mage::getResourceModel('catalog/product_attribute_collection')
49
+ ->addFieldToFilter('frontend_input', 'media_image');
50
+ }
51
+ }
app/code/core/Ampersand/Adminhtml/Model/System/Config/Source/Store.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Adminhtml
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Adminhtml
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Adminhtml_Model_System_Config_Source_Store
19
+ {
20
+ public function toOptionArray()
21
+ {
22
+ $websites = array();
23
+
24
+ foreach ($this->_getStoresStructure() as $_key => $_website) {
25
+ $websites[$_key] = array(
26
+ 'label' => $_website['label'],
27
+ 'value' => array(),
28
+ );
29
+
30
+ foreach ($_website['children'] as $__group) {
31
+ $websites[$_key]['value'] = array_merge(
32
+ $websites[$_key]['value'],
33
+ $__group['children']
34
+ );
35
+ }
36
+ }
37
+
38
+ return $websites;
39
+ }
40
+
41
+ protected function _getStoresStructure()
42
+ {
43
+ return Mage::getSingleton('adminhtml/system_store')->getStoresStructure();
44
+ }
45
+ }
app/code/core/Ampersand/Adminhtml/etc/config.xml ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <config>
3
+ <global>
4
+ <blocks>
5
+ <ampersand_adminhtml>
6
+ <class>Ampersand_Adminhtml_Block</class>
7
+ </ampersand_adminhtml>
8
+ </blocks>
9
+ <helpers>
10
+ <ampersand_adminhtml>
11
+ <class>Ampersand_Adminhtml_Helper</class>
12
+ </ampersand_adminhtml>
13
+ </helpers>
14
+ <models>
15
+ <ampersand_adminhtml>
16
+ <class>Ampersand_Adminhtml_Model</class>
17
+ </ampersand_adminhtml>
18
+ </models>
19
+ </global>
20
+ <adminhtml>
21
+ <events>
22
+ <core_layout_block_create_after>
23
+ <observers>
24
+ <ampersand_adminhtml>
25
+ <type>singleton</type>
26
+ <class>ampersand_adminhtml/observer</class>
27
+ <method>handleNewBlock</method>
28
+ </ampersand_adminhtml>
29
+ </observers>
30
+ </core_layout_block_create_after>
31
+ </events>
32
+ </adminhtml>
33
+ </config>
app/code/core/Ampersand/Catalog/Model/Category.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+ class Ampersand_Catalog_Model_Category extends Mage_Catalog_Model_Category
3
+ {
4
+
5
+ }
app/code/core/Ampersand/Catalog/Model/Product.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+ class Ampersand_Catalog_Model_Product extends Mage_Catalog_Model_Product
3
+ {
4
+
5
+ }
app/code/core/Ampersand/Catalog/Model/Resource/Eav/Mysql4/Category.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+ class Ampersand_Catalog_Model_Resource_Eav_Mysql4_Category
3
+ extends Mage_Catalog_Model_Resource_Eav_Mysql4_Category
4
+ {
5
+
6
+ }
app/code/core/Ampersand/Catalog/Model/Resource/Eav/Mysql4/Category/Collection.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+ class Ampersand_Catalog_Model_Resource_Eav_Mysql4_Category_Collection
3
+ extends Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection
4
+ {
5
+
6
+ }
app/code/core/Ampersand/Catalog/Model/Resource/Eav/Mysql4/Product.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+ class Ampersand_Catalog_Model_Resource_Eav_Mysql4_Product
3
+ extends Mage_Catalog_Model_Resource_Eav_Mysql4_Product
4
+ {
5
+
6
+ }
app/code/core/Ampersand/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+ class Ampersand_Catalog_Model_Resource_Eav_Mysql4_Product_Collection
3
+ extends Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection
4
+ {
5
+
6
+ }
app/code/core/Ampersand/Core/Block/Abstract.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+ abstract class Ampersand_Core_Block_Abstract extends Mage_Core_Block_Abstract
3
+ {
4
+
5
+ }
app/code/core/Ampersand/Core/Block/Template.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+ class Ampersand_Core_Block_Template extends Ampersand_Core_Block_Abstract
3
+ {
4
+
5
+ }
app/code/core/Ampersand/Core/Controller/Front/Action.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+ class Ampersand_Core_Controller_Front_Action extends Mage_Core_Controller_Front_Action
3
+ {
4
+
5
+ }
app/code/core/Ampersand/Core/Exception.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+ class Ampersand_Core_Exception extends Mage_Core_Exception
3
+ {
4
+
5
+ }
app/code/core/Ampersand/Core/Helper/Abstract.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+ abstract class Ampersand_Core_Helper_Abstract extends Mage_Core_Helper_Abstract
3
+ {
4
+
5
+ }
app/code/core/Ampersand/Core/Helper/Data.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Ampersand_Core_Helper_Data extends Ampersand_Core_Helper_Abstract
3
+ {
4
+ public function prepareStringForHtmlRender($string)
5
+ {
6
+ $string = str_replace(' ', '<space/>', $string);
7
+ $string = $this->escapeHtml($string, array('space'));
8
+ $string = str_replace('<space/>', '&nbsp;', $string);
9
+ $string = nl2br($string);
10
+
11
+ return $string;
12
+ }
13
+ }
app/code/core/Ampersand/Core/Model/Abstract.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+ abstract class Ampersand_Core_Model_Abstract extends Mage_Core_Model_Abstract
3
+ {
4
+
5
+ }
app/code/core/Ampersand/Core/Model/Mysql4/Abstract.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+ abstract class Ampersand_Core_Model_Mysql4_Abstract extends Mage_Core_Model_Mysql4_Abstract
3
+ {
4
+
5
+ }
app/code/core/Ampersand/Core/Model/Mysql4/Collection/Abstract.php ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Core
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Core
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ abstract class Ampersand_Core_Model_Mysql4_Collection_Abstract
19
+ extends Mage_Core_Model_Mysql4_Collection_Abstract
20
+ {
21
+ protected $_preserveColumnsOnCount = false;
22
+
23
+ public function joinLeft($table, $cond, $cols = '*')
24
+ {
25
+ if (!isset($this->_joinedTables[$table])) {
26
+ $this->getSelect()->joinLeft(array($table => $this->getTable($table)), $cond, $cols);
27
+ $this->_joinedTables[$table] = true;
28
+ }
29
+
30
+ return $this;
31
+ }
32
+
33
+ public function getPairs($columnName)
34
+ {
35
+ $this->load();
36
+
37
+ $pairs = array();
38
+ foreach ($this->getItems() as $_item) {
39
+ $pairs[$this->_getItemId($_item)] = $_item->getData($columnName);
40
+ }
41
+
42
+ return $pairs;
43
+ }
44
+
45
+ public function fetchPairs($columnName, $forceFetch = false)
46
+ {
47
+ if (!$forceFetch && $this->isLoaded()) {
48
+ return $this->getPairs($columnName);
49
+ }
50
+
51
+ $select = clone $this->getSelect();
52
+ $select->reset(Zend_Db_Select::COLUMNS);
53
+
54
+ $idFieldName = $this->getNewEmptyItem()->getIdFieldName();
55
+ $columnName = $this->_getMappedField($columnName);
56
+
57
+ $select->columns(array($idFieldName, $columnName), 'main_table');
58
+
59
+ return $this->getConnection()->fetchPairs($select);
60
+ }
61
+
62
+ public function addFieldToFilterHaving($field, $condition = null)
63
+ {
64
+ $field = $this->_getMappedField($field);
65
+ $this->_select->having(
66
+ $this->_getConditionSql($field, $condition), null, Varien_Db_Select::TYPE_CONDITION
67
+ );
68
+
69
+ return $this;
70
+ }
71
+
72
+ public function getSelectCountSql()
73
+ {
74
+ $this->_renderFilters();
75
+
76
+ $countSelect = clone $this->getSelect();
77
+ $countSelect->reset(Zend_Db_Select::ORDER);
78
+ $countSelect->reset(Zend_Db_Select::LIMIT_COUNT);
79
+ $countSelect->reset(Zend_Db_Select::LIMIT_OFFSET);
80
+
81
+ if ($this->_preserveColumnsOnCount) {
82
+ $countSelect = $this->getConnection()->select()
83
+ ->from($countSelect, 'COUNT(*)');
84
+ } else {
85
+ $countSelect->reset(Zend_Db_Select::COLUMNS);
86
+ $countSelect->columns('COUNT(*)');
87
+ }
88
+
89
+ return $countSelect;
90
+ }
91
+
92
+ public function delete()
93
+ {
94
+ foreach ($this as $_item) {
95
+ $_item->delete();
96
+ }
97
+
98
+ return $this;
99
+ }
100
+ }
app/code/core/Ampersand/Core/changelog.txt ADDED
@@ -0,0 +1 @@
 
1
+ 28/09/2011 - v0.1.0 - Initial release.
app/code/core/Ampersand/Core/etc/config.xml ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <config>
3
+ <modules>
4
+ <Ampersand_Core>
5
+ <version>0.1.0</version>
6
+ </Ampersand_Core>
7
+ </modules>
8
+ <global>
9
+ <helpers>
10
+ <ampersand_core>
11
+ <class>Ampersand_Core_Helper</class>
12
+ </ampersand_core>
13
+ </helpers>
14
+ </global>
15
+ </config>
app/code/core/Ampersand/Integration/Block/Adminhtml/Flag.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Flag extends Mage_Adminhtml_Block_Widget_Grid_Container
19
+ {
20
+ public function __construct()
21
+ {
22
+ $this->_blockGroup = 'ampersand_integration_admin';
23
+ $this->_controller = 'flag';
24
+
25
+ if (!$this->getService()) {
26
+ $this->_headerText = Mage::helper('ampersand_integration')->__(
27
+ 'Flags'
28
+ );
29
+ } else {
30
+ $this->_headerText = Mage::helper('ampersand_integration')->__(
31
+ '%s Flags', $this->getService()->getDescription()
32
+ );
33
+ }
34
+
35
+ parent::__construct();
36
+
37
+ $this->_removeButton('add');
38
+ }
39
+
40
+ public function getService()
41
+ {
42
+ return Mage::helper('ampersand_integration/adminhtml')->getCurrentService();
43
+ }
44
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Flag/Grid.php ADDED
@@ -0,0 +1,173 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Flag_Grid
19
+ extends Ampersand_Integration_Block_Adminhtml_GridAbstract
20
+ {
21
+ protected $_serviceOptionsArray;
22
+
23
+ public function __construct()
24
+ {
25
+ parent::__construct();
26
+
27
+ $this->setId('flag_grid')
28
+ ->setUseAjax(true)
29
+ ->setDefaultSort('entity_id')
30
+ ->setDefaultDir('DESC')
31
+ ->setSaveParametersInSession(true)
32
+ ;
33
+ }
34
+
35
+ protected function _prepareCollection()
36
+ {
37
+ if (!$allowedServiceIds = $this->getAllowedServiceIds()) {
38
+ $allowedServiceIds = array(-1);
39
+ }
40
+
41
+ $collection = Mage::getResourceModel('ampersand_integration/flag_collection')
42
+ ->addFieldToFilter('`main_table`.service_id', $allowedServiceIds)
43
+ ->joinStatus()
44
+ ->joinMessage()
45
+ ->joinIdentifier();
46
+
47
+ $service = Mage::helper('ampersand_integration/adminhtml')->getCurrentService();
48
+ if ($service) {
49
+ $collection->addFieldToFilter('`main_table`.service_id', $service->getId());
50
+ }
51
+
52
+ $this->setCollection($collection);
53
+
54
+ return parent::_prepareCollection();
55
+ }
56
+
57
+ protected function _prepareColumns()
58
+ {
59
+ $this->addColumn('entity_id', array(
60
+ 'header' => Mage::helper('ampersand_integration')->__('Flag #'),
61
+ 'type' => 'number',
62
+ 'index' => 'entity_id',
63
+ ));
64
+
65
+ $this->addColumn('created_at', array(
66
+ 'header' => Mage::helper('ampersand_integration')->__('Date'),
67
+ 'type' => 'datetime',
68
+ 'index' => 'created_at',
69
+ ));
70
+
71
+
72
+
73
+ if (!$this->getServiceCode()) {
74
+ $this->addColumn('service_name', array(
75
+ 'header' => Mage::helper('ampersand_integration')->__('Direction &amp; Service'),
76
+ 'filter' => 'ampersand_integration_admin/grid_directedServiceFilter',
77
+ 'renderer' => 'ampersand_integration_admin/grid_directedServiceRenderer',
78
+ 'index' => 'service_id',
79
+ 'direction' => array(
80
+ 'index' => 'message_direction',
81
+ 'filter_index' => 'message_direction',
82
+ 'options' => array(
83
+ Ampersand_Integration_Model_Message::DIRECTION_INCOMING =>
84
+ Mage::helper('ampersand_integration')->__('Incoming'),
85
+ Ampersand_Integration_Model_Message::DIRECTION_OUTGOING =>
86
+ Mage::helper('ampersand_integration')->__('Outgoing'),
87
+ ),
88
+ ),
89
+ 'service' => array(
90
+ 'index' => 'service_id',
91
+ 'filter_index' => 'service_id',
92
+ 'options' => $this->_getServiceOptionsArray(),
93
+ ),
94
+ ));
95
+ } else {
96
+ $this->addColumn('message_direction', array(
97
+ 'header' => Mage::helper('ampersand_integration')->__('Direction'),
98
+ 'type' => 'options',
99
+ 'index' => 'message_direction',
100
+ 'filter_index' => 'message_direction',
101
+ 'options' => array(
102
+ Ampersand_Integration_Model_Message::DIRECTION_INCOMING =>
103
+ Mage::helper('ampersand_integration')->__('Incoming'),
104
+ Ampersand_Integration_Model_Message::DIRECTION_OUTGOING =>
105
+ Mage::helper('ampersand_integration')->__('Outgoing'),
106
+ ),
107
+ ));
108
+ }
109
+
110
+ $this->addColumn('message_name', array(
111
+ 'header' => Mage::helper('ampersand_integration')->__('Message Name'),
112
+ 'type' => 'text',
113
+ 'index' => 'message_name',
114
+ 'filter_index' => 'message_name',
115
+ ));
116
+
117
+ $this->addColumn('identifier_name', array(
118
+ 'header' => Mage::helper('ampersand_integration')->__('Reference Code'),
119
+ 'type' => 'text',
120
+ 'index' => 'identifier_name',
121
+ 'filter_index' => 'identifier_name',
122
+ ));
123
+
124
+ $this->addColumn('identifier_value', array(
125
+ 'header' => Mage::helper('ampersand_integration')->__('Reference Value'),
126
+ 'type' => 'text',
127
+ 'index' => 'identifier_value',
128
+ 'filter_index' => 'identifier_value',
129
+ ));
130
+
131
+ $this->addColumn('identifier_referenced_in', array(
132
+ 'header' => Mage::helper('ampersand_integration')->__('Referenced In'),
133
+ 'type' => 'text',
134
+ 'index' => 'identifier_referenced_in',
135
+ 'filter_index' => 'identifier_referenced_in',
136
+ ));
137
+
138
+ $this->addColumn('status_code', array(
139
+ 'header' => Mage::helper('ampersand_integration')->__('Status Code'),
140
+ 'index' => 'status_code',
141
+ 'filter_index' => 'status_code',
142
+ ));
143
+
144
+ $this->addColumn('status_type', array(
145
+ 'header' => Mage::helper('ampersand_integration')->__('Type'),
146
+ 'index' => 'status_type',
147
+ 'filter_index' => 'status_type',
148
+ ));
149
+
150
+ $this->addColumn('action',
151
+ array(
152
+ 'header' => Mage::helper('ampersand_integration')->__('Action'),
153
+ 'type' => 'action',
154
+ 'index' => 'entity_id',
155
+ 'actions' => array(
156
+ array(
157
+ 'caption' => Mage::helper('ampersand_integration')->__('View Flag'),
158
+ 'url' => array(
159
+ 'base' => '*/*/view',
160
+ 'params' => array('_current' => true),
161
+ ),
162
+ 'field' => 'id',
163
+ ),
164
+ ),
165
+ 'filter' => false,
166
+ 'sortable' => false,
167
+ 'is_system' => true,
168
+ 'width' => 80,
169
+ ));
170
+
171
+ return parent::_prepareColumns();
172
+ }
173
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Flag/View.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Flag_View
19
+ extends Ampersand_Integration_Block_Adminhtml_Message_View
20
+ {
21
+ public function __construct()
22
+ {
23
+ $this->_headerText = Mage::helper('ampersand_integration')->__(
24
+ 'Flag # %s Details', $this->getFlag()->getId()
25
+ );
26
+
27
+ $this->_addButton('back', array(
28
+ 'label' => Mage::helper('adminhtml')->__('Back'),
29
+ 'onclick' => 'setLocation(\'' . $this->getBackUrl() . '\')',
30
+ 'class' => 'back',
31
+ ), -1);
32
+ }
33
+
34
+ public function getFlag()
35
+ {
36
+ return Mage::registry('flag');
37
+ }
38
+
39
+ public function getIdentifier()
40
+ {
41
+ return Mage::registry('message_identifier');
42
+ }
43
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Flag/View/Abstract.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ abstract class Ampersand_Integration_Block_Adminhtml_Flag_View_Abstract
19
+ extends Ampersand_Integration_Block_Adminhtml_Message_View_Abstract
20
+ {
21
+ public function getFlag()
22
+ {
23
+ return Mage::registry('flag');
24
+ }
25
+
26
+ public function getStatus()
27
+ {
28
+ return $this->getFlag()->getStatus();
29
+ }
30
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Flag/View/Identifier.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Flag_View_Identifier
19
+ extends Ampersand_Integration_Block_Adminhtml_Flag_View_Abstract
20
+ {
21
+ public function getIdentifier()
22
+ {
23
+ return Mage::registry('message_identifier');
24
+ }
25
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Flag/View/Overview.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Flag_View_Overview
19
+ extends Ampersand_Integration_Block_Adminhtml_Flag_View_Abstract
20
+ {
21
+
22
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Grid/DirectedServiceFilter.php ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Grid_DirectedServiceFilter
19
+ extends Mage_Adminhtml_Block_Widget_Grid_Column_Filter_Abstract
20
+ {
21
+ const DIRECTION = 'direction';
22
+ const SERVICE = 'service';
23
+
24
+ public function getHtml()
25
+ {
26
+ $directionOptions = $this->_getDirectionOptions();
27
+ $directionHtml = $this->_getSelect(self::DIRECTION, $directionOptions);
28
+
29
+ $serviceOptions = $this->_getServiceOptions();
30
+ $serviceHtml = $this->_getSelect(self::SERVICE, $serviceOptions);
31
+
32
+ return "$directionHtml<br/>$serviceHtml";
33
+ }
34
+
35
+ public function getConditions()
36
+ {
37
+ $conditions = array();
38
+
39
+ if ($direction = $this->_getDirectionValue()) {
40
+ $directionConfigData = $this->_getDirectionConfig()->getData();
41
+ $directionConfigData['condition'] = array('eq' => $direction);
42
+ $conditions[] = $directionConfigData;
43
+ }
44
+
45
+ if ($service = $this->_getServiceValue()) {
46
+ $serviceConfigData = $this->_getServiceConfig()->getData();
47
+ $serviceConfigData['condition'] = array('eq' => $service);
48
+ $conditions[] = $serviceConfigData;
49
+ }
50
+
51
+ return $conditions;
52
+ }
53
+
54
+ protected function _getSelect($valueKey, array $options, $value)
55
+ {
56
+ $html = '<select name="' . $this->_getHtmlName() . '[' . $valueKey . ']" id="'
57
+ . $this->_getHtmlId() . '_' . $valueKey . '" class="no-changes">';
58
+
59
+ $value = $this->_getValuePart($valueKey);
60
+ foreach ($options as $_option){
61
+ if (is_array($_option['value'])) {
62
+ $html .= '<optgroup label="' . $this->escapeHtml($_option['label']) . '">';
63
+ foreach ($_option['value'] as $subOption) {
64
+ $html .= $this->_renderOption($subOption, $value);
65
+ }
66
+ $html .= '</optgroup>';
67
+ } else {
68
+ $html .= $this->_renderOption($_option, $value);
69
+ }
70
+ }
71
+
72
+ return $html . '</select>';
73
+ }
74
+
75
+ protected function _getDirectionValue()
76
+ {
77
+ return $this->_getValuePart(self::DIRECTION);
78
+ }
79
+
80
+ protected function _getServiceValue()
81
+ {
82
+ return $this->_getValuePart(self::SERVICE);
83
+ }
84
+
85
+ protected function _getValuePart($key)
86
+ {
87
+ $value = $this->getValue();
88
+
89
+ if (!is_array($value) || !array_key_exists($key, $value)) {
90
+ return null;
91
+ }
92
+
93
+ return $value[$key];
94
+ }
95
+
96
+ protected function _getDirectionConfig()
97
+ {
98
+ $data = $this->getColumn()->getDirection();
99
+
100
+ return new Ampersand_Object($data);
101
+ }
102
+
103
+ protected function _getServiceConfig()
104
+ {
105
+ $data = $this->getColumn()->getService();
106
+
107
+ return new Ampersand_Object($data);
108
+ }
109
+
110
+ protected function _getDirectionOptions()
111
+ {
112
+ return $this->_getOptions($this->_getDirectionConfig()->getOptions());
113
+ }
114
+
115
+ protected function _getServiceOptions()
116
+ {
117
+ return $this->_getOptions($this->_getServiceConfig()->getOptions());
118
+ }
119
+
120
+ protected function _getOptions($columnOptions)
121
+ {
122
+ if (empty($columnOptions) || !is_array($columnOptions)) {
123
+ return array();
124
+ }
125
+
126
+ $emptyOption = array('value' => null, 'label' => '');
127
+ $options = array($emptyOption);
128
+
129
+ foreach ($columnOptions as $value => $label) {
130
+ $options[] = array('value' => $value, 'label' => $label);
131
+ }
132
+
133
+ return $options;
134
+ }
135
+
136
+ protected function _renderOption($option, $value)
137
+ {
138
+ $selected = $option['value'] == $value && !is_null($value) ? ' selected="selected"' : '' ;
139
+
140
+ return '<option value="' . $this->escapeHtml($option['value']) . '"'.$selected . '>'
141
+ . $this->escapeHtml($option['label']) . '</option>';
142
+ }
143
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Grid/DirectedServiceRenderer.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Grid_DirectedServiceRenderer
19
+ extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
20
+ {
21
+ public function render(Varien_Object $row)
22
+ {
23
+ $serviceDescription = $this->_getServiceDescription($row);
24
+
25
+ $directionData = $this->getColumn()->getDirection();
26
+ switch ($row->getData($directionData['index'])) {
27
+ case Ampersand_Integration_Model_Message::DIRECTION_INCOMING:
28
+ $html = Mage::helper('ampersand_integration')->__(
29
+ '<em><strong>from</strong></em>&nbsp;&nbsp;%s', $serviceDescription
30
+ );
31
+ break;
32
+ case Ampersand_Integration_Model_Message::DIRECTION_OUTGOING:
33
+ $html = Mage::helper('ampersand_integration')->__(
34
+ '<em><strong>to</strong></em>&nbsp;&nbsp;%s', $serviceDescription
35
+ );
36
+ break;
37
+ default:
38
+ $html = $serviceDescription;
39
+ break;
40
+ }
41
+
42
+ return $html;
43
+ }
44
+
45
+ protected function _getServiceDescription(Varien_Object $row)
46
+ {
47
+ $serviceData = $this->getColumn()->getService();
48
+ $serviceOptions = $serviceData['options'];
49
+ $serviceValue = $row->getData($serviceData['index']);
50
+
51
+ return $serviceOptions[$serviceValue];
52
+ }
53
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Grid/StatusRenderer.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Grid_StatusRenderer
19
+ extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
20
+ {
21
+ public function renderHeader()
22
+ {
23
+ return "<div style='width:6px'></div>";
24
+ }
25
+
26
+ public function render(Varien_Object $row)
27
+ {
28
+ $nrOfFlags = $row->getData($this->getColumn()->getFlagsIndex());
29
+ $nrOfErrors = $row->getData($this->getColumn()->getErrorsIndex());
30
+
31
+ if ($nrOfErrors) {
32
+ // has errors
33
+ $color = 'FF7160';
34
+ } else if ($nrOfFlags) {
35
+ // has flags
36
+ $color = 'FFDE73';
37
+ } else {
38
+ // no flags
39
+ $color = '80FF80';
40
+ }
41
+
42
+ $id = "row-status-{$row->getId()}";
43
+
44
+ return "
45
+ <div id='$id' style='width:6px'></div>
46
+ <script type='text/javascript'>
47
+ $('$id').up().setStyle({backgroundColor: '#$color'});
48
+ </script>
49
+ ";
50
+ }
51
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/GridAbstract.php ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ abstract class Ampersand_Integration_Block_Adminhtml_GridAbstract
19
+ extends Mage_Adminhtml_Block_Widget_Grid
20
+ {
21
+ protected $_serviceOptionsArray;
22
+
23
+ protected function _getServiceOptionsArray()
24
+ {
25
+ if (is_null($this->_serviceOptionsArray)) {
26
+ $serviceCollection = Mage::getResourceModel('ampersand_integration/service_info_collection');
27
+ $serviceIdField = Mage::getSingleton('ampersand_integration/service_info')->getIdFieldName();
28
+
29
+ $serviceCollection->addFilterToMap('description', 'IFNULL(description, code)');
30
+
31
+ $this->_serviceOptionsArray = $serviceCollection->fetchPairs('description');
32
+ }
33
+
34
+ return $this->_serviceOptionsArray;
35
+ }
36
+
37
+ public function getRowUrl($row)
38
+ {
39
+ return $this->getUrl('*/*/view', array(
40
+ 'id' => $row->getId(),
41
+ 'service_code' => $this->getServiceCode(),
42
+ ));
43
+ }
44
+
45
+ public function getGridUrl()
46
+ {
47
+ return $this->getUrl('*/*/grid', array(
48
+ '_current' => true,
49
+ 'service_code' => $this->getServiceCode(),
50
+ ));
51
+ }
52
+
53
+ public function getServiceCode()
54
+ {
55
+ return Mage::helper('ampersand_integration/adminhtml')->getCurrentServiceCode();
56
+ }
57
+
58
+ public function getAllowedServiceIds()
59
+ {
60
+ if (!$this->hasData('allowed_service_ids')) {
61
+ $serviceIds = Mage::helper('ampersand_integration/adminhtml')
62
+ ->getAllowedServiceIds('ampersand_integration/*/message_history');
63
+
64
+ $this->setAllowedServiceIds($serviceIds);
65
+ }
66
+
67
+ return $this->getData('allowed_service_ids');
68
+ }
69
+
70
+ protected function _addColumnFilterToCollection($column)
71
+ {
72
+ if ($this->getCollection()) {
73
+ if ($conditions = $column->getFilter()->getConditions()) {
74
+ foreach ($conditions as $_conditionData) {
75
+ if (!array_key_exists('filter_index', $_conditionData)) {
76
+ $this->getCollection()->addFieldToFilter(
77
+ $_conditionData['index'], $_conditionData['condition']
78
+ );
79
+ } else {
80
+ $this->getCollection()->addFieldToFilterHaving(
81
+ $_conditionData['filter_index'], $_conditionData['condition']
82
+ );
83
+ }
84
+ }
85
+ } else {
86
+ $field = $column->getFilterIndex() ? $column->getFilterIndex() : $column->getIndex();
87
+ $condition = $column->getFilter()->getCondition();
88
+ if ($field && $condition) {
89
+ if (!$column->getFilterIndex()) {
90
+ $this->getCollection()->addFieldToFilter($field , $condition);
91
+ } else {
92
+ $this->getCollection()->addFieldToFilterHaving($field , $condition);
93
+ }
94
+ }
95
+ }
96
+ }
97
+
98
+ return $this;
99
+ }
100
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Message.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Message extends Mage_Adminhtml_Block_Widget_Grid_Container
19
+ {
20
+ public function __construct()
21
+ {
22
+ $this->_blockGroup = 'ampersand_integration_admin';
23
+ $this->_controller = 'message';
24
+
25
+ if (!$this->getService()) {
26
+ $this->_headerText = Mage::helper('ampersand_integration')->__(
27
+ 'Message History'
28
+ );
29
+ } else {
30
+ $this->_headerText = Mage::helper('ampersand_integration')->__(
31
+ '%s Message History', $this->getService()->getDescription()
32
+ );
33
+ }
34
+
35
+ parent::__construct();
36
+
37
+ $this->_removeButton('add');
38
+ }
39
+
40
+ public function getService()
41
+ {
42
+ return Mage::helper('ampersand_integration/adminhtml')->getCurrentService();
43
+ }
44
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Message/Grid.php ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Message_Grid
19
+ extends Ampersand_Integration_Block_Adminhtml_GridAbstract
20
+ {
21
+ protected $_serviceOptionsArray;
22
+
23
+ public function __construct()
24
+ {
25
+ parent::__construct();
26
+
27
+ $this->setId('message_grid')
28
+ ->setUseAjax(true)
29
+ ->setDefaultSort('entity_id')
30
+ ->setDefaultDir('DESC')
31
+ ->setSaveParametersInSession(true)
32
+ ;
33
+ }
34
+
35
+ protected function _prepareCollection()
36
+ {
37
+ if (!$allowedServiceIds = $this->getAllowedServiceIds()) {
38
+ $allowedServiceIds = array(-1);
39
+ }
40
+
41
+ $collection = Mage::getResourceModel('ampersand_integration/message_collection')
42
+ ->addFieldToFilter('service_id', $allowedServiceIds)
43
+ ->addFlagCounts()
44
+ ->addIdentifierCount('request')
45
+ ->addIdentifierCount('response');
46
+
47
+ $service = Mage::helper('ampersand_integration/adminhtml')->getCurrentService();
48
+ if ($service) {
49
+ $collection->addFieldToFilter('service_id', $service->getId());
50
+ }
51
+
52
+ $this->setCollection($collection);
53
+
54
+ return parent::_prepareCollection();
55
+ }
56
+
57
+ protected function _prepareColumns()
58
+ {
59
+ $this->addColumn('entity_id', array(
60
+ 'header' => Mage::helper('ampersand_integration')->__('Message #'),
61
+ 'type' => 'number',
62
+ 'index' => 'entity_id',
63
+ ));
64
+
65
+ $this->addColumn('created_at', array(
66
+ 'header' => Mage::helper('ampersand_integration')->__('Date'),
67
+ 'type' => 'datetime',
68
+ 'index' => 'created_at',
69
+ ));
70
+
71
+ if (!$this->getServiceCode()) {
72
+ $this->addColumn('service_name', array(
73
+ 'header' => Mage::helper('ampersand_integration')->__('Direction &amp; Service'),
74
+ 'filter' => 'ampersand_integration_admin/grid_directedServiceFilter',
75
+ 'renderer' => 'ampersand_integration_admin/grid_directedServiceRenderer',
76
+ 'index' => 'service_id',
77
+ 'direction' => array(
78
+ 'index' => 'direction',
79
+ 'options' => array(
80
+ Ampersand_Integration_Model_Message::DIRECTION_INCOMING =>
81
+ Mage::helper('ampersand_integration')->__('Incoming'),
82
+ Ampersand_Integration_Model_Message::DIRECTION_OUTGOING =>
83
+ Mage::helper('ampersand_integration')->__('Outgoing'),
84
+ ),
85
+ ),
86
+ 'service' => array(
87
+ 'index' => 'service_id',
88
+ 'options' => $this->_getServiceOptionsArray(),
89
+ ),
90
+ ));
91
+ } else {
92
+ $this->addColumn('direction', array(
93
+ 'header' => Mage::helper('ampersand_integration')->__('Direction'),
94
+ 'type' => 'options',
95
+ 'index' => 'direction',
96
+ 'options' => array(
97
+ Ampersand_Integration_Model_Message::DIRECTION_INCOMING =>
98
+ Mage::helper('ampersand_integration')->__('Incoming'),
99
+ Ampersand_Integration_Model_Message::DIRECTION_OUTGOING =>
100
+ Mage::helper('ampersand_integration')->__('Outgoing'),
101
+ ),
102
+ ));
103
+ }
104
+
105
+ $this->addColumn('name', array(
106
+ 'header' => Mage::helper('ampersand_integration')->__('Message Name'),
107
+ 'type' => 'text',
108
+ 'index' => 'name',
109
+ ));
110
+
111
+ $this->addColumn('nr_of_identifiers_in_request', array(
112
+ 'header' => Mage::helper('ampersand_integration')->__('Request Entities'),
113
+ 'type' => 'number',
114
+ 'index' => 'nr_of_identifiers_in_request',
115
+ 'filter_index' => 'nr_of_identifiers_in_request',
116
+ ));
117
+
118
+ $this->addColumn('nr_of_identifiers_in_response', array(
119
+ 'header' => Mage::helper('ampersand_integration')->__('Response Entities'),
120
+ 'type' => 'number',
121
+ 'index' => 'nr_of_identifiers_in_response',
122
+ 'filter_index' => 'nr_of_identifiers_in_response',
123
+ ));
124
+
125
+ $this->addColumn('nr_of_flags', array(
126
+ 'header' => Mage::helper('ampersand_integration')->__('Flags'),
127
+ 'type' => 'number',
128
+ 'index' => 'nr_of_flags',
129
+ 'filter_index' => 'nr_of_flags',
130
+ ));
131
+
132
+ $this->addColumn('nr_of_errors', array(
133
+ 'header' => Mage::helper('ampersand_integration')->__('Errors'),
134
+ 'type' => 'number',
135
+ 'index' => 'nr_of_errors',
136
+ 'filter_index' => 'nr_of_errors',
137
+ ));
138
+
139
+ $this->addColumn('action',
140
+ array(
141
+ 'header' => Mage::helper('ampersand_integration')->__('Action'),
142
+ 'type' => 'action',
143
+ 'index' => 'entity_id',
144
+ 'actions' => array(
145
+ array(
146
+ 'caption' => Mage::helper('sales')->__('View'),
147
+ 'url' => array('base' => '*/message/view'),
148
+ 'field' => 'id'
149
+ ),
150
+ ),
151
+ 'filter' => false,
152
+ 'sortable' => false,
153
+ 'is_system' => true,
154
+ 'width' => 1,
155
+ ));
156
+
157
+ $this->addColumn('status_indicator', array(
158
+ 'flags_index' => 'nr_of_flags',
159
+ 'errors_index' => 'nr_of_errors',
160
+ 'filter' => false,
161
+ 'renderer' => 'ampersand_integration_admin/grid_statusRenderer',
162
+ 'header_css_class' => 'np nm',
163
+ 'column_css_class' => 'np nm',
164
+ 'width' => 1,
165
+ ));
166
+
167
+ return parent::_prepareColumns();
168
+ }
169
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Message_View
19
+ extends Mage_Adminhtml_Block_Widget_Container
20
+ {
21
+ public function __construct()
22
+ {
23
+ $this->_headerText = Mage::helper('ampersand_integration')->__(
24
+ 'Message # %s Details', $this->getMessage()->getId()
25
+ );
26
+
27
+ $this->_addButton('back', array(
28
+ 'label' => Mage::helper('adminhtml')->__('Back'),
29
+ 'onclick' => 'setLocation(\'' . $this->getBackUrl() . '\')',
30
+ 'class' => 'back',
31
+ ), -1);
32
+ }
33
+
34
+ public function getMessage()
35
+ {
36
+ return Mage::registry('message');
37
+ }
38
+
39
+ public function getBackUrl()
40
+ {
41
+ return $this->getUrl('*/*/', array('service_code' => $this->getServiceCode()));
42
+ }
43
+
44
+ public function getServiceCode()
45
+ {
46
+ return Mage::helper('ampersand_integration/adminhtml')->getCurrentServiceCode();
47
+ }
48
+
49
+ public function isLogContentAllowed()
50
+ {
51
+ return Mage::getSingleton('ampersand_integration/adminSession')
52
+ ->isMessageLogContentAllowed($this->getMessage()->getService());
53
+ }
54
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View/Abstract.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ abstract class Ampersand_Integration_Block_Adminhtml_Message_View_Abstract
19
+ extends Mage_Adminhtml_Block_Widget
20
+ {
21
+ public function getMessage()
22
+ {
23
+ return Mage::registry('message');
24
+ }
25
+
26
+ public function getService()
27
+ {
28
+ return $this->getMessage()->getService();
29
+ }
30
+
31
+ protected function _helper()
32
+ {
33
+ return Mage::helper('ampersand_integration');
34
+ }
35
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View/Flags/Grid.php ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Message_View_Flags_Grid
19
+ extends Ampersand_Integration_Block_Adminhtml_GridAbstract
20
+ {
21
+ public function __construct()
22
+ {
23
+ parent::__construct();
24
+
25
+ $this->setId('flag_grid')
26
+ ->setUseAjax(true)
27
+ ->setDefaultSort('entity_id')
28
+ ->setDefaultDir('ASC')
29
+ ->setSaveParametersInSession(true)
30
+ ;
31
+ }
32
+
33
+ protected function _prepareCollection()
34
+ {
35
+ $collection = Mage::getResourceModel('ampersand_integration/flag_collection')
36
+ ->addFieldToFilter('message_id', $this->getMessage()->getId())
37
+ ->joinStatus();
38
+ $this->setCollection($collection);
39
+
40
+ return parent::_prepareCollection();
41
+ }
42
+
43
+ protected function _prepareColumns()
44
+ {
45
+ $this->addColumn('entity_id', array(
46
+ 'header' => Mage::helper('ampersand_integration')->__('Flag #'),
47
+ 'index' => 'entity_id',
48
+ 'type' => 'number',
49
+ ));
50
+
51
+ $this->addColumn('identifier_id', array(
52
+ 'header' => Mage::helper('ampersand_integration')->__('Reference #'),
53
+ 'index' => 'identifier_id',
54
+ 'type' => 'number',
55
+ ));
56
+
57
+ $this->addColumn('short_text', array(
58
+ 'header' => Mage::helper('ampersand_integration')->__('Short Text'),
59
+ 'index' => 'short_text',
60
+ ));
61
+
62
+ $this->addColumn('status_code', array(
63
+ 'header' => Mage::helper('ampersand_integration')->__('Status Code'),
64
+ 'index' => 'status_code',
65
+ 'filter_index' => 'status_code',
66
+ ));
67
+
68
+ $this->addColumn('status_description', array(
69
+ 'header' => Mage::helper('ampersand_integration')->__('Description'),
70
+ 'index' => 'status_text',
71
+ 'filter_index' => 'status_text',
72
+ ));
73
+
74
+ $this->addColumn('stauts_type', array(
75
+ 'header' => Mage::helper('ampersand_integration')->__('Type'),
76
+ 'index' => 'status_type',
77
+ 'filter_index' => 'status_type',
78
+ ));
79
+
80
+ $this->addColumn('action',
81
+ array(
82
+ 'header' => Mage::helper('ampersand_integration')->__('Action'),
83
+ 'type' => 'action',
84
+ 'index' => 'entity_id',
85
+ 'actions' => array(
86
+ array(
87
+ 'caption' => Mage::helper('sales')->__('View'),
88
+ 'url' => array('base' => '*/flag/view'),
89
+ 'field' => 'id'
90
+ ),
91
+ ),
92
+ 'filter' => false,
93
+ 'sortable' => false,
94
+ 'is_system' => true,
95
+ 'width' => 1,
96
+ ));
97
+
98
+ return parent::_prepareColumns();
99
+ }
100
+
101
+ public function getMessage()
102
+ {
103
+ return Mage::registry('message');
104
+ }
105
+
106
+ public function getGridUrl()
107
+ {
108
+ return $this->getUrl(
109
+ 'ampersand_integration_admin/message_view/flagsGrid', array('_current' => true)
110
+ );
111
+ }
112
+
113
+ public function getRowUrl($row)
114
+ {
115
+ return $this->getUrl('*/flag/view', array(
116
+ 'id' => $row->getId(),
117
+ 'service_code' => $this->getServiceCode(),
118
+ ));
119
+ }
120
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View/LogContent.php ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Message_View_LogContent extends Ampersand_Integration_Block_Adminhtml_Message_View_Abstract
19
+ {
20
+ public function getLogPairs()
21
+ {
22
+ if (!$this->hasLogPairs()) {
23
+ $this->setLogPairs($this->_getLogPairs());
24
+ }
25
+
26
+ return $this->getData('log_pairs');
27
+ }
28
+
29
+ protected function _getLogPairs()
30
+ {
31
+ if (false === ($xmlObject = $this->_getLogXmlObject())) {
32
+ return null;
33
+ }
34
+
35
+ return $xmlObject->asPairs();
36
+ }
37
+
38
+ protected function _getLogXmlObject()
39
+ {
40
+ return $this->getMessage()->getLogXmlObject();
41
+ }
42
+
43
+ public function getPairsHtml()
44
+ {
45
+ $html = '';
46
+
47
+ if (($renderer = $this->_getPairRenderer())
48
+ && (false !== ($pairs = $this->getLogPairs()))) {
49
+ if (!is_object($pairs)) {
50
+ $pairs = array($pairs);
51
+ }
52
+
53
+ foreach ($pairs as $_name => $_value) {
54
+ $html .= $renderer->renderPair($_name, $_value);
55
+ }
56
+ }
57
+
58
+ return $html;
59
+ }
60
+
61
+ protected function _getPairRenderer()
62
+ {
63
+ return $this->getChild('pair_renderer');
64
+ }
65
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View/LogContent/Pair.php ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Message_View_LogContent_Pair extends Ampersand_Integration_Block_Adminhtml_Message_View_Abstract
19
+ {
20
+ public function renderPair($name, $value)
21
+ {
22
+ $this->setFieldName($name);
23
+ $this->setFieldValue($value);
24
+
25
+ return $this->toHtml();
26
+ }
27
+
28
+ public function getFieldValueHtml()
29
+ {
30
+ $fieldValue = $this->getFieldValue();
31
+
32
+ if (!$this->getIsLeaf()) {
33
+ $html = '';
34
+
35
+ foreach ($fieldValue as $_name => $_value) {
36
+ $html .= $this->renderPair($_name, $_value);
37
+ }
38
+ } else {
39
+ $html = Mage::helper('ampersand_core')->prepareStringForHtmlRender($fieldValue);
40
+ }
41
+
42
+ return $html;
43
+ }
44
+
45
+ public function getIsLeaf()
46
+ {
47
+ return !is_object($this->getFieldValue());
48
+ }
49
+
50
+ public function getNrOfLines()
51
+ {
52
+ if ($this->getIsLeaf()) {
53
+ $nrOfLines = 1 + substr_count($this->getFieldValue(), "\n");
54
+ } else {
55
+ $nrOfLines = $this->getFieldValue()->count();
56
+ }
57
+
58
+ return $nrOfLines;
59
+ }
60
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View/Overview.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Message_View_Overview
19
+ extends Ampersand_Integration_Block_Adminhtml_Message_View_Abstract
20
+ {
21
+ public function getMessageDirectionText()
22
+ {
23
+ switch ($this->getMessage()->getDirection()) {
24
+ case Ampersand_Integration_Model_Message::DIRECTION_INCOMING:
25
+ $messageText = $this->_helper()->__('Incoming');
26
+ if ($service = $this->getService()) {
27
+ $messageText .= " ({$this->_helper()->__("from %s to Magento", $service->getDescription())})";
28
+ }
29
+ break;
30
+ case Ampersand_Integration_Model_Message::DIRECTION_OUTGOING:
31
+ $messageText = $this->_helper()->__('Outgoing');
32
+ if ($service = $this->getService()) {
33
+ $messageText .= " ({$this->_helper()->__("from Magento to %s", $service->getDescription())})";
34
+ }
35
+ break;
36
+ default:
37
+ $messageText = "<em>{$this->_helper()->__('Unknown')}</em>";
38
+ break;
39
+ }
40
+
41
+ return $messageText;
42
+ }
43
+
44
+ public function isLogContentAllowed()
45
+ {
46
+ return $this->getParentBlock()->isLogContentAllowed();
47
+ }
48
+
49
+ public function getMessageUrl()
50
+ {
51
+ return Mage::helper('adminhtml')->getUrl(
52
+ 'ampersand_integration_admin/message/view', array(
53
+ '_current' => true,
54
+ 'id' => $this->getMessage()->getId(),
55
+ ));
56
+ }
57
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/Message/View/RelatedObjects/Grid.php ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_Message_View_RelatedObjects_Grid
19
+ extends Ampersand_Integration_Block_Adminhtml_GridAbstract
20
+ {
21
+ public function __construct()
22
+ {
23
+ parent::__construct();
24
+
25
+ $this->setId('identifier_grid')
26
+ ->setUseAjax(true)
27
+ ->setDefaultSort('entity_id')
28
+ ->setDefaultDir('ASC')
29
+ ->setSaveParametersInSession(true)
30
+ ;
31
+ }
32
+
33
+ protected function _prepareCollection()
34
+ {
35
+ $collection = Mage::getResourceModel('ampersand_integration/message_identifier_collection')
36
+ ->addFieldToFilter('message_id', $this->getMessage()->getId())
37
+ ->addFlagCounts();
38
+ $this->setCollection($collection);
39
+
40
+ return parent::_prepareCollection();
41
+ }
42
+
43
+ protected function _prepareColumns()
44
+ {
45
+ $this->addColumn('entity_id', array(
46
+ 'header' => Mage::helper('ampersand_integration')->__('Reference #'),
47
+ 'index' => 'entity_id',
48
+ 'type' => 'number',
49
+ ));
50
+
51
+ $this->addColumn('name', array(
52
+ 'header' => Mage::helper('ampersand_integration')->__('Reference Code'),
53
+ 'index' => 'name',
54
+ ));
55
+
56
+ $this->addColumn('type', array(
57
+ 'header' => Mage::helper('ampersand_integration')->__('Type'),
58
+ 'index' => 'type',
59
+ ));
60
+
61
+ $this->addColumn('value', array(
62
+ 'header' => Mage::helper('ampersand_integration')->__('Value'),
63
+ 'index' => 'value',
64
+ ));
65
+
66
+ $this->addColumn('referenced_in', array(
67
+ 'header' => Mage::helper('ampersand_integration')->__('Referenced In'),
68
+ 'index' => 'referenced_in',
69
+ ));
70
+
71
+ $this->addColumn('nr_of_flags', array(
72
+ 'header' => Mage::helper('ampersand_integration')->__('Flags'),
73
+ 'type' => 'number',
74
+ 'index' => 'nr_of_flags',
75
+ 'filter_index' => 'nr_of_flags',
76
+ ));
77
+
78
+ $this->addColumn('nr_of_errors', array(
79
+ 'header' => Mage::helper('ampersand_integration')->__('Errors'),
80
+ 'type' => 'number',
81
+ 'index' => 'nr_of_errors',
82
+ 'filter_index' => 'nr_of_errors',
83
+ ));
84
+
85
+ $this->addColumn('action',
86
+ array(
87
+ 'header' => Mage::helper('ampersand_integration')->__('Action'),
88
+ 'type' => 'action',
89
+ 'index' => 'entity_id',
90
+ 'actions' => array(
91
+ array(
92
+ 'caption' => Mage::helper('ampersand_integration')->__('View Entity'),
93
+ 'url' => array(
94
+ 'base' => '*/messageIdentifier/redirect',
95
+ 'params' => array('_current' => true),
96
+ ),
97
+ 'field' => 'id',
98
+ ),
99
+ ),
100
+ 'filter' => false,
101
+ 'sortable' => false,
102
+ 'is_system' => true,
103
+ 'width' => 80,
104
+ ));
105
+
106
+ $this->addColumn('status_indicator', array(
107
+ 'flags_index' => 'nr_of_flags',
108
+ 'errors_index' => 'nr_of_errors',
109
+ 'filter' => false,
110
+ 'renderer' => 'ampersand_integration_admin/grid_statusRenderer',
111
+ 'header_css_class' => 'np nm',
112
+ 'column_css_class' => 'np nm',
113
+ 'width' => 1,
114
+ ));
115
+
116
+ return parent::_prepareColumns();
117
+ }
118
+
119
+ public function getMessage()
120
+ {
121
+ return Mage::registry('message');
122
+ }
123
+
124
+ public function getRowUrl($row)
125
+ {
126
+ return $this->getUrl(
127
+ '*/messageIdentifier/redirect', array('_current' => true, 'id' => $row->getEntityId())
128
+ );
129
+ }
130
+
131
+ public function getGridUrl()
132
+ {
133
+ return $this->getUrl(
134
+ 'ampersand_integration_admin/message_view/relatedObjectsGrid', array('_current' => true)
135
+ );
136
+ }
137
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/MessageIdentifier.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_MessageIdentifier
19
+ extends Mage_Adminhtml_Block_Widget_Grid_Container
20
+ {
21
+ public function __construct()
22
+ {
23
+ $this->_blockGroup = 'ampersand_integration_admin';
24
+ $this->_controller = 'messageIdentifier';
25
+
26
+ if (!$this->getService()) {
27
+ $this->_headerText = Mage::helper('ampersand_integration')->__(
28
+ 'Entity References'
29
+ );
30
+ } else {
31
+ $this->_headerText = Mage::helper('ampersand_integration')->__(
32
+ '%s Entity References', $this->getService()->getDescription()
33
+ );
34
+ }
35
+
36
+ parent::__construct();
37
+
38
+ $this->_removeButton('add');
39
+ }
40
+
41
+ public function getService()
42
+ {
43
+ return Mage::helper('ampersand_integration/adminhtml')->getCurrentService();
44
+ }
45
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/MessageIdentifier/Grid.php ADDED
@@ -0,0 +1,177 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_MessageIdentifier_Grid
19
+ extends Ampersand_Integration_Block_Adminhtml_GridAbstract
20
+ {
21
+ public function __construct()
22
+ {
23
+ parent::__construct();
24
+
25
+ $this->setId('identifier_grid')
26
+ ->setUseAjax(true)
27
+ ->setDefaultSort('entity_id')
28
+ ->setDefaultDir('DESC')
29
+ ->setSaveParametersInSession(true)
30
+ ;
31
+ }
32
+
33
+ protected function _prepareCollection()
34
+ {
35
+ $collection = Mage::getResourceModel('ampersand_integration/message_identifier_collection')
36
+ ->addFlagCounts()
37
+ ->joinMessage();
38
+ $this->setCollection($collection);
39
+
40
+ return parent::_prepareCollection();
41
+ }
42
+
43
+ protected function _prepareColumns()
44
+ {
45
+ $this->addColumn('entity_id', array(
46
+ 'header' => Mage::helper('ampersand_integration')->__('Reference #'),
47
+ 'index' => 'entity_id',
48
+ 'type' => 'number',
49
+ ));
50
+
51
+ $this->addColumn('created_at', array(
52
+ 'header' => Mage::helper('ampersand_integration')->__('Date'),
53
+ 'type' => 'datetime',
54
+ 'index' => 'created_at',
55
+ 'filter_index' => 'created_at',
56
+ ));
57
+
58
+ if (!$this->getServiceCode()) {
59
+ $this->addColumn('service_name', array(
60
+ 'header' => Mage::helper('ampersand_integration')->__('Direction &amp; Service'),
61
+ 'filter' => 'ampersand_integration_admin/grid_directedServiceFilter',
62
+ 'renderer' => 'ampersand_integration_admin/grid_directedServiceRenderer',
63
+ 'index' => 'service_id',
64
+ 'direction' => array(
65
+ 'index' => 'message_direction',
66
+ 'filter_index' => 'message_direction',
67
+ 'options' => array(
68
+ Ampersand_Integration_Model_Message::DIRECTION_INCOMING =>
69
+ Mage::helper('ampersand_integration')->__('Incoming'),
70
+ Ampersand_Integration_Model_Message::DIRECTION_OUTGOING =>
71
+ Mage::helper('ampersand_integration')->__('Outgoing'),
72
+ ),
73
+ ),
74
+ 'service' => array(
75
+ 'index' => 'service_id',
76
+ 'filter_index' => 'service_id',
77
+ 'options' => $this->_getServiceOptionsArray(),
78
+ ),
79
+ ));
80
+ } else {
81
+ $this->addColumn('message_direction', array(
82
+ 'header' => Mage::helper('ampersand_integration')->__('Direction'),
83
+ 'type' => 'options',
84
+ 'index' => 'message_direction',
85
+ 'filter_index' => 'message_direction',
86
+ 'options' => array(
87
+ Ampersand_Integration_Model_Message::DIRECTION_INCOMING =>
88
+ Mage::helper('ampersand_integration')->__('Incoming'),
89
+ Ampersand_Integration_Model_Message::DIRECTION_OUTGOING =>
90
+ Mage::helper('ampersand_integration')->__('Outgoing'),
91
+ ),
92
+ ));
93
+ }
94
+
95
+ $this->addColumn('message_name', array(
96
+ 'header' => Mage::helper('ampersand_integration')->__('Message Name'),
97
+ 'type' => 'text',
98
+ 'index' => 'message_name',
99
+ 'filter_index' => 'message_name',
100
+ 'width' => 1,
101
+ ));
102
+
103
+ $this->addColumn('name', array(
104
+ 'header' => Mage::helper('ampersand_integration')->__('Reference Code'),
105
+ 'index' => 'name',
106
+ 'filter_index' => '`main_table`.name',
107
+ ));
108
+
109
+ $this->addColumn('type', array(
110
+ 'header' => Mage::helper('ampersand_integration')->__('Type'),
111
+ 'index' => 'type',
112
+ 'filter_index' => '`main_table`.type',
113
+ ));
114
+
115
+ $this->addColumn('value', array(
116
+ 'header' => Mage::helper('ampersand_integration')->__('Value'),
117
+ 'index' => 'value',
118
+ ));
119
+
120
+ $this->addColumn('referenced_in', array(
121
+ 'header' => Mage::helper('ampersand_integration')->__('Referenced In'),
122
+ 'index' => 'referenced_in',
123
+ 'width' => 1,
124
+ ));
125
+
126
+ $this->addColumn('action',
127
+ array(
128
+ 'header' => Mage::helper('ampersand_integration')->__('Action'),
129
+ 'type' => 'action',
130
+ 'index' => 'entity_id',
131
+ 'actions' => array(
132
+ array(
133
+ 'caption' => Mage::helper('ampersand_integration')->__('View Message'),
134
+ 'url' => array(
135
+ 'base' => '*/message/view',
136
+ 'params' => array('_current' => true),
137
+ ),
138
+ 'field' => 'identifier_id',
139
+ ),
140
+ array(
141
+ 'caption' => Mage::helper('ampersand_integration')->__('View Entity'),
142
+ 'url' => array(
143
+ 'base' => '*/messageIdentifier/redirect',
144
+ 'params' => array('_current' => true),
145
+ ),
146
+ 'field' => 'id',
147
+ ),
148
+ ),
149
+ 'filter' => false,
150
+ 'sortable' => false,
151
+ 'is_system' => true,
152
+ 'width' => 80,
153
+ ));
154
+
155
+ $this->addColumn('status_indicator', array(
156
+ 'flags_index' => 'nr_of_flags',
157
+ 'errors_index' => 'nr_of_errors',
158
+ 'filter' => false,
159
+ 'renderer' => 'ampersand_integration_admin/grid_statusRenderer',
160
+ 'header_css_class' => 'np nm',
161
+ 'column_css_class' => 'np nm',
162
+ 'width' => 1,
163
+ ));
164
+
165
+ return parent::_prepareColumns();
166
+ }
167
+
168
+ public function getMessage()
169
+ {
170
+ return Mage::registry('message');
171
+ }
172
+
173
+ public function getRowUrl($row)
174
+ {
175
+ return null;
176
+ }
177
+ }
app/code/core/Ampersand/Integration/Block/Adminhtml/System/Config/Renderer/CustomFields.php ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Block
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Block
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Block_Adminhtml_System_Config_Renderer_CustomFields
19
+ extends Ampersand_Adminhtml_Block_System_Config_Renderer_ArrayAbstract
20
+ {
21
+ protected $_classTypeRenderer;
22
+
23
+ public function render(Varien_Data_Form_Element_Abstract $element)
24
+ {
25
+ return $this->_getDependencyJs($element) . parent::render($element);
26
+ }
27
+
28
+ /**
29
+ * Prepares block to be rendered
30
+ *
31
+ * @return Ampersand_Integration_Block_Adminhtml_System_Config_Renderer_CustomFields
32
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
33
+ */
34
+ protected function _prepareToRender()
35
+ {
36
+ $this->addColumn('name', array(
37
+ 'label' => Mage::helper('ampersand_integration')->__('Field Name'),
38
+ 'style' => 'width:80px',
39
+ ));
40
+ $this->addColumn('type', array(
41
+ 'label' => Mage::helper('ampersand_integration')->__('Type'),
42
+ 'renderer' => $this->_getClassTypeRenderer($this->getElement()),
43
+ ));
44
+ $this->addColumn('class', array(
45
+ 'label' => Mage::helper('ampersand_integration')->__('Class'),
46
+ 'style' => 'width:100px',
47
+ 'class' => 'custom-fields-type-dependent',
48
+ ));
49
+ $this->addColumn('method', array(
50
+ 'label' => Mage::helper('ampersand_integration')->__('Method'),
51
+ 'style' => 'width:80px',
52
+ 'class' => 'custom-fields-type-dependent',
53
+ ));
54
+
55
+ return $this;
56
+ }
57
+
58
+ /**
59
+ * Retrieves renderer for product image attribute field
60
+ *
61
+ * @return Ampersand_Adminhtml_Block_System_Config_Element_ProductImage_Attribute
62
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
63
+ */
64
+ protected function _getClassTypeRenderer($element)
65
+ {
66
+ if (is_null($this->_classTypeRenderer)) {
67
+ $this->_classTypeRenderer = $this->getLayout()->createBlock(
68
+ 'core/html_select', '',
69
+ array('is_render_to_js_template' => true)
70
+ );
71
+
72
+ $this->_classTypeRenderer->addOption(
73
+ $this->_getCustomFieldCallbackTypes(),
74
+ Mage::helper('ampersand_integration')->__('Custom Callback')
75
+ );
76
+ if ($presets = $this->_getCustomFieldPresets()) {
77
+ $this->_classTypeRenderer->addOption(
78
+ $presets, Mage::helper('ampersand_integration')->__('Preset')
79
+ );
80
+ }
81
+
82
+ $elementName = $element->getName();
83
+ $typeValue = $element->getData('value/type');
84
+
85
+ $this->_classTypeRenderer
86
+ ->setName($elementName . '[#{_id}][type]')
87
+ ->setClass('custom-fields-type')
88
+ ->setExtraParams('style="width:110px"');
89
+ }
90
+
91
+ return $this->_classTypeRenderer;
92
+ }
93
+
94
+ protected function _getCustomFieldCallbackTypes()
95
+ {
96
+ return array(
97
+ 'custom/helper' => Mage::helper('ampersand_integration')->__('Helper'),
98
+ 'custom/model' => Mage::helper('ampersand_integration')->__('Model'),
99
+ 'custom/singleton' => Mage::helper('ampersand_integration')->__('Singleton'),
100
+ );
101
+ }
102
+
103
+ protected function _getCustomFieldPresets()
104
+ {
105
+ return array();
106
+ }
107
+
108
+ protected function _getDependencyJs($element)
109
+ {
110
+ $updateTypeValuesJsLines = array();
111
+
112
+ $elementValue = $element->getValue();
113
+ if (is_array($elementValue)) {
114
+ foreach ($elementValue as $_rowId => $_rowData) {
115
+ $updateTypeValuesJsLines[] = "$('$_rowId').down('select.custom-fields-type')
116
+ .setValue('{$_rowData['type']}')";
117
+ }
118
+ }
119
+
120
+ $updateTypeValueJs = implode("\n", $updateTypeValuesJsLines);
121
+
122
+ return '<script type="text/javascript">
123
+ if (typeof checkCustomFieldTypeValue != "function") {
124
+ function checkCustomFieldTypeValue($select)
125
+ {
126
+ $dependents = $select.up("tr").select(".custom-fields-type-dependent");
127
+ if ("custom/" == $select.getValue().substr(0, 7)) {
128
+ $dependents.each(function(element) {
129
+ element.removeAttribute("disabled");
130
+ });
131
+ } else {
132
+ $dependents.each(function(element) {
133
+ element.setAttribute("disabled", "disabled");
134
+ element.setValue("");
135
+ });
136
+ }
137
+ }
138
+
139
+ function createCustomFieldGridObservers(gridId)
140
+ {
141
+ $grid = $(gridId);
142
+
143
+ $grid.select("button").each(function($button) {
144
+ if (!$button.getAttribute("observer_defined")) {
145
+ Event.observe($button, "click", function() {
146
+ var gridId = getContainingGridId($(this));
147
+ createCustomFieldGridObservers(gridId);
148
+ });
149
+ $button.setAttribute("observer_defined", true);
150
+ }
151
+ });
152
+
153
+ $grid.select("select.custom-fields-type").each(function($select) {
154
+ if (!$select.getAttribute("observer_defined")) {
155
+ Event.observe($select, "change", function() {
156
+ checkCustomFieldTypeValue($(this));
157
+ });
158
+ $select.setAttribute("observer_defined", true);
159
+ }
160
+
161
+ checkCustomFieldTypeValue($select);
162
+ });
163
+ }
164
+
165
+ function getContainingGridId($element)
166
+ {
167
+ return $element.up("div.grid").id;
168
+ }
169
+ }
170
+
171
+ Event.observe(window, "load", function() {
172
+ ' . $updateTypeValueJs . '
173
+ createCustomFieldGridObservers(grid' . $this->getHtmlId() . ');
174
+ Element.observe("emptyAddBtn' . $this->getHtmlId() . '", "click", function() {
175
+ createCustomFieldGridObservers(grid' . $this->getHtmlId() . ');
176
+ });
177
+ });
178
+ </script>';
179
+ }
180
+
181
+ public function getHtmlId()
182
+ {
183
+ if (!$this->hasHtmlId()) {
184
+ $this->setHtmlId('_' . uniqid());
185
+ }
186
+
187
+ return $this->getData('html_id');
188
+ }
189
+ }
app/code/core/Ampersand/Integration/Controller/Adminhtml/Abstract.php ADDED
@@ -0,0 +1,161 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Controller
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Controller
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ abstract class Ampersand_Integration_Controller_Adminhtml_Abstract
19
+ extends Mage_Adminhtml_Controller_Action
20
+ {
21
+ public function preDispatch()
22
+ {
23
+ parent::preDispatch();
24
+
25
+ $time = time();
26
+ $this->_handleUnlicensedServices($time);
27
+ $this->_handleExpiringLicenses($time);
28
+ $this->_initCurrentService();
29
+
30
+ return $this;
31
+ }
32
+
33
+ protected function _handleUnlicensedServices($time)
34
+ {
35
+
36
+ }
37
+
38
+ protected function _handleExpiringLicenses($time)
39
+ {
40
+ $expiredServices = array();
41
+ $expiringServices = array();
42
+
43
+ foreach ($this->_getLicenses() as $_license) {
44
+ if (!$_license->getExpiresAt()) {
45
+ continue;
46
+ }
47
+
48
+ $_key = $_license->getExpiresAt() . $_license->getServiceCode();
49
+ $_pair = array(
50
+ 'service_code' => $_license->getServiceCode(),
51
+ 'expires_at' => $_license->getExpiresAt(),
52
+ );
53
+
54
+ if (!$_license->getIsValid()) {
55
+ $expiredServices[$_key] = $_pair;
56
+ } else {
57
+ $expiringServices[$_key] = $_pair;
58
+ }
59
+ }
60
+
61
+ foreach ($expiredServices as $_pair) {
62
+ $this->_handleExpiredLicense($_pair['service_code'], $_pair['expires_at'], $time);
63
+ }
64
+
65
+ foreach ($expiringServices as $_pair) {
66
+ $this->_handleExpiringLicense($_pair['service_code'], $_pair['expires_at'], $time);
67
+ }
68
+ }
69
+
70
+ protected function _getLicenses()
71
+ {
72
+ $licenses = array();
73
+
74
+ foreach (Ampersand_License::getLicenseData() as $_identifier => $_data) {
75
+ $_license = Mage::getModel('ampersand_integration/license')
76
+ ->setData($_data)
77
+ ->setIdentifier($_identifier);
78
+
79
+ if (!$_license->getServiceCode()) {
80
+ continue;
81
+ }
82
+
83
+ $licenses[] = $_license;
84
+ }
85
+
86
+ return $licenses;
87
+ }
88
+
89
+ protected function _handleExpiredLicense($serviceCode, $expiresAt, $time)
90
+ {
91
+ if (2419200 < $time - $expiresAt) {
92
+ // [if] license expired more than four weeks ago
93
+ return;
94
+ }
95
+
96
+ $serviceDescription = Mage::getModel('ampersand_integration/service_info')
97
+ ->load($serviceCode, 'code')
98
+ ->getDataSetDefault('description', $serviceCode);
99
+ $message = $this->__('A license for the %s integration module has expired!', $serviceDescription);
100
+
101
+ if (604800 > $time - $expiresAt) {
102
+ // [if] license expired less than one week ago
103
+ $this->_addWarning($message);
104
+ } else {
105
+ $this->_addNotice($message);
106
+ }
107
+ }
108
+
109
+ protected function _handleExpiringLicense($serviceCode, $expiresAt, $time)
110
+ {
111
+ if (4838400 < $expiresAt - $time) {
112
+ // [if] more than eight weeks until license expires
113
+ return;
114
+ }
115
+
116
+ $serviceDescription = Mage::getModel('ampersand_integration/service_info')
117
+ ->load($serviceCode, 'code')
118
+ ->getDataSetDefault('description', $serviceCode);
119
+ $message = $this->__(
120
+ 'A license for the %s integration module will expire on %s',
121
+ $serviceDescription,
122
+ Mage::helper('core')->formatDate(
123
+ new Zend_Date($expiresAt), Mage_Core_Model_Locale::FORMAT_TYPE_FULL, true
124
+ )
125
+ );
126
+
127
+ if (1209600 > $time - $expiresAt) {
128
+ // [if] license expires in less than two weeks
129
+ $this->_addWarning($message);
130
+ } else {
131
+ $this->_addNotice($message);
132
+ }
133
+ }
134
+
135
+ protected function _addWarning($message)
136
+ {
137
+ if (!$this->getRequest()->isAjax()) {
138
+ $this->_getSession()->addWarning($message);
139
+ }
140
+ }
141
+
142
+ protected function _addNotice($message)
143
+ {
144
+ if (!$this->getRequest()->isAjax()) {
145
+ $this->_getSession()->addNotice($message);
146
+ }
147
+ }
148
+
149
+ protected function _initCurrentService()
150
+ {
151
+ if (!$serviceCode = $this->getRequest()->getParam('service_code')) {
152
+ return null;
153
+ }
154
+
155
+ Mage::helper('ampersand_integration/adminhtml')
156
+ ->setCurrentServiceCode($serviceCode);
157
+
158
+ return Mage::helper('ampersand_integration/adminhtml')
159
+ ->getCurrentService();
160
+ }
161
+ }
app/code/core/Ampersand/Integration/Controller/Adminhtml/Message.php ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Controller
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Controller
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ abstract class Ampersand_Integration_Controller_Adminhtml_Message
19
+ extends Ampersand_Integration_Controller_Adminhtml_Abstract
20
+ {
21
+ protected function _initTitle()
22
+ {
23
+ $this->_title($this->__('Integration'))
24
+ ->_title($this->__('Message History'));
25
+
26
+ return $this;
27
+ }
28
+
29
+ protected function _initMessage()
30
+ {
31
+ if (!$id = $this->getRequest()->getParam('id')) {
32
+ if (!$identifierId = $this->getRequest()->getParam('identifier_id')) {
33
+ return null;
34
+ } else {
35
+ $id = Mage::getModel('ampersand_integration/message_identifier')
36
+ ->load($identifierId)
37
+ ->getMessageId();
38
+ }
39
+ }
40
+
41
+ $message = Mage::getModel('ampersand_integration/message')->load($id);
42
+
43
+ if (!$message->getId()) {
44
+ return null;
45
+ }
46
+
47
+ Mage::register('message', $message);
48
+
49
+ return $message;
50
+ }
51
+
52
+ protected function _isGridAllowed()
53
+ {
54
+ $service = Mage::helper('ampersand_integration/adminhtml')->getCurrentService();
55
+
56
+ return Mage::getSingleton('ampersand_integration/adminSession')
57
+ ->isMessageGridAllowed($service);
58
+ }
59
+
60
+ protected function _isMessageDetailAllowed($message)
61
+ {
62
+ return Mage::getSingleton('ampersand_integration/adminSession')
63
+ ->isMessageDetailAllowed($message->getService());
64
+ }
65
+
66
+ protected function _isMessageLogContentAllowed($message)
67
+ {
68
+ return Mage::getSingleton('ampersand_integration/adminSession')
69
+ ->isMessageLogContentAllowed($message->getService());
70
+ }
71
+ }
app/code/core/Ampersand/Integration/Helper/Adminhtml.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Helper
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Helper
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Helper_Adminhtml extends Ampersand_Core_Helper_Abstract
19
+ {
20
+ /** @var string */
21
+ protected $_currentServiceCode;
22
+ /** @var Ampersand_Integration_Model_Service */
23
+ protected $_currentService;
24
+ /** @var array */
25
+
26
+ public function getCurrentServiceCode()
27
+ {
28
+ return $this->_currentServiceCode;
29
+ }
30
+
31
+ public function setCurrentServiceCode($serviceCode)
32
+ {
33
+ $this->_currentServiceCode = $serviceCode;
34
+
35
+ return $this;
36
+ }
37
+
38
+ public function getCurrentService()
39
+ {
40
+ if (is_null($this->_currentService) && ($serviceCode = $this->getCurrentServiceCode())) {
41
+ $this->_currentService = Mage::getModel('ampersand_integration/service_info')
42
+ ->load($serviceCode, 'code');
43
+ }
44
+
45
+ return $this->_currentService;
46
+ }
47
+
48
+ public function getAllowedServiceIds($resource)
49
+ {
50
+ $serviceCodes = Mage::getResourceModel('ampersand_integration/service_info_collection')
51
+ ->fetchPairs('code');
52
+
53
+ $allowedIds = array();
54
+
55
+ $session = Mage::getSingleton('ampersand_integration/adminSession');
56
+ foreach ($serviceCodes as $_id => $_code) {
57
+ if ($session->isMessageGridAllowed($_code)) {
58
+ $allowedIds[] = $_id;
59
+ }
60
+ }
61
+
62
+ return $allowedIds;
63
+ }
64
+ }
app/code/core/Ampersand/Integration/Helper/Data.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Helper
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Helper
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Helper_Data extends Ampersand_Core_Helper_Abstract
19
+ {
20
+ public function getService($code)
21
+ {
22
+ return Ampersand_Integration_Service::factory(
23
+ $this->_getBaseOutgoingMessageConfig(),
24
+ $this->_getBaseIncomingMessageConfig(),
25
+ $code
26
+ );
27
+ }
28
+
29
+ protected function _getBaseOutgoingMessageConfig()
30
+ {
31
+ return Mage::helper('ampersand_integration/message')->getBaseOutgoingConfig();
32
+ }
33
+
34
+ protected function _getBaseIncomingMessageConfig()
35
+ {
36
+ return Mage::helper('ampersand_integration/message')->getBaseIncomingConfig();
37
+ }
38
+
39
+ public function getConfig()
40
+ {
41
+ return Mage::getSingleton('ampersand_integration/config');
42
+ }
43
+ }
app/code/core/Ampersand/Integration/Helper/Message.php ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Helper
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Helper
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Helper_Message extends Ampersand_Core_Helper_Abstract
19
+ {
20
+ protected $_mapperClasses = array(
21
+ 'mage_class' => 'ampersand_integration/mapper_className',
22
+ 'mage_helper' => 'ampersand_integration/mapper_helper',
23
+ 'store_config' => 'ampersand_integration/mapper_storeConfig',
24
+ 'mage_store_config' => 'ampersand_integration/mapper_storeConfig',
25
+ 'custom_fields' => 'ampersand_integration/mapper_customFields',
26
+ );
27
+
28
+ public function getBaseOutgoingConfig()
29
+ {
30
+ return $this->_getBaseConfig('outgoing');
31
+ }
32
+
33
+ public function getBaseIncomingConfig()
34
+ {
35
+ return $this->_getBaseConfig('incoming');
36
+ }
37
+
38
+ protected function _getBaseConfig($messageType)
39
+ {
40
+ $messageConfig = $this->_getNewMessageConfigInstance($messageType);
41
+ $messageConfig = $this->_prepareMessageConfig($messageConfig, $messageType);
42
+ $messageConfig = $this->_addLoggers($messageConfig);
43
+
44
+ return $messageConfig;
45
+ }
46
+
47
+ protected function _getNewMessageConfigInstance($messageType)
48
+ {
49
+ switch ($messageType) {
50
+ case 'outgoing':
51
+ $config = new Ampersand_Integration_Message_Config_Outgoing();
52
+ break;
53
+ case 'incoming':
54
+ $config = new Ampersand_Integration_Message_Config_Incoming();
55
+ break;
56
+ default:
57
+ throw new Ampersand_Integration_Exception(
58
+ "Unknown message config type '$messageType'"
59
+ );
60
+ }
61
+
62
+ return $config;
63
+ }
64
+
65
+ protected function _prepareMessageConfig(
66
+ Ampersand_Integration_Message_Config_Abstract $messageConfig, $messageType)
67
+ {
68
+ if ('incoming' === $messageType) {
69
+ $messageConfig->getTransportProvider()->addClass('mage_http',
70
+ $this->_getModelClassName('ampersand_integration/transport_incoming_http')
71
+ );
72
+ }
73
+
74
+ $messageConfig->getFilterProvider()->addClass('compress_dir', $this->_getModelClassName(
75
+ 'ampersand_integration/message_filter_compressDirectory'
76
+ ));
77
+
78
+ $messageConfig = $this->_prepareMapConfigs($messageConfig, $messageType);
79
+
80
+ return $messageConfig;
81
+ }
82
+
83
+ protected function _prepareMapConfigs(
84
+ Ampersand_Integration_Message_Config_Abstract $messageConfig)
85
+ {
86
+ $this->_prepareMessageMapConfig(
87
+ $messageConfig->getMessageMapConfig('outgoing'), 'outgoing'
88
+ );
89
+ $this->_prepareMessageMapConfig(
90
+ $messageConfig->getMessageMapConfig('incoming'), 'incoming'
91
+ );
92
+
93
+ $this->_prepareTypeMapConfig($messageConfig->getTypeMapConfig('outgoing'), 'outgoing');
94
+ $this->_prepareTypeMapConfig($messageConfig->getTypeMapConfig('incoming'), 'incoming');
95
+
96
+ return $messageConfig;
97
+ }
98
+
99
+ protected function _prepareMessageMapConfig(
100
+ Ampersand_Map_Config $messageMapConfig, $messageType)
101
+ {
102
+ $this->_prepareMapConfig($messageMapConfig);
103
+ $messageMapConfig->addXml($this->_getConfig()->getMessagesXml($messageType));
104
+
105
+ return $messageMapConfig;
106
+ }
107
+
108
+ protected function _prepareTypeMapConfig(Ampersand_Map_Config $typeMapConfig, $messageType)
109
+ {
110
+ $this->_prepareMapConfig($typeMapConfig);
111
+ $typeMapConfig->addXml($this->_getConfig()->getTypesXml($messageType));
112
+
113
+ return $typeMapConfig;
114
+ }
115
+
116
+ protected function _prepareMapConfig(Ampersand_Map_Config $mapConfig)
117
+ {
118
+ foreach ($this->_mapperClasses as $_alias => $_class) {
119
+ $mapConfig->getMapperProvider()->addClass($_alias, $this->_getModelClassName($_class));
120
+ }
121
+
122
+ return $mapConfig;
123
+ }
124
+
125
+ protected function _getModelClassName($modelName)
126
+ {
127
+ return Mage::getConfig()->getModelClassName($modelName);
128
+ }
129
+
130
+ protected function _addLoggers(Ampersand_Integration_Message_Config_Abstract $messageConfig)
131
+ {
132
+ $fileLogger = Mage::getModel('ampersand_integration/logger_file');
133
+ $dbLogger = Mage::getModel('ampersand_integration/logger_database');
134
+
135
+ $messageConfig->addLogger($fileLogger)
136
+ ->addLogger($dbLogger)
137
+ ;
138
+
139
+ return $messageConfig;
140
+ }
141
+
142
+ protected function _getConfig()
143
+ {
144
+ return Mage::getSingleton('ampersand_integration/config');
145
+ }
146
+ }
app/code/core/Ampersand/Integration/Helper/ServiceAbstract.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Helper
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Helper
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ abstract class Ampersand_Integration_Helper_ServiceAbstract extends Mage_Core_Helper_Abstract
19
+ {
20
+ protected $_currentStore;
21
+
22
+ public function setCurrentStore($store)
23
+ {
24
+ try {
25
+ $this->_currentStore = Mage::app()->getStore($store);
26
+ } catch (Exception $e) {
27
+ // possibly trying to set store to the current store?
28
+ }
29
+
30
+ return $this;
31
+ }
32
+
33
+ public function getCurrentStore()
34
+ {
35
+ if (is_null($this->_currentStore)) {
36
+ return Mage::app()->getStore();
37
+ }
38
+
39
+ return $this->_currentStore;
40
+ }
41
+
42
+ public function getService()
43
+ {
44
+ return Mage::helper('ampersand_integration')->getService($this->_getServiceCode());
45
+ }
46
+ }
app/code/core/Ampersand/Integration/Model/AdminSession.php ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_AdminSession extends Mage_Admin_Model_Session
19
+ {
20
+ public function isDashboardAllowed()
21
+ {
22
+ return $this->_isIntegrationAllowed("dashboard");
23
+ }
24
+
25
+ public function isMessageGridAllowed($serviceCode = null)
26
+ {
27
+ if (!is_null($serviceCode)) {
28
+ $serviceCode = $this->_prepareServiceCode($serviceCode);
29
+
30
+ return $this->_isIntegrationAllowed("$serviceCode/message_history");
31
+ }
32
+
33
+ return $this->_isIntegrationAllowed('message_history');
34
+ }
35
+
36
+ public function isMessageDetailAllowed($serviceCode)
37
+ {
38
+ $serviceCode = $this->_prepareServiceCode($serviceCode);
39
+
40
+ return $this->_isIntegrationAllowed("$serviceCode/message_detail");
41
+ }
42
+
43
+ public function isMessageLogContentAllowed($serviceCode)
44
+ {
45
+ $serviceCode = $this->_prepareServiceCode($serviceCode);
46
+
47
+ return $this->_isIntegrationAllowed("$serviceCode/message_log_content");
48
+ }
49
+
50
+ public function isMessageIdentifierGridAllowed($serviceCode = null)
51
+ {
52
+ if (!is_null($serviceCode)) {
53
+ $serviceCode = $this->_prepareServiceCode($serviceCode);
54
+
55
+ return $this->_isIntegrationAllowed("$serviceCode/messageidentifier");
56
+ }
57
+
58
+ return $this->_isIntegrationAllowed('messageidentifier');
59
+ }
60
+
61
+ public function isFlagGridAllowed($serviceCode = null)
62
+ {
63
+ if (!is_null($serviceCode)) {
64
+ $serviceCode = $this->_prepareServiceCode($serviceCode);
65
+
66
+ return $this->_isIntegrationAllowed("$serviceCode/flag");
67
+ }
68
+
69
+ return $this->_isIntegrationAllowed('flag');
70
+ }
71
+
72
+ public function isFlagDetailAllowed($serviceCode)
73
+ {
74
+ $serviceCode = $this->_prepareServiceCode($serviceCode);
75
+
76
+ return $this->_isIntegrationAllowed("$serviceCode/flag_detail");
77
+ }
78
+
79
+ protected function _prepareServiceCode($serviceCode)
80
+ {
81
+ if (is_object($serviceCode)) {
82
+ $serviceCode = $serviceCode->getCode();
83
+ } else if (preg_match('/^\d+$/', $serviceCode)) {
84
+ $serviceCode = Mage::getModel('ampersand_integration/service_info')
85
+ ->load($serviceCode)
86
+ ->getCode();
87
+ }
88
+
89
+ return $serviceCode;
90
+ }
91
+
92
+ protected function _isIntegrationAllowed($resource, $privilege = null)
93
+ {
94
+ return parent::isAllowed("ampersand_integration/$resource", $privilege);
95
+ }
96
+ }
app/code/core/Ampersand/Integration/Model/Config.php ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Config
19
+ {
20
+ protected $_messagesXml = array();
21
+ protected $_typesXml = array();
22
+
23
+ public function getMessagesXml($messageType)
24
+ {
25
+ if (!array_key_exists($messageType, $this->_messagesXml)) {
26
+ $configBase = $this->_getNewConfigBaseInstance();
27
+ $configBase = $this->_applyEmptyMessagesXml($configBase, $messageType);
28
+ $this->_prepareConfigBase($configBase, $messageType);
29
+
30
+ $configBase = $this->_loadModulesConfiguration(
31
+ 'messages.xml', $configBase, $this->_getNewConfigBaseInstance(), $messageType
32
+ );
33
+
34
+ $this->_messagesXml[$messageType] = $configBase->getNode()->asValidXml();
35
+ }
36
+
37
+ return $this->_messagesXml[$messageType];
38
+ }
39
+
40
+ public function getTypesXml($messageType)
41
+ {
42
+ if (!array_key_exists($messageType, $this->_typesXml)) {
43
+ $configBase = $this->_getNewConfigBaseInstance();
44
+ $configBase = $this->_applyEmptyTypesXml($configBase, $messageType);
45
+ $configBase = $this->_prepareConfigBase($configBase, $messageType);
46
+
47
+ $configBase = $this->_loadModulesConfiguration(
48
+ 'types.xml', $configBase, $this->_getNewConfigBaseInstance(), $messageType
49
+ );
50
+
51
+ $this->_typesXml[$messageType] = $configBase->getNode()->asValidXml();
52
+ }
53
+
54
+ return $this->_typesXml[$messageType];
55
+ }
56
+
57
+ protected function _getNewConfigBaseInstance()
58
+ {
59
+ return Mage::getModel('ampersand_integration/config_base');
60
+ }
61
+
62
+ protected function _prepareConfigBase($configBase)
63
+ {
64
+ $configBase->appendOnExtendCollision('m:*#*', true)
65
+ ->appendOnExtendCollision('r:*#*', true)
66
+ ;
67
+
68
+ return $configBase;
69
+ }
70
+
71
+ protected function _applyEmptyMessagesXml($configBase)
72
+ {
73
+ $configBase->loadString('<messages/>');
74
+
75
+ return $configBase;
76
+ }
77
+
78
+ protected function _applyEmptyTypesXml($configBase)
79
+ {
80
+ $configBase->loadString('<types/>');
81
+
82
+ return $configBase;
83
+ }
84
+
85
+ protected function _loadModulesConfiguration($filename, $mergeToObject, $mergeModel, $messageType)
86
+ {
87
+ switch ($messageType) {
88
+ case 'outgoing':
89
+ $prefix = 'out.';
90
+ break;
91
+ case 'incoming':
92
+ $prefix = 'in.';
93
+ break;
94
+ default:
95
+ throw new Exception("Unknown message type '$messageType'");
96
+ }
97
+
98
+ return Mage::getConfig()->loadModulesConfiguration("integration/{$prefix}{$filename}", $mergeToObject, $mergeModel);
99
+ }
100
+ }
app/code/core/Ampersand/Integration/Model/Config/Base.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Config_Base extends Mage_Core_Model_Config_Base
19
+ {
20
+ protected $_compoundsToAppendOnCollision = array();
21
+
22
+ public function __construct($sourceData = null)
23
+ {
24
+ parent::__construct($sourceData);
25
+ $this->_elementClass = 'Ampersand_Xml_Config';
26
+ }
27
+
28
+ public function extend(Varien_Simplexml_Config $config, $overwrite = true)
29
+ {
30
+ $this->getNode()->extend($config->getNode(), $overwrite, $this->_compoundsToAppendOnCollision);
31
+
32
+ return $this;
33
+ }
34
+
35
+ public function appendOnExtendCollision($compound, $flag = null)
36
+ {
37
+ if (is_null($flag)) {
38
+ return in_array($compound, $this->_compoundsToAppendOnCollision);
39
+ }
40
+
41
+ if ($flag) {
42
+ $this->_compoundsToAppendOnCollision[$compound] = $compound;
43
+ } else {
44
+ unset($this->_compoundsToAppendOnCollision[$compound]);
45
+ }
46
+
47
+ return $this;
48
+ }
49
+ }
app/code/core/Ampersand/Integration/Model/Flag.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Flag extends Ampersand_Core_Model_Abstract
19
+ {
20
+ protected function _construct()
21
+ {
22
+ $this->_init('ampersand_integration/flag');
23
+ }
24
+
25
+ public function getService()
26
+ {
27
+ if (!$this->hasData('service') && $this->getServiceId()) {
28
+ $service = Mage::getModel('ampersand_integration/service_info')
29
+ ->load($this->getServiceId());
30
+ $this->setService($service);
31
+ }
32
+
33
+ return $this->getData('service');
34
+ }
35
+
36
+ public function getStatus()
37
+ {
38
+ if (!$this->hasData('status') && $this->hasData('status_id')) {
39
+ $status = Mage::getModel('ampersand_integration/status')
40
+ ->load($this->getStatusId());
41
+ $this->setStatus($status);
42
+ }
43
+
44
+ return $this->getData('status');
45
+ }
46
+
47
+ protected function _beforeSave()
48
+ {
49
+ if (!$this->getStatusId() && $this->getStatusCode()) {
50
+ $statusId = Mage::getResourceSingleton('ampersand_integration/status')
51
+ ->getIdByCode($this->getStatusCode(), $this->getServiceId());
52
+ $this->setStatusId($statusId);
53
+ }
54
+
55
+ return parent::_beforeSave();
56
+ }
57
+ }
app/code/core/Ampersand/Integration/Model/License.php ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_License extends Varien_Object
19
+ {
20
+ public function getIsValid($time = null)
21
+ {
22
+ if (is_null($time)) {
23
+ $time = time();
24
+ }
25
+
26
+ $fromIsValid = $time > $this->getStartsAt();
27
+ $toIsValid = !$this->getExpiresAt() || $time < $this->getExpiresAt();
28
+
29
+ return $fromIsValid && $toIsValid;
30
+ }
31
+
32
+ public function getStartsAt()
33
+ {
34
+ return $this->getData('from');
35
+ }
36
+
37
+ public function getExpiresAt()
38
+ {
39
+ return $this->getData('to');
40
+ }
41
+
42
+ public function getServiceCode()
43
+ {
44
+ $messageName = $this->getMessageName(true);
45
+
46
+ if (strpos($messageName, ':')) {
47
+ $messageNameParts = explode(':', $messageName, 2);
48
+
49
+ return reset($messageNameParts);
50
+ }
51
+
52
+ return null;
53
+ }
54
+
55
+ public function getMessageName($includeServiceCode = false)
56
+ {
57
+ if (4 == count($this->getIdentifierParts())) {
58
+ $messageName = $this->getIdentifierParts(2);
59
+ } else if (6 == count($this->getIdentifierParts())) {
60
+ // [else if] includes Mage edition and integration id/store id
61
+ $messageName = $this->getIdentifierParts(4);
62
+ } else {
63
+ return null;
64
+ }
65
+
66
+ if ($includeServiceCode) {
67
+ return $messageName;
68
+ }
69
+
70
+ $messageNameParts = explode(':', $messageName, 2);
71
+
72
+ return end($messageNameParts);
73
+ }
74
+
75
+ public function getIdentifierParts($index = null)
76
+ {
77
+ $parts = explode(Ampersand_License::VALUE_SEPARATOR, $this->getData('identifier'));
78
+
79
+ if (!is_null($index)) {
80
+ if (array_key_exists($index, $parts)) {
81
+ return $parts[$index];
82
+ }
83
+
84
+ return null;
85
+ }
86
+
87
+ return $parts;
88
+ }
89
+ }
app/code/core/Ampersand/Integration/Model/Logger/Database.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Logger_Database extends Ampersand_Integration_Message_Logger_Abstract
19
+ {
20
+ protected function _log($dataToLog, Ampersand_Integration_Message_Debug $debug)
21
+ {
22
+ if (!is_array($dataToLog)) {
23
+ throw new Ampersand_Integration_Message_Logger_Exception('Data to be logged is not an array');
24
+ }
25
+
26
+ $message = Mage::getModel('ampersand_integration/message')
27
+ ->setData($dataToLog)
28
+ ->save()
29
+ ;
30
+
31
+ return $message;
32
+ }
33
+
34
+ protected function _getDataToLog(Ampersand_Integration_Message_Debug $debug)
35
+ {
36
+ return array(
37
+ 'direction' => $debug->getDirection(),
38
+ 'log_file_path' => $debug->getHiddenData(Ampersand_Integration_Model_Logger_File::FILE_PATH_DATA_KEY),
39
+ 'state' => Ampersand_Integration_Model_Message::STATE_SUCCESS,
40
+ 'nr_of_attempts' => 1,
41
+ 'service_id' => $this->_getServiceId($debug),
42
+ 'identifiers' => $this->_prepareIdentifiers($debug->getIdentifiers()),
43
+ 'name' => $debug->getMessageName(),
44
+ 'flags' => $debug->getFlags(),
45
+ );
46
+ }
47
+
48
+ protected function _prepareIdentifiers($identifierGroups)
49
+ {
50
+ $identifierDatas = array();
51
+
52
+ if (is_array($identifierGroups)) {
53
+ foreach ($identifierGroups as $_name => $_identifierDatas) {
54
+ foreach ($_identifierDatas as $_identifierData) {
55
+ $_identifierData['referenced_in'] = $_name;
56
+ $identifierDatas[] = $_identifierData;
57
+ }
58
+ }
59
+ }
60
+
61
+ return $identifierDatas;
62
+ }
63
+
64
+ protected function _getServiceId(Ampersand_Integration_Message_Debug $debug)
65
+ {
66
+ if (!$serviceCode = $debug->getServiceName()) {
67
+ return null;
68
+ }
69
+
70
+ return Mage::getSingleton('ampersand_integration/service_info')->getIdByCode($serviceCode);
71
+ }
72
+ }
app/code/core/Ampersand/Integration/Model/Logger/File.php ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Logger_File extends Ampersand_Integration_Message_Logger_XmlFile
19
+ {
20
+ const FILE_PATH_DATA_KEY = 'xml_log_file_path';
21
+
22
+ protected $_timestamp;
23
+
24
+ public function getBaseDirectoryPath()
25
+ {
26
+ return Mage::getBaseDir() . DS . 'var' . DS . 'integration';
27
+ }
28
+
29
+ public function getDirectoryPath(Ampersand_Integration_Message_Debug $debug)
30
+ {
31
+ return $debug->getDirection() . DS .
32
+ $this->_getDateString('Y') . DS .
33
+ $this->_getDateString('m') . DS .
34
+ $this->_getDateString('d');
35
+ }
36
+
37
+ public function getFilename(Ampersand_Integration_Message_Debug $debug,
38
+ $includeExtension = true
39
+ ) {
40
+ if ($includeExtension && ($extension = $this->getFilenameExtension($debug))) {
41
+ $suffix = ".$extension";
42
+ } else {
43
+ $suffix = '';
44
+ }
45
+
46
+ return $this->_getDateString('His') . $suffix;
47
+ }
48
+
49
+ protected function _afterLog($fullPath, $loggedData, Ampersand_Integration_Message_Debug $debug)
50
+ {
51
+ $relativePath = str_replace($this->getBaseDirectoryPath(), '', $fullPath);
52
+ $relativePath = ltrim($relativePath, DS);
53
+ $debug->setHiddenData(self::FILE_PATH_DATA_KEY, $relativePath);
54
+
55
+ return parent::_afterLog($fullPath, $loggedData, $debug);
56
+ }
57
+
58
+ protected function _getDateString($format)
59
+ {
60
+ if (is_null($this->_timestamp)) {
61
+ $this->_timestamp = time();
62
+ }
63
+
64
+ return date($format, $this->_timestamp);
65
+ }
66
+ }
app/code/core/Ampersand/Integration/Model/Mapper/ClassName.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mapper_ClassName extends Ampersand_Map_Mapper_Abstract
19
+ {
20
+ protected $_validClassTypes = array(
21
+ 'block',
22
+ 'helper',
23
+ 'model',
24
+ 'resource_model',
25
+ );
26
+
27
+ protected function _map(Ampersand_Map_XmlElement $map, $input)
28
+ {
29
+ $classType = $map->getChild('_type')->getValue();
30
+ $methodName = $this->_getMethodName($classType);
31
+ $className = $map->getChild('_class')->getValue();
32
+
33
+ return Mage::getConfig()->$methodName($className);
34
+ }
35
+
36
+ protected function _validateMap(Ampersand_Map_XmlElement $map)
37
+ {
38
+ if (!$map->hasChild('_type')) {
39
+ throw new Ampersand_Map_Exception('Type node is missing');
40
+ }
41
+ $classType = $map->getChild('_type')->getValue();
42
+ if (!in_array($classType, $this->_validClassTypes)) {
43
+ throw new Ampersand_Map_Exception("Invalid class type '$classType'");
44
+ }
45
+ if (!$map->hasChild('_class')) {
46
+ throw new Ampersand_Map_Exception('Class node is missing');
47
+ }
48
+
49
+ return $this;
50
+ }
51
+
52
+ protected function _getMethodName($classType)
53
+ {
54
+ return 'get' . Ampersand_Object::camelize($classType) . 'ClassName';
55
+ }
56
+ }
app/code/core/Ampersand/Integration/Model/Mapper/CustomFields.php ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mapper_CustomFields
19
+ extends Ampersand_Integration_Model_Mapper_StoreConfig
20
+ {
21
+ protected function _map(Ampersand_Map_XmlElement $map, $input)
22
+ {
23
+ $configData = $this->_getConfigData($map, $input);
24
+
25
+ return $this->_getValues($configData, $input);
26
+ }
27
+
28
+ protected function _getConfigData(Ampersand_Map_XmlElement $map, $input)
29
+ {
30
+ $configData = parent::_map($map, $input);
31
+
32
+ if (is_string($configData)) {
33
+ $configData = unserialize($configData);
34
+ }
35
+
36
+ if (!is_array($configData)) {
37
+ return array();
38
+ }
39
+
40
+ return $configData;
41
+ }
42
+
43
+ protected function _getValues(array $fieldDatas, $input)
44
+ {
45
+ $values = array();
46
+
47
+ foreach ($fieldDatas as $_data) {
48
+ $values[$this->_getName($_data)] = $this->_getValue($_data, $input);
49
+ }
50
+
51
+ return $values;
52
+ }
53
+
54
+ protected function _getName(array $fieldData)
55
+ {
56
+ if (!array_key_exists('name', $fieldData)) {
57
+ return null;
58
+ }
59
+
60
+ return $fieldData['name'];
61
+ }
62
+
63
+ protected function _getValue(array $fieldData, $input)
64
+ {
65
+ $callback = $this->_getCustomFieldCallback($fieldData);
66
+
67
+ return call_user_func($callback, $input);
68
+ }
69
+
70
+ protected function _getCustomFieldCallback(array $fieldData)
71
+ {
72
+ if ($this->_getIsPreset($fieldData)) {
73
+ $parts = explode('::', $fieldData['type']);
74
+
75
+ $type = $parts[0];
76
+ $class = $parts[1];
77
+ $method = $parts[2];
78
+ } else {
79
+ $type = substr($fieldData['type'], 7);
80
+ $class = $fieldData['class'];
81
+ $method = $fieldData['method'];
82
+ }
83
+
84
+ switch ($type) {
85
+ case 'helper':
86
+ $object = Mage::helper($class);
87
+ break;
88
+ case 'model':
89
+ $object = Mage::getModel($class);
90
+ break;
91
+ case 'singleton':
92
+ $object = Mage::getSingleton($class);
93
+ break;
94
+ default:
95
+ $object = new $class;
96
+ break;
97
+ }
98
+
99
+ return array($object, $method);
100
+ }
101
+
102
+ protected function _getIsPreset(array $fieldData)
103
+ {
104
+ return ('custom/' != substr($fieldData['type'], 0, 7));
105
+ }
106
+ }
app/code/core/Ampersand/Integration/Model/Mapper/Helper.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mapper_Helper extends Ampersand_Map_Mapper_Method
19
+ {
20
+ protected function _validate(Ampersand_Map_XmlElement $map, $input)
21
+ {
22
+ if (!$map->hasChild('_helper')) {
23
+ throw new Ampersand_Map_Exception('Helper node is missing');
24
+ }
25
+ if (!$map->hasChild('_method')) {
26
+ throw new Ampersand_Map_Exception('Method node is missing');
27
+ }
28
+
29
+ return $this;
30
+ }
31
+
32
+ protected function _getSubject(Ampersand_Map_XmlElement $map, $input)
33
+ {
34
+ return Mage::helper($map->getChild('_helper')->getValue());
35
+ }
36
+ }
app/code/core/Ampersand/Integration/Model/Mapper/StoreConfig.php ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mapper_StoreConfig extends Ampersand_Map_Mapper_Method
19
+ {
20
+ protected function _validate(Ampersand_Map_XmlElement $map, $input)
21
+ {
22
+ if ($map->hasChildren() && !$map->hasChild('_path')) {
23
+ throw new Ampersand_Map_Exception('Path node is missing');
24
+ }
25
+
26
+ return $this;
27
+ }
28
+
29
+ protected function _getSubject(Ampersand_Map_XmlElement $map, $input)
30
+ {
31
+ return 'Mage';
32
+ }
33
+
34
+ protected function _getMethodName(Ampersand_Map_XmlElement $map)
35
+ {
36
+ return 'getStoreConfig';
37
+ }
38
+
39
+ protected function _getParams(Ampersand_Map_XmlElement $map)
40
+ {
41
+ $params = array($this->_getPath($map));
42
+
43
+ if ($map->hasChild('_store')) {
44
+ $params[] = $map->getChild('_store')->getValue();
45
+ }
46
+
47
+ return $params;
48
+ }
49
+
50
+ protected function _getPath(Ampersand_Map_XmlElement $map)
51
+ {
52
+ if ($map->hasChildren()) {
53
+ return $map->getChild('_path')->getValue();
54
+ }
55
+
56
+ return $map->getValue();
57
+ }
58
+ }
app/code/core/Ampersand/Integration/Model/Message.php ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Message extends Ampersand_Core_Model_Abstract
19
+ {
20
+ const DIRECTION_INCOMING = 1;
21
+ const DIRECTION_OUTGOING = 2;
22
+
23
+ const STATE_SUCCESS = 1;
24
+ const STATE_FAILURE = 2;
25
+ const STATE_MIXED = 3;
26
+
27
+ protected function _construct()
28
+ {
29
+ $this->_init('ampersand_integration/message');
30
+ }
31
+
32
+ public function getService()
33
+ {
34
+ if (!$this->hasData('service') && $this->getServiceId()) {
35
+ $service = Mage::getModel('ampersand_integration/service_info')
36
+ ->load($this->getServiceId());
37
+ $this->setService($service);
38
+ }
39
+
40
+ return $this->getData('service');
41
+ }
42
+
43
+ public function getLogXmlObject()
44
+ {
45
+ if ($filePath = $this->getFullLogFilePath()) {
46
+ try {
47
+ $xmlObject = Ampersand_Xml::factory($filePath, true);
48
+ } catch (Exception $e) {
49
+ $xmlObject = false;
50
+ }
51
+ } else {
52
+ $xmlObject = false;
53
+ }
54
+
55
+ return $xmlObject;
56
+ }
57
+
58
+ public function getFullLogFilePath()
59
+ {
60
+ if (!$logFilePath = $this->getLogFilePath()) {
61
+ return null;
62
+ }
63
+
64
+ return $this->getLogFileBaseDirectoryPath() . DS . $logFilePath;
65
+ }
66
+
67
+ public function getLogFileBaseDirectoryPath()
68
+ {
69
+ return Mage::getSingleton('ampersand_integration/logger_file')->getBaseDirectoryPath();
70
+ }
71
+
72
+ protected function _beforeSave()
73
+ {
74
+ $this->setData('direction', $this->_prepareDirectionForSave($this->getData('direction')));
75
+
76
+ return parent::_beforeSave();
77
+ }
78
+
79
+ protected function _prepareDirectionForSave($direction)
80
+ {
81
+ switch ($direction) {
82
+ case Ampersand_Integration_Message_Incoming::INCOMING:
83
+ $direction = self::DIRECTION_INCOMING;
84
+ break;
85
+ case Ampersand_Integration_Message_Outgoing::OUTGOING:
86
+ $direction = self::DIRECTION_OUTGOING;
87
+ break;
88
+ }
89
+
90
+ return $direction;
91
+ }
92
+
93
+ protected function _afterSave()
94
+ {
95
+ $this->_saveIdentifiers();
96
+
97
+ return parent::_afterSave();
98
+ }
99
+
100
+ protected function _saveIdentifiers()
101
+ {
102
+ if (!$this->getIdentifiers()) {
103
+ return $this;
104
+ }
105
+
106
+ if (!is_array($this->getIdentifiers())) {
107
+ throw new Ampersand_Integration_Exception('Identifiers value stored against message is not an array');
108
+ }
109
+
110
+ foreach ($this->getIdentifiers() as $_identifierData) {
111
+ Mage::getModel('ampersand_integration/message_identifier')
112
+ ->setData($_identifierData)
113
+ ->setServiceId($this->getServiceId())
114
+ ->setMessageId($this->getId())
115
+ ->save()
116
+ ;
117
+ }
118
+
119
+ return $this;
120
+ }
121
+ }
app/code/core/Ampersand/Integration/Model/Message/Filter/CompressDirectory.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Message_Filter_CompressDirectory
19
+ extends Ampersand_Integration_Message_Filter_CompressDirectory
20
+ {
21
+ /**
22
+ * Gets the default directory to write files to
23
+ *
24
+ * @return string
25
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
26
+ */
27
+ protected function _getDefaultWriteDirectory()
28
+ {
29
+ return Mage::getBaseDir('var') . DS . 'archives';
30
+ }
31
+ }
app/code/core/Ampersand/Integration/Model/Message/Identifier.php ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Message_Identifier extends Ampersand_Core_Model_Abstract
19
+ {
20
+ const TYPE_GLUE = '/';
21
+
22
+ protected function _construct()
23
+ {
24
+ $this->_init('ampersand_integration/message_identifier');
25
+ }
26
+
27
+ public function getEntityUrl()
28
+ {
29
+ $url = null;
30
+
31
+ switch ($this->getEntityType()) {
32
+ case 'sales/order':
33
+ $url = $this->getOrderUrl();
34
+ break;
35
+
36
+ case 'catalog/product':
37
+ $url = $this->getProductUrl();
38
+ break;
39
+
40
+ default:
41
+ $url = null;
42
+ break;
43
+ }
44
+
45
+ return $url;
46
+ }
47
+
48
+ public function getEntityDescription()
49
+ {
50
+
51
+ }
52
+
53
+ public function getEntityType()
54
+ {
55
+ $parts = explode(self::TYPE_GLUE, $this->getType());
56
+ array_pop($parts);
57
+
58
+ return implode(self::TYPE_GLUE, $parts);
59
+ }
60
+
61
+ public function getEntityField()
62
+ {
63
+ $parts = explode(self::TYPE_GLUE, $this->getType());
64
+
65
+ return array_pop($parts);
66
+ }
67
+
68
+ public function getOrderUrl()
69
+ {
70
+ switch ($this->getEntityField()) {
71
+ case 'entity_id':
72
+ $orderId = $this->getValue();
73
+ break;
74
+
75
+ default:
76
+ $orderId = Mage::getModel('sales/order')
77
+ ->load($this->getValue(), $this->getEntityField())
78
+ ->getId();
79
+ if (!$orderId) {
80
+ return null;
81
+ }
82
+ break;
83
+ }
84
+
85
+ return Mage::helper('adminhtml')->getUrl('adminhtml/sales_order/view', array(
86
+ 'order_id' => $orderId,
87
+ ));
88
+ }
89
+
90
+ public function getProductUrl()
91
+ {
92
+ switch ($this->getEntityField()) {
93
+ case 'entity_id':
94
+ $productId = $this->getValue();
95
+ break;
96
+
97
+ default:
98
+ $productId = Mage::getModel('catalog/product')
99
+ ->loadByAttribute($this->getEntityField(), $this->getValue())
100
+ ->getId();
101
+ if (!$productId) {
102
+ return null;
103
+ }
104
+ break;
105
+ }
106
+
107
+ return Mage::helper('adminhtml')->getUrl('adminhtml/catalog_product/edit', array(
108
+ 'id' => $productId,
109
+ ));
110
+ }
111
+
112
+ protected function _afterSave()
113
+ {
114
+ $this->_saveFlags();
115
+
116
+ return parent::_afterSave();
117
+ }
118
+
119
+ protected function _saveFlags()
120
+ {
121
+ if (!$this->getFlags()) {
122
+ return $this;
123
+ }
124
+
125
+ foreach ($this->getFlags() as $_flagData) {
126
+ Mage::getModel('ampersand_integration/flag')
127
+ ->setData($_flagData)
128
+ ->setServiceId($this->getServiceId())
129
+ ->setMessageId($this->getMessageId())
130
+ ->setIdentifierId($this->getId())
131
+ ->save()
132
+ ;
133
+ }
134
+
135
+ return $this;
136
+ }
137
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/Abstract.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ abstract class Ampersand_Integration_Model_Mysql4_Abstract extends Ampersand_Core_Model_Mysql4_Abstract
19
+ {
20
+ protected function _beforeSave(Mage_Core_Model_Abstract $object)
21
+ {
22
+ if (!$object->getId()) {
23
+ $object->setCreatedAt(now());
24
+ }
25
+ $object->setUpdatedAt(now());
26
+
27
+ return $this;
28
+ }
29
+
30
+ public function getIdByCode($code)
31
+ {
32
+ $select = $this->getReadConnection()->select()
33
+ ->from($this->getMainTable(), array($this->getIdFieldName()))
34
+ ->where('code = ?', $code)
35
+ ;
36
+
37
+ return $this->getReadConnection()->fetchOne($select);
38
+ }
39
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/Flag.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mysql4_Flag extends Ampersand_Integration_Model_Mysql4_Abstract
19
+ {
20
+ protected function _construct()
21
+ {
22
+ $this->_init('ampersand_integration/flag', 'entity_id');
23
+ }
24
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/Flag/Collection.php ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mysql4_Flag_Collection extends Ampersand_Core_Model_Mysql4_Collection_Abstract
19
+ {
20
+ protected $_isStatusJoined = false;
21
+ protected $_isMessageJoined = false;
22
+ protected $_isIdentifierJoined = false;
23
+
24
+ protected function _construct()
25
+ {
26
+ $this->_init('ampersand_integration/flag');
27
+ }
28
+
29
+ public function joinStatus()
30
+ {
31
+ if (!$this->_isStatusJoined) {
32
+ $this->joinLeft(
33
+ 'ampersand_integration/status',
34
+ '`ampersand_integration/status`.entity_id = `main_table`.status_id',
35
+ array(
36
+ 'status_code' => 'code',
37
+ 'status_text' => 'text',
38
+ 'status_short_text' => 'short_text',
39
+ 'status_type' => 'type',
40
+ )
41
+ );
42
+
43
+ $this->_isStatusJoined = $this->_preserveColumnsOnCount = true;
44
+ }
45
+
46
+ return $this;
47
+ }
48
+
49
+ public function joinMessage()
50
+ {
51
+ if (!$this->_isMessageJoined) {
52
+ $this->joinLeft(
53
+ 'ampersand_integration/message',
54
+ '`ampersand_integration/message`.entity_id = `main_table`.message_id',
55
+ array(
56
+ 'message_name' => 'name',
57
+ 'message_direction' => 'direction',
58
+ )
59
+ );
60
+
61
+ $this->_isMessageJoined = $this->_preserveColumnsOnCount = true;
62
+ }
63
+
64
+ return $this;
65
+ }
66
+
67
+ public function joinIdentifier()
68
+ {
69
+ if (!$this->_isIdentifierJoined) {
70
+ $this->joinLeft(
71
+ 'ampersand_integration/message_identifier',
72
+ '`ampersand_integration/message_identifier`.entity_id = `main_table`.identifier_id',
73
+ array(
74
+ 'identifier_referenced_in' => 'referenced_in',
75
+ 'identifier_name' => 'name',
76
+ 'identifier_type' => 'type',
77
+ 'identifier_value' => 'value',
78
+ )
79
+ );
80
+
81
+ $this->_isIdentifierJoined = $this->_preserveColumnsOnCount = true;
82
+ }
83
+
84
+ return $this;
85
+ }
86
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/Message.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mysql4_Message extends Ampersand_Integration_Model_Mysql4_Abstract
19
+ {
20
+ protected function _construct()
21
+ {
22
+ $this->_init('ampersand_integration/message', 'entity_id');
23
+ }
24
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/Message/Collection.php ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mysql4_Message_Collection extends Ampersand_Core_Model_Mysql4_Collection_Abstract
19
+ {
20
+ protected $_areFlagCountsAdded = false;
21
+ protected $_isIdentifierCountAdded = array();
22
+
23
+ protected function _construct()
24
+ {
25
+ $this->_init('ampersand_integration/message');
26
+ }
27
+
28
+ public function joinService($cols = '*')
29
+ {
30
+ $this->joinLeft(
31
+ 'ampersand_integration/service',
32
+ '`ampersand_integration/service`.entity_id = `main_table`.service_id',
33
+ $cols
34
+ );
35
+
36
+ return $this;
37
+ }
38
+
39
+ public function addFlagCounts()
40
+ {
41
+ if (!$this->_areFlagCountsAdded) {
42
+ $nrOfFlagsSelect = $this->getConnection()->select()
43
+ ->from(array('flag' => $this->getTable('ampersand_integration/flag')), null)
44
+ ->columns('COUNT(*)')
45
+ ->where('`flag`.message_id = `main_table`.entity_id');
46
+
47
+ $nrOfErrorsSelect = clone $nrOfFlagsSelect;
48
+ $nrOfErrorsSelect
49
+ ->joinLeft(
50
+ array('status' => $this->getTable('ampersand_integration/status')),
51
+ '`status`.entity_id = `flag`.status_id',
52
+ null
53
+ )
54
+ ->where('`status`.type = ?', 'error');
55
+
56
+ $this->getSelect()
57
+ ->columns(array(
58
+ 'nr_of_flags' => new Zend_Db_Expr("($nrOfFlagsSelect)"),
59
+ 'nr_of_errors' => new Zend_Db_Expr("($nrOfErrorsSelect)"),
60
+ ));
61
+
62
+ $this->_areFlagCountsAdded = $this->_preserveColumnsOnCount = true;
63
+ }
64
+
65
+ return $this;
66
+ }
67
+
68
+ public function addIdentifierCount($referencedIn = '')
69
+ {
70
+ if (!array_key_exists($referencedIn, $this->_isIdentifierCountAdded)) {
71
+ $select = $this->getConnection()->select()
72
+ ->from(array(
73
+ 'identifier' => $this->getTable('ampersand_integration/message_identifier')
74
+ ), null)
75
+ ->columns('COUNT(*)')
76
+ ->where('`identifier`.message_id = `main_table`.entity_id');
77
+
78
+ if ($referencedIn) {
79
+ $select->where('`identifier`.referenced_in = ?', $referencedIn);
80
+
81
+ $this->getSelect()
82
+ ->columns(array(
83
+ "nr_of_identifiers_in_$referencedIn" => new Zend_Db_Expr("($select)"),
84
+ ));
85
+ } else {
86
+ $this->getSelect()
87
+ ->columns(array(
88
+ 'nr_of_identifiers' => new Zend_Db_Expr("($select)"),
89
+ ));
90
+ }
91
+
92
+ $this->_isIdentifierCountAdded[$referencedIn] = $this->_preserveColumnsOnCount = true;
93
+ }
94
+
95
+ return $this;
96
+ }
97
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/Message/Identifier.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mysql4_Message_Identifier
19
+ extends Ampersand_Integration_Model_Mysql4_Abstract
20
+ {
21
+ protected function _construct()
22
+ {
23
+ $this->_init('ampersand_integration/message_identifier', 'entity_id');
24
+ }
25
+
26
+ public function doesIdentifierExist($name, $value, $serviceCode = null)
27
+ {
28
+ $select = $this->getReadConnection()->select()
29
+ ->from(array('main_table' => $this->getMainTable()))
30
+ ->where('`main_table`.name = ?', $name)
31
+ ->where('`main_table`.value = ?', $value)
32
+ ->limit(1); // limit = 1 instead of count(*) to save mysql looking throw entire table
33
+
34
+ if ($serviceCode) {
35
+ $select->join(array(
36
+ 'message' => $this->getTable('ampersand_integration/message')
37
+ ), '`message`.entity_id = `main_table`.message_id', array());
38
+
39
+ if (preg_match('/^\d+$/', $serviceCode)) {
40
+ $select->where('`message`.service_id = ?', $serviceCode);
41
+ } else {
42
+ $select->join(array(
43
+ 'service' => $this->getTable('ampersand_integration/service_info')
44
+ ), '`service`.entity_id = `message`.service_id', array())
45
+ ->where('`service`.code = ?', $serviceCode);
46
+ }
47
+ }
48
+
49
+ return 0 < count($this->getReadConnection()->fetchAll($select));
50
+ }
51
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/Message/Identifier/Collection.php ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mysql4_Message_Identifier_Collection extends Ampersand_Core_Model_Mysql4_Collection_Abstract
19
+ {
20
+ protected $_isMessageTableJoined = false;
21
+ protected $_areFlagCountsAdded = false;
22
+
23
+ protected function _construct()
24
+ {
25
+ $this->_init('ampersand_integration/message_identifier');
26
+ }
27
+
28
+ public function addFlagCounts()
29
+ {
30
+ if (!$this->_areFlagCountsAdded) {
31
+ $nrOfFlagsSelect = $this->getConnection()->select()
32
+ ->from(array('flag' => $this->getTable('ampersand_integration/flag')), null)
33
+ ->columns('COUNT(*)')
34
+ ->where('`flag`.identifier_id = `main_table`.entity_id');
35
+
36
+ $nrOfErrorsSelect = clone $nrOfFlagsSelect;
37
+ $nrOfErrorsSelect
38
+ ->joinLeft(
39
+ array('status' => $this->getTable('ampersand_integration/status')),
40
+ '`status`.entity_id = `flag`.status_id',
41
+ null
42
+ )
43
+ ->where('`status`.type = ?', 'error');
44
+
45
+ $this->getSelect()
46
+ ->columns(array(
47
+ 'nr_of_flags' => new Zend_Db_Expr("($nrOfFlagsSelect)"),
48
+ 'nr_of_errors' => new Zend_Db_Expr("($nrOfErrorsSelect)"),
49
+ ));
50
+
51
+ $this->_areFlagCountsAdded = true;
52
+ }
53
+
54
+ return $this;
55
+ }
56
+
57
+ public function joinMessage()
58
+ {
59
+ if (!$this->_isMessageTableJoined) {
60
+ $this->join(
61
+ 'ampersand_integration/message',
62
+ '`ampersand_integration/message`.entity_id = `main_table`.message_id',
63
+ array(
64
+ 'created_at' => 'created_at',
65
+ 'service_id' => 'service_id',
66
+ 'message_name' => 'name',
67
+ 'message_direction' => 'direction',
68
+ )
69
+ );
70
+
71
+ $this->_isMessageTableJoined = true;
72
+ }
73
+
74
+ return $this;
75
+ }
76
+
77
+ public function getSelectCountSql()
78
+ {
79
+ $this->_renderFilters();
80
+
81
+ $countSelect = clone $this->getSelect();
82
+ $countSelect->reset(Zend_Db_Select::ORDER);
83
+ $countSelect->reset(Zend_Db_Select::LIMIT_COUNT);
84
+ $countSelect->reset(Zend_Db_Select::LIMIT_OFFSET);
85
+
86
+ if ($this->_areFlagCountsAdded) {
87
+ $countSelect = $this->getConnection()->select()
88
+ ->from($countSelect, 'COUNT(*)');
89
+ } else {
90
+ $countSelect->columns('COUNT(*)');
91
+ }
92
+
93
+ return $countSelect;
94
+ }
95
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/Service/Info.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mysql4_Service_Info extends Ampersand_Integration_Model_Mysql4_Abstract
19
+ {
20
+ protected function _construct()
21
+ {
22
+ $this->_init('ampersand_integration/service_info', 'entity_id');
23
+ }
24
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/Service/Info/Collection.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mysql4_Service_Info_Collection
19
+ extends Ampersand_Core_Model_Mysql4_Collection_Abstract
20
+ {
21
+ protected function _construct()
22
+ {
23
+ $this->_init('ampersand_integration/service_info');
24
+ }
25
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/Status.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mysql4_Status extends Ampersand_Integration_Model_Mysql4_Abstract
19
+ {
20
+ protected function _construct()
21
+ {
22
+ $this->_init('ampersand_integration/status', 'entity_id');
23
+ }
24
+
25
+ public function getIdByCode($code, $serviceId = null)
26
+ {
27
+ $select = $this->getReadConnection()->select()
28
+ ->from($this->getMainTable(), array($this->getIdFieldName()))
29
+ ->where('code = ?', $code)
30
+ ;
31
+
32
+ if ($serviceId) {
33
+ $select->where('service_id = ?', $serviceId);
34
+ } else {
35
+ $select->where('service_id IS NULL');
36
+ }
37
+
38
+ return $this->getReadConnection()->fetchOne($select);
39
+ }
40
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/Status/Collection.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mysql4_Status_Collection extends Ampersand_Core_Model_Mysql4_Collection_Abstract
19
+ {
20
+ protected function _construct()
21
+ {
22
+ $this->_init('ampersand_integration/status');
23
+ }
24
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/StockUpdate.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mysql4_StockUpdate extends Ampersand_Integration_Model_Mysql4_Abstract
19
+ {
20
+ protected $_isPkAutoIncrement = false;
21
+
22
+ protected function _construct()
23
+ {
24
+ $this->_init('ampersand_integration/stockUpdate', 'sku');
25
+ }
26
+
27
+ protected function _beforeSave(Mage_Core_Model_Abstract $object)
28
+ {
29
+ if (!$object->getCreatedAt()) {
30
+ $object->setCreatedAt(now());
31
+ }
32
+
33
+ return $this;
34
+ }
35
+ }
app/code/core/Ampersand/Integration/Model/Mysql4/StockUpdate/Collection.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Mysql4_StockUpdate_Collection extends Ampersand_Core_Model_Mysql4_Collection_Abstract
19
+ {
20
+ protected function _construct()
21
+ {
22
+ $this->_init('ampersand_integration/stockUpdate');
23
+ }
24
+ }
app/code/core/Ampersand/Integration/Model/OrderAbstract.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ abstract class Ampersand_Integration_Model_OrderAbstract extends Ampersand_Core_Model_Abstract
19
+ {
20
+ public function getOrder()
21
+ {
22
+ if ($this->hasData('order_increment_id') && (!$this->hasData('order')
23
+ || $this->getOrderIncrementId() != $this->getData('order')->getIncrementId())) {
24
+ $order = Mage::getModel('sales/order')
25
+ ->loadByIncrementId($this->getOrderIncrementId());
26
+
27
+ if (!$order->getId()) {
28
+ throw new Ampersand_Integration_Exception(
29
+ "Order # '{$this->getOrderIncrementId()}' does not exist"
30
+ );
31
+ }
32
+
33
+ $this->setOrder($order);
34
+ }
35
+
36
+ return $this->getData('order');
37
+ }
38
+
39
+ public function getQuantities()
40
+ {
41
+ $quantities = array();
42
+
43
+ $order = $this->getOrder();
44
+ foreach ($this->getSkuQuantities() as $_sku => $_quantity) {
45
+ if (!$_itemId = $this->_getOrderItemIdBySku($order, $_sku)) {
46
+ throw new Ampersand_Integration_Exception(
47
+ "No product with sku '$_sku' associated with order # {$order->getIncrementId()}"
48
+ );
49
+ }
50
+
51
+ $quantities[$_itemId] = $_quantity;
52
+ }
53
+
54
+ return $quantities;
55
+ }
56
+
57
+ protected function _getOrderItemIdBySku(Mage_Sales_Model_Order $order, $sku)
58
+ {
59
+ foreach ($order->getAllItems() as $_item) {
60
+ if ($sku == $_item->getSku()) {
61
+ return $_item->getId();
62
+ }
63
+ }
64
+
65
+ return null;
66
+ }
67
+ }
app/code/core/Ampersand/Integration/Model/Payment.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Payment extends Ampersand_Core_Model_Abstract
19
+ {
20
+ public function capture()
21
+ {
22
+ $invoiceIncrementId = Mage::getModel('sales/order_invoice_api')->create(
23
+ $this->getOrderIncrementId(), $this->getQuantities()
24
+ );
25
+
26
+ Mage::getModel('sales/order_invoice_api')->capture($invoiceIncrementId);
27
+
28
+ return $this;
29
+ }
30
+ }
app/code/core/Ampersand/Integration/Model/Service.php ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Service extends Ampersand_Integration_Service
19
+ {
20
+ protected $_serviceCode;
21
+ protected $_currentStore;
22
+
23
+ public function __construct($serviceCode = null)
24
+ {
25
+ $baseOutgoingMessageConfig = $this->_getBaseOutgoingMessageConfig();
26
+ $this->_prepareOutgoingMessageConfig($baseOutgoingMessageConfig);
27
+ $this->setBaseOutgoingMessageConfig($baseOutgoingMessageConfig);
28
+
29
+ $baseIncomingMessageConfig = $this->_getBaseIncomingMessageConfig();
30
+ $this->_prepareIncomingMessageConfig($baseIncomingMessageConfig);
31
+ $this->setBaseIncomingMessageConfig($baseIncomingMessageConfig);
32
+
33
+ if (!$serviceCode) {
34
+ $serviceCode = $this->_getServiceCode();
35
+ }
36
+ $this->setXmlNamespace($serviceCode);
37
+ }
38
+
39
+ protected function _getBaseOutgoingMessageConfig()
40
+ {
41
+ return Mage::helper('ampersand_integration/message')->getBaseOutgoingConfig();
42
+ }
43
+
44
+ protected function _prepareOutgoingMessageConfig(
45
+ Ampersand_Integration_Message_Config_Outgoing $outgoingMessageConfig
46
+ ) {
47
+
48
+ }
49
+
50
+ protected function _getBaseIncomingMessageConfig()
51
+ {
52
+ return Mage::helper('ampersand_integration/message')->getBaseIncomingConfig();
53
+ }
54
+
55
+ protected function _prepareIncomingMessageConfig(
56
+ Ampersand_Integration_Message_Config_Incoming $incomingMessageConfig
57
+ ) {
58
+
59
+ }
60
+
61
+ protected function _getServiceCode()
62
+ {
63
+ return $this->_serviceCode;
64
+ }
65
+
66
+ public function setCurrentStore($store)
67
+ {
68
+ try {
69
+ $this->_currentStore = Mage::app()->getStore($store);
70
+ } catch (Exception $e) {
71
+ // possibly trying to set store to the current store?
72
+ }
73
+
74
+ return $this;
75
+ }
76
+
77
+ public function getCurrentStore()
78
+ {
79
+ if (is_null($this->_currentStore)) {
80
+ return Mage::app()->getStore();
81
+ }
82
+
83
+ return $this->_currentStore;
84
+ }
85
+ }
app/code/core/Ampersand/Integration/Model/Service/Info.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Service_Info extends Ampersand_Core_Model_Abstract
19
+ {
20
+ protected function _construct()
21
+ {
22
+ $this->_init('ampersand_integration/service_info');
23
+ }
24
+
25
+ public function getIdByCode($code, $createIfNotExists = true)
26
+ {
27
+ $id = $this->getResource()->getIdByCode($code);
28
+
29
+ if (!$id && $createIfNotExists) {
30
+ $id = Mage::getModel('ampersand_integration/service_info')
31
+ ->setCode($code)
32
+ ->save()
33
+ ->getId()
34
+ ;
35
+ }
36
+
37
+ return $id;
38
+ }
39
+
40
+ public function getDescription()
41
+ {
42
+ if (!$description = $this->getData('description')) {
43
+ return $this->getData('code');
44
+ }
45
+
46
+ return $description;
47
+ }
48
+ }
app/code/core/Ampersand/Integration/Model/Shipment.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Shipment extends Ampersand_Integration_Model_OrderAbstract
19
+ {
20
+ public function ship()
21
+ {
22
+ $shipmentIncrementId = Mage::getModel('sales/order_shipment_api')->create(
23
+ $this->getOrderIncrementId(), $this->getQuantities()
24
+ );
25
+
26
+ if ($this->getTrackCode()) {
27
+ $this->_addTrack(
28
+ $shipmentIncrementId, $this->getMethod(), $this->getTrackCode()
29
+ );
30
+ }
31
+
32
+ return $this;
33
+ }
34
+
35
+ protected function _addTrack($shipmentIncrementId, $method, $trackCode)
36
+ {
37
+ Mage::getModel('sales/order_shipment_api')
38
+ ->addTrack($shipmentIncrementId, 'custom', $method, $trackCode);
39
+ }
40
+ }
app/code/core/Ampersand/Integration/Model/Status.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Status extends Ampersand_Core_Model_Abstract
19
+ {
20
+ protected function _construct()
21
+ {
22
+ $this->_init('ampersand_integration/status');
23
+ }
24
+
25
+ public function getService()
26
+ {
27
+ if (!$this->hasData('service') && $this->getServiceId()) {
28
+ $service = Mage::getModel('ampersand_integration/service_info')
29
+ ->load($this->getServiceId());
30
+ $this->setService($service);
31
+ }
32
+
33
+ return $this->getData('service');
34
+ }
35
+ }
app/code/core/Ampersand/Integration/Model/StockUpdate.php ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_StockUpdate extends Ampersand_Core_Model_Abstract
19
+ {
20
+ const TIME_LIMIT_SECONDS = 240;
21
+
22
+ protected $_startTime;
23
+
24
+ protected function _construct()
25
+ {
26
+ $this->_init('ampersand_integration/stockUpdate');
27
+ }
28
+
29
+ public function processAll()
30
+ {
31
+ if (!$this->_getIsStockManagementEnabled()
32
+ || !$skusToUpdate = $this->_getSkusToUpdate(2 * self::TIME_LIMIT_SECONDS)) {
33
+ return $this;
34
+ }
35
+
36
+ $originalStoreId = Mage::app()->getStore()->getId();
37
+
38
+ Mage::app()->getStore()->setId(Mage_Core_Model_App::ADMIN_STORE_ID);
39
+
40
+ $this->_startTime = microtime(true);
41
+
42
+ foreach ($skusToUpdate as $_sku) {
43
+ if ($this->_getHasTimeExpired()) {
44
+ break;
45
+ }
46
+
47
+ Mage::getModel('ampersand_integration/stockUpdate')
48
+ ->load($_sku)
49
+ ->process()
50
+ ;
51
+ }
52
+
53
+ Mage::app()->getStore()->setId($originalStoreId);
54
+
55
+ return $this;
56
+ }
57
+
58
+ protected function _getIsStockManagementEnabled()
59
+ {
60
+ $configPath = Mage_CatalogStock_Model_Stock_Item::XML_PATH_MANAGE_STOCK;
61
+
62
+ return Mage::getStoreConfigFlag($configPath);
63
+ }
64
+
65
+ protected function _getSkusToUpdate($limit = null)
66
+ {
67
+ return Mage::getResourceModel('ampersand_integration/stockUpdate_collection')
68
+ ->setOrder('created_at', 'asc')
69
+ ->setPageSize($limit)
70
+ ->getAllIds()
71
+ ;
72
+ }
73
+
74
+ protected function _getHasTimeExpired()
75
+ {
76
+ return $this->_getElapsedTime() >= self::TIME_LIMIT_SECONDS;
77
+ }
78
+
79
+ protected function _getElapsedTime()
80
+ {
81
+ $time = microtime(true);
82
+
83
+ return $time - $this->_startTime;
84
+ }
85
+
86
+ public function process()
87
+ {
88
+ $product = $this->getProduct();
89
+ if ($product->getId()) {
90
+ $stockItem = $product->getStockItem();
91
+ $this->_updateStockItem($stockItem);
92
+ }
93
+
94
+ $this->delete();
95
+
96
+ return $this;
97
+ }
98
+
99
+ public function getProduct()
100
+ {
101
+ if (!$this->hasProduct()) {
102
+ $product = Mage::getModel('catalog/product');
103
+ if ($productId = $product->getIdBySku($this->getSku())) {
104
+ $product->load($productId);
105
+ }
106
+ $this->setProduct($product);
107
+ }
108
+
109
+ return $this->getData('product');
110
+ }
111
+
112
+ protected function _updateStockItem($stockItem)
113
+ {
114
+ $quantity = $this->getQuantity();
115
+ $isInStock = $stockItem->getBackorders() || $quantity > ((double) $stockItem->getMinQty());
116
+ if ($isInStock != $stockItem->getIsInStock() || $quantity != $stockItem->getQty()) {
117
+ $stockItem->setIsInStock($isInStock)
118
+ ->setQty($quantity)
119
+ ->save()
120
+ ;
121
+ }
122
+
123
+ return $this;
124
+ }
125
+ }
app/code/core/Ampersand/Integration/Model/Transport/Incoming/Http.php ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Model
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Model
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Model_Transport_Incoming_Http extends Ampersand_Integration_Transport_Incoming_Http
19
+ {
20
+ protected $_lastResponseHeaders;
21
+ protected $_lastResponseBody;
22
+
23
+ /**
24
+ * @return Mage_Core_Controller_Varien_Front
25
+ */
26
+ protected function _getController()
27
+ {
28
+ return Mage::app()->getFrontController();
29
+ }
30
+
31
+ /**
32
+ * @return Mage_Core_Controller_Request_Http
33
+ */
34
+ protected function _getRequest()
35
+ {
36
+ return $this->_getController()->getRequest();
37
+ }
38
+
39
+ /**
40
+ * @return Zend_Controller_Response_Http
41
+ */
42
+ protected function _getResponse()
43
+ {
44
+ return $this->_getController()->getResponse();
45
+ }
46
+
47
+ protected function _getContent()
48
+ {
49
+ $request = $this->_getRequest();
50
+
51
+ switch ($request->getMethod()) {
52
+ case Zend_Http_Client::GET:
53
+ $content = $request->getParams();
54
+ break;
55
+ case Zend_Http_Client::POST:
56
+ if (!$content = $request->getPost()) {
57
+ $content = $request->getRawBody();
58
+ }
59
+ break;
60
+ default:
61
+ $content = null;
62
+ break;
63
+ }
64
+
65
+ return $content;
66
+ }
67
+
68
+ protected function _respond(Ampersand_Integration_Message_Data_Response $response)
69
+ {
70
+ $this->_getResponse()->setBody($response->getContent());
71
+
72
+ $this->_lastResponseHeaders = $this->_getResponse()->getHeaders();
73
+ $this->_lastResponseBody = $this->_getResponse()->getBody();
74
+
75
+ return $this;
76
+ }
77
+
78
+ public function getDebugData()
79
+ {
80
+ return array(
81
+ 'type' => 'mage_http',
82
+ 'uri' => $this->_getRequest()->getRequestUri(),
83
+ 'request' => array(
84
+ 'headers' => $this->_getHeaders(),
85
+ 'body' => $this->_getRequest()->getRawBody(),
86
+ ),
87
+ 'response' => array(
88
+ 'headers' => $this->_lastResponseHeaders,
89
+ 'body' => $this->_lastResponseBody,
90
+ ),
91
+ );
92
+ }
93
+ }
app/code/core/Ampersand/Integration/controllers/Adminhtml/FlagController.php ADDED
@@ -0,0 +1,168 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Controller
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Controller
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Adminhtml_FlagController
19
+ extends Ampersand_Integration_Controller_Adminhtml_Abstract
20
+ {
21
+ public function indexAction()
22
+ {
23
+ if (!$this->_isGridAllowed()) {
24
+ $this->_forward('denied');
25
+ return;
26
+ }
27
+
28
+ $this->_initTitle();
29
+
30
+ if ($this->getRequest()->getQuery('ajax')) {
31
+ $this->_forward('grid');
32
+ return;
33
+ }
34
+
35
+ $this->loadLayout();
36
+
37
+ $this->_setActiveMenu('ampersand_integration');
38
+
39
+ $this->renderLayout();
40
+ }
41
+
42
+ public function viewAction()
43
+ {
44
+ if (!$flag = $this->_initFlag()) {
45
+ $this->_getSession()->addError($this->__('The specified flag was not found.'));
46
+ $this->_redirect('*/*/index');
47
+ return;
48
+ }
49
+ $this->_initMessage($flag);
50
+ $this->_initIdentifier($flag);
51
+
52
+ if (!$this->_isFlagDetailAllowed($flag)) {
53
+ $this->_forward('denied');
54
+ return;
55
+ }
56
+
57
+ $this->_initTitle()
58
+ ->_title('Flag #' . $flag->getId())
59
+ ;
60
+
61
+ $this->loadLayout();
62
+
63
+ $this->_setActiveMenu('ampersand_integration');
64
+
65
+ $this->renderLayout();
66
+ }
67
+
68
+ public function gridAction()
69
+ {
70
+ if (!$this->_isGridAllowed()) {
71
+ $this->_forward('denied');
72
+ return;
73
+ }
74
+
75
+ $this->loadLayout();
76
+
77
+ $this->getResponse()->setBody(
78
+ $this->getLayout()->createBlock('ampersand_integration_admin/flag_grid')->toHtml()
79
+ );
80
+ }
81
+
82
+ public function __call($methodName, $arguments)
83
+ {
84
+ if ('Action' !== substr($methodName, -6)) {
85
+ throw new Exception("No such method '$methodName'");
86
+ }
87
+
88
+ Mage::helper('ampersand_integration/adminhtml')
89
+ ->setCurrentServiceCode(substr($methodName, 0, -6));
90
+
91
+ $this->_forward('index');
92
+ }
93
+
94
+ protected function _initTitle()
95
+ {
96
+ $this->_title($this->__('Integration'))
97
+ ->_title($this->__('Flags'));
98
+
99
+ return $this;
100
+ }
101
+
102
+ protected function _isFlagDetailAllowed()
103
+ {
104
+ $service = Mage::helper('ampersand_integration/adminhtml')->getCurrentService();
105
+
106
+ return Mage::getSingleton('ampersand_integration/adminSession')
107
+ ->isFlagDetailAllowed($service);
108
+ }
109
+
110
+ protected function _isGridAllowed()
111
+ {
112
+ $service = Mage::helper('ampersand_integration/adminhtml')->getCurrentService();
113
+
114
+ return Mage::getSingleton('ampersand_integration/adminSession')
115
+ ->isFlagGridAllowed($service);
116
+ }
117
+
118
+ protected function _initFlag()
119
+ {
120
+ if (!$id = $this->getRequest()->getParam('id')) {
121
+ return null;
122
+ }
123
+
124
+ $flag = Mage::getModel('ampersand_integration/flag')->load($id);
125
+
126
+ if (!$flag->getId()) {
127
+ return null;
128
+ }
129
+
130
+ Mage::register('flag', $flag);
131
+
132
+ return $flag;
133
+ }
134
+
135
+ protected function _initMessage($flag)
136
+ {
137
+ if (!$id = $flag->getMessageId()) {
138
+ return null;
139
+ }
140
+
141
+ $message = Mage::getModel('ampersand_integration/message')->load($id);
142
+
143
+ if (!$message->getId()) {
144
+ return null;
145
+ }
146
+
147
+ Mage::register('message', $message);
148
+
149
+ return $message;
150
+ }
151
+
152
+ protected function _initIdentifier($flag)
153
+ {
154
+ if (!$id = $flag->getIdentifierId()) {
155
+ return null;
156
+ }
157
+
158
+ $identifier = Mage::getModel('ampersand_integration/message_identifier')->load($id);
159
+
160
+ if (!$identifier->getId()) {
161
+ return null;
162
+ }
163
+
164
+ Mage::register('message_identifier', $identifier);
165
+
166
+ return $identifier;
167
+ }
168
+ }
app/code/core/Ampersand/Integration/controllers/Adminhtml/Message/ViewController.php ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Controller
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Controller
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Adminhtml_Message_ViewController
19
+ extends Ampersand_Integration_Controller_Adminhtml_Message
20
+ {
21
+ public function relatedObjectsGridAction()
22
+ {
23
+ if (!$message = $this->_initMessage()) {
24
+ return;
25
+ }
26
+
27
+ if (!$this->_isMessageDetailAllowed($message)) {
28
+ $this->_forward('denied');
29
+ return;
30
+ }
31
+
32
+ $this->loadLayout();
33
+
34
+ $this->getResponse()->setBody(
35
+ $this->getLayout()->createBlock(
36
+ 'ampersand_integration_admin/message_view_relatedObjects_grid'
37
+ )->toHtml()
38
+ );
39
+ }
40
+
41
+ public function flagsGridAction()
42
+ {
43
+ if (!$message = $this->_initMessage()) {
44
+ return;
45
+ }
46
+
47
+ if (!$this->_isMessageDetailAllowed($message)) {
48
+ $this->_forward('denied');
49
+ return;
50
+ }
51
+
52
+ $this->loadLayout();
53
+
54
+ $this->getResponse()->setBody(
55
+ $this->getLayout()->createBlock(
56
+ 'ampersand_integration_admin/message_view_flags_grid'
57
+ )->toHtml()
58
+ );
59
+ }
60
+
61
+ public function downloadLogFileAction()
62
+ {
63
+ if (!$message = $this->_initMessage()) {
64
+ return;
65
+ }
66
+
67
+ if (!$this->_isMessageLogContentAllowed($message)) {
68
+ $this->_forward('denied');
69
+ return;
70
+ }
71
+
72
+ if (false === ($logFilePath = $message->getFullLogFilePath())
73
+ || (!$content = @file_get_contents($logFilePath))) {
74
+ return;
75
+ }
76
+
77
+ $filename = str_replace(DS, '_', $message->getLogFilePath());
78
+
79
+ $this->_prepareDownloadResponse($filename, $content);
80
+ }
81
+ }
app/code/core/Ampersand/Integration/controllers/Adminhtml/MessageController.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Controller
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Controller
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Adminhtml_MessageController
19
+ extends Ampersand_Integration_Controller_Adminhtml_Message
20
+ {
21
+ public function indexAction()
22
+ {
23
+ if (!$this->_isGridAllowed()) {
24
+ $this->_forward('denied');
25
+ return;
26
+ }
27
+
28
+ $this->_initTitle();
29
+
30
+ if ($this->getRequest()->getQuery('ajax')) {
31
+ $this->_forward('grid');
32
+ return;
33
+ }
34
+
35
+ $this->loadLayout();
36
+
37
+ $this->_setActiveMenu('ampersand_integration');
38
+
39
+ $this->renderLayout();
40
+ }
41
+
42
+ public function viewAction()
43
+ {
44
+ if (!$message = $this->_initMessage()) {
45
+ $this->_getSession()->addError($this->__('The specified message was not found.'));
46
+ $this->_redirect('*/*/index');
47
+ return;
48
+ }
49
+
50
+ if (!$this->_isMessageDetailAllowed($message)) {
51
+ $this->_forward('denied');
52
+ return;
53
+ }
54
+
55
+ $this->_initTitle()
56
+ ->_title('Message #' . $message->getId())
57
+ ;
58
+
59
+ $this->loadLayout();
60
+
61
+ $this->_setActiveMenu('ampersand_integration');
62
+
63
+ $this->renderLayout();
64
+ }
65
+
66
+ public function gridAction()
67
+ {
68
+ if (!$this->_isGridAllowed()) {
69
+ $this->_forward('denied');
70
+ return;
71
+ }
72
+
73
+ $this->loadLayout();
74
+
75
+ $this->getResponse()->setBody(
76
+ $this->getLayout()->createBlock('ampersand_integration_admin/message_grid')->toHtml()
77
+ );
78
+ }
79
+
80
+ public function __call($methodName, $arguments)
81
+ {
82
+ if ('Action' !== substr($methodName, -6)) {
83
+ throw new Exception("No such method '$methodName'");
84
+ }
85
+
86
+ Mage::helper('ampersand_integration/adminhtml')
87
+ ->setCurrentServiceCode(substr($methodName, 0, -6));
88
+
89
+ $this->_forward('index');
90
+ }
91
+ }
app/code/core/Ampersand/Integration/controllers/Adminhtml/MessageIdentifierController.php ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Controller
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Controller
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_Adminhtml_MessageIdentifierController
19
+ extends Ampersand_Integration_Controller_Adminhtml_Abstract
20
+ {
21
+ public function indexAction()
22
+ {
23
+ if (!$this->_isGridAllowed()) {
24
+ $this->_forward('denied');
25
+ return;
26
+ }
27
+
28
+ $this->_initTitle();
29
+
30
+ if ($this->getRequest()->getQuery('ajax')) {
31
+ $this->_forward('grid');
32
+ return;
33
+ }
34
+
35
+ $this->loadLayout();
36
+
37
+ $this->_setActiveMenu('ampersand_integration');
38
+
39
+ $this->renderLayout();
40
+ }
41
+
42
+ public function gridAction()
43
+ {
44
+ if (!$this->_isGridAllowed()) {
45
+ $this->_forward('denied');
46
+ return;
47
+ }
48
+
49
+ $this->loadLayout();
50
+
51
+ $this->getResponse()->setBody(
52
+ $this->getLayout()->createBlock('ampersand_integration_admin/messageIdentifier_grid')
53
+ ->toHtml()
54
+ );
55
+ }
56
+
57
+ public function redirectAction()
58
+ {
59
+ if (!$identifier = $this->_getIdentifier()) {
60
+ $this->_getSession()->addError($this->__(
61
+ 'The specified entity reference was not found.'
62
+ ));
63
+ $this->_redirect('*/*/index');
64
+ return;
65
+ }
66
+
67
+ $this->_redirectUrl($identifier->getEntityUrl());
68
+ }
69
+
70
+ public function __call($methodName, $arguments)
71
+ {
72
+ if ('Action' !== substr($methodName, -6)) {
73
+ throw new Exception("No such method '$methodName'");
74
+ }
75
+
76
+ Mage::helper('ampersand_integration/adminhtml')
77
+ ->setCurrentServiceCode(substr($methodName, 0, -6));
78
+
79
+ $this->_forward('index');
80
+ }
81
+
82
+ protected function _initTitle()
83
+ {
84
+ $this->_title($this->__('Integration'))
85
+ ->_title($this->__('Message References'));
86
+
87
+ return $this;
88
+ }
89
+
90
+ protected function _isGridAllowed()
91
+ {
92
+ $service = Mage::helper('ampersand_integration/adminhtml')->getCurrentService();
93
+
94
+ return Mage::getSingleton('ampersand_integration/adminSession')
95
+ ->isMessageIdentifierGridAllowed($service);
96
+ }
97
+
98
+ protected function _getIdentifier()
99
+ {
100
+ if (!$id = $this->getRequest()->getParam('id')) {
101
+ return null;
102
+ }
103
+
104
+ $identifier = Mage::getModel('ampersand_integration/message_identifier')->load($id);
105
+
106
+ if (!$identifier->getId()) {
107
+ return null;
108
+ }
109
+
110
+ return $identifier;
111
+ }
112
+ }
app/code/core/Ampersand/Integration/controllers/MessageController.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ampersand IT Magento Suite
4
+ *
5
+ * @category Ampersand_Magento
6
+ * @package Ampersand_Integration
7
+ * @subpackage Controller
8
+ * @copyright Copyright (c) 2008-2011 Ampersand IT (UK) Ltd. (http://www.ampersandit.co.uk)
9
+ * @license TBC
10
+ */
11
+
12
+ /**
13
+ * @category Ampersand_Magento
14
+ * @package Ampersand_Integration
15
+ * @subpackage Controller
16
+ * @author Josh Di Fabio <josh.difabio@ampersandit.co.uk>
17
+ */
18
+ class Ampersand_Integration_MessageController extends Mage_Core_Controller_Front_Action
19
+ {
20
+ public function captureAction()
21
+ {
22
+ $service = $this->_getService();
23
+ $messageName = $this->_getMessageName();
24
+
25
+ if (!$service || !$messageName) {
26
+ $this->_forward('noRoute');
27
+ return;
28
+ }
29
+
30
+ $service->captureMessage($messageName);
31
+ }
32
+
33
+ protected function _getService()
34
+ {
35
+ if (!$serviceName = $this->getRequest()->getParam('service')) {
36
+ return false;
37
+ }
38
+
39
+ return Mage::helper('ampersand_integration')->getService($serviceName);
40
+ }
41
+
42
+ protected function _getMessageName()
43
+ {
44
+ return $this->getRequest()->getParam('message');
45
+ }
46
+ }
app/code/core/Ampersand/Integration/etc/adminhtml.xml ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <config>
3
+ <menu>
4
+ <ampersand_integration translate="title" module="ampersand_integration">
5
+ <title>Integration</title>
6
+ <!-- <action>ampersand_integration_admin</action> -->
7
+ <sort_order>87</sort_order>
8
+ <children>
9
+ <!-- <dashboard translate="title">
10
+ <title>Dashboard</title>
11
+ <action>ampersand_integration_admin</action>
12
+ <sort_order>10</sort_order>
13
+ <resource>ampersand_integration/dashboard</resource>
14
+ </dashboard> -->
15
+ <message translate="title">
16
+ <title>Message History</title>
17
+ <action>ampersand_integration_admin/message</action>
18
+ <sort_order>20</sort_order>
19
+ <resource>ampersand_integration/message_history</resource>
20
+ </message>
21
+ <messageIdentifier translate="title">
22
+ <title>Entity References</title>
23
+ <action>ampersand_integration_admin/messageIdentifier</action>
24
+ <sort_order>25</sort_order>
25
+ <resource>ampersand_integration/messageidentifier</resource>
26
+ </messageIdentifier>
27
+ <flag translate="title">
28
+ <title>Flags</title>
29
+ <action>ampersand_integration_admin/flag</action>
30
+ <sort_order>30</sort_order>
31
+ <resource>ampersand_integration/flag</resource>
32
+ </flag>
33
+ </children>
34
+ </ampersand_integration>
35
+ </menu>
36
+ <acl>
37
+ <resources>
38
+ <admin>
39
+ <children>
40
+ <ampersand_integration translate="title" module="ampersand_integration">
41
+ <title>Integration</title>
42
+ <sort_order>-1000</sort_order>
43
+ <children>
44
+ <dashboard translate="title">
45
+ <title>Dashboard</title>
46
+ <sort_order>10</sort_order>
47
+ </dashboard>
48
+ <message_history translate="title">
49
+ <title>Message History</title>
50
+ <sort_order>20</sort_order>
51
+ </message_history>
52
+ <messageidentifier translate="title">
53
+ <title>Entity References</title>
54
+ <sort_order>25</sort_order>
55
+ </messageidentifier>
56
+ <flag translate="title">
57
+ <title>Flags</title>
58
+ <sort_order>30</sort_order>
59
+ </flag>
60
+ </children>
61
+ </ampersand_integration>
62
+ </children>
63
+ </admin>
64
+ </resources>
65
+ </acl>
66
+ </config>
app/code/core/Ampersand/Integration/etc/config.xml ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <config>
3
+ <modules>
4
+ <Ampersand_Integration>
5
+ <version>1.0.2</version>
6
+ </Ampersand_Integration>
7
+ </modules>
8
+ <global>
9
+ <models>
10
+ <ampersand_integration>
11
+ <class>Ampersand_Integration_Model</class>
12
+ <resourceModel>ampersand_integration_mysql4</resourceModel>
13
+ </ampersand_integration>
14
+ <ampersand_integration_mysql4>
15
+ <class>Ampersand_Integration_Model_Mysql4</class>
16
+ <entities>
17
+ <service>
18
+ <table>ampersand_integration_service</table>
19
+ </service>
20
+ <service_info>
21
+ <table>ampersand_integration_service</table>
22
+ </service_info>
23
+ <message>
24
+ <table>ampersand_integration_message</table>
25
+ </message>
26
+ <message_identifier>
27
+ <table>ampersand_integration_message_identifier</table>
28
+ </message_identifier>
29
+ <stockUpdate>
30
+ <table>ampersand_integration_stockupdate</table>
31
+ </stockUpdate>
32
+ <status>
33
+ <table>ampersand_integration_status</table>
34
+ </status>
35
+ <flag>
36
+ <table>ampersand_integration_flag</table>
37
+ </flag>
38
+ </entities>
39
+ </ampersand_integration_mysql4>
40
+ </models>
41
+ <helpers>
42
+ <ampersand_integration>
43
+ <class>Ampersand_Integration_Helper</class>
44
+ </ampersand_integration>
45
+ </helpers>
46
+ <blocks>
47
+ <ampersand_integration_admin>
48
+ <class>Ampersand_Integration_Block_Adminhtml</class>
49
+ </ampersand_integration_admin>
50
+ </blocks>
51
+ <resources>
52
+ <ampersand_integration_setup>
53
+ <setup>
54
+ <module>Ampersand_Integration</module>
55
+ </setup>
56
+ </ampersand_integration_setup>
57
+ </resources>
58
+ <rewrite>
59
+ <ampersand_integration>
60
+ <from>#/?integration/([^/]+)/(.+)#</from>
61
+ <to>/integration/message/capture/service/$1/message/$2</to>
62
+ </ampersand_integration>
63
+ </rewrite>
64
+ </global>
65
+ <frontend>
66
+ <routers>
67
+ <ampersand_integration>
68
+ <use>standard</use>
69
+ <args>
70
+ <module>Ampersand_Integration</module>
71
+ <frontName>integration</frontName>
72
+ </args>
73
+ </ampersand_integration>
74
+ </routers>
75
+ </frontend>
76
+ <admin>
77
+ <routers>
78
+ <ampersand_integration_admin>
79
+ <use>admin</use>
80
+ <args>
81
+ <module>Ampersand_Integration_Adminhtml</module>
82
+ <frontName>integration-admin</frontName>
83
+ </args>
84
+ </ampersand_integration_admin>
85
+ </routers>
86
+ </admin>
87
+ <adminhtml>
88
+ <layout>
89
+ <updates>
90
+ <ampersand_integration_admin>
91
+ <file>ampersand_integration.xml</file>
92
+ </ampersand_integration_admin>
93
+ </updates>
94
+ </layout>
95
+ </adminhtml>
96
+ </config>
app/code/core/Ampersand/Integration/etc/integration/in.types.xml ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <types>
3
+ <firstname mapper="function">
4
+ <_function>implode</_function>
5
+ <_params>
6
+ <glue> </glue>
7
+ <array mapper="function">
8
+ <_function>explode</_function>
9
+ <_params>
10
+ <delimiter> </delimiter>
11
+ <string mapper="all_data"/>
12
+ <limit>-1</limit>
13
+ </_params>
14
+ </array>
15
+ </_params>
16
+ </firstname>
17
+
18
+ <lastname mapper="function">
19
+ <_function>end</_function>
20
+ <_params>
21
+ <array mapper="function">
22
+ <_function>explode</_function>
23
+ <_params>
24
+ <delimiter> </delimiter>
25
+ <string mapper="all_data"/>
26
+ </_params>
27
+ </array>
28
+ </_params>
29
+ </lastname>
30
+ </types>
app/code/core/Ampersand/Integration/etc/integration/out.types.xml ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <types>
3
+ <!-- scope for product_url should be a product object -->
4
+ <product_url mapper="method">
5
+ <_object mapper="field_path">url_model</_object>
6
+ <_method>getProductUrl</_method>
7
+ <_params>
8
+ <product mapper="all_data"/>
9
+ </_params>
10
+ </product_url>
11
+ </types>
app/code/core/Ampersand/Integration/sql/ampersand_integration_setup/mysql4-install-1.0.0.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $this->startSetup();
4
+
5
+ $this->run("
6
+
7
+ CREATE TABLE `{$this->getTable('ampersand_integration/service_info')}` (
8
+ `entity_id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
9
+ `created_at` DATETIME NOT NULL,
10
+ `updated_at` DATETIME NOT NULL,
11
+ `code` VARCHAR(40) NOT NULL,
12
+ `description` VARCHAR(100),
13
+ PRIMARY KEY (`entity_id`),
14
+ UNIQUE KEY (`code`)
15
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
16
+
17
+ CREATE TABLE `{$this->getTable('ampersand_integration/message')}` (
18
+ `entity_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
19
+ `created_at` DATETIME NOT NULL,
20
+ `updated_at` DATETIME NOT NULL,
21
+ `name` VARCHAR(100),
22
+ `service_id` MEDIUMINT UNSIGNED,
23
+ `log_file_path` VARCHAR(100),
24
+ `state` TINYINT UNSIGNED NOT NULL, #success, failure, mixed, etc. as int
25
+ `direction` TINYINT UNSIGNED NOT NULL, #incoming, outgoing as int
26
+ `nr_of_attempts` SMALLINT UNSIGNED NOT NULL,
27
+ PRIMARY KEY (`entity_id`),
28
+ KEY `IDX_NAME` (`name`),
29
+ KEY `IDX_CREATED_AT` (`created_at`),
30
+ KEY `IDX_UPDATED_AT` (`updated_at`),
31
+ CONSTRAINT `AMPERSAND_INTEGRATION_MESSAGE_SERVICE_ID` FOREIGN KEY (`service_id`)
32
+ REFERENCES `{$this->getTable('ampersand_integration/service_info')}` (`entity_id`) ON DELETE CASCADE
33
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
34
+
35
+ CREATE TABLE `{$this->getTable('ampersand_integration/message_identifier')}` (
36
+ `entity_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
37
+ `message_id` INT UNSIGNED NOT NULL,
38
+ `referenced_in` VARCHAR(25),
39
+ `name` VARCHAR(60),
40
+ `type` VARCHAR(80),
41
+ `value` VARCHAR(100),
42
+ PRIMARY KEY (`entity_id`),
43
+ KEY `IDX_NAME` (`name`),
44
+ KEY `IDX_VALUE` (`value`),
45
+ CONSTRAINT `AMPERSAND_INTEGRATION_MESSAGE_IDENTIFIER_MESSAGE_ID` FOREIGN KEY (`message_id`)
46
+ REFERENCES `{$this->getTable('ampersand_integration/message')}` (`entity_id`) ON DELETE CASCADE
47
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
48
+
49
+ ");
50
+
51
+ $this->endSetup();
app/code/core/Ampersand/Integration/sql/ampersand_integration_setup/mysql4-upgrade-1.0.0-1.0.1.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $this->startSetup();
4
+
5
+ $this->run("
6
+
7
+ CREATE TABLE IF NOT EXISTS `{$this->getTable('ampersand_integration/stockUpdate')}` (
8
+ `sku` VARCHAR (64) NOT NULL,
9
+ `quantity` DECIMAL(12,4) NOT NULL,
10
+ `created_at` DATETIME NOT NULL,
11
+ PRIMARY KEY (`sku`),
12
+ KEY (`created_at`),
13
+ CONSTRAINT `AMPERSAND_INTEGRATION_STOCKUPDATE_SKU` FOREIGN KEY (`sku`)
14
+ REFERENCES `{$this->getTable('catalog/product')}` (`sku`) ON DELETE CASCADE ON UPDATE CASCADE
15
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
16
+
17
+ ");
18
+
19
+ $this->endSetup();
app/code/core/Ampersand/Integration/sql/ampersand_integration_setup/mysql4-upgrade-1.0.1-1.0.2.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $this->startSetup();
4
+
5
+ $this->run("
6
+
7
+ CREATE TABLE `{$this->getTable('ampersand_integration/status')}` (
8
+ `entity_id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
9
+ `service_id` MEDIUMINT UNSIGNED,
10
+ `code` VARCHAR(60) NOT NULL,
11
+ `text` TEXT NOT NULL,
12
+ `short_text` TEXT,
13
+ `type` VARCHAR(16) NOT NULL DEFAULT 'error',
14
+ PRIMARY KEY (`entity_id`),
15
+ UNIQUE KEY (`service_id`, `code`)
16
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
17
+
18
+ CREATE TABLE `{$this->getTable('ampersand_integration/flag')}` (
19
+ `entity_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
20
+ `created_at` DATETIME NOT NULL,
21
+ `status_id` MEDIUMINT UNSIGNED,
22
+ `service_id` MEDIUMINT UNSIGNED,
23
+ `message_id` INT UNSIGNED,
24
+ `identifier_id` INT UNSIGNED,
25
+ `text` TEXT,
26
+ `short_text` TEXT,
27
+ PRIMARY KEY (`entity_id`),
28
+ KEY (`created_at`),
29
+ CONSTRAINT `AMPERSAND_INTEGRATION_FLAG_STATUS_ID` FOREIGN KEY (`status_id`)
30
+ REFERENCES `{$this->getTable('ampersand_integration/status')}` (`entity_id`) ON DELETE CASCADE,
31
+ CONSTRAINT `AMPERSAND_INTEGRATION_FLAG_SERVICE_ID` FOREIGN KEY (`service_id`)
32
+ REFERENCES `{$this->getTable('ampersand_integration/service_info')}` (`entity_id`) ON DELETE CASCADE,
33
+ CONSTRAINT `AMPERSAND_INTEGRATION_FLAG_MESSAGE_ID` FOREIGN KEY (`message_id`)
34
+ REFERENCES `{$this->getTable('ampersand_integration/message')}` (`entity_id`) ON DELETE CASCADE,
35
+ CONSTRAINT `AMPERSAND_INTEGRATION_FLAG_IDENTIFIER_ID` FOREIGN KEY (`identifier_id`)
36
+ REFERENCES `{$this->getTable('ampersand_integration/message_identifier')}` (`entity_id`) ON DELETE SET NULL
37
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
38
+
39
+ ");
40
+
41
+ $this->endSetup();
app/design/adminhtml/base/default/layout/ampersand_integration.xml ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <layout>
3
+ <ampersand_integration_admin_message_index>
4
+ <reference name="content">
5
+ <block type="ampersand_integration_admin/message" name="message"/>
6
+ </reference>
7
+ </ampersand_integration_admin_message_index>
8
+
9
+ <ampersand_integration_admin_message_view>
10
+ <reference name="content">
11
+ <block type="ampersand_integration_admin/message_view" name="message" template="ampersand_integration/message/view.phtml">
12
+ <block type="ampersand_integration_admin/message_view_overview" name="message.overview" as="overview" template="ampersand_integration/message/view/overview.phtml"/>
13
+ <block type="adminhtml/widget" name="message.related_objects" as="related_objects" template="ampersand_integration/message/view/related-objects.phtml">
14
+ <block type="ampersand_integration_admin/message_view_relatedObjects_grid" name="message.related_objects.grid" as="grid"/>
15
+ </block>
16
+ <block type="adminhtml/widget" name="message.flags" as="flags" template="ampersand_integration/message/view/flags.phtml">
17
+ <block type="ampersand_integration_admin/message_view_flags_grid" name="message.flags.grid" as="grid"/>
18
+ </block>
19
+ <block type="ampersand_integration_admin/message_view_logContent" name="message.log_content" as="log_content" template="ampersand_integration/message/view/log-content.phtml">
20
+ <block type="ampersand_integration_admin/message_view_logContent_pair" name="message.log_content.pair_renderer" as="pair_renderer" template="ampersand_integration/message/view/log-content/pair.phtml"/>
21
+ </block>
22
+ </block>
23
+ </reference>
24
+ </ampersand_integration_admin_message_view>
25
+
26
+ <ampersand_integration_admin_messageidentifier_index>
27
+ <reference name="content">
28
+ <block type="ampersand_integration_admin/messageIdentifier" name="messageIdentifier"/>
29
+ </reference>
30
+ </ampersand_integration_admin_messageidentifier_index>
31
+
32
+ <ampersand_integration_admin_flag_index>
33
+ <reference name="content">
34
+ <block type="ampersand_integration_admin/flag" name="flag"/>
35
+ </reference>
36
+ </ampersand_integration_admin_flag_index>
37
+
38
+ <ampersand_integration_admin_flag_view>
39
+ <reference name="content">
40
+ <block type="ampersand_integration_admin/flag_view" name="flag" template="ampersand_integration/flag/view.phtml">
41
+ <block type="ampersand_integration_admin/flag_view_overview" name="flag.overview" as="overview" template="ampersand_integration/flag/view/overview.phtml"/>
42
+ <block type="ampersand_integration_admin/message_view_overview" name="flag.message" as="message" template="ampersand_integration/message/view/overview.phtml">
43
+ <action method="setTitle" translate="title"><title>Message Details</title></action>
44
+ <action method="setShowMessageLink"><show_message_link>1</show_message_link></action>
45
+ </block>
46
+ <block type="ampersand_integration_admin/flag_view_identifier" name="flag.identifier" as="identifier" template="ampersand_integration/flag/view/identifier.phtml"/>
47
+ </block>
48
+ </reference>
49
+ </ampersand_integration_admin_flag_view>
50
+ </layout>
app/design/adminhtml/base/default/template/ampersand_integration/flag/view.phtml ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $helper = Mage::helper('ampersand_integration') ?>
2
+ <?php $message = $this->getMessage() ?>
3
+ <?php $identifier = $this->getIdentifier() ?>
4
+ <?php $flag = $this->getFlag() ?>
5
+
6
+ <div class="content-header">
7
+ <?php echo $this->getHeaderHtml() ?>
8
+ <p class="form-buttons"><?php echo $this->getButtonsHtml('header') ?></p>
9
+ </div>
10
+
11
+ <div class="entry-edit">
12
+ <?php echo $this->getChildHtml('overview') ?>
13
+
14
+ <?php if ($message && $identifier): ?>
15
+ <div class="box-left">
16
+ <?php endif ?>
17
+ <?php if ($message): ?>
18
+ <?php echo $this->getChildHtml('message') ?>
19
+ <?php endif ?>
20
+ <?php if ($message && $identifier): ?>
21
+ </div>
22
+ <?php endif ?>
23
+
24
+ <?php if ($identifier): ?>
25
+ <div class="box-right">
26
+ <?php echo $this->getChildHtml('identifier') ?>
27
+ </div>
28
+ <?php endif ?>
29
+ <div class="clear"></div>
30
+ </div>
31
+
32
+ <?php if ($this->hasFooterButtons()): ?>
33
+ <div class="content-footer">
34
+ <p class="form-buttons"><?php echo $this->getButtonsHtml('footer') ?></p>
35
+ </div>
36
+ <?php endif; ?>
app/design/adminhtml/base/default/template/ampersand_integration/flag/view/identifier.phtml ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $helper = Mage::helper('ampersand_integration') ?>
2
+ <?php $identifier = $this->getIdentifier() ?>
3
+
4
+ <div>
5
+ <div class="entry-edit-head">
6
+ <h4><?php echo $helper->__('Entity Reference Details') ?></h4>
7
+ <div class="tools">
8
+ <a href="<?php echo $this->getMessageUrl() ?>"><?php echo $this->__('View Referenced Entity') ?></a>
9
+ </div>
10
+ </div>
11
+ <div class="fieldset">
12
+ <table cellspacing="0" class="form-list">
13
+ <tr>
14
+ <td class="label"><label><?php echo $helper->__('Reference Code') ?></label></td>
15
+ <td><strong><?php echo $identifier->getName() ?></strong></td>
16
+ </tr>
17
+ <tr>
18
+ <td class="label"><label><?php echo $helper->__('Type') ?></label></td>
19
+ <td><strong><?php echo $identifier->getType() ?></strong></td>
20
+ </tr>
21
+ <tr>
22
+ <td class="label"><label><?php echo $helper->__('Value') ?></label></td>
23
+ <td><strong><?php echo $identifier->getValue() ?></strong></td>
24
+ </tr>
25
+ <tr>
26
+ <td class="label"><label><?php echo $helper->__('Referenced In') ?></label></td>
27
+ <td><strong><?php echo $identifier->getReferencedIn() ?></strong></td>
28
+ </tr>
29
+ </table>
30
+ </div>
31
+ </div>
app/design/adminhtml/base/default/template/ampersand_integration/flag/view/overview.phtml ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $helper = Mage::helper('ampersand_integration') ?>
2
+ <?php $flag = $this->getFlag() ?>
3
+ <?php $status = $this->getStatus() ?>
4
+
5
+ <div>
6
+ <div class="entry-edit-head">
7
+ <h4><?php echo $helper->__('Overview') ?></h4>
8
+ </div>
9
+ <div class="fieldset">
10
+ <table cellspacing="0" class="form-list">
11
+ <tr>
12
+ <td class="label"><label><?php echo $helper->__('Related Service') ?></label></td>
13
+ <td><strong><?php echo $flag->getService()->getDescription() ?></strong></td>
14
+ </tr>
15
+ <?php if ($status): ?>
16
+ <tr>
17
+ <td class="label"><label><?php echo $helper->__('Flag Type') ?></label></td>
18
+ <td><strong><?php echo $status->getType() ?></strong></td>
19
+ </tr>
20
+ <tr>
21
+ <td class="label"><label><?php echo $helper->__('Status Code') ?></label></td>
22
+ <td><strong><?php echo $status->getCode() ?></strong></td>
23
+ </tr>
24
+ <?php if ($status->getText()): ?>
25
+ <tr>
26
+ <td class="label"><label><?php echo $helper->__('Description') ?></label></td>
27
+ <td><strong><?php echo $status->getText() ?></strong></td>
28
+ </tr>
29
+ <?php endif ?>
30
+ <?php endif ?>
31
+ <?php if ($flag->getShortText()): ?>
32
+ <tr>
33
+ <td class="label"><label><?php echo $helper->__('Flag Short Text') ?></label></td>
34
+ <td><strong><?php echo Mage::helper('ampersand_core')->prepareStringForHtmlRender($flag->getShortText()) ?></strong></td>
35
+ </tr>
36
+ <?php endif ?>
37
+ <?php if ($flag->getText()): ?>
38
+ <tr>
39
+ <td class="label"><label><?php echo $helper->__('Flag Full Text') ?></label></td>
40
+ <td><strong><?php echo Mage::helper('ampersand_core')->prepareStringForHtmlRender($flag->getText()) ?></strong></td>
41
+ </tr>
42
+ <?php endif ?>
43
+ </table>
44
+ </div>
45
+ </div>
app/design/adminhtml/base/default/template/ampersand_integration/message/view.phtml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="content-header">
2
+ <?php echo $this->getHeaderHtml() ?>
3
+ <p class="form-buttons"><?php echo $this->getButtonsHtml('header') ?></p>
4
+ </div>
5
+
6
+ <div class="entry-edit">
7
+ <?php echo $this->getChildHtml('overview') ?>
8
+ <?php echo $this->getChildHtml('related_objects') ?>
9
+ <?php echo $this->getChildHtml('flags') ?>
10
+ <?php if ($this->isLogContentAllowed()): ?>
11
+ <?php echo $this->getChildHtml('log_content') ?>
12
+ <?php endif ?>
13
+ </div>
14
+
15
+ <?php if ($this->hasFooterButtons()): ?>
16
+ <div class="content-footer">
17
+ <p class="form-buttons"><?php echo $this->getButtonsHtml('footer') ?></p>
18
+ </div>
19
+ <?php endif; ?>
app/design/adminhtml/base/default/template/ampersand_integration/message/view/flags.phtml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <div>
2
+ <div class="entry-edit-head">
3
+ <h4><?php echo Mage::helper('ampersand_integration')->__('Flags') ?></h4>
4
+ </div>
5
+ <div class="fieldset">
6
+ <?php echo $this->getChildHtml('grid') ?>
7
+ </div>
8
+ </div>
app/design/adminhtml/base/default/template/ampersand_integration/message/view/log-content.phtml ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $helper = Mage::helper('ampersand_integration') ?>
2
+
3
+ <script type="text/javascript">
4
+ //<![CDATA[
5
+ Event.observe(window, 'load', function() {
6
+ $$('.log-value-placeholder').each(function(element) {
7
+ element.observe('click', function() {
8
+ toggleLogItem($(this));
9
+ });
10
+ element.previous('.log-name').observe('click', function() {
11
+ toggleLogItem($(this).next('.log-value-placeholder'));
12
+ });
13
+ });
14
+ });
15
+
16
+ function toggleLogItem($placeholder)
17
+ {
18
+ Effect.toggle($placeholder.previous('.log-value'), 'blind', {duration: 0.2});
19
+ $placeholder.toggle();
20
+ }
21
+ //]]>
22
+ </script>
23
+
24
+ <div>
25
+ <div class="entry-edit-head">
26
+ <h4><?php echo $helper->__('Log Content') ?></h4>
27
+ </div>
28
+ <div class="fieldset">
29
+ <?php echo $this->getPairsHtml() ?>
30
+ </div>
31
+ </div>
app/design/adminhtml/base/default/template/ampersand_integration/message/view/log-content/pair.phtml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div>
2
+ <div>
3
+ <?php echo $this->escapeHtml($this->getFieldName()) ?>
4
+
5
+ <?php if ($this->getIsLeaf()): ?>
6
+ <strong>
7
+ <?php endif ?>
8
+
9
+ <?php if ($this->getIsLeaf() && 1 == $this->getNrOfLines()): ?>
10
+ &nbsp;=&nbsp;<?php echo $this->getFieldValueHtml() ?>
11
+ <?php else: ?>
12
+ <div style="margin-left:20px"><?php echo $this->getFieldValueHtml() ?></div>
13
+ <?php endif ?>
14
+
15
+ <?php if ($this->getIsLeaf()): ?>
16
+ </strong>
17
+ <?php endif ?>
18
+ </div>
19
+ </div>
app/design/adminhtml/base/default/template/ampersand_integration/message/view/overview.phtml ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $helper = Mage::helper('ampersand_integration') ?>
2
+ <?php $message = $this->getMessage() ?>
3
+ <?php $service = $this->getService() ?>
4
+
5
+ <div>
6
+ <div class="entry-edit-head">
7
+ <h4><?php echo $this->getTitle() ? $this->getTitle() : $helper->__('Overview') ?></h4>
8
+ <?php if ($this->getShowMessageLink()): ?>
9
+ <div class="tools">
10
+ <a href="<?php echo $this->getMessageUrl() ?>"><?php echo $this->__('View Message # %s', $message->getId()) ?></a>
11
+ </div>
12
+ <?php endif ?>
13
+ </div>
14
+ <div class="fieldset">
15
+ <table cellspacing="0" class="form-list">
16
+ <tr>
17
+ <td class="label"><label><?php echo $helper->__('Transmission Date') ?></label></td>
18
+ <td><strong><?php echo Mage::helper('core')->formatDate($message->getCreatedAt(), 'full', true) ?></strong></td>
19
+ </tr>
20
+ <?php if ($service): ?>
21
+ <tr>
22
+ <td class="label"><label><?php echo $helper->__('Service') ?></label></td>
23
+ <td><strong><?php echo $service->getDescription() ?></strong></td>
24
+ </tr>
25
+ <?php endif ?>
26
+ <tr>
27
+ <td class="label"><label><?php echo $helper->__('Direction') ?></label></td>
28
+ <td><strong><?php echo $this->getMessageDirectionText() ?></strong></td>
29
+ </tr>
30
+ <tr>
31
+ <td class="label"><label><?php echo $helper->__('Message Name') ?></label></td>
32
+ <td><strong><?php echo $message->getName() ?></strong></td>
33
+ </tr>
34
+ <?php if ($this->isLogContentAllowed() && $message->getLogFilePath()): ?>
35
+ <tr>
36
+ <td class="label"><label><?php echo $helper->__('Log File Path') ?></label></td>
37
+ <td><a href="<?php echo $this->getUrl('*/message_view/downloadLogFile', array('_current' => true)) ?>">
38
+ <strong><?php echo $message->getLogFilePath() ?></strong>
39
+ </a></td>
40
+ </tr>
41
+ <?php endif ?>
42
+ </table>
43
+ </div>
44
+ </div>
app/design/adminhtml/base/default/template/ampersand_integration/message/view/related-objects.phtml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <div>
2
+ <div class="entry-edit-head">
3
+ <h4><?php echo Mage::helper('ampersand_integration')->__('Entity References') ?></h4>
4
+ </div>
5
+ <div class="fieldset">
6
+ <?php echo $this->getChildHtml('grid') ?>
7
+ </div>
8
+ </div>
app/etc/modules/Ampersand_Core.xml ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <config>
3
+ <modules>
4
+ <Ampersand_Adminhtml>
5
+ <active>true</active>
6
+ <codePool>core</codePool>
7
+ <depends>
8
+ <Ampersand_Core/>
9
+ </depends>
10
+ </Ampersand_Adminhtml>
11
+
12
+ <Ampersand_Catalog>
13
+ <active>true</active>
14
+ <codePool>core</codePool>
15
+ <depends>
16
+ <Ampersand_Core/>
17
+ </depends>
18
+ </Ampersand_Catalog>
19
+
20
+ <Ampersand_Core>
21
+ <active>true</active>
22
+ <codePool>core</codePool>
23
+ </Ampersand_Core>
24
+
25
+ <Ampersand_Integration>
26
+ <active>true</active>
27
+ <codePool>core</codePool>
28
+ <depends>
29
+ <Ampersand_Core/>
30
+ </depends>
31
+ </Ampersand_Integration>
32
+ </modules>
33
+ </config>
lib/Ampersand/ClassProvider.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
30
+ gUoIuwHrxFsbELOYfZUpD6eeZG==
lib/Ampersand/Exception.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV53uM5uATukkrJA+2eJIHvLLRi5l0I+3I6S0B8jatt7eaEHgYpzVbaOArRFh0aBUuPWXv+b3j
5
+ kPvz8onPFoERj+c+3tYn7J4eEoeAlzwxCNFaIDP7j21VC2Z4ZVq04N4PttkxAXUEgmKj442pJWGF
6
+ r8zSSX8N9IRvVoT4+ZCivUXC2RYuLpehoAXp7d/qSADIzQaW2K7OWvkDl9EsSOJVq4MvOPFwlenJ
7
+ 2bj9NtObMf/yQn7dHH74NBE93aEX5x8SdgoBg7c6EJO2XLq1dK5lhgkslkduigRr5Z6z5QkbfKAk
8
+ 7mdnwUpnTxC6yZ/66cY5PcZmMU03WfHChLj6HWyXGCNIeAX9dVJK5Ct4Fo9nRhQkKDU0+5TP/CqJ
9
+ BDOc9MztlaNTK74tRGN17IhFCUrabOxNKd3Sj2rfT7lgAZAsLljuPk2vxj9VqkFWHngZ1Aps5/DD
10
+ I0b0TJ9vTzUTWrTUPPjaBPUm6oQERvl9CJ9GdaaF4BUX7hTOhRWnLzlw634EMzU+5D/s/ChF/Bpz
11
+ EgGEA59iybdXxQHwaGbvE31wy3I+W0Uu0pXL5089Ad1zO5c/bP/Vsz24fUECC/efx5eH+esZ64L1
12
+ 7AUvKGQbcMoorg8UaLHMgMPxhrq=
lib/Ampersand/Filter/Compress.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Integration/Exception.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV54E/J+ZCcRJFdGNQoodk6Y/whoAncfDE5CjQEh9DQBMm3btswFMMDxB4cZxO1np3yqCKj/lj
5
+ QnF8nCF4Zly2tRH6q7fjhpAoglMgWSQ7YtZwDCN9a2DyDrJwRg95OS8u3GaZdS59fv2jyh+YGlcH
6
+ qRhDH6LOtKAfLXGATzqTxRjU0rTUGlWl/ZDGkG4nMfU0r1lPhXFFL16HZSbiEdHGesFbU2PTtnoH
7
+ vjdcGwbLSlGd1Lz1vYpwuxEB3aEX5x8SdgoBg7c6EJO206Vv2fXLCsU090aaCk075YVqTckcKMip
8
+ btN3TtjfQoHBg6hEbiboUz5XEGo3QgldFPgXIN2Kkv2YIfIX8aTvF+B2dqALFtJ+SJNuI6lz4XsN
9
+ YALPBvSOtT0Ru4/zu+F6wZh5C8vbq8anBrHV5Gs/CHjkVvSYNMkGahfrFSzSjWf6hDYrdnkbYJIJ
10
+ k7htmbKEE4wodz7faeTEdKDGXS2OWdeSkoQQADLumfXPClW9EQeoLBYs4LJl4oH4ouAIDf0iLRec
11
+ NARou8BIRMH1MIoV+wzpAapGaY+qfZAN874fpJAY4Fv5Xc8qPaFvpAhFIj82lhptuxtA5ECgMtdr
12
+ RRLDNmXgwEI2PeT0CWhytkm29xX1x4RvBKbnPmQJf+hBRSLY/2gSyrgQx5TY28/Z/H+kbLMW+7PJ
13
+ MFP9uRiCDtVfWjs778XcmwT/4wVJfs9ncGnYd4AGt6Dl+mnhGJNUh9yieO2dTfe=
lib/Ampersand/Integration/HandlerQueue.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
63
+ mf6E9vQ+G0D3aCPkrYEp4KpppmCChx4acXG=
lib/Ampersand/Integration/HandlerQueue/Config.php ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
128
+ Zhc+EZluZhMTeFOvMxccDB1k1Lgk95UzLW==
lib/Ampersand/Integration/HandlerQueue/Handler/Abstract.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
49
+ T8qNT97QQI6wj+bsyNi=
lib/Ampersand/Integration/HandlerQueue/Handler/CallbackMulti.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV58s/qkBRXoVLjWj7mLRSIJHV+mUeNvaQ9FYTofOgk7HTIOSKUzmlzkQfu3hiCEVneMAu7s5F
5
+ T27TO4/ZFKj12lUIZPn0h+Nw4Cl3mhaGVRKwqNdlOxYmQ3wWRl+SkfeNSwGa2d4MEGkmXIC3f4wy
6
+ O1dfp89AUBk7oh2nkgB+QWQh/ij9NPSn21CqkdmrxDEw1xZKtjFOgkZ0Ch+UT2pPiT0RI+fXulRz
7
+ 8Gk0biTHUtU1OU8tp8gSiwGEGw4NiXoUh8keUOOvDWAdPwJSBvQwEODEb/TgXY0GG//itbewVn1z
8
+ Rv2TedH+aqq1VySpUbEyRwTr4Iz7ps9wtkMVIetT0Cjm1DJm0o66CJCvNbrlQDrhIOdhwyLHSv1g
9
+ /ifd1/rwT505TR+tcOMCN6RFx8A1pQ7kZH9uwvu64gbqA3vlc6siI610LFvkHZxfOPkfGXcfCJW8
10
+ qE+cR1rBQI+rj3X9xg5d0AE7etfbDmS1PHCuK+Z2qg4T61pVv6JVuM0qBsWvxPJe5Db/a29VWGft
11
+ QNpbPjVSNJ3A6Wbc78Ece9u07J58X6PKATk9aDN09Zsp4nN5C7YGJoMjC+Y4z/CTQm4CkHuV0Avm
12
+ 9QCOFZhXG7SnE2xNQREn7D1OfNDJIcqTqhQmC6TuEHqicOFzUEyYWrifuxO7CSEKvW3/tvQzEkn2
13
+ zQ8FVn5bwv9qXbsnX2tR/E2ShmOCiyh6eGH/zhyJ/TSZ6hulyw0sayT3j5dKmBvpO5oVYgzP7Sox
14
+ 8xu9yBW9z3Pw3W9MfkSVBkdyrbMUvEv5PeX97QkZafsxyYb/fhxQMyybgv9f266ojDSC+iIhb9i3
15
+ DuCjDIAtLR87+Wfv7qx/mVrClZUi5cprdDPN7z78uVUtuyGB1yUAmldupPsOXxdfQg0jx6WKJdcf
16
+ Kxu3Iu4WkKam/QCjayhAsw9QPnC68bPmxZxPMuCI9vl+Vdv5NDOM33gvj1wLSwrrH8cT66B/dPut
17
+ LW99VNnqPU1jXuoqJlxQBpSza86Zlzmsxz/ixDlUdFAAr7vjQgjyZi/CsC33Wa6i/O8tY0g4tqoa
18
+ VR3zGW/Jh/RjnwVLf7/qlgBpt9xFHiatngxV2lZCGUmhuMtY/LDwQMJhKzVMnjsvko9/q1DHmniE
19
+ /odNIzyayfEHITvbgCRzFnEaZ1SVvd6y4/RxIp5MP0kUgN7Gj/zkDpwiSSJTKK+nR8u3zcLAAsCh
20
+ zR5EKKPIJ9nFjF75flpiw2xID62W8qJlTk9hYXFIA9/peAJZS3kZMNo0baUeOgxCxPZZ3ZjHVaCc
21
+ +KBihBqWmyVrhAOTn121qxRrdN5EQm1Q5Fz5cXc6xxgb0Rse8TPJeYUkSdhFCV60LWLUn8zd5xax
22
+ 2pXULYxSD8rqjfzSHhTnBIJKKByuLR18WOba54AUHJqqS2eGXKw575/9oZzwAcuBfGtsAplyLhVF
23
+ 0P467usuxDIpEr/ypcxKgUDkYe4Xjb56q13WrDUDBbZehgPIfuCunYqk+sy+v7fKE0Eo2QZ/GUez
24
+ yFXU+YWPHERC2loZPfqxCbYLe6ZgNXqANDk7tQX6LQdZozwIqE59t3ViJUR2vMPzaG9CaSA6DW2A
25
+ 5T5Z2yQ/cCxn+92kYQrl/43ZALPu3XjFPQFV76ph2WFGvuzFinqJDfgdsCtU6A1HN9gMj9bMB5/E
26
+ YPSOkh/l3x6oL0cC1iv1p1iLi9rNx04D5lYrpfVaApyRev5Ol61INXZMlmOWEq0=
lib/Ampersand/Integration/HandlerQueue/Handler/CallbackSingle.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
47
+ CcbqkLXPtm8=
lib/Ampersand/Integration/HandlerQueue/Handler/Filter.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV50AQT1ioOqrTto/XE26sZt7AGiCZTG8jPz8UB0aaFIBBXafnegOPxoyqQsK1aLsy2BXZhOEQ
5
+ S0tUrtv1rezTxSazHDwrDwZ5bnwJd2ulZBjtfIVfPTq/aKAYubrJQRMtqBE0e1/mqYg/4Vxij0uM
6
+ 7CM546tCes/nrwcoVeSj1Dnp+ghs8qpAFl5NQFhiL/lHWT3Le3SQ5YfUAYD+MhmgnQjpo8gsUyl5
7
+ vIV0X9BdTjUV9F7vuWq2WBEb3aEX5x8SdgoBg7c6EJO2y6BTFdNbCsq8tSB6Qdv5464h8AnvhglM
8
+ KK1Yfds4YfrRWqHsbH+8i37LEPTu3B5J/yGVmxYBG0AmHncv1O5u7DENM8Pe/B1v4RXLGr2G6sC7
9
+ LQDTO8h8PSfW37YJS/BPNCmMGJGKAnbfwJFXLzR0BTAHBZ+tAE6BqY5J0C2HJPrI6FcvtgTv1Ecg
10
+ PtmTwnQ48lTHFbE3rBOBS1H5//elPhLYfep/rTheaQAA3c0ebHHJ5/YPqlZxjUT7tfaaU6kf0BDH
11
+ sjqAZxN5PsSSsB8fIS3JXjwmMPw5FKmxfkuQFa/q6wzVo8WV3vK1EdOWAOK+tx328iyeO6pcBfUy
12
+ nKJZYVQGnoCeCqwU6+9+z3AUX3/RLw9FKp9pPbelbOjuXLl1jQH995egnnmzh6pMAagM0PsUmcJQ
13
+ sjDAd6uRWeLiAs3nqW1kctOlxvC+JHFpLNKNN2IrngtUoKIBtlgrvInMZIeCcxTUrFtqzhO4UplP
14
+ 92y5c7bIsymKwwNzoz3tOUm6Ic9+WscE+G2/zMkUbcIPo39tJ2fZFU+ZZsjwEQSl0wdQ+EzADDSp
15
+ l0W5Vp/Fa5iCTL9GVDSaOgkNBJNCezNdlZChYPjtK6NbxqMIhJvr6iBhEhjmCVTIaae/5xYc3x8c
16
+ zn9LvTtiPj2JLgEYKenKX86xLIdv6K1D1p7rPI0EZ1nR72w1zgXovBJf58ti9CJByZOrvLRTcE0J
17
+ 5pKJhZTE/o+TTsfHQAYLRZW9c3fWgtLz6LZV8R+USj7NX/EOM+pJfAhyQfIzYEVwyzS1+OdraJM3
18
+ p3/q47jS3ginmLUvLKbKnqb3s48vZyRrCnzTtpdB842VV+1tukEfzrQbEPV7DiRt/oups7bGiu84
19
+ vTgjaXmPKTewG4q9loNVx92Uecbnydah+kkxHLSIS9w3tAyMRUscJSDIwEg1/JMt5GnUKJNNGG8C
20
+ Neh8fMM/GXyVtVaZHJPvqgFgT6EzhL3Ks125551Gmtljqtr9bpj/IwZFXayJd6s/pc+KKVmZmjkD
21
+ UjvgwvAgGCoJWpuDZvsoKQVi3sFWjJbslqHeCrDft1F4MHocDCtntH0w1h1ge7O+7lDp2FIo1mHO
22
+ KOUQo0gLrRge77CidSaYLSsvYIy/HuaYw6/ev6XCYO4nCCQpav24yQ61b4LoAr3ohLQcWBm+ToOb
23
+ r1Q2nc883a+duQKxicXGIR1irpTvcEnPqWGCTdtDN69hCTg8V3B43rDIdwHHUXeOrirCJl8AbDW0
24
+ fvLIENbAQeMjjaMgGx87bmJmGDkKClSWDZc/fA3ymvneMpKwQte4kXCTSHGSPm8jQcqxKL47RdPo
25
+ BEhrK7hk1E9jh7Lk5ExTqoQBnF61fL+bZ4y43rwK2vjGM289QUx/l0jnKyPdfDeP29en5VwuJb/z
26
+ Nnd+PHGQ7RKFQn4T23eGrZTbnbnls4AQi2FF69rzrwo/UMMVco1IbGy0W5womzzNlFLIyfXpVPip
27
+ lAa3bWpcXmBmHC5iXdQ7fDiRbdq=
lib/Ampersand/Integration/HandlerQueue/Handler/Interface.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV50p/TAhExqSluU9BF+ryfJJD5ok0C9uKDjsT3EepwCQymP98TqkNm8QO6di1rZqC2QfBKDM1
5
+ sFHbhgL1lKsRXAWWb7KACRaDqkThFvHT16EZ+XnZKvfw7+CI+mxAB7zfBwaEZ25sfHY4s/RdswBZ
6
+ sQOv6GxInpVRIKRp+5Hofe0ZXKvJQAK5UP7lsvpbunohk89TCaFQSliWuw8Ul4o7NwPedv+RG98S
7
+ b1esOD8OmQWSdjEyr9ixixmEGw4NiXoUh8keUOOvDW8MOh2MQ/NxFdVzm+Tg/hyG7NjfWBHApq5M
8
+ VlaDW3vxRiuZaclbTIAB08yT1K6/c8DIADYtnyXKoa4ppXVA1xjBLWIYgGHzxMPXUl4+ykgyAwp8
9
+ koxswlQkjk564Oudd61auUb18/JeOW44139m9cCt+l/ZV+F+06Sxu+HCovTpssDTqH6Wnn318yIc
10
+ 3H6TD2E3JGc1SfROoxhIH21ik+Ks9bwH2VYvmQCzA0N+MQPWhTMPQ3tXrvfspIvNBmkbReTHMC+H
11
+ KSTYKq4zlgh6MpEEsElVKUXNqcWXLn/JknVydBwJ2BvouhEqwf/0AuJpGJSwplII6Vr4m8zSoHeC
12
+ PAe0Gumq26gCJ6q84jaSdNKXkBJPNIGl/tW0Dayp0E4EA/Ed/teKNDnA7p2K+xxHvmEMBckg2ymb
13
+ C+R1hG+4GbYEm/3xc6R34BOuT9/hLRdpG8YDJhVA3BOpfyveUFdnIBNdSpjwpNbZZAzptmZYrG51
14
+ wAcSAEbqxZEuXocWspfwvzQbX2VX24E53/rBvGmvuGfSjUB75DQHZ//ljQxMyU2fFiCgJX0iMyxr
15
+ jW4uLy/xNoawU4sS7/zkbHfXcC6tTBgs4jPod6kpqGu0/CtHTns1Fz4ghaIbcMAeQ51pbmlKRGa5
16
+ zeiKTW4KlmVgMYNMbuXh4mEBjBKUwP8LkpEmdkoLLwaWKYfZTPW8zulYfAQfB+cP7+/BBtp/tvnx
17
+ xSaJACBLtqxRwu5LTZglap6Q9QbDQQK0jq71T+yaQ1b4GBAEt+vT9hEEIwdWewcGshD6cWCvG2ls
18
+ /5JPvJMQyvlYAYHmmFn+iIRCX/AnuMBhGV+43g8LG6two/MRC7QFmWz+lc+i65mIeO6cLfngmhDS
19
+ n047QCQWskcGmhtHcjQyDh2q4/xmC/P787fqIy4Tfk5SeXnrEZNw/+CDYx1ifhFSEIx5hrRNwFM8
20
+ ix154TBBjQbXAzhMsIhn0bZyfReAYQtu7Dp5SR0LQ85VAiAg0adiL58TcAan/Lt0m5KKfMNC5fw/
21
+ mqt9rcD2ZNw/0wxe5ewaj8+7762WpEUyVtWCfukbifPfkKFrfSPK8so5iIuAYzDadsuPACSk+ezS
22
+ GZhWCUBb38/Cl6MJhIOpHwlZoqS7nvmub1Tcyeufr0RBHBxvBNl748AlEsIAJWmmPTGmrYRNagDD
23
+ zfhD78e/4gsNNmp/hB2XvMHJHKxmZvjwlfcVsl1yRWQrFyl9xW==
lib/Ampersand/Integration/HandlerQueue/Handler/Provider.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV599uBwRkt9E9uyAwXP6emqMr90efAO0eU++T32lpHca7DIEAoVaLYJvSDD1o+a5dEw/ankMv
5
+ He1LTSnbDMrGzp4SlNzUmyqXC6E1BXEvsFJIRRsKHZYEI6zVoC/QKe/+kFg64SIk3hHKkt2UOSDC
6
+ JvtB7oc6MAsAAJdqXJg5UotMt04keq9gJVeD5VeO4LwamfQNb0gdcENx0USBK0Xdva68Ldrp6dq9
7
+ DOT+jTRhlw2LAIjjO5k6iviEGw4NiXoUh8keUOOvDWBCNzE6enh9Qgwll4Tg7k8GKFyMSbSZpblK
8
+ 5qZN+nFcth4rqD3tI/Tv3o7VBGPkMhsKwEumvqIrgpz0m+t/TjDay5cahj0UCGLrOtH2AIHS1isz
9
+ UNcxctJeYBvlWoUJaQL2xoUiBrtbKmRu2wwmGB8Bs2EN1vznTItoL1IAy+t1AUxXvdNoLy1FFs5H
10
+ oIgyXOSqd8aRrnlWlrNusIoOV74kkU6OtEnYKxF8ygcE7gDVhX2O5ktxpZxcaN99XCf2hXX2OVoV
11
+ zzjPGb2v/adexX32cQ/bigZTal2CzLynZiBaMl34KzuD5yZbQKe9CdT91PZFyZwojoBcRyKJmv9s
12
+ 1/4LnBaQcvcvS9ThBJJHrqegpDee/Fy+xLHPwo/cUiVRZxvUsGac1OOPlbl9aV1OBb710+IiGO0h
13
+ DlIfC1WrdjIcPKPliwVLiZVWXIA/KKrJdlw+qMI1jJhVBO89+E/qfOXvC9hKb9weSrsk1yeZT78m
14
+ e5o/ByA5i6igSg0JuieuQeVCSDd7ErMAHR4vtK9VI63EqChRusy1NygAHtmQ7CKC6ZGgUjbPi/21
15
+ JApB0cMeeaKMpicITxIQHkVTOiMok6NT3uMTgA0wDJqnAyCs+qYnHu7e/AKTjJyjGznswk3+Hi0/
16
+ liK6r7BjbyBpS/ctVjF0hkOW741q1kVA2FjeKeVufF+Y685lk+w5MKJ1O8aX4gi63d4F
lib/Ampersand/Integration/HandlerQueue/Handler/Transform.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
35
+ nY2eVlYKvm==
lib/Ampersand/Integration/HandlerQueue/Handler/Validate.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV54ISH+wPPRp1S2ZIpH3g0bOdCuu/r+rwR+KqkjnYAZiiYOFn7RP70ifJcDS5LxJlwiwKG+kK
5
+ s2uiZrtBdEbMvk3dgzOtELHF52U/x42Xj+bcoOxTiNeq5uJ4f7pWQoDMGEzCSelPW7DJliEfrl6S
6
+ 8B4SJgwXeIABOeiN/5LFsbHFasFv3PULL43mp07/By+kC4+1jv3AY8ZT5EmK3oUXAzqTBL1OCSSv
7
+ /Q8zY/aPaZ2wqnkHjWh/q06pa0v3eHUo79wiYwXvXZas0bfbv2Xfuy60ztME5mAAiX0ETTSxg4Jb
8
+ UAVxyvg8LqhdcB1eXe04etSP8J+eTnFXSFEPBMqEsWISkS3xtHwPE5+H7RR7HPUZ0OhxHTUMJlvV
9
+ RVbK9yYSYJe6tcA98f9xU285A+B0/CtDo3S0u31dWsJuNYF5YYn0WJNjSftko6AAFcbQOm5AjuvP
10
+ 9uaxq91ZNAeul2lwqlsFL9Kdr3q6+o0j7MJFQ1KeeKLuojoywEtJg+aUwKxehWTpBCC4D9SBgLuS
11
+ piHd7mAtRYNACjj52JVHSf57XS+mcmudhWppDpuoAYOO0MFKosuwYJKdyV0m59EUh1A1VXjikYY9
12
+ I0OEOYLpErniB/cay+lVDebe5ECCh7VYzaHjTpXwGaGkEBNgMnuTwun4PR1qBOYzW6qKOmqChcQn
13
+ hypDY9C+gtX4uVTOMiy0nXuf6XTwaSprzeqYkNACILdGfgCM1zHX9gNZ4gY+3F7KhR/1y4Fy1F6E
14
+ FIN/lHmh55wiNM3FaHDEDQgn2iMJN8IRNu8b3DHY3BUyw8NMWYn4An0G+5LB3ctNWzJKP/8nWnO9
15
+ NoWwhNPyGLizxuWK6q7tSoQKlfdw2FUB56BlC/F06LXQ9SFdCUXTqjNQFYSKZvxbFvwpC0LaPyBL
16
+ g4tDaTDBznzvxiHaX8fHFH0pvL8bHg2iI2Gi6/kYblDloiynG5fmiHG8dqrz3khuWeDoPHjWZE7r
17
+ ji7p0lyvC6lc3b+caEO/LGfFm1fy500eJ1GNUS26AOJ2OdIi9ELMJWlzuRbbNLivUeYsJSqZGPLS
18
+ UVSPRITYFse2pCeqPbMgRD55Iz0ua5RdVdNCQ49keZZspFKH6sb7yZVp9GlBB/eKZSeezgnVlkhM
19
+ GeN+hHVTBIGfhXjRaiceDxxUVco925DrjlXIDn5eMs++B/elyXksB59p2e6N2vWnqZRTa7JsdoNd
20
+ zO8NJUgJYDIuUjDHXqNXsbnl9JQXVaaNZoZyqCAbB1egZxy/9y1Z61N9DrNBI4MhharBTrGlfHLb
21
+ Jfn4I1xOvtB+olpVNseuzVF4IDqDYkHcpAclozckZMnlK+sJutLr9NezoEls4WbVZ/WzX7EY8F4O
22
+ 4Ud5wic4Y8QwbbksytVa80HP8Ko+KBFaz/3naCKUQ41pWkzRvxiGDSZQfbe0v97KjOYax2nIyegL
23
+ r3AVZ/SM42rbms28WpLKPzPUXzPqSd6MFYTONI+PKskoDEhsQ2jenkBQpXBgwoWTl+2pzyVQ7m7I
24
+ uFeXyvpJu8amkJsHvl6ahy3jSHitXAMeIOQOamx10umh1+bKjWPZB1LIfubJOd9co3a2eeHhhFrD
25
+ UOTJ9q4CYn1C9G4WpzZTE5xlouQBBbTg7gUzTjJgeg8m7cwFnZigu6b5LRy4yc361GZwCahw/l8D
26
+ +wiGVBHsKACxRa/C7Y4Wb+FL5o4lVUOu4j8n0LH98A0WUovne/DSpurkQrED4QwcGmo4AG==
lib/Ampersand/Integration/Message/Abstract.php ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Integration/Message/Config/Abstract.php ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
183
+ 2Ngg8g1OW2WN
lib/Ampersand/Integration/Message/Config/Incoming.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5DI43vNeQVJQuJMQjfGHBEBEWX3D6ydAsUKOEYIKbWTCI5/m5Ia3C9v0mB5pQYgJUMRym5Am
5
+ sfo3mb+XmvEIWTiwW+sSCNfUB1XjYpL193gBg394LjH5wYKncCdZU3er7ahc7L4h2j1GLX2FaFKU
6
+ Kd3qgrANggSqIAvzFPsji+7cEyiBA8mnoZ51uYoD5ojK828rXlsWwVScOnZLlUH6sNN+/uIuEvZR
7
+ KfyfywdrVpN84W97q9VsxXIplGv3eHUo79wiYwXvXZas0h1XExS4IRtGhdHdxp98cX9n/rDG4Rfc
8
+ TUHexhRm48gF0aqLJaU/q7JddzKO12fEfQOdidQ30YTToV91fgUowr66Y41saLDoh11qiP7RS4ip
9
+ UItOdFNWJAYSoYYgNbCTSLSqxEi/sVsk0q+3pnhRlOxVi+oDfdpYskXCCM722UbcJwaL6ctUVsV7
10
+ gT7bTnPJ3AZUwLxeYxaSbaFXzM1xk6g2j93rXol+iu6VxbAISTaQt8shNju3d3uZfthiG175Prkr
11
+ 0YPdmx6GCoKle6meGYtGZ330cFL+jOOT1cTvEygmR/mcsudUXi22iOx3yvg0JPXZx6zvQqBCu9Ba
12
+ AMUKBEsspMpNyVK/9pO1yRPcDwqm6rN/AbH60ft6EsQeFJzbMnHE+AGm5Hcdpn5ePezaFJljylr+
13
+ NVTuE61SzXF/7h2GUA9NZSut0xM44e8br7kvhBYEDO+ePuBKvngkyMr2GXvTetLjBPYJ7rX8AiAP
14
+ NQaAVhht8TJV3pC3d95rfSvHGl7OBTdBZ7A3AYvnAzn3lizjLEmQMu1kh4YPBoFehz8H7Fz/K6FD
15
+ isLVnCQ6Uh1nttBcrJ0C+wMfwz8J9NdSOOjPPjsdq1MMY/NvR+VpThNjCjA1jl9gz/NG7yHkur53
16
+ VGlLaWR7vqNHGj6+3zbTl5niNUyVBATSbs1G9mnJoWRD2Rkks+K9dJImENwvkf6f+qmVTFzS3mIo
17
+ mLW4lSq8GyS9WPktNPotCs79TDGdP71wwInGyP0KuEQmgN6jWNumr8cNSszrlg2PAl4eA4fVlc93
18
+ qgHKiYLYhNSJTeDNSFRwltr5cX8Hb3W3h6svjLPeHLkhqmRpcDwIRG64br5YyQxfArpiC8DHv+hk
19
+ NM0rYtKC6kcJbtBrvZrJ5G1k1/IwsVvcGeL47rmJiQ+xOPJbvsPZleFd55eGoG0JzwuJ2n//C0SF
20
+ dAq8cuOL+dziQwTvDqKD91elrOOPfHFeHOOls/LtrY2mmWHNyCRl2p/MxEp9TA4hIYYUJf1pSPr2
21
+ vhGh2MkynKZzsxhMqaiW7sZK9kSrVYafbV1wOrXxJz1DCJunIU6y+bOeVdgIee8VHR7dRRTWpm+c
22
+ u040Meqben7kIOLV01/BxD21htKTKYRoJdo0wbXK92xrdZJmZu2vkNVHng4PjIIaUuGkyvw8RPkF
23
+ AAnKvlXr8EKOnYRS6k87X6IRJvdc9gLF6v71LVJ+pJPdx8RA01+KrEHpjwGHSEwg8o/3AIOG+5BG
24
+ Ll6KYULv3cPZ1oxrBFR6+P9LyhSpcV4uLj+qpUIwT1+fW5mwMVU4/mMve5jktPvQvdV+B9qQb3YV
25
+ o0DmT1Oc2aQPcV14awdl4MjYgUxRFlYd7EN9Nhxq9jFijGqdsD7PS+xQZbCUa15MdAI6oPDHc1HK
26
+ 0wVfkZN/mV25iSWaYXFnMz3TL8zZHyUtFdyeYqfLwXin+6zKnBK9QmdVaca9Axzz+rKut6mzGJFC
27
+ Y3MlEmOBQXVAJMGAPWD6ljjtC5xz99805rV3GL0AhK/19NkOlnh+qJvnfnHxyB/27qOg4B+ZU3ZF
28
+ e1DiaNcy62YOMDJzSdxlkwQ4oE1bJ3/Rj0kaJQU8iv7Q7uW9NT41mExxdcrka2lT9isqAreNL3hv
29
+ RUFzixHmQbhJb+GmCfqBSxip7nw4yy1zz985MA5HTsdYZWEIizjn9vDeX97C/jt3bNVCZgF9CCZ9
30
+ tWtDhwMmnl9jJj81CRklphShA24FglIA2HNNamluo4OOLtXwpe5z0HKteCX7U9Z3fHTwgynpnYW3
31
+ 9+kCP6WlmRWs4HwTZN64SkRrMZB3jtjnOkCF5/3IA1m27/PNTqrNUcZLaBgICCDtt58sPecYVbXD
32
+ buLISrUBah6aqRmFQ03WtHH5JwDFWNZJENTFcVGEtstxYDO1Er/bmDINpak6RxGKke5MAMSMwEGM
33
+ 36ncaMhKZuQ+0PKmvhRC++kX94X5Z7+XK61OsZV32V0I7O8a0NVUlG/qBIhwpk3tjRgafSIjz/OR
34
+ BdDTqO6q7Sb7zCwGBCPC2RXKexcJ/4mQi8xhmPSlAn12IM1PA1TpbS/hHUQxCDQLooxC28ytrs+d
35
+ FlT0ZQ+8dpyI/rFDp2VFWTZ2cdUldlKvZ/8WwHD0jjaQSqc8l2OZk3asP0AQ+w/rphaNJ4cqLgQc
36
+ eovopdvdDOh5VLz3XiJb8gJ2GPDvS5PwQ5+uhO+JB9x863rm6hjEB27y3Qx2BicQN3fgW1W3weVd
37
+ KrTJjD2fbDA6BqBhp4O4NY+vuVDfNnt4QQPk9N3QzL1rzFqaArY0BRQWTizm00ZnC14d3QktL2ek
38
+ wloBGgue3OhL1CIvozOVoAT8GcVLpvohef1DRdpahI8+yChRvAH+xMruFa3us7dnGJZFbgZT9TF4
39
+ NZWfvWrDhnV7bWOztVMd6kbdegq2UMku9/U7hjA0l/HJd5oZ/XjSPYC9qdrypbk5YPeJAW6UUZ1W
40
+ HAW2pssqLa4A5Dj9cWZHaMDNDbjh0jsd3dZ4M5ENUw6TSW/3L03jycMiYFOuHQnagu0qnTCIFXSX
41
+ PwpyXfYAlFqvceGIbd6NqWkRrHSabuOjjVl/5GWpFP4W7/BE/FcbxeO1ucNVuuX4sqdyijJMf79Q
42
+ brSZGYGJHCWro0WOKUvvA4uisZCY8laJk/yDgldRGp1UtPrVX8Qk+R6OZgZ3x12IkDXSBOwmwiXm
43
+ +OXLDwr8J3N0V5a9z8Dd6JgQIG0m2PipDqLit93MAKi0SDYDfBWfmuspZVujP+NqDMSfRqrnpMqN
44
+ cRzM7ovpXP858rh6k5AcEFca2WC7p2YAKKZxD6SvVdurXs4SQBfft8XPtkh5bNXXpbzWVuH/MOS9
45
+ T7bzajmRJu7tFyeVwVSYI5wuMK8stBFomFnAzhcL5Uy74CDfKPfYtEk44D35iKJjZQnULabGwFyu
46
+ E0uAs7XviLg0JUnEuJkaykC+3qQy988IjepoEiEKnDB7w2Aebt1/TyIB3oH8+ZzXtyzHILIH63zu
47
+ k8EXoQXuEBEK9n+KRLtSEI2ck/R5g4YDwJP+5hjpDvB5PugDCh+h1vhJzOR63XCxC+5Kax4Ivl8O
48
+ SdPBYxJV47mdYsfytnBkhefL2h20oBlypy9Q/VPiSJdzMa1H4c7N28xY0cNtZOw9SwWj5kMUfUzp
49
+ H5McxeASL8Flvo/Cq7J3gHEWsgCBom==
lib/Ampersand/Integration/Message/Config/Outgoing.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
41
+ wuKwCRT7jOPP
lib/Ampersand/Integration/Message/Data/Abstract.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV55YjsfqOTJ/IyHbFlc4uBxrzJHIUt7mS4EoTjgVo84vDJLZ7V+H3Md9p70T4Eu9g6K/ipQMH
5
+ qUI7onGXUXFSGZQbMxvcnoo3pWZswoozv7Rsosqe5MgQB/HzXLHqTsj0mvRDm7HSnntDrGR4soh1
6
+ GGbMFTWd5wih4MKtCxJHiqSfauB4Znw0MnH6fKO3Yi6F1xmbPodrx++FvOrmCRYjaGK8G41Vewe0
7
+ wToWYDakBCuHJDVIV2wyiv8EGw4NiXoUh8keUOOvDWBUNPKOedRqDMAbeZCoG2iIBzm4dsaPuGQU
8
+ OPQPxbBa+doiePTFJ4L04ZFx9SSGobsIcnYjJgYx9OQ0NmlEe0FrJk1dwSuLafzJ8++6BebH8qEI
9
+ O11+ZkRcJrcPZjVQvfsvz04Mp5PiTE6XAYbV0Skf1l1hKxKtx4aJm68wh0cAamdONIBRHqEn8w3I
10
+ L64oNGkZsQb9QwmUWxIWGDesXkS9BJ2BvDo+Xm5Th0qGwJPLEal/3LPhIk7cP49J4jYi24baGMi7
11
+ 6UDrvp6ARjTOOyzFR7eH1sKE53GcHZBdG67VGgRPm0g3oJitIh8iA6HdZsfF8WVJIok0Zh0MKpqx
12
+ fUJTwr7I/iy58R3+53PZ6kvTjUJ0op01hnjXthAgRf3AIvMI9q+sWVYyuEJQk3+VliEneiTs3VxT
13
+ QcAsTmy4nR+MO9UPAt7u/U5rKNRSORHpM0FPonxtvl0ikzNKrs4dBuKLEtg/sfOWeVOQbITsD/LR
14
+ jYXOLEENcZBykNjAOdPdWIDsyK5l6tBPKT6ip0WR0cxg0fZSIPEyH4FZ+0CXgqF+oYUp59DvgXF8
15
+ StYBeFj+w6uuEYRHgSbrWDGgeoOMkGbU35PpI3+1fnjFlh7W4y7pBig37C6VaPQIoEBS2/xafU+c
16
+ u2p2XDcvPIeBOG4C7eoXakrFL/v6h/xXcmUbPgkBJjII9TnoeciIIQ797Mc9Wa+/W48LuUQcKrB/
17
+ l1q16rBPWXx8ZcS1M8W7KMswLErTBGcxT3f9nlekg7qHqIVR0ZKaZzSfQIh+TXu+Lv0AJXw+6NHo
18
+ Ah3XCt0G6AuVy8w3arna8cBk7U6Z3PI4janch1GTInx5MnpBDK+VlRJsB64tM5ejKiMYh7LLh3hf
19
+ 62RAJo/vS3/peSPyZdJE97riqFxYRBdI6t4U6KmbHQCwmNOKgzrnSR7JkDciWAx6j61qygEgaYi9
20
+ qRkwrhP6AQSQ2Y9qJR51cWdxUzYXTM19ivAzyajrzOWcTDu8JCadgDldePnsEKqILIfkVRujXglD
21
+ 1Xvi3V76jQX/y1uz2JLHpAs5axamfJgfpUPzLfp6k2NfqhOIY+0wabSdcKDpJJT6S9XyPGHSobT/
22
+ a7Otq31af9DshVCdu2475uio2SwymUWrGKPNrRzHm7O3EI9a782/cqUKrfcpkaKMb6txiz3vmgY8
23
+ cFm9nw7aDgvwnGLt/l7uFYLY7NkYnCbnYvnDYzIOgmbAU2Wcoc2plzeJUlgBEpPlVuSsFddQ9+Gp
24
+ Uhu3eRFMuXjDIHI0vJ6MHn8R2hKDCe5Q+xHDlZaeMW1I123AViHyKMEE77/JgqBI/wm8
lib/Ampersand/Integration/Message/Data/Request.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5BLD14IVbFnhSlcHPnj2Nl+0ijV5U1KWBk22bQmX25Jyu+XtMJBRHeVTnplutCtCilK9d64B
5
+ 5r8eL7GmcWS51CyplES/9IZwq8U9GASkmCeMasld8TxLb31XFUfkEZZepD+wy906zHQOzipMbrDB
6
+ ofcV1pfihI5NMTjB97Uw4ouW7hTRxNuwtvjd4HiCX7M1bIP/B+JhGerZ8TU04UaQ+4dYBysXpcqg
7
+ SeDoE5mAfbskZCTEFllm7BEM3aEX5x8SdgoBg7c6EJO2e60QxGq8wVOAUxdOCl0+4c//69bdHfkR
8
+ kdDBMJYIU0nQVCUeLBIVe9vF1av+ndH43T6hCGbjYAMhASZjnvQhNTwaU5gxPrB8W7AREGlBWcBg
9
+ IeWvyyHy2dIXlL6RSZXhmLVT+xImgA6qfYOwIB4ZUOzp1lPLGZvqWztGUhBvO4bLyPajzXTvv26+
10
+ OK6LGI9fBkfPPhiXl6dU0sPhZqk8Doq98ivkgpYL8NIGEulB0aKdnR0onmJEMqku/uR9MctF2HJP
11
+ XdWnYiycXJMKCxeTnB+CwonC0daIiqMKL1jqy+2K3VxZNezqH028QsDAY8oqeuOR84J20P8YUKlR
12
+ v6xuW0SA0Ddlvh4p5f35bkr8Ps3UG/zEPiu2IiVuoNoLx1bHaLpBimZlLifJnpFJvsbXd6LS2zFe
13
+ CSSFA9fvPHZomRhi2Gra5sOAnz6qBszJkNFX5i7bXm2ACGsvb6bQhS254SToD/N4O/qlGfEkwQy/
14
+ VnPt6Aa9EVh424AlqHQ56wDGEZXeK/Dd5TkHz5VbxY0xV33hmTs9NdfPR4GRDI4nxyL0pLnMEw/L
15
+ ym6Ozkr8bQt/M1giwzPqNWoGbXm14b48q1qhwOghvvWDnC1AM6dWwNGWrwepk6sdJiprzqi8ECYV
16
+ ur5+70dUYG0BZfWXNENgtyBXPfANh20Du/Ui2DwBnLviDjOnlTiSFIHyAq7FbqPI8aaI/xXBGURV
17
+ xqPGmMJLvEkk4uuGKp/OPPhpyYj2WsNliNPEx1zXG4w1x//T0xhRKs6XWeNUK5iOEv17nLFOnQNw
18
+ 8P10KEwNahxxjSqq7ZW7MSDf6b5aAAjWTLXjtS3UL8S6oc2A6FlGbLizyfZQRJGDFTgKKg3NiSEu
19
+ 2oplt02Dm9knjZ4hUmF1HsFrjuqAS5H8BhNoa8N9OYj3DMM0GQxzN8mqA1fyxx+lWVOVjdZzEXKm
20
+ okJpEbgxzcU+VQVvIQTEV6Kfzi7U+tlsUD6oy3WmruRWmOerPEk5v7jmJyWJAuiR47ZTZ5ENnfs2
21
+ KsVZiebqPyOA8YEIXFONUO8D1btmOsLZp9CjfcMdTi4ofIvLekvcCxPYUs66YtmK/GBkgKP4HPIR
22
+ PjaCkck3WWgJtPAzB/lgJ/IOOXOuAvlTAvHX8jFADXTit+f+a9yhuRZFhgXWZQawZ+kZKFEFxWDa
23
+ cbg5nNnrlwKPhM+pi5C=
lib/Ampersand/Integration/Message/Data/Response.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV59yqQuAu7L2sKO3+eS/y/avhSDowxjGgSz6T9XxCXhrOiattlSuYuypAcsXed+grStSWSHqR
5
+ KYk+wNyHDkSzs/EU5t7XvFDcyCdubjSXcsP0Vh5Om+rBQZ21caze+S4QSJ0dS0fQZsxM4xex14Em
6
+ pukAmkJsz5d3Qe98++/QsnfUSBjfq+DBcyldSKkcEoPTOjpDJdpjhzydpwZ5daEaBjy8yK1YiWrF
7
+ lwAnKcl89IEW1Xi2VPusiuaEGw4NiXoUh8keUOOvDW8YQ62L7f7ELwDcqE4ocC8IHI11DPPL8R/g
8
+ 8ZULkQa4Gq1pTxmJW5cH/zARANfv/BEYoOKEHTv/ulGxQ1Z1p/HUnGgVDUdaACX3/W2IpYamjuyg
9
+ cLg3TXLUsnoawCNY23bOqT0mpC9Yfuh0ANpFzoHLEiSISkDsLmMTZ7QAKSQFU5gI/i+KawBlhRNB
10
+ y1a4IEaKIcLLv1F3JgK1D5e+l2Mm9VE8BDgVKOn1Fpecaj79O8ensEvUsFz/V0j5Lu04wX2xD0NZ
11
+ +qDqTy8SrEpmsLh7jyziHasxO1Y7lZk92UH7P76Lfgsiig9rT8LMZ7tRRXn0AXRo2RYdABh2PzO/
12
+ elo2ms3h66W6348krEzknsqN+jG1JcLH/sKJSZrMVBwwj+CSEiS9KZXBP5KM/ZbnU8dAGV3AiejD
13
+ RoVzlvjpp0rGMa2OmuRoJDIiYGJsRlBA6YztuYoKuT847VuaCBzJkehPfSuKW6tZiKIh/EQ0bF+E
14
+ AX63sPe8HPorGpxsVWrucPrWhA4obXjPRxa7BXKAN+1cCzf0qB7S+xwplvqVeh6WrVnlrf+t9xpc
15
+ 4J7CWipyn92KrmY1XSdHA9rJ7k42OBN/7oZEFK2pVaAkBlSv06sby1l5l9CZg0vpyBNe4vctliJH
16
+ Xouzy+UrXBwJP5lbM0wtAbxCb9HtBA22JaXtijGVraTvniFjZXiuKDDY5uygGD+M8KGRpdt/UzBR
17
+ BYjBxogX0+mbzwI5ltCYXKVoyngi4q9H1qr6nIwzHQXul7ldDBGQUMPlGxFpTGh0Mz9N9LZK6c9D
18
+ w7RGlC8a2r37044HpVya+s1+vZyn7XCnhwn7JNfXTnGukZHQyAWhSYXpqwoEWl0chE2aJPRPxP61
19
+ kEb2QD/51jAnQg7InXSmWUDou2UioGfYYszm4xsvWXMFyqflLHIURDK1hYdnvP7u0HrpNZ7QS4uY
20
+ G22N6nOb6hh8ZoSZ2r4Wyh+Gcv7vYMfOOC5wnwzS2RvZuorrmUTkEp3pnQohJSSXsQ3BFYkSgxgZ
21
+ Hj4bHXfdQE4dXs7w6iXTqnDGHi0qhLgqQrXsr5RxYP6D1FFELE/ihc6nrVgiQSlKGORGF+5Buuaf
22
+ noyT4jWg3yLgWWKW7Y8aOsVRyzSYxzI0mz1eIsny+QiwtFyPb95adZqfn9j4khBwa+Ygyhg8p0a7
23
+ ksopILm=
lib/Ampersand/Integration/Message/Debug.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
54
+ 83/ZsrO845Ym1IywNW==
lib/Ampersand/Integration/Message/Filter/Abstract.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Integration/Message/Filter/CompressDirectory.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Integration/Message/Filter/DomHtml.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5EW+/9Ae1CMbeOffiOC2BLT6uashevM4G/MTr4bJmXuKB/XBcMnlGWBf39GFiUQzfDJHnqCK
5
+ mwzfwU3NRb/eBLqOP3c521NKT8n/4jra/MK257JWiCWSSq6+AU/m1HvMMCnjnohm0iVy4G1/PbQZ
6
+ oZaeJ3YcyK6PUp4naQHWIXvrwlNnSXX6U6d7kXLIAwiHWrsD4Ppa59Tv3Oc8qxk6b7vOdHdNx0fI
7
+ L7DI5OBJaQWMydePShFgiv0EGw4NiXoUh8keUOOvDWAgNkRplrdxVuLjwcGoE1eIClym6Y3TcWti
8
+ fyuQmLzojCMqEJ74dcgl6rJc/7T2KTB4810/4DAZxmiolM/qYxvIwZ5onTBSL/BRL4JmDvKgCF4Z
9
+ Lt+Cs0Z9BvtuyQr1nsfEXMvukXIHDnyk/iiGWmtn1YwwTflo9uTHMMXzcdl5vLLb7Drrnm9ZlgNz
10
+ oW+jMCY3B5h54zq/APSYvTArxUXVYlTw1Ld1xez+m26kcgPEVXR2TF5s2+bwDMA4x8wbF/5U4A0D
11
+ qzTVjIoLIhgX1pccnv+nrxkPp50Rg5Fp17S/d7KEKay8+aKn4RZ9ieRh9jf5rSZ2nqtGPK1zAlEm
12
+ Gb0+fACpUE5phLscl64Y2c3iAEOEJIO9jctTw6Qem2WfoSnzusNG5iaOyYdV+zUQWBQ5Z1ytas0z
13
+ YKExyOLhMmjZyx/j5K/FAhZCIvnVXATihDmbWtgIfNyc4/pGyYgYO6a9ZYXriUAQ8SOgrn4f6jLD
14
+ u9EbHyzUqMIGS/94FSP2TqqfHjObAyGgvzTcdZeP6AuDoH8PFyRTiI0ierEUj95BEUzS5xFFIRpW
15
+ KFesTsNoNFUcj/qOfnBkzcbu7wL1wuGnYssy/vCNQwv+uNSILR2f+2+Sx+LkSURyilNuTJfrXcoW
16
+ vAVsgpk9cyKhfT10MzLEDFalPe4/x2nqcstWQmH2AmiHNPStE3afUlaqoWJ/e8ERp3PuDKaocpRe
17
+ 66njh9FPf+lZVpRsWQ/zOTSx8KVWwJ+pZR+gDuGueAyDU3O0NnvjlvzyJstbW4E9lpyGvDG4XBJu
18
+ Lqby8UWZLtDx0f+LTBj4A87gUa9K78869fBcRGeK8Q5Oldl9yDbyoxsc2IJCvkuBqilDV1lOowvy
19
+ g4ccrFiqjFf/L9MyBsTJhvo2Fudztm3RtZT0L5ThaKFrdJbMQUngjw12sQS1IS54A/oTYShTJW5Q
20
+ QJ/j+UeHDJ/NTLj9z8AhcsP6l7Q2CG5tOX43iWEBDM5Iek1YxUePAfOSKQtdU8QMINHe3HqZtLNI
21
+ kPPGHVo6bJjaANgstofJzaqMQSWijmYj7t0EH+n5MyEmpxd6lzImLi83tIzi9+dHbQU7zl8jIt1L
22
+ cdQLAUKdzkICZqOF5MJWXE2iAh/5YQmxkDeiDa+twG4CftUq3YvOSdSJpGZnnz5ylLHw7agRdDVe
23
+ dMhRcFZ7iQpogs3ZY6XcRNzEGe+RbI3nL8xcviHx2R0mdsX8U/fCqULN4AwCDdfmtaJRc4uAA0sX
24
+ RLt0409YTrUmYb4+TgqN993GA1Qh/Ixm8Stcgs0NB6q4hgFd8UIrM12y/N/nD4bPWr97P7E5/LER
25
+ o10Iesnv9jiDJt0kYGoMZiJozsskkhZs4c8=
lib/Ampersand/Integration/Message/Filter/Exception.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5A98kuQphn+fNl8kfTvPMcTypcrxDwsLdC6TvwLZWmHs13algcq1MYBSjL4bdIDWExoAcK4v
5
+ MflnUy4EOb42VKeZ2ENI0PsGS+lFqux+YQUCXdqp9pvqSDLbNWpM9VP4BxzpcNfTD6fMlOQbv3uL
6
+ 2KS2rwlSI1vf8S4r6sV8EHz42LVgs936aFGi8BlF/i+ozckwCzFP/sf5B+37blpHWOMCl+Gu6Mjk
7
+ Lb9m04yRYxEUXUmC1awyiuaEGw4NiXoUh8keUOOvDW85N/12sysAw29omAeoE1eIA/+wAN0Qjg0C
8
+ 7O+UyXPxiYqD1bjAf3ReH5F8hkeL7PKth5QaTufKYHg7I0/pDKC4+5RCbOmnp30OedDS9lgZ1Z8/
9
+ F/N+IiZIgob1PgfmHqxF1sv84Y5wiL17RL4ITjQm93k/+AHnbvEgMTPlVhWzSuP3Of1RupQmiJqT
10
+ 9CBbBFRICt9nEnS17ME+0XUiCPiRvQDuMRibnyTBOBCX40BSypVkByDGyMRap3AwTgTzvKfLgERb
11
+ NZsTcavWtGPXvZ0KhOd12p7s4/aQDaUwpvIGcVDMVfrPDIPbO+AQCTlHFPmn2cLuCRZOfkJheNgY
12
+ gPGKJqumNlLp00wraEK+ncswQjv97B7OLI1AclmSgr9yR1afbitdcGSODfOFIrFIs0Q9Yb5FD9FR
13
+ l6AxdTVmRN+n/uPlorV4coKYos7Vv19i43zT3DHNMv2mzkpCBlrK3ylXjryQqJ1CneR4eAzbYGaU
14
+ ATC1kj1SsJd2Hhuxwe0Z78rRkhALi31t
lib/Ampersand/Integration/Message/Filter/Interface.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5EXC07G+gFXxq/QLLpX7o2u0yWHqlz+UQlwTQN9phE3pWlm6ILJRWW+paUe4qIwGG6vSEDz8
5
+ dwnhVHmGD5pUeinpU3FJJwL6X1uCmJwvnCm0OtBns+zL6UM14IB1hFn6zS8tGM07puw9Vr5rxVLa
6
+ +lt5QyW82Fh/pskuNiJ5+I+1dMIQwiQBWtcEN9C+nvQM1NvcwWnb+HznbogT4yz/qQnjQfesMYKO
7
+ DTBK2RdozEeguAEGPDTDiviEGw4NiXoUh8keUOOvDWAPPXTgap2KPaEzaJKoaDeI41HwaQHHkGTK
8
+ ICHw4M+enQu6Dv1pAf11PEfP7dtOxy1pEBFsw4xQwjUvzxuJc2fGofW8+NXteqwFG6g8Q8Q+qtfD
9
+ K0dc0MTLvaUWhxBduk05kubhePD5dGErFG4o1KXmWrYX6O3NzXvgX7pI1CzfWZXrFta86W5Nj/UD
10
+ MjB7juWadj9guK7bDfwRzmG2+K1Ward9/zrI1EPgT8w6+fut+XnTmYVe7rADfFZZlv1jpbmV9S6e
11
+ 2SwicrrQSlGUvDt48Z6LK7Cucy2uvMvSy1+9Hz7j6c7nF+QyFwWWTktS1FyDenaqN61fSM0ujR0n
12
+ XIA/bJCNh0wCBthRgeh3BwXvCAOiB9rF/yCLA0vM19pMTrrJR7CG6FcoqCKfYFWlaPcstWdvou/M
13
+ CVslZQOi1EKWNUGDhMne/dLPBKrS3csJ/0W9U7JG9JEz3D7QvZdrBoHsMxXI+WfryP+irO37WiPu
14
+ 5UCz/HxwqOjJhmMbkpPtK4qPEyfZZn0m4rP8gEy3XV3VULLNp/rpwhaozaLUTHGuY7W0LQGti0y/
15
+ BJMHvfvq99TdA04vtLdGSOX+xIODNSqEEurbviJiSOXG11zks7wuog5hPgj2nTyovJ9++6SbLP0/
16
+ asYTrMTNy1KRaPY8ZmTpA1/0MtAfBMz8I8KdjmWBgcHpJIkL8UJkpQnXv0/ft6nBRBHCkmukw+/Y
17
+ kD4cWObu2XkhyRCp9snA/8L6Ijr0WiR4woXNb/GUoJr9c4c36j671Z0MXQvx4YNp
lib/Ampersand/Integration/Message/Filter/Provider.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV51WUneHk/ZghOwHJfruSai15KAKOVPBMM/8wZrLs0DDeqfPLt42gDzGRaWxxH70HeOQx2rZx
5
+ 9hj73XVVffNyrmX4EUbma2efgmPmTfUR2Wu6/cEkhUOdZ90FeYxQCNlAb/o5Ql3sRM+ZP2RDrS05
6
+ TCpUfXqfPMDSsm6ueZXbrZgHcKMIQ9CQQ1viRFcnBhnTlUseYoQQEK+bSG4V5Ltrg8K3KyoV1GJL
7
+ IgcgzVW1M4qkUkWw5PolJSUpiGv3eHUo79wiYwXvXZas0hDUPS8KSz8AN6Q/TZAGK1CsDOiw6VrE
8
+ o/wEpvFpDUMN/MuwJl7mH/LSOf1kEEr1mgdeQUhUatLt11lxYTyv+Xjc9feiwVLzblnyCCBImfWW
9
+ I6NHImnusE/tARfcTwoTUNiuN19azV1mJWLhprQt10/b2y+A5rso9Sr4A9m7L1I4evuA47oFgDAS
10
+ WMzWA6QAlTBXUfGFD8ChibHUcfQV2vk+mKZSq+6Mgga0/0DX0e0XkCo7C+ydmIo+c6Coi9UloULL
11
+ 34E04usFXrwjGaAxbe2hkrVSzS1hS9hKCDqCnIP1VCAAHKitXcM/QmAZeYKgNzTDTc2Hr3PmXUeU
12
+ 7q6mOqgl/T5dOFL4cqf9SbUK23LgDAnvffyRuPJWs2/dGruSrpkbY/afkbN+aGbohdptM7q5aDpA
13
+ w9EHqfhh4T4glbeWyjRbAbf2XPglR+BKUclA+emQb32FNui/pjtOrobV3R7hbK4dHuw/hXWxOp5M
14
+ iMT0rYIlUpwg0agR4DmPRpCtYzNlh7nXgLJWpTY7peq0dEdoaH/IRAcfIYcC8DLKfoH8CCPa7P3/
15
+ QpPAehJy9uyQ8XgRz2TdJLhljcMjsqXZl7n+xwI4uY9DBJVtg+tOCmae6P9v8idXwUn6Wa6bbj84
16
+ pbh0oi4cbQig38nBBqdoojDlUdoSGvWnDsBtsWGzD8jehKDClepweH0=
lib/Ampersand/Integration/Message/Filter/XmlObject.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV59ZIl5ax9GMUrcafUh4g0+ijLPKuwwCb0+oTKdEb2/XJB3lR1Y71bleVqWmurK0BSQI+69Fv
5
+ sIUPOCMI9YQt/zPOvJK+5wcXIOe+iY6suOgFRLAYn6EIzCmxCx0bj2IRFhqhVrLV1Fa3Wi2KP5Pe
6
+ RoLA5ebVtY+Mc7WJx15sEri1FIIBQC5bR59zqjn1qJNuR3HsaPqv3PXBIAV45Uo8whR5+KGYSbQp
7
+ NjQ13kYBUrVDkV+SQIuEivKEGw4NiXoUh8keUOOvDWBGN60i0mo0Zdr/OCyo43yJPYwQuhmfHBEm
8
+ u2TlMkR9HXZfEucBUN6zqGC1k4+IkNcydvQnYFsFPGq/ya7Pv6DcXYfXq2pK1p43SUNf0XsCvDR2
9
+ 5TtqAwXzEJbvUACiHW4E+cUmrOhwZgL0dJPIeUZpQEz7RglyoXvHLXnfZERQj4OnPKIhCqZoUKPR
10
+ KprRsNnqshp7oUVy3QZjhctEYj1B5kdRJysXCg5hORK5L001EDaOk4ITqqh7gx47ExBEefJKBGG5
11
+ Ztel6fT8YoGpsiYq0iTf2SX7TT4oAWt86I0fqfAqSoPFyVm/hbi3r3KTSyjxXzzg7gMNZImdWIwc
12
+ pBF+YsnnkNUkyJGB+3cChnaHIoKe8erOe/cQOA+HNkvxFUpvRJF5o8X2cQRTeW5yWbtbSPFAcmRK
13
+ L83Yqkj3H2Z4ZDeu3weOeVHcuUflXwe43S+Gyo1vSDYyiDXCDtArwttPbSYpuF4OH7O7R8lYjHN+
14
+ 9VBy+d2tMMXjy7/TsMuME9j8TgXicAXC5A5Sgb6G59kHPMMNP37k+OS8OmCnOYgyvBtu/UOftRKu
15
+ NF79Bica8lyjErfZKfpXfiIORZbR3BHi+uHvzWADYqWTLUMbNijVU3yx898Mr2cJ0KqjPd0B9HVn
16
+ dV2st09ol3q4kltRWuc/AhkIDamGXnzCuC6jrFQmNd0aKT6V/BC0hDQWsnOp7Op4fyfDGuTmEHGc
17
+ OmkmdGsSYD95pvkhwEdryMaifyds9PsAu4x37JKW9GgZ6A4VdrEKLmsihsomttKEIK8oFoIUcBAF
18
+ iU+TkRc3yzZiJfLg2CP6jiTYIiHSL1c1PxJyAXQmbQMYvX7GxdYDokSYTGC5cRkllBBVt7NzT/76
19
+ BVKjBxwDO3dn6A7i5+y/H5qRlCrBZsI36+pxuWrncfLnUG2DEgZGWVLyYXoEr4JbND49ag+SSA3b
20
+ 8IO8ujROhFPcQpM7uRaBI2YMw4QyWr5fWOJKbKjfHn87iKylmtp/96hdWBmWTO3f
lib/Ampersand/Integration/Message/Incoming.php ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Integration/Message/Logger/Abstract.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Integration/Message/Logger/Exception.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5Eat125w0VqM5usH0ctsjjVXO4X1ZQxNnlMTjey6YA7dlXJL1Q5yhgp4sLGvAxXpPbwiQ86Z
5
+ VwCpwaqMVJv5gA1C1o7J0iqiaz+4nrSzUPoduLXs/38FMbjHE7sK3Sb8z3rziMfS1rpo5xGCks1F
6
+ 7BqNXI2Ss+x1sSG61/017xWTXKuYrTnXNQGqwsR1R46wpYvxHjaOVdrpId79eVwYxN3VtmdWYwS9
7
+ 4cMl0Im9284JPCTbVnktiwSEGw4NiXoUh8keUOOvDWASNMA0fEQr+LJs/8yoK6qJHWdzUBeIff+o
8
+ ntg61dtrFjp4mJ4CVuQtz23CPiwnMApcg/SHIw8NV+wTT9z34cdKdiNNwwgN/J7MwyXGd66Mjw2C
9
+ iWSrwZvefXQzVXG8xqjpGlBc6dUMep9RulXFYO1T2304KrA/bmw2xzzyT5WdH2eR9wI360hyX3qp
10
+ w0bH1VSI+nES1nbVZvqSgKLdAYwyJ4mnDX277w069hrYsh/ckJZGy9U0AyvaHesoXVTfo1n0zhy0
11
+ zCuL2Bul4s81UkKM38ZUc+kzEWBu0u8hFfzbRr+V3xfZP9SdbTHkKGU/9kQbAqCUgrawO6jqQnAa
12
+ sqfRKgPj5YYDxVyEuGJbul6JYdsCqCXHLEJbSTYaED8QNJgPjs/Vif1ImEqTc9/Estyd41kGcUCI
13
+ BCK6paFaYg+5BGoHEP+dO3hg2NUaix2D1j02452QQNLAIwvFj38+xbMQrg5IOLyFdX/Kov5oLX7m
14
+ ZE1Y75ZniTdrD4fqEVrRlR//gh7o9m==
lib/Ampersand/Integration/Message/Logger/File.php ADDED
@@ -0,0 +1,170 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
170
+ hU+ek6NRMhW=
lib/Ampersand/Integration/Message/Logger/Interface.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV54TlId0DoKvutDNVKzt+nTTdY2DWirEAJTwTThzJG/DhaBatN0OLr+ghfTM6IB8GrwRUB3E7
5
+ V+L6tUO9RWXQopu/ZB3pCnOO1At/D+fQVY+whTS6niW02bQPNfAsASRPc1UWFy7hQHEf86Vuu6i0
6
+ QZyEORWj16jEP6L11+32ei6X3Z2h45MO1X1OZOC+wrf8rivq5rOu51T7v+phf0OjU8hpUeEUKH66
7
+ bmzyDKKkZ1WchkfsfK5liu0EGw4NiXoUh8keUOOvDW8wN5/qo3eR4hoarOioo3mIJVzKu39CjEfB
8
+ /GvMJNL3fCjWjPQ1kqaUtNQZDh1uk3NeJ6S68ED6cMPYsyYSb1e1TF7LOxHWnqLKEY24He+Xj9Lq
9
+ UaNujQnHSkVi1pOkS6YDlMJIyuwTpH2aWzqt4nZB6xiRqawdqW/nNnnKCGq0lfjA6IPELv8ihkpa
10
+ rNfBipHGjaGgzpPHyWSH6iJI3wLLDhbN1QnwZTgDXsqA+V94TKZkCO7MH1lGOT3YnvbYT0GsjJjw
11
+ HoEUW9GSa9XkJsCmPIImVRiFJHaRqfN4ETjeFjvxrJZateJ5nO7t9NdQE2fEYIPdefuwMy+Au9LP
12
+ UN8WCOL4iqxUg1ooZ+V12ZkBbH9ZagerSsOIyY9IUhPyNj+GO/zxbPb54mWdwwaH7d9Nz7KipyjE
13
+ UrZx2R1wtgZz5i7GOnIAfyiHQDsNxtwExWUzPFMSVmAXzuY74CNYyEiMaD0e4930PULqD3Bhu1Ku
14
+ FY/pdkXxVfcsXLJZTKL5jzKx3KaNwU3cd115VD0qh2Z5BxrGvfPZFff/H8TSmun07s5LKvjYeRV5
15
+ lCW=
lib/Ampersand/Integration/Message/Logger/Provider.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5C7j1JzYI/umRrUG7FLuMZAsv64NXJtQMj6T7GlPeLpm5YnthdFWlg9LxLdbZXEJOZu7LvzI
5
+ p7qzRdh6aOhiEYU+zuwqLdC2s3bhMqxTnurzKFgH8YSYlo0+LsRrYtRVrgd2ZESecXQGbVNUPl7y
6
+ ih4fYtgkV1vsswe72tesZW/LKcJaPcOwwSt3wCmS1VdfWx2gtXhYT9yo+iVuR2Ztrw3JS6+1djkS
7
+ SoHKmZqGfmEc2vXn3z6qix4EGw4NiXoUh8keUOOvDW9OPRg0PRBHyoRJMrWoU5WHJJ9yB+NReJSO
8
+ Lmr0a8CWTjDF3/VYAsDPfWc9uYDAjRFETq1MMUKYadcWeuupeq5NCSKbEerX5ipqCJObjHrlDdb+
9
+ NWc7Af33y1wFQBffiuppU9zoEWw2veZPymtTK48vyn//srIdHmtmkPCJ1za8AQ8MRaWnJeuCdQVa
10
+ mRQKhyEs2ehknChESQiYVyrT5RKqJrtZrNJeLbT8rKW0lCxP8SdcAiNXWXyeQXN8o74+tABZLPEL
11
+ O/037UryRIUDcpqZLc8QS0s4cSofmGLmfE3JKP+wC5iWM1XwNmJKyB61RXGmwBI6Rz67YNjgnjNO
12
+ Y+i4E9U2TaZjDX6qGIOHwbH1L4OebUKFkW7chiXNsu/Wbn6MESgnee0nrabU9L1lDDVPcrJMqK1W
13
+ JLXJd6Qp6Ul+hbLDeXKV0X2svGjbzZwP1jzQEFn2o8UZd/xqdHhW4oNPClBWTU1P6PLLYkAluQ52
14
+ ZV0UAWy6jWmxdg41Qpzb+wNnKAqp2q86OBGOzvLqX+rlbfSX09TiC2MPju5Tf1LJsV3UU+Zi7AJ9
15
+ q+8VPNMV//iMm0JEeM0p38gGBSPj6X6Y4VLPw5h3ERDop+7jW+ut6xausl8v
lib/Ampersand/Integration/Message/Logger/XmlFile.php ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Integration/Message/Outgoing.php ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV59FTY852Tt6s3niTej/dMaahdTpwd8epsDCAG5+9jvLFcKN6qUSx2Ei3+TtZsq/XM/j1Jhdj
5
+ twPKpwj/IYwDOjd/U/cCzmu4G1hMDXVtLGjK8Od2xRKa32Ugf/rqxxCFw+FR3qrtHkM4qARhetLn
6
+ 2Cdi9kv6fsXp2/8REkghfe7JONSES2IMyjbopdGsuBA7+tpCEWafrBelbX6ijfCKGxICYhlsEv5g
7
+ 5f8BTp1LKkl82L6vQbOJ9DvfixqEGw4NiXoUh8keUOOvDWBNPhPMnhT9XPFBu3Wo880I9nlQ5Xbv
8
+ t7733HwTUhHwwcq59MStax+k/ydThZk7eZ/ZsYkPUh9sR/m46Beu8wQLvGWsqp3f4OOWUIAYSJfc
9
+ FTEuzUPSiNeKV/Hpj3I8IblxWqQpzO42+r1nlE0WFSknlyAtFtZOpLTMTVhd5/TaNLO9D+1ax8wV
10
+ ZSTAaVhUa6GCa06DxvGwMz3yFT60DPGQ9G4Fs5+ST+olAPu2aMYG633NxuoKdSE/qx+QW/vCCoM4
11
+ cqGAgecGVoVboXkSzzcLkS4QFnLu9l5l0MxhJAV+f2JOMEiaH3AUkUbl6qMX5eBdtiX5Gfe29D/l
12
+ BjndhNF3V9ngZuzvQSX54BQBIu1hrkPhv8jR/yWktLI1bsr/izZnlmhApHGH5KjrEUBBRRDoFdBw
13
+ UNgK19w88u6WL0BpRZam4AV2cjaEqvrvm9ZxlVHtt+v3GwP3l7hG30zwXy/MuwCziA7oGrScyNkK
14
+ WdnlnB6FL15d00acPemRg2Phr4MDZmy04ieNJF27dNNhUSM+0WrAwunIyG7ZwV/n0VrQBfHRZPrj
15
+ IuKXXrCW9hB0MlHxujumw4FAk8eCxuj4DVGCPM7HWnQ3DaQvwotdZyUXWQi+Ah/PGxJEuzUwPJED
16
+ jg1s737PGLL6ksdNM7g7o0N6QftnoEecB04Vm/3UOlyaO358XQcaGhzwMaGkBGiKgG4VLF52MKp/
17
+ Feq/SL5H8nnl+Hw3pi3eh/83aSlmZft6bIPkxkiEFp+AGeLT3q6sHqE8PSTTvXrIh6A/gvH2vFh9
18
+ kHG82KcfWS3036WUclJiyH+ls+6OhywI5R0B9cjxAHK7+13RGTE5GZg/rvZOnghaRa91QG5U/1y2
19
+ 2vXqkkpFdueurbjMxYwgn9qg9jRD+vXq+G6t6IZRsq7T8rRPV+vaIaXsTRZBDQ26NoBe3bM7SkfA
20
+ LQAGHCHlIu0TdER3ngU1EwkFMdWd5ggm2Jz8Bhp0I/uNH0tl5+B32EUYlDXve/Pgj1bcGHwcYFk3
21
+ etSs/CoXg0fGuHXVll4R/YoH1ucPymIq4QcJKSRwDLv+rRoTKHXsoG+/iquBim+MWL7zYxiRtPnR
22
+ DLcq8MVOCQG/dLxhaDv9alZhxTab5xaCp/xWuuJGs9WJxbw5JSv6UDo9cJ2IxoMHoTB/mYPYHfNS
23
+ IbFdIBAzbRCT/oozQNSfaDcIiEeVQMDpxS2o2GC+FuezC7DgHn6JAZSxO5VnE0BSTqeV2EYgX4rM
24
+ sjhoD7L972HVIV20TDxU2MABUSfk11Gm98xKQx75wItrwHR/syIL8t0VUkQeYNMy4K6RuU7XdxkH
25
+ D38YJaXFxpCI31Hz4TT++VuWbul7xp3UGu+JnCfEUBwjOD438vBzJ1FmmfQpBTig5l0fXYy5tJls
26
+ /NjoZ70d0HWc/rbF1U95BsYtd/0dvCm/VWBx2le0uP/MTVUR1jI1cg2PMTLKgw6F61wUip56WQKR
27
+ jFXe+e+78LFWK2fcZxuWP2Q7KLFMCOJkPJKeUh5WR5DaFrKS3sMPZ8QKbA3Jf9gF67L6L49ZwyQd
28
+ oQz6ZvTUg/b3ClzOC4OifdMfG7MBU/ah8l2W1AdwXg8wa5Z1ln4ig+Sqa0wL9cJDgb38k6pYIiHL
29
+ Q7vo2Pge3mX8XgzEZBzIbM4gTkeBpgynM7c8Qz0LDhje8dKmA+HGAVAoTlyT38pvVj/La6AfEhQM
30
+ SZOiSiLsQD7Jk9y3KIWWXoZnQesdxS6Cw1gKCLBQdEEDfeBFkbSG4VuHd5aYVqjWJLkXwkBxdfSF
31
+ BmZmSJ4nC/R2K8++GpZJdxXYip4eXJKeesBELf2v31Q3WrSkaoZ5XgUpljF80y6SQiOkk1AfAxtb
32
+ TrL3M8AAUh0ApbKI98EERYThWuryCY4IcemrmIio0DnUyPtceSqlpKhS0OLoWdk7PS1cks+AB1+E
33
+ iZY43iPVBWISzMcjwMo1qgEhXWe+freoQRGkqHS94ycnPFplpKXnAUaoFhT5iVkLGzpz6i2OBnGh
34
+ ZzaS9gJMa/5kTAqvaR0w5Ey1AoiAOhbkJH7DADUNxMS4LBcx5RV0nbcUDuaDpQqWMHcL9jFDoDt5
35
+ 6g9Gx7iW2PkbZTfrqpf+D7gjWWI3MshksCAHKe6JGrFUUeNO9O2n4ztq7+CK/IINHc5FEEN3k5Sl
36
+ kqbS65y5+fkj3g1z62/mK5PlQ6LBzYxdEnxkcl0pmpE2XFLUALTr72FiPP6tJWT01KVMnWxsc9qD
37
+ HxD84hsZRJwgpx1PYgRFct9qGZUI/5zxY7suO8ipM3FJ9E7DGfGodiUlj0r5T0p8ViGLLFTCRVbl
38
+ kTEm6i3yJEjN7NWONLJKMn52CQlZJBP1gY9NL9J6U54MQuhRhTMjRKtah7DLKf8WDiIumdtNgTYB
39
+ 5J6cSMRo+5yWo0/7qAYxXaAsJjRY7958BNCSYZLWCtyuHo60SFa1x5rfDuC0xImv+8huCzgrg8Wd
40
+ YMTqbGqJOr/kthqEsTifLasMHerqGOvOQy0w7AWEipxhy91o3y9aHSDQ3TxsDv5uOGfn5Cn/inFO
41
+ SCSY/G41ZzpNaYquwaO7uN1KJtNJphMMW2DzeydoMgWqkDI10BQjBu4akBX9jUfyUoxj83HiLshW
42
+ NGNRW4I1hiYdWcWO2w61c2ZzgrqORBpQXqq+TS1kme0Zl99O1TANYiZK2Tk9nuFboaW3N1YYx1dE
43
+ GgKMX1V+4xL4TbtbES/XK7lVrM1VrW6J8ovbuoe1fmRLYYSoFKy27DleqOiON2fmDFC1XSeT6zlu
44
+ EAElB+YjNtXBmh8F9QjebBZu7bIKP4tkQWJ3X/rx74WufVKSbu5l3wN8M1ZmFicvcRHgz+uocyW0
45
+ SauDyFcPTsvtgjqIl1lNd8zCMsqQnt/k29fzW5jspU68D6IX86kHzT2QNpUEUT82V/IbIyunMmwt
46
+ fr4cFR2liw5qAwgojuJ5ZsJK6bLy7BBvufkXPyzHWm2S970qKph6J/36GOsc32c+/4fqGaXVo8Oo
47
+ ee/tLYjJUbdXm9O7IMpdCyfWECwxnUqmrCNLBTFjiBcm6P28wffzk4JkfDioeiwaDflKlEfkR4+H
48
+ xZzDos1x7yHLIEVdQ+Q7QTrCyNZ65q6Pxrw4Lde8tAP8qSAPE/+Qj3SRT5CzHF6NQ2v93gJZkz56
49
+ 3QTRLj0KIKYOPWeKU/y4P8gQfRm7dKs8D0r7BO+QlIdaE9UKq+uTdwjTE+4597TzqQyDoXw4Pncp
50
+ nKbYaZfxuIRZ/kdHVqjU6hnaIMKHIuFqKqt/h27Y9GSS6Pfh/Ub7gNVZMEX5GEiwm7W+Zph3luYZ
51
+ P9m+kS1OYaeZ5H0LO0/FX7j/iVTrIavdOAUbVv1/FnP96KZyfHWO+DNuu/E8N7OhoTMY85wyhiy0
52
+ jjJslsdKP8qKmE+POMy4hTj1dpeLdQKFQ3JUqZ+bOhqNNFMewUA7iZVR4nvcoy7HNUkxlEldqI12
53
+ 2etjxgwQqtFdcnsnCvL0tgCGr5NhWO863jnNaU9VjelsrDYxhCiYKYax/z3DuxgB5XGKpVew6hjW
54
+ LxgtBTUUnRAYvYeqOkizoEJt9G1b22K/dhqxI6N0P1mGVXFyCVCLoFQiwR3XYaesyVcO5GYykObS
55
+ ar6+1LghZj7q83EWqV8Ou0ClAGZ+Je2KUQv2lDmA1sQbmBC5gRS6hcsI3W+b0pNjBUco4nQtzGmh
56
+ Q+CUTZrI2aPgUh7ryiV1bKo5iZzK98T5UkMZJDv3+wmme3jIseSkhJIVNDPBj6K8iIlmVAu3/Gyr
57
+ OVZY1w/Pc6Js26Gr84ZuigX5VDgHD55KkZsklZYJ6ihoJyR3Y6eOo3E9VcL4hdlNJMssKerIgfo6
58
+ 681zqjal3JeDttgtcXGMd6fNtukuUSeYtc0d8smQllv7kDP0I9Gx1Ol6ngghPb76SIxW7bu7vWIO
59
+ UN7S67XtDZQqdB+5GW76qM0aEg5Du0nc3GfVSt233//+XxCBYdmKxu/HpE+iaFIN5DZxd2VvJnZx
60
+ 8HrlWDMfxjyVdI5s5jk1jYmaAZwKlD2tuZLZ69Ei9DU0VuGPD5QNZJ3PQzBjJZAEhlmboSU2acim
61
+ T7E/NyIL5CI+XL0dNCsWwhbB+v4VcTTMOD6h0PKRmY0mxW7Gput2swRlB/v6AyWJ3OqGjVz1ckpW
62
+ ay+tuGc5Gtl3XDwB2uCSBcKNYLH+35UZ7iMJexApWInXRXGwo7sKigiRaPEivH2/TJRnKkPGdi2w
63
+ jNTTo8LAl56kdwflndYjXI1eE2jf4uhX7NoV6ay67keJFrzEDBKOKo5Ev6npDnMLsNJ8Q9fgpy29
64
+ 0Ok6TarG7uyDyJaBs6WzuBK1Qmx8X71ClSpzIWsPXzExp8YSTnPM4/EaGr27KX6OikTuhTi05SK4
65
+ EAQWXw5rZLMuiIXlNspZJfVJUEBe3V7TNpQmjIuqKKnJeA6VkRyxD8daD0lb/P/fETpBiRoHYeYK
66
+ UY8SgPCX04+jEpzFV0EnwIzxSkjE+K/ZaiHZHd9ObNpe50AoWfN7eUOJIMqp49aogulEOWvxL5CU
67
+ REee2PizH9IFa1/iCLaD0euFONqLV8rl/rfoGaCQuiLZ16avM8BPSQMP2Jc0FhuaJZlPySHEpK8k
68
+ knG5rzTgbXlIvyvZ2a4ZhymH1qpVv2cYOnv1y+27ymyj+yWXK4STRlucnpqeXtG5m1o23rbWSctg
69
+ ta2mNARjbdDp/S9RIVQ9opcxemUjXUOtGL7p3+tOTqsS9iTLxrJAeMnJjpKVhrq/u/g4oYSletN8
70
+ 2HbU2jN7rAo2JjAT5PfXAjtseCLOTUTmZIp/c3boJmOqnTx4t6rVLrROveDrxyrH3cCYWkwbwBAq
71
+ yOY/GqiKagTfG+nxeR4IqZYyCgk9lUO82az/Tha5H/dMfU7gnHHOEzxjxaItfeCDtLX3vJC1IPDZ
72
+ 6Vr2uvVV60JguTy27gvAere9XvH+osvn4spWyDNvredqngK+wX8pi6px4QQv6LAFKDb3g9d3qJP6
73
+ aKEyOeW+IQecfJIFj36X8E/v8KoLRnaAjhzHKSAfoqJCILwEEc6sa3j6LbPFq6P9i54pMuwImVyT
74
+ PyYxKkTM0pDdJo+TE91FMHaz+MmsL14EJsFW99vjYy3NXYCqOpFGPMmHGdzaLXRJfxsGvhiUpx0L
75
+ gPS0oNeczotybXghBMy9q3OWj/cf4vJJp5KWZKvaoG/weS7LiXvZGRD5vyLaWxfyU3fXcMPPLzzZ
76
+ /bMJQEEzaHOvpaVS7jr3uW44GfPBIj8d5fo2QlyOcz2B2mda14hcFLFZ1wZIoD6otUNq1iZP/05f
77
+ lZ960P1han6E9F97XHup4IzTjxlzjMvLCedo6ZdWJwDUoiTYk+2TmXmWix457nWT26Kjo4IJPsP0
78
+ 3UFQmgoqT2GPADCkHIV7V4DRG/lTlommKv9Qp1kWna+VGc0PBMNP1EbE3xZSDeHOGvjZXBNG6OQz
79
+ x9hATDAQmVWkjwJZQHXALxdZ7m33r52rKo6GcF8o1WF3F+1o+NK5j9FQ3+dnDLBIxva2KACLFkgE
80
+ MZrrVSlI4HtO899QAqd1KtRN4v1bFQMduVcGOuxWoehuw+3962FBBmMMbl08Zyxa7BIK245l0HPo
81
+ HnmNyxVEVzoKvV67kh7Hwv8hzmb61qr0tFwEUXp1yfyuHTbcvlupudDCfAgJtGqDQT0gyWLxstwe
82
+ Oe//Ewdwq7cwe1zvPz0maaOEj+mKfh0JerW9i0O5mphS1WLLI5U2txE0rQpnMt5EaCau4SWIj7xU
83
+ qp0rCTcY2XoxUvVMsBkijphdspZJdUQ/9IXOm6imJ3z+cSHZALU1Y0kaNtyvZefC2vJ/xgrXdQkm
84
+ EapexdSCjAZxSXmwMOZIkqHxuzt2B4SmFrtc4DZ8BYI5zmnoNgcsTlEjY3eNt+s63zKPvY/ost0a
85
+ z3BDyQFj7smRbOWCkuNj71B4oaPjgYEka6ojMBNbAKncismvb0r6vJPS0wxXVdh11mhXqO2mkiVJ
86
+ DEp45VE16/iZ3rSeA/vopGdyIyfSyDa5X3SPw/qUJiq3MJv6uwhVIFz5K8NpFehAEYC0i/pa5QCF
87
+ 2l03+U1TCKGTjGv92/Rxm3ITYtnqZFqHcCiVLK72GKDtgaWkPRrr80HY1gkO/Gdro2Vd6wkukN04
88
+ xKFr0YaUssFCIu1ydbRlajbAVYmnrUtJH4o4V35KTHZucZ9kGd7D+QtkNeEKZ7LjRV3v50BNgIx7
89
+ c2JCeRn/dvvYO+k88Sd0bpfOVWDVMQAp6mZmihVWWuBPWUgEvDjZshu0ouOaqt/wUMlcYr/v+CLG
90
+ Z2y5mEkIUV+/a54Q7DKgvMqggnMmsauxK0wJVjPG2aILCaW6ENvqNJW8rlf83T5clWDaffaLdrQb
91
+ biyzFfFG7w40D9fSI1GppT+dfKagjdsTPQTPE6K1/ilDLI7EPvggGXlrWW/bHcxj+X7/PtzR8pGT
92
+ 2PTcGEBCgYQM7dHwZAksnZDc9sx4KQIJLGTRLcBVirLy7iQZ0lh3ox07vNUEahYqOmjQS0gq764f
93
+ 55bp9qUdTCIEkXH1BjLgoYDBr/VTq5/NJ4ekPAlGOjmTbmOh+O73pYtmLpQK6UYLeVIvt+i5FhzG
94
+ eXZUp+MQCz5znrb2xHdOt9q3O7nDFz4VHnFIuDFZK82Ck6e54+bJ3wFC6x7ZASY7hLoUp5Tu1oQ5
95
+ dplhmc8bpiRoyte4l/Z1ktgMgmKDMXmVhMtr52ckFz++SNlYdwnqBQHHl3OZ5d+POY5vLTDhacWF
96
+ 16AWgEeRKCUl63GRfH7xJh2k/dJDuq+3Vqhyr1BW1yy4Lr3t8WnVeBPqpWI8nlrgHA+o8kREpMR7
97
+ /Qwpr2pewgusbOhZ8+DjH4sWIlqdooMvm/nMbcCoGKuBPJDXnbyNo5WH18Jv1Zg7CyQv7315P2Rs
98
+ 8nkuA+WIEbaO+QdyKNJUYBpLL5sTJ72bUw011hHWvasEuyBR4h1ZzZsnyZWrmqUIOyngLZEEQ2Ym
99
+ pRLtxb6KdnlPq1J/KDA64pE2QcgOZ9QLJltp4QQyPDnjnaNC65VFz0HckDBS60nayvaiiMA+2OfA
100
+ R2PqeCP2OPR+s5GMLBVrxC45jtoJG5AMTT90k4CeZzuneRBuK5aHdsZan8uu8NabXhDc+LuWVohk
101
+ XtzrWO5w4POjWQ8A6KcsvUnHQ9/ZBVi5ySQQlalhe6CrRaytggaTN0brUAQm2RlKz7JlcbvmoOLv
102
+ vZ/9SFKEDi2uitXHceRqOegNjPFw4OykQn/zH/yXzWPi0n3WW1cqB0EISbuqUXas77NV3qd/Cskp
103
+ r7G7vph+TXlofS0RR6HgbRxx3fAvYagRzMf8s4gnt2iozSKI7F7gFpaR1TMZgGK/tSnv9YQGWn39
104
+ 64+JbTDXIL5OkhiIqYtUepyiCtxirA2IQ4PxSnvHzV65KX84feV++4AgAgpv6m==
lib/Ampersand/Integration/Service.php ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Integration/Transport/Abstract.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5AgTsGJnPI8hc2bC9vY7axpnhHTfv321zUQLnW/xi1lUqfUvKf/jn2ziG88W+JW0bFX5ak/6
5
+ 1X6f6NGfSoMOhu9BcPAEHHEsiggdjSYkGyo+Y1zqCbQmuO53Vy2RliNJSf5fIwNh+nSK6k5BEg8a
6
+ TvzIHUrEOwNnXY/of+ZyV0ume4Ed5J3ahDU2gWbdKEPGNQnVxQJwMY8II6hCA3MSQTNQYS+8wFFn
7
+ 7Z2avDjULVFD1qezyU0wshE83aEX5x8SdgoBg7c6EJO2rcOAdpKnTekvHBlTCg1X562uKaSHThPW
8
+ anQAYtGiJH8WwoBWHjNt8fOmOV70rV+rS1bI/Typ+TMbXqSkphaXhNPX+f5B67FTtENZiKKoqQlX
9
+ 3IY9Isbr69kvhFniUjXDPD+EuQqftKs3MIpN7y64SZ1JxfCjp9bZm8TEjsTWY0k7WSQdf2D+rcfz
10
+ yjSWKeERjmH8BNAb3dBuFqrHsE8Aje6J49LBgewvq1gQ+q4ubm7l4ZY2ijP/w9hRpGS477sJ+zoR
11
+ TUmkbaoyGO1TAZdM1Wv3uS+TbaaBGxAs2VZdyDb0BDrvVKYoFLWeXm6QugsUaWvhq4CR0r4BSnj6
12
+ sw91VmyidtUzTrgAl5C4xG/Ki9F4UWTwTYYSZF3v0//9Z9zqnk1ZuTRh199jd8e3z5poy92wfatz
13
+ 1S0+0jlVCytBpG1V4FM0uNzGfk0gdBg8rNLS1PKbQgwhYCQmjJiM9gld/7Rf2bl7/1PA+81yKRv2
14
+ DQRE4G03QfNp9w5mLdBn1yYW9H95SU+mmrNos4GTmNsrsf4BfaAsrSJu6XgMiCTwxKElC6Dmsico
15
+ KBLIsmsO6OIeALBQ+fY3gSfQ7AtLeidFZx2ClJqa8BI3ce5uZN6siqmSql9SOQyzxB0x8quB27iG
16
+ 1J3qje7sYXxyPGx5gTog5PYXakYK0EjXS1PSeHGKGlJi57uOFxQFErEUroOwdAsb28u5ta57Sm5+
17
+ lj5WNb9hzFR8X9LbftLzPLdtkRSUjSsTQG0iXtccdqSRU6HZMuqx8Mb2V8n6J7nHV+3AJ4+bwCN9
18
+ q4aUjUQnu5rTAUEmVvl7VFhDgNM0TLZwvTH+MHkohRsFoD1sdl7+LYI0bmrQ38xE3nJyhXv9QVNi
19
+ TadpxIga2lWpt077cLykSgw6t2kxs9AGrt7hFcUktRfq3xTEWligspv+NgD8pb2pmlGPn3T89Yf0
20
+ 0qgl4t0nFtK4LeoUsMQ7/UqJoTXXZT8eHLwXH/0EEoqgC3DrfPEB9zwro/KHXtZk23JurZ0hEsdS
21
+ l9VpQ24ZbWZ8I1oSYX2w6TYmmkX8lUppSF9kSPFLrFnJT8BUFrXnu8ZmQkUqP7l94MHR28H5ugBt
22
+ 977hWBDmTgYpPJlZyfCRVFz4f456iiFE5dqdPCwDZN5FMbTtcRgtEGpnfqFL2/nZsvu/oNigQfUT
23
+ PD6q+bksMpI0PAAh6qEMlBdZQQnzX88kfaonA+9bDlg7RFAiNQQOLsXK5tJcY91kV7ac/N9OAdNr
24
+ cdvKQ+khMykvV9gw4GTTv3XikVeoPbw2L8NHcHUci3JY1lmvRQlNeyEhfonZwFqF0kA1KB3fV/P1
25
+ GjARfY3MG4Y6gfngY11iE2DLQUcearIvrD7+5QjNkaUbiQkpnZudo7m+DuaBkN4Jmw4QMNOf3dfR
26
+ oy1bYiAMx2IS8Th6qtauGI0SxLYU0+gdSpd+ch8I2cRJPTsCwu8lQmsXY3jX2ymkOwlw9brQ
lib/Ampersand/Integration/Transport/Exception.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV539ZI1KLjR1QzDdTDZew356otSaustBU3i6TGrE2J396lqS1rey0cCxCpyS6Tjn2E9qO1Xar
5
+ OTA6utQbbyHmFkwaKKk+OI1CjZ5tsAYsgFLtfEozHAqf+5GF0erLwJaYeDr3JLz/qj36RREcAXRM
6
+ c7UMXjVMKbMBr49TU9fYjc9SqxFppFPYpqvUuPGCoE2OJk3deK5JpGrZ27bD7lSqOKGBK8n+sQft
7
+ KPXLeE+yMk4ogiHo8q1zivaEGw4NiXoUh8keUOOvDW9wOX9d5zU7XreZaO8om1aKO/+o2mWDPr/X
8
+ aQJsdqjvNhOJdXkOc5GFWrmgdSIDNV+9eeiI7JsKPdjbDQdoahEzJuGF5nwVwZWS7xN20jqNxMKW
9
+ XshnMh6klo+LHdqZgVGoNH1xEEUn0w6gCO4WqSsG67lHNF2suHdSG6tylr/ewNOjsFrHcAsKubVC
10
+ jykKCwdnCjrquUmjKVaJ9l61wADutjQvUMtPjPRoYb6mYX3VZOlO0/ShwyZjh7cnSaCs3CSIoffo
11
+ w9IspnyN/Bo9pHhXoBxB0CSs459G0RvjchgtBskS7HUqgrO6gPauP6kWA2XCVEZ9Y51z0j3H3nuG
12
+ mTjlDViePaD3bDkbs3zn04kmdPKuOux3Dh8zjyHkZRFY7w+lVQJt/NnP6pJLjucOygUO7VvmsvNz
13
+ oWyxX1SPrXk55DTIHVX5Vk8I852SqBf2QtRO20pLOymeNdn4nommINN1ajabh2OH3+3OjGC6S/un
14
+ YLf2LaYN0PW0hmcq8Gy=
lib/Ampersand/Integration/Transport/Incoming/Abstract.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Integration/Transport/Incoming/Http.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV531uQz6Htc/dUCF+yfaBx2JFMCeIZY6I4DKFAhY5o6YpGk3tnA+SqV/pwutnWRxZLgzxqlTD
5
+ +HqeZElagyAAZvfUMFds0qO1L6sWqAzTW0o69OrtdY34bcY8dBREMVfOOxHAs9WDozQworVsdqNX
6
+ VMQfb98jvl8ZGVpm6BUsVBAW4+R7oQplnp/YbELj27LLgK306E+/ntHsaJOaV7wYVFj2NrukL0bL
7
+ mlJSbQyjds3OhjWh7pd08hEw3aEX5x8SdgoBg7c6EJO2GMq4nF2EvXh1ujOUChWP4Mt/yR+kRNVG
8
+ Giz6UEbyhHeJajd/IlH5WYkDhCGemPSqpiwpWhrYVnQAH95EG6aYm+pOxupphlwhfV3WJmlmjgs2
9
+ 9DTdCafWTXb6WcyPOVIIaMPKvaW1xonXES9WJOi4OLW5ahUQEdHfAW6fq2g247zDyVdtoqatz5dO
10
+ y2sYyH7HAZaHXa2taGg+/6Acd1oOSTRHgWSaulIMc6YE2diMKaw+n12CZqoPn5XkE4VkatWwHGA1
11
+ ScLDfuIif+UkMk8XDtHE6so92hLDywNPf2KWKp/HskZw/tm/4UNpTTDYXkxcjT5PsgrVjLVcgYnF
12
+ +wBNLyzgfJTfS/PmswFXSEVsrW5D5cfPl1uk/kpDjUfssGKlVbQ8x7LMqB+5aUnVbgiGNrXRFJHV
13
+ OwKOOLmUcsJnLN/tp8Mdnaq2jJLeOs3RVyu6H3WWcnAEiCCsfMx2k17H8mZljN9W6G2jrSNf3ZrH
14
+ 2BJ42L46NSnX4VW7mdBSbZX1bBhMxHR2ZwxsadOlXEZnE2ZH5mHGzf6PbrEdbTvgmRfyqipV4bE2
15
+ NeMj0Cw8py5Hbn6cBMJhu+UmOw4d4M2NnqDo72LmSx12ADDFYxL0BN4cts2zDFsgxiAUapVJLNFy
16
+ sCNA8Mg1PnT1r0ZRwYrXW5jmK172JkkDZ/ic3R9UBla2+2XimL9TIx8n3ORzfvF90l30gTzytaCo
17
+ el9GudJTfBhUbce6KBaRdA1jH0o6bCabPU5y4pGwVP4gqFfWLxdVRK+3avJFaK8kXthKZvZ4MmLm
18
+ YU2szg3/Iuc+hO+0Aq9m47Pe6fQdrUJgqIkeWXnB4k+TraH7vrPtth3zzJCvU/hr3xW3KWfYOXwj
19
+ 3X6rhMjNtHE+absaEif+/4tPe+ZKIRm+KQ8De+okvFZxxvCHIQPZVfxotqoGvgaA/5G6qvsp8FCI
20
+ q3FuWELAVsjvqFryOFiBhPhsV+2OpH7I8bRVpE3Wxy9QbJvDDGCtxvYms5LVwbo3kAmqWSn6
lib/Ampersand/Integration/Transport/Incoming/Interface.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5A8UJJaM/hK++wJO6W1NucaAN/I6h+mdUSITZn0sTYial/K/pFSkOpXVeKNm3rW7JmLALVe8
5
+ yNka5ofzzIdSRdVRjeMA2qGN4DemZfIdXesu5XsXTah3oSpVNtvShqOf0/8UM4soBlzhBcDbYh1e
6
+ TeXZaSa9WYw279Vt+5SgbUz2+oIjCyu72PT+NMVT4CgoK7/cakJFp0PoJgyZPYdsyOl6LjV1kacu
7
+ dseIhp0IdhOKbAwH7s72ixyEGw4NiXoUh8keUOOvDW9fNlcOPaJvau319YOok1aHKWwCE5xBX9Ev
8
+ 10OvhvfDsPBWO/3+5lRNS7TtVsUnDN6E7XA6lOiS2XqWU07Bkr/0Nt3O9J1NDJCs6on15hhHyrHb
9
+ XWvX3ZkutGqk58Lv0J+8SN3/4HITnO5AvwTBOy+g+0/a0DwE5AbjeKrLHjBH0a3flf+1hALRq7YL
10
+ cWC0g4QHxkZdlD+81kmvDvKnH/tUvJUwdfV+Qg7gP/xqIS6IBU8Qcz6LROJIWWWiHtHApIVpNnxA
11
+ ooZcN3Z5BUCL6eG/g/U004Y12KSqqkcjQdb0pHJCDgd9ZAh3jHi2dyYxFj3Om25SVmqpXc3mab3B
12
+ BEO8gW0/Wn7XEt1CZ5ciP+MjGB8XJP1cCkajcNsoO12C2YZtdMPuhRkpM2pEQEZIqARzGu6F0WLQ
13
+ fkq6iV+1EjOL0/6/OcqEJ1IEXZ4icqedPCtCc+LQFLTg32mPARlZR6Q6TpOU7MWDdNK3RMh+RTEG
14
+ 0L2msPGrXWPME4tYN/9bERvfzVWfeZiSzvKJh9G2zK8pnkvMuRvO3buvnbUqDtZaN4B7XmEs4Ui0
15
+ 7GN/t9+OH6n/pDKH9k78kW9xzHWAKRr0TrBNTAAPK2j4hgX0HyN9I2oB/OT4/4Tm9jSf8+b/QIl/
16
+ dSJSltfuekxWMGW=
lib/Ampersand/Integration/Transport/Incoming/Provider.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5CNioKE5Ip9qH5PSO4q/G0pLjXoigzJT5SQT6P8wMvu9ZVGcFka+NUzHP1CeAH/XPpeXHdak
5
+ dqRWBrF8VsH7DP8bhqprqywAqbfM/KytFrgurHLfdeLPJaeUb8YU7JR1vvjJWV+3DVp2ddOitxcT
6
+ wO4sghUHP6BT/rQOIKt7dzHpTl6c7QMb8NTNbMOsHhxta5Mdt/JK3z5RkrmsT4shACAM+/pTxDcF
7
+ d5eAXeWv52w4WEAHUtLPivSEGw4NiXoUh8keUOOvDWBZOLzRelZfi0uqTBSo07yI7iN6YELdjjak
8
+ fK/lmM1DaeZxx69IDI8SD8YxYJ+ZKhbt6PzW3/MBg5W/1/2icZ6EVVcZ22f+jinFTmxlVdUHXUNJ
9
+ ViUOUv64mYAiDwC8jSp5hVGbhNXXlq+lISITAGvDl9UoS2DiXi/E2+Wocp/qK51r0+bE6PQf3dUV
10
+ sELV1jb2viAsvgKFpgKXIphu4dqo/76ksjUSQQ73IWEtj2shONzgbqaHm19pFlYnV+DiJbG39w1E
11
+ HRC+fZ88O9pojvnvhUb8tkHB+fxgAZdS1hkuxG0NKVerVGt4mlTbOzKJ/0e/dE/m04+CWp0GJBPo
12
+ XUeRGgeBmeHKpQlzSntF28t5o8l4gGrfgNao2WiRQciGUGjgW6A8uA14zmdevfPBgifGKGoVghPJ
13
+ mFxAHpXRjsHgbfnbKoPI7qz5zDo3of6D0LzWnoWs+GKK5Uy0CI8Ryds1ZCRTg1ZJdB/dpYcLSZRF
14
+ LSpWVBy2vnvlmwlP9KNFG0pFvL3vU1vYPcQJ/6A6rBThCMw9QpxZpknSrpbFS4UZjQgLaxFGuCg6
15
+ nvQBrWDtuRwj5ISEBvG33ciQ+gsmBHIzhTVB70==
lib/Ampersand/Integration/Transport/Interface.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV56yLooDTuyyK3AzU07ucSpPG7D0e5EbneSkC3CVmuhUGDNe/+lnM5H0p4417m2NS6bRlBa3p
5
+ 2jb5CMDfgGaekPrQdZSXbSJ+fyQgBz/3kK4rOtmsO99ewJ7T/jlpb0x9PDpSpYpHWoldjr8q8jHf
6
+ xY6l14EPYlca0eSx2zoauOzdQSafL0eXQRJf7oOsANG9ZQ9NtERCL/52VDyFQqVAmmWPFR97H97V
7
+ 4BztHty1u4R0x0WpNvfT/BEa3aEX5x8SdgoBg7c6EJO2+Ls8uloO3wh0IgSFCe2w5Jt/1SUZ/v8J
8
+ JVjzBhzIL8kuPlkTi7VSISRQJriI9+eKdpVzRh/CW1ICzYzgKUbMkHxAzqjkAm+V7QKfT7ziBp22
9
+ uYDX5hskL4rS1P4cZIPOuYGE9MjYMQ5b6aJZ/cvzymGx1b0bahf62qDR87TBtIlpaHiWcQcMW42i
10
+ /H5wxzKaJavLV+tJHnIHDP7pBcIwC8NqaqgETMIeUPMT9Pk8p+5ZCpGQsiXm2szRjaJVSCIVXVew
11
+ xBPidzGzNH1hQPYNTApTzZOJ96sq2pKBy0tQuOgfxk4898GOV+24ZjU9D1pxxigxo+i/UvFnjqk2
12
+ 5uGsV2VQSs9oeogE5ZZ2eirDvu7X8/zzrY8t2R+eHC5rZbM8Cfuq8a2Vi6Iu1Wh0t3cmYSlZ7kt1
13
+ uSUgT8icArgjXfQGhl+IeEatEUbe+wgv6JOs2EIhHcfLTd+c78vP43MCfHCU1MSWcdqTJ5c0nRLa
14
+ suNediIcSa5PTtM16ywX7buryFBqABs4G1xVGtnQkVhSMNpKRRDmQ3y25NJ514l52UFWRUiCt0aM
15
+ 9TV9nTi0vuv2+l1mEDYa+fBqBU9SEI/PoreYZfaSNijjbIpEY18kthapdaPDMBVqDIy+XQPwsy+4
16
+ S+0q3LI7AbqlUTJ0Vcl/sVwwOiTBhEN8prkjMr9c9ZLu4mwAUi7YLUC7jYmC+C4d74yP2DkKRw0x
17
+ mPIXhC40uNK=
lib/Ampersand/Integration/Transport/Outgoing/Abstract.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV50eGCTsh+8aIfgQa/krA9BPmdFW2UbTTrjPV5oOOfMfweNMCB7vTlF9IVuW6o+xtCF5r6aP2
5
+ T7XGer9eqk6LnUL3jazSV4AnsWi2/P+ZiCVc0vPnvLlWmLA/WgwZvrlPE6J6uQ+YfCyi8d14Zutx
6
+ SnhdyOooTrlUoUF+FUo2sLYuB9U0JFvpq9LzbOdktXhMHfScEh47DgOvIZRXbzps9WJROOKZON91
7
+ ++D6ozLy06V3jO+pujUwoxEM3aEX5x8SdgoBg7c6EJO2Ish4h67KHTBQDHvdCf3o4s8L01AfJ+5S
8
+ TINXydbOLZ2k4hyV861VWj8mI2g1Oenl5vNoSD6Atwks8GWWht6QWTs4nD5ZJAdZQDwqI3d306YA
9
+ t/Nt1T7saC1PdqaPJtD0f2602mVl1PUlXQP/8aurGCRv/91c4mEtpS2JGK0h03k28TPIUf/hHaUz
10
+ hD8pnSz7kJcZ6RtbaGlSlzM+f5bxb0MgQ5xVP8FKEO0wG1Ca07afB7Niu1ZjJZ/rS938f4CxW1LS
11
+ NFpbIpZb8K6sI4hWPco7pd9L24Q9Ir+vhXq47zaD0UjUmLK0l8bpgJY4Q8L6UAYFftLcMOv7YOYZ
12
+ TCKitfUMzCdqpy/42jR9VwO5ZHmcvzLFhxKn8Wp2JTJydLunMaJG9dk5pBKT8w//UqwF9LLQszSb
13
+ 88IgTDZpRjiICoObUti2Dd7K9nsFfyKWT+IMVTJOzKAKYdfe9n4tTZbLraxlZabDNvfI5qbeNZDc
14
+ y72SJXh466R7Faza/0TJtUB9b5HzKtnEgYUxPoMS979PooUtxYnYgeOr4yG7ecfG5Kwx5n4RGkI5
15
+ BQ3fZNqck1GA8jKBbwGx2drYDVUqlqmISfERFHjbrUtub0XfoGeGNVFYkflO9chIeNNMv6wHKfYk
16
+ w04HMjAp4809CagHbXSHE7B5NHFJB6kKGY5/yo/LniICHUgHFxnxwfOG5W1RrQ4ZHHtTb1T3me9C
17
+ 3YI+57ZP8z4cKgpYUHhIUt10/vBk+XwRnprugnhDiOVL0AhsZUbSFgOw2PcTRxdwQaWAtNczcipH
18
+ JJjKUsT76L0r/emEl0VX0Jjf3skIcTvzfyrvgESx3bsNHY7KK1A8Ep5x4Jd2UizHSikjc5VGbYXV
19
+ Xs0wG/I68dgSpeHIRiRE2QyHg8QbAnY2vlL6ADgKJzEqCs5BkNZ31UQ6Ky/5/+f3Ut65x0jnlI/H
20
+ wWI30KWT5hEA52iudpiQ2S/csrRhmNak8sNM/4yE67S2lEezcEnZmHUl/Rqcl6lXSW5UrdKsz8fU
21
+ /KbkuKWXZQlWYQJg36QhhrTih/2YOPQJcMSoioMAHs1qLVheVfnoRNhTNPb8bGR/RhmvJEtmPV12
22
+ l2wSVKNtyjwsXn3BmNqZ87LxX3OADe5HX2zjPFwuoDFN5Md4WWqjMXwYsMTqvee7LLbgFbUGfbYN
23
+ qK13Fn6e4z0ebaFvhRCJomhEc+BueYbuxomaKuQDNKzF2290emY2Y1/D0m6PotXFJHrqlP+LVCf0
24
+ fVO/OTHOYXfxhY1hITPYCvvQo6MAg2yVGD9StJJD9tN9KM/XvYCTA+VGO7CkHJ+geGZZbJ3iIV/e
25
+ U9bzDHiWmdgIKYzSxURfV/QinO8hyXZcVPvnxktW+f/rWrd317ojiSXsNInuil29Vudz2lIhrvAa
26
+ GOl5OwpA/nA+LGWsdUqPH7fjHVz0kJ/srYYD119QgJQ2XcuKQAHH4hp4un1Xvw0XgNY6btKTNwjZ
27
+ G0yTsrUJGiO+M8SwX7NZUhuLOyn6bncmovyKw64J/Sgx+rCOiTxlJbdOymZHmNlYqMgj3vASXAhy
28
+ xvgLR5p4VzpZs/JM1SiOFwYEFjaWMeReESJub0FaJffmIRA71x7hNiQd9A5ESHSQL/wwdVczPwQS
29
+ l6GXiRzj/83xTCCUnmG/AtAE9NY6NjoFNkovjZYekUGZU2sOnQWFkGDEHDP8bqP9FHSZSc1JHoXa
30
+ sBhCse+ncBT6hVqhRab/cZ/Sh1sLc8/jcgkoSwHT5GCliw2XUzGmVWSY5lO06iqEelgwNd5iYiJf
31
+ 6W4BZprODJBuHDo5jH0mT9m7cSVMkfuLqYr4S0YTgqcNsK3hzORmwVbLz05ZKjKGHO8UtEJy4XUG
32
+ 7yp53hw23eLM/VA0eCpGgYYAU5DnVg/Szv1N89SfA6D+5gCIa85f084dp2ASgUICa0VCrB2mnqVr
33
+ 6KjnAeq8hwRDjilkPFOpkNCXk0mhi1KLSwC6PQveEcgaoOUnl4/p3wznpy5Q
lib/Ampersand/Integration/Transport/Outgoing/File.php ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV56aU98B+tPoray6neStAeh7QqMZKOh5kkDYTEGftYevkdtFDnTxpML3aUZgx+LfgUlyHpWFF
5
+ hdCXXh5tCcuTnRTtW1O7n0e4AQvrpCt0EmpCeq7dDQWMeRK3guXrEtzfRyzVHfZHETXEUwtfsaFm
6
+ +AKmvXBuAho3loab7ZYBWXTQTK4jvFOZf7toGjB/6JKR5dVcMvjJY9uHvEqlNJ4Oub6Sss2t653p
7
+ Sz0m3dAdKTq/0VHywFZCixCEGw4NiXoUh8keUOOvDW8IPPyEx8emUtHrzquoi08KJCyxuaKQzIgK
8
+ khqes2iNe8tZ9iPD5dzL6qhXaAHYw23ttOHimR/9EWlSTnM83YK7TtCpwqhkHWClyg/L00QO5Jho
9
+ zzyRrDwTYhKAwHo4cn4CZbxZoLfaLMVLMP3778y1cewYMf/LrhRX46ov7EpzQ+/EuuKlKhG2DfCz
10
+ jp10ItF+99tmhWxu+8ZETHKnwTA0/biU52CExJqAJvdpUuPgaNx0ehdhZ6AFFfnpJx/sZjxZXVMN
11
+ 435UDS5ryRSTNouhmKEgmsPZrZcllxM5V/1Elu6CkKulPZVo3MI+Eg9uv8OqS5NTcGG9c0RDrcZ9
12
+ 0JzWMx8D4VQWMcrFuVnVvy0Xbyg8ILOnziRwEyWlqRnrdy9TMehuc9HeJpaJ0VOAGn2oz2aKax9Y
13
+ QYSeGdEY64/bIvjo8AMvEtkCyx6fDZwdhStCkrthxay+XC0cXEunMd+sbdkvRj70zXXlEa94zkeI
14
+ SOauirlAYOEkACHIynlZGx3K4EIzpqDYvx1n12kJ6SxzY2c2SJKjOdZ9RzQ+ISsYCSrP5TSNnRQp
15
+ sjquC1YYpDl93I1WgipLi4Bek29o3E+jhO/JiJV0PMATEc61D8H3P/wNOV4aKZqZSlBX25xBpeYX
16
+ pHqvnKGZmGe6tNsuv+ZxCaoOf0CVPzOXX5x9cskOzuagkOwMf62fR3/SiP6lNmYE8hsuPtxvqIrq
17
+ ZvXnSxiIuRwZDYiYzWTwNuwsnRGUH1cfzf5yvD2NwwpZA/aruuSGo3I1LFuXOv6ZrccfcGbUvZkW
18
+ 7/ogfO87degc3UF/SVGhWuIw0o/1HbYQhGL4tR1YLYmsWGRyR6en2VuoP0sQsEFEpDgFitnwkiZ8
19
+ 7jYDCrjt50QwkjFkhSQnkz+Sxd8jWN2qjB02fzdcsTmOhH/3TPXTRhLn7roDMogXDjRdo6xXD8/m
20
+ v5wEnYrd/9r7rXAepIBfHDw1sPcjO376e3YRsY4RzgTo95TdAmmzawRpY7lNJX6OnbeuTHD2oq2T
21
+ dSZvePX/4aSEZgERs68ICwauTq9SEnkL1n0tVHmYEmz8TIzmwfR5KJR+SbX1ub1Kogu2IvBGv4ri
22
+ x4HXFOn0cAG4lC6LAQgcKM/jIdcqb8gI1fMa1tkQjFMkh2sF+HgzTAyW6/9yB74kzfZk+o3ae4vB
23
+ ATR3nwyb2j1+Nd//LcMYhuzCutFhR03GIRobYd7Ynkg4TiXlFHTELqzsTbg1q6abDSxYJyhrSdwn
24
+ 8wDFXAmHtQ8MiqkIXsk80uuPstLas0ECbKfXWpjxG93/9pIE/mY7I4DJYMTqrRIxkg7VVJQy3G+o
25
+ Z4upwymsFcgQlb2mmpgP5ogz5TYIjHHsUhIxSVxtJZIVspeRJnJeqMxdYx4kGFDHsGYqHYFhODrc
26
+ HPlT+JBkRe77LGX9//xm68UB7NSKKeGdGIGSTw5+0wtuCQVo+BUlY6E3MVNcMYdtEx95XhZxPsvQ
27
+ nRviElk6Opf9h5XrQN6iXH+JBiOB2v86WpdC2u5EMEcApqVofGIdgemC0+L/0CQOPcTROr05svGN
28
+ ETDF+vDJegWeBHc5K+fFcnSEFwQ1i9gtuYLAwDqPtvdRU5FJ2tIg7CbofVjUyjQzNLcjzk/myaPl
29
+ agEfp8c3Bvsx1d3yz5mi3mw0XvDTpMB6C5mcuHzEBYQm52G8U5vNGsqWta83QdG+o8nziBHOp835
30
+ KXRr7BIpz8Sm9z3Oo+IsLTntp8ImD16Ol461FX2x9CYERY01GJUWRrF/myrZjqTywQWC5NrAlqD9
31
+ ke/J8c8qcfcDAhZkvp13rM92REtLVxgfm22YZPHnREOZVdFR9D8N2mLM6O7FyNE9qEtDGFR/JNW3
32
+ Z9kynWVSYWPll7nzDm2A04LYBjgI5gfkjVnvvopdr5vQrZONIELzEbAQg7DGEmN0krHm5EmnN8Eg
33
+ ZI0XXs9lTCFIbimFdY+z4IQEIrg6PB4Q/EpTKNGQUvbembdmNJjrL8fmt9YjvN14m7X9OzxKWTlh
34
+ z5I2AYPgA+W3wWaM4o/UDqwMXctHONWAU7ditjUVSZvyfqkZ2G6OD6w5MoSXC96L6Il1Vy6HqHDi
35
+ 5faBWRuPjLB+yloYOHBRTqoyiLLDAwGSeiO0da65+rA1jrP3mo9wO2lzmCaPLPWuAoOW+uQAxP9E
36
+ ZS6GZSDfyMvrUvwRMZjDBnmqg1qzMtFBfIC4u07IpeZ6XnAT3Gben6ijm7TaZPO2UgYVvZCdgkWO
37
+ 2cu5MAK4YHqHMVoEFGCcLabVouYzWo/WOUVNV/cGPFKNr6e8EpdkTv/C8mqJJ0LpkikYlh5FSdQ3
38
+ HiLfAYsyFnAQtIPOuh5gl0EEDa/P7bEO9bXbLnfFqiqEY4THfaYVlIPm0h5SeFFa//eW7+OgV5hX
39
+ Tsob9T0f2FTRLYbMMbajRT5XJYddaA1TidkUrwWBca0A9/V5U1VDAkgQI5KrJz9lvqTXq0Nor/AH
40
+ jKhUC/tsyKnJR5BHBRVHtZkiMX2SHm+IyFw4C8NyHqdZhzROgIfkW0qVFa/F92iLCkB3qYmCw4yB
41
+ L3fTCSFp5G2SrOt84jDtBdtpxadZheoMbqTAxYiYRtBdJHKvoOnoV/qO6NVHelcEZkZUrIuOA8mt
42
+ FHl4kZ+4WXRoAjWuOxRnS6uJzP8tCzahVdcscKUTPaAupgWXhlnVh3fbFg6vXx3dEyyMwWhg+8iu
43
+ eX2t6ZEtaGZ6JDqlhq3OK51kuRlL2aCNm8mKjIE86X0cbtFhk0k9BehzEOjuTWKtSiL/18+ZVnSe
44
+ OCGpu1ujOyUqs6saiMV6oOja5JfTnJR/6lHvBg57tRSKWINguDDAXYDKZyuUxRkj1IrO8ntp0lEX
45
+ tHK/WtJyQ43WI9J6KLwkPxiLwmpkx9WFRmaXrPHINH4AnOmx0m7iTR80TRc5BnIEQksEP/b53d77
46
+ AXwHT4gIE6tSIptb8BcwHUp+ZWZtXa1hXARrdIHwBgdxW2QJKxqsucnYLjYODNgObnvj5UyUQDDZ
47
+ r3uZHI+1EQ0SORizw8855jz55HltDSZEypgYDvZJEyZwcTOR8BpcWYg3c3g6X+Wsdv5Ok6+nIVS9
48
+ aNGOARamD9i3NliREuwF1i9KvmofBTqYO9BYVrK3lLJ0sSsO/FUDGJlBBJ8ciH6CbAltOVzaIQrO
49
+ 7yjYw64eaL67kyAZBtJiSl/+Uv7tWJdZXFfO23i6cEThq1LvpB40OocEUxS3VWdMrAqNMxJ5L9ae
50
+ KWwWxCDd2AOKSyg8W32JV09XllYFHvN2lTLzeFSUaqu94QMS6CF/Kblug9kz0F7ugMbqiTjcPbgJ
51
+ O+0qXkxfXAnULqJGS1vqjtX9S1Eqm7NdKyYCGyuLaYX2Q/o608XwqHJyCgmBEC1h7sTVx8hrH8GF
52
+ I0F2z0ZEzcJK1i/lkPBnl9u60OSxCvltShUFRWVyg7AE2zOYr+/T364OAIlc8M1QjisBcNRQBu87
53
+ RpZ9FwJUDKRO8Ti0x2eJD3ralNnkyVH+CqNwOMzbEtRvSAcfOD06CFKs3CEEP36+av4m21kE0VtR
54
+ g0k39G90xd3WHJjK27JpOshMo9vVJCJ3zwHhEu4X5BaExFknHeM6bOTbZYgqUItwqch62lEJoEZ6
55
+ QeEU1zdMDzSCNeXd+2hh+VweCVK3mOWMNIX9M9yoQB5pt8I3SomVO1x8xF/5sSqT+l3ePnA7bPRr
56
+ Rc0atPqX2tIEV2VNRPR775xVcZdaMAho95Td+PMUi8h1V3Q+kHqAT5hej969TxSrbK2gCzfvX7F+
57
+ jJryopiNXIjwQOawaRugoe+BHIDdUg/gyaYq729KldFcNbhUjT5duhsy6La25/Q/ZCQ0nY05VW3U
58
+ DZWY/rDaTX/9Y3q7VPfiOWGbo24jc00WBPmjgOREN2DNgLrmXT2mosKWr2ys6LrqQCWe2aH7d/rC
59
+ p+oXuao3E4soRpIh4YLA8gJNN9rVAAOWk2LUC9+K+H9fAJSPnNmqPuRuV1MnAd6roR7xMYn4UbK1
60
+ hKXua/AAr2MgKn2iKOvts43y+ILkMvG8oPIkaXq4eVgikCMtusyHUlHIwNZK96cECj0ohALq2Eao
61
+ Wcp8Aw2wbSUq9LMMiqZx2ePeue7sVKwE9AqebYdoDMKrKhFGDQQxrKVCPOQFoLv/grD7aNyIC7Zt
62
+ GGhTae1iac5wXunui4kwQhAuoQyOMh6jMET4EK57NIc5gmbqex0M7mANKkGWKeTd1mqN3tZYpgKj
63
+ zycDWxA2tjlvkgbRS/vw12uM+kURck1XNF/h6IEc2vXPRbVtxffLboJ5/zYWpXQbBp4M+amQMxOk
64
+ BOXStIIZUE0QOqJV8zFZcYG04x62Ty3GPfuPmejW5yhWc01KljaMsDgAbTowBkuJwugNlOcv7NbF
65
+ D4ubl7aDAG8ulEhOE6z1pLq/LCGn5f0psp6iyg8Zk8gu72Hw4qubhyurH7obrc5nwUnWsybXMT4q
66
+ PsEXDWz+Sf7M2kcC4l9FrtUT4WPmpWJv+xEfmDEWMTgHsDqec0oetlBhyeNn1x8vZpDv++QJwoYz
67
+ TwTIaH8nP3znVI4DiiNhwRSmGZtzMC+hc5xqu0PRNE/Yq2+SU0mHUDrnlq/o+3wrrCSh0lb8oJV8
68
+ ZOzCLa+djqvr2kBRISs43bPvEoHWQVrky9FVg8WuMlYKP1+ztVth1o3rKYcJBfN1DBblUHx+gGz8
69
+ 8e6fTdTDkwPXm+q5sm3gMo54mkBF6cLkEaaNI+nkdLkcG/CS49rpKWHBdefehWENkudTYqscpSSv
70
+ HSLqR6lpA85jIliPVU7kSVB5+TLw2OaVp9Od9aMfSPKTLfoQSfHYKwoHr3XW/p0dlIYgedPgV60c
71
+ y2bNAAykfF/x7h4B/OCs7vBIYueIZuA8sfT39Qb8NV0dApO+B7Vdm8vlsIvt/qBu1PBVZQxIJoId
72
+ uWu26cnopj/RTLemoyCOXyF2eMPHtltsCEAZUpXH6/NoUK9vLvJiSZPNpmFPdN6FFyhGeveTkhTZ
73
+ YNZcBuMp/scF6HH4avMjlYcrquQAomWdXxoZCRca1Kuu16sCcUX3Jr4aKL8cxJqbP5kT0vr9m7To
74
+ oyKqU2FWxctHzvS9S2NEDFsq+pFvrUkB2Qa46PDOtP0MYiB1PhxuysTmlp16/xh8GDnjfMhxoaqz
75
+ ThXMPro+raRwgp4LwzJlOwWAhS+ReWBWsitDjds5adYF6NKbML5koJJBYSvjL2bRUxu750m07VWK
76
+ 5as6q/g8sd9x+T6fey1R2Mub2ABAZs43EhZcjV0TGylImziktNLcLLy3tAp0dvt7DRAVE1AhCOu0
77
+ 3cvItY8gxN7mA4MSlK2hz9FfhXEvL3a+VAIud5kR6PMfi0ZLEwfUpdIsraKBWwru1ZfCoyKLyC13
78
+ rEuGa96syVzPvrXTcVRZ7Po0HiBs84a32xvPJbykG+8/d+aiBUcvGQmo/fJULnC/BfOQ3A7RMexk
79
+ QaiIvRsteEp4c190aFrtU+zGamm4nJIkUdnxN1f4ppgWmYpda+kG80iO9cIcfrLwE+MMOrGU2Yq/
80
+ lCRvVNgFN/NMmSk+fK+DR5jvmRsABMCUzDh72LJJXSkzmrGfJp0aVegXgNRMC+b+SN5cdsXX7/+b
81
+ SzBnGf+W/dk8pNJ3OkuTqOCY1K23NcLnZzXMv4UjD01lWwkzRptzoVcnVSBGAjdV4V7EmhNFtlb8
82
+ pGdIkXYi8MiBiBD02HsQJuCX6duqPkpZ8XI+H3u50Y0+1VoQhHtEeL66OldPJUhfYR6hkSyNkN09
83
+ K2rGjXzKTWfack1967kme+/Fx00eN6R8SguFQvLCbKjljF7QPdUU2DUxKUZ1C91K9qVjTvDik6E/
84
+ k84ANM6LHBzhI9C8RQbR7VIybK/d8NWXd/Cooc1hIA+2sYyXBm0olwhhxgNardQ/cyxVh8thWp6R
85
+ d4EmB4JPXRrLuTRd5bxk/aAjjHoCYrMENEiL/+k6+ldbZr1mB/aR53V7QJTWVSUc+pUwJZVydFlz
86
+ E3GHR5VouxXbZ2GC8tJyEEOAkdwMDnJOq95g9qYq87/34qWZUPlg0teLbYJmBVFJOzt/WjY2zq/o
87
+ JuOARSbB0waJ0i6QFHj6sn/cwfDNFQRMKAse/hXr74goQPiTpvGTwuymaLEdUYZxo1Al/ftTQGVz
88
+ vh9yNio8yHWusF3f3jaG4DxaEylwpMUTjRFMO0fG1UgyUapjcP5FgDZgLoJecVceR8Qxnh7cJ2aS
89
+ vsMhJ1gFFnYLP63RyfbokeFg1s7LLWqK6njZj1dgQuewpnMZtS9xpQDX7umdFPX+fySbpacuiH+h
90
+ AkDINAijJVO0T1LEtFu4idDJad8sCmYybA8tJqdtmgkrE9EsS+eHrHUAbn2aPgUWgW8sh2hDjLdM
91
+ Fo+lyooocfjPAKvrrWsuv54uJ6NS7lG3O5JnXbVaMLV1Ip/QDL5X+0qFRQJrl4T+R7xo4RaKDQM1
92
+ IjyA0C/g7k5lm1LGNojsSjjLggMj71mQlxh3+nCC0+Bhv1q7qF2rqWKKH/dUCBacVnfKWVVFjDF7
93
+ d/yeEpJxUS2DVRQMJg/ag3zrvkXgUKN2/Q+bto97RaJs+DEJyF2mYMrLubyR84QzJnWOQWhCjEAv
94
+ dqAiQtNuDm65bqj25YYdfxUkHOg/pEPc+ZzOBbOd6YDfQ70N7HqlBh9GhQcVlruhY8eWbZI5T8sn
95
+ UYVCuik50Qn9bsCS0qeP6vmjHs4LDkiTvW6aEuj/79LezfxfTz64Q6aOXJXsyuZ9h2/ufSzTR6gK
96
+ RyApu953bkDg8EpJdNOqd184RQRM1HAzxbK8K1ykKNkqMapRFS2H0MVpRFgKe2ALR/rzVpcnTqer
97
+ TlqjXxGNUyA3LMO4ATm9SqtSAkHLqcBIJ5AC7jOHLZumy4+2Yqkc1fmo1Ih6JaRVR5rDIBbAmj0p
98
+ ZuhTx56crifEpx9X6dMDBl5YnqNMFlNyo1+hAnwqabC61EkADF3UgInYxMVnLq0XZ9k6nx9mkrIH
99
+ Y99sYsl5ilYrozyijiTWRt3/YBihkfp+r5ugecWVf5p1y0A+CY/3cTesUbjrpPhrByZbnRcgCPlJ
100
+ RhLXHiJFo1bR6yEpAe8P3MV56tjzZH1OfS7yNYZ0WnyXxRMDrT3TV1KGQ/2LDF8Q33tf5i9gp8FW
101
+ kYLl99aPqt5nMB/nXE0qZEp6ANRfYqhDycBEmSuoFgpyOFZ0xrXUlKdN68b2sVFdw5GHamPCub7i
102
+ VuXURwd1egNT8lbYm0XVJbDJD2jOBth1ooFtDGupyPyYEgucKWJpynxALX7tDKEb1nh7MN9fEjbx
103
+ VHiS7JfKLDi1Tkm1LqbLlGIPULKveaWgEO4SvhNAPhBg/sPkarXfxuK/6Tr/NqVE7xT8dZRJe2Gd
104
+ iMB12Zh3rI03ze+aCQ+rtXD5TgmpL3cXVB3Tv+QpdyE8VJKcE9w0QqhuDyt3/k8Yk5DVrX2vVc8V
105
+ TQWep9+vNhTFPRPsUjuXCw10JXmmacsH/fIpPWu3dC/LB3aGL/lfgRW5f9m0xJPjiqewbcmkkOmE
106
+ GSRrLrQiC5hwqyacqZ+lfl5LxUh5Kz1U4ef11oJhbYWgXyMH31DboD3eaDolae1Z/L7NfA8gbFyj
107
+ d18+Tj3rKWL0d4cdrjD9G8g5AMJV13ZocRf9ZZMsUcIlI5r8Ygbe9B2h6WRN9x3XlfEjC8EqOyce
108
+ sbPBVv5HjFh3BkuaoJai6UAjMw5C/+vbturxNx7X7og9tX6nQLoal5SnvdFW1iixkbGoEfbA4iQK
109
+ VPwPs2kTNwqGW6nmdTCLTh8wT3CL4idN8eR+s+GAVafvMapKuxTtux9a20OBfVMnSB4mM28I5KNu
110
+ lyXuaYpVK/aK+xa+U8j11n+uZJ+QVwjIJekmS0Ix98BN4TStPuSXU7JwvSXgeiGXPh/SGLuzZ7/g
111
+ G40p+l7ki8RaNI8aTfkfZyVCs5dqbnnMHbjo7HEw5wo1UcMjlAjBLYL49ZTdoDiM2vtEMpRGkSOo
112
+ 8cAEuV6Uq+0DQLQ/eQUuqHIcdO1F63PK76eunUl++3x30bXI837OT3h4yvLnh9TxydR/4+Ii53Mo
113
+ 2I9gggu+6nanyZgDnrpNQIViRvBLtAJeoxxq4oXKW4JEbWezn5nB0RLyCRsn83wM3hbwlvPDbtyA
114
+ iUVwDIB+5i5BtiARE0r87wB5qMkJXLB8hP3t1CD5bmJoFb9c5+Hy0LqXsnRhvg+/XEjsno47zNvO
115
+ XMv0qi6Neux5aoWn5uG/DFI14u4qTiG6GOxomCiEj12wtxb3NWsQmz8Yl2J5sRUv5nnXnxc7l1Cw
116
+ P5KWugyDj6BZR9hABEU54b5aYtxMvePsRPyTMSSeRc4RLaQgkUjoHdg7r5BYUsJcoDZsPvvcJzPv
117
+ vWBLT4/gsuzs+FsuiJYyJFbEYc94IFyXb2ejyI/gSJa1wDN4gKgeEEz2Jd/7cEkKcSTCmfonqIbn
118
+ Pm03618IomPOJwqCTLRFsZ/rkve189sJ1Rj1N7FfIDPF3wfia7prEb/4DwAOXxE+pm3oD3U3PH72
119
+ W2vLSLUzBx9OOehfN4SoSSPYeYLV8/CJ99nOvTnvj6fSsbicBlQD/VGKiSo5woahFLUylMdkFNiT
120
+ 02MwZeqx9EmJbghUsDe62c6VQzFziaeEVlC/1DH5vsFfPMUiGj35/XmBRFEQ8r9zJvDTHtNPZXzo
121
+ j31EYFS7li6UINswvbw50Ilxt6v8daxRQ6fADpdN5yzPzvmF8BqVdM5CUEYcUXw1AXrU/mtQvCe0
122
+ wJHdomTBA/K2zCKwjAPBvHkRMEZuCKIuiJcnGBnbmAYIJhMG5W3wV661lrUjpYUJCXn2lAfKmizg
123
+ Cx8p8XccC2vWcZVXlgCIHylRi35bcTCZ/6Iv4eiQ8lzGVNAXTG610UuamnWgueRaTbNIa8QaqPKX
124
+ VQX4QRisjr7g1YMsqO8YUBsuooqOZDNXpfac6LFBruesiT9a6wX0CPzoCA8ZsF9D3PBRKr2LJEE7
125
+ pXSX9pMC/INxEja7MePw/Pl7mk8P47dT1XFsIMM/Zqu6giByTlZcGsDnPVOvUL43ff7fjYZiWljm
126
+ 4m+OPbLXt/vmCdHI+C9owH9RtFW+Ns7/b/xiIckUC8MzGlHJeltDiIEiHRXPsXEmaeJsb+/v5mVz
127
+ /XK5qHz2UGXNBPpNqR7g9T2za4KWXmBOa55TV3L7HcMpaONwhcevP39AfB9MPZ8M6aqYMJ6W/m2c
128
+ eBgwQa5VCSjkNMu3S1mitGfKc7N2MW/LPbzqGNiBKP4iFs4iRT7XsR6Vk4jPLaYBl7kl561+Dyep
129
+ H1GUM/LEzjV5CH6QRsKDHC1SnFYzSMPzl2Zcx/iIL9pu1qPJdSsUcxhHCgU93vSnUoiIC17sZbeq
130
+ JWZjZcRU7lS7LhUuWLks9dEF1P6JGi6kmg9JMmLnIpMpf/1+3RjY257Fq8iv03yStYICQ+1OQZgn
131
+ ccSfycfbzX6/yvJoOt8FCa3rlGpuRrdmoRvIaHMrLmWWCl3rFwJX+ZXRVnykMrccuPxZ02y5Otn+
132
+ Luz005GDGZZjLeltnSUQc/X3Zn6qwCxgVyzkyFOTrQ6VeHd9R6wpgdRnEftSdTI8G2cYXXAYejQR
133
+ ifT/ovbu4L8f4jFOxqf2cCTQJHF4lHIiEP97g0dCUAMtCMTgHEDxuZyrwH3bZQ1SwaDRqP1n6dli
134
+ xgc5bx3aGYXcR5NpA8Hy91vLiFmpTjc6gK/+gwxO/X24R1XobYzpR3ucL/Pnw56Njek+4nvoYc2N
135
+ QBg0/eoKbMWeG1ZQOFO3r/32EPJcL0ipvSzd/pyZ/q2N3PxblM6+OFT89T/FribOk1Ip09RDJ3Vk
136
+ WXOXK1rjqorNFf1SWSd0y/mqGa0RpnPBhhEv6GnqvzpEaOg18WJm5Y1cPgFw/MUkiISVL7zcPAFW
137
+ WVvNELVgGDpi60HImU8x0oi4FxL9CmZh23585oCAK1zyBYNvLAdIbsr7a4DeGOHuG6vMNLWXNjyE
138
+ lr+CmzV5fFcXeFfmnFT6e5J8HZd2G/ivbY6K5w0E9JKigR6LUqnzkX+NMWM7TWPQqJG/nUGZbxl9
139
+ dF+riod8rXWStQmNYKbLV1MnwuzigAFg2MeA7zs6mfwc9nVDpkeTMkIyndqWjbXJheCD4ODdKYde
140
+ II0AjPkEwe50HcNV6kAism6xp7wdRxatRPGhIbBdngFVKc6xrFA6SVFLk9XyKZRvrI9WJKkRmoZv
141
+ HTdNa1i8jyguJU6Uh0vUfPEoGVbSwcCmAQTg0edphN1TiOme/ZkIi+b9GliN6kn/dWqMIqKP6AeD
142
+ QlV2IFK3azPnwZwVGpIW7HCY9hqVYAPCuXRK/4s0eXeJzAvNFikICh7SOo/QEv+eNEcDzdRJ95/r
143
+ 4qOIeikLCmZbx0aFw8OwJeEfHZxTtPkpDLA7/q0ML6gTfoKBsFaUUvtVfvcd+rPvNIIO6tOcDFCI
144
+ mzlsC8c/JHQJjBvzbJBJ/aQMZ0XD/jChx7fSmn+HAWFhR5szU1knC0==
lib/Ampersand/Integration/Transport/Outgoing/Ftp.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
51
+ t5VC9xoOSwKkc/l0DhGZ1OcRxbbOWg5MgGpJNpS=
lib/Ampersand/Integration/Transport/Outgoing/Http.php ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
89
+ wG63sG==
lib/Ampersand/Integration/Transport/Outgoing/Http/Client.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5EDQbvJFlMlRWk42j+74ZzAX5HvqW85qKyzUrURoX9XQbCcBCkUYdT5BGn211mubYoIruJ52
5
+ aLTx8V2bA2uzQf2foB9Jois7/zjxHKAUIXeKiJ0w5CwCcPTnBSHLQePPvX4rEorhTuDbrJ8TRIMX
6
+ xdgyfJOQCDNzVia+NnHCP3furQo/ZI2hoCO+Ewh43evd77YfJiU5JKy/g0NpUoELJN3uu4qkpepO
7
+ nJaxsPK7WN7ea4s/WztARBE23aEX5x8SdgoBg7c6EJO2Y64oIi5sGvyacmiLCiZE52DKwFMFOuaF
8
+ 8YFKa+qM1l9naeLUO80E3B34lM7dXtXNrlfBRd3mmffp8Cs9kvRsUcfl9e47MV6OWGXmzKhbzXM6
9
+ dHsP0h3v1FwghXic+m18Tbj1KUoDWyrUNmh9E9ufQ9I5Ussc9k4hMRKvMb09nzLtyFPx6Y6MEEzM
10
+ BE+/tuRB818zBgK2P5wXk1H+v346IbKOB8BuBEcMItucJzEWB1PH+ED77DQ4yG55lMHepws7WGor
11
+ Xr0jtCtbdejgIduakAFeC4YGy2FXYOEfYxfZgGuKxH3It/QdtXKfLae9ZBqaMupGh45Pwk0npFiJ
12
+ Rlm2y6BKfbuWrn2EvHWkwexp++VNSlU4sR1PDlzHEuHgX0EBtS15+xutom84hQkZu+wjmqfpwiW6
13
+ lj8zhyMpOVfzdzF7eJtgRDQ6aiuQRCc2dKHX85U65EBQYADSTnhvqjjUSVMOKq8nkFrZw83CjCAy
14
+ 6iMfVoKF4sRYd7OgWyPCeX+1Avj89miNTuZoPb72ItXrkVT70DVD4ZZzHlatvM94D4rlsDXTpEnD
15
+ Dq25t+GIaOPaKlF1ea4pescyu6mi1h6jLs40vF6e8ZZL2Bqjud3Gk/mEd3EiVv3LSk8Kyb9eBLEb
16
+ OmpLvdlrqBVQ35WKrtRlYJrxbP7VbNzlINzEhy0g7d2OLhZosDuJbeYQvqVw8ybdvRj1fQjCiuXW
17
+ o1arzwarXvOAM7LD5o2VHa3CYWrGRe6t6QDhmTWpWG18PBBblUD/DMKs74djJ4ztfp89aP+R+d3U
18
+ 556lzYYts3dStTvFZdelQaa+4SQxdPgVJDhq+z+gHYLRtW578euQ41/EYh2Z06Vi1HAOmsAB84Mq
19
+ 3mDKYVcQ9su+7/7YtTG3rQCFFVwe0buoDcrE/t2QzZwAcgkoVhfWny4/96rHrt+Jg9Si9xtgm9He
20
+ 5Xgl8C/vpEgtqYnvscgMB/XjBO994rc1mQIA0GA1W14DAWQstHVV9FUKbFYVrJd3WoSM4FgKmoo7
21
+ ICC0tea0eVxxm0dNJ0UC/SvmSOsc2mfMPjQ/FQ6h2/3Pe7+AG+C=
lib/Ampersand/Integration/Transport/Outgoing/Interface.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV59FEUXqhALzJ9dNlFjsl2RhZECy275oxXyGLsBVmJUMOvBFrnitvDvs1Nq9qgqvPzuVzcJCf
5
+ p4Kk6Q9O2dOrcgwmJmizTXoxmLOFmw6E3SOqdkKo76pxeUJdAoA8Yi8vCD8CbLl8JAMITg1SrNEv
6
+ KQFFOL2QLHl0mdms/ZEfzuwu+mxysXaKWH/pUeqhtkZMhWJF16pETQUeqqkJ3Rixuypr6koeyQND
7
+ BL11dz5JmnmwZ2zPuVT1XhEr3aEX5x8SdgoBg7c6EJO2YMMtso0g2E3FpYBvCf0I53V/YrmSG189
8
+ YJ2rRzsDMAFCfO6Ssr6iqymEnhP5KCGX3ANRS+1Zyliucv/zxMS2/62/6h9a9NFozrvMugwivNy8
9
+ C4sMfCpow27y/jPbTa7Lz5/BzOou5mBEVO1HxHn1cd5KOmdXnlZqmXqfcnqlaZf5GJ6lU0CPdzhU
10
+ /QpPmO5k82dg8uXORstKEydfn1LZn+AFlEiubbkQ2iCREdWAkPtbU7/31jddnoFK3SSJzLERMPt9
11
+ u7NiH0JowHz0jWTcG5xTe5UtUtIoLr2rnJZ0P0JVDcVVhO4zbaSWjXvO/HyFpZR/XeB19MhTLLKG
12
+ luJkqONdpLJeamvAu0N+BLltk13OFq4OadEg8qhB4RXP773s22JDVYmbpAQG22jiKl34XGpubsBN
13
+ TUkchNfovwosd4/WZJ7IxCl1elIGPenjW6vd1AOSXP/8FhrCPw44xmijmPpYvh9ikKD0xAJjuA76
14
+ Fu3qalDjAzFzhthbaCO9pC4rz0q9vzEYSu6SKsdY7Py0ySalkZ/kNipaz0lvyaEGCFhb2lSP34Fx
15
+ /mJ5p+t0BUo4h/DW/2ndohdBI4KZm9L6u9AmrPqs/quAmT4EOolGwCalwHHkX0HnIct8K+PEC8pM
16
+ G/RKjunl49AAQuCqgjfBVAKLTYpj78svSwwDEj9qz1yNUmHJxpaGM12q176yNx90L1g5Y4yzYPG+
17
+ noDU2m12qjQoGoB9H+RNGisUffa3Pw6hmF1LxwWgGxCdS+KtrLGKvJTj5Uxizpz9vLZe41UQBskE
18
+ XBZEcOFMor6AeJrVG3HaBDwJbVX7QYN4cOMCYX/0Lw6s3mK5LxRNOuY7KJym7Z/gTsJzkglEkeHZ
19
+ esazs9LFCRDSTVmFlTk3+NWQonnDdO0P9WdVdef1jFx+ucGieTJGbg1KIb5ghdInEfMcRMP8OmQF
20
+ 5cPiQde7ldzdCJa=
lib/Ampersand/Integration/Transport/Outgoing/Provider.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV54r2wiTqgkxe5VX/v2Gw9CGjyrJQi3FI2jwEkI115g2yIDggd4wZhw5OrQ5x+h5tG1rPEQQB
5
+ FXTbUO+PMkxuu7VN31JxeMvbpBSq9tgjilmIqV7Oq0Biihtql0+Jt8+N1XUCE3tkJHOBJxZBTDDw
6
+ Pm+xu2k+DlR+mfFPCI5xphqKsqF8gX9dr29Uvhy9zArs9qB/cHQ0wWIDeMy1oYxDna87JKIGfngW
7
+ J+eE90NYmY+MnAfrkln8wREm3aEX5x8SdgoBg7c6EJO2d6RBX4kfOuZGw7NlCkZD50ZsYaAtHgp6
8
+ E4qa+7n5A2bWUePZpeuBQdDQjodTtKC0H8vSzlJ/B0C7HHdCZywwHF6i2UMDlENm3MWgvkWBh3CW
9
+ H2vhOUiHRGfSCi4O5NmENefdWBfuZSUnMWNXIVLRNE5EafsfOuRBTDqsGqwOATdszeJ83bsDWxqm
10
+ awqN3KI9k/oVWEbGDiRBBBr3h+HgFJQZtgBToLzulvN/f7ltyjen21E9g4M9nLk/dzzgf2GmfWeV
11
+ oIdd1qSvimqB5yR97EdM4VXxwBRGtxKB6qcbDIIdaTg8g+YJEqa15dFWXM8zs2XorCT15q7hsckQ
12
+ aM9eExTLKl/hgUBRYAmn2DVjOrYY4Jqa7iy7MPJuw4vimnewS38ORigR52lOeBylM7aamUuQQsIH
13
+ 2Cqi3mAXXX5JfW7wTiWQrtnFCyWBhYI3Gekhaqf8AFGU6q6p1qccXUPK3x0puxNsHMyHkHrr2VwG
14
+ 5SEak8EmvpMKW+tOEmNlJkuNXu+7MRK/uZkRDkmC/amIvMtR8cxr6ZXFAfWBOnYLkKxXIzZkArQY
15
+ cUs8AWiKMBejS5J7n+UmNIN4DInDsG9pbhyDhGRZpG1a40SZM1H2mQibBasUIMm+9vkoqaQOf3y0
16
+ Wc74siYmuDuh20==
lib/Ampersand/Integration/Transport/Outgoing/Soap.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5AP4H0eEgBmjm/RHAMrDAjjp1dqNwzCCtzsT+0Q+QOOGR/BmNWlFMNyOlM/xvoEf9ENEPVum
5
+ LNtPX9+BERs1He0bEO9AsZgqKwm4LUFKbBxyJ8ojumIhb63YsxN6BiWDCMgYfQjjEYKARkAr0IXu
6
+ vWrm05fdpfZo9cxP4rk3Wdr34CtgV3uJ5K7xPHLEBeFUmrM2QeYHC83BSu0ieAw7a9m5Qo9Cb2LL
7
+ jDvqSke11HbLSBMwa3NqivmEGw4NiXoUh8keUOOvDWApNWCp2wJbxX0E2cKoiAuL0lzkjKkry8PN
8
+ gawU9hkz1WBJ6ZO7CuYG2JRrsKS6U52DgyQwU2JwhHpY0h4t7oQeBMxisMMboWx3/WDZoO2CEBKx
9
+ vut93Mg61HXtnTAZFR1s9Bh9rWpyCHTBIdPsdVKMWYefn0/7BD97ny/RmmIUFeMIM2L/2KubZNdX
10
+ gg6BeLAOko7M3B6e8vVCf6/0wI0fdaDdxLSECfwJVakQvWfmC3rjTfov+GMfPcuEdURXJou/Xvh1
11
+ VhkNLD+G8kwzCoOGOqWmBDrhWZGYZuPOGoevIGz5Iol0MUEGnvPg4JkUMOHVX/25FxzACLLAPy1I
12
+ +uOzzUNekOc49e9Jdq98NZSeERC6Fy6OlqNA9M27HqOKxxc/ZQN2nrzyd0z6nspbgmgDQqnFpj5h
13
+ yCMS3zlDaFOM9Re5q0OhkDmLkTaRQAmaNrLrO8ORKR/jFNZVEaIvXB2yNnvEhraCrWGahhAdmEfY
14
+ FnrXb9JxeJak0Af0xYfuA0dx4Em2Xe1WFMB9RlweGG69Jh1hQNjItyJ4zbeRuVnVOQuA0qakAePC
15
+ dclXlEEBPFkSpBTjvBnOg9X/0MZ/Spheh/YMLqydvgOdpqNskb/7byGTnCshoxJ8+U1CTRKaqMUc
16
+ THoD+vBqBMrLPKOwUMPO9q/PEVDK5rmBYPHBXB7ssYjHjREj9mcSIbLIailDWKkhFuZeRGdinwLf
17
+ S4RIyIuABQcTK3HkAzfYRzhEj/tx5hfbGueG+GmjU0q2VEbjdBzHnVFVImaHmJ8TN/OEs+JNs/RJ
18
+ PIY+XyPLsl8VHmUE/VPWQatQ1S0RojpEBE8txeVpo8fWj9kNKQ6bBrm5bG++o1Jji7I9kz+i537x
19
+ je7U4bI6ZGfod4hWYZzwPPqjH4jmo/apDiW23N3oDdO9cpNcqCKYK7Z7lf7rvrwp16T4knH4BBtT
20
+ 474XbUxpJZtkPEuCxBOqSUYcqY5N2nmZIKcPBhs+qGyQR3WCDJK4WSa8XExXzkxmqMwA7E4caY9V
21
+ EOiwvmM9Fd4IM9gVBKeoCx+yfLJ8XPJ1uouLQGsoR5+dHmvd9jJadoF6YKfJSCxGidUP7sT9HLuB
22
+ T6e+vRPjOXCJ2XgFH09ec+P6iMO34VzRRN5QOnUY+62kBKXKQuc7IhM1yzl+ZtrbDomUkNU+fuNI
23
+ pkHFlJeDR4yjyJwB2cn+NPtpaK7RWs+g5rfpPWkTyPuFD8Pf6/vlFZXOE3QJXYE0EIZpAxSmhH7K
24
+ 2obevSJ/Eag7cXb6B4DfQLipb1fY3AWOwVg/hnOlRO08+K7wlGIBNwzDGTaMFpGhvSbyX/SWVY9N
25
+ J84aLTv7gkVc1px9KCgkmQE54zxDKvsADcvyvVUi/9qgqU9JJarN31CKhsqdtsztnD76blFq5SoJ
26
+ doWPGinc/nOhPz6FmUxwsndohvduosMGDTvygCrJWZhsY0GxrqdvSJvkys3suFF8Xjhua9sMY5wf
27
+ yjqJ59W1d74HE5KdVBuN6jX34I2fOJLLZlp6ttoGdGQLZXlpLdG+Yw+FvOkviMD3exdN5kxjEnaa
28
+ vrJbQMRIy1JU0CdTILV5zzpcInrBH1FSniNfphuKuG99G0p9PnDum7/uOU8B1SBBSlkZutHAPUaI
29
+ sPp6S+3wMWpwM6IBwz1MtRKDGRuK4DS6ThFv0unEjg4d44QOnQzNHnB283FD3XnrAEjTZnC0wZrq
30
+ 6Kqu0G0wOgLeDwU3cOTAzh8R6iyxICi4Y2RQgaD07WGZD31QvsLCpQX8cL/tKvQWEzgNj/5XJyLE
31
+ o3CHwXdO9fuScovKcgYmOXXARK/vudmG+5v2RAyQ1DgvfWB8P+yMjkeZymZk+A8G/q5RGnSLuBn8
32
+ tawKWfmd9l/XCq/Oa2Lu35S4SJ0FYjeMbMa3+fY4Srz1EyMURQhz9PvbMLpuV3DG+ZhCkZAZhfSA
33
+ BpqC1HElsf6omKy06JlnXTnpaU/d6b6qRltoPOF/pPnmHd7xFhzSwK+qhavxsRH7RIlJlZqzXs6N
34
+ 31CdtU1ruNI3zr83L9COQJT80w51+gVQL35CRqIlRwJwWUZ0AkHxP92XpEaJPL/o5k74IvJY4Eb/
35
+ I2IAI8oNwf5thAuZ45zw8/+6tuRARz4Hos2PX5a4V3LmEk2jdfjIsCp5EmF0lJkgXY1uLPi+54ov
36
+ logfWXDwXeTM8tybGEN78rlJbNpqz8oM1J8nUUJUPxnrC7cYyzZptq5xYvqo2EOIqu61fgjLvfVd
37
+ 1NPFNqE+3udXFXhOITrGbKgF1uS5Xe2Y1oxo8Xvm1bBzCRBX9r/uupWzcs/V0tfnPEtXSLSvNCJv
38
+ 1j8M5uFGBefRrfrMx0CzBQRmW6T1WC8vDNIkgZ6xc1AOl+ndIjfxDEbUpopsEGdMdIzcwemhnK14
39
+ HDt7NKcdEqtmgWHfWhLVcL1FLbKoJt64zLlOlRul0p4WAhIY0dC1MgFg/V0fyd0+1cnhf25SLrRY
40
+ 7yONQxndpylwDeSPs+zpXAOrfaRD8NWItv4JmEW+PhHff3AnoDJyksU/AUrVcFNXsxKr1FvrI3qV
41
+ DdoI5H855g49OwiG+vFfgdqxRIxyM8O19m9D21hiLRKtakw0Nla+XN4WOCgbDopcj+ACbA1Uyj0H
42
+ 6PMoDRNEvMpy1E+F6k/bmOgpfKQJagZK2V2CFqTOyueju+Tpn1Cl8q9KB3h+jFau8BVdOmQOeMiw
43
+ IGL1EW1kQ1uxKfqTtmjyks8FSJP4aveBIzM4iKeAVS2kRt9wWSDZ82HKkGhCkDrrzll07dyrMofX
44
+ 4ocsYMaP38EwjkpEX/s7tywZ1tEHDm4TBASg4ot8uBJ2IJfSN0d0HAKwXA6XBxbuq4fP/O2zyqau
45
+ nv/k0tXjCplGgcD8pKdMpPCeoKHzNbLRqX+knKWLEHwCvRvgPSEHJcyDUADmivubTwp6wC0r2Tp+
46
+ +O51Tps4r1hVmsoyzAlrrnmN515BFp2F3kJB/zq67yMQni56zb3nt+ynU+nlyMhZcG0h9PFoHsqP
47
+ W3BUWjJcRRhvIlNGWC9wV0tOWtbL8q/cx4+XZ4zPIdcppJD0p66zCzXWcAXmEoy24715s5u2h2H9
48
+ 4sMdHuK+wHfs1RJACKnmnPqlfse5gkwdQSMbqqAGOn984xPdiUR2tk1tVjqkVDT9fp4SVULOkEb0
49
+ NA3NJ/rsNzb/xr5gQR4gX+e59du5Q9LZUXInvJbgQK7VKkVfHLJCaHl9HT7BXK6iOip/SmtNyLg8
50
+ 7wlYWYx2yZ9mnhn4A+efBNEZJSOrqvypjakuZ5G2gLiAz/9Y/NU3RgmhBeHwanYkjZWbQ1bbcq6+
51
+ alTHB6BysVziWFWMb8OU187vUtWiQwTKeVF2pmlyVXkRzC60W0m3HZSB6rJtLryux+vLNZcTe2ws
52
+ 7aqZSMBbW2ZyhHfhYaHSP0FTb3q80T0Nm0ra9mqD582yaWT8iXg0BaIbP22hXzO1OattiKKBkU/W
53
+ 7D0=
lib/Ampersand/License.php ADDED
@@ -0,0 +1,162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/License/Helper.php ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/License/Remote.php ADDED
@@ -0,0 +1,225 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/License/ResourceRegistry.php ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
77
+ ls2Z/+Zp
lib/Ampersand/Map.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV50EO50pmPkqZcIo1BzC18YoSAjde/PIqGD90QQBh2ZMBFs7QgVY7Yf1tCyy48+GqH0KAeDeH
5
+ Gvgcf3aM8Mia51bwlHQPuA1mT2H279/JvsfguGrUT3qcG+rx4Vq84Oh/Ox4OBkFVK+bXn8/7rgQy
6
+ hvILxhWErdDKXXyixExsLxVPWGEGsUQBh9RbeB1kmiEv/fmY+38jK21LNJ98baHEeg5DhcLIckvE
7
+ 5el+WYBlnCcqHYxTK3cG3NApi0v3eHUo79wiYwXvXZas0YLXBPRyK9bhz5e/AGBdPHqmuqosGVc2
8
+ rYQiM9/tm9zUxT/GxAYzu3j5fT7/Ah+FdmwIiVVRvfaYoYJ9U6CGj0WDac6nLlr0QoBklU2Cz/tN
9
+ xxBewI8feuo1nTtiQs0dAdOIY46dQEzkfFBaobTC4l26ZjQmc+OBy/I82+L+yrtYn6KGy6I4B7Jm
10
+ VM9wBl37vxraX9MOp1L3aHwu4XkIFKApzowln40ZKYjkQsPO4qZqYY+Q8J9o7Pa7GbdK17SMLrim
11
+ Okeo8ep2Ud3Kl6skU2AF2jVTii6HENlr11J6WyMkjhD6V5pqLYbhlh2YPbNtHgpgAkeha29A57H5
12
+ 7HHGAzcA4q9WeJNAI446RDsCYbne1ZKaiCy1g2AZNmhipQNCCR8Qlm22lia9gK452t7PZhHMi9AX
13
+ eZRrkkLteRMRhGmtwKv/8r+96b51LfGjmvNHBAD2NyP6uldrCQbciTmT3UuXjAp6ckeTqF66JXiL
14
+ yCMSvoDi8riL4ORKWGFxI3Bxb5L4U0tjNrdqVnIuwtlhXFzmDTv9ueyqV0K81aMCr9TJQ6qOlgt3
15
+ 1K9vWZH3etrKtBigN4bDrvIuPQzHP8A6DrkM41xO9D935CNE4hcoLG0n0hwdB/aU0J8f+bwvcYXC
16
+ e7m9r+vPPZijo/Fm5DrA6kl1VdDnMUSwTfBsYHpSapqqeTgyvWXOoIdAehATUvAp+m3DQQBT/qmJ
17
+ pPVp56JxPBuNsj8PMKoq2JFIubHipsUqRVFfV/Sf/5ecFlX6YJXM9rMakphIrldM10jSlCOG52px
18
+ a8ouxWhNRwBzSc2TRF1i80jvTdgUXIli+FkVd9Nyigj2lCKhAeUzjVeW3nEOR71kbBXzcaQEwrQy
19
+ QfdWhl90qkAaUKyCSjKKKya23K0MLyInbXB114lHzv14lD7x/oR5y2Dgxn6WKAf+oidmQ5XV0Zqq
20
+ hTPl30vkAw57SDlGO5t3W2CU0wwP8PN8KsuxXytdy6X3MR0dCoC0IHAauifZEZNYRvaQz4Pv5cXK
21
+ gypObRyxZxcV3xaJTJIOXXGIBoLgvGnqt8QRTOvy071P0WSz4fGFhtQYEsIG63ZMpttLUYftHfqL
22
+ TclzYEgVtHYs9GM0oxj8nCW/t6lTOgTjAcU855ZZDxWCtAJ2k0jQEv0f4T5E0wE2X/JqtU9Wkfu5
23
+ aKPgfndCiHQd8I+9CyY2z1Hqp/A+nu1x+p3wd4H9Sa8xAEyjkTxTE/m6eVMBuAizCCut6RlSnd/t
lib/Ampersand/Map/Config.php ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
112
+ RG==
lib/Ampersand/Map/Exception.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV53JCxMrCATP27NLuJcwD0GTFcBFiiM2gGF+TGyfxKc2A1ufBpbIqyRa9pJzfzGN7ZHe3ge4v
5
+ mxRryhYspx0kuixXgHPgP6XRPeebHo5hxsEk2vOni4NzCDls1C7npJ7foGMyRjrBka9N+5Bs0Ea1
6
+ R0Vh9BaehqNcvlvuEbzGMh1PCL3UcULQPYHBOiz9jipp7irTuflrVn/OlPwUrsJZf6ypnrVMf8si
7
+ nNJx/ChbZejqSnJMhJigixuEGw4NiXoUh8keUOOvDW9kPp3JvNe5MmefcFUwOGCO4JllEdXEFeYl
8
+ +ylJ0paPX2cegCo7BT8jzPW9hdebJ6ksqptIT+LlmeBt9Ai8lmGEGNwMDaqkLGy/W+/XO968Q0yt
9
+ w5q0V+aGZtDp9F/e10k8X7cpeRgHCf5n9oBtFVAnWYbSjyKxVOGVREPqQGCYbN3G5Gc9yPbuQnf7
10
+ 1c/vwBxOsVL6u4uowtynILlXRDhBZMJsY/SprwaWftQuqyyjKDg2wkX9I/Xtng++YZ4ajULPv11F
11
+ B7Aj8tHmCEZ6bjcXRgdVbS05CSaH1Qsy3Of+WxClWQ2x60LmWu09xwECJ38WvNvitzkziqfqm6CL
12
+ /MLof+/z2uy6+kS0Gql6OqQpUXhl796PHPnfFhxNd52y6Bgc7kTfMPuCp1xxtTZfSa7aEBIymLJh
13
+ K9Z+QpLuFlthGpVp1tKR1xAfCzE3L/1jpV8WGVzVdr/0h0wbXWC=
lib/Ampersand/Map/Iterator.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Map/Iterator/BreakException.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5FtECxnLBeYpD7IcdnHS6bNvu452kmgj4zcTqVzboTeMt+HAlAcAAPZ31hTSJiyNBr7xv610
5
+ xQdT1aBtlMQKjum1EDni/4U6TFurwqerjIBB+zQ0DE0IhMcpcv4zCk8CLcHldCFQn5gPwsN3m8nR
6
+ vYrwdY88m9r543AEDqdQUml+J4p0TsMrTmzn5EeHPiWtipluR8mrb0V7mA1GCN2JUtEfXjSvjf5d
7
+ QqBpovdJHRIyX97QQ9S2iwqEGw4NiXoUh8keUOOvDW9uP9mjXkbXeS1fVskwKTaGDTWVfqzwSwky
8
+ O3CkZfsi7SAxYUDm5y2kngZ0wNIAn0FXcf/ibvgfUfOi5FGfcChsodJ5YXrsP/OxwDxadvJaAWnS
9
+ 3131dkeCvqjuEIWNeezioq3aTdmMvnx4tqvJXPL96nDwqWSE8a9J32OqNKwYABAgenlfRDgXkNYN
10
+ hWnEdtU5EJFxe2lfLGqODb5xJeGK/B7/P5rcD9/s08LTd/yIKyS2VcuTwIXmIGhDNYJy3FqJTwNz
11
+ CAoNeXE90FSex70HbbgH/fwSKL6Cedc0Rv2rh1tsey9+BzogUWoLPJOK2peld8A4ugUd+LlfFbAi
12
+ l+FF0/oMccaHANmNMe1IrfOKJrOs9xzt6GfhNbtl0lmbT5DYxbXmtSdwMTsNmbqak9b653CNqjAM
13
+ o7cjKLnL1agVwk06HB2zil5D+wdw1Hw1XQax8JASW6l3ollnPTW24ZzmsF1Nyx1og5rzynRWtwqB
14
+ TJu0Jm22CXYcUgwOiW==
lib/Ampersand/Map/Iterator/ContinueException.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV52HGWo/Zf7S0xkeM38JAuCaIrA1P2jfTCUoTjx17cm7vTcCalcmoQc+O1BKp6md2Pum+8klz
5
+ b3kH+elc8MZwGP4d9busPfsPuxTf4vCFeLks/CGnTr/CGR2UJ4jA9RcDtbpTck4tdQYRTxucm4G5
6
+ WXydFtnVFy3/BOUz+11R/uvEu/2U1mOq9wO6LuAwz4n2yFXlDLbvYavsFMSGqMQMU6DxrMxxrGQz
7
+ wLcf7rT9+WzwnT+qHFSCiv8EGw4NiXoUh8keUOOvDWBpN+2Zgtal0DSOsKww+Q4K30jcP9LsEBVQ
8
+ 354YKuo4C/FwUkzIFnyA8s4mv7otN5tGAlnVydXLraFbrVHafB1Zql2EL2765CXec4+zQo9mwF3a
9
+ b84S4+8CXvArW/PiQ6IT8uMW5Xrz6yAkOl5W4eaRYR0RvgtBSu7CkAZ0eVsTGDcYXib0BKkw8NPf
10
+ o9Xs40EXUUM3ee+J5cJll6ROsO8vJNSGlLnGvh4o0RepwegZpQQ/yT0Jr/Y/wl0s3G5AojXzgw2G
11
+ +Fen69HrQ39Qga06iEuDl6Ko6ZBRj1v4Rkbbfjo8HuBw9iKJY8QYe9KXYl8sCIpMNABn2sPERlv2
12
+ YInCQVJkRNsus0xq4FelfuRhYaFx42X8NbIqsBtpOSc3NrQfhvhehdOdfyeqUmbUG3KMcN+bDSgY
13
+ fo1/J6qBZmGJzsByv3yDLhDSyLmOHl0l8kW0a1h6WkzU0OIuwc/GHkc91vRkvO5CxAJ9rXoEafVy
14
+ 8+p6DrYa2xL/eG==
lib/Ampersand/Map/Mapper/Abstract.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Map/Mapper/Accessor.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Map/Mapper/AllData.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5BgZ3GcyTVOkhHcOAdRHiCfm1pXRMN7pt/Y8YsH2VovKCz9r7obzdXj35nl5rDYLuZT/z8kL
5
+ ZiYgJBZVGfWqWsBaurxuyE59o7wjVMd2fHgCpotNkr/AXMCDeKN2SwSMjVaa99LYLrDnr5P9ekNB
6
+ vNVaaCZR2RzP0MuWoHlMxN4oK+sSb2NsOjzsZgcsRLmsDnsPQ2QaI5MGo1Jk3JhbB4VbIUiKSM9v
7
+ a0sifFTM2uNO5tEBKcSJdhE43aEX5x8SdgoBg7c6EJO2mcAkxFJ1JGHpwUo2kY5d5cFH3MOWB1Fg
8
+ AaMCKuatgMGEfDZ7us52V4o/OHM7ngac2Q0D1d3Q0laczkLtbRmHW3bYDC99ESr3Tj7umxzKmfAS
9
+ gPFJy8KH0txpRmI2Gii7TqEym+cqQ1rmYhNYlk8c5iTzNxHpmAp8BAM/7gXP7GwXG3zZ9woKHSkE
10
+ WUstEH/fZQ4Vem5sIpZce4/WmkNM054t0sLwcZhq05QEqzWpUjCnlBi0vIh76Z2LHsarseMztXDq
11
+ w0JKMY4DUD+GoK/9ODaeg4iwReRDD7V9b+IYwaH1gXQ3XGOj+k0GJXN/woZMlWqc367KucAz71R1
12
+ i2mVg96eqUejfcQAJBRsC6Z5E70C05LK53Furu1/LkaLgoQM+5JD93ChG8qvakOMGcuQnHQEAQXY
13
+ J7Y0Br4VZ+hxcuMgPtRTXqt9WIUKUYOTUE7u+BjhCGpxJZEAW7Nl8+Qc6F68PO3OWkYe8l+6Idoj
14
+ kwnIa7heDioy/kU/YzDN127+Nf17yqbKrsA4A+gUHsJ4HCKekfYM9WWSaRUd4IAkZq+n3OZwbj/H
15
+ 9KW44XUGQdBXHPxRtsq++Be9TswiRUNQUfXIlfWvGmPaSkQQvafFFgstLH4SY7gal7BNvBI4AdtM
16
+ tRD3Zj7r0dkw1kZKpM2jAJeMNrewDH12kdyPaYOBZJ77nYHWVxyVCw1HKBrZg2xsY1T352Zuif1n
17
+ f9Kf2sGcfeaefFD++/VIjc45qAS=
lib/Ampersand/Map/Mapper/Array.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5Br4t3SseYGus/195AyzqVxJJNOwH3s55l676AMwA+dzcD6Rw0i1pLozOaoGOBbEetLUko/0
5
+ yv9DYrj21jICbNNL0XNGYqJBxanKn8zy6E9ZvlTGOLxWheziu/Kjc1007xU208AdbjSXSRGlS9zR
6
+ TBC4NR2wak5gpj5o9RIh2H3LwKRULnu/B9/wFvlB3HdbGJ9CgyKUmAMKdLXLUyiZ+F41t1N9JI4W
7
+ XwVpjlc4fj2db6qSZl7yRxE73aEX5x8SdgoBg7c6EJO2NMHKc9cnMosw0q08kh68653/rSPJyJ4w
8
+ SQEtpzp6shwxVfK09nkfXKLaxcQMrcHPgwK9lcvGhX1X2t9/aRDkZjAnJuy5sePMZUTTiOW43q30
9
+ vwJPQ2SWWx6C2i9YpsY+Ht0VQo/Ccv0lIyxdqSJQOT0J1Ejr53e4txp6WotKZNcludneBbVe6U3H
10
+ BI5GL7khY7ZspGHmBW7n0gQs9KfXTE1sFyq3CyA6pH6ovtqTT3F3LItqvlUHu+Jx52dKvAbV30wF
11
+ NQyW8jfl897ebBo3z7RfC35MTOqPL9s7VwSkNCs7OE8ip0iftrOhCLslnC4P+0x641pjULNnGbz8
12
+ rXvWmbG46BnTfvXfamLGs7eotwUaG/ymDyoYx6ryRTqiJJXQb9gmH4NAzcpxp8D/yjLqGU04xYX8
13
+ myJMyFNYVhiS0HvtxyffvyiSSQnx+CqCBAICz66PT1InineHTtDwNXjDpdWGTPuI9jTnDtzDorUF
14
+ PqS5n5vjS3/e9zmvAXZSoNUNGaf162CI/kSMKu0wQ4INDFRVEEj6pAxoCTxceUijtS9RYt46Y1Lx
15
+ ME5xHC0NmdxdTxfLDkknJnV506rvlAabiXdmKANanDxmfG0evIpNwaFEwN25v5NlZ6QV41cPjul2
16
+ XzKLM4ZjSR54hj5sKJvznqK8K5KDmbDMMBzyMDPxD0ddij3vX5R3OD/B6YJOCcfB+dHT/m4p+NLw
17
+ l7JFV9Nehh3UwXYVIbhx8nogpyIK0Ck4iIpjcfRjTW7eJnnGYfvEJ9/XiZe0Tt6FiFi7y9oCte9K
18
+ h7y6m6ZrO9b/eklHVOjvT1jjU0ZY62BnVJKsb9gRrZZYS6Ly5ifmRlU2d9Q8etRT9emjkuJF38mu
19
+ n93y/g8WxkwsVY9sxq0zu+8fFH5CGaCbnDE9Xd5x2jE4BNjtK1c5KsFLS5PDJEavV1mwxz77l+sQ
20
+ r8+NceebPRJgpfPjlI+Wf+u+7K+vvfpVZ30+bEjNT1pvJVLg81N+tmULAti2yU+FobxhG5tTB4IK
21
+ BF21VIkEqvEObaS2Z9ois0HblkJ3X7d/SVOL+9n8Sh+2VgR1yLRRqGHmI1OngRdfilsSfB8Vvv/j
22
+ 0nkAECWf5joVnY7ELUmclFM9QZkTYQbYhj2h+zbeduYQ/kBSExEt+6/icPct4z678HgioK9NR7y4
23
+ 3ifSXtSTUPAyGTBJ3gi1PMXtwqcEzGzBLCIYAgNpVhECafsUfX43ASqr/IUEveYT1z91vgd+x7HU
24
+ j7Xesy6mHTzyHFDS+bGTFa1bv3CL4rm5ZjbFEaF5IY1rF/f2in/xJ5PRE9NgjmAmPWZl/hemoEbj
25
+ MNzRrMswBPErXiX4hr2zZiyoTr8Fb4p1WvXR6WSkRWeVP0nxCvcYk9qifEklwYzVaAtVOW70jT8D
26
+ v3y=
lib/Ampersand/Map/Mapper/Concatenate.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV52XEKQjKgQcCDVN4Y5hm5K+hgB3qK3T7bSYTy/CZOjhL5oKSG8t3PwMo9qeHG7+iiQBE0nup
5
+ 5GsPzRCSqX3qjZbgiW3jFLG/7RGggOrCoXIi3JJeUQstlANgj7ECdTpQpBgJmKZtSg/8fZfDQNsL
6
+ OdmrjTbmBcBs7yl6TgMvWcQMOGnNPAFCshbu+z9hjzTsnh5Kdly4TGN5kUmug9Qy7dFAwAB2BbhO
7
+ cUTo2FrfxRkTe7c7AnkSiumEGw4NiXoUh8keUOOvDW89PwRFRDEG4NvFyi2w+MCOAt640dCAPJj/
8
+ vXfjhugz+mRXzougUdoOWICVAO2xVRCly13eLmM2eCjiLtsgbzIUh059YZPIiA3NhLf54P2MnK14
9
+ fD1gu9qOsjWrQqV6OU5/oiNbiZ2c9XIVBtvC37Ji2Se6s9Gpt1CZpwZtIzLhJRqn+8iu1cmOIlpn
10
+ DATUwU4oO//3EecfqkleD7CQ+IjMvyYWwgTz5u52PLSYhe8oH/SWDckvZkQ+Ok0qb8kumzwJBOSk
11
+ ZPkI0p/mSwy9ZpaU0rnZa2u5IZlW5s0iy7fNyUALH/9XpUsSZQJ2WZiQ3FrOkDM6e7WWAK5vt3N+
12
+ NhL7KnS2YYYR8gV+FYqIznGiB60JBrLGOvig2QdHzc3ISHEadOh7VInN6V1qZEEa6LZAbwNtz3tK
13
+ qPJtuDA0A/i01jiGHnEH+0g0NgPappJLVw4rSPrFSSXuFTPC4Xh9Q1uNlSu5MZiC25QHulV/urhl
14
+ vIXhuARDnuOckKibwsG4Bsw6L5HGkbZ8u6D57alqcZaMuy67Znw3xbegwAwqfFqMywv9YouttZ4+
15
+ xIbL2aSLyf3KPlHpnqSqB1juvXrqY2NIPgDfcpq8PUVeg/Fd5DfYNR8McS86V3ISmeEX+4YIn2Ix
16
+ 0Q9u72ahq4YpN5LrUUgQAdrcEJJ8P0dS9mJ0xioEYmdGEGVr0qaI2pXqQ+/kZ+mu4onWs9aDs/aq
17
+ ApDvFqR/s014mymZpx+gusPkex6ujRuNNO43eEtz7E1UcnawYS+ccE16nKppJM5/59AEhZGc9QcF
18
+ gw4YZo48PaVZYKGR98JrZpgpBdHEMCnH/SQzIi7qXfmEU1LmhP8K1t7amDmLzBYjYHMq1MUEGUWL
19
+ kD5rLb0qWiUqqlni/CdzjyY6GpOa5/j4bvorMmGqJfFmbKg/I6xzoYm3dZArCVGLxM3Awr1qI0JY
20
+ AGdpxXpLW5J3ZOloGX4XC56g678f7bYmzm2/1cXtH2C/j1T5+p0Vdy83pBr4AzHUFGljOCgywXV/
21
+ M4dM99e2kFFWSDNQbjzKZDTuE+JlYwkPear6db5yxRd12WBggxiWWRPm
lib/Ampersand/Map/Mapper/FieldPath.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Map/Mapper/Fraction.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Map/Mapper/Function.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Map/Mapper/Interface.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV545vu0/ltzWWuiDrBD+h0veVc510BFuWj+cTbgztHQ60Tnza4Kr+SCsF5aSuAQnlZMOnuPpO
5
+ PgR413f0/VZNq9+CifqEyOLcI93Kce7V46N63MXEJ6Z3J7kj/BySRLu6KYH8KjgC9jn/Hvc3Ei1p
6
+ 2MY/G1yWVaFBipFBpbIolGVrE8dMHpCFYYa+cmAKlu4+qRtAA0yk+39bjfsQCPUEEE6YmmCp6Rfr
7
+ FngBcO12Dmq7ZA5lpruYiuyEGw4NiXoUh8keUOOvDW9SN3kZ/p6iqZal4FAwCJWLH5jf/jPPFgCF
8
+ MC7ZXGlCmbo1efd01DeX4C/SO1TjT2tGlC6s7vT8w4U4g3r3nvHCBOSGxN33J2TfjjRRRI2OMf7K
9
+ eA8nOgJhm4D+EnsqyMv+5z6TNly7WoMRK4jHXDTtezLTgOWszn1Gt+7X2sXwQyVYnokEsFKUiiTL
10
+ AZ3wxbSxQMhLKxqabQXRFo8adqrdzQMD76pmkG4ddsjAiR5Gr2lwtawKacHzleOrtW1qCB15MkpG
11
+ XDvcK3sdYJUGNpND102yCEPQXdIUS3zGIqJLDSAzAN6Xb8kH6xfEdPUmk1fxxG3ZAg9vTsAIgFzn
12
+ UVqMfUtA5n/P5VrVHs6SuJagU43Bumnz1YBK6qDylPq5JxqtArJ2Lk+ExS7lkNkLiaotqj3rfXj7
13
+ ddW10AYiIpP+iviGYfouYjjvvgctIZFg6x1Mm6SYpGLLIj5ArR3bsV13PjlgiRlVmlcPmg1ETmxA
14
+ QjWNSdh/HGjg3DLtnwl68zL38zz26hEK7fT4BYjFZFC4xabwaRX6RoBQ+Y1/+7I20hIhnq4/8uo3
15
+ g5e1wla0fyyYHJRxzpHKBkMpy2FpbP4bT+1kj42oU+RMMl8uyrhzlaNXsUPjSnj7RSh7jrweOEj2
16
+ H0==
lib/Ampersand/Map/Mapper/Iteration.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
30
+ p1D0VKbRCLRIxn6Bb3dLaHJ/TUrPWaoWCNGwJW==
lib/Ampersand/Map/Mapper/LeafAbstract.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5AhZ/SSbIiRe95XevAvu7d4Sd5c35kBf0zXmBDC4eZLLqMnC7Hh1k1ygXrOGSMEUWVI8DkmP
5
+ s9A47IANxG10U5DQGHwfEpUo5JwgkjSm0QSmLU5fHKOEMYJq9CA/4B5bUz5cdWWFqR6oGskWfbUa
6
+ oBUb0I4x3cC5COML08X15IU4iZE1elkZjgEtQS8ijlavbIkysCX2KhUcwWczeFwabpRjgrqeTvCB
7
+ swEFdlYYWaWihuokkjr7pREj3aEX5x8SdgoBg7c6EJO2Z5v+MSb6EtLO4yFKkh5Y67yCkRAkXN11
8
+ VW8sJt/AdoD9yfcF8PjP/o4Opjz5VP29/5doK/3V5OKaFlAKkEQld2SWr84gqZziekeHaHbzSjgq
9
+ wD8L6nVXcUHvZGm6SjpJluIX9RxPrUI8ZNAF3nlib919hBNXBImZPErBjC4pWI1infnAm0sySutI
10
+ 02qH8oagEumgqNtLv0rwi1TTVbavGTgFV7DnUvdL2TNxEUmwnN2vd9vF0L48uznp9aGG1Al8LTYS
11
+ KGoTyXvD+x9HlPCsdfkxMfigAMnvpZSeszihAzSmzQsRys5ptmedeaSJ6apYDprwWVJS2Q86EvWX
12
+ 40n7dzWMliNEfwy1srHtOvAZ3PeTr7qd0l/nErjl2bhqH081BqJdaDjj/6404IZdKhfz/4IFexHN
13
+ CqIO1PuRTiZ/KpzNIAn9+LPl8Kw+KVmRFjxC/e/FGkPuxpD600v2VzVvjUNA4z76HYd1OBzsbeNR
14
+ AsF8i7fUCbnhqAzw5CpAhM6Tckbecr/ma4KlltbeH0K5kRXM5GJ8Agk4CRu4Sh3zvbh0FtscafH5
15
+ sAdOP3P6FPDRezssEuqDmUMdtK3QJQ1W5IKL2+ajwWhALLRj3V711tScIe4DFamvKSoLEBWVSYxk
16
+ XEC2uNwrziIS0+uJQGaFclPqstXkhrA+Wihkm71dEzbdZVMZG6ZNgdml91rdS0bF5k2Iuxf4KOgR
17
+ Z7OF2YKvBQTj2ZE3Z3l+N4LhA1q1Xs/dYdZdKThnxg3H5k8YZ3+ISZ1GbyWrSeeCnr8DUcvM0yZh
18
+ HA63WWlswsnTax6uGaekVYfYetzb2OHtKKD+xlW66w0oooVrAV0g7z6XJgludtBDaHwYf/inKVN1
19
+ SpEKies0DxWV5UO3tmTaCkET3molgDze3SB7Bijh4TfMdmBOgJz3qEi=
lib/Ampersand/Map/Mapper/Method.php ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Map/Mapper/Multiply.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV51Pc3IsKiFK2TTsO3km1ifLb9ZxcexlSnz4RSKNOhSZN1ijp/oiYKPxcKmSSH/EnPZBC0zvz
5
+ vu4rtjk/OT2p9EVp+VOsluX8gwdmFsoz6d2cQL1p6BLZrfBGbmtKUfAf+uzMVwwLSdCinWVYPcdt
6
+ Pyxd9An3bzVb2MeXMYAjl5cp0nOFs8dmkV5eRkn9ckAsYNprNfIpLZIpSm8+83FxBHRMfwDTn3v9
7
+ 7iAlHFRB6mWjdBmlLafwgRE03aEX5x8SdgoBg7c6EJO246Lwvjmao3Ye6ogLkicC5MN/ifJHf4F+
8
+ 2REf+1HHdUmkXQ+KeEJ+0Z64/j2IsISUQid6JyL6hsqtVkEM58hTvafIJMSDtdhLJVVfRsQGE1kv
9
+ ULbmNTsS/aiv8zLb14kFfnMLJwoAbpbKFI8gnJ8x6i1PDIzlGDIt2pBo34oUglkPXQfwjQGTHqMD
10
+ 322NuCfgr2IGNjNRgslTKAg3B+2pQxxWURvHXjyqRn5ef8yRL3Ia59V/fs921yZC06jVXfPWC5Ia
11
+ OPAzOu4b9QgQrgn6b0nRzB7RPqbOMvDTKGC4boiM3oityAxL6hb4KcaM1ssCtJU+KRvA6M28ulDF
12
+ 840DibybDPts2KmwqVDWTDPcU1sdKO4tyHgb3pRpoJWY0BDcGrVJDHOZGmsroj/zZSNu9l8Pmp8Z
13
+ 3Li5Hadsax6kT4rY0jiQk5nF5FLE6HZRewYZRxXjA6GICuI1jmmg0VMC8uA8gokMnLi+PeCP8vvT
14
+ ljmbeD26pQ15vnPtEMYkG/kxIB4sqr/YnDDv/bD6hLs7np5pBXcHi50xiwlno3RDpJCg/gPiJQhn
15
+ nuLnQoUDctNLo4NQ/EBWdwSKIzQU7RSzwovJ76QQOv/C5pvfrdR9s+ryYjyp0IUJKqP0eO7DJSR0
16
+ qQz4dioz0DViPXdF3k0bKMAXtzXfSTHKWmx8UzF8Djmf6u6j2zWc5mCOUbfTG0D1k8BpYQpF/tH6
17
+ EbjED6HvezNn0P6m6sdw2cVq1S0G34XOF+XAQsCSGks/xDAymtS3TMm6kke5ZQhBq0db8vO2ZX5N
18
+ 21A+3OKbUw2rko6efjK8cjgIlNIBeEGHco1/hZ+N6SkG7GsTNbLFNMmLjaJWMF7anK2m0P3VM1iV
19
+ nl80rODhJzyp58KJH1Tp9o9obtAsT0QMnoFm660mkskqEGzfyp0sBzPzJr6Ox63EEeUwsFw1TMNe
20
+ bPL3nl73fTQUwXK5iWdYr6u4vNpZMrM4PVB+NesBMu8QFiGrmQHKNkfRbEHlAVevqEcRpvKnNmhX
21
+ ROG2x5n0N1qDM81/o1Umo1iQhR71U1oI//F86ljsQBpOU4bd
lib/Ampersand/Map/Mapper/Negative.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5C9JFaYCfO9lNUYhQn2OXJbiJkt25PLPCD2Tn33g8mjXl7zMwxBO+aGkbOrdx6QnJlkvu8OZ
5
+ gb+xP6iaYRGAdAFQUIJ1lwx9OcBMommQTUClapZUG6iKylzL0ktzg2HfYbDJVc7r4SCXjKTkHknx
6
+ PPXx7Hs0qpi0S7wtchEnSkA9oJvYsi6Rm54F26A+4CDG0N+XpHhPYmqn3jwYJ0ES2RAEdO1vmRNP
7
+ ovR1K6jsO0S+KvPbhU/aiw8EGw4NiXoUh8keUOOvDW8aOjObauSkdWdY6AAwmOaN42/HCaG1owBv
8
+ ARBF75GHD3Ct3M98iitRBjVAwWnykCz2tLC2DcUcT+L6XlVGhzj54v0G6qLevXMSETrxnVuB+jbI
9
+ gORPa+t5tTvzKE2mstivwFgrEip+RDifgeuhQ42g3Y9uHySvISeKZesg67NxYZsi0pec6OrUirER
10
+ xNY99WEGtUaPWRESMaF6Yygv65HkYw1MiJKgKGU68ToN+N/yk8t0JPlgB94xwz6dNmCvOuO3LjNN
11
+ lHhfX9RH9ke2Lmf1wbkz07ZgNiJx5xW0fBYaHWckH+VF7mGkJVEGl3w5gIZHlJbxn5Ytl5c7waxZ
12
+ 2ihPkkpZGsVrzU/tOnBZN6dlWqgNkVtIV18ppN3TgmyrQgHvned8QXGEOSg3DqXTpbRE/Dh1QyCC
13
+ OlPhJGhpwuGpNtg7p714fVSAW91dalrg0lU1wNDqJmZFH5fculUg1NOXg/eDdX+U6zVcsubdEtB7
14
+ 8kRWWZ3eq5vAFtA+X22uLlx7Om6opyoe3uAq+kT/PRq5xK6OxjTWiNScOD2JTG2Xnri5P5MIG0BY
15
+ dJAQyO95P1F4DXZopwXBcH23yspMxX8GAziH0HJYR1SXXaq85+39xMsK/qjJih34eOR4Xyoil2It
16
+ XuIfrG6JyrePj470zKsUtwnipBiuvGTTu47vnSv+KlRyi9fJBHSOLNR98k6/I1Eu6QoYLYeODmCl
17
+ YcpEC6WHOqRJXanGZ90HeTEFGz3zD1s8snPi0fS9XI2InawoTTZ/egYVTqAeVoORyOXQHLmkg73B
18
+ 1SL+5kV21dqiE2XZCu66Rsi4+IkAYz7chqTHKxkUZ1UMJNozqhi34k7zjdQy9HqenI/A6ngT0Ydd
19
+ R7g761mHmHefCRCgOBwXPS1t5ncflnv7p0G=
lib/Ampersand/Map/Mapper/Parameter.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Map/Mapper/Provider.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV552Pp67EV3LMWo9PGi5JVy2rj14ebc8xwigTY7HEinQbxyRX2nY7bpPCKREKHm3ycu1J5nxR
5
+ JnYhync05JcdBRVV31uSvNF7kV8Fll6cmEXIpT98novNPCFxNNJteO0YLRxDDUAdGsGmGjT12Iu2
6
+ xu1eIBed1tXzSiGqyn5PBN35H957gNRHt/Fz+edko55H2wx+WFXlgp83lRjaSA1kCXl3SAi1JO1K
7
+ sC77WCgZY8/YZfmLazGjiwaEGw4NiXoUh8keUOOvDWA4Oh8/2W/0ZYUXJ8IwUHOOKlywmZ/e3TSm
8
+ eE7YwM/To+FG/twZOEC6+v4oZWClwbpsGfFcpTLxWGY7ZP42z53quDlYfXHSFXMnlwYhxi0jDrUG
9
+ RJuQ3ssQ8M4H2DYdzNaYRe1U1c0PdxCklONvMv3TYD65qI2r+V6Or5OG1mxvTh3hp+phcLIRNQtv
10
+ +yaBjhOPnYRzkkGBvsdf+Nm8tKRuXCzve/sTBYI3VP7pVThpvqL3cYbQuo2fMyTSwLFFXSuXqvZZ
11
+ 5mhB8QGrqVTMOaviGaSOlc1MPLlTejikPFB+eZPFt3V5qfDwh4ISezt84wYNbaA20dLkoPvji/4e
12
+ PzNx3uxfZFk4+p5PPS8/39MnIdP8/w/Ink7kWz9ntFV/K0ZyPBNjM2B4VK3DZpf8fZlw+SdrBDPs
13
+ 0MJqQqgM9QP1B4SdE3AkZUXFa1JC1ReL3Ue8q6xFPZwePrx5xXMvSfxNwU5PTnDCyrmf/WHQnafv
14
+ ZiWYHgudX1uQoVxawHPc9zg22STfr8PQKUfydN2rcs4e2x7RDwxhxZj7besp34F4VQt3toHrjmfp
15
+ wAUqQp26Su0socbVGLwzCkmzwxiuSUFS8TbpedZWIBct1yiIT+WPvifnGmWkTzvbZiU5S3VbpOZq
16
+ IfLCqmh7A54kriTj0/dctrFyglKbKKrsfl8L409sFW/mbVjt8qBlDQJoo80f/2PYnJOt++A3dChf
17
+ RzvGAIXFJuHEDNAxjZFTMmPevC2eIlC7eeIGtuzUuKVT6UddZ6aU/03rGZu5bdDKJvPAFHuHZ3li
18
+ o8uslDqgIlSFBxlGh3EeZuYQGGYYdT6qXpAeNpwyEG==
lib/Ampersand/Map/Mapper/Regexp.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
46
+ UbO9IsC25hyPbBKfLEqS
lib/Ampersand/Map/Mapper/Sum.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV54gmo/EmXZ34MGjUq67UbvRiknbdY3Ah5l2T9rz+FPpm3Fv5Thb+Qq5lYvy4ZhTKpI+JP1B1
5
+ AhteDSoMdyXpHPp2aGH+8IpL9/5vJp5G0Hi6k76/+deIxlGMIouMSVu74hbAPlXtRZFeEoqHTbhn
6
+ McZR7wlpxXCRh9OVSxsicouMkWEQRhXdvPTVshyEEKCJMUAp7Wi/ujJUZr9jACKXST+ezSp7A7y8
7
+ ER/GLcQcUZJ7Q5ggpklfiuGEGw4NiXoUh8keUOOvDWBeNnd16KccQ49hGJIwgViN6ND2doEquEEw
8
+ uQmoUIsBDIm2qH5112AmMTiI0BXvqXaudKgeC6wrwXBCZomVAX/lkIxbyWE/h+sO97NgpnOcuyxA
9
+ 1I+MHEPh9gklggbx38nAlfI41E6ns1tXPaRH4QhzCAEvMcanA2Za1/yM5evdmYoKoyFFcPue4I1z
10
+ zGJmaJBlM7SJoLM32O3hY0KjURtWr7MDvDl61IHTzaFKYz69cxYaQn7vJMk2lbdPzMZGg5L3klJk
11
+ KRLuteT0DVt1uBqF7+XWyzV5wXqmieX3MAKIn8b/+80UOcYyxiPRMkiPOgnZOK/VeFgN8cR5m1EY
12
+ tEj1zlrlibcCvQtzhJjnwt6md356TkdSga9G79AZh6O9huCvzTjaFQGEQsPd9UheM87OBWO5+rsG
13
+ gNgQXLMaGlWkX9UMCK8g6jM9D913aPJhYA79Ze2noL/4ABu830+Twx7i2o9Fv8lgyp0mzMbKryUo
14
+ /cAK+oxRhcaeahiu3k2X6kvNONwgEtRyheVgECS31SxdV/3VOexZ9qdUC8DnLqqWhf203kkS32UQ
15
+ E6gMPPY7gNhSSXD2YV7Sa8GZMiXzpXDtrBVNo7m+tP5W0x6/BAocWm4TOvfZOKT3EaUyD+N/GmbD
16
+ kCke/FkNsuPiRWdhkf5lCZGkWpdA8l+JNuosPrcElNrTjcVkbdbiNSETsTejnHBlcMcRXTZnafWk
17
+ g0i3M0aWfj0iHrlHIwKGzKcnzHQ8Uh5XocgG8hbR5pvHDfIwXjw9JL6FPbPNSFECkA6Xn8PZT/Vv
18
+ rTd7JNVQ9jzMx2ZgsYPkJocZCoqR0vx1uCvCzXVJyTtRgEjJ/Zw+cuG1zvz8a6CJ5QffbcYzk2BL
19
+ G2D4Ph8VJ/7xQgneWGCbPfM7Aokloydk7si5yao3CVUCVw1C7xIp6mhyIRbqj81PNHFxg8CwrQtl
20
+ F+dQdV9o0cP99MX1WoYHqtTELpMR2sOLYbxuaTt27jt7+bZ5L34zolCnwQV8A867CFdOz622Mnd6
21
+ uoauIquXpIYPezGDl2znM9+hUv1iyWp18BYWtKcTMbCnp8a2EHqtLWP6D0EZOmM/p9FAXG==
lib/Ampersand/Map/Mapper/Xpath.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
32
+ oolUOsdyQt2aMQeciEX7
lib/Ampersand/Map/Mapper/XpathSingle.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV56QYuaP0TTTf2HbtPRvDv0PDa+VgHylnVFETJlNwDCcGu23Njn9MTpvTrFqzSKWjDnCKk1gg
5
+ 0y0jkb909ktYb/iu6zyA/1Bf0YAdt/LE8wsWp2gE1ScgwGAHhBLMCbrENua2k3LLb3eXwFQaksJl
6
+ /1Vo6sLY9xBpoes621WY/asgfdXwP2f4KuB96h5Gk7TEBlzyqPPLu0IrZbOXG6+LSxDCBXGqK0wR
7
+ 1HjyTvVQ4XxkM7+p7Cx9ivSEGw4NiXoUh8keUOOvDW8FNdmKeK187WtG5vkwsRON2wbQ3nsnh3Ku
8
+ GuaCEcXiYt+rjJkOu+jd6UZAnsgac9CM28gAS/b7PBHSgyliPKjqW1QzodDQ0eoCu58aKCg1bfCW
9
+ qt8LZclBI39fKgs2cetByVOFFrg08gbpu8bWSvXOoBqcOn55FUHhA058gjQGrf1l1mjjnwavj8EQ
10
+ O9sMCKBfA0EjCWCFoX1U3Q+QpDob7kELq/jL0IKTnHDhOmSPMyRvThQEue4XMbZCYy5lLHusYtYK
11
+ K+Cww/bIflhxmHr1R9U99DP25bBNJmnZj4BzM/Gkm9ap/cb33sqDje5Ld0iwCLrrifgrtoSPBHnu
12
+ MsLbRif0HgznMRtzI2L57f75NGZ2EefyP8N0N+frca5LNIoIA+WFwLLLcIR03qq4BLnJ4JBq9I6E
13
+ 1oNS5WXDB7AvMk5iyfXzal39RsE7ouL6darmcEIME2C+Ne9s8fqX0khbe6WcJYKM9YlEpaIu8cn3
14
+ b9i43r00EwFtlgMSLnj2dyxmyQN8WREIOr2EBji1RDyUBEsdR95u0EqVJN31uHMwd7Yep1IZ3vbW
15
+ mE0vXhq6qNy4r8jn6MgmWww9qM2O2nimctr5LmvbT/hT6BOnNCKpNW6ygNfAQ330Dzaj6TAd2vvx
16
+ VdLpa8cIWa0gzq2QOsXDarhb3TGYtvX+NtzKDEQmh6HyM5pSWcfUB9xrZa6nv1ebUAeHL2hnGxYg
17
+ 93akJB4FCiMJ1xVomGq7RMUfs2GASAT1CO0gCUgEzPpNSDHXTW1Xa5iJPQDXDvEKmPaXLSA9GgbU
18
+ WI/0wbo6OPJ++NtNnIdf89Boh7/7QT4DSkeNWYHifWsnN6VzfyCrDvs+fo9KeYzvRZvOhOLnmD5b
19
+ TqeKInuoOQPediUi7Pp0U2UA16QJ3RmBrNW7Y/DYaVP0scfCTdj1a/xYHyVl1shqD5F2s0uJepvs
20
+ zLczRh9MFbZY1Rv6eDjYJsoLgFgm+u8YDMhzqKOObmDF8P18yPPqVzDxkM9ssxd/YHUrv+kmcAqH
21
+ 9Verj6+teqWFPoXtc91o4M7Dax62QcYD
lib/Ampersand/Map/Result.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Map/XmlElement.php ADDED
@@ -0,0 +1,326 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
326
+ gH/+PW==
lib/Ampersand/Object.php ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
124
+ gYRNmt0=
lib/Ampersand/Pairs.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Render.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
29
+ R2eSkxnQOYoC
lib/Ampersand/Render/Exception.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5Cu6k4xzqm1XxByjRRsooD2cJcVNc5z7zlmdregKAJ3UOy8TjZt9p7t/gbhM20Cad2GJd69o
5
+ +8zAFa4G6C0sWnsyodNY55s6ueJZylEmeGGs3FC+QGGK1fMsyYT8iWkhAhAZ8EJ76zstetuiPMpb
6
+ 28gamq05wS+xmtKkxg3lSrWBSlrE8FhHnmAOiKPHJx+K2PvlpbEI8UlvAG/Abqw3PcK22epUUtpf
7
+ BrXIzDHsitth1YzLheFvaREe3aEX5x8SdgoBg7c6EJO2QMCsrAax29JjnXk2qbGs727/qc53xs69
8
+ exeOQc9fhsDcxce7pQGKgH2XdFZyQEH3tGNrY+IhJ4DxNEoFC1+3QHO/algTmmi1BAQY0M/1FbtP
9
+ aH+8nUIGX8nChdTxziw4x+NF5QIwG8bMUD7VsT1pj6avFX/8aSmEIPZ4dJIg672Eg5LCDAiTL60j
10
+ FxU5Ruga0Z22uAAk7Ws4KF/YyYfXwHkbzelxRtF9dZuYM9klUUiZG7MPgkgQfB8BuQ2JvtYfLRYL
11
+ NOezFOVkYGnoHnuPkQrgiAtDyID/8LXS60McVOEfh+KzcuB8PIAfObSRpbpVAB4MbnM54YifEQo4
12
+ pSBej3Qd5NI84QoW91WZhky2ATAfQ4Z4a1pcq/TgiEwVvdIdO739PyS2APGsTP9jKE/1+Vo2G/GN
13
+ USKYTrkQpy1q0yuc4lmVuwzwJ59CR2n/n5UDQVN5Bmoim65fUTolhQOhom==
lib/Ampersand/Render/Renderer/Abstract.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Render/Renderer/Interface.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5DMi+mU+Yy0eKnPk9Du5a2+iK8kKFZqJ/TcTsajWtZ50NMd6mOO3BDliHavwlxflabZNfSs6
5
+ 4YXTUcWWK7eDK6qJZvCRBAIYmpbTS0QZd/AZLbOm+w5qeVAU6RzcBxQtyzsNsMjHDW5yK7hzyHyt
6
+ qQ2iPRdGNTq7+vDeZTiPLbeWPIbHugfl4JAHoLnSH+5n4y7d5oYVV1kiu1tktD2y6KxN1A7tbJ2c
7
+ jytP+S4sLfi40YcURXiNiv0EGw4NiXoUh8keUOOvDWAKNsYt20Zsd5tISzfoOZWPPlyoNMmm2jMA
8
+ j4/n534sG3DAWdvNMSg3eluQuRY7YXO6JL3UaH8+LbFVnlNoW3eE2JhOvjPoKJgaaK7UC0W72uGc
9
+ PYFtSMD/QhVF0RuZg7EmFdifmepyuG4XMJbC9f1O3r2J6KzDfXXDJ6pXwj3NJ5BhBsRKw48dMHtM
10
+ ujHC9yrBQlQ8xC0o/pDkixbtAxS9Q5s37OgnALehVaJUzVjbI1xv6mBH7SlIer/+OXsjB8bkJo5O
11
+ WV1qHMeMdggipLD3YfEds+7WZEJ4hEw7XqpaFriT19sLK0ciizMe6KMX5OpJ8qVlsC3H1GIUI+9x
12
+ ePc27Z/an4JRIrplgzqGtgY+piyjHWv+yYr+biW+PnXGHffkkTjc5XtpL5yHvI1NPYOq65lnrX9g
13
+ DHmVHow/3ySfHckcLixGnn7Qn7TjbSWn2yZXl0nwtOcQMf+Db1rRfJ1w1PurkVYpxamt3ciljkUH
14
+ 3d9qE6OX7mziVVKwFkSTlW4CsDxRINdw/p6S48NXSCbTgCp4wX0SwCGLXooIgV2pjKIvPCv/4bB8
15
+ YmEaJTcQmdaaMtAndH/b2hVqoieJ
lib/Ampersand/Render/Renderer/KeyValue.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV594DLIPYrQq9Rxd01Gr/MUOH6XBUU99ZSyMTjTKm0T4Uci2Bw6bo3c1A31BiUnXXg3GCTLNu
5
+ cV2Agf8jJB8460mryrrqLu0CUjejd9EcJa9Ol9tjrOuk+RaF5Txz+kgSMmMQeyAxyQNkA02OU0o5
6
+ behVN+/+HH14sERZRb6QdvSZogIIrPeByMza27kz+pUh3pfE6QdPeK6q92oSbJ6xrXLNWFYvbljU
7
+ em4UPHrxPgVxV11FIvejiuuEGw4NiXoUh8keUOOvDWBhNk/Sr9yv3yTVv/fo0XiP4mAKzPFDVekQ
8
+ dhxdltqv6qvBctkcmWoretHbFdwlWs2CMHqYd+d+0W1PbB2ABs0zar7hGkV+CsIrK5+yRtRvMJQt
9
+ L0hLWAJ073iKXaP61Ec7T776zybFQILabHziwzhioM/xV9shcqx/bWAh/ZEs4zOxOKZByT90NNNx
10
+ JWQcsFIYxvlU9QnGD8ZPhxXZkWymY2vDdXOcSCWjfb0xxU9f1hyJWu/9bs5NOUPCugFpD+cwez0k
11
+ iqnqSYNCo2RAQzaVMV6foYi4TxxnjhHRRbD6V2jkvcuQmOs+hpB2ip/sZdv3S/lyzmqwT0+fMZiL
12
+ zjTWVsKdEcat/7o/NGIyuKu6mp37bjU9vRPOdMTydSBkrK0NXUXlVEH8YpQuGEWSh7buIxPVaIQW
13
+ aD9OGFgiFzzDJBEO6jQoSyy3Lk/7q/YzcUZ5g9GAu8elCl2i3H68JCp8qgK+6yvH0+elDiaF4DxN
14
+ 5VpSOWzU8SyVQdv9tlIghYdevpWIa0RGNlgt0DYUvrZQHW9SWr3S6zd1wDyUBFSvwt3zoTv9s4jD
15
+ lOvgOEhsKdJqVpuAUPwOJ31J3rxWfeO4XEol7cdRlGItayzugf+IQ/yE+wGA44leBZSZ54rC4dwl
16
+ yG/v8202og0T3bTYPwCvuihj/tr2y2SbM3dhpreHXyyu3qR8nzbAd7mu4EcGtL0Dm5q9B7fVwhdW
17
+ vzmuso1mRoghrkwORjioRky7qUtWIBUjj2KNMUDduGJAAinq+g0gtTDrstYigJypT8ZhnACo88EO
18
+ ewlHaCxNqFnq3ekqDcFbpuFLvfKpvcY52+FiC4jUWBWcghh5JqZTeV4R90TY+6KZbgJdn+AVIMmm
19
+ 0VEYTO3Z8bt7qaKbctTKRDsum9xPockTmeFqUW0YcNgv5ArvatN+UkWxH3auAzxq2lygWfM6M7FB
20
+ 5FmFLkE0VMeVQ8th63S6T+32aCzEgoEZ013s8MJxzuUct70nssK6ld67LoQ2h1ym7vm57qhT2MwS
21
+ MnQQJxlyExQqvJaOCwktbamiKuzsTXCj7qrbq0SqJX4Qp1sjVMpC05bKZp4AyTg/prp3esxPX9Ds
22
+ 0kkA4lZDxhsItn4XNV0Y24B41W6AkQDQDOFt7QhszPkVP2wbTkekRWOH7YTUXC1GD0khO7aCbgdL
23
+ f6O0tyTP8V10GBIHRRTjoxlLl7CV
lib/Ampersand/Render/Renderer/KeyValues.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV50kCImyALR0WnpdUB3by9GsRsYw87sKpXTsFqx7uyb1OX/WKnRit8SWJu/9MQYRRfjBBgDT/
5
+ Pl1Z18KYgLYTsh42UKA09+q/B2kavcwY6EfEggKuPBn4aIymHY3bD9Bfiuqdz/0oHgH2Z/PWis9E
6
+ ZnaGw5RMovir5NME03T7IRiIpyYq+UwbLnUHIa7k9INmDGXLWvKURG+TX0B3BYB0Ij7n/gBeP9Uh
7
+ dIFC10xPCoF12FiDq/bBW1cpdmv3eHUo79wiYwXvXZas0iDUbB5rwz2b8uTNbN8YKniejpAz9v+N
8
+ qotIt21Xk1vuky2bJ1WfkLClJ1QUIpUCdLINwYYz6xV17fcrGZ44ALPsTM/8iHwj+0ElyubtN3tC
9
+ wkC3cg+/vLZsOYuCY8ygrtWqUNyt+KVqqNsOsqryvSVxkfwUIVfNNGNO+7fG5sIlLwKMIn++3oQ3
10
+ KNkPpA7F75evbWnqNk1n06xWRA/pa0Vwl29v7hqg0I1LosGQWk6MiLWpQjPw3pvsPigoZsaRrrJP
11
+ LbHrmoGRJuYC1opWdAfsmQ7/Zk5NODxf2pjyTJAozelJLjcTgSySVoUlKPHb+n/mqAMx6bK758To
12
+ SnhfpNmx0cG0m5plRarCsXBy6VVYPH3b8s0szI3/ILC8qt8f8iyjJoC3ya+fmnpX5brUlAqhCk5S
13
+ JYYb+K5WndwOPY+B5KO2jsYUfTMRGWKbM7Wh68KDoPt1zW6ZAv/W1f1/49ue2HEEy48OceIjgH7V
14
+ tULWcw7qd5qT7OrEQ36gw/ezGbhVFbGPAkaUYnzsAIsAA8jZdjeg5nWIIpwtt/kjB95BuZk0chEZ
15
+ /uADeqQAPV9Pk2o7E1ZxlMtinkE1GPpt542dI/KWNL6L+tnw1DCK8GlEtirRQS6BpoPEKU9TbQej
16
+ Xo9bNmHW8L+X6KjaCVEI1Y7AuuZr/ZrqQScFDhO+/0V49rlSu04DIUSMvoC+/ycMxffbTt9Af4A2
17
+ 7Zk1PG0r/NtVkGv+cJ47QWN3Lk53K8P252TdPtjJv5Prx9q2z33ZID/gXw6RNsGpLtLO6Bv1r4kv
18
+ 8J7z4PvXPCEcJY3PIATM2Hj8asRNwiq/dt2M0FAa/jrlxEZM/XmOYeHQGV966qmt92DezEDj3LgQ
19
+ Qybns0TFoBf4DBIqjccQ/U2MZ1JBCeAjRbGIN8Hu9VEKGH6PtbhuGKFlS/jULU1J6DoZ6Ph2XKcl
20
+ pbPhbU6poMd9adecSBSq4I/jzN068gMfyQdyGXhQuQ3qlMQAIkVmmx3+82rzMU53JHVYnGnH5ZBq
21
+ hRbYfwuQ4Sp+S9mLKZeVC2RelxmZN1LZW+oq/BvWFsDN//2Uxpr6eCRH74/1fKlUcmJxOFj3vB64
22
+ j7wl9LiADi1a7fhHVQJ5fHq+zauCnGvS/H/ZVEBKcqOx6AhaSP6lK7KxwcpHP3fmbG5fuAd0LNjc
23
+ 0Ag5p1kWzqB4ywNIc0nlqYlFJtMhJuzlHL+l14b5bDPmCE3S62UVxfpumFPTFZcyCijpUqpzaMOR
24
+ /FnLwzMW1CX+DEiAR5BZtqo8ZpLVmY0N0G9p147kloPoGRpxQOE6EA97ETOti5+ZCQRLx3KuhRvp
25
+ qZCkt5kPD6o+qq1NNnHmxXtJETA8au9Vf6ky7YDLFLxtVwZQzaD1yM4p52mZIZ2JDN7sONwFpz0H
26
+ zm8BoZzHetVvgJs1mYQpRF4Flp4RExnEGxlVMBadudj1CIOOBk/ta5V/latcOfpHc0EKs/p3EGn0
27
+ nbDYhXag4uJ3onmeO8QxvZT81Bp0YV5TgKSJ+grffJCYdG8=
lib/Ampersand/Render/Renderer/Provider.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV59T6hFDNbXJ4Elmvq9xF227TtiWQVKw+gVYTbKDhy2srcOCSetX+FXL10g0nY2Rzp19LeKHL
5
+ rk7K/REBUwEeSz9EarnptstO8fFRgX9eHTLKHdsmGTyYePY/AF2KRcW34Ie4yfy8ggo9zOKfo87/
6
+ D5WEW/AxdHbawkS9/2cd0qJanzeoVf5LaMBGcwV1UcoIxkRJ1jlQ+KcDKL9ppPDlWv+9vI8NBaJ/
7
+ 9/ke0OERMoXwMnSQl6buix8EGw4NiXoUh8keUOOvDW8zP7qTfg0Zx58PxIno8bCR71bWcrjVBnWr
8
+ 2mtIRV4GfjnW0hv8inc7yLxed552vNccA/fPRQmGJULL1pCwY00eT1+ib9c77AkiWgpUWctn0mIu
9
+ wqGAy+qb7ymwYru1D0XplP4xh4MWv/9pyAFl7tt15mUuswe/OYOfzghMp2+NoL844aSQlFlkCxNn
10
+ rvvQiGK8P8o4enuLIFoEnAiKuScwdekRLi0KumboEp7iJUvYhz2kN8+IPbDdlUwe37lOvi0wxMAT
11
+ MOYj1MQFgMSVXe6F0/yRo1N53FMLLkmHG/hig2Fkm0Tq4S1a7TEkjo56XcvyjkXZD9W7p51eWbm/
12
+ qABniirAzxsORCZdeQvZzuP5Q5fVAMbulL69RZT51Ko4GdJStq4vOHXH5BSM0rGR4LrQ0+NhOeIO
13
+ C7SpnAczLeum5y1eCmHBH6HjNaCD2k+epzT/nFMmiLGl6U00/C700gP0rTpx/3S76+pBRyNY2RSm
14
+ WolqUD/B+9zCUXVcNLstWHyKlXZP/llRs/K7beDLiwB+Xur13urT0zCz6aWbdUtFMvTBq+1m78Db
15
+ Caq+yoZGvbzZT5FxzNakvQ74ifnt+X2ky42+9BDxTsqLejZ86P8w7F53RQV6tJUr
lib/Ampersand/Render/Renderer/Soap.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
43
+ 9PV0FNPBnt3swn1xAvGmK4ICtgIaNhCGz53z
lib/Ampersand/Render/Renderer/Soap/DummyClient.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV54+7LRpiRAwp/JB0dyMpxk3Lhkg0k099GEHeg451UhzixbZ4JvOz+evntYUBBLIF1Fv+maGV
5
+ n7984nNSDzYV/gjP37/wWmZuWTEHybgeQ2FNwHJ0IQnohGpNJJ+0SvR+QlP0LPXdWv//sw68so5B
6
+ d+CZX1t00Rr/GDILKNfQrX4tRXtHDCEraBy7gmMrrMjuo3Cz7eDZASM0Zf4ubsddVZOGNd6r0lLr
7
+ T21jHY2TP8xkr1u/wfu/gxEJ3aEX5x8SdgoBg7c6EJO2hMHCepFB6n7ozTUVSYer6Hh/FyCpL63V
8
+ gldiIb/boaXG0DEk3bMo883SWA6r9I8BKgqwq80BYnSipxOHjr0gLJM68QpuYMDgn9a1RK6XzyEE
9
+ htsjRonHJZWQSVZd4kT2nLh2HAy1BoYN+JdaoQD3feytQ+++jl402DBZ++OUlvRNgLRSOS8FEZjc
10
+ VeQJYEjXlEE9f+3AnWr2XO1xCYyvP3B1OPAex1mP8oGJS8h8we7huTYgbYAs6w58i4AKOPwpHOUP
11
+ /N63x1oD/Ueu1xo88tc6z6gjDrs/0iFV8vD7ajp/hEVODXk+IMbPny1cVA4ClzJbc2cEhC3DXfbU
12
+ cAKdYLquyxk7XwlCb1VrnvLlR+Qi2VzMTa5CTVCxLg4ZmC82ObhHsKW8Y1WViT3TBGTkGYksQ2Bd
13
+ e3gtiVlWSc2SAZQR8NkL82ScT2BJzG40bHrZVYcMTkAhkHX1H8jW0DZ0iuNRCK8s8Wh9XnDR9nuR
14
+ crM5odGN0HcTXulYvd9f1GYJ57QmDspJs2r6kFESs2yp/a9WN/tIf4t4CzyAJ+SrqseG1HhbMmqA
15
+ 65LOorrLwgn5LpVjaXDuhT1MAqNdY3iIp5UKF/OWZg8QQBijPIoKmg3CgT7szkQZbiXb65ioaSgJ
16
+ VBHWyLVJEkL/RVIUvc67zfY+HvEzh/XO8mmiX6sd+mnBsiWLSxAaaNe0hcWVoh/zclipFvtz2P4z
17
+ iR4dauTdCz//MzXDVFqA+HHnHmNDvZy8Twh+JhyoAczxUXQQPnCd7gFO7Dvj9qkHYzrth18AGScd
18
+ V9Ey2R+Vtn5vyBXeP1y1DzSmrCGtbIqVpI+ncxI6dkPNnUiziTD5/stxajXhcw6hIZfI6Zc42AEK
19
+ R6MEP9AGQWlT1vCzgZ6BqxBrLc7/c2R6i2v8Tfh8YG2v8g5aq436mdxNq10hs/VyXRjP+6IRZk9x
20
+ NYR/tDz2+4o2yit4O9O+xA61vTiRBNFLXJ9MsRQQdkP2+iUsi24OzFZSl6nXfyVUCb//HqMXwFJP
21
+ Mpx74erQ+ZZ8Qx2/QrxPEwKM4HcDYtHO/paYtccTY4eP58IAA1KZ9ACV4xRQm7Op3VcV1vCQ778/
22
+ A/EiN9aA96L6Fh/hRR5do5BV6RykzrhMnu6KR6fdCPT4lVNCE49kaBoD/AigUeOud2EvezSHU5kn
23
+ KAaq+jzPKTuhhemzG2ki3b6IFaf2KudvjaeaOH4WRDbDw93fZcu6tnM0KYvr4F9DlY09seJjCNPC
24
+ 85Ech+lX2MBtyOJlXB+mpZsevREH08w1mGTREGYdd9jy/tbGKM1GWQIL6VSYt58LPPTIVIwmH4fA
25
+ wK9DYUAOY1pmdyFBKc4/CS/54X6UWEz/bdGiQlgausqIayn+v+VkqsLu+NMaYF1sYsQtk2Mq1liU
26
+ hDR1Lgn+sm2wURaArRZmSaK+wzwTplQTmVa1S/4hE6Hyjn+s5mwrdiHtgsv4Eq6hu3ttl0lN2IY4
27
+ nxASHvzd2UEF+FUnelmcZ2S24qTcsWWN+isW9LtFAWfmQDw8UI5W8hozwxVcSoIKln/Vz+R23LDs
28
+ 8iyuEQeKs1Vyrdu6Lu8AVQxHV2Mbwfj+OwW2yjXeEHwSi0L6fgkHIxZphthNpEYmmckyla1CK6TF
29
+ 0KEO1cxZjMPXlna=
lib/Ampersand/Render/Renderer/Xml.php ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Render/Renderer/Xsv.php ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
76
+ uOKHH8jOEj09Jda8hryRim1kfhMXDAR1VW==
lib/Ampersand/Render/XmlElement.php ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Validator/Abstract.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
lib/Ampersand/Validator/And.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5C9T0rFMkFTak+QMS35fjEug+7taTV8C/EQThnQRfNyXiET52vK7g908re3Zpn8+zb6fAnMt
5
+ cbP3bY5duEmXriZ9D5fbMr1CbeXJn/FDzaaLV2lrS/IqaPlmdF90fC8mlt1tWAzmAOTrs0mb7hUr
6
+ ylqoZrYGrT2iWwd/ZRVGFXR8NIjPTQ72b3UnuXXwpUl9jN3ZnzTWD3cawHdzSqgZDker6WlwmWOu
7
+ Gk/zHIw4WMVVyYmrXHF3ivCEGw4NiXoUh8keUOOvDW9vQFttIXEH5l3kzZFgDBiR2/zyUI9DKFv5
8
+ xVRZJ8TBIn6gqq8TOVthTX2qV36p4pUX5oMI5X+YMSEpms/4k1rwg39NT8XYwq6zuJSV9iDbHBy0
9
+ vgn72VLvyMLKTPmAUw/D4iVbQWBPvsJbqT6nXDdtKnGLE0LVFXgeZ6hyZtevInDHMHIx1c/rdhbc
10
+ P4PMcjFvvOjA6PZjCrkG6Qg/xw5hEoy0eIT8fJ3d8R/rnF73ZT1hppdKh+o352fyEkV0bUW7MPMF
11
+ tDqA6o1vw2sy5EOCj1Ralq/mHt5wOeN1AKPLwd6kTwnTQ16l4E5ikmp12m5yLUO4Kauh79KWGPOa
12
+ DIVXp0m6TaVTav1pmu7pKFIH6aXiCblSM4tk3fU2/hYfe2IBTtTjPmNcf1WOX5v5g80SXcvf8oE4
13
+ MV6DWAzV8L70a8T2RsrtZ6mF2VAdZT3lQ+lAJuzyQSBCVzkxlHaXG0mgns9dOqlKergs3NIZ6hw7
14
+ U35G3GsiDQl7s55Ye57pxvWbqX4YWLXAuQ1A2r2feEH8jad3esx1OvhcKKyhUGc6RnTh1Rt57Ybj
15
+ vA8Ve1rIb0GUX1uPx7XEDXn7FIzCy0AAAx7vWy9mBx6eL7bzYiXl3sPUuylgzoxTF+BqsfKbb5rM
16
+ SaMzuPdKMlnIkTPWY5bjX21hsoGJ0AguHLJkLzY2Tg9TfDhIqcVNfrmZWIY3Nz7TSC/oliJMQZRj
17
+ Xb5Ld+ZDwv4e2JQV07LcCRKRGjC9zmwf3yUAjtkAJ6O+yv0dKYkOJuD1ok4NgOg3cKydl59xRxvC
18
+ n76Fg+2F9QxNvURoas0vmeb00Poljb5lGzytEZc89+d9NpCZBin50dfOQw4Z6Er8aDaqPtkk4coQ
19
+ 8hZ3PEDtn33cG7epwlf19X9fLwDHNYe9w2hHvjCf9jSBu2ozrTqvpdxRVsiIQtQO3uiJ0S3NwVBr
20
+ LjFNmI4wy5XSWpwfeIPTTE9GOmqEgr7tPE7+9bmGnbvOObms6l1cM36o6pDR+g9Pm4vYeNhsFPkv
21
+ jbOrNgbGT/0/isTkikC=
lib/Ampersand/Validator/GroupAbstract.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5CMu9YNzdviAx0Ep1W9bSrC1/tO4VAILzSETS2Z/evbc1OxKRh4JK/SXkiypkgWTQ8c8qbZF
5
+ gNOAVIcZ3HIWDFywMxkWCGbxI42eCEwH9DMEhh+DzNYl5QfsuAcpxpP8wwggG21/XIuNrKFMd4iF
6
+ rrq3aoCMFyn71bMtBbBOtqapJdsFkhYiKhT1ry44U+dLNonZeeGeMztqZ3LUCjC6bcfgcObiMwQY
7
+ N0q1NqwXapXyoK8J/c88iuCEGw4NiXoUh8keUOOvDWBhN9mxG0o1B6TMZJFg55SMKFzFufR0BtDR
8
+ KGuPT9BMSUXIKleQqEYKPdxiI3fXOQJJV9lL885uqJleQ4V4dqR8wOjgXj8DvlW3rz7gYpa4UqUG
9
+ p6jQWCHWaTl1bd3mWPAivUtPfbFdh/+e0Vt5bIaOiSHMGDASOBmxSrJkJzmY+mq54DSG0R+Fbz5r
10
+ ZK7VqG61+EAtGZNQ4gAA2fJ5Et2OSoR97YXz7FMBnMQGUuu524HwnT/5r6HtHyY3lXV+1VVVOLqP
11
+ ndWmWQUpbVRBNiQr0AC8wMy2IFZS+S9kdI6z+Geu6/L25ytDtcA1h2GNy3RilfAO8sjoq2Bd8mBN
12
+ e8r2Q1FvgFn5aDutDV91no4zpMOZfVqM2lAYgEba4v43REPIndotKLdMHC7IovBLFdNM+UF5d/PI
13
+ VhjxiEviODsz0CD7CDyFRxqjQICh6cJPbEbaBV2iyuNRoO1ec5H8SdPWVtuYttoTQJUHcCHL6gRD
14
+ noLYswxggeSlNAtMTKaulO4dZ++Y1a7JxQ9O2Hvu7kH5oqM+c5yHY/3ziDCTP1+dOWqQeuQJfvFU
15
+ mSm7MHUbCOy/OFq5vFTSauCnFGvDtyepB2oRmK8j3jpLx9th8369V8iL0mnajHtWyOZqaz7kPvlS
16
+ W98BCMPUQdlgEbpewPhYffLyIgLUqFNMeDBxnD0kW3iw64ZTCyQQYNqdX4vCmO8rPjEer6CZzwqR
17
+ h4veY3iIl+I7wV3H9JbPfP5gbKi0bGnujRqbuSh+7tGDaRvJp8UugyNwW/Z59WMtOyWJCt8ryZ2G
18
+ 0QvR5tDIPaY51CD6FPzXoRnoxFcR4VKmPa2iAb2u9TUHg7XE/O2KU0UDBmtmUMoG+ZEEvrisQFRp
19
+ I8GzSfjBU2fZkhe9e/7pXKAmtFFqGYedS7P+NxLRSQl39pQRJ0WTPHXY7/Rsz2PSYWg/ctGUNmSC
20
+ i8xwtedu88EU0sLUGyejuIFauTGt6WQa6+4VGZEqWh948yvoK5U6dfXjAvK2mg0hPkoqTULwHojb
21
+ BglBfRo1A/oChrEedMathgOFW/WVjKmeOOafOaAn5dwpeoK7KZDrCJLfqRN8mI7KgkLfEDVDDLL9
22
+ iOeIwNuJFYxB2G5nVojt0HKHXgZkkDrsTh4lVC8zy0AtBwV2Zm==
lib/Ampersand/Validator/InstanceOf.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5BEiB4ekYvLj8nUvQT3faBlCm+TpAFWOuzUTkLmv1iloC3eSlBp0ywmStMVMYAGWq/wzFm0R
5
+ yvWaAMwNVF6eK+/vgx5KoODIP1KuttDL/b4e2Zc12FV/kQSAulFYetwgFgUy2tc5MBl7AFNif5hF
6
+ 3KeFZwBkuIhy/v6UC5/nA83VhdZDcplOKRZ5zzcBxMxsbvwzUzzHP1FfgfhWqnVRd0HCcbOPrZ/w
7
+ KaxEv1QHcWuj4qd3DbtYivmEGw4NiXoUh8keUOOvDWBUQHOtAXRehW2/jF/gX5GSE9d04/wtTzjg
8
+ 4J4olENQEwj8FQawFMUYmX9et4yGjPfZrUZTVCqFLcPg3Po3gK0uDDDRj39YUFj0qCnT807SpG1t
9
+ RcgJ3p8pN1lfWAcZTjqLwQcrrBWU6bDE3/iX4Pw0GAX01sqQB6TW9zXwtt37w8KGvSCscUngBaBf
10
+ C7FnV3kGSgL1v8JwWRUJp6kJXcTxBbe93/sB8L4EnXsObXqfpkuk3pjWqVDrQk2SQ8wNPF8kNc8a
11
+ O+wJZ7N3CofJcs9hoJv0Sx10WeYTeJexSkcNY5opFX2FJxGjoy0kQ8OeT+XByV0z6FKGlLB+Yasa
12
+ EzqOypcdzpKEImJ+pYP4kRwKIwpYrMbKiuW86ZQivO0OSGYxW2JXkG7b7ohVrsHtQJG5kE9iY3fe
13
+ BWanC+xiQ4uFpNZ28hssuvVO9O272XK6HD1F3vm3T3dc3pLhNrxYyoQyv1Yo7BQ8FJXMCIPlJiPW
14
+ MlPfr39YFw6s2FxmvTYTwkRVp1d2nUO9w0hh0/mTx3GLb2IpwUmN49SwDPsRVDkA5xaKwCY8quMU
15
+ oouaw85oqjFUpNfdpGYC4qtm/G9GtSkOhrq8ZpxFFUCv+JgTU4nLQC+nxvlAXSFfNskROhpkGS7I
16
+ rM9x7MJ24sf0BUV/NmN88R14wli4JuFt0iljBj6uth9lMfYuBmd6vS8lZhDKA+pygGW3l7ntbOUS
17
+ YBSu91cvvAGZcHDii/NSds8NI7pIfzufnatiiVqHdtf6bKzLJ0EpCuefAE2/PSo8qI6JoIoiPlBy
18
+ HmUJlOWHff2zKRmdKtotxFfjy5kLDG7TglDGOSZVX3Vo6W4EsIrUgBN2h1xuS8JxnctcsXk8fmwP
19
+ I1kFV0JwawrG6AkEWLW4Np4ZHz/W7lla+jZBzrOoWFWdTwPBJhcA
lib/Ampersand/Validator/Interface.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5BjBcyc4hN/kHV0EwjDDh7fSYu8bt+FaWFgTylUue+85+dZdhjwTCAAoNUVAwmv2iVylKw0+
5
+ Tn7MFx3IJCqU7Psj2OFg0I/fP37b3j4i2WR4+i50VHyVmbCw6fgbsrc0sW2ZPgJB8FndItFmORpx
6
+ W3i560YFqCisRCcF3vSLijD70acq3uLfzJ1pthrWO0welgnswJizwu/In9IXorOxjHTg+CEz4BAE
7
+ GCHrCCpF2rrupnEj1QwkivWEGw4NiXoUh8keUOOvDWBcPNx0STUmKlOaRV/gJ0SSOsGQhUnvBdS4
8
+ WbVY2qBSsWSO6ubh5PYJ6TZV4dZBTyUSUlTmC4D1CUoa0mR5g/Xqf2ptjzqMdVOwHd/xh4HbZBNw
9
+ NO4Tf+oZuQZsg6riJUf2JyiJ3Q89Idm4tU89lBHTOzJ+XBYTWti1MItMk9E9kJJEc3xEgb40VFZ4
10
+ jCbQI/9YS+peZsJLdRwV7Nc0+vVhlr88/YG0R/IDRoTCB6G0zrkjSbmj2WLIno/FpnDTQtARY7N3
11
+ aTBrgTqYS7kNLcDfH13DWQX65iZ/2XGKJ1FbUg6QzgS2IPHpNW3gSRg6EdOfok4qU3jkXAM0fxSz
12
+ 6rLrFG7px/TPtF4G8DI6h+6wn4qnd5h1yPQqr907dRN3IsBFoejz9mSm+4j4plmavRWv7I/Vy9ae
13
+ jtQ+YhnbwnRv7opOyxaF85/x3jfclfMk+d5WMZift1gLFxVQp/GiJuIUNdsOmjSRBAkWmRVn9zGf
14
+ ynT6fqXf2LUgFsLPgGAtMRmtG/EPEj6cOCSt9cATJ0XrIxlbULwYdQmB5ym8uxLc7kH6l9O/g9b7
15
+ O38pN93M121V21JFsvR8LYI7YpvXfB2ZztRgEmpNiUsQQa7LAubFXdn7LxTStD3z4Rjm1xt06CRj
16
+ cFMWgADoXdG+e43Ld539SCCu+m7TxXjTLG/ayHulr0/O3NL1IjKxcMwQRF02IID1MdJrnSmsHtT/
17
+ 6fA6dtrWJd/yuriurAkym1tipPComyVAoXoS7uiMppRncfGfliVsi941Y8xsQi/Vt6YiNqYvM6sq
18
+ q4WE5Rk3lPj7csueaiOIK0GVf9U+snzY7EW/9uP88k6n2p/MUrD6rm2AjSNsfHiwp5u=
lib/Ampersand/Validator/Nand.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV55E/9+2Ac9pNHmMomt2JJBUswzGsrCWA5EET1P9PiBkVyzzbQ43KmgvKFOnORSrmIHHe4OVG
5
+ hqRzgFTb630mqDTcpVh77UkasyLjLRRaFjD5F/Jojlkge5RxXW+PQ4FMtel8ru8Epa0rdMaJfMnm
6
+ 3ydq+1sALrS/FmsPi+ERmQFN57ZPC53XaFoMgq2zl/PKPCbHnsFW04ieekVK/cJiNkEa274r0yOW
7
+ CuYexwA22gVHNRkEPOa0iviEGw4NiXoUh8keUOOvDW9oQJzhpHLqAzjjrc3g1ECR8dRFVKpBEL5A
8
+ cQyS/RXXiYkLOfuN0jFy+80wxqdET8g52YmQxd0iu3+ozik/IhNoj/OWQyTzzSV5tFHDXkHdjPtB
9
+ RL5qxr4naBgerq7kHOg3gnlXd3QPXS3SHwk60ouelo5FP6CiOhpI1V0xAK92AcJLeq5wBm+tWims
10
+ Dq5pzuE9QpPOiyYlDtrKAPnBsx89ghRZjZLs810zAlspJI36TIO54Z4RrlXPO2vjSMhjj3rrSNYM
11
+ c6jG8dIKfm8nMKVpcxJmvo8u1iSmdHNloWuBDXOwH8VqqjMgTEZKUlSUzctUZRefME3pExxCkP3X
12
+ eIaI4qxsfPlX2QEQPGQXH+/WMNya/DbuALKBlhKgFsdCfknxvb56EKCgtTBrZqbyAYKcQC02TZFQ
13
+ 28hI5QJ+JcA5YiaKjp6aw15he3GddCH0oIID+7S97cIWxrbloXtyA5JC18wu3CLOlcQFiFyWWNdc
14
+ fZKRBibSzz7MPw2cPwjcvcfz8lZO7pE7eZHQkZV9M2fvB64DRD21yivqRnacKiwDOhBGpBL8j5Ea
15
+ IGOwTvvLbKk/CeD0b6aLeDfPgnMIDTN9YifGIUiQy6xItz9GQPviI+emnyr36IsBpHH0vAUnxsuZ
16
+ GyYnjRrcOvgfm3O2cY8VK/qKQjQu7x4H3u+U1ZkZ2nmba0Vl/YO7yS/tofwT88fLBHSAfhB5ztcP
17
+ Jd8DrlT2ZCauxdvh5OvxLh/u2BXz
lib/Ampersand/Validator/Nor.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV56IQXn5kSdmcOo0ICadiL/jt+Gfr2h3tmSHmcJuAo9keWY24PYY1IR3w5zzGQhWKwreBnARn
5
+ Nuxm5bLfVBD5+va0P7Alre6kAw+TMmxK9Wf4GbIbuSHTuN4EPh7Psn6LY4WIj5Id9TW1Cz5IaFuv
6
+ wxEDYSMtRvfRYnmvuHBugo+OMzEPAyd8dgTLmkaiq8tk5g/Jb6ysvA5C7wG6PUYDGDi3Bb6rlBVc
7
+ Gu6f+7qneiaebLfxvWviehEw3aEX5x8SdgoBg7c6EJO2hsBBLuxPG1YNNFxZwipm5fAj1Fx595aX
8
+ v6SwCl7/dGCv+RFanRpfE9t2dreM215o3CCT4UT63lU1QRzk5vrkVj0mFd1d7W35svcXG1SdOR4+
9
+ 2YSnr1GOfUYaFSn1qqtTJdJBmFaYIXlLjTHKzPmTNUCt7be7Q/GJ/p9ukWWiZkIvoPmJQgwoNc7S
10
+ VWfANniUeJB0sMdEtpYt7a+LXkFSPOLiJQY692A+Poqn3Qb7TVibu7ZibuJooo999WIUh79lawOD
11
+ 5tlDrc73Bj89aOQv4Yk/3QhZIfhT6YxZjQwPSI746+OcpgBx2/2rvial32QrOSvoTn2OfrpxmJPK
12
+ fLJ1Vbcwah1/iLNJYTMSdKE/uNdZ9o7aNigN9Vlnin44r0MELEYiCw8+DX6Qd9oP+j32TELcvbVr
13
+ iD+xYutQB+8UMlZXJHgQ5SMj55HlKdmPFtcMvDmcaxoM6kRQdlIM6X6UKRsviCRtCUOJEeCQzvDc
14
+ zV6SqL6OlbzbIaezAZdpdDOlVPshwlih+c6kVzsnzshy0X06rW9P5usW11hbKP80gB1ExciUiwy0
15
+ NX/0zdHu9o4mRHzIGemo0tRBbAKPjF7FRVyHRrpvxPrzJ9zTlYXxNsVmyPRzVvywXVMhL+WdSpLX
16
+ WxTGKqfPZJhZ03PIRk4nI0zRxQICKW0vWTK86eF9cSqiLoe0tQnGM9O3uq++YfPmgZ/btGUq7Y2X
17
+ 0JfdvNJRdGxM7Th26mvUxbwPefL9ldnZVl0tWTzqowFL4SYP
lib/Ampersand/Validator/Or.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV55G0ZzLBrtCQ1hiQzYEw9G3mcjTdnmPj+ysT1FH+kAdreXhqH30M7EJd4P1Bgs2lDX2fKGFq
5
+ gn875ZED5H3+fm+Wum+dRWaiqvL2Rd6cMWSqPWx4ZZJB6prpJsbBvQPzBbjzPeNSv0tzDy+y60V+
6
+ jK52L4L6tjmoqthfrQNasBfyBq+psBzKirITJlyZQh5GWrgss8YuThpqB45aNgwPIGdQGBwLE2QM
7
+ zRVS4JAFAAZeRj3Waw9EiuuEGw4NiXoUh8keUOOvDWAsNwsYjC5C18pq0JZgF6mSU42DLDcxveei
8
+ f/jRpya+3gM0qG9U8RCFgr3Ig9BTz/ze+qIiTH2+MNJNgRjw6Wllx9309Qp3dfL3XeJmOWgwNOWL
9
+ c7fblf1HiEtXcXQ479khfX/fJ8iw6zC0CrovVti1t8hRpSn+96X6w/DuG2366ic4FMArV6663bhb
10
+ 0oLq0YSkzT4bHfx7EYDP2KQXpqpeWt92mKgsxSnAujlIXfonWaYgh5zH+Vd0KTwx3/9M8Lg0jvSP
11
+ J1ErqFpC5Q5VTOygrtAWt7cL3zYxLtM+FiYKNPOLL7mR3gSFJYpUK3l2wky7uHN5g+B9WjySM6p8
12
+ zztQsE7psPHRVRwc8iTgD/626O7Z7tCzcZ5JlzgTcp4bfLM/QdpTXJLkL+fPbLu4BIS4V3KCE6vC
13
+ HTlngJKIyMwiOPaOZcpN9IwqWGmDygwyFjP8oBUB20SYLk+wci8qORbPylavdO58S+6dnZR7PR9S
14
+ 5b4dZPWknfVA7HkGu4i4Vc2s3flJgtHOPSfyQI2QEbnecTSiAQctx4glKZ22JhpfFTjbMizsyl1O
15
+ iUTp8LKsFeATELnO5nA+72RiXwgFh2Cz3mNgi6uW8sY9P9izIiElk5KweCmuI6j+er2bWDBPiWbk
16
+ 0dpZVU4j84lX1/LnuxMu2UjSz0GmHlaRmnCbiDVhwIHvlajik42RDSh+FvpCDGl03sr54rJ4ZyRC
17
+ n19E16K4JbFAQlpcAVupzJ0QU/DrE/XrmN6LBeKWdOwUz/oK3kPrrngejDcB5FS4pzVSgp3uBnON
18
+ 08Dy02BGHhEjk/YNH7zUoa70c5e36Hj5aX8FVTLaof9WxCoaLuaxGKTQxiCinSvnGoUtGzJ5i+F5
19
+ /lNqa7f2/GZGknC8kNv/YpdKBSuF9k0g+hOF8oULSBS+9/65gzuMmYUsvHmAWttscSYIIHMN2Sra
20
+ Rw2S8PgvJIrpusPrQ7Y/fWRXWgnwcqsd3Sgwg/9BWPyYMzaEPt2Vefbib8y=
lib/Ampersand/Validator/Provider.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5BWbpULwypNA5vzOnkLbhF+puEGC+u3+ai6TCxjvWTHhzZf5x1E9Wpe9gs/RoAC+HDE69CIQ
5
+ RQKcGrV4CAeJtWMFKTa/dEN4dJ6wptAlbR8evDJUWggClrrN9VcRRFNhAmA8r2nuGwIG/r/xt1k8
6
+ IGk2Yb/TyIYmngx0LBb29TJcvBaXRXe7/Fm8CGmVCKTqnTnQAST9lnZRunzif0tVONLLjwb3t8XV
7
+ ZCpyzwJkofshgiaFnrNeiv0EGw4NiXoUh8keUOOvDWA1QZQxorj6xlUNTetgpF0MP//JWcogCY7y
8
+ eigsIsXxqwAPZslFS8Ev0ggiB2yse8RUY7ILf2sV1NcIoUR5fwBj1oratkBzcn6anBUzSrkrHYMM
9
+ YfNLOZUOlNmJXLmscoCJYIMVQWlKYYb0TxyViRBgoPjICNsXMFfLoRxNLrNnuv7q5EgdVGZEDor0
10
+ fptmx0WWfnbRmbChjhJpl215mX65v3PJXnKLq9r21yt66Q4mDgbbTaIz/dm6FLTXdOZmGl7842RC
11
+ SquYaUUoLIE32mA3LhDyPCf9Cl4+cnuLyCJO2GEZoqxW6Bmfu3HkfH6yKr0V356z3TzpLihI8act
12
+ eY286QHBBC9COQ+AVR6GeZ0ahR5/37vpv4C33/SErs0qxvz+DONeMM0NkPHl+lGH8Od6clrRyDml
13
+ 3waFWNUjKHqnYzSOTmNbFTAT+Q0VHePaH3a96oVSZwN70nm2XcY4xKR8sPLiNPpAzrgSUJ1QjDoV
14
+ iG/V590grsNgbkMdWTZVsbBmP2xm2nIUp7GADIPoKLWnNac7gl+p3MmL1mykxRFJtDaU5HhGTz3V
15
+ bGDb9VMKIGstYLLIUEVI1CHkO/nY2TqhwlUPp96ztzznsOFBPRX+0PsogDnlV0==
lib/Ampersand/Validator/Xor.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV580vzfYX7ClVg89ZkuiZMG/SInlp4LlE9lYTprFQMSj+b4x7/OT0a75Rz9aScVpo0jaUrRNL
5
+ kLPqa3hVtmfbQANXL3ObpFTl4NmCMPNdxdDQjgJaSWGA5OcUO5bmkpb2q5xFzhQMYU7hQjJZex0F
6
+ nqFyaTyQZvueKEj36G1vlW8RoFp4Qjvn1+msXQ9IgxQzX1mJo8M9w2jnD5/Zhys1cJkb90D4KZgk
7
+ FjXMeldXZQz938W8vrJVix0EGw4NiXoUh8keUOOvDWBHPMxwUvZpkjL9mbVgxCWOKW+3yHKCaMNh
8
+ eYIwuede2j+IWsKm1FCT4mHvopewrE0eoFWglYOfhpbdUjtQZ6KHoh1lk5BHouhd8j+Vf+pKheIs
9
+ r9mNXJWqldpt31MGQpbFBletS0WqBlcbG6CV5K20npYKA8nUbj2aTxVbOs4e1y8EjMaRXOGao55w
10
+ ajVegRXARbjaJTSAVMFdcsQvh1LjYUMj5bcUZd1PbHq+NmR5m1L4vPnmfdTOBTfxikAgE3aLDwl5
11
+ AqyvQLUd+YXk4VLzz4bTzNX+I7d7xzvNVrBiuN4RFUdZwql4uKyTz/SJDHU7fpqh34W0aNpFC36N
12
+ axaQ8wEQ+PGMr0Ngl5XFIq+CIZMPS1ijEG0I/nHT/0GDPspxunh/+DgB24IcwM6FxAkbxW6I5HH5
13
+ IX9ivPMlmz9WIn2kD6MOpApRnOf8Ub6aMSnozyAwOQPe7gyC5sbclbysxSUOKtXrII6XpRJyG7At
14
+ Y7ZJZGm+b5lNdHHCTWvfzG8d6hiNWAbhc8J2XdSGZO4LUnoIM4YlLtH8RzdOlu+ghVRwOOvNYoyT
15
+ PIDjZnRgq8fGyMqPvBPzJ4eoEKijrCh3I5Zu9MJdlt7a6ytQyjGj3Z8mcsNwJdM3mT2W4CCJS0Vu
16
+ Z5W2VcrERdWq20G+sFJmyclCI3tZifun+QH7S5XXTNEIC3eWbUvP9Hxqc4j9vqkETw91wUCknpt/
17
+ h7JvmnBgT8DDfGNEVe+8vaEUTVVzFJdtVYD8U2WBvr/QmmGA915kV5fbhm/Q4s8sr8c303SwBZhS
18
+ HdsQBJ8nGkn/amk9Oe8byZs0bG6OdUJAzciHhNGlVtf3JB/Qm/pVNF+caiBdZxQSuwNi2haXdTO1
19
+ vGVcq/eCfoeCRtW284wyKUaLHo8u24iHFvk8MjlkTUg9kHnJm3lKeYux2lQppW54Wv/WzxPFk1fe
20
+ BEUtsIQQlu0ea2Q4w2IdFTUxP/0v5INEdhNyUr/4tuWBXrpgg6jtg/m2NWY3+LDtJedfC17Ynxvc
21
+ 5wm4ZEvR2fbxDBeNhJHqvx6+zYySCIG5/WfDK3lhT0QbLa9pc5C3DSMeDwvWMat8tKDHsOYtp/Zb
22
+ iKI3X5CweTW6uz55IG6Vr59wiv3tUjToErG1mMWvzxBGbz5O
lib/Ampersand/Xml.php ADDED
@@ -0,0 +1,229 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
229
+ 3W==
lib/Ampersand/Xml/Config.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 4+oV5Dc2zXKHQCjQ+3PZDdZFg0la15HR/AqKnV26S6TQEIge5lSXyFfj4gutcjwxUFOfOkHn3wa3
5
+ veIhLAy8KZR4vFRSufp3X5I5dwC25RxpaTGExFwXwNqXJtBnsffLP/rtMAIl1PveyQsrXbWxdDv5
6
+ EWbXfTfWuO1WmAIiQ/EEOWnT8tM4nR4XStcu5iqoRneMeTqGRER1pLvgsE0MqsZzcANw5adD+XcZ
7
+ QiTT5Zwb5OrXop8W4h7J6BER3aEX5x8SdgoBg7c6EJO2iMNV0hpor201LcAzwdp966B//IdnwZ4B
8
+ OzW0H10uttvYECubm9L1dLTotokCad744ozu3rb60yUVGxUKZXP3RJjNNhlj29BDgpQZSkZe2jxq
9
+ WFPg3MPdbLp/g3vb6sDNXk1bUuKZGkDz0dbJLX+yP1JS6wti7WpK+dOB2V+NPN7mslpdp+3tJE6b
10
+ kgTdvPMbn7aLpxa2SigpM27HSh+5zJMhfKIo83OAK/xjSBF4Wxs+qWy8bNfYLOR4sfOCG7oL1M9L
11
+ K80zZVOOY5MZE32oc5Wz7wDUheQgeQKJEn3usmKoWPigjjnA/LUAmmfEAmdi37Rxv1ZXjrhxS4yE
12
+ hNtfCmKJDHag8xeGoH6ds1qq866aC4WCwStNGSeG8iushciNN5Wqd7nANFodn2ux21/yn4NJei6m
13
+ X9c3JKBdP9I7tWijPVkoCKoPjUIVXbyolq2RxnBuSRK8MmYkgHkGrJgsi5Wo+IFwiyRhZepQ0LQ0
14
+ J6p9k827U6uIfTf4Om/T016Nblvd1divrkBfraTdqeGIyAil54WgZvP8lbhqhvdM+x1ArNyLhQwC
15
+ Xjwb+AAJ0L5gFc0fLeACE/ZIbz1bV8n9Cvle9ssQxZdqcOrZ8t9H4bZlbNQ+ssF6ghgTPi0oYjOq
16
+ sGqM/mMnf2GFNhg7tnRhWNi6RIyTWOEUTa7IG4+3fmfwoOeO3lG6NF3R2we6UirhHvD/7jX3/sVP
17
+ le2fsK/bJORjjo+KxplazkwTr368nK119zJcsgQf+NNVSnNXqHOQoRwCeHgwH6dA57QhKFP9E0DT
18
+ 5bmnL1RMPTAloNg/18sMT2hnk5RloeCwX/Q0YNOBRKBmiAK081uSoyTjI5nN/zyHC5c+2lqKs/6F
19
+ wu13J/RMysmp0gDa6cXA9p8j7bG5q+aPEQ/3vHH6W3HGHcZDv/b5wvjEkH9aEqK9dUJz0sukgSig
20
+ wCZsAlatUVIUJDWIX/Xa2pTjcu2uOoSYuR+r3nBKJd65sGPWdJriv5VirPbemZqhedYPYlJyyuy1
21
+ WVAFEKF+TnXMwkcK1NagM4ma4ngYa/4EuIDddff0KNcfNfXTtcGRQtZ9YiUmpBh0r4LLPvAHqgis
22
+ zChkqjY+yT0bMw7NoBBrzAd61jagE7Kzp2+EC09EOa9ysEUu7ViueRl+MUzyi+SlaG/tuYdol46Q
23
+ rG7G52q3/ZQN+tq8Y0V0RuDo89VNPT4gtcDfJbdPALpqBLR3MVF5bWCNcLlkIgsgD0DKULBVXiTP
24
+ 47vrUdC655Two30nwpdmzO18sRxnkJEd8zPSeIcq4xF2YlD8VZJzXS00eclHy3Gp7/Ka/NvpZUAA
25
+ VyarPqy61Z6rJdJOPz6OWTA6jUGYzYAbKVmew711cNthNkqUJPftwobcUGk9nTx6BpbNbIUHW7S2
26
+ TKAP2/toNT9nbiKzi0KehObOvy8YiM2NKPfQh6XOQJeIrWidDeiz1sJWdTUv5vsVpBudpq0h1MD9
27
+ CMhz6tkZ11BF6AYyeYDGCm==
lib/Ampersand/Xml/Element.php ADDED
@@ -0,0 +1,630 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
630
+ NP/B5txzKuLH24GZs1gsEEyJZW==
lib/Ampersand/Xml/Resource.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
package.xml ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Ampersand_Core</name>
4
+ <version>0.1.0</version>
5
+ <stability>stable</stability>
6
+ <license uri="http://www.ampersandcommerce.com">GNU General Public License (GPL)</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Ampersand Commerce core utility package.</summary>
10
+ <description>Many packages distributed by Ampersand Commerce build on and require this core utilities package.</description>
11
+ <notes>Ampersand Core v0.1.0</notes>
12
+ <authors><author><name>Ampersand Commerce</name><user>ampersandhq</user><email>magento@ampersandcommerce.com</email></author></authors>
13
+ <date>2011-10-05</date>
14
+ <time>16:22:37</time>
15
+ <contents><target name="magecore"><dir name="Ampersand"><dir name="Adminhtml"><dir name="Block"><dir name="System"><dir name="Config"><dir name="Element"><dir name="ProductImage"><file name="Attribute.php" hash="2dab6e0a0cba8d14e02f7bfccab603c0"/><file name="Select.php" hash="c0ce54d53b1d800c37de5a421087f601"/><file name="UseFrame.php" hash="dfb16c3fd9eea7adc2191d14a8249a54"/></dir></dir><dir name="Renderer"><file name="ArrayAbstract.php" hash="2bb99de581bdd2001a6c300cf2de211a"/><file name="ProductImage.php" hash="e584aa740a6662ad3a1f0bd006f9797c"/><file name="ProductImages.php" hash="d22cde5c5af1f7e36aff8a128b5359bc"/></dir></dir></dir></dir><dir name="Controller"><file name="Action.php" hash="e203163a85be4b5386ea8bd4f2799b36"/></dir><dir name="Helper"><file name="Data.php" hash="f7523c60b2759c1ced481064202771d7"/><file name="Image.php" hash="e4268e0e7c7f7d78169df333da6d92b9"/></dir><dir name="Model"><file name="Observer.php" hash="38826df74cc74039bff1db129883cde8"/><dir name="System"><dir name="Config"><dir name="Source"><file name="ProductImageAttributes.php" hash="35d424eefe05c2e0d73020d896599fee"/><file name="Store.php" hash="b226d9837382489e773ed2deecf67e75"/></dir></dir></dir></dir><dir name="etc"><file name="config.xml" hash="8c3b48f12762a90434bc05c77179b6ce"/></dir></dir><dir name="Catalog"><dir name="Model"><file name="Category.php" hash="15ccfff66c3567865b7cd9c262d6a166"/><file name="Product.php" hash="316ada27f33d272c6dac30b94337efbb"/><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><dir name="Category"><file name="Collection.php" hash="d1758c5cdfa91259940ef3d4edca7267"/></dir><file name="Category.php" hash="af3cf2fd975154c4c815cb2f980e05b4"/><dir name="Product"><file name="Collection.php" hash="d01b24c6b65c78609c6fd62b0b0fbb8d"/></dir><file name="Product.php" hash="a2f2ce1054f8e4dd9c7b5cd321fc43ee"/></dir></dir></dir></dir></dir><dir name="Core"><dir name="Block"><file name="Abstract.php" hash="6ec92f8410d9f6030aff9f48023eee2f"/><file name="Template.php" hash="77993aa2bf12cb82d3db33ab126104c6"/></dir><dir name="Controller"><dir name="Front"><file name="Action.php" hash="ebea27fc191182fd3b44b88f218d954c"/></dir></dir><file name="Exception.php" hash="f8b5c4240baee933cff1ee7a0527b18a"/><dir name="Helper"><file name="Abstract.php" hash="d847e9ec1e4ebf47850aa52ea4400e67"/><file name="Data.php" hash="7bba39857edc0903e224c84695e21b44"/></dir><dir name="Model"><file name="Abstract.php" hash="534eca258075364b01df20197625f108"/><dir name="Mysql4"><file name="Abstract.php" hash="663e5c55ee4e7a749690b7b37b9f32e9"/><dir name="Collection"><file name="Abstract.php" hash="3cfb93c9611a8067a15ab468776b959a"/></dir></dir></dir><file name="changelog.txt" hash="c35d88b996707b08eed24df40448274f"/><dir name="etc"><file name="config.xml" hash="6addc6d984fd3b4546274c618b737fd2"/></dir></dir><dir name="Integration"><dir name="Block"><dir name="Adminhtml"><dir name="Flag"><file name="Grid.php" hash="16b729b399c865a5e8ac39dfea3719a0"/><dir name="View"><file name="Abstract.php" hash="49432989b60fb84738363e8ccbfff43a"/><file name="Identifier.php" hash="d27c79aa4e58f2c20f60895bf86fe54f"/><file name="Overview.php" hash="1094bb0a741e65b39530ba752a356553"/></dir><file name="View.php" hash="4a5f0b8ccb9190726e2f7c5312a39f5b"/></dir><file name="Flag.php" hash="c8691f47fe3c7cfabe0b94943851953d"/><dir name="Grid"><file name="DirectedServiceFilter.php" hash="050cf1800e729b6dcfe9d9d08ca09662"/><file name="DirectedServiceRenderer.php" hash="076a9e9967391d3b6a962484031df153"/><file name="StatusRenderer.php" hash="b399a4af288e36bfd343f587df18924f"/></dir><file name="GridAbstract.php" hash="b9cff013d941e2cd4385e6062def09e7"/><dir name="Message"><file name="Grid.php" hash="a9ee03eb2f10cad31d87352eccb021d6"/><dir name="View"><file name="Abstract.php" hash="f5ab9b1d1004497a877382c421b59829"/><dir name="Flags"><file name="Grid.php" hash="b1bc5c064d2bc759c06f8c6c2b96d467"/></dir><dir name="LogContent"><file name="Pair.php" hash="d15438f967de0ff25d111754dfc7ae85"/></dir><file name="LogContent.php" hash="3553f561c34783fba2fa639cc42a7be3"/><file name="Overview.php" hash="29c2af862a11ae77773b016e64964c33"/><dir name="RelatedObjects"><file name="Grid.php" hash="f1c44ea4f318786b7f91c39ff6af3a30"/></dir></dir><file name="View.php" hash="02e674b193e3d1b7a09d9aa8cfe5cf69"/></dir><file name="Message.php" hash="62d23500e78153bda2259261e11f8e00"/><dir name="MessageIdentifier"><file name="Grid.php" hash="7a64bd0a8556b198b9de813e5e879727"/></dir><file name="MessageIdentifier.php" hash="ca522ee0952ae78036129b1466e4a744"/><dir name="System"><dir name="Config"><dir name="Renderer"><file name="CustomFields.php" hash="fa49507e723d2eb48915bbe43ee75cb7"/></dir></dir></dir></dir></dir><dir name="Controller"><dir name="Adminhtml"><file name="Abstract.php" hash="c28c9d74d6f2e57f8bc74a49f165a614"/><file name="Message.php" hash="6f015520946cc36b725e89618cae382a"/></dir></dir><dir name="Helper"><file name="Adminhtml.php" hash="cd83144ea405778ec85b4f93c140b5fb"/><file name="Data.php" hash="24204d965b0c19d3a252fc325ee0a3eb"/><file name="Message.php" hash="e92ee61d44f84629669f2f60f3ee113e"/><file name="ServiceAbstract.php" hash="0a58a214a97b7dad6d11ca582b60ffbb"/></dir><dir name="Model"><file name="AdminSession.php" hash="e53c4a8a486e92cc4b18dc770f3b4909"/><dir name="Config"><file name="Base.php" hash="18b58e08e162ca3c2c49a23180fa659f"/></dir><file name="Config.php" hash="5b6e6ca8d0d0010437538605ac10af4d"/><file name="Flag.php" hash="eaba7a96070dad1251e1fbc8377ffc50"/><file name="License.php" hash="32ebf0153a721806ee01a5fbe3be2ae7"/><dir name="Logger"><file name="Database.php" hash="c5ec7f49f607e7b529a7a6ad4d1dfe27"/><file name="File.php" hash="81648f336a95b3c6876325bc6225da3d"/></dir><dir name="Mapper"><file name="ClassName.php" hash="24c362329835f9c00c9876678194bf8d"/><file name="CustomFields.php" hash="3f78adefaf1c682ba6c7ea74b27a1206"/><file name="Helper.php" hash="e15466f3269d6582bea14f4e8b634fec"/><file name="StoreConfig.php" hash="3971cfe90cebc9e7757db587ca688c6d"/></dir><dir name="Message"><dir name="Filter"><file name="CompressDirectory.php" hash="f895076af41e47607e403bc1f8eda60b"/></dir><file name="Identifier.php" hash="88863cb506203511f202ce2da03d1e33"/></dir><file name="Message.php" hash="81149596d5103bd0ad3bee3a178f08ef"/><dir name="Mysql4"><file name="Abstract.php" hash="a335b68002db611a804ef6658b1c1f45"/><dir name="Flag"><file name="Collection.php" hash="7ea263ddafc15079528615271e5bafc9"/></dir><file name="Flag.php" hash="852038981e13ff4072fbcbf49d13479a"/><dir name="Message"><file name="Collection.php" hash="97eaf3f8c59befd3da5fdc875aeea217"/><dir name="Identifier"><file name="Collection.php" hash="933396e416b0b3caeb6cb5f4b3e0cba9"/></dir><file name="Identifier.php" hash="94c7d1a74cec3c8add598791523d6745"/></dir><file name="Message.php" hash="06e307e640265c43c02991e61fe88769"/><dir name="Service"><dir name="Info"><file name="Collection.php" hash="469067e574bd641d7772b19435a54117"/></dir><file name="Info.php" hash="129c8511e743f70c24bcbce9f153fd3b"/></dir><dir name="Status"><file name="Collection.php" hash="de7194895f241b48e0fb836c585d1c51"/></dir><file name="Status.php" hash="fe6d3ee851aac1dc9b52e1415afbf402"/><dir name="StockUpdate"><file name="Collection.php" hash="427d5739abd3512b59b3fdc6fdcc27b4"/></dir><file name="StockUpdate.php" hash="9c771ab5b29dbc54427b41474c50769a"/></dir><file name="OrderAbstract.php" hash="d53abe132227f32ef0890a431f17c840"/><file name="Payment.php" hash="856f359afeafa234f2b09e2f176d4500"/><dir name="Service"><file name="Info.php" hash="7b33ef3907ea44332b735794528fecec"/></dir><file name="Service.php" hash="aa46b4fffdc3ba0e9625f8919f189721"/><file name="Shipment.php" hash="fbd973023be3b46e2bfa487d37195329"/><file name="Status.php" hash="d4bad934376a37ef0f57e342812f3ab3"/><file name="StockUpdate.php" hash="e57345b2a55b2433e3c74f0bf733d7fb"/><dir name="Transport"><dir name="Incoming"><file name="Http.php" hash="0cb43a9cecf3afab96c07e0a9165356a"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="FlagController.php" hash="5f04048253b37f60e4bf9d3e7b0d869a"/><dir name="Message"><file name="ViewController.php" hash="23ec5397bfea655f98de422eeff5383d"/></dir><file name="MessageController.php" hash="75da4996c08962e4f7c190b19dcc52cf"/><file name="MessageIdentifierController.php" hash="c4903a8cb6ea936abeadbc829a69db10"/></dir><file name="MessageController.php" hash="30757ee8d0b3bcb4175b820bd79fdb99"/></dir><dir name="etc"><file name="adminhtml.xml" hash="56054eed9dbcc9bef84c6f45219d152a"/><file name="config.xml" hash="f16de3765eefde13408fd8b1a2e1a1cd"/><dir name="integration"><file name="in.types.xml" hash="6c226bc6e2cd2f41fe497bf6db230b18"/><file name="out.types.xml" hash="bdd65bcc2b43fe636705f63a045b7b09"/></dir></dir><dir name="sql"><dir name="ampersand_integration_setup"><file name="mysql4-install-1.0.0.php" hash="c3ea0a40166d2aed065c2ec050f23f2a"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="78ea39dbbf6985f94d3ec3243ac26199"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="2696a2f147d14cf2eadc32b4e9a1d22b"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="layout"><file name="ampersand_integration.xml" hash="78ad945302f798166643386c6cb1d7eb"/></dir><dir name="template"><dir name="ampersand_integration"><dir name="flag"><dir name="view"><file name="identifier.phtml" hash="0e06dd5b5b069ac55d1cf80b6d592904"/><file name="overview.phtml" hash="d157dcd0a726b82e9c83406b76a08aa6"/></dir><file name="view.phtml" hash="7823d7dfa302808f053b4d5edeb1618c"/></dir><dir name="message"><dir name="view"><file name="flags.phtml" hash="2e263cd0e96d84aee0d06df7d09be6ba"/><dir name="log-content"><file name="pair.phtml" hash="946e474129320ad9130c47e58c83d44c"/></dir><file name="log-content.phtml" hash="e6e0c0c89d7cc85c43e349a53c6f329a"/><file name="overview.phtml" hash="25d356eab560a46538b76a2de4964226"/><file name="related-objects.phtml" hash="03e8715121fb3113443ddaf72ba80424"/></dir><file name="view.phtml" hash="822fe0b927ad497eb068be5edd47dc67"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Ampersand_Core.xml" hash="b3bdadafc8191f44e7c9fd71d1241aa3"/></dir></target><target name="magelib"><dir name="Ampersand"><file name="ClassProvider.php" hash="639113dc63f1ef3f34fd8a81ac07ac0c"/><file name="Exception.php" hash="edc5ef1343abd1bc31367a9e799de191"/><dir name="Filter"><file name="Compress.php" hash="7aa45b9847fa371abe64a27a47065c15"/></dir><dir name="Integration"><file name="Exception.php" hash="3d78f13d662f5a1ba7cfe89b9f9ce2e9"/><dir name="HandlerQueue"><file name="Config.php" hash="fb8d32db95b03b3176330cb500142acf"/><dir name="Handler"><file name="Abstract.php" hash="8f8a61ca3e3d63e874dc6fb9c57bcfc3"/><file name="CallbackMulti.php" hash="202159f5234acfee4cf0b6da31f8e095"/><file name="CallbackSingle.php" hash="17302eda191d8085e654c8d7706450ad"/><file name="Filter.php" hash="56839f84cf52264c084c994ad0cc3160"/><file name="Interface.php" hash="e6c34b1bf0f7184636e8ccf9a7bf03d3"/><file name="Provider.php" hash="24305c60267e251e5f0f2209d442b5a1"/><file name="Transform.php" hash="423978fa9fd2b338b6fa1c8036e9d484"/><file name="Validate.php" hash="ecb91cc6e20a862234e534318d57cb2a"/></dir></dir><file name="HandlerQueue.php" hash="ec7874c5e471ce51e5340a59ed9eaac8"/><dir name="Message"><file name="Abstract.php" hash="a766a524fee76a4ebc9d477bf061ba57"/><dir name="Config"><file name="Abstract.php" hash="5865a464ad6b3e9796429a45c72edf06"/><file name="Incoming.php" hash="7d21f65024dc86a107ff67d7ccc2df60"/><file name="Outgoing.php" hash="668e08f89ccd2b6c1c0e9a666ff19ea4"/></dir><dir name="Data"><file name="Abstract.php" hash="97de0e0344e95a3ee227a9f1cc029b6f"/><file name="Request.php" hash="b93f5c3c9356181876ea4bdff4fc4147"/><file name="Response.php" hash="712e6ab0dfe286924009b1bb10ba4d0e"/></dir><file name="Debug.php" hash="2661249568c418f704eb3ca7d9f3efaf"/><dir name="Filter"><file name="Abstract.php" hash="58e39ea3d9cc5d902e5d06fb0fe997a0"/><file name="CompressDirectory.php" hash="930e2953777a8fc9ca6297db60b9c90c"/><file name="DomHtml.php" hash="625e1223b95f106f37d2cf4f2ebe81ca"/><file name="Exception.php" hash="24d2eec4b17b64efac90a0cd8a107d26"/><file name="Interface.php" hash="c87ce9310abdb0688ac7a6404b327861"/><file name="Provider.php" hash="080ae691386404d5c7e6d0de3972ef25"/><file name="XmlObject.php" hash="a2972bc667e00ec27142075219dba5ad"/></dir><file name="Incoming.php" hash="0fdde56848621446d3ecbff2aa6c1c59"/><dir name="Logger"><file name="Abstract.php" hash="a6373ef2da4db1db51c4577ccf3043f6"/><file name="Exception.php" hash="ba3cb3bbbf9d7f2812f61bf8840fa9ad"/><file name="File.php" hash="6ccb29f358eaf13bd6648cb34cd9d5bb"/><file name="Interface.php" hash="121bdca836ad268f3b2d6c0d16070984"/><file name="Provider.php" hash="08ab7e5f39456d7226b3c8c26789f576"/><file name="XmlFile.php" hash="57ec27e403bb073e3a21b60ca40d7f8e"/></dir><file name="Outgoing.php" hash="91d27d8aa1939e371e0d6f1339d5b1cd"/></dir><file name="Service.php" hash="2447195e23d97a27f82c28c147a7d775"/><dir name="Transport"><file name="Abstract.php" hash="4b87c8bc18f15453e5b20f3cb04a4322"/><file name="Exception.php" hash="df7710b7d3a39ff0c1bacafb793d1c49"/><dir name="Incoming"><file name="Abstract.php" hash="b6a7190edea6252013f6c17eb359d9e4"/><file name="Http.php" hash="f5b8694b8a7e46f52811c26a008209a7"/><file name="Interface.php" hash="5dea8d3c4a1efbab876d5d95bfc4ab17"/><file name="Provider.php" hash="d234fef5300a6deb4d3440d6ac515173"/></dir><file name="Interface.php" hash="1df2f53d3a013d77134e6d9003c5b328"/><dir name="Outgoing"><file name="Abstract.php" hash="6bc1d45e3e747289400ff04a6e410534"/><file name="File.php" hash="1be788b18b9d39cf63dd36513cc8c973"/><file name="Ftp.php" hash="dd8a3f61fa8b0f75fec8c3d9918766c3"/><dir name="Http"><file name="Client.php" hash="d31354af5837ce81e95644633b6a708d"/></dir><file name="Http.php" hash="84c3f2b86eaf33648ec63e147d315d1d"/><file name="Interface.php" hash="675d88f15b53de35066b19f298799364"/><file name="Provider.php" hash="f9986d4519e979511b0527f6a543e266"/><file name="Soap.php" hash="63e4231f4b209433a7d2cfac7c388f53"/></dir></dir></dir><dir name="License"><file name="Helper.php" hash="b5f805abbcbc605ce2304c4eacfd9b26"/><file name="Remote.php" hash="98c07e240f54c03537cbf68d8ca299f5"/><file name="ResourceRegistry.php" hash="c69f6b409ad00105a895f2f277773f3b"/></dir><file name="License.php" hash="5877c09ed606016d34cf2297f42333e4"/><dir name="Map"><file name="Config.php" hash="4cec895689b4eb0c9b4a8e0d2a1e62e4"/><file name="Exception.php" hash="eca4939121923ddc26ce5504842e0aec"/><dir name="Iterator"><file name="BreakException.php" hash="631c994513071bc686a72fcb1f7c355e"/><file name="ContinueException.php" hash="ab13814d2d4a1bd75897abe1c2359cdb"/></dir><file name="Iterator.php" hash="6bd36132d00708b1d786a9d1c3f19be5"/><dir name="Mapper"><file name="Abstract.php" hash="ccb9cd729d98657b89966efaffa7ee6b"/><file name="Accessor.php" hash="9d7e5b369f443a94a54cf424a5199f4a"/><file name="AllData.php" hash="eea0561d6984e215eaab412ad4ee72fc"/><file name="Array.php" hash="d4180e6c7bfc492488e0170efb18f5ea"/><file name="Concatenate.php" hash="1ec64b129f7e952ecfb0f3c37795f415"/><file name="FieldPath.php" hash="ec883a26802bae75106808989f9573b4"/><file name="Fraction.php" hash="b63a090c2aa1011403d522266030c15e"/><file name="Function.php" hash="df90b02658e189032b33103c2b1c18cd"/><file name="Interface.php" hash="d7ab17cccfc5c9e964d00f2b7bace4fa"/><file name="Iteration.php" hash="95543effeaee0aa6cf0bf9f56c4eb42c"/><file name="LeafAbstract.php" hash="270420ff141e85cabdb893d785549253"/><file name="Method.php" hash="42605496d9d36ec31cf749ae0160b7d2"/><file name="Multiply.php" hash="c384f6a6ff038dab2a1eff4776c232d3"/><file name="Negative.php" hash="3db32d44ea7824cec5484084c63f062a"/><file name="Parameter.php" hash="31250ecd2b2a014a7b3ce83c26087a99"/><file name="Provider.php" hash="a11acc533c220a99ad6735af542d0b5c"/><file name="Regexp.php" hash="88b02c7389ee0181fbf0f85d9adf5fa6"/><file name="Sum.php" hash="3ef5b7c37710b44f7ca95763adfc3f11"/><file name="Xpath.php" hash="f1a09d64f3c5bc64fe928ea4d968239e"/><file name="XpathSingle.php" hash="456d9c8486479c822c3b67e16e145340"/></dir><file name="Result.php" hash="be4e788efca05064f9ea6a39bfbd5962"/><file name="XmlElement.php" hash="3d7da66aae095d6db901d5f2ed550944"/></dir><file name="Map.php" hash="4d0828fb263aa7cdf37e64f2128e2f01"/><file name="Object.php" hash="5efdfcd4809332e0170595a190eecff3"/><file name="Pairs.php" hash="157b6c2c4878e65bc9c0fdda05a06502"/><dir name="Render"><file name="Exception.php" hash="6186aaac03cdba7ff599a5ee86386e12"/><dir name="Renderer"><file name="Abstract.php" hash="b0cfa1793661deb4fa52512324b5dbf9"/><file name="Interface.php" hash="eb826e2bbbe5214c64316915e7af637f"/><file name="KeyValue.php" hash="0fe4c4813dbead89d39b61a3a717aa1d"/><file name="KeyValues.php" hash="79a281688922039fe24845fa90560b4b"/><file name="Provider.php" hash="25a5c52a5ade52424475b4a8ece15eaa"/><dir name="Soap"><file name="DummyClient.php" hash="061168a540b03a34d041d246a500fba8"/></dir><file name="Soap.php" hash="7d677b96d1f7bf6a43f98cf822186464"/><file name="Xml.php" hash="513388005822b9733c9bef6feb2be4e0"/><file name="Xsv.php" hash="384e106d725dda10caf1589e2e122449"/></dir><file name="XmlElement.php" hash="0aa4a0d8119c5519a58780cc59c04eb6"/></dir><file name="Render.php" hash="c238c7112e14021bc43b23a3a0654cac"/><dir name="Validator"><file name="Abstract.php" hash="aec17a3a58f5dcd9767e92777269adc5"/><file name="And.php" hash="d759530a41ca27373f2b73d1c17f5378"/><file name="GroupAbstract.php" hash="e1360d7f6519f219ffbca89336c6d2b9"/><file name="InstanceOf.php" hash="dd50fbbbdc14857739c0421b70ee3caa"/><file name="Interface.php" hash="96703cdbfa17e6ca6b0176eee288fd8a"/><file name="Nand.php" hash="7bb3903e1119856a55a6a601fb15a48c"/><file name="Nor.php" hash="28a03a7a7680e422cfd69c4283312d5e"/><file name="Or.php" hash="662227834d9a138cd5fafa5d0034b4f2"/><file name="Provider.php" hash="96de5e43a63bdf91c8790182bbdd70f7"/><file name="Xor.php" hash="8c3d8b2bb5a8d2ef765462ee1af32e4d"/></dir><dir name="Xml"><file name="Config.php" hash="8502496625a333ea0cfbe8cd3ddb187e"/><file name="Element.php" hash="14c8fad8aeb8ffcefe8fcff11a36368d"/><file name="Resource.php" hash="faebe4404aeccb82883905ec9b440a8f"/></dir><file name="Xml.php" hash="63c9657499a72b706af4aa9b6b9dd1c0"/></dir></target></contents>
16
+ <compatible/>
17
+ <dependencies><required><php><min>5.0.0</min><max>5.9.9</max></php><extension><name>ionCube Loader</name><min></min><max></max></extension></required></dependencies>
18
+ </package>