Swift_Swiftplugin - Version 1.1.16

Version Notes

Made the sending of emails more lightweight on Client Server

Download this release

Release Info

Developer Simon Cooper
Extension Swift_Swiftplugin
Version 1.1.16
Comparing to
See all releases


Code changes from version 1.1.15 to 1.1.16

app/code/community/Swift/Swiftplugin/controllers/IndexController.php ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ require_once(Mage::getBaseDir('lib') . '/SwiftAPI/SwiftAPI.php');
4
+ require_once(Mage::getBaseDir('lib') . '/SwiftAPI/SwiftAPI_Request_Ping.php');
5
+
6
+ /**
7
+ * Administration of swift plugin
8
+ */
9
+ class Swift_Swiftplugin_Adminhtml_IndexController extends Mage_Adminhtml_Controller_Action {
10
+
11
+ /**
12
+ * Renders the form by default, if record exists in the database then retrieve that value and load it to the page
13
+ */
14
+ public function indexAction() {
15
+ echo "it works";
16
+ die();
17
+ $data = Mage::helper('swift/Data')->getSwiftPrivateData();
18
+ $swiftId = 0;
19
+ if (!is_bool($data) && is_array($data)) {
20
+ if (isset($data['swift_id'])) {
21
+ $swiftId = $data['swift_id'];
22
+ }
23
+ }
24
+ $swiftModel = Mage::getModel('swift/swift')->load($swiftId);
25
+ if ($swiftModel->getId() > 0 || $swiftId == 0) {
26
+ Mage::register('swift_data', $swiftModel);
27
+ $this->loadLayout();
28
+ $this->_addContent($this->getLayout()->createBlock('swift/adminhtml_swift_edit'))->_addLeft($this->getLayout()->createBlock('swift/adminhtml_swift_edit_tabs'));
29
+ $this->renderLayout();
30
+ }
31
+ else {
32
+ Mage::getSingleton('adminhtml/session')->addError('SwiftCRM key does not exist');
33
+ $this->_redirect('*/*/');
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Redirects to indexAction
39
+ *
40
+ */
41
+ public function editAction() {
42
+ $this->_forward('index');
43
+ }
44
+
45
+ /**
46
+ * Redirects to indexAction
47
+ *
48
+ */
49
+ public function newAction() {
50
+ $this->_forward('edit');
51
+ }
52
+
53
+ /**
54
+ * Perform validation and conversion on post variables before saving to database
55
+ *
56
+ */
57
+ public function saveAction() {
58
+ if ($this->getRequest()->getPost()) {
59
+ try {
60
+ $postData = $this->getRequest()->getPost();
61
+ $testModel = Mage::getModel('swift/swift');
62
+ $existingModels = Mage::getModel('swift/swift')->getCollection();
63
+ if (count($existingModels) == 0 || $this->getRequest()->getParam('id')) {
64
+ if (ctype_xdigit ($postData['swift_private_key']) && strlen($postData['swift_private_key']) == 64) {
65
+ $postData['swift_send_history'] = isset($postData['swift_send_history']) ? '1' : '0';
66
+ $testModel->addData($postData)->setId($this->getRequest()->getParam('id'))->save();
67
+ Mage::getSingleton('adminhtml/session')->addSuccess('successfully saved');
68
+ // if successful ping send past orders to swiftcrm
69
+ if ($this->pingSwiftSystem($postData['swift_private_key']) == 1) {
70
+ $this->_forward('pastproduct');
71
+ }
72
+ }
73
+ else {
74
+ throw new Exception('Invalid string input');
75
+ }
76
+ $this->_redirect('*/*/');
77
+ }
78
+ else {
79
+ throw new Exception('Only one SwiftCRM key is allowed in the system.');
80
+ }
81
+ return;
82
+ } catch (Exception $e){
83
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
84
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
85
+ return;
86
+ }
87
+ }
88
+ $this->_redirect('*/*/');
89
+ }
90
+
91
+ /**
92
+ * Deletes the record from the database
93
+ * NOTE: Unused
94
+ */
95
+ public function deleteAction() {
96
+ if($this->getRequest()->getParam('id') > 0) {
97
+ try {
98
+ $testModel = Mage::getModel('swift/swift');
99
+ $testModel->setId($this->getRequest()->getParam('id'))->delete();
100
+ Mage::getSingleton('adminhtml/session')->addSuccess('successfully deleted');
101
+ $this->_redirect('*/*/');
102
+ }
103
+ catch (Exception $e) {
104
+ Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
105
+ $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
106
+ }
107
+ }
108
+ $this->_redirect('*/*/');
109
+ }
110
+
111
+ /**
112
+ * Send Past orders to Swiftcrm
113
+ */
114
+ public function pastproductAction() {
115
+
116
+ $key = hex2bin(Mage::helper('swift/Data')->getSwiftPrivateKey());
117
+ if (!is_bool($key) && !is_null($key)) {
118
+ $version = Mage::getConfig()->getNode()->modules->Swift_Swiftplugin->version;
119
+ $domain = $_SERVER['HTTP_HOST'];
120
+ $user = Mage::helper('swift/Data')->generateUserId();
121
+ $url = 'http:'.SwiftApi::SWIFTAPI_CRM_URL;
122
+
123
+ $orderCollection = Mage::getModel('sales/order')->getCollection()
124
+ ->addAttributeToFilter('created_at' , array('gt' => date('Y-m-d H:i:s', strtotime('-2 years'))));
125
+ foreach($orderCollection as $order_key => $order) {
126
+ $visibleItems = $order->getAllVisibleItems();
127
+ $products = array();
128
+ foreach($visibleItems as $order_item_key => $orderItem) {
129
+ $products[] = array('product' => $orderItem->getId(), 'price' => $orderItem->getPrice(), 'quantity' => $orderItem->getData('qty_ordered'));
130
+ }
131
+ $request = new SwiftAPI_Request_PastOrder($domain, $user, $order->getCustomerEmail(),$order->getCustomerFirstname(), $order->getCustomerLastname(), $products);
132
+
133
+ $options = array (
134
+ 'http' => array(
135
+ 'header' => "Content-type: application/x-www-form-urlencoded\r\n",
136
+ 'method' => 'POST',
137
+ 'content' => SwiftAPI::Query($request, $key)
138
+ )
139
+ );
140
+
141
+ $context = stream_context_create($options);
142
+ $result = file_get_contents($url, false, $context);
143
+ echo $result;
144
+ }
145
+ Mage::getSingleton('adminhtml/session')->addSuccess('Past orders successfully sent to swift');
146
+ }
147
+ else {
148
+ Mage::getSingleton('adminhtml/session')->addError('You cannot perform this operation as you have not registered your private key with swift');
149
+ }
150
+ $this->_redirect('*/*/');
151
+ }
152
+
153
+
154
+ public function pingSwiftSystem($key) {
155
+ $domain = $_SERVER['HTTP_HOST'];
156
+ $user = Mage::helper('swift/Data')->generateUserId();
157
+ $url = 'http:'.SwiftApi::SWIFTAPI_CRM_URL;
158
+ $request = new SwiftAPI_Request_Ping($domain, $user, $key);
159
+ $options = array (
160
+ 'http' => array(
161
+ 'header' => "Content-type: application/x-www-form-urlencoded\r\n",
162
+ 'method' => 'POST',
163
+ 'content' => SwiftAPI::Query($request, hex2bin($key))
164
+ )
165
+ );
166
+
167
+ $context = stream_context_create($options);
168
+ $result = file_get_contents($url, false, $context);
169
+ return $result;
170
+ // optional extra: send proper feedback to plugin in case something goes wrong with their setup
171
+ }
172
+ }
173
+
174
+ ?>
app/code/community/Swift/Swiftplugin/controllers/MailController.php CHANGED
@@ -40,17 +40,7 @@ class Swift_Swiftplugin_MailController extends Mage_Core_Controller_Front_Action
40
  }
41
 
42
  $mail = Mage::getModel('core/email');
43
- //$mail = Mage::getModel('core/email_template');
44
- $collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect(array('firstname','lastname','email'))->getItemsByColumnValue('email', $emailTo);
45
- if (count($collection) > 1) {
46
- foreach($collection as $colKey => $customer) {
47
- $customerData = $customer->getData();
48
- // if present
49
- $mail->setToName($customerData['firstname'] . ' ' . $customerData['lastname']);
50
- break;
51
- }
52
- }
53
-
54
  $mail->setToEmail($emailTo);
55
  $mail->setBody($body);
56
  $mail->setSubject($subject);
40
  }
