LiteSpeed_LiteMage - Version 1.3.2

Version Notes

Fixed a bug when ajax response contains ESI block and the ESI urls was encoded by json output.

Download this release

Release Info

Developer LiteSpeed Technologies
Extension LiteSpeed_LiteMage
Version 1.3.2
Comparing to
See all releases


Code changes from version 1.3.1 to 1.3.2

app/code/community/Litespeed/Litemage/Block/Core/Esi.php CHANGED
@@ -30,7 +30,7 @@ class Litespeed_Litemage_Block_Core_Esi extends Mage_Core_Block_Abstract
30
  public function initByPeer( $peer )
31
  {
32
  $this->_peer = $peer ;
33
- $this->setData('litemage_bconf', $peer->getData('litemage_bconf')) ;
34
 
35
  $this->_layout = $peer->_layout ;
36
  $this->_nameInLayout = $peer->_nameInLayout ;
@@ -71,4 +71,15 @@ class Litespeed_Litemage_Block_Core_Esi extends Mage_Core_Block_Abstract
71
  return false ;
72
  }
73
 
 
 
 
 
 
 
 
 
 
 
 
74
  }
30
  public function initByPeer( $peer )
31
  {
32
  $this->_peer = $peer ;
33
+ parent::setData('litemage_bconf', $peer->getData('litemage_bconf')) ;
34
 
35
  $this->_layout = $peer->_layout ;
36
  $this->_nameInLayout = $peer->_nameInLayout ;
71
  return false ;
72
  }
73
 
74
+ public function setData($key, $value=null)
75
+ {
76
+ if (is_scalar($key) && is_scalar($value)
77
+ && ($key == 'form_action')) {
78
+ $bconf = $this->getData('litemage_bconf');
79
+ $bconf['extra'][$key] = $value;
80
+ parent::setData('litemage_bconf', $bconf);
81
+ }
82
+ return parent::setData($key, $value);
83
+ }
84
+
85
  }
app/code/community/Litespeed/Litemage/Helper/Data.php CHANGED
@@ -653,7 +653,8 @@ class Litespeed_Litemage_Helper_Data extends Mage_Core_Helper_Abstract
653
  'access' => $tagdata['access'],
654
  'valueonly' => $valueonly,
655
  'bn' => $blockName,
656
- 'bt' => $blockType
 
657
  ) ;
658
  if ( $startDynamic ) {
659
  $bconf['pc'] = get_class($block) ;
653
  'access' => $tagdata['access'],
654
  'valueonly' => $valueonly,
655
  'bn' => $blockName,
656
+ 'bt' => $blockType,
657
+ 'extra' => array()
658
  ) ;
659
  if ( $startDynamic ) {
660
  $bconf['pc'] = get_class($block) ;
app/code/community/Litespeed/Litemage/Helper/Esi.php CHANGED
@@ -344,6 +344,9 @@ class Litespeed_Litemage_Helper_Esi
344
  if (!empty($blockHandles)) {
345
  $urlOptions['h'] = implode(',', $blockHandles);
346
  }
 
 
 
347
  $urlOptions = array_merge($urlOptions, $this->getEsiSharedParams());
348
 
349
  $esiUrl = $this->_getSubReqUrl('litemage/esi/getBlock', $urlOptions) ;
@@ -600,8 +603,9 @@ class Litespeed_Litemage_Helper_Esi
600
  $updated = true ;
601
  }
602
 
603
- if ( $updated )
604
  $this->_setEsiOn() ;
 
605
 
606
  if ( ($this->_cacheVars['flag'] & self::CHBM_ESI_ON) != 0 ) {
607
  // no need to use comment, will be removed by minify extensions
@@ -621,8 +625,19 @@ class Litespeed_Litemage_Helper_Esi
621
  $response->setBody($newbody);
622
  }
623
  else {
 
 
 
 
 
 
 
 
 
 
 
624
  $response->setBody($combined . $tracker . $responseBody) ;
625
- if ($this->_isDebug && !Mage::app()->getRequest()->isAjax()) {
626
  $this->_config->debugMesg('_updateResponseBody failed to insert combined after <body>');
627
  }
628
  }
