Sirv_Magento - Version 1.1.0

Version Notes

New choice of networks (CDN or direct).
Easier to configure Settings page.

Download this release

Release Info

Developer Magic Toolbox
Extension Sirv_Magento
Version 1.1.0
Comparing to
See all releases


Code changes from version 1.0.3 to 1.1.0

app/code/local/MagicToolbox/Sirv/Helper/Cache.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- class MagicToolbox_Sirv_Helper_Cache extends Mage_Core_Helper_Abstract {
4
 
5
  private static $cacheStorage;
6
  private static $cacheTTL;
@@ -31,18 +31,18 @@ class MagicToolbox_Sirv_Helper_Cache extends Mage_Core_Helper_Abstract {
31
  $cacheTTL = rand(intval(self::$cacheTTL * 0.9), intval(self::$cacheTTL * 1.1));
32
  if(self::$cacheStorage == 1) {//NOTE: database cache
33
  try {
34
- $db = Mage::getModel('sirv/cache')->load($url, 'url');
35
- $lastChecked = $db->getLastChecked();
36
  if(!$lastChecked) return false;
37
  $lastChecked = strtotime($lastChecked);
38
  } catch(Exception $e) {
39
  return false;
40
  }
41
- $maxTime = intval($lastChecked) + ($cacheTTL * 60);
42
  return (time() < $maxTime);
43
  } else if(self::$cacheStorage == 2) {//NOTE: file system cache
44
  if(array_key_exists($url, self::$cache)) {
45
- $maxTime = self::$cache[$url] + ($cacheTTL * 60);
46
  return (time() < $maxTime);
47
  } else {
48
  return false;
@@ -50,13 +50,17 @@ class MagicToolbox_Sirv_Helper_Cache extends Mage_Core_Helper_Abstract {
50
  }
51
  }
52
 
53
- public function updateCache($url) {
54
  if(self::$cacheStorage == 1) {//NOTE: database cache
55
  try {
56
- $db = Mage::getModel('sirv/cache')->load($url, 'url');
57
- $db->setUrl($url);
58
- $db->setLastChecked(date('Y-m-d H:i:s'));
59
- $db->save();
 
 
 
 
60
  } catch(Exception $e) {
61
  throw new Exception("Could not access caching database table.");
62
  return false;
@@ -64,10 +68,14 @@ class MagicToolbox_Sirv_Helper_Cache extends Mage_Core_Helper_Abstract {
64
  return true;
65
  } else if(self::$cacheStorage == 2) {//NOTE: file system cache
66
  self::loadFileCache();
67
- self::$cache[$url] = time();
 
 
 
 
68
  file_put_contents(self::$cacheFile, serialize(self::$cache));
69
  return true;
70
- }
71
  }
72
 
73
  public function cleanCache() {
1
  <?php
2
 
3
+ class MagicToolbox_Sirv_Helper_Cache extends Mage_Core_Helper_Abstract {
4
 
5
  private static $cacheStorage;
6
  private static $cacheTTL;
31
  $cacheTTL = rand(intval(self::$cacheTTL * 0.9), intval(self::$cacheTTL * 1.1));
32
  if(self::$cacheStorage == 1) {//NOTE: database cache
33
  try {
34
+ $model = Mage::getModel('sirv/cache')->load($url, 'url');
35
+ $lastChecked = $model->getLastChecked();
36
  if(!$lastChecked) return false;
37
  $lastChecked = strtotime($lastChecked);
38
  } catch(Exception $e) {
39
  return false;
40
  }
41
+ $maxTime = intval($lastChecked) + $cacheTTL;
42
  return (time() < $maxTime);
43
  } else if(self::$cacheStorage == 2) {//NOTE: file system cache
44
  if(array_key_exists($url, self::$cache)) {
45
+ $maxTime = self::$cache[$url] + $cacheTTL;
46
  return (time() < $maxTime);
47
  } else {
48
  return false;
50
  }
51
  }
52
 
53
+ public function updateCache($url, $remove = false) {
54
  if(self::$cacheStorage == 1) {//NOTE: database cache
55
  try {
56
+ $model = Mage::getModel('sirv/cache')->load($url, 'url');
57
+ if($remove) {
58
+ $model->delete();
59
+ } else {
60
+ $model->setUrl($url);
61
+ $model->setLastChecked(date('Y-m-d H:i:s'));
62
+ $model->save();
63
+ }
64
  } catch(Exception $e) {
65
  throw new Exception("Could not access caching database table.");
66
  return false;
68
  return true;
69
  } else if(self::$cacheStorage == 2) {//NOTE: file system cache
70
  self::loadFileCache();
71
+ if($remove) {
72
+ unset(self::$cache[$url]);
73
+ } else {
74
+ self::$cache[$url] = time();
75
+ }
76
  file_put_contents(self::$cacheFile, serialize(self::$cache));
77
  return true;
78
+ }
79
  }
80
 
81
  public function cleanCache() {
app/code/local/MagicToolbox/Sirv/Helper/Image.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  class MagicToolbox_Sirv_Helper_Image extends Mage_Catalog_Helper_Image {
4
-
5
  public function __toString() {
6
  if(!(bool)Mage::getStoreConfig('sirv/general/enabled')) {
7
  return parent::__toString();
1
  <?php
2
 
3
  class MagicToolbox_Sirv_Helper_Image extends Mage_Catalog_Helper_Image {
4
+
5
  public function __toString() {
6
  if(!(bool)Mage::getStoreConfig('sirv/general/enabled')) {
7
  return parent::__toString();
app/code/local/MagicToolbox/Sirv/Model/Adapter/S3.php CHANGED
@@ -12,7 +12,8 @@ class MagicToolbox_Sirv_Model_Adapter_S3 extends Varien_Object {
12
  protected function _construct() {
13
  if(is_null($this->sirv)) {
14
  $this->bucket = Mage::getStoreConfig('sirv/s3/bucket');
15
- $this->base_url = Mage::app()->getStore()->isCurrentlySecure() ? "https://{$this->bucket}.sirv.com" : "http://{$this->bucket}.sirv.com";
 
16
  $this->image_folder = '/'.Mage::getStoreConfig('sirv/general/image_folder');
17
  $this->sirv = Mage::getModel('sirv/adapter_s3_wrapper', array(
18
  'host' => 's3.sirv.com',
@@ -73,7 +74,7 @@ class MagicToolbox_Sirv_Model_Adapter_S3 extends Varien_Object {
73
  if(!$this->auth) return false;
74
  $destFileName = $this->getRelative($destFileName);
75
  try {
76
- $result = $this->sirv->uploadFile($this->image_folder.$destFileName, $srcFileName, true);
77
  } catch(Exception $e) {
78
  $result = false;
79
  }
@@ -87,7 +88,7 @@ class MagicToolbox_Sirv_Model_Adapter_S3 extends Varien_Object {
87
  if(!$this->auth) return false;
88
  $fileName = $this->getRelative($fileName);
89
  try {
90
- $result = $this->sirv->deleteObject($this->image_folder.$fileName);
91
  } catch(Exception $e) {
92
  $result = false;
93
  }
@@ -107,6 +108,8 @@ class MagicToolbox_Sirv_Model_Adapter_S3 extends Varien_Object {
107
 
108
  public function fileExists($fileName) {
109
 
 
 
110
  $cached = Mage::Helper('sirv/cache')->isCached($fileName);
111
  if($cached) {
112
  return true;
12
  protected function _construct() {
13
  if(is_null($this->sirv)) {
14
  $this->bucket = Mage::getStoreConfig('sirv/s3/bucket');
15
+ //$this->base_url = Mage::app()->getStore()->isCurrentlySecure() ? "https://{$this->domain_name}.sirv.com" : "http://{$this->domain_name}.sirv.com";
16
+ $this->base_url = "https://".$this->bucket.( (Mage::getStoreConfig('sirv/general/network')=='CDN')?'-cdn':'' ).".sirv.com";
17
  $this->image_folder = '/'.Mage::getStoreConfig('sirv/general/image_folder');
18
  $this->sirv = Mage::getModel('sirv/adapter_s3_wrapper', array(
19
  'host' => 's3.sirv.com',
74
  if(!$this->auth) return false;
75
  $destFileName = $this->getRelative($destFileName);
76
  try {
77
+ $result = $this->sirv->uploadFile($this->image_folder.$destFileName, $srcFileName, true);
78
  } catch(Exception $e) {
79
  $result = false;
80
  }
88
  if(!$this->auth) return false;
89
  $fileName = $this->getRelative($fileName);
90
  try {
91
+ $result = $this->sirv->deleteObject($this->image_folder.$fileName);
92
  } catch(Exception $e) {
93
  $result = false;
94
  }
108
 
109
  public function fileExists($fileName) {
110
 
111
+ $fileName = $this->getRelative($fileName);
112
+
113
  $cached = Mage::Helper('sirv/cache')->isCached($fileName);
114
  if($cached) {
115
  return true;
app/code/local/MagicToolbox/Sirv/Model/Source/Cachestorage.php CHANGED
@@ -4,8 +4,8 @@ class MagicToolbox_Sirv_Model_Source_Cachestorage {
4
 
5
  public function toOptionArray() {
6
  return array(
7
- array('value' => 1, 'label' => 'in database'),
8
- array('value' => 2, 'label' => 'in filesystem'),
9
  );
10
  }
11
 
4
 
5
  public function toOptionArray() {
6
  return array(
7
+ array('value' => 1, 'label' => 'Database'),
8
+ array('value' => 2, 'label' => 'Filesystem'),
9
  );
10
  }
11
 
app/code/local/MagicToolbox/Sirv/Model/Source/Imageprocessing.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class MagicToolbox_Sirv_Model_Source_Imageprocessing {
4
+
5
+ public function toOptionArray() {
6
+ return array(
7
+ array('value' => '1', 'label' => 'Yes (recommended)'),
8
+ array('value' => '0', 'label' => 'No'),
9
+ );
10
+ }
11
+
12
+ }
app/code/local/MagicToolbox/Sirv/Model/Source/Network.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class MagicToolbox_Sirv_Model_Source_Network {
4
+
5
+ public function toOptionArray() {
6
+ return array(
7
+ array('value' => 'CDN', 'label' => 'Sirv CDN (recommended)'),
8
+ array('value' => 'DIRECT', 'label' => 'Sirv direct'),
9
+ );
10
+ }
11
+
12
+ }
app/code/local/MagicToolbox/Sirv/Model/Varien/Image/Adapter/Sirv.php CHANGED
@@ -187,7 +187,7 @@ class MagicToolbox_Sirv_Model_Varien_Image_Adapter_Sirv extends Varien_Image_Ada
187
  if(empty($opacity)) $opacity = 50;
188
 
189
  $this->setImagingOptions('watermark.image', urlencode($sirv->getRelUrl($sirvFileName)));
190
-
191
  $this->setImagingOptions('watermark.opacity', $opacity);
192
 
193
  if($this->getWatermarkWidth() && $this->getWatermarkHeigth() && ($this->getWatermarkPosition() != self::POSITION_STRETCH)) {
@@ -250,7 +250,10 @@ class MagicToolbox_Sirv_Model_Varien_Image_Adapter_Sirv extends Varien_Image_Ada
250
  foreach($this->_imaging_options as $key => $value) {
251
  $query[] = "{$key}={$value}";
252
  }
 
 
 
 
253
  return empty($query) ? '' : '?'.implode('&', $query);
254
  }
255
-
256
  }
187
  if(empty($opacity)) $opacity = 50;
188
 
189
  $this->setImagingOptions('watermark.image', urlencode($sirv->getRelUrl($sirvFileName)));
190
+
191
  $this->setImagingOptions('watermark.opacity', $opacity);
192
 
193
  if($this->getWatermarkWidth() && $this->getWatermarkHeigth() && ($this->getWatermarkPosition() != self::POSITION_STRETCH)) {
250
  foreach($this->_imaging_options as $key => $value) {
251
  $query[] = "{$key}={$value}";
252
  }
253
+ //NOTE: &amp; leads to issue with ConfigurableSwatches module
254
+ // when the source is set with js, the url is not converted
255
+ // and Sirv return 400 (Bad Request) error for for url with &amp;
256
+ //return empty($query) ? '' : '?'.implode('&amp;', $query);
257
  return empty($query) ? '' : '?'.implode('&', $query);
258
  }
 
259
  }
app/code/local/MagicToolbox/Sirv/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <MagicToolbox_Sirv>
5
- <version>1.0.0</version>
6
  </MagicToolbox_Sirv>
7
  </modules>
8
  <global>
@@ -107,6 +107,7 @@
107
  <sirv>
108
  <general>
109
  <enabled>0</enabled>
 
110
  <sirv_image_processing>1</sirv_image_processing>
111
  <image_folder>magento</image_folder>
112
  <cache_storage>1</cache_storage>
2
  <config>
3
  <modules>
4
  <MagicToolbox_Sirv>
5
+ <version>1.0.5</version>
6
  </MagicToolbox_Sirv>
7
  </modules>
8
  <global>
107
  <sirv>
108
  <general>
109
  <enabled>0</enabled>
110
+ <network>CDN</network>
111
  <sirv_image_processing>1</sirv_image_processing>
112
  <image_folder>magento</image_folder>
113
  <cache_storage>1</cache_storage>
app/code/local/MagicToolbox/Sirv/etc/system.xml CHANGED
@@ -3,23 +3,35 @@
3
  <sections>
4
  <sirv translate="label" module="sirv">
5
  <label><![CDATA[<img height="16" src="//sirv.sirv.com/website/sirv-logo-dark-blue.png?scale.height=16&canvas.height=16&canvas.color=%23ffffff00" alt="Sirv" />&nbsp;]]></label>
6
- <tab>catalog</tab>
7
  <frontend_type>text</frontend_type>
8
- <sort_order>1000</sort_order>
9
  <show_in_default>1</show_in_default>
10
  <show_in_website>1</show_in_website>
11
  <show_in_store>1</show_in_store>
12
  <groups>
 
 
 
 
 
 
 
 
 
 
13
  <general translate="label">
14
  <label>General Settings</label>
15
  <frontend_type>text</frontend_type>
16
- <sort_order>0</sort_order>
17
  <show_in_default>1</show_in_default>
18
  <show_in_website>1</show_in_website>
19
  <show_in_store>1</show_in_store>
 
20
  <fields>
21
  <enabled translate="label">
22
- <label>Use Sirv CDN</label>
 
23
  <frontend_type>select</frontend_type>
24
  <source_model>adminhtml/system_config_source_yesno</source_model>
25
  <sort_order>1</sort_order>
@@ -27,17 +39,29 @@
27
  <show_in_website>1</show_in_website>
28
  <show_in_store>1</show_in_store>
29
  </enabled>
 
 
 
 
 
 
 
 
 
 
30
  <sirv_image_processing translate="label">
31
- <label>Use Sirv image processing</label>
 
32
  <frontend_type>select</frontend_type>
33
- <source_model>adminhtml/system_config_source_yesno</source_model>
34
  <sort_order>2</sort_order>
35
  <show_in_default>1</show_in_default>
36
  <show_in_website>1</show_in_website>
37
  <show_in_store>1</show_in_store>
38
  </sirv_image_processing>
39
  <image_folder translate="label">
40
- <label>Folder for image storage</label>
 
41
  <frontend_type>text</frontend_type>
42
  <sort_order>3</sort_order>
43
  <show_in_default>1</show_in_default>
@@ -55,7 +79,7 @@
55
  </cache_storage>
56
  <cache_ttl translate="label">
57
  <label>Cache TTL</label>
58
- <comment>time(in minutes) after which the cache entry expires</comment>
59
  <frontend_type>text</frontend_type>
60
  <sort_order>5</sort_order>
61
  <show_in_default>1</show_in_default>
@@ -71,31 +95,33 @@
71
  <show_in_default>1</show_in_default>
72
  <show_in_website>1</show_in_website>
73
  <show_in_store>1</show_in_store>
 
 
74
  <fields>
75
- <key translate="label">
76
- <label>S3 Key</label>
77
  <frontend_type>text</frontend_type>
78
  <sort_order>1</sort_order>
79
  <show_in_default>1</show_in_default>
80
  <show_in_website>1</show_in_website>
81
  <show_in_store>1</show_in_store>
82
- </key>
83
- <secret translate="label">
84
- <label>S3 Secret</label>
85
  <frontend_type>text</frontend_type>
86
  <sort_order>2</sort_order>
87
  <show_in_default>1</show_in_default>
88
  <show_in_website>1</show_in_website>
89
  <show_in_store>1</show_in_store>
90
- </secret>
91
- <bucket translate="label">
92
- <label>S3 Bucket</label>
93
  <frontend_type>text</frontend_type>
94
  <sort_order>3</sort_order>
95
  <show_in_default>1</show_in_default>
96
  <show_in_website>1</show_in_website>
97
  <show_in_store>1</show_in_store>
98
- </bucket>
99
  </fields>
100
  </s3>
101
  </groups>
3
  <sections>
4
  <sirv translate="label" module="sirv">
5
  <label><![CDATA[<img height="16" src="//sirv.sirv.com/website/sirv-logo-dark-blue.png?scale.height=16&canvas.height=16&canvas.color=%23ffffff00" alt="Sirv" />&nbsp;]]></label>
6
+ <tab>general</tab>
7
  <frontend_type>text</frontend_type>
8
+ <sort_order>10000</sort_order>
9
  <show_in_default>1</show_in_default>
10
  <show_in_website>1</show_in_website>
11
  <show_in_store>1</show_in_store>
12
  <groups>
13
+ <notice translate="label">
14
+ <label>Sirv for Magento</label>
15
+ <frontend_type>text</frontend_type>
16
+ <sort_order>0</sort_order>
17
+ <show_in_default>1</show_in_default>
18
+ <show_in_website>1</show_in_website>
19
+ <show_in_store>1</show_in_store>
20
+ <expanded>1</expanded>
21
+ <comment><![CDATA[Accelerate your website with faster loading images using the Sirv CDN. <a href="https://sirv.com/" target="_blank">About Sirv</a> | <a href="https://my.sirv.com/#/contact" target="_blank">Get support</a>]]></comment>
22
+ </notice>
23
  <general translate="label">
24
  <label>General Settings</label>
25
  <frontend_type>text</frontend_type>
26
+ <sort_order>1</sort_order>
27
  <show_in_default>1</show_in_default>
28
  <show_in_website>1</show_in_website>
29
  <show_in_store>1</show_in_store>
30
+ <expanded>1</expanded>
31
  <fields>
32
  <enabled translate="label">
33
+ <label>Enable Sirv</label>
34
+ <comment><![CDATA[<b>If Yes</b>, images will be served from your Sirv account.<br/><b>If No</b>, images will be served from your server.]]></comment>
35
  <frontend_type>select</frontend_type>
36
  <source_model>adminhtml/system_config_source_yesno</source_model>
37
  <sort_order>1</sort_order>
39
  <show_in_website>1</show_in_website>
40
  <show_in_store>1</show_in_store>
41
  </enabled>
42
+ <network translate="label">
43
+ <label>Network</label>
44
+ <comment><![CDATA[<b>Sirv CDN</b> delivers your images faster, from a global network of servers.<br/><b>Sirv direct</b> delivers images only from the primary Sirv datacentre.<br/><a target="_blank" href="https://my.sirv.com/#/account/settings">Learn more</a>]]></comment>
45
+ <frontend_type>select</frontend_type>
46
+ <source_model>sirv/source_network</source_model>
47
+ <sort_order>1</sort_order>
48
+ <show_in_default>1</show_in_default>
49
+ <show_in_website>1</show_in_website>
50
+ <show_in_store>1</show_in_store>
51
+ </network>
52
  <sirv_image_processing translate="label">
53
+ <label>Optimize from originals</label>
54
+ <comment><![CDATA[<b>If Yes</b>, Sirv will deliver perfectly resized and optimized images.<br/><b>If No</b>, Sirv will deliver the Magento resized images with weaker optimization.]]></comment>
55
  <frontend_type>select</frontend_type>
56
+ <source_model>sirv/source_imageprocessing</source_model>
57
  <sort_order>2</sort_order>
58
  <show_in_default>1</show_in_default>
59
  <show_in_website>1</show_in_website>
60
  <show_in_store>1</show_in_store>
61
  </sirv_image_processing>
62
  <image_folder translate="label">
63
+ <label>Folder name on Sirv</label>
64
+ <comment><![CDATA[Images will be copied to this folder in <a target="_blank" href="https://my.sirv.com/#/browse">your Sirv account</a>.<br/>The folder will be automatically created by Sirv.]]></comment>
65
  <frontend_type>text</frontend_type>
66
  <sort_order>3</sort_order>
67
  <show_in_default>1</show_in_default>
79
  </cache_storage>
80
  <cache_ttl translate="label">
81
  <label>Cache TTL</label>
82
+ <comment>Time (in minutes) after which the cache entry expires.</comment>
83
  <frontend_type>text</frontend_type>
84
  <sort_order>5</sort_order>
85
  <show_in_default>1</show_in_default>
95
  <show_in_default>1</show_in_default>
96
  <show_in_website>1</show_in_website>
97
  <show_in_store>1</show_in_store>
98
+ <expanded>1</expanded>
99
+ <comment><![CDATA[Get your S3 access credentials from <a href="https://my.sirv.com/#/account/settings" target="_blank">your Sirv account</a>. New users can <a href="https://my.sirv.com/#/signup" target="_blank">create an account</a>.]]></comment>
100
  <fields>
101
+ <bucket translate="label">
102
+ <label>Bucket</label>
103
  <frontend_type>text</frontend_type>
104
  <sort_order>1</sort_order>
105
  <show_in_default>1</show_in_default>
106
  <show_in_website>1</show_in_website>
107
  <show_in_store>1</show_in_store>
108
+ </bucket>
109
+ <key translate="label">
110
+ <label>Access Key</label>
111
  <frontend_type>text</frontend_type>
112
  <sort_order>2</sort_order>
113
  <show_in_default>1</show_in_default>
114
  <show_in_website>1</show_in_website>
115
  <show_in_store>1</show_in_store>
116
+ </key>
117
+ <secret translate="label">
118
+ <label>Secret key</label>
119
  <frontend_type>text</frontend_type>
120
  <sort_order>3</sort_order>
121
  <show_in_default>1</show_in_default>
122
  <show_in_website>1</show_in_website>
123
  <show_in_store>1</show_in_store>
124
+ </secret>
125
  </fields>
126
  </s3>
127
  </groups>
app/code/local/MagicToolbox/Sirv/sql/sirv_setup/mysql4-install-1.0.0.php CHANGED
@@ -27,7 +27,7 @@ if($result) {
27
  $charIndex = mt_rand(0, $validCharNumber-1);
28
  $randomHash .= $validCharacters[$charIndex];
29
  }
30
- $installer->setConfigData('sirv/general/image_folder', "magento-{$randomHash}", 'default', 0);
31
  //$installer->run("INSERT INTO `{$installer->getTable('core/config_data')}` VALUES (NULL, 'default', 0, 'sirv/general/image_folder', 'magento-{$randomHash}');");
32
  }
33
  }
27
  $charIndex = mt_rand(0, $validCharNumber-1);
28
  $randomHash .= $validCharacters[$charIndex];
29
  }
30
+ $installer->setConfigData('sirv/general/image_folder', "magento", 'default', 0);
31
  //$installer->run("INSERT INTO `{$installer->getTable('core/config_data')}` VALUES (NULL, 'default', 0, 'sirv/general/image_folder', 'magento-{$randomHash}');");
32
  }
33
  }
app/etc/modules/MagicToolbox_Sirv.xml DELETED
@@ -1,9 +0,0 @@
1
- <?xml version="1.0"?>
2
- <config>
3
- <modules>
4
- <MagicToolbox_Sirv>
5
- <active>true</active>
6
- <codePool>local</codePool>
7
- </MagicToolbox_Sirv>
8
- </modules>
9
- </config>
 
 
 
 
 
 
 
 
 
package.xml CHANGED
@@ -1,26 +1,21 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Sirv_Magento</name>
4
- <version>1.0.3</version>
5
  <stability>stable</stability>
6
- <license uri="http://opensource.org/licenses/artistic-license-2.0">Artistic License 2.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Serve your images faster with Sirv. Magento's best CDN for watermarks, text overlays and responsive images with super-fast delivery.</summary>
10
  <description>Need to deliver your images fast? Add effects like text, watermarks or frames? Struggling to store and manage loads of images? Need an automated way to resize and optimize images? Want a faster loading website? Sirv is the CDN (content delivery network) you've been looking for.&#xD;
11
  &#xD;
12
- Sirv stores and processes all your Magento product and category images, serving them fast to your customers all around the world.&#xD;
13
- </description>
14
- <notes>Serve your images faster with Sirv. Magento's best CDN for watermarks, text overlays and responsive images with super-fast delivery.&#xD;
15
- &#xD;
16
- Need to deliver your images fast? Add effects like text, watermarks or frames? Struggling to store and manage loads of images? Need an automated way to resize and optimize images? Want a faster loading website? Sirv is the CDN (content delivery network) you've been looking for.&#xD;
17
- &#xD;
18
- Sirv stores and processes all your Magento product and category images, serving them fast to your customers all around the world.&#xD;
19
- </notes>
20
  <authors><author><name>Magic Toolbox</name><user>MagicToolbox</user><email>talk@magictoolbox.com</email></author></authors>
21
- <date>2015-05-19</date>
22
- <time>12:27:29</time>
23
- <contents><target name="magelocal"><dir name="MagicToolbox"><dir name="Sirv"><dir name="Helper"><file name="Cache.php" hash="a420885d3ac083cadac0f0d98bebb3b2"/><file name="Data.php" hash="c8b4ba55f09f4565a862a221b41fd886"/><file name="Image.php" hash="c4af0b6100ad7edfb6c42d98f5bc7938"/></dir><dir name="Model"><dir name="Adapter"><dir name="S3"><file name="Wrapper.php" hash="40d82e1a52dfcfaaf6cc2abbcb6e0ec3"/></dir><file name="S3.php" hash="98961769f86037ddabb1f5bd3d65e557"/></dir><file name="Cache.php" hash="524a1551687cd3e06846a6eacbbab745"/><file name="Category.php" hash="f6e97e546bc16f7938bc95dee7ce1cda"/><dir name="Mysql4"><dir name="Cache"><file name="Collection.php" hash="5240db3fe28e1187e6a9eb37855996f3"/></dir><file name="Cache.php" hash="b43c518f666637d49b456601d43b62d8"/></dir><file name="Observer.php" hash="fd08f8f4a93a2b1b07856088a5c4e74e"/><dir name="Product"><file name="Image.php" hash="68fcde78528ab15f89a6a74603eb1672"/></dir><dir name="Source"><file name="Cachestorage.php" hash="49439ab36f3f90b4869ac93b71e1eb7c"/></dir><dir name="Varien"><dir name="Image"><dir name="Adapter"><file name="Gd2.php" hash="ef8826cc944b6e418978ec69eea25f92"/><file name="Sirv.php" hash="7708a492555d22c5034ebfc0bd310211"/></dir></dir><file name="Image.php" hash="9ea90ac546224e0eeece85387e574d48"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="7d4d620ca88e6d6c4ef33d28181f4aa4"/><file name="config.xml" hash="8cc237cb20fded831c942f4a1f5d57a8"/><file name="system.xml" hash="7c5ee06f5eac8d19eb48bcaf66d31475"/></dir><dir name="sql"><dir name="sirv_setup"><file name="mysql4-install-1.0.0.php" hash="b68200579ade1c243b7cb80ed60e582b"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="MagicToolbox_Sirv.xml" hash="458f0ee3a42fed76f358043cdff6632a"/></dir></target></contents>
24
  <compatible/>
25
- <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
26
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Sirv_Magento</name>
4
+ <version>1.1.0</version>
5
  <stability>stable</stability>
6
+ <license>Artistic License 2.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Serve your images faster with Sirv. Magento's best CDN for watermarks, text overlays and responsive images with super-fast delivery.</summary>
10
  <description>Need to deliver your images fast? Add effects like text, watermarks or frames? Struggling to store and manage loads of images? Need an automated way to resize and optimize images? Want a faster loading website? Sirv is the CDN (content delivery network) you've been looking for.&#xD;
11
  &#xD;
12
+ Sirv stores and processes all your Magento product and category images, serving them fast to your customers all around the world.</description>
13
+ <notes>New choice of networks (CDN or direct).&#xD;
14
+ Easier to configure Settings page.</notes>
 
 
 
 
 
15
  <authors><author><name>Magic Toolbox</name><user>MagicToolbox</user><email>talk@magictoolbox.com</email></author></authors>
16
+ <date>2016-12-05</date>
17
+ <time>14:33:38</time>
18
+ <contents><target name="magelocal"><dir name="MagicToolbox"><dir name="Sirv"><dir name="Helper"><file name="Cache.php" hash="7fc11791ee9d34e226f7e4c23e2384ef"/><file name="Data.php" hash="c8b4ba55f09f4565a862a221b41fd886"/><file name="Image.php" hash="1ef1abcdb67838eefa989aeabe9da33c"/></dir><dir name="Model"><dir name="Adapter"><dir name="S3"><file name="Wrapper.php" hash="40d82e1a52dfcfaaf6cc2abbcb6e0ec3"/></dir><file name="S3.php" hash="bae6b01ba1f1c29faf6140504c5497c7"/></dir><file name="Cache.php" hash="524a1551687cd3e06846a6eacbbab745"/><file name="Category.php" hash="f6e97e546bc16f7938bc95dee7ce1cda"/><dir name="Mysql4"><dir name="Cache"><file name="Collection.php" hash="5240db3fe28e1187e6a9eb37855996f3"/></dir><file name="Cache.php" hash="b43c518f666637d49b456601d43b62d8"/></dir><file name="Observer.php" hash="fd08f8f4a93a2b1b07856088a5c4e74e"/><dir name="Product"><file name="Image.php" hash="68fcde78528ab15f89a6a74603eb1672"/></dir><dir name="Source"><file name="Cachestorage.php" hash="1e19c1bd1afcbc196bd5c3e552455ad8"/><file name="Imageprocessing.php" hash="e09cf54afc961da8790ecc55a72a64a0"/><file name="Network.php" hash="21b1e8802eeec78f1ea091d8edcf0939"/></dir><dir name="Varien"><dir name="Image"><dir name="Adapter"><file name="Gd2.php" hash="ef8826cc944b6e418978ec69eea25f92"/><file name="Sirv.php" hash="df87d78511550d3a9a72bc5a0b121a85"/></dir></dir><file name="Image.php" hash="9ea90ac546224e0eeece85387e574d48"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="7d4d620ca88e6d6c4ef33d28181f4aa4"/><file name="config.xml" hash="97972eb710fcfa9dc138d7b1dcb6b417"/><file name="system.xml" hash="ab864f0c3f5e93ffa53dbe94fed39b29"/></dir><dir name="sql"><dir name="sirv_setup"><file name="mysql4-install-1.0.0.php" hash="653a8eeae95990d09451e562fd8ec22e"/></dir></dir></dir></dir></target></contents>
19
  <compatible/>
20
+ <dependencies><required><php><min>5.2.0</min><max>7.1.0</max></php></required></dependencies>
21
  </package>