41
 
42
  $mail = Mage::getModel('core/email');
43
+
 
 
 
 
 
 
 
 
 
 
44
  $mail->setToEmail($emailTo);
45
  $mail->setBody($body);
46
  $mail->setSubject($subject);
app/code/community/Swift/Swiftplugin/etc/config.xml CHANGED
@@ -5,7 +5,7 @@
5
  <modules>
6
  <!-- This must exactly match the namespace and module's folder names, with directory separators replaced by underscores -->
7
  <Swift_Swiftplugin>
8
- <version>1.1.15</version>
9
  </Swift_Swiftplugin>
10
  </modules>
11
  <!-- Configure our module's behavior in the frontend scope -->
5
  <modules>
6
  <!-- This must exactly match the namespace and module's folder names, with directory separators replaced by underscores -->
7
  <Swift_Swiftplugin>
8
+ <version>1.1.16</version>
9
  </Swift_Swiftplugin>
10
  </modules>
11
  <!-- Configure our module's behavior in the frontend scope -->
lib/SwiftAPI/SwiftAPI_Request_OrderPackage.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class SwiftAPI_Request_OrderPackage extends SwiftAPI_Request {
4
+
5
+ //////////////////////////////////////////////////////////////////////////////
6
+ // Public properties.
7
+ //////////////////////////////////////////////////////////////////////////////
8
+
9
+ public $orderPackage;
10
+
11
+ //////////////////////////////////////////////////////////////////////////////
12
+ // Public functions
13
+ //////////////////////////////////////////////////////////////////////////////
14
+
15
+ ////////////////////////
16
+ // Public: __construct()
17
+ ////////////////////////
18
+
19
+ public function __construct($domain, $user, $orderPackage, $version = NULL, $date = NULL)
20
+ {
21
+ $this -> orderPackage = $orderPackage;
22
+ parent::__construct($domain, SwiftAPI::OPERATION_ORDERPACKAGE, $user, $version, $date);
23
+ }
24
+
25
+
26
+ ///////////////////
27
+ // Public: Create()
28
+ ///////////////////
29
+
30
+ public static function Create(stdClass $fields)
31
+ {
32
+ parent::Validate($fields);
33
+
34
+ if(!is_array($fields -> orderPackage))
35
+ throw new SwiftAPI_Exception('SwiftAPI_Request_OrderPackage::Create(): "emailPackage" field is missing.');
36
+
37
+ foreach ($fields -> orderPackage as $email_content) {
38
+ if (!(is_object($email_content))) {
39
+ throw new SwiftAPI_Exception('SwiftAPI_Request_OrderPackage::Create(): "emailPackage" does not contain the class SwiftAPI_Request_Order.');
40
+ }
41
+ }
42
+
43
+ return new self
44
+ (
45
+ $fields -> domain,
46
+ $fields -> user,
47
+ $fields -> orderPackage,
48
+ $fields -> version,
49
+ $fields -> date
50
+ );
51
+ }
52
+ }
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Swift_Swiftplugin</name>
4
- <version>1.1.15</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/LGPL-3.0">LGPL</license>
7
  <channel>community</channel>
