Mercurial > owls
view Owls.php @ 8:2672cd855fa2
added further doxygen-comments
author | Meillo r e t u r n s <meillo@marmaro.de> |
---|---|
date | Wed, 13 Dec 2006 23:08:55 +0100 |
parents | 3cacc24e1774 |
children | 144bc36a6c27 |
line wrap: on
line source
<?php define('DB_PREFIX', 'rem__1_'); define('TITLE', 'Owls'); require_once '../Db.inc.php'; require_once 'Includes/Loginsys.class.php'; include_once 'Includes/Bbcodeparser.inc.php'; $lsys = &new Loginsys(); ?> <!-- `Owls' - some kind of wiki system (c) Copyright 2006 &> by Meillo r e t u r n s This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. http://prog.marmaro.de/owls/ --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xml:lang="de" xmlns="http://www.w3.org/1999/xhtml"> <head> <title><?php echo htmlentities(TITLE); ?></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="shortcut icon" href="favicon.ico" /> <link rel="stylesheet" type="text/css" href="Owls.css.php" /> <script type="text/javascript"> <!-- function sureToDelete(id) { if (window.prompt("Type 'delete' to delete","") == "delete") { location.href = id +"d"; } } /* I want to use this function later ... perhaps function toggleVisibility(boxId) { if (document.getElementById('node'+ boxId).style.display == 'none') { document.getElementById('node'+ boxId).style.display = ""; document.getElementById('ctrl'+ boxId).firstChild.nodeValue = "-"; } else{ document.getElementById('node'+ boxId).style.display = "none"; document.getElementById('ctrl'+ boxId).firstChild.nodeValue = "+"; } } */ //--> </script> </head> <body> <div id="websiteContainer"> <!-- Banner --> <img src="Owls.png" id="banner" alt="<?php echo htmlentities(TITLE); ?>" /> <?php if ($_GET['action'] == 'show') { // show show($lsys); } else if ($_GET['action'] == 'new' && $lsys->loggedIn()) { // new create($lsys); } else if ($_GET['action'] == 'edit' && $lsys->loggedIn()) { // edit edit($lsys); } else if ($_GET['action'] == 'delete' && $lsys->loggedIn()) { // delete delete($lsys); } else if ($_GET['action'] == 'login') { // login $lsys->login($_POST['login_loginname'], md5($_POST['login_password'])); show($lsys); } else if ($_GET['action'] == 'logout') { // logout $lsys->logout(); show($lsys); } else { // startpage $_GET['id'] = 1; show($lsys); } ?> </div> </div> </body> </html> <?php /* displays content of the node performs action 'edit' shows admincontrols if logged in */ function show($lsys) { // perform action: write edited node to db if (isset($_POST['editDoc']) && $lsys->loggedIn()) { $_POST['editDoc_title'] = addslashes($_POST['editDoc_title']); $_POST['editDoc_text'] = addslashes($_POST['editDoc_text']); mysql_query("update ". DB_PREFIX ."Owls set name='$_POST[editDoc_title]', text='$_POST[editDoc_text]', idParent='$_POST[editDoc_idCategory]', date=". time() ." where id='$_GET[id]'") or die(mysql_error()); } // print nav include 'Includes/Nav.inc.php'; // query data of the node $result = mysql_query("select * from ". DB_PREFIX ."Owls where id=$_GET[id]"); // catch nodes that not exist if (!mysql_num_rows($result)) { $fnord = array('', 'Fnord is the space between the pixels on your screen.', 'Fnord is the echo of silence.', 'Fnord is evaporated herbal tea without the herbs.', 'Fnord is what you see when you close your eyes.', 'Fnord is the empty pages at the end of the book.', 'Fnord is why ducks eat trees.', 'Fnord is the bucket where they keep the unused serifs for H*lvetica.', 'Fnord is the source of all the zero bits in your computer.' ); ?> <div id="content"> <h2>Error 23 - fnord found</h2> <p> <?php echo $fnord[rand(0, sizeof($fnord)-1)]; ?> </p> <?php } else { $row = mysql_fetch_array($result); echo ' <div id="content">'."\n"; // display admin controls if logged in if ($lsys->loggedIn()) { ?> <div class="ctrl"> <a href="<?php echo $row['id'] .'n'; ?>">new</a> <a href="<?php echo $row['id'] .'e'; ?>">edit</a> <?php if ($row['id'] != 1) { echo '<a href="javascript:sureToDelete('. $row['id'] .')">delete</a>'; } ?> </div> <?php } // print content of the node echo ' <h2>'.stripslashes($row['name']).'</h2>'."\n"; if (!empty($row['text'])) { echo ' <p>'.bbcode(stripslashes($row['text']), 1, 1).'</p>'; } } echo "\n\n"; } /* displays edit form */ function edit($lsys) { include 'Includes/Nav.inc.php'; $sql = "select * from ". DB_PREFIX ."Owls where id=$_GET[id]"; $result = mysql_query($sql) or die(mysql_error()); $row = mysql_fetch_array($result); echo '<div id="content">'; ?> <div id="edit" style="position: relative; width: 99%"> <form action="<?php echo $row['id']; ?>" method="post" enctype="multipart/form-data"> <?php if ($_GET['id'] != 1) { ?> <select name="editDoc_idCategory" style="width: 99%;"> <?php $sql = sprintf(" select * from %sOwls where id != %d and idParent != %d -- not in ( -- select idParent from %sOwls -- ) order by name asc ", DB_PREFIX, $row['id'], $row['id'], DB_PREFIX ); $result = mysql_query($sql) or die(mysql_error()); unset($sql); while($rowCats = mysql_fetch_array($result)) { echo ' <option value="'.$rowCats['id'].'"'. (($row['idParent'] == $rowCats['id']) ? ' selected="selected" style="font-weight: bold;"' : '') .'>'.stripslashes($rowCats['name']).'</option>'; } ?> </select><br /><br /> <?php } ?> <input name="editDoc_title" type="text" value="<?php echo stripslashes($row['name']); ?>" style="width: 99%; font-weight: bold;" /><br /> <textarea name="editDoc_text" cols="60" rows="15" style="width: 99%; height: 30em;"><?php echo stripslashes($row['text']); ?></textarea><br /><br /> <input name="editDoc" type="submit" value="edit" class="button" style="width: 99%;" /> </form> </div> <?php unset($row); unset($result); } /* performs action 'new' */ function create($lsys) { // perform action: new node mysql_query(" insert into ". DB_PREFIX ."Owls (idParent, date) values('$_GET[id]',". time() .") ") or die(mysql_error()); // set node to jump to (new created node) $_GET['id'] = mysql_insert_id(); edit($lsys); } /* performs action 'delete' */ function delete($lsys) { // not allowed to delete the root if ($_GET['id'] != 1) { // TODO: get the parent of the one which is to delete // delete mysql_query("delete from ". DB_PREFIX ."Owls where id='$_GET[id]'") or die(mysql_error()); } // set node to jump to (TODO: parent from above) $_GET['id'] = 1; show($lsys); } ?>