Last Edit Action
In order to avoid clicking on RecentChanges to know who edited a page and why,
here's an action which prints short lastedit infos in the page body:
Usage {{lastedit}}
Optional parameter: show
{{lastedit show="0"}} show user only
Last edited by JavaWoman
{{lastedit}} or {{lastedit show="1"}} show user and notes (default)
Last edited by JavaWoman:
Modified links pointing to docs server
Modified links pointing to docs server
{{lastedit show="2"}} show user, notes, date
Last edited by JavaWoman:
Modified links pointing to docs server
Mon, 28 Jan 2008 00:11 UTC
Modified links pointing to docs server
Mon, 28 Jan 2008 00:11 UTC
{{lastedit show="3"}} show user, notes, date and quickdiff link
actions/lastedit.php
<?php
// Prints short infos on last edit
// Uses parameter: show
// 0 show user only
// 1 show user and notes
// 2 show user, notes, date
// 3 show user, notes, date and quickdiff link
// set default
if ($show == "") {$show="1";}
if ($this->method == "show") {
$page = $this->page;
$pagetag = $page["tag"];
$user = ($this->LoadUser($page["user"]))? $this->Link($page["user"]) : "anonymous";
if (!($show == 0)) {
$note = ($page["note"])? ":<br/><span class=\"notes\">".$page["note"]."</span>" : "";
}
if ($show == 2 || $show == 3) {
list($day, $time) = explode(" ", $page["time"]);
$dateformatted = date("D, d M Y", strtotime($day));
$timeformatted = date("H:i T", strtotime($page["time"]));
}
if ($show == 3) {
$oldpage = $this->LoadSingle("SELECT * FROM ".$this->config["table_prefix"]."pages WHERE tag='".$this->GetPageTag()."' AND latest = 'N' ORDER BY time desc LIMIT 1");
$newid = $page["id"];
$oldid = $oldpage["id"];
$difflink = " [<a title=\"Show differences from last version\" href=\"".$this->Href("diff", $pagetag, "a=".$page["id"]."&b=".$oldpage["id"]."&fastdiff=1")."\">diff</a>]";
}
$output = "<div class=\"lastedit\">Last edited by ".$user.$note."<br /> ".$dateformatted." ".$timeformatted.$difflink."</div>";
print $output;
}
?>
// Prints short infos on last edit
// Uses parameter: show
// 0 show user only
// 1 show user and notes
// 2 show user, notes, date
// 3 show user, notes, date and quickdiff link
// set default
if ($show == "") {$show="1";}
if ($this->method == "show") {
$page = $this->page;
$pagetag = $page["tag"];
$user = ($this->LoadUser($page["user"]))? $this->Link($page["user"]) : "anonymous";
if (!($show == 0)) {
$note = ($page["note"])? ":<br/><span class=\"notes\">".$page["note"]."</span>" : "";
}
if ($show == 2 || $show == 3) {
list($day, $time) = explode(" ", $page["time"]);
$dateformatted = date("D, d M Y", strtotime($day));
$timeformatted = date("H:i T", strtotime($page["time"]));
}
if ($show == 3) {
$oldpage = $this->LoadSingle("SELECT * FROM ".$this->config["table_prefix"]."pages WHERE tag='".$this->GetPageTag()."' AND latest = 'N' ORDER BY time desc LIMIT 1");
$newid = $page["id"];
$oldid = $oldpage["id"];
$difflink = " [<a title=\"Show differences from last version\" href=\"".$this->Href("diff", $pagetag, "a=".$page["id"]."&b=".$oldpage["id"]."&fastdiff=1")."\">diff</a>]";
}
$output = "<div class=\"lastedit\">Last edited by ".$user.$note."<br /> ".$dateformatted." ".$timeformatted.$difflink."</div>";
print $output;
}
?>
Mods by JsnX:
- Removed the line that loaded the current page. The current page is already loaded and stored in $this->page.
- Moved test for show method to beginning. There's no point in running through the code if we're not going to do anything.
- Oops, thanks: I had made both corrections on my machine and forgot to post the modifications :)
CategoryDevelopmentActions