Swift_Swiftplugin - Version 1.4.2

Version Notes

Improved 5.2 support

Download this release

Release Info

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


Code changes from version 1.4.1 to 1.4.2

app/code/community/Swift/Swiftplugin/Model/XmlProduct.php CHANGED
@@ -21,6 +21,9 @@ class Swift_Swiftplugin_Model_XmlProduct {
21
  ->setPageSize($limit);
22
 
23
  $xmlRow = array();
 
 
 
24
  for ($i = 1; $i <= $productCollection->getLastPageNumber(); $i++) {
25
  if ($productCollection->isLoaded()) {
26
  $productCollection->clear();
@@ -40,10 +43,10 @@ class Swift_Swiftplugin_Model_XmlProduct {
40
 
41
  $tempXml = array();
42
  $method = 'g:id';
43
- $tempXml[] = xml::$method($product->getId());
44
- $tempXml[] = xml::title(htmlspecialchars($product->getName(), ENT_QUOTES));
45
- $tempXml[] = xml::description(htmlspecialchars($product->getDescription(), ENT_QUOTES));
46
- $tempXml[] = xml::short_description(htmlspecialchars($product->getShortDescription(), ENT_QUOTES));
47
 
48
  $parentIds = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($product->getId());
49
 
@@ -52,23 +55,23 @@ class Swift_Swiftplugin_Model_XmlProduct {
52
  foreach($parentIds as $parentId) {
53
  $groupProduct = Mage::getModel('catalog/product')->load($parentId);
54
  $groupPath = $groupProduct->getProductUrl();
55
- $tempXml[] = xml::link($groupPath);
56
  break;
57
  }
58
 
59
  }
60
  else {
61
- $tempXml[] = xml::link($product->getProductUrl());
62
  }
63
 
64
  $method = 'g:image_link';
65
- $tempXml[] = xml::$method($product->getImage() == 'no_selection' ? '' : Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getImage()));
66
  $method = 'g:small_image_link';
67
- $tempXml[] = xml::$method($product->getSmallImage() == 'no_selection' ? '' : Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getSmallImage()));
68
  $method = 'g:additional_image_link';
69
- $tempXml[] = xml::$method($product->getThumbnail() == 'no_selection' ? '' : Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getThumbnail()));
70
  $method = 'g:price';
71
- $tempXml[] = xml::$method($product->getPrice());
72
  $method = 'g:sale_price';
73
 
74
  $special_price = '';
@@ -81,15 +84,15 @@ class Swift_Swiftplugin_Model_XmlProduct {
81
 
82
  }
83
 
84
- $tempXml[] = xml::$method($special_price);
85
  $categoryId = $product->getCategoryIds();
86
  $categoryId = array_shift($categoryId);
87
  $category = Mage::getModel('catalog/category')->load($categoryId);
88
- $tempXml[] = xml::subcategory(is_null($category->getName()) ? '' : htmlspecialchars($category->getName(), ENT_QUOTES));
89
  $pCategory = Mage::getModel('catalog/category')->load($category->getParentId());
90
- $tempXml[] = xml::parentcategory(is_null($pCategory->getName()) ? '' : htmlspecialchars($pCategory->getName(), ENT_QUOTES));
91
- $tempXml[] = xml::sku(is_null($product->getSku()) ? null : htmlspecialchars($product->getSku(), ENT_QUOTES));
92
- $xmlRow[] = xml::product(implode("",$tempXml));
93
 
94
  }
95
 
@@ -97,7 +100,7 @@ class Swift_Swiftplugin_Model_XmlProduct {
97
  }
98
 
99
  header('Content-Type: application/xml; charset=utf-8');
100
- echo '<?xml version="1.0" encoding="UTF-8"?>'. "\n" . xml::urlset(xml::products(implode('',$xmlRow)), array('xmlns:g' => "http://base.google.com/ns/1.0"));
101
  die();
102
  }
103
  }
21
  ->setPageSize($limit);
22
 
23
  $xmlRow = array();
24
+
25
+ $xml = new xml();
26
+
27
  for ($i = 1; $i <= $productCollection->getLastPageNumber(); $i++) {
28
  if ($productCollection->isLoaded()) {
29
  $productCollection->clear();
43
 
44
  $tempXml = array();
45
  $method = 'g:id';
46
+ $tempXml[] = $xml -> $method($product->getId());
47
+ $tempXml[] = $xml -> title(htmlspecialchars($product->getName(), ENT_QUOTES));
48
+ $tempXml[] = $xml -> description(htmlspecialchars($product->getDescription(), ENT_QUOTES));
49
+ $tempXml[] = $xml -> short_description(htmlspecialchars($product->getShortDescription(), ENT_QUOTES));
50
 
51
  $parentIds = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($product->getId());
52
 
55
  foreach($parentIds as $parentId) {
56
  $groupProduct = Mage::getModel('catalog/product')->load($parentId);
57
  $groupPath = $groupProduct->getProductUrl();
58
+ $tempXml[] = $xml -> link($groupPath);
59
  break;
60
  }
61
 
62
  }
63
  else {
64
+ $tempXml[] = $xml -> link($product->getProductUrl());
65
  }
66
 
67
  $method = 'g:image_link';
68
+ $tempXml[] = $xml -> $method($product->getImage() == 'no_selection' ? '' : Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getImage()));
69
  $method = 'g:small_image_link';
70
+ $tempXml[] = $xml -> $method($product->getSmallImage() == 'no_selection' ? '' : Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getSmallImage()));
71
  $method = 'g:additional_image_link';
