rev |
line source |
meillo@0
|
1 <?php
|
meillo@2
|
2
|
meillo@2
|
3 define('DB_PREFIX', 'rem__1_');
|
meillo@2
|
4 define('TITLE', 'Owls');
|
meillo@2
|
5
|
meillo@2
|
6 require_once '../Db.inc.php';
|
meillo@2
|
7 require_once 'Includes/Loginsys.class.php';
|
meillo@2
|
8 include_once 'Includes/Bbcodeparser.inc.php';
|
meillo@2
|
9
|
meillo@2
|
10 $lsys = &new Loginsys();
|
meillo@2
|
11
|
meillo@2
|
12 ?>
|
meillo@2
|
13 <!--
|
meillo@2
|
14
|
meillo@2
|
15 `Owls' - some kind of wiki system
|
meillo@2
|
16
|
meillo@2
|
17
|
meillo@2
|
18 (c) Copyright 2006 &> by Meillo r e t u r n s
|
meillo@2
|
19
|
meillo@2
|
20 This program is free software; you can redistribute it and/or
|
meillo@2
|
21 modify it under the terms of the GNU General Public License
|
meillo@2
|
22 as published by the Free Software Foundation; either version 2
|
meillo@2
|
23 of the License, or (at your option) any later version.
|
meillo@2
|
24
|
meillo@2
|
25 This program is distributed in the hope that it will be useful,
|
meillo@2
|
26 but WITHOUT ANY WARRANTY; without even the implied warranty of
|
meillo@2
|
27 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
meillo@2
|
28 GNU General Public License for more details.
|
meillo@2
|
29
|
meillo@2
|
30
|
meillo@2
|
31 http://prog.marmaro.de/owls/
|
meillo@2
|
32
|
meillo@2
|
33 -->
|
meillo@2
|
34
|
meillo@2
|
35 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
meillo@2
|
36
|
meillo@2
|
37 <html xml:lang="de" xmlns="http://www.w3.org/1999/xhtml">
|
meillo@2
|
38 <head>
|
meillo@2
|
39 <title><?php echo htmlentities(TITLE); ?></title>
|
meillo@2
|
40 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
meillo@2
|
41 <link rel="shortcut icon" href="favicon.ico" />
|
meillo@2
|
42 <link rel="stylesheet" type="text/css" href="Owls.css.php" />
|
meillo@2
|
43 <script type="text/javascript">
|
meillo@2
|
44 <!--
|
meillo@2
|
45 function sureToDelete(id) {
|
meillo@2
|
46 if (window.prompt("Type 'delete' to delete","") == "delete") {
|
meillo@2
|
47 location.href = id +"d";
|
meillo@2
|
48 }
|
meillo@2
|
49 }
|
meillo@2
|
50
|
meillo@2
|
51 /* I want to use this function later ... perhaps
|
meillo@2
|
52 function toggleVisibility(boxId) {
|
meillo@2
|
53 if (document.getElementById('node'+ boxId).style.display == 'none') {
|
meillo@2
|
54 document.getElementById('node'+ boxId).style.display = "";
|
meillo@2
|
55 document.getElementById('ctrl'+ boxId).firstChild.nodeValue = "-";
|
meillo@2
|
56 } else{
|
meillo@2
|
57 document.getElementById('node'+ boxId).style.display = "none";
|
meillo@2
|
58 document.getElementById('ctrl'+ boxId).firstChild.nodeValue = "+";
|
meillo@2
|
59 }
|
meillo@2
|
60 }
|
meillo@2
|
61 */
|
meillo@2
|
62 //-->
|
meillo@2
|
63 </script>
|
meillo@2
|
64 </head>
|
meillo@2
|
65
|
meillo@2
|
66 <body>
|
meillo@2
|
67 <div id="websiteContainer">
|
meillo@2
|
68
|
meillo@2
|
69 <!-- Banner -->
|
meillo@2
|
70 <img src="Owls.png" id="banner" alt="<?php echo htmlentities(TITLE); ?>" />
|
meillo@2
|
71
|
meillo@2
|
72 <?php
|
meillo@2
|
73
|
meillo@2
|
74
|
meillo@2
|
75
|
meillo@0
|
76
|
meillo@0
|
77
|
meillo@0
|
78 if ($_GET['action'] == 'show') { // show
|
meillo@0
|
79 show($lsys);
|
meillo@0
|
80
|
meillo@0
|
81 } else if ($_GET['action'] == 'new' && $lsys->loggedIn()) { // new
|
meillo@0
|
82 create($lsys);
|
meillo@0
|
83
|
meillo@0
|
84 } else if ($_GET['action'] == 'edit' && $lsys->loggedIn()) { // edit
|
meillo@0
|
85 edit($lsys);
|
meillo@0
|
86
|
meillo@0
|
87 } else if ($_GET['action'] == 'delete' && $lsys->loggedIn()) { // delete
|
meillo@0
|
88 delete($lsys);
|
meillo@0
|
89
|
meillo@0
|
90 } else if ($_GET['action'] == 'login') { // login
|
meillo@0
|
91 $lsys->login($_POST['login_loginname'], md5($_POST['login_password']));
|
meillo@0
|
92 show($lsys);
|
meillo@0
|
93
|
meillo@0
|
94 } else if ($_GET['action'] == 'logout') { // logout
|
meillo@0
|
95 $lsys->logout();
|
meillo@0
|
96 show($lsys);
|
meillo@0
|
97
|
meillo@0
|
98 } else { // startpage
|
meillo@0
|
99 $_GET['id'] = 1;
|
meillo@0
|
100 show($lsys);
|
meillo@0
|
101
|
meillo@0
|
102 }
|
meillo@0
|
103
|
meillo@0
|
104
|
meillo@2
|
105
|
meillo@2
|
106
|
meillo@2
|
107
|
meillo@2
|
108 ?>
|
meillo@2
|
109
|
meillo@2
|
110 </div>
|
meillo@2
|
111
|
meillo@2
|
112
|
meillo@2
|
113 </div>
|
meillo@2
|
114
|
meillo@2
|
115 </body>
|
meillo@2
|
116 </html>
|
meillo@2
|
117 <?php
|
meillo@0
|
118
|
meillo@0
|
119
|
meillo@0
|
120
|
meillo@0
|
121
|
meillo@0
|
122
|
meillo@0
|
123
|
meillo@0
|
124
|
meillo@0
|
125
|
meillo@0
|
126
|
meillo@0
|
127
|
meillo@0
|
128
|
meillo@0
|
129 /*
|
meillo@0
|
130 displays content of the node
|
meillo@0
|
131 performs action 'edit'
|
meillo@0
|
132 shows admincontrols if logged in
|
meillo@0
|
133 */
|
meillo@0
|
134 function show($lsys) {
|
meillo@0
|
135
|
meillo@0
|
136 // perform action: write edited node to db
|
meillo@0
|
137 if (isset($_POST['editDoc']) && $lsys->loggedIn()) {
|
meillo@0
|
138 $_POST['editDoc_title'] = addslashes($_POST['editDoc_title']);
|
meillo@0
|
139 $_POST['editDoc_text'] = addslashes($_POST['editDoc_text']);
|
meillo@0
|
140 mysql_query("update ". DB_PREFIX ."Owls set
|
meillo@0
|
141 name='$_POST[editDoc_title]',
|
meillo@0
|
142 text='$_POST[editDoc_text]',
|
meillo@0
|
143 idParent='$_POST[editDoc_idCategory]',
|
meillo@0
|
144 date=". time() ."
|
meillo@0
|
145 where id='$_GET[id]'") or die(mysql_error());
|
meillo@0
|
146 }
|
meillo@0
|
147
|
meillo@0
|
148 // print nav
|
meillo@0
|
149 include 'Includes/Nav.inc.php';
|
meillo@0
|
150
|
meillo@0
|
151
|
meillo@0
|
152 // query data of the node
|
meillo@0
|
153 $result = mysql_query("select * from ". DB_PREFIX ."Owls where id=$_GET[id]");
|
meillo@0
|
154
|
meillo@0
|
155 // catch nodes that not exist
|
meillo@0
|
156 if (!mysql_num_rows($result)) {
|
meillo@0
|
157
|
meillo@0
|
158 $fnord = array('',
|
meillo@0
|
159 'Fnord is the space between the pixels on your screen.',
|
meillo@0
|
160 'Fnord is the echo of silence.',
|
meillo@0
|
161 'Fnord is evaporated herbal tea without the herbs.',
|
meillo@0
|
162 'Fnord is what you see when you close your eyes.',
|
meillo@0
|
163 'Fnord is the empty pages at the end of the book.',
|
meillo@0
|
164 'Fnord is why ducks eat trees.',
|
meillo@0
|
165 'Fnord is the bucket where they keep the unused serifs for H*lvetica.',
|
meillo@0
|
166 'Fnord is the source of all the zero bits in your computer.'
|
meillo@0
|
167 );
|
meillo@0
|
168
|
meillo@0
|
169 ?>
|
meillo@0
|
170 <div id="content">
|
meillo@0
|
171 <h2>Error 23 - fnord found</h2>
|
meillo@0
|
172 <p>
|
meillo@0
|
173 <?php echo $fnord[rand(0, sizeof($fnord)-1)]; ?>
|
meillo@0
|
174 </p>
|
meillo@0
|
175 <?php
|
meillo@0
|
176
|
meillo@0
|
177 } else {
|
meillo@0
|
178
|
meillo@0
|
179 $row = mysql_fetch_array($result);
|
meillo@0
|
180 echo ' <div id="content">'."\n";
|
meillo@0
|
181
|
meillo@0
|
182 // display admin controls if logged in
|
meillo@0
|
183 if ($lsys->loggedIn()) {
|
meillo@0
|
184 ?>
|
meillo@0
|
185 <div class="ctrl" style="font-size: 0.8em;">
|
meillo@0
|
186 <a href="<?php echo $row['id'] .'n'; ?>">new</a>
|
meillo@0
|
187 <a href="<?php echo $row['id'] .'e'; ?>">edit</a>
|
meillo@0
|
188 <?php
|
meillo@0
|
189 if ($row['id'] != 1) {
|
meillo@0
|
190 echo '<a href="javascript:sureToDelete('. $row['id'] .')">delete</a>';
|
meillo@0
|
191 }
|
meillo@0
|
192 ?>
|
meillo@0
|
193 </div>
|
meillo@0
|
194 <?php
|
meillo@0
|
195 }
|
meillo@0
|
196
|
meillo@0
|
197 // print content of the node
|
meillo@0
|
198 echo ' <h2>'.stripslashes($row['name']).'</h2>'."\n";
|
meillo@0
|
199 if (!empty($row['text'])) {
|
meillo@0
|
200 echo ' <p>'.bbcode(stripslashes($row['text']), 1, 1).'</p>';
|
meillo@0
|
201 }
|
meillo@0
|
202 }
|
meillo@0
|
203 echo "\n\n";
|
meillo@0
|
204
|
meillo@0
|
205 }
|
meillo@0
|
206
|
meillo@0
|
207
|
meillo@0
|
208
|
meillo@0
|
209
|
meillo@0
|
210
|
meillo@0
|
211 /*
|
meillo@0
|
212 displays edit form
|
meillo@0
|
213 */
|
meillo@0
|
214 function edit($lsys) {
|
meillo@0
|
215
|
meillo@0
|
216 include 'Includes/Nav.inc.php';
|
meillo@0
|
217
|
meillo@0
|
218 $sql = "select * from ". DB_PREFIX ."Owls where id=$_GET[id]";
|
meillo@0
|
219 $result = mysql_query($sql) or die(mysql_error());
|
meillo@0
|
220 $row = mysql_fetch_array($result);
|
meillo@0
|
221 echo '<div id="content">';
|
meillo@0
|
222 ?>
|
meillo@0
|
223 <div id="edit">
|
meillo@0
|
224 <form action="<?php echo $row['id']; ?>" method="post" enctype="multipart/form-data">
|
meillo@0
|
225 <?php
|
meillo@0
|
226 if ($_GET['id'] != 1) {
|
meillo@0
|
227 ?>
|
meillo@0
|
228 <select name="editDoc_idCategory" style="width: 99%;">
|
meillo@0
|
229 <?php
|
meillo@2
|
230 $sql = sprintf("
|
meillo@2
|
231 select
|
meillo@2
|
232 *
|
meillo@2
|
233 from %sOwls
|
meillo@2
|
234 where
|
meillo@2
|
235 id != %d
|
meillo@2
|
236 and idParent != %d
|
meillo@2
|
237 -- not in (
|
meillo@2
|
238 -- select idParent from %sOwls
|
meillo@2
|
239 -- )
|
meillo@2
|
240 order by name asc
|
meillo@2
|
241 ",
|
meillo@2
|
242 DB_PREFIX,
|
meillo@2
|
243 $row['id'],
|
meillo@2
|
244 $row['id'],
|
meillo@2
|
245 DB_PREFIX
|
meillo@2
|
246 );
|
meillo@2
|
247 $result = mysql_query($sql) or die(mysql_error());
|
meillo@2
|
248 unset($sql);
|
meillo@0
|
249 while($rowCats = mysql_fetch_array($result)) {
|
meillo@2
|
250 echo ' <option value="'.$rowCats['id'].'"'. (($row['idParent'] == $rowCats['id']) ? ' selected="selected" style="font-weight: bold;"' : '') .'>'.stripslashes($rowCats['name']).'</option>';
|
meillo@0
|
251 }
|
meillo@0
|
252 ?>
|
meillo@0
|
253 </select><br /><br />
|
meillo@0
|
254 <?php
|
meillo@0
|
255 }
|
meillo@0
|
256 ?>
|
meillo@2
|
257 <input name="editDoc_title" type="text" value="<?php echo stripslashes($row['name']); ?>" style="width: 99%; font-weight: bold;" /><br />
|
meillo@0
|
258 <textarea name="editDoc_text" cols="60" rows="15" style="width: 99%; height: 30em;"><?php
|
meillo@0
|
259 echo stripslashes($row['text']);
|
meillo@0
|
260 ?></textarea><br /><br />
|
meillo@0
|
261 <input name="editDoc" type="submit" value="edit" class="button" style="width: 99%;" />
|
meillo@0
|
262 </form>
|
meillo@0
|
263 </div>
|
meillo@0
|
264 <?php
|
meillo@0
|
265 unset($row);
|
meillo@0
|
266 unset($result);
|
meillo@0
|
267 }
|
meillo@0
|
268
|
meillo@0
|
269
|
meillo@0
|
270
|
meillo@0
|
271
|
meillo@0
|
272
|
meillo@0
|
273
|
meillo@0
|
274 /*
|
meillo@0
|
275 performs action 'new'
|
meillo@0
|
276 */
|
meillo@0
|
277 function create($lsys) {
|
meillo@0
|
278
|
meillo@0
|
279 // perform action: new node
|
meillo@0
|
280 mysql_query("
|
meillo@0
|
281 insert into ". DB_PREFIX ."Owls
|
meillo@0
|
282 (idParent, date)
|
meillo@0
|
283 values('$_GET[id]',". time() .")
|
meillo@0
|
284 ") or die(mysql_error());
|
meillo@0
|
285
|
meillo@0
|
286 // set node to jump to (new created node)
|
meillo@0
|
287 $_GET['id'] = mysql_insert_id();
|
meillo@0
|
288 edit($lsys);
|
meillo@0
|
289 }
|
meillo@0
|
290
|
meillo@0
|
291
|
meillo@0
|
292
|
meillo@0
|
293
|
meillo@0
|
294
|
meillo@0
|
295 /*
|
meillo@0
|
296 performs action 'delete'
|
meillo@0
|
297 */
|
meillo@0
|
298 function delete($lsys) {
|
meillo@0
|
299 // not allowed to delete the root
|
meillo@0
|
300 if ($_GET['id'] != 1) {
|
meillo@0
|
301 // TODO: get the parent of the one which is to delete
|
meillo@0
|
302
|
meillo@0
|
303 // delete
|
meillo@0
|
304 mysql_query("delete from ". DB_PREFIX ."Owls where id='$_GET[id]'") or die(mysql_error());
|
meillo@0
|
305 }
|
meillo@0
|
306 // set node to jump to (TODO: parent from above)
|
meillo@0
|
307 $_GET['id'] = 1;
|
meillo@0
|
308 show($lsys);
|
meillo@0
|
309 }
|
meillo@0
|
310
|
meillo@0
|
311
|
meillo@0
|
312
|
meillo@0
|
313
|
meillo@0
|
314 ?>
|
meillo@0
|
315
|