@@ -18,11 +18,11 @@ The extension uses background JavaScript calls to collect and store the customer
18
  &lt;p&gt;&#xD;
19
  The extension is easy to set up and uses Magento&#x2019;s built in features to collect information and send emails to the customers. Visit swiftcrm.net for prices and free trails.&#xD;
20
  &lt;/p&gt;</description>
21
- <notes>The product xml sends SKU data on top of other features.</notes>
22
  <authors><author><name>Simon Cooper</name><user>Netready</user><email>simon@netready.biz</email></author></authors>
23
- <date>2015-10-13</date>
24
- <time>09:33:26</time>
25
- <contents><target name="magelib"><dir name="libXML"><file name="xml.php" hash="fc4d7c79c7b7ea2ac75f28c008cde8eb"/></dir><dir name="SwiftAPI"><file name="SwiftAPI.php" hash="1a2b4e86947847e5e524a1c53054f79e"/><file name="SwiftAPI_Exception.php" hash="879b899a7961f4de1212b7296ccafb16"/><file name="SwiftAPI_Product.php" hash="063922cccb485d81c6022de5c4e8e044"/><file name="SwiftAPI_Request.php" hash="da10370a1c8d9c1a8b5d4b1d3840d3b6"/><file name="SwiftAPI_Request_Cart.php" hash="f8955c78200ddb0512adb5214fd64bb2"/><file name="SwiftAPI_Request_EmailPackage.php" hash="221dd4bd936f022a9e07ad79d33c89a2"/><file name="SwiftAPI_Request_Home.php" hash="9268da121dd10db50d5c2675afd1c65e"/><file name="SwiftAPI_Request_Order.php" hash="cd8ce90614468bd4347df3c541482a4b"/><file name="SwiftAPI_Request_PastOrder.php" hash="be620e2e35d6634e6a616431f5312527"/><file name="SwiftAPI_Request_Ping.php" hash="e5e13b71682f8230711d5d2f28f9a534"/><file name="SwiftAPI_Request_Product.php" hash="e5fab27bb2dd45946ed8c143a18fe3c4"/><file name="SwiftAPI_Request_SendMail.php" hash="ba04382a3df6b3e179aed5fe3e809de7"/><file name="SwiftAPI_Request_Subscription.php" hash="5545738b941d8ca4dca69b6059a0cce4"/><file name="SwiftAPI_Request_Unsubscribe.php" hash="78aa37cc0ecb98d501674350a4a409c9"/><file name="SwiftAPI_Request_ViewMail.php" hash="773f0cc695838654b9056269622c217e"/><dir name="doc"><file name="SwiftAPI-Specification.html" hash="093cb08b66a596ebaeb0b50b4a0f8d79"/></dir><file name="index.php" hash="82886bb98883bd5868ea04c7d8c88ba5"/><file name="php.ini" hash="ef29c923925a1d1bbc8879c22297daa4"/></dir></target><target name="magecommunity"><dir name="Swift"><dir name="Swiftplugin"><dir name="Block"><dir name="Adminhtml"><dir name="Swift"><dir name="Edit"><file name="Form.php" hash="bd80ab8170f7f2286f13ac579e5249d9"/><dir name="Tab"><file name="Form.php" hash="3d15c45cb2205acabc20376f41a9bd5b"/><file name="Instruct.php" hash="9f34075cc9cdfa92b7876c33fda514de"/></dir><file name="Tabs.php" hash="993769f682fad7d28df79ff3acea97cc"/></dir><file name="Edit.php" hash="d93f75dbaaa7266d91e828b3208fbf2d"/></dir></dir><file name="Swiftblock.php" hash="ef4796eaf44aa8e4a9b144e5a9365166"/></dir><dir name="Helper"><file name="Data.php" hash="cad7e7ffcde09cdd3c089b42644e9d66"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Swift"><file name="Collection.php" hash="82de0fe56cd875d3e78c8fc690424ee1"/></dir><file name="Swift.php" hash="252d5f2ecb1119804b415758d2db6800"/></dir><file name="Observer.php" hash="139db0541de06e7bed17ad9d40fcd89b"/><file name="Swift.php" hash="1f9e49d4db7f8987cfd8858061fedc6a"/><file name="XmlProduct.php" hash="2e554f0f6c5dc8a1cfbf1fd33f850fa0"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="0d17d7a4d18d3a77fd1af945d016da74"/></dir><file name="MailController.php" hash="9e7930b0f45453616272ac3187fdda35"/><file name="XmlController.php" hash="97b777935db5174501034493dd561099"/></dir><dir name="etc"><file name="config.xml" hash="1ab159dc949ec27fdf0034fc23deaa32"/></dir><dir name="sql"><dir name="swift_setup"><file name="install-1.1.13.php" hash="2447b5645fc36738373678473cec88dc"/><file name="install-1.1.2.php" hash="00832a00c34cb4c997a96330cb28cbfb"/><file name="upgrade-1.1.2-1.1.12.php" hash="cbe3c3fa07facb7b720d7dd518acbeca"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="swift.xml" hash="d80a5229e30cf4b76f5a5150ac1c27c3"/></dir><dir name="template"><dir name="swift"><file name="swiftplugin.phtml" hash="d4d25148e09529e457b6436d7655627b"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Swift_all.xml" hash="0ae5a788c805a9fc79b402fe7a02e54d"/></dir></target></contents>
26
  <compatible/>
