owls

annotate Owls.php @ 9:eb5bff360deb

TIME_SESSION_EXPIRES: now class const
author Meillo r e t u r n s <meillo@marmaro.de>
date Thu, 14 Dec 2006 21:51:44 +0100
parents ab74e95a8040
children 144bc36a6c27
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@4 185 <div class="ctrl">
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@4 223 <div id="edit" style="position: relative; width: 99%">
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