Quelltext der Datei: http://www.michaelster.ch/lernen/nav.php

Dateigrösse: 3.58 kb

[Anzeige mit Zeilennummern]


<?php
/**
 * KLIK! CMS-Draft
 * Application of PEAR ITX-Templates and Database driven by hierarchical Navigation
 *
 * Navigation Page
 *
 * @author      Roger Klein - rklein [at] klik-info [dot] ch
 * @copyright   you are free to use this code as long as you
 *              credit the author - and provide me with your improvements
 * @version     2006-02-28
 *
 **/

$akt_kap  = isset($_GET['kap'])  ? $_GET['kap']  : 'home';
$akt_ukap = isset($_GET['ukap']) ? $_GET['ukap'] : '';

$nav_array = array();
$abfrage = 'SELECT * 
            FROM ' . $tab_prefix . 'navigation 
            WHERE aktiv = "1" 
            ORDER BY sort_id';

$kapitel = $db_access->query($abfrage);

$temp = 'xxx';
$n_id = 1;

while ($eintrag = $kapitel->fetchRow())
{
    if ($temp != $eintrag['kap'])
    {
        $temp = $eintrag['kuerzel'];
    }
    if ($eintrag['ukap'] == 0)
    {
        $nav_array[$eintrag['kuerzel']] = $eintrag['kap'];
        if ($eintrag['kuerzel'] == $akt_kap)
        {
            $n_id = $eintrag['nav_id'];
        }
    }
    else
    {
        $nav_array[$eintrag['kuerzel']] = $eintrag['ukap'];
        if ($eintrag['kuerzel'] == $akt_ukap)
        {
            $n_id = $eintrag['nav_id'];
        }
    }
}

$akt_kap_nr = isset($nav_array[$akt_kap]) ? $nav_array[$akt_kap] : 0;

$abfrage = 'SELECT * 
            FROM ' . $tab_prefix . 'navigation
            WHERE aktiv = "1"
            ORDER BY sort_id';

$kapitel = $db_access->query($abfrage);

$temp           = 'xxx';
$zusatz       = '';
$nav_id       = 1;
$unav_kennung = '';
$last_label   = '';
$url           = '';

while ($eintrag = $kapitel->fetchRow())
{
    $ausgewaehlt = '';
    
    // Unterkapitel Menupunkte:
    if ($eintrag['ukap'] != 0 && $akt_kap_nr == $eintrag['kap']) 
    { 
        if ($unav_kennung == 'n')
        {
            $tpl->setVariable('ul_start', '<ul>');
            $tpl->setCurrentBlock('unavigation');
            $unav_kennung = 'x';
        }
        if ($akt_ukap == $eintrag['kuerzel'])
        {
            $titletag      = $eintrag['bezeichnung'];
            $nav_id      = $eintrag['nav_id'];
            $ausgewaehlt = ' class="subaktiv"';
        }
        $label      = $eintrag['bezeichnung'];
        $url     = $eintrag['kuerzel']=='lueckentexte' 
                   ? '<a href="http://www.michaelster.ch/" target="_blank">' . $label . '</a>'
                   : '<a href="#">' . $label . '</a>';
        $nav_url = 'index.php?kap=' . $temp . '&amp;navid=' . $eintrag['nav_id'] . '&amp;ukap=' . $eintrag['kuerzel'];
        $tpl->setVariable('aktivu', $ausgewaehlt);
        $link  = $ausgewaehlt=='' && $eintrag['kuerzel']!='lueckentexte'
                 ? '<a href="' . $nav_url . '">' . $label . '</a>'
                 : $url;
        $tpl->setVariable('linku', $link);
        $tpl->parseCurrentBlock();
    }
    // Hauptkapitel-Menupunkte:
    else if ($eintrag['ukap'] == 0)
    {
        if ($unav_kennung == 'x')
        {
            $tpl->setCurrentBlock('navigation');
            $tpl->setVariable('ul_end', "</ul>");
            $tpl->parseCurrentBlock();
        }
        if ($unav_kennung != '')
        {
            $tpl->parseCurrentBlock();
        }
        $unav_kennung = 'n';
        $temp = $eintrag['kuerzel'];
        if ($akt_kap == $temp && $akt_ukap == '')
        {
            $titletag      = $eintrag['bezeichnung'];
            $nav_id      = $eintrag['nav_id'];
            $ausgewaehlt = ' class="aktiv"';
        }
        $label         = $eintrag['bezeichnung'];
        $nav_url     = 'index.php?kap=' . $temp . '&amp;navid=' . $eintrag['nav_id'];
        $last_label = $label;
        $tpl->setVariable('label', $label);
        $tpl->setVariable('aktiv', $ausgewaehlt);
        $link = $ausgewaehlt == '' 
                ? '<a href="' . $nav_url . '">' . $label . '</a>' 
                : '<a>' . $label . '</a>';
        $tpl->setVariable('link', $link);
    }
}

if ($unav_kennung == 'x')
{
    $tpl->setVariable('ul_end', "</ul>");
}

$tpl->parseCurrentBlock('nav_block');

?>