f20a077bbae272d467e0fd6bc7beb8a2e42ae882
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");
9) global $prefix;
10) 
11) $menuitem = array();
12) $weighted_menuitem = array();
13) 
bernd Ermögliche submenüs

bernd authored 16 years ago

14) $submenu = array();
15) 
bernd database config options

bernd authored 15 years ago

16) global $config;
bernd webinterface => /webinterface

bernd authored 17 years ago

17) foreach ($config['modules'] as $module)
18) {
bernd Ermögliche submenüs

bernd authored 16 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 16 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 16 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 16 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 16 years ago

40)     }
bernd webinterface => /webinterface

bernd authored 17 years ago

41)     else
bernd Ermögliche submenüs

bernd authored 16 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 16 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 16 years ago

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

bernd authored 17 years ago

60) 
61) 
bernd MIME-Type konfigurierbar

bernd authored 16 years ago

62) header("Content-Type: {$config['mime_type']}");
bernd webinterface => /webinterface

bernd authored 17 years ago

63) ?>
bernd Neues Modul für "Kunde werden"

bernd authored 16 years ago

64) <?php echo '<?xml version="1.0" encoding="utf-8"?>'."\n"; ?>
bernd webinterface => /webinterface

bernd authored 17 years ago

65) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
66)     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
67) 
68) <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
69) <head>
70) 
71) <?php
72) if ($title != "")
73)         echo '<title>Administration - '.$title.'</title>';
74) else
75)         echo '<title>Administration</title>';
76) 
77) echo '
bernd Allow Header entries and AJAX

bernd authored 15 years ago

78) <link rel="stylesheet" href="'.$prefix.'css/admin.css" type="text/css" media="screen" title="Normal" />';
bernd webinterface => /webinterface

bernd authored 17 years ago

79) 
bernd Allow Header entries and AJAX

bernd authored 15 years ago

80) echo $html_header;
81) ?>
bernd webinterface => /webinterface

bernd authored 17 years ago

82) </head>
83) <body>
84) 
bernd Skip-Links für Menü

bernd authored 16 years ago

85) <a href="#content" style="display: none;">Zum Inhalt</a>
bernd webinterface => /webinterface

bernd authored 17 years ago

86) 
87) <div class="menu">
bernd Logo-Höhe

bernd authored 16 years ago

88) <img src="<?php echo $prefix; ?>images/schokokeks.png" width="190" height="141" alt="schokokeks.org" />
bernd webinterface => /webinterface

bernd authored 17 years ago

89) 
bernd Usability: User sieht immer...

bernd authored 16 years ago

90) 
bernd webinterface => /webinterface

bernd authored 17 years ago

91) <?php
bernd Usability: User sieht immer...

bernd authored 16 years ago

92) $role = $_SESSION['role'];
93) 
bernd submenu-items korrekt zuordnen

bernd authored 16 years ago

94) function array_key_exists_r($needle, $haystack)
95) {
96)     $result = array_key_exists($needle, $haystack);
97)     if ($result) return $result;
98)     foreach ($haystack as $v) {
99)         if (is_array($v)) {
100)             $result = array_key_exists_r($needle, $v);
101)         }
102)         if ($result) return $result;
103)     }
104)     return $result;
105) }
106) 
107) 
bernd webinterface => /webinterface

bernd authored 17 years ago

108) 
109)   foreach ($weighted_menuitem as $key => $menuitem)
110)         foreach ($menuitem as $key => $item)
111)         {
112)                 if ($key == $section)
113)                         echo '<a href="'.$item['file'].'" class="menuitem active">'.$item['label'].'</a>'."\n";
bernd Ermögliche submenüs

bernd authored 16 years ago

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

bernd authored 16 years ago

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

bernd authored 16 years ago

117)                 {
bernd webinterface => /webinterface

bernd authored 17 years ago

118)                         if (isset($submenu[$key]))
119)                         {
120)                                 echo "\n";
bernd Auch submenüs sollten gewic...

bernd authored 16 years ago

121) 				foreach ($submenu[$key] as $weight => $mysub) 
122) 				{
123)                                   foreach ($mysub as $sec => $item)
124)                                   {
125)                                           if ($sec == $section)
126)                                                   echo '<a href="'.$item['file'].'" class="submenuitem menuitem active">'.$item['label'].'</a>'."\n";
127)                                           else
128)                                                   echo '<a href="'.$item['file'].'" class="submenuitem menuitem">'.$item['label'].'</a>'."\n";
129)                                   }
130) 				}
bernd webinterface => /webinterface

bernd authored 17 years ago

131)                                 echo "\n";
132)                         }
bernd Ermögliche submenüs

bernd authored 16 years ago

133) 		}
bernd webinterface => /webinterface

bernd authored 17 years ago

134) 
135)         }
136) 
bernd Hanno mag mein tolles Bildc...

bernd authored 16 years ago

137) if ($role != ROLE_ANONYMOUS) {
138) echo '<p class="userinfo">Angemeldet als:<br />';
139)   if ($role & ROLE_SYSTEMUSER) {
140)     echo '<strong>'.$_SESSION['userinfo']['username'].'</strong>';
141)     echo '<br />'.$_SESSION['userinfo']['name'];
142)     echo '<br />(Benutzer'.(($role & ROLE_CUSTOMER) ? ', Kunde' : '').')';
143)   }
144)   elseif ($role & ROLE_CUSTOMER) {
145)     echo '<strong>'.$_SESSION['customerinfo']['customerno'].'</strong>';
146)     echo '<br />'.$_SESSION['customerinfo']['name'];
147)     echo '<br />(Kunde)';
148)   }
bernd VMail-accounts können sich...

bernd authored 16 years ago

149)   elseif ($role & (ROLE_MAILACCOUNT | ROLE_VMAIL_ACCOUNT)) {
bernd Hanno mag mein tolles Bildc...

bernd authored 16 years ago

150)     echo '<strong>'.$_SESSION['mailaccount'].'</strong><br />(E-Mail-Account)';
151)   }
152)   echo '</p>';
153) }
bernd back-to-admin feature

bernd authored 15 years ago

154) 
155) if (isset($_SESSION['admin_user'])) {
156)   echo '<p class="admininfo">';
157)   echo '<a href="'.$prefix.'go/su/back_to_admin">Zurück zu »'.$_SESSION['admin_user'].'«</a>';
158)   echo '</p>';
159) }
bernd webinterface => /webinterface

bernd authored 17 years ago

160) ?>
161) 
162) </div>
163) 
164) <div class="content">
bernd Skip-Links für Menü

bernd authored 16 years ago

165) <a name="content" style="display: none"> </a>