Mercurial > owls
diff Includes/Nav.inc.php @ 0:3021ce32ee14 owls-0.5
begin of using hg for owls
author | "Meillo r e t u r n s <meillo@marmaro.de>" |
---|---|
date | Sun, 03 Dec 2006 22:32:13 +0100 |
parents | |
children | ab74e95a8040 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Includes/Nav.inc.php Sun Dec 03 22:32:13 2006 +0100 @@ -0,0 +1,86 @@ + <!-- Nav --> + <ul id="nav"> + +<?php + // build nav tree + echo ' '. navtree(0) ."\n"; + + + // find unmatched nodes (orphans) + $sql = sprintf(" + select distinct + idParent + from %sOwls + where + idParent not in (select id from %sOwls) + and idParent != 0 -- not the real root +-- and idParent != id -- avoid endless recursion + order by name asc + ", + DB_PREFIX, + DB_PREFIX + ); + $result = mysql_query($sql) or die(mysql_error()); + unset($sql); + + // output only if there are orphans + if (mysql_num_rows($result)) { + echo ' <li id="orphans">orphans<ul>'; + // output subtree for every orphan + while($row = mysql_fetch_array($result)) { + echo navtree($row['idParent']); + } + unset($row); + mysql_free_result($result); + + echo '</ul></li>'; + } +?> + + <li id="login"> +<?php + if ($lsys->loggedIn()) { + echo ' <a href="'. $_GET['id'] .'logout" style="color: #c00;">logout</a>'; + } else { +?> + <form name="loginform" action="<?php echo $_GET['id']; ?>login" method="post" enctype="multipart/form-data"> + <input name="login_loginname" type="text" /> + <input name="login_password" type="password" /> + <input name="login" type="submit" value="login" style="padding: 0; cursor: pointer;" /> + </form> +<?php + } +?> + </li> + + </ul> + +<?php + + function navtree($root) { + // fetch subcategories + $result = mysql_query("select * from ". DB_PREFIX ."Owls where idParent = $root order by name asc"); + + $return = ''; + while($row = mysql_fetch_array($result)) { + $return .= '<li><a href="'. $row['id'] .'"'. (($_GET['id'] == $row['id']) ? ' id="selected"' : '') .'>'. $row['name'] .'</a>'; + if ($row['id'] != $row['idParent']) { + $subtree = navtree($row['id']); + if (!empty($subtree)) { + $return .= ' <a href="javascript:toggleVisibility(\''. $row[id] .'\')" id="ctrl'. $row['id'] .'" style="display: none;">-</a>'; + $return .= '<ul id="node'. $row['id'] .'">'. $subtree .'</ul>'; + } + unset($subtree); + } + $return .= '</li>'; + } + unset($row); + mysql_free_result($result); + + // return + return $return; + } + +?> + + <!-- Content -->