'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;
}