344
  if (!empty($blockHandles)) {
345
  $urlOptions['h'] = implode(',', $blockHandles);
346
  }
347
+ if (!empty($bconf['extra'])) {
348
+ $urlOptions['extra'] = strtr(base64_encode(serialize($bconf['extra'])), '+/=', '-_,');
349
+ }
350
  $urlOptions = array_merge($urlOptions, $this->getEsiSharedParams());
351
 
352
  $esiUrl = $this->_getSubReqUrl('litemage/esi/getBlock', $urlOptions) ;
603
  $updated = true ;
604
  }
605
 
606
+ if ( $updated ) {
607
  $this->_setEsiOn() ;
608
+ }
609
 
610
  if ( ($this->_cacheVars['flag'] & self::CHBM_ESI_ON) != 0 ) {
611
  // no need to use comment, will be removed by minify extensions
625
  $response->setBody($newbody);
626
  }
627
  else {
628
+ $isAjax = $this->_cacheVars['internal']['is_ajax'];
629
+ // json output will add slashes
630
+ if ($isAjax) {
631
+ $responseBody = preg_replace_callback('|src=\'.*\\\/litemage\\\/esi\\\/.+\\\/>|',
632
+ function ($matches) {
633
+ $b = stripslashes($matches[0]);
634
+ $c = preg_replace('/\/esi\/([^\/]+)\//', '/esi/$1/ajax/strip/', $b);
635
+ return $c;
636
+ },
637
+ $responseBody);
638
+ }
639
  $response->setBody($combined . $tracker . $responseBody) ;
640
+ if ($this->_isDebug && !$isAjax) {
641
  $this->_config->debugMesg('_updateResponseBody failed to insert combined after <body>');
642
  }
643
  }
app/code/community/Litespeed/Litemage/Model/EsiData.php CHANGED
@@ -155,6 +155,9 @@ class Litespeed_Litemage_Model_EsiData
155
  public function setRawOutput($rawOutput, $responseCode = 200)
156
  {
157
  $this->_rawOutput = trim($rawOutput);
 
 
 
158
  $this->_responseCode = $responseCode;
159
  if ( $this->_cacheAttr['ttl'] > 0 && ($responseCode != 200)) { // for esi req, 301 and 404 also treat as error, nocache
160
  $this->_cacheAttr['ttl'] = 0 ;
@@ -232,7 +235,9 @@ class Litespeed_Litemage_Model_EsiData
232
  if ( isset($params['pt']) ) {
233
  $this->_data['pt'] = $params['pt'] ; // dynamic block template
234
  }
235
-
 
 
236
  }
237
 
238
  protected function _initMessage($params, $configHelper)
@@ -269,9 +274,16 @@ class Litespeed_Litemage_Model_EsiData
269
  // else exception out
270
  }
271
 
272
- public function getData()
273
  {
274
- return $this->_data;
 
 
 
 
 
 
 
275
  }
276
 
277
  protected function _initCombined($params)
@@ -342,6 +354,10 @@ class Litespeed_Litemage_Model_EsiData
342
  $this->_exceptionOut('missing s_dp_dt') ;
343
  }
344
  }
 
 
 
 
345
  return $dparams ;
346
  }
347
 
155
  public function setRawOutput($rawOutput, $responseCode = 200)
156
  {
157
  $this->_rawOutput = trim($rawOutput);
158
+ if (strlen($this->_rawOutput) && isset($this->_data['ajax']) && ($this->_data['ajax'] == 'strip')) {
159
+ $this->_rawOutput = addslashes($this->_rawOutput);
160
+ }
161
  $this->_responseCode = $responseCode;
162
  if ( $this->_cacheAttr['ttl'] > 0 && ($responseCode != 200)) { // for esi req, 301 and 404 also treat as error, nocache
163
  $this->_cacheAttr['ttl'] = 0 ;
235
  if ( isset($params['pt']) ) {
236
  $this->_data['pt'] = $params['pt'] ; // dynamic block template
237
  }
238
+ if ( isset($params['ajax'])) {
239
+ $this->_data['ajax'] = $params['ajax'];
240
+ }
241
  }
242
 
243
  protected function _initMessage($params, $configHelper)
274
  // else exception out
275
  }
276
 
277
+ public function getData($key='')
278
  {
279
+ if ($key) {
280
+ if (isset($this->_data[$key]))
281
+ return $this->_data[$key];
282
+ else
283
+ return null;
284
+ }
285
+ else
286
+ return $this->_data;
287
  }
288
 
289
  protected function _initCombined($params)
354
  $this->_exceptionOut('missing s_dp_dt') ;
355
  }
356
  }
357
+ if (isset($dparams['extra'])) {
358
+ $extra = base64_decode(strtr($dparams['extra'], '-_,', '+/='));
359
+ $this->_data['extra'] = unserialize($extra);
360
+ }
361
  return $dparams ;
362
  }
363
 
app/code/community/Litespeed/Litemage/Model/Observer/Esi.php CHANGED
@@ -252,21 +252,36 @@ class Litespeed_Litemage_Model_Observer_Esi extends Varien_Event_Observer
252
 
253
  // check controller level
254
  $cacheable = false;
255
- foreach ( $nocache[Litespeed_Litemage_Helper_Data::CFG_CACHE_ROUTE] as $route ) {
256
- if ( strncmp($route, $curActionName, strlen($route)) == 0 ) {
257
- $cacheable = true;
258
- break;
259
- }
260
- }
 
 
 
 
 
 
 
261
  if ( !$cacheable ) {
262
  return 'route not cacheable';
263
  }
264
 
265
- foreach ( $nocache[Litespeed_Litemage_Helper_Data::CFG_NOCACHE_ROUTE] as $route ) {
266
- if ( strncmp($route, $curActionName, strlen($route)) == 0 ) {
267
- return 'subroute disabled';
268
- }
269
- }
 
 
 
 
 
 
 
 
270
 
