Mercurial > owls
diff Owls.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/Owls.php Sun Dec 03 22:32:13 2006 +0100 @@ -0,0 +1,212 @@ +<?php + require_once 'Includes/Header.inc.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); + + } + + + require_once 'Includes/Footer.inc.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" style="font-size: 0.8em;"> + <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"> + <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 + $result = mysql_query("select * from ". DB_PREFIX ."Owls order by name asc") or die(mysql_error()); + while($rowCats = mysql_fetch_array($result)) { + echo ' <option value="'.$rowCats['id'].'"'. (($row['idParent'] == $rowCats['id']) ? ' selected="selected"' : '') .'>'.stripslashes($rowCats['name']).'</option>'; + } +?> + </select><br /><br /> +<?php + } +?> + <input name="editDoc_title" type="text" value="<?php echo stripslashes($row['name']); ?>" style="width: 99%;" /><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); +} + + + + +?> +