Version Notes
Fixed a Crawler bug introduced in version 1.1 where the second round of crawling would not start properly until the cache was flushed.
Download this release
Release Info
Developer | LiteSpeed Technologies |
Extension | LiteSpeed_LiteMage |
Version | 1.1.1 |
Comparing to | |
See all releases |
Code changes from version 1.1.0 to 1.1.1
- app/code/community/Litespeed/Litemage/Helper/Data.php +24 -19
- app/code/community/Litespeed/Litemage/Model/Config/Backend/WarmUp.php +3 -0
- app/code/community/Litespeed/Litemage/Model/Observer/Cron.php +48 -57
- app/code/community/Litespeed/Litemage/etc/config.xml +1 -1
- app/code/community/Litespeed/Litemage/etc/system.xml +1 -1
- package.xml +5 -12
app/code/community/Litespeed/Litemage/Helper/Data.php
CHANGED
@@ -280,7 +280,8 @@ class Litespeed_Litemage_Helper_Data extends Mage_Core_Helper_Abstract
|
|
280 |
protected function _getStoreWarmUpInfo( $storeId, $vary_dev )
|
281 |
{
|
282 |
$storeInfo = array();
|
283 |
-
|
|
|
284 |
return $storeInfo;
|
285 |
|
286 |
$store = Mage::app()->getStore($storeId) ;
|
@@ -335,7 +336,6 @@ class Litespeed_Litemage_Helper_Data extends Mage_Core_Helper_Abstract
|
|
335 |
|
336 |
$env = '' ;
|
337 |
|
338 |
-
$priority = Mage::getStoreConfig(self::STOREXML_WARMUP_PRIORITY, $storeId) + $orderAdjust ;
|
339 |
$storeName = $store->getName();
|
340 |
if ( ! $is_default_store ) {
|
341 |
$env .= '/store/' . $store->getCode() . '/storeId/' . $storeId ;
|
@@ -343,24 +343,29 @@ class Litespeed_Litemage_Helper_Data extends Mage_Core_Helper_Abstract
|
|
343 |
$env .= $vary_curr . $vary_cgrp . $vary_dev ;
|
344 |
$baseurl = $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK) ;
|
345 |
$ttl = Mage::getStoreConfig(self::STOREXML_PUBLICTTL, $storeId) ;
|
346 |
-
$interval = Mage::getStoreConfig(self::STOREXML_WARMUP_INTERVAL, $storeId) ;
|
347 |
-
if ( $interval == '' || $interval < 600 ) { // for upgrade users, not refreshed conf
|
348 |
-
$interval = $ttl ;
|
349 |
-
}
|
350 |
|
351 |
-
$
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
'
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
'
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
364 |
|
365 |
// check custom list
|
366 |
$custlist = Mage::getStoreConfig(self::STOREXML_WARMUP_CUSTLIST, $storeId) ;
|
280 |
protected function _getStoreWarmUpInfo( $storeId, $vary_dev )
|
281 |
{
|
282 |
$storeInfo = array();
|
283 |
+
$enabled = Mage::getStoreConfig(self::STOREXML_WARMUP_EANBLED, $storeId);
|
284 |
+
if ($enabled == 0)
|
285 |
return $storeInfo;
|
286 |
|
287 |
$store = Mage::app()->getStore($storeId) ;
|
336 |
|
337 |
$env = '' ;
|
338 |
|
|
|
339 |
$storeName = $store->getName();
|
340 |
if ( ! $is_default_store ) {
|
341 |
$env .= '/store/' . $store->getCode() . '/storeId/' . $storeId ;
|
343 |
$env .= $vary_curr . $vary_cgrp . $vary_dev ;
|
344 |
$baseurl = $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK) ;
|
345 |
$ttl = Mage::getStoreConfig(self::STOREXML_PUBLICTTL, $storeId) ;
|
|
|
|
|
|
|
|
|
346 |
|
347 |
+
if ($enabled == 1) {
|
348 |
+
$priority = Mage::getStoreConfig(self::STOREXML_WARMUP_PRIORITY, $storeId) + $orderAdjust ;
|
349 |
+
|
350 |
+
$interval = Mage::getStoreConfig(self::STOREXML_WARMUP_INTERVAL, $storeId) ;
|
351 |
+
if ( $interval == '' || $interval < 600 ) { // for upgrade users, not refreshed conf
|
352 |
+
$interval = $ttl ;
|
353 |
+
}
|
354 |
+
|
355 |
+
$listId = 'store' . $storeId ;
|
356 |
+
$storeInfo[$listId] = array(
|
357 |
+
'id' => $listId,
|
358 |
+
'storeid' => $storeId,
|
359 |
+
'store_name' => $storeName,
|
360 |
+
'default_curr' => $default_currency,
|
361 |
+
'default_store' => $is_default_store,
|
362 |
+
'default_site' => $is_default_site,
|
363 |
+
'env' => $env,
|
364 |
+
'interval' => $interval,
|
365 |
+
'ttl' => $ttl,
|
366 |
+
'priority' => $priority,
|
367 |
+
'baseurl' => $baseurl ) ;
|
368 |
+
}
|
369 |
|
370 |
// check custom list
|
371 |
$custlist = Mage::getStoreConfig(self::STOREXML_WARMUP_CUSTLIST, $storeId) ;
|
app/code/community/Litespeed/Litemage/Model/Config/Backend/WarmUp.php
CHANGED
@@ -29,6 +29,9 @@ class Litespeed_Litemage_Model_Config_Backend_WarmUp extends Mage_Core_Model_Con
|
|
29 |
protected function _beforeSave()
|
30 |
{
|
31 |
$value = $this->getValue();
|
|
|
|
|
|
|
32 |
$lines = explode("\n", $value);
|
33 |
$errs = array();
|
34 |
foreach ($lines as $line) {
|
29 |
protected function _beforeSave()
|
30 |
{
|
31 |
$value = $this->getValue();
|
32 |
+
if (trim($value) == '')
|
33 |
+
return $this;
|
34 |
+
|
35 |
$lines = explode("\n", $value);
|
36 |
$errs = array();
|
37 |
foreach ($lines as $line) {
|
app/code/community/Litespeed/Litemage/Model/Observer/Cron.php
CHANGED
@@ -196,12 +196,11 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
196 |
}
|
197 |
|
198 |
try {
|
199 |
-
$client->multiRequest($urls, $curlOptions);
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
|
206 |
$this->_finishCurPosition() ;
|
207 |
|
@@ -217,6 +216,7 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
217 |
break;
|
218 |
}
|
219 |
}
|
|
|
220 |
}
|
221 |
$this->_meta['endreason'] = $endReason;
|
222 |
|
@@ -235,10 +235,29 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
235 |
return file_get_contents($filename);
|
236 |
}
|
237 |
|
238 |
-
protected function _saveCrawlListFileData($listId, $
|
239 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
$filename = $this->_listDir . DS . self::WARMUP_MAP_FILE . '_' . strtolower($listId);
|
241 |
-
if (!file_put_contents($filename, $
|
242 |
$this->_debugLog('Failed to save url map file ' . $filename);
|
243 |
}
|
244 |
else {
|
@@ -368,38 +387,37 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
368 |
return $fixed;
|
369 |
}
|
370 |
|
371 |
-
protected function _getNextUrls(&$curCookie)
|
372 |
-
|
373 |
-
$
|
374 |
-
|
375 |
-
|
376 |
-
|
|
|
377 |
}
|
378 |
else {
|
379 |
-
return null;
|
380 |
}
|
381 |
}
|
382 |
|
383 |
-
$curpos = $this->_meta[$id]['curpos'];
|
384 |
-
$curCookie = $this->_curList['fixed'] . $this->_meta[$id]['curvary'];
|
385 |
-
$urls = array_slice($this->_curList['urls'],
|
386 |
-
$this->_meta[$id]['curpos'],
|
387 |
-
$this->_curThreads);
|
388 |
-
$this->_curList['working'] = count($urls);
|
389 |
|
390 |
-
if (empty($urls)) {
|
391 |
-
return null;
|
392 |
}
|
393 |
else {
|
394 |
-
$baseurl = $this->_meta[$id]['baseurl'];
|
395 |
-
foreach ($urls as $key => $val) {
|
396 |
-
$urls[$key] = $baseurl . $val;
|
397 |
}
|
|
|
398 |
return $urls ;
|
399 |
}
|
400 |
-
|
401 |
|
402 |
-
|
403 |
{
|
404 |
$now = time();
|
405 |
$id = $this->_curList['id'];
|
@@ -705,22 +723,7 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
705 |
$produrls = array_unique($produrls);
|
706 |
$urls = array_merge($urls, $produrls);
|
707 |
|
708 |
-
$this->
|
709 |
-
$this->_meta[$listId]['gentime'] = time();
|
710 |
-
$this->_meta[$listId]['curpos'] = 0;
|
711 |
-
//$this->_meta[$listId]['queried'] = 0;
|
712 |
-
$this->_meta['lastupdate'] = $this->_meta[$listId]['gentime'];
|
713 |
-
$header = $this->_meta[$listId]['gentime'] . "\t"
|
714 |
-
. $this->_meta[$listId]['listsize'] . "\t"
|
715 |
-
. $this->_meta[$listId]['env'] . "\n";
|
716 |
-
|
717 |
-
if ( $this->_isDebug ) {
|
718 |
-
$this->_debugLog('Generate url map for ' . $listId . ' url count =' . $this->_meta[$listId]['listsize']);
|
719 |
-
}
|
720 |
-
|
721 |
-
$buf = $header . implode("\n", $urls);
|
722 |
-
|
723 |
-
$this->_saveCrawlListFileData($listId, $buf);
|
724 |
|
725 |
return $urls;
|
726 |
}
|
@@ -755,19 +758,7 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
755 |
$urls = array_unique($urls);
|
756 |
}
|
757 |
|
758 |
-
$this->
|
759 |
-
$this->_meta[$listId]['gentime'] = time();
|
760 |
-
$this->_meta['lastupdate'] = $this->_meta[$listId]['gentime'];
|
761 |
-
$header = $this->_meta[$listId]['gentime'] . "\t"
|
762 |
-
. $this->_meta[$listId]['listsize'] . "\t"
|
763 |
-
. $this->_meta[$listId]['env'] . "\n";
|
764 |
-
|
765 |
-
if ( $this->_isDebug ) {
|
766 |
-
$this->_debugLog('Generate url map for ' . $listId . ' url count =' . $this->_meta[$listId]['listsize']);
|
767 |
-
}
|
768 |
-
|
769 |
-
$buf = $header . implode("\n", $urls);
|
770 |
-
$this->_saveCrawlListFileData($listId, $buf);
|
771 |
|
772 |
return $urls;
|
773 |
}
|
196 |
}
|
197 |
|
198 |
try {
|
199 |
+
$client->multiRequest($urls, $curlOptions) ;
|
200 |
+
} catch ( Exception $e ) {
|
201 |
+
$endReason = 'Error when crawling url ' . implode(' ', $urls) . ' : ' . $e->getMessage() ;
|
202 |
+
break ;
|
203 |
+
}
|
|
|
204 |
|
205 |
$this->_finishCurPosition() ;
|
206 |
|
216 |
break;
|
217 |
}
|
218 |
}
|
219 |
+
sleep(1);
|
220 |
}
|
221 |
$this->_meta['endreason'] = $endReason;
|
222 |
|
235 |
return file_get_contents($filename);
|
236 |
}
|
237 |
|
238 |
+
protected function _saveCrawlListFileData($listId, $urls)
|
239 |
{
|
240 |
+
$this->_meta[$listId]['listsize'] = count($urls);
|
241 |
+
$this->_meta[$listId]['gentime'] = time();
|
242 |
+
$this->_meta[$listId]['endtime'] = 0;
|
243 |
+
$this->_meta[$listId]['lastquerytime'] = 0;
|
244 |
+
$this->_meta[$listId]['curpos'] = 0;
|
245 |
+
$this->_meta[$listId]['curvary'] = '';
|
246 |
+
$this->_meta[$listId]['queried'] = 0;
|
247 |
+
|
248 |
+
$this->_meta['lastupdate'] = $this->_meta[$listId]['gentime'];
|
249 |
+
$header = $this->_meta[$listId]['gentime'] . "\t"
|
250 |
+
. $this->_meta[$listId]['listsize'] . "\t"
|
251 |
+
. $this->_meta[$listId]['env'] . "\n";
|
252 |
+
|
253 |
+
if ( $this->_isDebug ) {
|
254 |
+
$this->_debugLog('Generate url map for ' . $listId . ' url count =' . $this->_meta[$listId]['listsize']);
|
255 |
+
}
|
256 |
+
|
257 |
+
$buf = $header . implode("\n", $urls);
|
258 |
+
|
259 |
$filename = $this->_listDir . DS . self::WARMUP_MAP_FILE . '_' . strtolower($listId);
|
260 |
+
if (!file_put_contents($filename, $buf)) {
|
261 |
$this->_debugLog('Failed to save url map file ' . $filename);
|
262 |
}
|
263 |
else {
|
387 |
return $fixed;
|
388 |
}
|
389 |
|
390 |
+
protected function _getNextUrls( &$curCookie )
|
391 |
+
{
|
392 |
+
$this->_curList['working'] = 0 ;
|
393 |
+
$id = $this->_curList['id'] ;
|
394 |
+
if ( $this->_meta[$id]['endtime'] > 0 ) {
|
395 |
+
if ( $this->_prepareCurList() ) {
|
396 |
+
return $this->_getNextUrls($curCookie) ;
|
397 |
}
|
398 |
else {
|
399 |
+
return null ;
|
400 |
}
|
401 |
}
|
402 |
|
403 |
+
$curpos = $this->_meta[$id]['curpos'] ;
|
404 |
+
$curCookie = $this->_curList['fixed'] . $this->_meta[$id]['curvary'] ;
|
405 |
+
$urls = array_slice($this->_curList['urls'], $this->_meta[$id]['curpos'], $this->_curThreads) ;
|
|
|
|
|
|
|
406 |
|
407 |
+
if ( empty($urls) ) {
|
408 |
+
return null ;
|
409 |
}
|
410 |
else {
|
411 |
+
$baseurl = $this->_meta[$id]['baseurl'] ;
|
412 |
+
foreach ( $urls as $key => $val ) {
|
413 |
+
$urls[$key] = $baseurl . $val ;
|
414 |
}
|
415 |
+
$this->_curList['working'] = count($urls) ;
|
416 |
return $urls ;
|
417 |
}
|
418 |
+
}
|
419 |
|
420 |
+
protected function _finishCurPosition()
|
421 |
{
|
422 |
$now = time();
|
423 |
$id = $this->_curList['id'];
|
723 |
$produrls = array_unique($produrls);
|
724 |
$urls = array_merge($urls, $produrls);
|
725 |
|
726 |
+
$this->_saveCrawlListFileData($listId, $urls);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
727 |
|
728 |
return $urls;
|
729 |
}
|
758 |
$urls = array_unique($urls);
|
759 |
}
|
760 |
|
761 |
+
$this->_saveCrawlListFileData($listId, $urls);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
762 |
|
763 |
return $urls;
|
764 |
}
|
app/code/community/Litespeed/Litemage/etc/config.xml
CHANGED
@@ -26,7 +26,7 @@
|
|
26 |
<config>
|
27 |
<modules>
|
28 |
<Litespeed_Litemage>
|
29 |
-
<version>1.1.
|
30 |
</Litespeed_Litemage>
|
31 |
</modules>
|
32 |
<global>
|
26 |
<config>
|
27 |
<modules>
|
28 |
<Litespeed_Litemage>
|
29 |
+
<version>1.1.1</version>
|
30 |
</Litespeed_Litemage>
|
31 |
</modules>
|
32 |
<global>
|
app/code/community/Litespeed/Litemage/etc/system.xml
CHANGED
@@ -27,7 +27,7 @@
|
|
27 |
<config>
|
28 |
<tabs>
|
29 |
<Litespeed_Litemage translate="label">
|
30 |
-
<label>LiteMage Cache 1.1.
|
31 |
<sort_order>5000</sort_order>
|
32 |
</Litespeed_Litemage>
|
33 |
</tabs>
|
27 |
<config>
|
28 |
<tabs>
|
29 |
<Litespeed_Litemage translate="label">
|
30 |
+
<label>LiteMage Cache 1.1.1</label>
|
31 |
<sort_order>5000</sort_order>
|
32 |
</Litespeed_Litemage>
|
33 |
</tabs>
|
package.xml
CHANGED
@@ -1,25 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>LiteSpeed_LiteMage</name>
|
4 |
-
<version>1.1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="https://opensource.org/licenses/GPL-3.0">GPLv3</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>LiteMage Cache speeds up Magento by automatically integrating Magento with LiteSpeed's superior ESI implementation.</summary>
|
10 |
<description>LiteMage Cache is a powerful Magento page caching utility built into LiteSpeed Web Server. It combines superior ESI implementation with easy set up. LiteMage Cache contains a number of optimizations, including combined subrequests, that give it faster, more efficient performance than other page caching utilities. In addition, because it is part of the web server, LiteMage Cache does away with the communication problems and overhead other page caching solutions suffer from. The LiteMage Magento extension then automatically integrates Magento installations with LiteSpeed's top-of-the-line ESI implementation, combining the greatest Magento performance enhancement possible with a painless set up.</description>
|
11 |
-
<notes>
|
12 |
-
Added support for multiple custom URL warm-up list per store with different intervals and priorities
|
13 |
-
Added support for setting a different default vary cookie name through .htaccess to avoid conflicts with other LiteSpeed Cache plugins.
|
14 |
-
Updated esi:include URLs to be compatible with LiteSpeed Load Balancer’s PageSpeed module.
|
15 |
-
Improved ESI block detection and hole punching accuracy.
|
16 |
-
URL Blacklist will now perform an exact match unless an “*” is added.
|
17 |
-
Fixed a bug where non-cacheable pages that redirected to a 404 page where mistakenly cached.
|
18 |
-
</notes>
|
19 |
<authors><author><name>LiteSpeed Technologies</name><user>LiteSpeedTech</user><email>lsong@litespeedtech.com</email></author></authors>
|
20 |
-
<date>2016-05-
|
21 |
-
<time>
|
22 |
-
<contents><target name="magecommunity"><dir name="Litespeed"><dir name="Litemage"><dir name="Block"><dir name="Adminhtml"><dir name="Cache"><file name="Management.php" hash="a16c9978a7177adf4aacc00a4a18476a"/></dir></dir><dir name="Core"><file name="Esi.php" hash="32da90253e38aedf67a8c4619bfc983b"/><file name="Messages.php" hash="da581eb4adaa1ac4e2d4b86ff30f08d4"/><file name="Xml.php" hash="6c7d088368f06151be14609dde9afade"/></dir><dir name="Inject"><file name="Jsvar.php" hash="cc0590fe211c81d6d29de570503fe8fd"/><file name="Nickname.php" hash="3edf87b7d3f3da4093110bd4c98e0738"/></dir></dir><dir name="Helper"><file name="Data.php" hash="
|
23 |
<compatible/>
|
24 |
<dependencies><required><php><min>5.3.0</min><max>7.1.0</max></php></required></dependencies>
|
25 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>LiteSpeed_LiteMage</name>
|
4 |
+
<version>1.1.1</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="https://opensource.org/licenses/GPL-3.0">GPLv3</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>LiteMage Cache speeds up Magento by automatically integrating Magento with LiteSpeed's superior ESI implementation.</summary>
|
10 |
<description>LiteMage Cache is a powerful Magento page caching utility built into LiteSpeed Web Server. It combines superior ESI implementation with easy set up. LiteMage Cache contains a number of optimizations, including combined subrequests, that give it faster, more efficient performance than other page caching utilities. In addition, because it is part of the web server, LiteMage Cache does away with the communication problems and overhead other page caching solutions suffer from. The LiteMage Magento extension then automatically integrates Magento installations with LiteSpeed's top-of-the-line ESI implementation, combining the greatest Magento performance enhancement possible with a painless set up.</description>
|
11 |
+
<notes>Fixed a Crawler bug introduced in version 1.1 where the second round of crawling would not start properly until the cache was flushed.</notes>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
<authors><author><name>LiteSpeed Technologies</name><user>LiteSpeedTech</user><email>lsong@litespeedtech.com</email></author></authors>
|
13 |
+
<date>2016-05-31</date>
|
14 |
+
<time>15:02:47</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="Litespeed"><dir name="Litemage"><dir name="Block"><dir name="Adminhtml"><dir name="Cache"><file name="Management.php" hash="a16c9978a7177adf4aacc00a4a18476a"/></dir></dir><dir name="Core"><file name="Esi.php" hash="32da90253e38aedf67a8c4619bfc983b"/><file name="Messages.php" hash="da581eb4adaa1ac4e2d4b86ff30f08d4"/><file name="Xml.php" hash="6c7d088368f06151be14609dde9afade"/></dir><dir name="Inject"><file name="Jsvar.php" hash="cc0590fe211c81d6d29de570503fe8fd"/><file name="Nickname.php" hash="3edf87b7d3f3da4093110bd4c98e0738"/></dir></dir><dir name="Helper"><file name="Data.php" hash="0b4db22d27711c3c5b79da2b35b9841d"/><file name="Esi.php" hash="54036ce774753a7a4922d4d804b60562"/><file name="Viewvary.php" hash="00b51b413114123c8e5d7bfd44e1cfdc"/></dir><dir name="Model"><dir name="Config"><dir name="Backend"><file name="WarmUp.php" hash="663ecf7689115059eb94898f37adeb6f"/></dir><dir name="Source"><file name="CustomerGroup.php" hash="2aa52d9a1614a545035267958be0656f"/><file name="EnableWarmUp.php" hash="d32dd158463297672dfb58628007a88c"/></dir></dir><file name="EsiData.php" hash="5a7fa9094a5286e317a15d7dc133676b"/><file name="EsiLayout.php" hash="8e382410414f467c69e818380872113e"/><dir name="Layout"><file name="EsiUpdate.php" hash="d11658321942742ba38cad1a7558f1f6"/><file name="Master.php" hash="1fae1314f099070df8637f53e0d2d1f2"/><file name="Update.php" hash="bc4b131d642853f009b6278b06843885"/></dir><dir name="Observer"><file name="Cron.php" hash="eba0ab40c49edeaa4b0d589ca4fabe9a"/><file name="Esi.php" hash="916293a6e45da6d2f2663a9f3908e4e8"/><file name="Purge.php" hash="aa3672d74e943a63a6267c2e4025e05c"/></dir><file name="Session.php" hash="558a80fb45a532af59727ae5657cd380"/><file name="Translate.php" hash="35326b8d2214f516d7dba82519902529"/></dir><dir name="controllers"><file name="AdminController.php" hash="d4d81dfdcb28354a7aabd9d9f6f10c86"/><dir name="Adminhtml"><file name="LitemageCacheController.php" hash="18b8cd29b5cf0fe20bd8d18d515fd79d"/></dir><file name="EsiController.php" hash="8bce324af8bfbcd085fe4b8f020e4db8"/></dir><dir name="etc"><file name="config.xml" hash="eb83dcbb7d4082987e86e840c487aa98"/><file name="system.xml" hash="07ffb6d9f6b58f0485eb8cd0e0cbaafa"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="litemage.xml" hash="70c8a6fc5f5eaf99b8c0648a33bb3b7d"/></dir><dir name="template"><dir name="litemage"><file name="cache_management.phtml" hash="3ffb2b9e4351d0e99669c3025a565179"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="litemage.xml" hash="4c840b12cc6246f68b1b028f0ef1056d"/></dir><dir name="template"><dir name="litemage"><dir name="inject"><file name="jsvar.phtml" hash="5bbd9992e7ba5925d09f21cf03237676"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Litespeed_Litemage.xml" hash="ba0c8904bc89219c6829e37cc14d9bdd"/></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.3.0</min><max>7.1.0</max></php></required></dependencies>
|
18 |
</package>
|