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.
B
b4799144 [b4799144] . . . . Owner: b4799144
BabilBabilon [BabilBabilon] . . . . Owner: BabilBabilon
BachuppaTier [BachuppaTier] . . . . Owner: BachuppaTier
BackDoor [BackDoor] . . . . Owner: DarTar
BacklinksActionInfo [BacklinksActionInfo] . . . . Owner: NilsLindenberg
BacklinksHandler [BacklinksHandler] . . . . Owner: DarTar
BadBehavior [BadBehavior] . . . . Owner: NilsLindenberg
BaGus [BaGus] . . . . Owner: BaGus
BannerMaker [BannerMaker] . . . . Owner: GmBowen
BarGraph [BarGraph] . . . . Owner: DennyShimkoski
BarkerJr [BarkerJr] . . . . Owner: BarkerJr
BarneBal [BarneBal] . . . . Owner: MariHedbom
BarryRamirez [BarryRamirez] . . . . Owner: BarryRamirez
BasGruijters [BasGruijters] . . . . Owner: BasGruijters
BastyaElvtars [BastyaElvtars] . . . . Owner: BastyaElvtars
BaxilDragon [BaxilDragon] . . . . Owner: BaxilDragon
BaZtien [BaZtien] . . . . Owner: BaZtien
BeleBele [BeleBele] . . . . Owner: BeleBele
BenMatt [BenMatt] . . . . Owner: BenMatt
BenMullikin [BenMullikin] . . . . Owner: BenMullikin
BentongIsles [BentongIsles] . . . . Owner: BentongIsles
BernHard [BernHard] . . . . Owner: BernHard
BertiE [BertiE] . . . . Owner: BertiE
BevanR [BevanR] . . . . Owner: BevanR
BianditxMia [BianditxMia] . . . . Owner: BianditxMia
BigElf [BigElf] . . . . Owner: BigElf
BigFoot [BigFoot] . . . . Owner: BigFoot
BigImageGalleryAction [BigImageGalleryAction] . . . . Owner: AdaAn
BigImageGalleryActionTemplate [BigImageGalleryActionTemplate] . . . . Owner: AdaAn
BillB [BillB] . . . . Owner: BillB
BillCalvo [BillCalvo] . . . . Owner: BillCalvo
BingoAction [BingoAction] . . . . Owner: TimoK
BingoActionInfo [BingoActionInfo] . . . . Owner: TimoK
BlackNine [BlackNine] . . . . Owner: BlackNine
BlackSun [BlackSun] . . . . Owner: BlackSun
BlankPageWorkaround [BlankPageWorkaround] . . . . Owner: JavaWoman
BloodshotEye [BloodshotEye] . . . . Owner: BloodshotEye
BobClown [BobClown] . . . . Owner: BobClown
BobLeponge [BobLeponge] . . . . Owner: BobLeponge
Book1 [Book1]
BookmarkManager [BookmarkManager] . . . . Owner: BrianKoontz
BookmarkManagerImportScripts [BookmarkManagerImportScripts] . . . . Owner: BrianKoontz
BooleanOperationsOnPageListings [BooleanOperationsOnPageListings] . . . . Owner: MasinAlDujaili
BoonyCima [BoonyCima] . . . . Owner: BoonyCima
BooRadley [BooRadley] . . . . Owner: BooRadley
BoyNextDoor [BoyNextDoor] . . . . Owner: BoyNextDoor
Brasilia [Brasilia] . . . . Owner: RenatoSabbatini
Brazil [Brazil] . . . . Owner: RenatoSabbatini
BrianKoontz [BrianKoontz] . . . . Owner: BrianKoontz
BrosBoros [BrosBoros] . . . . Owner: BrosBoros
BrunoWiki [BrunoWiki] . . . . Owner: BrunoWiki
BulletCard [BulletCard] . . . . Owner: BulletCard
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>");
}
?>