Wikka Mod 031
Type: Feature AdditionCredit:
NickK -- Credit for the idea. http://wakka.netdome.biz/WakkaChangelogJason Tourtelotte -- Credit for the coding.
Don't link to pages that the viewing user is not allowed to read in PageIndex and RecentChanges.
actions/pageindex.php
<?php
if ($pages = $this->LoadAllPages())
{
foreach ($pages as $page)
{
if (!preg_match("/^Comment/", $page["tag"])) {
$firstChar = strtoupper($page["tag"][0]);
if (!preg_match("/[A-Z,a-z]/", $firstChar)) {
$firstChar = "#";
}
if ($firstChar != $curChar) {
if ($curChar) print("<br />\n");
print("<strong>$firstChar</strong><br />\n");
$curChar = $firstChar;
}
if ($this->HasAccess("read", $page["tag"])) {
print($this->Link($page["tag"]));
}
else {
print($page["tag"]);
}
if ($page['owner'] != '')
{
if ($this->UserName() == $page['owner'])
print(" . . . . one of your pages.");
else {
if ($this->HasAccess("read", $page["owner"])) {
print(" . . . . Owner: ".$this->Format($page['owner']));
}
else {
print(" . . . . Owner: ".$page['owner']);
}
}
}
print("<br />\n");
}
}
}
else
{
print("<em>No pages found.</em>");
}
?>
if ($pages = $this->LoadAllPages())
{
foreach ($pages as $page)
{
if (!preg_match("/^Comment/", $page["tag"])) {
$firstChar = strtoupper($page["tag"][0]);
if (!preg_match("/[A-Z,a-z]/", $firstChar)) {
$firstChar = "#";
}
if ($firstChar != $curChar) {
if ($curChar) print("<br />\n");
print("<strong>$firstChar</strong><br />\n");
$curChar = $firstChar;
}
if ($this->HasAccess("read", $page["tag"])) {
print($this->Link($page["tag"]));
}
else {
print($page["tag"]);
}
if ($page['owner'] != '')
{
if ($this->UserName() == $page['owner'])
print(" . . . . one of your pages.");
else {
if ($this->HasAccess("read", $page["owner"])) {
print(" . . . . Owner: ".$this->Format($page['owner']));
}
else {
print(" . . . . Owner: ".$page['owner']);
}
}
}
print("<br />\n");
}
}
}
else
{
print("<em>No pages found.</em>");
}
?>
actions/recentchanges.php
<?php
if ($pages = $this->LoadRecentlyChanged())
{
print("<p><a href=\"".$this->href("", "xml/recentchanges_".preg_replace("/[^a-zA-Z0-9]/", "", strtolower($this->GetConfigValue("wakka_name"))).".xml")."\"><img src=\"".$this->href("", "images/xml.png")."\" width=\"36\" height=\"14\" alt=\"XML\" /></a></p>\n");
if ($user = $this->GetUser())
{
$max = $user["changescount"];
}
else
{
$max = 50;
}
foreach ($pages as $i => $page)
{
if (($i < $max) || !$max)
{
// day header
list($day, $time) = explode(" ", $page["time"]);
if ($day != $curday)
{
if ($curday) print("</p>\n");
print("<p><strong>$day:</strong><br /></p>\n<p class=\"recentchanges\">");
$curday = $day;
}
// print entry
if ($page[note]) $note=" <span class=\"pagenote\">[".$page["note"]."]</span>"; else $note ="";
if ($this->HasAccess("read", $page["tag"])) {
if ($this->HasAccess("read", $page["user"])) {
print("(".$page["time"].")(".$this->Link($page["tag"], "revisions", "history", 0).") ".$this->Link($page["tag"], "", "", 0)."⇒".$this->Format($page["user"])." ".$note."<br />");
}
else {
print("(".$page["time"].")(".$this->Link($page["tag"], "revisions", "history", 0).") ".$this->Link($page["tag"], "", "", 0)."⇒".$page["user"]." ".$note."<br />");
}
} else {
if ($this->HasAccess("read", $page["user"])) {
print("(".$page["time"].")(history) ".$page["tag"]."⇒".$this->Format($page["user"])." ".$note."<br />");
}
else {
print("(".$page["time"].")(history) ".$page["tag"]."⇒".$page["user"]." ".$note."<br />");
}
}
}
}
print "</p>\n";
}
?>
if ($pages = $this->LoadRecentlyChanged())
{
print("<p><a href=\"".$this->href("", "xml/recentchanges_".preg_replace("/[^a-zA-Z0-9]/", "", strtolower($this->GetConfigValue("wakka_name"))).".xml")."\"><img src=\"".$this->href("", "images/xml.png")."\" width=\"36\" height=\"14\" alt=\"XML\" /></a></p>\n");
if ($user = $this->GetUser())
{
$max = $user["changescount"];
}
else
{
$max = 50;
}
foreach ($pages as $i => $page)
{
if (($i < $max) || !$max)
{
// day header
list($day, $time) = explode(" ", $page["time"]);
if ($day != $curday)
{
if ($curday) print("</p>\n");
print("<p><strong>$day:</strong><br /></p>\n<p class=\"recentchanges\">");
$curday = $day;
}
// print entry
if ($page[note]) $note=" <span class=\"pagenote\">[".$page["note"]."]</span>"; else $note ="";
if ($this->HasAccess("read", $page["tag"])) {
if ($this->HasAccess("read", $page["user"])) {
print("(".$page["time"].")(".$this->Link($page["tag"], "revisions", "history", 0).") ".$this->Link($page["tag"], "", "", 0)."⇒".$this->Format($page["user"])." ".$note."<br />");
}
else {
print("(".$page["time"].")(".$this->Link($page["tag"], "revisions", "history", 0).") ".$this->Link($page["tag"], "", "", 0)."⇒".$page["user"]." ".$note."<br />");
}
} else {
if ($this->HasAccess("read", $page["user"])) {
print("(".$page["time"].")(history) ".$page["tag"]."⇒".$this->Format($page["user"])." ".$note."<br />");
}
else {
print("(".$page["time"].")(history) ".$page["tag"]."⇒".$page["user"]." ".$note."<br />");
}
}
}
}
print "</p>\n";
}
?>