'HandlePendingChanges')); SDVA($HandleAuth, array('pending' => 'read')); SDVA($HTMLStylesFmt, array('PendingChanges'=>'#pendingchanges {background-color: #ff8; cursor: pointer;}')); XLSDV('en',array( 'PendingChanges' => '(%s) Pending changes, click to reload.', 'EnableDesktopNotifications' => 'Enable desktop notifications', )); Markup('PendingChanges', '>include', '/\\(:pendingchanges( .+?)?:\\)/', 'FmtPendingChanges'); SDVA($PendingChanges, array( 'delayminutes' => 5, 'querySelector' => '#wikitext', 'where' => 'afterbegin', 'page-override' => array('Site.AllRecentChangesShort' => 'Site.AllRecentChanges'), 'script' => ' ', )); function FmtPendingChanges($m) { global $HTMLHeaderFmt, $PendingChanges, $PCache; extract($GLOBALS['MarkupToHTML']); $pn = IsEnabled($PendingChanges['page-override'][$pagename], $pagename); if(! isset($PCache[$pn]['rev'])) { $page = RetrieveAuthPage($pn, 'read', false, READPAGE_CURRENT); PCache($pn, $page); } $out = array( 'rev' => $PCache[$pn]['rev'], 'text' => sprintf(XL('PendingChanges'), ''), 'enable' => XL('EnableDesktopNotifications'), 'delayminutes' => $PendingChanges['delayminutes'], 'querySelector' => $PendingChanges['querySelector'], 'where' => $PendingChanges['where'], 'url' => FmtPageName('{$PageUrl}?action=pending', $pagename) ); $script = sprintf($PendingChanges['script'], json_encode($out)); SDVA($HTMLHeaderFmt, array('PendingChanges'=>$script)); return ''; } function HandlePendingChanges($pagename, $auth='read') { global $PendingChanges; $pn = IsEnabled($PendingChanges['page-override'][$pagename], $pagename); $page = RetrieveAuthPage($pn, $auth, false, READPAGE_CURRENT); header('Content-Type: text/plain'); echo intval(@$page['rev']); exit; }