271
  foreach ( $nocache[Litespeed_Litemage_Helper_Data::CFG_NOCACHE_URL] as $url ) {
272
  if (substr($url, -1) == '*') {
252
 
253
  // check controller level
254
  $cacheable = false;
255
+ $exactMatch = false;
256
+ if (in_array($curActionName, $nocache[Litespeed_Litemage_Helper_Data::CFG_CACHE_ROUTE])) {
257
+ $cacheable = true;
258
+ $exactMatch = true;
259
+ }
260
+ else {
261
+ foreach ( $nocache[Litespeed_Litemage_Helper_Data::CFG_CACHE_ROUTE] as $route ) {
262
+ if ( strncmp($route, $curActionName, strlen($route)) == 0 ) {
263
+ $cacheable = true;
264
+ break;
265
+ }
266
+ }
267
+ }
268
  if ( !$cacheable ) {
269
  return 'route not cacheable';
270
  }
271
 
272
+ if ($exactMatch) {
273
+ // only nocache exact match will override
274
+ if (in_array($curActionName, $nocache[Litespeed_Litemage_Helper_Data::CFG_NOCACHE_ROUTE])) {
275
+ return 'subroute disabled';
276
+ }
277
+ }
278
+ else {
279
+ foreach ( $nocache[Litespeed_Litemage_Helper_Data::CFG_NOCACHE_ROUTE] as $route ) {
280
+ if ( strncmp($route, $curActionName, strlen($route)) == 0 ) {
281
+ return 'subroute disabled';
282
+ }
283
+ }
284
+ }
285
 
286
  foreach ( $nocache[Litespeed_Litemage_Helper_Data::CFG_NOCACHE_URL] as $url ) {
287
  if (substr($url, -1) == '*') {
app/code/community/Litespeed/Litemage/controllers/EsiController.php CHANGED
@@ -194,6 +194,9 @@ class Litespeed_Litemage_EsiController extends Mage_Core_Controller_Front_Action
194
  return $out ;
195
  }
196
  try {
 
 
 
197
  $out = $block->toHtml() ;
198
  $tag = $esiData->getCacheAttribute('tag');
199
  if ( $tag == 'E.cart' || $tag == 'E.toplinks') {
@@ -219,6 +222,13 @@ class Litespeed_Litemage_EsiController extends Mage_Core_Controller_Front_Action
219
 
220
  return $out ;
221
  }
 
 
 
 
 
 
 
222
 
223
  // return esiUrl
224
  protected function _setOriginalReq()
@@ -477,6 +487,9 @@ class Litespeed_Litemage_EsiController extends Mage_Core_Controller_Front_Action
477
  {
478
  $data = $esiData->getData() ;
479
  $block = new $data['pc']() ;
 
 
 
480
  if ( isset($data['pt']) ) {
481
  $block->setTemplate($data['pt']) ;
482
  $out = $block->renderView() ;
194
  return $out ;
195
  }
196
  try {
197
+ if ($extra = $esiData->getData('extra')) {
198
+ $this->_setExtraBlockData($block, $extra);
199
+ }
200
  $out = $block->toHtml() ;
201
  $tag = $esiData->getCacheAttribute('tag');
202
  if ( $tag == 'E.cart' || $tag == 'E.toplinks') {
222
 
223
  return $out ;
224
  }
225
+
226
+ protected function _setExtraBlockData($block, $extra)
227
+ {
228
+ foreach($extra as $key => $value) {
229
+ $block->setData($key, $value);
230
+ }
231
+ }
232
 
233
  // return esiUrl
234
  protected function _setOriginalReq()
487
  {
488
  $data = $esiData->getData() ;
489
  $block = new $data['pc']() ;
490
+ if (isset($data['extra'])) {
491
+ $this->_setExtraBlockData($block, $data['extra']);
492
+ }
493
  if ( isset($data['pt']) ) {
494
  $block->setTemplate($data['pt']) ;
495
  $out = $block->renderView() ;
app/code/community/Litespeed/Litemage/etc/config.xml CHANGED
@@ -26,7 +26,7 @@
26
  <config>
27
  <modules>
28
  <Litespeed_Litemage>
29
- <version>1.3.0</version>
30
  </Litespeed_Litemage>
31
  </modules>
32
  <global>
@@ -494,7 +494,7 @@
494
  </warmup>
495
  <default>
496
  <!-- Full or partial match on controller full action name for cacheable routes. Space, return, and comma separated -->
497
- <cache_routes><![CDATA[catalog cms]]></cache_routes>
498
  <!-- Full or partial match on controller full action name for non-cacheable routes within cacheable routes. Space, return, and comma separated -->
499
  <nocache_subroutes><![CDATA[catalog_product_compare catalogsearch]]></nocache_subroutes>
500
  </default>
26
  <config>
27
  <modules>
28
  <Litespeed_Litemage>
29
+ <version>1.3.2</version>
30
  </Litespeed_Litemage>
31
  </modules>
32
  <global>
494
  </warmup>
495
  <default>
496
  <!-- Full or partial match on controller full action name for cacheable routes. Space, return, and comma separated -->
497
+ <cache_routes><![CDATA[catalog cms catalogsearch_term_popular]]></cache_routes>
498
  <!-- Full or partial match on controller full action name for non-cacheable routes within cacheable routes. Space, return, and comma separated -->
499
  <nocache_subroutes><![CDATA[catalog_product_compare catalogsearch]]></nocache_subroutes>
500
  </default>
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.3.0</label>
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.3.2</label>
31
  <sort_order>5000</sort_order>
32
  </Litespeed_Litemage>
33
  </tabs>
package.xml CHANGED
@@ -1,22 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>LiteSpeed_LiteMage</name>
4
- <version>1.3.1</version>
5
  <stability>stable</stability>
6
  <license uri="https://opensource.org/licenses/GPL-3.0 ">GPL v3</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>Major feature improvement: Improved first page load speed for new visitors. This feature requires LiteSpeed Web Server 5.1.10 or LiteSpeed Load Balancer 2.0.1&#xD;
12
- New feature: allow separate cache copies for each defined user group. &#xD;
13
- New feature: allow crawlers to warm a copy of the site for logged in users.&#xD;
14
- Improved generation of site urls.&#xD;
15
- Bug fix: Fixed a bug caused when ESI blocks have child blocks with special layout handles.</notes>
16
  <authors><author><name>LiteSpeed Technologies</name><user>LiteSpeedTech</user><email>lsong@litespeedtech.com</email></author></authors>
17
- <date>2016-11-05</date>
18
- <time>06:26:12</time>
19
- <contents><target name="magecommunity"><dir name="Litespeed"><dir name="Litemage"><dir name="Block"><dir name="Adminhtml"><dir name="Cache"><file name="Management.php" hash="126c636bebf6a1933f45781d6e95863d"/></dir><file name="ItemSave.php" hash="399a23c090fd92436793b1e0e38038a1"/></dir><dir name="Core"><file name="Dummy.php" hash="ae50751905056dd3eb34c3222d17a310"/><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="deba1efffd6449b6492bb13aaca4658b"/></dir></dir><dir name="Helper"><file name="Data.php" hash="56fc8147598fb889193351075227ff0b"/><file name="Esi.php" hash="36c61f5fac98d3a85e1433b410f49247"/><file name="Viewvary.php" hash="9dfe26a70510a1899f4dcde62d91a21d"/></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="f28a5381d6b79f71c054b3072973041b"/><file name="EnableDebugLog.php" hash="27d4b6030f564dfae8c89a84264b1175"/><file name="EnableWarmUp.php" hash="f44aafa2f6ba65a0e4926b7635ff264d"/><file name="FlushCategory.php" hash="b8017a1859b320f05af272f4d4e442e2"/></dir></dir><file name="EsiData.php" hash="1d2cea8ce32848472f1c999660647f19"/><file name="EsiLayout.php" hash="26bef4ee2a873ecb26ba7f292cfe0fd6"/><dir name="Layout"><file name="EsiUpdate.php" hash="3c98a2961b08f0acb3d334ab932eb397"/><file name="Master.php" hash="5eb57ba3677b76468ccf6f74741dcc63"/><file name="Update.php" hash="a72d4beb502803532af5d1ac2a06a06e"/></dir><dir name="Observer"><file name="Cron.php" hash="82f12d28ef80dff943417b5d997eea36"/><file name="Esi.php" hash="d7df22841837600414c5662e4616f6a4"/><file name="Purge.php" hash="84e83b6aa28a72a6c8b86b0656d2f022"/></dir><file name="Session.php" hash="558a80fb45a532af59727ae5657cd380"/><file name="Translate.php" hash="35326b8d2214f516d7dba82519902529"/></dir><dir name="controllers"><file name="AdminController.php" hash="549098ba10e19b066a6d52eab0f7bbb6"/><dir name="Adminhtml"><file name="LitemageCacheController.php" hash="506c63ddec598d39fa8a1dd1e58549d9"/></dir><file name="EsiController.php" hash="89b0432844ad4494c2609c373bc0e376"/></dir><dir name="etc"><file name="config.xml" hash="d80b5b9ba85203cf74971529dd5f0acd"/><file name="system.xml" hash="a33907fe781272f911c9a2c2a56c9781"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="litemage.xml" hash="f4dd1848120e353da9a84a7fd5565093"/></dir><dir name="template"><dir name="litemage"><file name="cache_management.phtml" hash="478836f2a9aa54e6d1e3fbf2164bbfcc"/><file name="category_save.phtml" hash="b29d102b8f90ce4da881a30efa3b2838"/><file name="product_save.phtml" hash="01863cb9acd33ca51db4f2a26e233eec"/></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><target name="mage"><dir name="shell"><file name="litemage_purge.php" hash="fbcc05832098dfbda5d30bfe24973fab"/></dir></target></contents>
20
  <compatible/>
21
  <dependencies><required><php><min>5.3.0</min><max>7.1.0</max></php></required></dependencies>
22
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>LiteSpeed_LiteMage</name>
4
+ <version>1.3.2</version>
5
  <stability>stable</stability>
6
  <license uri="https://opensource.org/licenses/GPL-3.0 ">GPL v3</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 bug when ajax response contains ESI block and the ESI urls was encoded by json output.</notes>
 
 
 
 
12
  <authors><author><name>LiteSpeed Technologies</name><user>LiteSpeedTech</user><email>lsong@litespeedtech.com</email></author></authors>
13
+ <date>2016-12-06</date>
14
+ <time>16:52:56</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="126c636bebf6a1933f45781d6e95863d"/></dir><file name="ItemSave.php" hash="399a23c090fd92436793b1e0e38038a1"/></dir><dir name="Core"><file name="Dummy.php" hash="ae50751905056dd3eb34c3222d17a310"/><file name="Esi.php" hash="f257f1214462984f13ea9b59aa321325"/><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="deba1efffd6449b6492bb13aaca4658b"/></dir></dir><dir name="Helper"><file name="Data.php" hash="c0052930b14b703a783d193b3f77c62e"/><file name="Esi.php" hash="9f9ff71626e9f92cf1abea36f6dc6011"/><file name="Viewvary.php" hash="9dfe26a70510a1899f4dcde62d91a21d"/></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="f28a5381d6b79f71c054b3072973041b"/><file name="EnableDebugLog.php" hash="27d4b6030f564dfae8c89a84264b1175"/><file name="EnableWarmUp.php" hash="f44aafa2f6ba65a0e4926b7635ff264d"/><file name="FlushCategory.php" hash="b8017a1859b320f05af272f4d4e442e2"/></dir></dir><file name="EsiData.php" hash="b5035683d77cf0840152e654dd431600"/><file name="EsiLayout.php" hash="26bef4ee2a873ecb26ba7f292cfe0fd6"/><dir name="Layout"><file name="EsiUpdate.php" hash="3c98a2961b08f0acb3d334ab932eb397"/><file name="Master.php" hash="5eb57ba3677b76468ccf6f74741dcc63"/><file name="Update.php" hash="a72d4beb502803532af5d1ac2a06a06e"/></dir><dir name="Observer"><file name="Cron.php" hash="82f12d28ef80dff943417b5d997eea36"/><file name="Esi.php" hash="9fd99d56cf3a68928c49198194c43e86"/><file name="Purge.php" hash="84e83b6aa28a72a6c8b86b0656d2f022"/></dir><file name="Session.php" hash="558a80fb45a532af59727ae5657cd380"/><file name="Translate.php" hash="35326b8d2214f516d7dba82519902529"/></dir><dir name="controllers"><file name="AdminController.php" hash="549098ba10e19b066a6d52eab0f7bbb6"/><dir name="Adminhtml"><file name="LitemageCacheController.php" hash="506c63ddec598d39fa8a1dd1e58549d9"/></dir><file name="EsiController.php" hash="caededa86a032af67b594ebb63c6e1ee"/></dir><dir name="etc"><file name="config.xml" hash="b43c42d919f6f2fec57d6cccc940f648"/><file name="system.xml" hash="51f2db730f6d5af87248ecd45ac53253"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="litemage.xml" hash="f4dd1848120e353da9a84a7fd5565093"/></dir><dir name="template"><dir name="litemage"><file name="cache_management.phtml" hash="478836f2a9aa54e6d1e3fbf2164bbfcc"/><file name="category_save.phtml" hash="b29d102b8f90ce4da881a30efa3b2838"/><file name="product_save.phtml" hash="01863cb9acd33ca51db4f2a26e233eec"/></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><target name="mage"><dir name="shell"><file name="litemage_purge.php" hash="fbcc05832098dfbda5d30bfe24973fab"/></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.3.0</min><max>7.1.0</max></php></required></dependencies>
18
  </package>