http://www.mediawiki.org/wiki/Special:Code/MediaWiki/100507
Revision: 100507 Author: petrb Date: 2011-10-22 17:50:45 +0000 (Sat, 22 Oct 2011) Log Message: ----------- fixed timeout value Modified Paths: -------------- trunk/extensions/OnlineStatusBar/OnlineStatusBar.body.php trunk/extensions/OnlineStatusBar/OnlineStatusBar.php Modified: trunk/extensions/OnlineStatusBar/OnlineStatusBar.body.php =================================================================== --- trunk/extensions/OnlineStatusBar/OnlineStatusBar.body.php 2011-10-22 17:44:14 UTC (rev 100506) +++ trunk/extensions/OnlineStatusBar/OnlineStatusBar.body.php 2011-10-22 17:50:45 UTC (rev 100507) @@ -15,8 +15,6 @@ */ class OnlineStatusBar { - public static $Timeout = 8000; - private static function GetNow() { return gmdate('Ymdhis', time()); @@ -29,8 +27,7 @@ return '<div style="border: 0px solid black; background: transparent; float: right; position: relative; top:-3px; padding: 5px"><p><b>' . $text . ': <span style="color: ' . $color . '; font:bold;"><img alt="Ledorange.svg" src="//upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Ledorange.svg/20px-Ledorange.svg.png" width="20" height="20" />' . $wgOnlineStatusBarModes[$mode] . '</span></b></p></div>'; } - - static function UpdateDb($user, $db) + static function UpdateDb() { global $wgUser, $wgDBname, $wgOnlineStatusBarTable; if ( OnlineStatusBar::GetStatus($wgUser->getID()) != $OnlineStatusBar->DefaultOnline ) @@ -48,12 +45,29 @@ return false; } + + static function UpdateStatus() + { + global $wgUser, $wgDBname, $wgOnlineStatusBarDefaultOffline, $wgOnlineStatusBarTable; + $now = OnlineStatusBar::GetNow(); + if (OnlineStatusBar::GetStatus() != $wgOnlineStatusBarDefaultOffline) + { + OnlineStatusBar::UpdateDb(); + return true; + } + $db = wfGetDB ( DB_MASTER ); + $db->SelectDB( $wgDBname ); + $db->update($wgOnlineStatusBarTable, array ('timestamp' => $now), array ('username' => $wgUser->getName()), __METHOD__ ); + + return false; + } + public static function DeleteOld() { - global $wgOnlineStatusBarTable, $wgDBname; + global $wgOnlineStatusBarTable, $wgOnlineStatusBar_LogoutTime, $wgDBname; $db = wfGetDB ( DB_MASTER ); - $time = OnlineStatusBar::GetNow() - $Timeout; + $time = OnlineStatusBar::GetNow() - $wgOnlineStatusBar_LogoutTime; $db->SelectDB( $wgDBname ); $db->delete( $wgOnlineStatusBarTable, array( 'timestamp < "' . $time . '"' ) ,__METHOD__ ); return 0; Modified: trunk/extensions/OnlineStatusBar/OnlineStatusBar.php =================================================================== --- trunk/extensions/OnlineStatusBar/OnlineStatusBar.php 2011-10-22 17:44:14 UTC (rev 100506) +++ trunk/extensions/OnlineStatusBar/OnlineStatusBar.php 2011-10-22 17:50:45 UTC (rev 100507) @@ -82,6 +82,7 @@ function wfOnlineStatusBar_RenderBar(&$article, &$outputDone, &$pcache) { global $wgOnlineStatusBar_Template, $messages, $wgOnlineStatusBarModes, $wgOut; + OnlineStatusBar::UpdateStatus(); $ns=$article->getTitle()->getNamespace(); if(($ns == "3") || ($ns == "2")) { _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs