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

Dateigrösse: 3.58 kb

[Anzeige ohne Zeilennummern]


  1 <?php
  2 /**
  3  * KLIK! CMS-Draft
  4  * Application of PEAR ITX-Templates and Database driven by hierarchical Navigation
  5  *
  6  * Navigation Page
  7  *
  8  * @author      Roger Klein - rklein [at] klik-info [dot] ch
  9  * @copyright   you are free to use this code as long as you
 10  *              credit the author - and provide me with your improvements
 11  * @version     2006-02-28
 12  *
 13  **/
 14 
 15 $akt_kap  = isset($_GET['kap'])  ? $_GET['kap']  : 'home';
 16 $akt_ukap = isset($_GET['ukap']) ? $_GET['ukap'] : '';
 17 
 18 $nav_array = array();
 19 $abfrage = 'SELECT * 
 20             FROM ' . $tab_prefix . 'navigation 
 21             WHERE aktiv = "1" 
 22             ORDER BY sort_id';
 23 
 24 $kapitel = $db_access->query($abfrage);
 25 
 26 $temp = 'xxx';
 27 $n_id = 1;
 28 
 29 while ($eintrag = $kapitel->fetchRow())
 30 {
 31     if ($temp != $eintrag['kap'])
 32     {
 33         $temp = $eintrag['kuerzel'];
 34     }
 35     if ($eintrag['ukap'] == 0)
 36     {
 37         $nav_array[$eintrag['kuerzel']] = $eintrag['kap'];
 38         if ($eintrag['kuerzel'] == $akt_kap)
 39         {
 40             $n_id = $eintrag['nav_id'];
 41         }
 42     }
 43     else
 44     {
 45         $nav_array[$eintrag['kuerzel']] = $eintrag['ukap'];
 46         if ($eintrag['kuerzel'] == $akt_ukap)
 47         {
 48             $n_id = $eintrag['nav_id'];
 49         }
 50     }
 51 }
 52 
 53 $akt_kap_nr = isset($nav_array[$akt_kap]) ? $nav_array[$akt_kap] : 0;
 54 
 55 $abfrage = 'SELECT * 
 56             FROM ' . $tab_prefix . 'navigation
 57             WHERE aktiv = "1"
 58             ORDER BY sort_id';
 59 
 60 $kapitel = $db_access->query($abfrage);
 61 
 62 $temp           = 'xxx';
 63 $zusatz       = '';
 64 $nav_id       = 1;
 65 $unav_kennung = '';
 66 $last_label   = '';
 67 $url           = '';
 68 
 69 while ($eintrag = $kapitel->fetchRow())
 70 {
 71     $ausgewaehlt = '';
 72     
 73     // Unterkapitel Menupunkte:
 74     if ($eintrag['ukap'] != 0 && $akt_kap_nr == $eintrag['kap']) 
 75     { 
 76         if ($unav_kennung == 'n')
 77         {
 78             $tpl->setVariable('ul_start', '<ul>');
 79             $tpl->setCurrentBlock('unavigation');
 80             $unav_kennung = 'x';
 81         }
 82         if ($akt_ukap == $eintrag['kuerzel'])
 83         {
 84             $titletag      = $eintrag['bezeichnung'];
 85             $nav_id      = $eintrag['nav_id'];
 86             $ausgewaehlt = ' class="subaktiv"';
 87         }
 88         $label      = $eintrag['bezeichnung'];
 89         $url     = $eintrag['kuerzel']=='lueckentexte' 
 90                    ? '<a href="http://www.michaelster.ch/" target="_blank">' . $label . '</a>'
 91                    : '<a href="#">' . $label . '</a>';
 92         $nav_url = 'index.php?kap=' . $temp . '&amp;navid=' . $eintrag['nav_id'] . '&amp;ukap=' . $eintrag['kuerzel'];
 93         $tpl->setVariable('aktivu', $ausgewaehlt);
 94         $link  = $ausgewaehlt=='' && $eintrag['kuerzel']!='lueckentexte'
 95                  ? '<a href="' . $nav_url . '">' . $label . '</a>'
 96                  : $url;
 97         $tpl->setVariable('linku', $link);
 98         $tpl->parseCurrentBlock();
 99     }
100     // Hauptkapitel-Menupunkte:
101     else if ($eintrag['ukap'] == 0)
102     {
103         if ($unav_kennung == 'x')
104         {
105             $tpl->setCurrentBlock('navigation');
106             $tpl->setVariable('ul_end', "</ul>");
107             $tpl->parseCurrentBlock();
108         }
109         if ($unav_kennung != '')
110         {
111             $tpl->parseCurrentBlock();
112         }
113         $unav_kennung = 'n';
114         $temp = $eintrag['kuerzel'];
115         if ($akt_kap == $temp && $akt_ukap == '')
116         {
117             $titletag      = $eintrag['bezeichnung'];
118             $nav_id      = $eintrag['nav_id'];
119             $ausgewaehlt = ' class="aktiv"';
120         }
121         $label         = $eintrag['bezeichnung'];
122         $nav_url     = 'index.php?kap=' . $temp . '&amp;navid=' . $eintrag['nav_id'];
123         $last_label = $label;
124         $tpl->setVariable('label', $label);
125         $tpl->setVariable('aktiv', $ausgewaehlt);
126         $link = $ausgewaehlt == '' 
127                 ? '<a href="' . $nav_url . '">' . $label . '</a>' 
128                 : '<a>' . $label . '</a>';
129         $tpl->setVariable('link', $link);
130     }
131 }
132 
133 if ($unav_kennung == 'x')
134 {
135     $tpl->setVariable('ul_end', "</ul>");
136 }
137 
138 $tpl->parseCurrentBlock('nav_block');
139 
140 ?>
141