Dateigrösse: 3.58 kb
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 . '&navid=' . $eintrag['nav_id'] . '&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 . '&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