Version Notes
Added cached objects counter and statistics to the Cache Management page.
Fixed a bug that could result in a blank page after LiteMage installation.
Download this release
Release Info
Developer | LiteSpeed Technologies |
Extension | LiteSpeed_LiteMage |
Version | 1.1.2 |
Comparing to | |
See all releases |
Code changes from version 1.1.1 to 1.1.2
- app/code/community/Litespeed/Litemage/Block/Adminhtml/Cache/Management.php +44 -0
- app/code/community/Litespeed/Litemage/Helper/Esi.php +1 -4
- app/code/community/Litespeed/Litemage/Model/Observer/Cron.php +14 -4
- app/code/community/Litespeed/Litemage/Model/Observer/Purge.php +31 -7
- app/code/community/Litespeed/Litemage/etc/config.xml +1 -1
- app/code/community/Litespeed/Litemage/etc/system.xml +1 -1
- app/design/adminhtml/default/default/template/litemage/cache_management.phtml +42 -2
- package.xml +6 -5
app/code/community/Litespeed/Litemage/Block/Adminhtml/Cache/Management.php
CHANGED
@@ -48,6 +48,48 @@ class Litespeed_Litemage_Block_Adminhtml_Cache_Management extends Mage_Adminhtml
|
|
48 |
}
|
49 |
}
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
public function getCrawlerStatus()
|
52 |
{
|
53 |
$status = Mage::getModel( 'litemage/observer_cron' )->getCrawlerStatus();
|
@@ -71,4 +113,6 @@ class Litespeed_Litemage_Block_Adminhtml_Cache_Management extends Mage_Adminhtml
|
|
71 |
return Mage::app()->useCache('layout') && Mage::app()->useCache('config');
|
72 |
}
|
73 |
|
|
|
|
|
74 |
}
|
48 |
}
|
49 |
}
|
50 |
|
51 |
+
public function getCacheStatistics()
|
52 |
+
{
|
53 |
+
$statUri = '/__LSCACHE/STATS';
|
54 |
+
$base = Mage::getBaseUrl();
|
55 |
+
if ((stripos($base, 'http') !== false) && ($pos = strpos($base, '://'))) {
|
56 |
+
$pos2 = strpos($base, '/', $pos+ 4);
|
57 |
+
$statBase = ($pos2 === false) ? $base : substr($base, 0, $pos2);
|
58 |
+
}
|
59 |
+
$statUri = $statBase . $statUri;
|
60 |
+
|
61 |
+
$client = new Varien_Http_Client($statUri) ;
|
62 |
+
|
63 |
+
try {
|
64 |
+
$response = $client->request() ;
|
65 |
+
$data = trim($response->getBody());
|
66 |
+
if ($data{0} !== '{') {
|
67 |
+
return null;
|
68 |
+
}
|
69 |
+
|
70 |
+
$data1 = json_decode($data, true);
|
71 |
+
$data2 = array_values($data1);
|
72 |
+
if (count($data2)) {
|
73 |
+
$stats = $data2[0];
|
74 |
+
switch ($stats['LITEMAGE_PLAN']) {
|
75 |
+
case 11: $stats['plan'] = 'LiteMage Standard';
|
76 |
+
$stats['plan_desc'] = 'up to 25000 publicly cached objects';
|
77 |
+
break;
|
78 |
+
case 3: $stats['plan'] = 'LiteMage Unlimited';
|
79 |
+
$stats['plan_desc'] = 'unlimited publicly cached objects';
|
80 |
+
break;
|
81 |
+
case 9:
|
82 |
+
default:
|
83 |
+
$stats['plan'] = 'LiteMage Starter';
|
84 |
+
$stats['plan_desc'] = 'up to 1500 publicly cached objects';
|
85 |
+
}
|
86 |
+
return $stats;
|
87 |
+
}
|
88 |
+
} catch ( Exception $e ) {
|
89 |
+
}
|
90 |
+
return null;
|
91 |
+
}
|
92 |
+
|
93 |
public function getCrawlerStatus()
|
94 |
{
|
95 |
$status = Mage::getModel( 'litemage/observer_cron' )->getCrawlerStatus();
|
113 |
return Mage::app()->useCache('layout') && Mage::app()->useCache('config');
|
114 |
}
|
115 |
|
116 |
+
|
117 |
+
|
118 |
}
|
app/code/community/Litespeed/Litemage/Helper/Esi.php
CHANGED
@@ -62,9 +62,6 @@ class Litespeed_Litemage_Helper_Esi
|
|
62 |
{
|
63 |
$this->_config = Mage::helper('litemage/data');
|
64 |
$this->_isDebug = $this->_config->isDebug();
|
65 |
-
if (isset($_SERVER['LSCACHE_VARY_COOKIE'])) {
|
66 |
-
$this->_defaultEnvVaryCookie = $_SERVER['LSCACHE_VARY_COOKIE'];
|
67 |
-
}
|
68 |
}
|
69 |
|
70 |
public function isDebug()
|
@@ -328,7 +325,7 @@ class Litespeed_Litemage_Helper_Esi
|
|
328 |
|
329 |
if (isset($bconf['is_dynamic'])) {
|
330 |
$urlOptions['pc'] = $bconf['pc'];
|
331 |
-
if (!
|
332 |
$urlOptions['pt'] = $block->getTemplate();
|
333 |
}
|
334 |
}
|
62 |
{
|
63 |
$this->_config = Mage::helper('litemage/data');
|
64 |
$this->_isDebug = $this->_config->isDebug();
|
|
|
|
|
|
|
65 |
}
|
66 |
|
67 |
public function isDebug()
|
325 |
|
326 |
if (isset($bconf['is_dynamic'])) {
|
327 |
$urlOptions['pc'] = $bconf['pc'];
|
328 |
+
if (!is_null($block->getTemplate())) {
|
329 |
$urlOptions['pt'] = $block->getTemplate();
|
330 |
}
|
331 |
}
|
app/code/community/Litespeed/Litemage/Model/Observer/Cron.php
CHANGED
@@ -28,6 +28,7 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
28 |
const WARMUP_MAP_FILE = 'litemage_warmup_urlmap' ;
|
29 |
const WARMUP_META_CACHE_ID = 'litemage_warmup_meta' ;
|
30 |
const USER_AGENT = 'litemage_walker' ;
|
|
|
31 |
const ENV_COOKIE_NAME = '_lscache_vary' ;
|
32 |
|
33 |
protected $_meta ; // time, curfileline
|
@@ -47,7 +48,7 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
47 |
$helper = Mage::helper('litemage/data') ;
|
48 |
$this->_isDebug = $helper->isDebug() ;
|
49 |
if ($this->_isDebug) {
|
50 |
-
$this->_debugTag = 'LiteMage [
|
51 |
if (isset($_SERVER['USER']))
|
52 |
$this->_debugTag .= $_SERVER['USER'];
|
53 |
elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
|
@@ -175,7 +176,6 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
175 |
}
|
176 |
|
177 |
$options = array(
|
178 |
-
CURLOPT_USERAGENT => self::USER_AGENT,
|
179 |
CURLOPT_SSL_VERIFYPEER => 0,
|
180 |
CURLOPT_TIMEOUT => 180
|
181 |
);
|
@@ -189,9 +189,15 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
189 |
if ($curCookie) {
|
190 |
$curlOptions[CURLOPT_COOKIE] = $curCookie;
|
191 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
|
193 |
if ($this->_isDebug) {
|
194 |
-
$id = $this->_curList['id'];
|
195 |
$this->_debugLog('crawling ' . $id . ' urls (cur_pos:' . $this->_meta[$id]['curpos'] . ') with cookie ' . $curCookie . ' ' . print_r($urls, true));
|
196 |
}
|
197 |
|
@@ -455,6 +461,7 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
455 |
'gentime' => 0,
|
456 |
'listsize' => 0,
|
457 |
'env' => $storeInfo['env'],
|
|
|
458 |
'curpos' => 0,
|
459 |
'curvary' => '',
|
460 |
'queried' => 0,
|
@@ -525,6 +532,7 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
525 |
elseif (($m['endtime'] + $m['interval'] < $curtime)) {
|
526 |
// expired
|
527 |
$expired[$listId] = $m['priority'];
|
|
|
528 |
$tmpmsg = 'Run interval passed, will restart.';
|
529 |
}
|
530 |
else {
|
@@ -538,8 +546,10 @@ class Litespeed_Litemage_Model_Observer_Cron extends Varien_Event_Observer
|
|
538 |
$m['gentime'] = 0;
|
539 |
if ($m['endtime'] == 0)
|
540 |
$unfinished[$listId] = $m['priority'];
|
541 |
-
else
|
542 |
$expired[$listId] = $m['priority'];
|
|
|
|
|
543 |
}
|
544 |
}
|
545 |
else {
|
28 |
const WARMUP_MAP_FILE = 'litemage_warmup_urlmap' ;
|
29 |
const WARMUP_META_CACHE_ID = 'litemage_warmup_meta' ;
|
30 |
const USER_AGENT = 'litemage_walker' ;
|
31 |
+
const FAST_USER_AGENT = 'litemage_runner' ;
|
32 |
const ENV_COOKIE_NAME = '_lscache_vary' ;
|
33 |
|
34 |
protected $_meta ; // time, curfileline
|
48 |
$helper = Mage::helper('litemage/data') ;
|
49 |
$this->_isDebug = $helper->isDebug() ;
|
50 |
if ($this->_isDebug) {
|
51 |
+
$this->_debugTag = 'LiteMage [cron:';
|
52 |
if (isset($_SERVER['USER']))
|
53 |
$this->_debugTag .= $_SERVER['USER'];
|
54 |
elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
|
176 |
}
|
177 |
|
178 |
$options = array(
|
|
|
179 |
CURLOPT_SSL_VERIFYPEER => 0,
|
180 |
CURLOPT_TIMEOUT => 180
|
181 |
);
|
189 |
if ($curCookie) {
|
190 |
$curlOptions[CURLOPT_COOKIE] = $curCookie;
|
191 |
}
|
192 |
+
$id = $this->_curList['id'];
|
193 |
+
if (isset($this->_meta[$id]['ua'])) {
|
194 |
+
$curlOptions[CURLOPT_USERAGENT] = $this->_meta[$id]['ua'];
|
195 |
+
}
|
196 |
+
else {
|
197 |
+
$curlOptions[CURLOPT_USERAGENT] = self::FAST_USER_AGENT;
|
198 |
+
}
|
199 |
|
200 |
if ($this->_isDebug) {
|
|
|
201 |
$this->_debugLog('crawling ' . $id . ' urls (cur_pos:' . $this->_meta[$id]['curpos'] . ') with cookie ' . $curCookie . ' ' . print_r($urls, true));
|
202 |
}
|
203 |
|
461 |
'gentime' => 0,
|
462 |
'listsize' => 0,
|
463 |
'env' => $storeInfo['env'],
|
464 |
+
'ua' => self::FAST_USER_AGENT,
|
465 |
'curpos' => 0,
|
466 |
'curvary' => '',
|
467 |
'queried' => 0,
|
532 |
elseif (($m['endtime'] + $m['interval'] < $curtime)) {
|
533 |
// expired
|
534 |
$expired[$listId] = $m['priority'];
|
535 |
+
$m['ua'] = self::USER_AGENT;
|
536 |
$tmpmsg = 'Run interval passed, will restart.';
|
537 |
}
|
538 |
else {
|
546 |
$m['gentime'] = 0;
|
547 |
if ($m['endtime'] == 0)
|
548 |
$unfinished[$listId] = $m['priority'];
|
549 |
+
else {
|
550 |
$expired[$listId] = $m['priority'];
|
551 |
+
$m['ua'] = self::USER_AGENT;
|
552 |
+
}
|
553 |
}
|
554 |
}
|
555 |
else {
|
app/code/community/Litespeed/Litemage/Model/Observer/Purge.php
CHANGED
@@ -140,9 +140,9 @@ class Litespeed_Litemage_Model_Observer_Purge extends Varien_Event_Observer
|
|
140 |
$adminSession->addSuccess($config->__('Notified LiteSpeed web server to purge all cached items.')) ;
|
141 |
}
|
142 |
|
143 |
-
protected function _purgeTagByAdmin( $tags, $message = '' )
|
144 |
{
|
145 |
-
Mage::helper('litemage/esi')->setPurgeHeader($tags, 'purgeTagByAdmin') ;
|
146 |
if ( $message ) {
|
147 |
$this->_getAdminSession()->addSuccess(Mage::helper('litemage/data')->__('Notified LiteSpeed web server to purge ' . $message)) ;
|
148 |
}
|
@@ -184,7 +184,7 @@ class Litespeed_Litemage_Model_Observer_Purge extends Varien_Event_Observer
|
|
184 |
if ( Mage::helper('litemage/data')->moduleEnabled() ) {
|
185 |
$product = $eventObj->getEvent()->getProduct() ;
|
186 |
if ( $product != null ) {
|
187 |
-
$this->_purgeByProduct($product) ;
|
188 |
}
|
189 |
}
|
190 |
} catch ( Exception $e ) {
|
@@ -193,14 +193,38 @@ class Litespeed_Litemage_Model_Observer_Purge extends Varien_Event_Observer
|
|
193 |
}
|
194 |
|
195 |
// global cataloginventory_stock_item_save_after
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
public function purgeCatalogProductByStock( $eventObj )
|
197 |
{
|
198 |
try {
|
199 |
if ( Mage::helper('litemage/data')->moduleEnabled() ) {
|
200 |
$item = $eventObj->getEvent()->getItem() ;
|
201 |
-
|
|
|
|
|
|
|
|
|
|
|
202 |
$product = Mage::getModel('catalog/product')->load($item->getProductId());
|
203 |
-
$this->_purgeByProduct($product) ;
|
204 |
}
|
205 |
}
|
206 |
} catch ( Exception $e ) {
|
@@ -227,7 +251,7 @@ class Litespeed_Litemage_Model_Observer_Purge extends Varien_Event_Observer
|
|
227 |
}
|
228 |
}
|
229 |
|
230 |
-
protected function _purgeByProduct( $product )
|
231 |
{
|
232 |
$productId = $product->getId() ;
|
233 |
if ( $this->_curProductId == $productId )
|
@@ -271,7 +295,7 @@ class Litespeed_Litemage_Model_Observer_Purge extends Varien_Event_Observer
|
|
271 |
$tags[] = Litespeed_Litemage_Helper_Esi::TAG_PREFIX_CATEGORY . $cid ;
|
272 |
}
|
273 |
|
274 |
-
$this->_purgeTagByAdmin($tags, $product->getName()) ;
|
275 |
}
|
276 |
|
277 |
/* protected function _addDelta($urls)
|
140 |
$adminSession->addSuccess($config->__('Notified LiteSpeed web server to purge all cached items.')) ;
|
141 |
}
|
142 |
|
143 |
+
protected function _purgeTagByAdmin( $tags, $message = '', $reason ='' )
|
144 |
{
|
145 |
+
Mage::helper('litemage/esi')->setPurgeHeader($tags, 'purgeTagByAdmin ' . $reason) ;
|
146 |
if ( $message ) {
|
147 |
$this->_getAdminSession()->addSuccess(Mage::helper('litemage/data')->__('Notified LiteSpeed web server to purge ' . $message)) ;
|
148 |
}
|
184 |
if ( Mage::helper('litemage/data')->moduleEnabled() ) {
|
185 |
$product = $eventObj->getEvent()->getProduct() ;
|
186 |
if ( $product != null ) {
|
187 |
+
$this->_purgeByProduct($product, 'adminPurgeCatalogProduct') ;
|
188 |
}
|
189 |
}
|
190 |
} catch ( Exception $e ) {
|
193 |
}
|
194 |
|
195 |
// global cataloginventory_stock_item_save_after
|
196 |
+
public function purgeCatalogProductByStock_orig( $eventObj )
|
197 |
+
{
|
198 |
+
try {
|
199 |
+
if ( Mage::helper('litemage/data')->moduleEnabled() ) {
|
200 |
+
$item = $eventObj->getEvent()->getItem() ;
|
201 |
+
if ( $item->getStockStatusChangedAutomatically() || ($item->getOriginalInventoryQty() <= 0 && $item->getQty() > 0 && $item->getQtyCorrection() > 0) ) {
|
202 |
+
$product = Mage::getModel('catalog/product')->load($item->getProductId());
|
203 |
+
$this->_purgeByProduct($product, 'purgeCatalogProductByStock') ;
|
204 |
+
Mage::helper('litemage/data')->debugMesg("in cataloginventory_stock_item_save_after with qy change");
|
205 |
+
}
|
206 |
+
else {
|
207 |
+
Mage::helper('litemage/data')->debugMesg("in cataloginventory_stock_item_save_after -- no change");
|
208 |
+
}
|
209 |
+
}
|
210 |
+
} catch ( Exception $e ) {
|
211 |
+
Mage::helper('litemage/data')->debugMesg('Error on purgeCatalogProductByStock: ' . $e->getMessage()) ;
|
212 |
+
}
|
213 |
+
}
|
214 |
+
|
215 |
public function purgeCatalogProductByStock( $eventObj )
|
216 |
{
|
217 |
try {
|
218 |
if ( Mage::helper('litemage/data')->moduleEnabled() ) {
|
219 |
$item = $eventObj->getEvent()->getItem() ;
|
220 |
+
|
221 |
+
if ( $item->getStockStatusChangedAutomatically() ) {
|
222 |
+
$product = Mage::getModel('catalog/product')->load($item->getProductId());
|
223 |
+
$this->_purgeByProduct($product, 'purgeCatalogProductByStock - getStockStatusChangedAutomatically') ;
|
224 |
+
}
|
225 |
+
else if ($item->getOriginalInventoryQty() <= 0 && $item->getQty() > 0 && $item->getQtyCorrection() > 0 ) {
|
226 |
$product = Mage::getModel('catalog/product')->load($item->getProductId());
|
227 |
+
$this->_purgeByProduct($product, 'purgeCatalogProductByStock - qty ') ;
|
228 |
}
|
229 |
}
|
230 |
} catch ( Exception $e ) {
|
251 |
}
|
252 |
}
|
253 |
|
254 |
+
protected function _purgeByProduct( $product, $reason )
|
255 |
{
|
256 |
$productId = $product->getId() ;
|
257 |
if ( $this->_curProductId == $productId )
|
295 |
$tags[] = Litespeed_Litemage_Helper_Esi::TAG_PREFIX_CATEGORY . $cid ;
|
296 |
}
|
297 |
|
298 |
+
$this->_purgeTagByAdmin($tags, $product->getName(), $reason) ;
|
299 |
}
|
300 |
|
301 |
/* protected function _addDelta($urls)
|
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.2</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.2</label>
|
31 |
<sort_order>5000</sort_order>
|
32 |
</Litespeed_Litemage>
|
33 |
</tabs>
|
app/design/adminhtml/default/default/template/litemage/cache_management.phtml
CHANGED
@@ -38,8 +38,48 @@ if ($this->canShowButton()):
|
|
38 |
<li class="error-msg">LiteMage extension requires Configuration and Layouts cache types to be enabled. It will not function properly with these settings disabled.
|
39 |
</li></ul></div>';
|
40 |
}
|
41 |
-
?>
|
42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
<table class="form-list">
|
44 |
<tr>
|
45 |
<td class="scope-label">
|
@@ -104,7 +144,7 @@ if ($status = $this->getCrawlerStatus()) : ?>
|
|
104 |
</div>
|
105 |
</form>
|
106 |
|
107 |
-
<div class="grid"><div class="hor-scroll"><table>
|
108 |
<tr class="headings">
|
109 |
<th class="no-link a-center"><?php echo $lmhelper->__('Warm-up List')
|
110 |
. '<br><a href="' . $status['url_reset'] . '" class="form-button" title="Click to reset all crawler queues">' . $lmhelper->__('Reset All') . '</a>'; ?>
|
38 |
<li class="error-msg">LiteMage extension requires Configuration and Layouts cache types to be enabled. It will not function properly with these settings disabled.
|
39 |
</li></ul></div>';
|
40 |
}
|
|
|
41 |
|
42 |
+
|
43 |
+
if ($stats = $this->getCacheStatistics()) {
|
44 |
+
?>
|
45 |
+
|
46 |
+
<div class="grid"><div><table cellspacing="0" class="data">
|
47 |
+
<tr class="headings">
|
48 |
+
<th class="no-link a-center"><?php echo $lmhelper->__('LiteMage Cache Statistics')
|
49 |
+
. '<br>' . $lmhelper->__('Current Plan'); ?>
|
50 |
+
</th>
|
51 |
+
<th class="no-link a-right"><?php echo $lmhelper->__('Public Cache Hits')
|
52 |
+
. ' <br>' . $lmhelper->__('Private Cache Hits'); ?></th>
|
53 |
+
<th class="no-link a-right"><?php echo $lmhelper->__('Full Page Hits')
|
54 |
+
. '<br>' . $lmhelper->__('Partial Page Hits'); ?></th>
|
55 |
+
<th class="no-link a-right"><?php echo $lmhelper->__('LiteMage Cached Objects') . '<br>' . $lmhelper->__('Limited by Plan'); ?></th>
|
56 |
+
</tr>
|
57 |
+
<?php
|
58 |
+
//$buf = (($i % 2) == 0) ? '<tr class="even">' : '<tr>';
|
59 |
+
$buf = '<tr class="even"><td class="a-center">' . $stats['plan'] . '<br>(' . $stats['plan_desc']
|
60 |
+
. ') <div class="a-right field-tooltip"><div>Available Plans:<hr>LiteMage Starter (1,500 publicly cached objects)<br>LiteMage Standard (25,000 publicly cached objects)<br>LiteMage Unlimited</div></div></td>'
|
61 |
+
. '<td class="a-right">' . $stats['PUB_HITS']
|
62 |
+
. ' <div class="a-left field-tooltip"><div>Number of requests that hit public cache since last flush all</div></div><br>'
|
63 |
+
. $stats['PVT_HITS']
|
64 |
+
. ' <div class="a-left field-tooltip"><div>Number of requests that hit private cache since last flush all</div></div></td>'
|
65 |
+
. '<td class="a-right">' . $stats['FULLPAGE_HITS']
|
66 |
+
. ' <div class="a-left field-tooltip"><div>Number of requests fully served from cache (no PHP invoked) since last flush all</div></div><br>'
|
67 |
+
. $stats['PARTIAL_HITS']
|
68 |
+
. ' <div class="a-left field-tooltip"><div>Number of requests partially served from cache (some data retrieved from Magento) since last flush all</div></div></td>'
|
69 |
+
. '<td class="a-right">' . $stats['LITEMAGE_OBJS']
|
70 |
+
. ' <div class="a-left field-tooltip"><div>Current LiteMage cached object count</div></div><br>'
|
71 |
+
. $stats['LITEMAGE_LIMITED']
|
72 |
+
. ' <div class="a-left field-tooltip"><div>Number of requests not served from cache due to plan limitation</div></div></td>'
|
73 |
+
. "</tr>\n";
|
74 |
+
echo $buf;
|
75 |
+
|
76 |
+
?>
|
77 |
+
|
78 |
+
</table>
|
79 |
+
</div></div>
|
80 |
+
<?php
|
81 |
+
}
|
82 |
+
?>
|
83 |
<table class="form-list">
|
84 |
<tr>
|
85 |
<td class="scope-label">
|
144 |
</div>
|
145 |
</form>
|
146 |
|
147 |
+
<div class="grid"><div class="hor-scroll"><table cellspacing="0" >
|
148 |
<tr class="headings">
|
149 |
<th class="no-link a-center"><?php echo $lmhelper->__('Warm-up List')
|
150 |
. '<br><a href="' . $status['url_reset'] . '" class="form-button" title="Click to reset all crawler queues">' . $lmhelper->__('Reset All') . '</a>'; ?>
|
package.xml
CHANGED
@@ -1,18 +1,19 @@
|
|
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 |
<authors><author><name>LiteSpeed Technologies</name><user>LiteSpeedTech</user><email>lsong@litespeedtech.com</email></author></authors>
|
13 |
-
<date>2016-
|
14 |
-
<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="
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.3.0</min><max>7.1.0</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>LiteSpeed_LiteMage</name>
|
4 |
+
<version>1.1.2</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>Added cached objects counter and statistics to the Cache Management page.
|
12 |
+
Fixed a bug that could result in a blank page after LiteMage installation.</notes>
|
13 |
<authors><author><name>LiteSpeed Technologies</name><user>LiteSpeedTech</user><email>lsong@litespeedtech.com</email></author></authors>
|
14 |
+
<date>2016-06-17</date>
|
15 |
+
<time>18:40:32</time>
|
16 |
+
<contents><target name="magecommunity"><dir name="Litespeed"><dir name="Litemage"><dir name="Block"><dir name="Adminhtml"><dir name="Cache"><file name="Management.php" hash="c84719997fb95a4f0cff711f20de08bd"/></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="c8223dd743cfadacb811bbc4e46aa487"/><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="f62a6d3778b9f7678dc58cac5b580cdb"/><file name="Esi.php" hash="916293a6e45da6d2f2663a9f3908e4e8"/><file name="Purge.php" hash="4945c3659507ec3d00390a6273287899"/></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="b105a16dd71e90295ed4c37a817fdaed"/><file name="system.xml" hash="3a4e5fa00857741522977101b1ad696b"/></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="17f174bf28b463d13938e4ac42678260"/></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>
|
17 |
<compatible/>
|
18 |
<dependencies><required><php><min>5.3.0</min><max>7.1.0</max></php></required></dependencies>
|
19 |
</package>
|