PmWiki | Cookbook / Delta Bytes in Recent Changes (original) (raw)

Summary: Display the number of bytes (characters) added or deleted to a page in RecentChanges.

Version: 24 February 2007

Prerequisites:

Status:

License: PD

Note: A feature like the one described in this page will be included in PmWiki 2.2.119. To enable it, see $EnableRCDiffBytes.

How can the RecentChanges pages display the amount of bytes (characters) added or deleted to a page? Like it is done in Wikipedia?

Description

Display the number of bytes (characters) added or deleted to a page in RecentChanges.

You can use such a function (add it in your (farm)config.php):

before 2.3.24:

array_unshift($EditFunctions, "DeltaPageSize");

since 2.3.24:

InsertEditFunction("DeltaPageSize", '>SaveChangeSummary'); function DeltaPageSize($pagename,&$page,&$new) { global EnablePost,EnablePost, EnablePost,ChangeSummary, $Now; if (!$EnablePost) return; delta=strlen(delta = strlen(delta=strlen(new['text']) - strlen($page['text']); if($delta>0) delta="+delta = "+delta="+delta"; new[′csum′].="(new['csum'] .= " (new[csum].="(delta)"; new["csum:new["csum:new["csum:Now"] .= " ($delta)"; ChangeSummary.="(ChangeSummary .= " (ChangeSummary.="(delta)"; }

A sample output of this recipe would be:

Variant with colored delta numbers

This variant displays important deletions in red, important additions in green and in bold.

before 2.3.24:

array_unshift($EditFunctions, "DeltaPageSize");

since 2.3.24:

InsertEditFunction("DeltaPageSize", '>SaveChangeSummary'); function DeltaPageSize($pagename,&$page,&$new) { global EnablePost,EnablePost, EnablePost,ChangeSummary, $Now; if (!$EnablePost) return; delta=strlen(delta = strlen(delta=strlen(new['text']) - strlen($page['text']); span=span = span=_span = $bold = ''; if(abs($delta) > 500 )$bold = "'''"; if($delta<-500) $span="purple"; elseif($delta<-100)$span="red"; elseif($delta==0) $span="gray"; elseif($delta>100)$span="green"; if($span){$span="=]%$span%"; $_span="%%[=";} if($delta>0) delta="+delta = "+delta="+delta"; new[′csum′].="(new['csum'] .= " (new[csum].="(delta)"; new["csum:new["csum:new["csum:Now"] .= " ($delta)"; ChangeSummary.="(ChangeSummary .= " (ChangeSummary.="(span$bold$delta$bold$_span)"; }

Notes

Release Notes

See Also

Contributors

Comments

See discussion at DeltaBytesRecentChanges-Talk

User notes +1: If you use, used or reviewed this recipe, you can add your name. These statistics appear in the Cookbook listings and will help newcomers browsing through the wiki.