annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
1 <!-- Nav -->
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
2 <ul id="nav">
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
3
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
4 <?php
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
5 // build nav tree
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
6 echo ' '. navtree(0) ."\n";
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
7
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
8
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
9 // find unmatched nodes (orphans)
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
10 $sql = sprintf("
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
11 select distinct
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
12 idParent
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
13 from %sOwls
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
14 where
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
15 idParent not in (select id from %sOwls)
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
16 and idParent != 0 -- not the real root
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
17 -- and idParent != id -- avoid endless recursion
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
18 order by name asc
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
19 ",
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
20 DB_PREFIX,
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
21 DB_PREFIX
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
22 );
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
23 $result = mysql_query($sql) or die(mysql_error());
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
24 unset($sql);
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
25
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
26 // output only if there are orphans
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
27 if (mysql_num_rows($result)) {
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
28 echo ' <li id="orphans">orphans<ul>';
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
29 // output subtree for every orphan
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
30 while($row = mysql_fetch_array($result)) {
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
31 echo navtree($row['idParent']);
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
32 }
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
33 unset($row);
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
34 mysql_free_result($result);
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
35
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
36 echo '</ul></li>';
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
37 }
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
38 ?>
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
39
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
40 <li id="login">
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
41 <?php
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
42 if ($lsys->loggedIn()) {
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
43 echo ' <a href="'. $_GET['id'] .'logout" style="color: #c00;">logout</a>';
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
44 } else {
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
45 ?>
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
46 <form name="loginform" action="<?php echo $_GET['id']; ?>login" method="post" enctype="multipart/form-data">
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
47 <input name="login_loginname" type="text" />
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
48 <input name="login_password" type="password" />
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
49 <input name="login" type="submit" value="login" style="padding: 0; cursor: pointer;" />
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
50 </form>
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
51 <?php
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
52 }
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
53 ?>
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
54 </li>
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
55
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
56 </ul>
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
57
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
58 <?php
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
59
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
60 function navtree($root) {
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
61 // fetch subcategories
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
62 $result = mysql_query("select * from ". DB_PREFIX ."Owls where idParent = $root order by name asc");
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
63
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
64 $return = '';
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
65 while($row = mysql_fetch_array($result)) {
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
66 $return .= '<li><a href="'. $row['id'] .'"'. (($_GET['id'] == $row['id']) ? ' id="selected"' : '') .'>'. $row['name'] .'</a>';
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
67 if ($row['id'] != $row['idParent']) {
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
68 $subtree = navtree($row['id']);
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
69 if (!empty($subtree)) {
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
70 $return .= '&nbsp;&nbsp;<a href="javascript:toggleVisibility(\''. $row[id] .'\')" id="ctrl'. $row['id'] .'" style="display: none;">-</a>';
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
71 $return .= '<ul id="node'. $row['id'] .'">'. $subtree .'</ul>';
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
72 }
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
73 unset($subtree);
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
74 }
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
75 $return .= '</li>';
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
76 }
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
77 unset($row);
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
78 mysql_free_result($result);
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
79
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
80 // return
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
81 return $return;
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
82 }
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
83
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
84 ?>
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
85
3021ce32ee14 begin of using hg for owls
"Meillo r e t u r n s <meillo@marmaro.de>"
parents:
diff changeset
86 <!-- Content -->