Navigation Vor/Zurück

Erstellt: 08.03.2022 Lesedauer ≤ 1 Min.

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($itemPATHINFO_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']), "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 .=  ' « &#x25C9; » ';
        
$Ergebnis .=  (isset ($nachher) ? '<a href="'.$Datei[$nachher]['pfad'] .'?m" title="Nächster Artikel">'.$Datei[$nachher]['titel'].'</a>' 'Kapitelende');
        
$Ergebnis .= '</DIV>';
    }
    else {
        
$Ergebnis '';
    }
    return 
$Ergebnis;  
}
?>