72
+ $tempXml[] = $xml -> $method($product->getThumbnail() == 'no_selection' ? '' : Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getThumbnail()));
73
  $method = 'g:price';
74
+ $tempXml[] = $xml -> $method($product->getPrice());
75
  $method = 'g:sale_price';
76
 
77
  $special_price = '';
84
 
85
  }
86
 
87
+ $tempXml[] = $xml -> $method($special_price);
88
  $categoryId = $product->getCategoryIds();
89
  $categoryId = array_shift($categoryId);
90
  $category = Mage::getModel('catalog/category')->load($categoryId);
91
+ $tempXml[] = $xml -> subcategory(is_null($category->getName()) ? '' : htmlspecialchars($category->getName(), ENT_QUOTES));
92
  $pCategory = Mage::getModel('catalog/category')->load($category->getParentId());
93
+ $tempXml[] = $xml -> parentcategory(is_null($pCategory->getName()) ? '' : htmlspecialchars($pCategory->getName(), ENT_QUOTES));
94
+ $tempXml[] = $xml -> sku(is_null($product->getSku()) ? null : htmlspecialchars($product->getSku(), ENT_QUOTES));
95
+ $xmlRow[] = $xml -> product(implode("",$tempXml));
96
 
97
  }
98
 
100
  }
101
 
102
  header('Content-Type: application/xml; charset=utf-8');
103
+ echo '<?xml version="1.0" encoding="UTF-8"?>'. "\n" . $xml -> urlset($xml -> products(implode('',$xmlRow)), array('xmlns:g' => "http://base.google.com/ns/1.0"));
104
  die();
105
  }
106
  }
app/code/community/Swift/Swiftplugin/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Swift_Swiftplugin>
5
- <version>1.4.1</version>
6
  </Swift_Swiftplugin>
7
  </modules>
8
  <frontend>
2
  <config>
3
  <modules>
4
  <Swift_Swiftplugin>
5
+ <version>1.4.2</version>
6
  </Swift_Swiftplugin>
7
  </modules>
8
  <frontend>
lib/libXML/xml.php CHANGED
@@ -26,7 +26,13 @@ class xml
26
  {
27
  return self::createElement($name, array_shift($args), array_shift($args));
28
  }
29
-
 
 
 
 
 
 
30
 
31
  //////////////////////////////////////////////////////////////////////////////
32
  // Private methods
26
  {
27
  return self::createElement($name, array_shift($args), array_shift($args));
28
  }
29
+
30
+ /**
31
+ * PHP 5.2 support
32
+ */
33
+ public function __call($name, array $args = NULL) {
34
+ return self::createElement($name, array_shift($args), array_shift($args));
35
+ }
36
 
37
  //////////////////////////////////////////////////////////////////////////////
38
  // Private methods
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Swift_Swiftplugin</name>
4
- <version>1.4.1</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>Added a way to get past orders more effectively. General performance and efficiency improvements.</notes>
22
  <authors><author><name>Simon Cooper</name><user>Netready</user><email>simon@netready.biz</email></author></authors>
23
  <date>2016-04-25</date>
24
- <time>13:21:06</time>
25
- <contents><target name="magelib"><dir name="libXML"><file name="xml.php" hash="fc4d7c79c7b7ea2ac75f28c008cde8eb"/></dir><dir name="SwiftAPI"><file name="SwiftAPI.php" hash="0c91dc99307faa29b29ca9c6a87cef68"/><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="3be495e89f1555d138a9314052e2c627"/></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="4281667b622843620ef59e990b551cec"/></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="bfccc7f91cb96f105a1e945e8304053f"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="92604a30880c89fbe7885780520096cc"/></dir><file name="MailController.php" hash="af10fe5d485b1742ba5095510f2deea4"/><file name="OrdersController.php" hash="565fbeeb8825c3a66cfbcf551aa20519"/><file name="VersionController.php" hash="b9bebb51f946430a2dc7bfc82f96bf36"/><file name="XmlController.php" hash="995d16b26f21a06eb01f258a20e015fc"/></dir><dir name="etc"><file name="config.xml" hash="2d7c49c1ed606ad6b50e4a3729a8d448"/></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.2.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.4.2</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>Improved 5.2 support</notes>
22
  <authors><author><name>Simon Cooper</name><user>Netready</user><email>simon@netready.biz</email></author></authors>
23
  <date>2016-04-25</date>
24
+ <time>14:00:34</time>
25
+ <contents><target name="magelib"><dir name="libXML"><file name="xml.php" hash="c20ca4a39971acf4605247712186b9ec"/></dir><dir name="SwiftAPI"><file name="SwiftAPI.php" hash="0c91dc99307faa29b29ca9c6a87cef68"/><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="3be495e89f1555d138a9314052e2c627"/></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="4281667b622843620ef59e990b551cec"/></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="c0c50f9cb404bd9ef3335de3c394bb4f"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="92604a30880c89fbe7885780520096cc"/></dir><file name="MailController.php" hash="af10fe5d485b1742ba5095510f2deea4"/><file name="OrdersController.php" hash="565fbeeb8825c3a66cfbcf551aa20519"/><file name="VersionController.php" hash="b9bebb51f946430a2dc7bfc82f96bf36"/><file name="XmlController.php" hash="995d16b26f21a06eb01f258a20e015fc"/></dir><dir name="etc"><file name="config.xml" hash="48d39365930f36665af875030f99db52"/></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.2.0</min><max>6.0.0</max></php><extension><name>mcrypt</name><min/><max/></extension></required></dependencies>
28
  </package>