From 5aa52fafe8be8e728c0d2c9ff12c999e80766127 Mon Sep 17 00:00:00 2001 From: Ben Coburn Date: Thu, 7 Dec 2006 04:28:25 +0100 Subject: identify external edits in UI Some changes to clearly identify when wiki pages have been edited outside Dokuwiki. Also correctly attributes external changes from an unknown author. Avoids sending extra emails when recording old external edits. Adds a new language string: $lang['external_edit'] darcs-hash:20061207032825-05dcb-3234bee57cb165c848b33abb9251502589b0f3cb.gz --- inc/changelog.php | 10 +++++++--- inc/common.php | 5 +---- inc/html.php | 2 +- inc/lang/en/lang.php | 1 + inc/template.php | 2 ++ 5 files changed, 12 insertions(+), 8 deletions(-) (limited to 'inc') diff --git a/inc/changelog.php b/inc/changelog.php index 85de8e2aa..43d18f148 100644 --- a/inc/changelog.php +++ b/inc/changelog.php @@ -33,9 +33,13 @@ function parseChangelogLine($line) { * @author Esther Brunner * @author Ben Coburn */ -function addLogEntry($date, $id, $type='E', $summary='', $extra=''){ +function addLogEntry($date, $id, $type='E', $summary='', $extra='', $flags=null){ global $conf, $INFO; + // check for special flags as keys + if (!is_array($flags)) { $flags = array(); } + $flagExternalEdit = isset($flags['ExternalEdit']); + $id = cleanid($id); $file = wikiFN($id); $created = @filectime($file); @@ -43,8 +47,8 @@ function addLogEntry($date, $id, $type='E', $summary='', $extra=''){ $wasRemoved = ($type==='D'); if(!$date) $date = time(); //use current time if none supplied - $remote = $_SERVER['REMOTE_ADDR']; - $user = $_SERVER['REMOTE_USER']; + $remote = (!$flagExternalEdit)?$_SERVER['REMOTE_ADDR']:'127.0.0.1'; + $user = (!$flagExternalEdit)?$_SERVER['REMOTE_USER']:''; $strip = array("\t", "\n"); $logline = array( diff --git a/inc/common.php b/inc/common.php index 26a0526b8..93e2df34f 100644 --- a/inc/common.php +++ b/inc/common.php @@ -736,10 +736,7 @@ function saveWikiText($id,$text,$summary,$minor=false){ saveOldRevision($id); // add a changelog entry if this edit came from outside dokuwiki if ($old>$oldRev) { - addLogEntry($old, $id); - // send notify mails - notify($id,'admin',$oldRev,'',false); - notify($id,'subscribers',$oldRev,'',false); + addLogEntry($old, $id, 'E', $lang['external_edit'], '', array('ExternalEdit'=>true)); // remove soon to be stale instructions $cache = new cache_instructions($id, $file); $cache->removeCache(); diff --git a/inc/html.php b/inc/html.php index d5a7a232e..dc11b17d7 100644 --- a/inc/html.php +++ b/inc/html.php @@ -481,7 +481,7 @@ function html_revisions($first=0){ print ' – '; print $INFO['sum']; print ' '; - print $INFO['editor']; + print (empty($INFO['editor']))?('('.$lang['external_edit'].')'):$INFO['editor']; print ' '; print '('.$lang['current'].')'; diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 2a28b720a..27211605a 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -131,6 +131,7 @@ $lang['by'] = 'by'; $lang['deleted'] = 'removed'; $lang['created'] = 'created'; $lang['restored'] = 'old revision restored'; +$lang['external_edit'] = 'external edit'; $lang['summary'] = 'Edit summary'; $lang['mail_newpage'] = 'page added:'; diff --git a/inc/template.php b/inc/template.php index 27923f404..fc351e939 100644 --- a/inc/template.php +++ b/inc/template.php @@ -761,6 +761,8 @@ function tpl_pageinfo(){ if($INFO['editor']){ print ' '.$lang['by'].' '; print $INFO['editor']; + }else{ + print ' ('.$lang['external_edit'].')'; } if($INFO['locked']){ print ' · '; -- cgit v1.2.3