27
  <dependencies><required><php><min>5.4.0</min><max>6.0.0</max></php><extension><name>mcrypt</name><min/><max/></extension></required></dependencies>
28
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Swift_Swiftplugin</name>
4
+ <version>1.1.16</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/LGPL-3.0">LGPL</license>
7
  <channel>community</channel>
18
  &lt;p&gt;&#xD;
19
  The extension is easy to set up and uses Magento&#x2019;s built in features to collect information and send emails to the customers. Visit swiftcrm.net for prices and free trails.&#xD;
20
  &lt;/p&gt;</description>
21
+ <notes>Made the sending of emails more lightweight on Client Server</notes>
22
  <authors><author><name>Simon Cooper</name><user>Netready</user><email>simon@netready.biz</email></author></authors>
23
+ <date>2015-12-09</date>
24
+ <time>10:49:43</time>
25
+ <contents><target name="magelib"><dir name="libXML"><file name="xml.php" hash="fc4d7c79c7b7ea2ac75f28c008cde8eb"/></dir><dir name="SwiftAPI"><file name="SwiftAPI.php" hash="1a2b4e86947847e5e524a1c53054f79e"/><file name="SwiftAPI_Exception.php" hash="879b899a7961f4de1212b7296ccafb16"/><file name="SwiftAPI_Product.php" hash="063922cccb485d81c6022de5c4e8e044"/><file name="SwiftAPI_Request.php" hash="da10370a1c8d9c1a8b5d4b1d3840d3b6"/><file name="SwiftAPI_Request_Cart.php" hash="f8955c78200ddb0512adb5214fd64bb2"/><file name="SwiftAPI_Request_EmailPackage.php" hash="221dd4bd936f022a9e07ad79d33c89a2"/><file name="SwiftAPI_Request_Home.php" hash="9268da121dd10db50d5c2675afd1c65e"/><file name="SwiftAPI_Request_Order.php" hash="cd8ce90614468bd4347df3c541482a4b"/><file name="SwiftAPI_Request_OrderPackage.php" hash="91724705e976182c0bb1d7d7d6fc786f"/><file name="SwiftAPI_Request_PastOrder.php" hash="be620e2e35d6634e6a616431f5312527"/><file name="SwiftAPI_Request_Ping.php" hash="e5e13b71682f8230711d5d2f28f9a534"/><file name="SwiftAPI_Request_Product.php" hash="e5fab27bb2dd45946ed8c143a18fe3c4"/><file name="SwiftAPI_Request_SendMail.php" hash="ba04382a3df6b3e179aed5fe3e809de7"/><file name="SwiftAPI_Request_Subscription.php" hash="5545738b941d8ca4dca69b6059a0cce4"/><file name="SwiftAPI_Request_Unsubscribe.php" hash="78aa37cc0ecb98d501674350a4a409c9"/><file name="SwiftAPI_Request_ViewMail.php" hash="773f0cc695838654b9056269622c217e"/><dir name="doc"><file name="SwiftAPI-Specification.html" hash="093cb08b66a596ebaeb0b50b4a0f8d79"/></dir><file name="index.php" hash="82886bb98883bd5868ea04c7d8c88ba5"/><file name="php.ini" hash="ef29c923925a1d1bbc8879c22297daa4"/></dir></target><target name="magecommunity"><dir name="Swift"><dir name="Swiftplugin"><dir name="Block"><dir name="Adminhtml"><dir name="Swift"><dir name="Edit"><file name="Form.php" hash="bd80ab8170f7f2286f13ac579e5249d9"/><dir name="Tab"><file name="Form.php" hash="3d15c45cb2205acabc20376f41a9bd5b"/><file name="Instruct.php" hash="9f34075cc9cdfa92b7876c33fda514de"/></dir><file name="Tabs.php" hash="993769f682fad7d28df79ff3acea97cc"/></dir><file name="Edit.php" hash="d93f75dbaaa7266d91e828b3208fbf2d"/></dir></dir><file name="Swiftblock.php" hash="ef4796eaf44aa8e4a9b144e5a9365166"/></dir><dir name="Helper"><file name="Data.php" hash="cad7e7ffcde09cdd3c089b42644e9d66"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Swift"><file name="Collection.php" hash="82de0fe56cd875d3e78c8fc690424ee1"/></dir><file name="Swift.php" hash="252d5f2ecb1119804b415758d2db6800"/></dir><file name="Observer.php" hash="139db0541de06e7bed17ad9d40fcd89b"/><file name="Swift.php" hash="1f9e49d4db7f8987cfd8858061fedc6a"/><file name="XmlProduct.php" hash="2e554f0f6c5dc8a1cfbf1fd33f850fa0"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="0d17d7a4d18d3a77fd1af945d016da74"/></dir><file name="IndexController.php" hash="e3b7ebb44a55187c9085d9f1c4e7d060"/><file name="MailController.php" hash="af10fe5d485b1742ba5095510f2deea4"/><file name="XmlController.php" hash="97b777935db5174501034493dd561099"/></dir><dir name="etc"><file name="config.xml" hash="376af595b437f559372fcfbc0bd06dc4"/></dir><dir name="sql"><dir name="swift_setup"><file name="install-1.1.13.php" hash="2447b5645fc36738373678473cec88dc"/><file name="install-1.1.2.php" hash="00832a00c34cb4c997a96330cb28cbfb"/><file name="upgrade-1.1.2-1.1.12.php" hash="cbe3c3fa07facb7b720d7dd518acbeca"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="swift.xml" hash="d80a5229e30cf4b76f5a5150ac1c27c3"/></dir><dir name="template"><dir name="swift"><file name="swiftplugin.phtml" hash="d4d25148e09529e457b6436d7655627b"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Swift_all.xml" hash="0ae5a788c805a9fc79b402fe7a02e54d"/></dir></target></contents>
26
  <compatible/>
27
  <dependencies><required><php><min>5.4.0</min><max>6.0.0</max></php><extension><name>mcrypt</name><min/><max/></extension></required></dependencies>
28
  </package>