ff0f9b9b8aecdc1dfd011fdfbee2cf577b00e3a2
bernd webinterface => /webinterface

bernd authored 17 years ago

1) <?php
2) 
3) if (! defined("TOP_INCLUDED"))
4) {
5) 
6) define("TOP_INCLUDED", true);
7) 
8) require_once("inc/error.php");
bernd Wenn die Datenbank-Verbindu...

bernd authored 14 years ago

9) require_once("inc/debug.php");
bernd neue Bilder, mehr SSL-Zerti...

bernd authored 15 years ago

10) global $prefix, $section;
bernd webinterface => /webinterface

bernd authored 17 years ago

11) 
12) $menuitem = array();
13) $weighted_menuitem = array();
14) 
bernd Ermögliche submenüs

bernd authored 17 years ago

15) $submenu = array();
16) 
bernd Mehr config-optionen und co...

bernd authored 15 years ago

17) foreach (config('modules') as $module)
bernd webinterface => /webinterface

bernd authored 17 years ago

18) {
bernd Ermögliche submenüs

bernd authored 17 years ago

19)   $menu = false;
20)   if (file_exists("modules/{$module}/menu.php"))
21)     include("modules/{$module}/menu.php");
bernd Menü-Includes sinnvoller /...

bernd authored 17 years ago

22)   if ($menu === false)
23)   {
24)     DEBUG("Modul {$module} hat keine Menüeinträge");
25)     continue;
26)   }
27)   DEBUG("<h4>$module</h4>");
28)   DEBUG($menu);
bernd webinterface => /webinterface

bernd authored 17 years ago

29)   // $menu["foo"]["file"] enthält den Link
30)   foreach (array_keys($menu) as $key)
31)   {
32)     $menu[$key]["file"] = $prefix."go/".$module."/".$menu[$key]["file"];
33)     $weight = $menu[$key]["weight"];
bernd Ermögliche submenüs

bernd authored 17 years ago

34)     if (isset($menu[$key]['submenu']))
35)     {
bernd Auch submenüs sollten gewic...

bernd authored 16 years ago

36)       if (isset($submenu[$menu[$key]['submenu']][$weight]))
37)         $submenu[$menu[$key]['submenu']][$weight] = array_merge($submenu[$menu[$key]['submenu']][$weight], array($key => $menu[$key]));
bernd Ermögliche submenüs

bernd authored 17 years ago

38)       else
bernd Auch submenüs sollten gewic...

bernd authored 16 years ago

39)         $submenu[$menu[$key]['submenu']][$weight] = array($key => $menu[$key]);
bernd Ermögliche submenüs

bernd authored 17 years ago

40)     }
bernd webinterface => /webinterface

bernd authored 17 years ago

41)     else
bernd Ermögliche submenüs

bernd authored 17 years ago

42)     {
43)       if (array_key_exists($weight, $weighted_menuitem))
44)         $weighted_menuitem[$weight] = array_merge($weighted_menuitem[$weight], array($key => $menu[$key]));
45)       else
46)         $weighted_menuitem[$weight] = array($key => $menu[$key]);
47)     }
bernd webinterface => /webinterface

bernd authored 17 years ago

48)   }
49)   $menuitem = array_merge($menuitem, $menu);
50) }
51) 
52) ksort($weighted_menuitem);
bernd Ermögliche submenüs

bernd authored 17 years ago

53) DEBUG($weighted_menuitem);
bernd Auch submenüs sollten gewic...

bernd authored 16 years ago

54) 
55) foreach ($submenu AS $weight => $data) {
56)   ksort($submenu[$weight]);
57) }
58) 
bernd Ermögliche submenüs

bernd authored 17 years ago

59) DEBUG($submenu);
bernd webinterface => /webinterface

bernd authored 17 years ago

60) 
bernd Setze X-FRAME-OPTIONS um Cl...

bernd authored 14 years ago

61) // Verbiete das Laden in jeglichem Frameset
62) header("X-FRAME-OPTIONS: DENY");
bernd Einige Dummheiten repariert...

bernd authored 15 years ago

63) header("Content-Type: ".config('mime_type'));
bernd webinterface => /webinterface

bernd authored 17 years ago

64) 
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

65) if (!isset($html_header))
66)   $html_header = '';
bernd Usability: User sieht immer...

bernd authored 17 years ago

67) 
bernd submenu-items korrekt zuordnen

bernd authored 16 years ago

68) function array_key_exists_r($needle, $haystack)
69) {
70)     $result = array_key_exists($needle, $haystack);
71)     if ($result) return $result;
72)     foreach ($haystack as $v) {
73)         if (is_array($v)) {
74)             $result = array_key_exists_r($needle, $v);
75)         }
76)         if ($result) return $result;
77)     }
78)     return $result;
79) }
80) 
81) 
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

82) $menu = '';
bernd webinterface => /webinterface

bernd authored 17 years ago

83) 
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

84) foreach ($weighted_menuitem as $key => $menuitem)
bernd webinterface => /webinterface

bernd authored 17 years ago

