Wikka Mod 041
Type: Feature AdditionCredit
Mark Kasper and GmBowen (main credit for the idea and initial code)AHerdOfTurtles (for helping me see that this is a cool idea)
Jason Tourtelotte (major refinement to the code -- almost a complete rewrite)
Description
This modification adds the ability to show an index listing of pages that start with a certain letter. There is also an alphabetical heading at the top of each listing. Just click a letter to see pages that start with that letter.
For example:
Usage:
{{pageindex letter="d"}}Outcome:
Page Index
This is an alphabetical list of pages you can read on this server.
R
RadioGrraphie [RadioGrraphie] . . . . Owner: GrrAdmin
RaffaelePaparella [RaffaelePaparella] . . . . Owner: RaffaelePaparella
RaffaR [RaffaR] . . . . Owner: RaffaR
RajkoAlbrecht [RajkoAlbrecht] . . . . Owner: RajkoAlbrecht
RalfLehmann [RalfLehmann] . . . . Owner: RalfLehmann
RalphThesen [RalphThesen] . . . . Owner: RalphThesen
RamWo [RamWo] . . . . Owner: RamWo
RandomCommentGenerator [RandomCommentGenerator] . . . . Owner: BrianKoontz
RandomMail [RandomMail] . . . . Owner: PaulBelgian
RasheqRahman [RasheqRahman] . . . . Owner: RasheqRahman
ReCaptchaCommentForm [ReCaptchaCommentForm] . . . . Owner: KlenWell
RecaptchaRegistration [RecaptchaRegistration] . . . . Owner: KlenWell
RecentChanges [RecentChanges]
RecentChangesAction [RecentChangesAction] . . . . Owner: NilsLindenberg
RecentChangesActionInfo [RecentChangesActionInfo] . . . . Owner: NilsLindenberg
RecentChangesNotifier [RecentChangesNotifier] . . . . Owner: KlenWell
RecentChangesPlus [RecentChangesPlus] . . . . Owner: FernandoBorcel
RecentChangesWithNoRSS [RecentChangesWithNoRSS] . . . . Owner: BrianKoontz
RecentComments [RecentComments]
RecentCommentsActionInfo [RecentCommentsActionInfo] . . . . Owner: NilsLindenberg
RecentlyChangedActionInfo [RecentlyChangedActionInfo] . . . . Owner: NilsLindenberg
RecentlyCommented [RecentlyCommented]
RecentlyCommentedActionInfo [RecentlyCommentedActionInfo] . . . . Owner: NilsLindenberg
RedArmy [RedArmy] . . . . Owner: RedArmy
RedFoot [RedFoot] . . . . Owner: RedFoot
RedirectingPages [RedirectingPages] . . . . Owner: DreckFehler
RedirectOnLogin [RedirectOnLogin] . . . . Owner: DarTar
RefactorWiki [RefactorWiki] . . . . Owner: MarkHissinkMuller
ReferrersInfo [ReferrersInfo]
ReferrersLink [ReferrersLink] . . . . Owner: EmeraldIsland
ReferrersLinkInfo [ReferrersLinkInfo] . . . . Owner: BrianKoontz
RegEx [RegEx] . . . . Owner: BrianKoontz
RegexLibrary [RegexLibrary] . . . . Owner: DarTar
RegExp [RegExp] . . . . Owner: BrianKoontz
RegexpindexAction [RegexpindexAction] . . . . Owner: DomBonj
RegexpindexActionInfo [RegexpindexActionInfo] . . . . Owner: DomBonj
RegisterAction [RegisterAction] . . . . Owner: DarTar
RegisterActionTest [RegisterActionTest] . . . . Owner: DarTar
RegisterInfo [RegisterInfo]
RegisterInfoES [RegisterInfoES] . . . . Owner: YanB
RegisterInfoFR [RegisterInfoFR] . . . . Owner: Pierre79
RegisterUserIpAddress [RegisterUserIpAddress] . . . . Owner: JavaWoman
RelatedPagesAction [RelatedPagesAction] . . . . Owner: SocksFan
RelocatingWikka [RelocatingWikka] . . . . Owner: JavaWoman
RemovingUsers [RemovingUsers] . . . . Owner: DarTar
RenatoSabbatini [RenatoSabbatini] . . . . Owner: RenatoSabbatini
ReplaceAction [ReplaceAction] . . . . Owner: OnegWR
RESTHandler [RESTHandler] . . . . Owner: DomBonj
RESTHandlerInfo [RESTHandlerInfo] . . . . Owner: DomBonj
RetrieveInfo [RetrieveInfo]
RetrieveInfoFR [RetrieveInfoFR] . . . . Owner: PivWan
RevWiki [RevWiki] . . . . Owner: RevWiki
RicardoPedroso [RicardoPedroso] . . . . Owner: RicardoPedroso
RichArd [RichArd] . . . . Owner: RichArd
RichardBerg [RichardBerg] . . . . Owner: RichardBerg
RichardGagnon [RichardGagnon] . . . . Owner: RichardGagnon
RichardMartinNielsen [RichardMartinNielsen] . . . . Owner: RichardMartinNielsen
RichardTerry [RichardTerry] . . . . Owner: RichardTerry
RickBojahra [RickBojahra] . . . . Owner: RickBojahra
RobD [RobD] . . . . Owner: RobD
RobertDaeley [RobertDaeley] . . . . Owner: RobertDaeley
RobertLeckie [RobertLeckie] . . . . Owner: RobertLeckie
RobertLender [RobertLender] . . . . Owner: RobertLender
RobertoG [RobertoG] . . . . Owner: RobertoG
RobertParker [RobertParker] . . . . Owner: RobertParker
RobertSharp [RobertSharp] . . . . Owner: RobertSharp
RobertVaeth [RobertVaeth] . . . . Owner: RobertVaeth
RobinW [RobinW] . . . . Owner: RobinW
RobotFriendly [RobotFriendly] . . . . Owner: BarkerJr
RobotMachine [RobotMachine] . . . . Owner: RobotMachine
RobotsDotTxt [RobotsDotTxt] . . . . Owner: DotMG
RodMcFarland [RodMcFarland] . . . . Owner: RodMcFarland
RodMcFarlandHacks [RodMcFarlandHacks] . . . . Owner: BrianKoontz
RogerD [RogerD] . . . . Owner: RogerD
RogereNsysu [RogereNsysu] . . . . Owner: RogereNsysu
RolandStens [RolandStens] . . . . Owner: RolandStens
RomanIvanov [RomanIvanov] . . . . Owner: RomanIvanov
RonSkyberg [RonSkyberg] . . . . Owner: RonSkyberg
RookieMinerGuide [RookieMinerGuide] . . . . Owner: RookieMinerGuide
rr [rr] . . . . Owner: SdfdsfaSdasd
RSS [RSS] . . . . Owner: DarTar
RSSAutoDiscovery [RSSAutoDiscovery] . . . . Owner: DarTar
RSSHandler [RSSHandler] . . . . Owner: DarTar
RssInfo [RssInfo] . . . . Owner: NilsLindenberg
RubenOlsen [RubenOlsen] . . . . Owner: RubenOlsen
RufousDragon [RufousDragon] . . . . Owner: RufousDragon
RyanAylesworth [RyanAylesworth] . . . . Owner: RyanAylesworth
RyanKnoll [RyanKnoll] . . . . Owner: RyanKnoll
RyeBread [RyeBread] . . . . Owner: RyeBread
RyeBreadDraftsEventNotification [RyeBreadDraftsEventNotification] . . . . Owner: RyeBread
Code
[26/9/04] actions/pageindex.php file after this mod:
<?php
if ($pages = $this->LoadAllPages())
{
if (isset($_REQUEST["letter"])) $requested_letter = $_REQUEST["letter"]; else $requested_letter = '';
if (!$requested_letter && isset($letter)) $requested_letter = strtoupper($letter);
$cached_username = $this->GetUserName();
$user_owns_pages = false;
$link = $this->href("", "", "letter=");
$index_header = "<strong><a href='$link'>All </a></strong> \n";
$index_output = "";
$current_character = "";
$character_changed = false;
foreach ($pages as $page)
{
$page_owner = $page["owner"];
// $this->CachePage($page);
$firstChar = strtoupper($page["tag"][0]);
if (!preg_match("/[A-Za-z]/", $firstChar)) $firstChar = "#";
if ($firstChar != $current_character) {
$index_header .= "<strong><a href='$link$firstChar'>$firstChar</a></strong> \n";
$current_character = $firstChar;
$character_changed = true;
}
if ($requested_letter == '' || $firstChar == $requested_letter) {
if ($character_changed) {
$index_output .= "<br />\n<strong>$firstChar</strong><br />\n";
$character_changed = false;
}
$index_output .= $this->Link($page["tag"]);
if ($cached_username == $page_owner) {
$index_output .= "*";
$user_owns_pages = true;
} elseif ($page_owner != '(Public)' && $page_owner != '') {
$index_output .= " . . . . Owner: ".$page_owner;
}
$index_output .= "<br />\n";
}
}
$index_header .= "<br />";
if ($user_owns_pages) $index_output .= "<br />\n* Indicates a page that you own.<br />\n";
print $index_header.$index_output;
} else {
print("<em>No pages found.</em>");
}
?>