Navigation Vor/Zurück
Mit diesem Script werden Links zum (definierten) Vorgänger und Nachfolger der aktuellen Datei erzeugt.
Der Meta-Eintrags „Rang“ (s. zListe.php) legt die Position der aktuellen Datei in der Reihenfolge der Dateien im aktuellen Verzeichnis fest. Der Vorgänger und Nachfolger wird als verlinkter Seitentitel zurück gegeben. Gleichrangige Dateien werden alphabetisch sortiert.
Das Skript
Stand: 21.10.2022
Ladefehler: $$$ file a $$$
<?php
function blaettern($Pfad,$rang,$stil) {
$items = glob($_SERVER["DOCUMENT_ROOT"] . $Pfad . '*{php,html}', GLOB_BRACE);
unset($Datei);
$wo = pathinfo($_SERVER['REQUEST_URI'], PATHINFO_FILENAME);
$comp = '-1';
if (count($items)){
$i = 0;
foreach ($items as $item){
if ($item == "index.php" or $item == "." or is_dir($item)){ }
else {
$Datei[$i]['pfad'] = $Pfad . pathinfo($item, PATHINFO_FILENAME);
$tags = get_meta_tags($item);
if (!isset($tags['title'])) {
Return '';
Exit;
}
$Datei[$i]['titel'] = $tags['title'];
$Datei[$i]['rang'] = (isset ($tags['rang']) ? $tags['rang'] : 999);
$Datei[$i]['id'] = $i;
if (pathinfo($Datei[$i]['pfad'], PATHINFO_FILENAME) == $wo) {
$comp = $i;
}
$i++;
}
} // foreach
array_multisort(array_column($Datei, 'rang'),SORT_NATURAL,array_column($Datei, 'titel'),SORT_NATURAL | SORT_FLAG_CASE ,$Datei);
$i = 0;
foreach ($Datei As $Inhalt){
if ($Datei[$i]['rang']<0){ continue; }
$compr = str_pad(intval($Datei[$i]['rang']), 5 , "0" , STR_PAD_LEFT) . $Datei[$i]['titel'];
if ($compr < $rang) {
$vorher = $i;
}
if ($compr > $rang) {
$nachher = $i;
Break;
}
$i++;
}
$Ergebnis = '<div class="' . $stil . '">';
$Ergebnis .= (isset ($vorher) ? '<a href="'.$Datei[$vorher]['pfad'] .'?m" title="Voriger Artikel">'.$Datei[$vorher]['titel'].'</a>' : 'Kapitelanfang');
$Ergebnis .= ' « ◉ » ';
$Ergebnis .= (isset ($nachher) ? '<a href="'.$Datei[$nachher]['pfad'] .'?m" title="Nächster Artikel">'.$Datei[$nachher]['titel'].'</a>' : 'Kapitelende');
$Ergebnis .= '</DIV>';
}
else {
$Ergebnis = '';
}
return $Ergebnis;
}
?>