85)         foreach ($menuitem as $key => $item)
86)         {
87)                 if ($key == $section)
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

88)                         $menu .= '<a href="'.$item['file'].'" class="menuitem active">'.$item['label'].'</a>'."\n";
bernd Ermögliche submenüs

bernd authored 17 years ago

89)                 else
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

90)                         $menu .= '<a href="'.$item['file'].'" class="menuitem">'.$item['label'].'</a>'."\n";
bernd submenu-items korrekt zuordnen

bernd authored 16 years ago

91)                 if ($key == $section || (array_key_exists($key, $submenu) && array_key_exists_r($section, $submenu[$key])))
bernd Ermögliche submenüs

bernd authored 17 years ago

92)                 {
bernd webinterface => /webinterface

bernd authored 17 years ago

93)                         if (isset($submenu[$key]))
94)                         {
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

95)                                 $menu .= "\n";
bernd Auch submenüs sollten gewic...

bernd authored 16 years ago

96) 				foreach ($submenu[$key] as $weight => $mysub) 
97) 				{
98)                                   foreach ($mysub as $sec => $item)
99)                                   {
100)                                           if ($sec == $section)
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

101)                                                   $menu .= '<a href="'.$item['file'].'" class="submenuitem menuitem active">'.$item['label'].'</a>'."\n";
bernd Auch submenüs sollten gewic...

bernd authored 16 years ago

102)                                           else
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

103)                                                   $menu .= '<a href="'.$item['file'].'" class="submenuitem menuitem">'.$item['label'].'</a>'."\n";
bernd Auch submenüs sollten gewic...

bernd authored 16 years ago

104)                                   }
105) 				}
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

106)                                 $menu .= "\n";
bernd webinterface => /webinterface

bernd authored 17 years ago

107)                         }
bernd Ermögliche submenüs

bernd authored 17 years ago

108) 		}
bernd webinterface => /webinterface

bernd authored 17 years ago

109) 
110)         }
111) 
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

112) $userinfo = '';
113) 
114) $role = $_SESSION['role'];
bernd Hanno mag mein tolles Bildc...

bernd authored 17 years ago

115) if ($role != ROLE_ANONYMOUS) {
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

116)   $userinfo .= '<p class="userinfo">Angemeldet als:<br />';
bernd Erlaube subusers, die nur Z...

bernd authored 14 years ago

117)   if ($role & ROLE_SYSTEMUSER && isset($_SESSION['subuser'])) {
118)     $userinfo .= '<strong>'.$_SESSION['subuser'].'</strong>';
119)     $userinfo .= '<br />Mitbenutzer von '.$_SESSION['userinfo']['username'];
120)   }
121)   elseif ($role & ROLE_SYSTEMUSER) {
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

122)     $userinfo .= '<strong>'.$_SESSION['userinfo']['username'].'</strong>';
123)     $userinfo .= '<br />'.$_SESSION['userinfo']['name'];
124)     $userinfo .= '<br />(Benutzer'.(($role & ROLE_CUSTOMER) ? ', Kunde' : '').')';
bernd Hanno mag mein tolles Bildc...

bernd authored 17 years ago

125)   }
126)   elseif ($role & ROLE_CUSTOMER) {
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

127)     $userinfo .= '<strong>'.$_SESSION['customerinfo']['customerno'].'</strong>';
128)     $userinfo .= '<br />'.$_SESSION['customerinfo']['name'];
129)     $userinfo .= '<br />(Kunde)';
bernd Hanno mag mein tolles Bildc...

bernd authored 17 years ago

130)   }
bernd VMail-accounts können sich...

bernd authored 16 years ago

131)   elseif ($role & (ROLE_MAILACCOUNT | ROLE_VMAIL_ACCOUNT)) {
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

132)     $userinfo .= '<strong>'.$_SESSION['mailaccount'].'</strong><br />(E-Mail-Account)';
bernd Hanno mag mein tolles Bildc...

bernd authored 17 years ago

133)   }
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

134)   $userinfo .= '</p>';
bernd Hanno mag mein tolles Bildc...

bernd authored 17 years ago

135) }
bernd back-to-admin feature

bernd authored 16 years ago

136) 
137) if (isset($_SESSION['admin_user'])) {
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

138)   $userinfo .= '<p class="admininfo">';
139)   $userinfo .= '<a href="'.$prefix.'go/su/back_to_admin">Zurück zu »'.$_SESSION['admin_user'].'«</a>';
140)   $userinfo .= '</p>';
bernd back-to-admin feature

bernd authored 16 years ago

141) }
bernd webinterface => /webinterface

bernd authored 17 years ago

142) 
143) 
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

144) $messages = get_messages();
bernd webinterface => /webinterface

bernd authored 17 years ago

145) 
bernd Umstellung auf Theme-Suppor...

bernd authored 14 years ago

146) $BASE_PATH = $prefix;
147) $THEME_PATH = $prefix."themes/".config('theme')."/";
bernd webinterface => /webinterface

bernd authored 17 years ago

148) 
149)