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 +20 -12
- app/code/local/MagicToolbox/Sirv/Helper/Image.php +1 -1
- app/code/local/MagicToolbox/Sirv/Model/Adapter/S3.php +6 -3
- app/code/local/MagicToolbox/Sirv/Model/Source/Cachestorage.php +2 -2
- app/code/local/MagicToolbox/Sirv/Model/Source/Imageprocessing.php +12 -0
- app/code/local/MagicToolbox/Sirv/Model/Source/Network.php +12 -0
- app/code/local/MagicToolbox/Sirv/Model/Varien/Image/Adapter/Sirv.php +5 -2
- app/code/local/MagicToolbox/Sirv/etc/config.xml +2 -1
- app/code/local/MagicToolbox/Sirv/etc/system.xml +43 -17
- app/code/local/MagicToolbox/Sirv/sql/sirv_setup/mysql4-install-1.0.0.php +1 -1
- app/etc/modules/MagicToolbox_Sirv.xml +0 -9
- package.xml +9 -14
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 |
-
$
|
35 |
-
$lastChecked = $
|
36 |
if(!$lastChecked) return false;
|
37 |
$lastChecked = strtotime($lastChecked);
|
38 |
} catch(Exception $e) {
|
39 |
return false;
|
40 |
}
|
41 |
-
$maxTime = intval($lastChecked) +
|
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] +
|
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 |
-
$
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
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 |
-
|
|
|
|
|
|
|
|
|
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 |
-
|
|
|
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 |
-
|
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 |
-
|
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' => '
|
8 |
-
array('value' => 2, 'label' => '
|
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: & 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 &
|
256 |
+
//return empty($query) ? '' : '?'.implode('&', $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.
|
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" /> ]]></label>
|
6 |
-
<tab>
|
7 |
<frontend_type>text</frontend_type>
|
8 |
-
<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>
|
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>
|
|
|
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>
|
|
|
32 |
<frontend_type>select</frontend_type>
|
33 |
-
<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
|
|
|
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>
|
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 |
-
<
|
76 |
-
<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 |
-
</
|
83 |
-
<
|
84 |
-
<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 |
-
</
|
91 |
-
<
|
92 |
-
<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 |
-
</
|
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" /> ]]></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
|
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
|
5 |
<stability>stable</stability>
|
6 |
-
<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.
|
11 |

|
12 |
-
Sirv stores and processes all your Magento product and category images, serving them fast to your customers all around the world
|
13 |
-
|
14 |
-
|
15 |
-

|
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.
|
17 |
-

|
18 |
-
Sirv stores and processes all your Magento product and category images, serving them fast to your customers all around the world.
|
19 |
-
</notes>
|
20 |
<authors><author><name>Magic Toolbox</name><user>MagicToolbox</user><email>talk@magictoolbox.com</email></author></authors>
|
21 |
-
<date>
|
22 |
-
<time>
|
23 |
-
<contents><target name="magelocal"><dir name="MagicToolbox"><dir name="Sirv"><dir name="Helper"><file name="Cache.php" hash="
|
24 |
<compatible/>
|
25 |
-
<dependencies><required><php><min>5.2.0</min><max>
|
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.
|
11 |

|
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).
|
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>
|