New menu system
authorJoey Schulze <joey@infodrom.org>
Wed, 24 Feb 2010 20:56:35 +0000 (21:56 +0100)
committerJoey Schulze <joey@infodrom.org>
Wed, 24 Feb 2010 20:56:35 +0000 (21:56 +0100)
dropdown.css
index.php
lib/menu.php
style.css

index 31d2e2c..3e862e7 100644 (file)
  *
  */
 
+div.menu {
+ background: #BBD9EE;
+ height: 23px;
+ padding-left: 80px;
+}
+
 ul.dropdown,
 ul.dropdown li,
 ul.dropdown ul {
@@ -28,12 +34,15 @@ ul.dropdown {
  position: relative;
  z-index: 597;
  float: left;
+ font-size: 80%;
 }
 
 ul.dropdown li {
  float: left;
  line-height: 1.3em;
  vertical-align: middle;
+ margin-left: 1px;
+ text-align: center;
  zoom: 1;
 }
 
@@ -62,6 +71,36 @@ ul.dropdown ul ul {
  left: 99%;
 }
 
+ul.dropdown a {
+ float: left;
+ width: 95px;
+ padding: 5px 0;
+ background: #BBD9EE;
+ text-decoration: none;
+ color: #666;
+ margin-top: 0px;
+ margin-left: -1px;
+ border-top: 1px solid #fff;
+ border-left: 1px solid #fff;
+ border-right: 1px solid #fff;
+}
+
+ul.dropdown a:hover {
+ color: black;
+ background: #7fbce7;
+}
+
+ul.dropdown span {
+ width: 95px;
+ display: block;
+ padding: 5px 0;
+ background: #E7F1F8;
+ color: #666;
+ border-top: 1px solid #BBD9EE;
+ border-left: 1px solid #BBD9EE;
+ border-right: 1px solid #BBD9EE;
+}
+
 ul.dropdown li:hover > ul {
  visibility: visible;
-}
\ No newline at end of file
+}
index d7aa154..c2e8e72 100644 (file)
--- a/index.php
+++ b/index.php
@@ -17,6 +17,7 @@ $debug = debug_info();
 <?=load_js($jsfiles, $jscode);?>
 <link href="stylesheet.css" rel="stylesheet" type="text/css">
 <link href="style.css" rel="stylesheet" type="text/css">
+<link href="dropdown.css" rel="stylesheet" type="text/css">
 </head>
 <body>
 <div id="header">
index a6fd04b..030633b 100644 (file)
@@ -4,16 +4,35 @@ function menu()
 {
   if (empty($_SESSION['sys']['login'])) return '';
 
-  $ret = '<div id="menu">';
-  $ret .= '<ul id="nav">';
-  $ret .= '<li><a href="./">Start</a></li>';
+  $ret = '<div class="menu">';
 
-  $sql = "SELECT id,name FROM sys_menu ORDER BY priority";
+  $ret .= '<ul id="menu" class="dropdown">';
+
+  $ret .= '<li><span>Home</span>';
+  $ret .= '<ul>';
+  $ret .= '<li><a href="./" title="Zurück zur Hauptseite">Start</a></li>';
+  $ret .= '<li><a href="./?logout=true" title="Abmelden">Logout</a></li>';
+
+  $sql = "SELECT mask,menutitle,name FROM sys_mask "
+    . "JOIN sys_menu ON sys_mask.menu = sys_menu.id "
+    . "ORDER BY sys_menu.priority,sys_menu.name,sys_mask.priority,sys_mask.menutitle";
   $sth = pg_query($sql);
 
-  if ($sth)
-    while ($row = pg_fetch_assoc($sth))
-      $ret .= sprintf('<li><a href="./?menu=%d">%s</a></li>', $row['id'], $row['name']);
+  if ($sth) {
+    $menu = 'Start';
+
+    while ($row = pg_fetch_assoc($sth)) {
+      if ($menu != $row['name']) {
+       $ret .= '</ul></li>';
+       $ret .= sprintf('<li><span>%s</span>', $row['name']);
+       $ret .= '<ul>';
+       $menu = $row['name'];
+      }
+      $ret .= sprintf('<li><a href="./?mask=%s">%s</a></li>', $row['mask'], $row['menutitle']);
+    }
+    $ret .= '</ul>';
+    $ret .= '</li>';
+  }
 
   $ret .= '</ul>';
   $ret .= '</div>';
index 6a5242d..05ceee3 100644 (file)
--- a/style.css
+++ b/style.css
@@ -35,7 +35,6 @@ h3 {
 
 div#header {
        width:100%;
-       overflow:hidden;
        background: #BBD9EE;
 }
 
@@ -50,44 +49,6 @@ div#header h1 {
        color: #fff;
 }
 
-ul#nav, ul#nav li {
-       list-style-type:none;
-       margin:0;
-       padding:0;
-}
-
-ul#nav {
-       float:left;
-       font-size: 80%;
-}
-
-ul#nav li {
-       float:left;
-       margin-left: 3px;
-       text-align: center;
-}
-
-ul#nav a {
-       float:left;
-       width: 95px;
-       padding: 5px 0;
-       background: #E7F1F8;
-       text-decoration:none;
-       color: #666;
-       border-top: 1px solid #fff;
-       border-left: 1px solid #fff;
-       border-right: 1px solid #fff;
-}
-
-ul#nav a:hover {
-       background: #fff;
-       color: #000;
-}
-
-ul#nav li.activelink a, ul#nav li.activelink a:hover {
-       background: #FFF;
-       color: #003;
-}
 
 div.right {
        float: right;
@@ -122,12 +83,3 @@ div.content {
        padding: 15px;
        background: #e7f1f8;
 }
-
-ul {
-       padding: 0;
-       margin: 0;
-}
-
-li {
-       list-style-type: none;
-}