LoGD Standardrelease steht hier zum Download zur Verfügung!

Zeige Source: /library.php

Hier klicken für den Source, ODER
Weitere Dateien, von denen du den Quelltext sehen kannst:
(Das Lesen des Source, um sich spielerische Vorteile zu verschaffen, ist nicht erlaubt. Solltest du Schwachstellen oder Fehler entdecken, bist du als Spieler verpflichtet, diese zu melden.)

Source von: /library.php

<?php
/*
* author: bibir (logd_bibir@email.de)
*      and Chaosmaker (webmaster@chaosonline.de)
*      for http://logd.chaosonline.de
*
* version: 1.2
*
*     a library with text from users to help other
*        a bit like faq
*
* details:
*  (15.11.04) start of idea
*  (15.01.05) project finished
*  (16.01.05) version 1.2: several minor bugfixes
*/

require_once "common.php";

addcommentary();
if(!isset(
$_GET['op'])) $_GET['op']="";



$sql "SELECT count(bookid) AS anz FROM lib_books WHERE activated='1'";
$result db_query($sql) or die(db_error(LINK));
$books db_fetch_assoc($result);
page_header("Stadtbibliothek");
$session[user][ort]='Stadtbibliothek Hanau';



switch(
$_GET['op']){
case 
"browse":
    
addnav("Umkehren");
    
addnav("H?Zurück in die Halle","library.php");
    
    
place();
    
$sql "SELECT t.*, COUNT(b.bookid) as anz FROM lib_themes t
            LEFT JOIN lib_books b ON b.themeid=t.themeid AND b.activated='1'
            GROUP BY themeid
            ORDER BY listorder ASC"
;
    
$result db_query($sql) or die(db_error(LINK));
    
output("<table cellpadding=2 cellspacing=1 bgcolor='#999999'><tr class='trhead'><td>Thema</td><td>Bücher</td></tr>",true);
    
$bgclass '';
    
addnav("Themen");
    while (
$row db_fetch_assoc($result)) {
        
$bgclass = ($bgclass=='trdark'?'trlight':'trdark');
        if (
$row['anz']>0) {
            
output("<tr class='$bgclass'><td><a href=\"library.php?op=theme&id=".$row['themeid']."\">",true);
            
output($row['theme']);
            
output("`0</a></td><td align='right'>".$row['anz']."</td></tr>",true);
        }
        else {
            
output("<tr class='$bgclass'><td>",true);
            
output($row['theme']);
            
output("`0</td><td>kein Buch</td></tr>",true);
        }
        
addnav("","library.php?op=theme&id=".$row['themeid']);
        
addnav($row['theme'],"library.php?op=theme&id=".$row['themeid']);
    }
    
output("</table>",true);
    break;

case 
"theme":
    
addnav("Umkehren");
    
addnav("H?Zurück in die Halle","library.php");
    
//addnav("Andere Regale","library.php?op=browse");

    
addnav("Themen");
    
$sql "SELECT themeid, theme FROM lib_themes ORDER BY listorder ASC";
    
$result db_query($sql) or die(db_error(LINK));
    while (
$row db_fetch_assoc($result)) {
        if (
$row['themeid']!=$_GET['id']) {
            
addnav($row['theme'],"library.php?op=theme&id=".$row['themeid']);
         }
        else {
            
addnav($row['theme'],'');
            
$thistheme $row['theme'];
        }
    }

    
output("`c`b".$thistheme."`0`b`c");
    
output("`n`&Zu diesem Thema stehen dir folgende Bücher zur Verfügung:`n`n");

    
$sql "SELECT title, bookid, author FROM lib_books
            WHERE themeid="
.$_GET['id']." AND activated='1' ORDER BY listorder ASC";
    
$result db_query($sql) or die(db_error(LINK));
    
output("<table cellpadding=2 cellspacing=1 bgcolor='#999999'><tr class='trhead'><td>Titel</td><td>Autor</td></tr>",true);
    if (
db_num_rows($result)==0) {
        
output("<tr class='trdark'><td colspan='2'>Es gibt leider bisher noch keine Bücher zu diesem Thema.</td></tr>",true);
    }
    else {
        
addnav('Bücher');
        
$bgclass '';
        while (
$row db_fetch_assoc($result)) {
            
$bgclass = ($bgclass=='trdark'?'trlight':'trdark');
            
output("<tr class='$bgclass'><td><a href=\"library.php?op=book&bookid=".$row['bookid']."\">",true);
            
output($row['title']);
            
output("`0</a></td><td>",true);
            
output($row['author']);
            
output("`0</td></tr>",true);
            
addnav("","library.php?op=book&bookid=".$row['bookid']);
            
addnav($row['title'],'library.php?op=book&bookid='.$row['bookid']);
        }
    }
    
output("</table>",true);
    break;

    case 
"lesesaal"
                
place();
        
         
//Navigation 
            
addnav("Umkehren"); 
            
addnav("In die Halle","library.php"); 

            
//Textfeld 
        
viewcommentary("lesesaal","",5);
    break;
    
case 
"book":
    
addnav("H?Zurück in die Halle","library.php");
    
//addnav("Ein anderes Thema","library.php?op=browse");

    
$sql "SELECT t.theme, b.themeid, b.title, b.book, b.author FROM lib_books b
            LEFT JOIN lib_themes t USING(themeid)
            WHERE bookid="
.$_GET['bookid'];
    
$result db_query($sql) or die(db_error(LINK));
    
$row db_fetch_assoc($result);

    
//addnav("R?Zurück ans Regal","library.php?op=theme&id=".$row['themeid']);
    

    
addnav("Themen");
    
$sql "SELECT themeid, theme FROM lib_themes ORDER BY listorder ASC";
    
$result db_query($sql) or die(db_error(LINK));
    while (
$row2 db_fetch_assoc($result)) {
        
addnav($row2['theme'],"library.php?op=theme&id=".$row2['themeid']);
    }

    
addnav('Bücher');
    
$sql 'SELECT title, bookid FROM lib_books WHERE themeid='.$row['themeid'].' AND activated="1" ORDER BY listorder ASC';
    
$result db_query($sql) or die(db_error(LINK));
    while (
$row2 db_fetch_assoc($result)) {
        if (
$row2['bookid']!=$_GET['bookid']) addnav($row2['title'],'library.php?op=book&bookid='.$row2['bookid']);
        else 
addnav($row2['title'],'');
    }

    
//nichts editierbar
    
output("<table cellpadding=2 cellspacing=1 bgcolor='#999999'><tr class='trdark'><td>Thema:</td><td>",true);
    
output($row['theme']);
    
output("`0</td></tr><tr class='trlight'><td>Titel:</td><td>",true);
    
output($row['title']);
    
output("`0</td></tr><tr class='trdark'><td>Autor:</td><td>",true);
    
output($row['author']);
    
output("`0</td></tr><tr class='trlight'><td colspan='2'>",true);
    
output(str_replace("\n",'`n',$row['book']));
    
output('</td></tr></table>',true);
    break;

case 
"offer":
    
addnav("H?Zurück in die Halle","library.php");
    if (
$_GET['subop']=="save" && !empty($_POST['title']) && !empty($_POST['book'])) {
        
addnav("Weiteres Buch schreiben","library.php?op=offer");
        
output("`&Dein Buch wurde zum Druck eingereicht.`0");
        
// maximale sortiernummer holen
        
$sql 'SELECT MAX(listorder) AS maxorder FROM lib_books';
        
$result db_query($sql);
        
$row db_fetch_assoc($result);
        
$sql "INSERT INTO lib_books (themeid, acctid, author, title, book, listorder)
            VALUES ('
{$_POST['themeid']}', '{$session['user']['acctid']}', '{$session['user']['name']}', '{$_POST['title']}', '{$_POST['book']}', '{$row['maxorder']}')";
        
db_query($sql);
    }
    else {
        if (
$_GET['subop']=='save') {
            
output('`c`$Wie soll ein Buch gedruckt werden, wenn nicht Titel und Inhalt existieren?`0`c`n`n');
            
$_POST['title'] = str_replace('`','``',$_POST['title']);
            
$_POST['book'] = str_replace('`','``',$_POST['book']);
        }
        else 
$_POST['title'] = $_POST['book'] = $_POST['themeid'] = '';
        
output("`&Hier hast du die Möglichkeit, eigenes Wissen niederzuschreiben und anderen damit zur Verfügung zu stellen.`n`n
        Nun liegt es an dir, die Zeilen auf das Pergament zu bringen, die du dein Wissen nennst.`0"
);
        
output("<form action=\"library.php?op=offer&subop=save\" method='POST'>",true);
        
output("<table cellpadding=2 cellspacing=1 bgcolor='#999999'><tr class='trdark'><td>Thema:</td><td><select name='themeid'>",true);
        
$sql2 "SELECT * FROM lib_themes ORDER BY listorder ASC";
        
$result2 db_query($sql2) or die(db_error(LINK));
        while (
$row2 db_fetch_assoc($result2)) {
            
output("<option value='".$row2['themeid']."' ".($row2['themeid']==$_POST['themeid']?" selected='selected'":"").">".preg_replace('/`./','',$row2['theme'])."</option>",true);
        }
        
output("</select></td></tr>",true);
        
output("<tr class='trlight'><td>Titel:</td><td><input class='input' type='text' name='title' value='{$_POST['title']}' maxlength='50' size='50'></td></tr>",true);
        
output("<tr class='trdark'><td colspan='2'>Mein Wissen über dieses Thema:</td></tr>",true);
        
output("<tr class='trdark'><td colspan='2'><textarea name='book' class='input' cols='60' rows='10'>{$_POST['book']}</textarea></td></tr>",true);
        
output("<tr class='trlight'><td colspan='2'><input type='submit' class='button' value='Einreichen'></td></tr></table></form>",true);
        
addnav("","library.php?op=offer&subop=save");
    }
    break;
    
    
default:

place();

    
viewcommentary("library","",5);
    
    
addnav("Umkehren"); 
    
addnav('Zurück zum Hauptplatz','hauptplatz.php');
    
addnav("Aktion");
    
addnav("Stöbern","library.php?op=browse");
    
addnav("Buch einreichen","library.php?op=offer");
    
addnav('Umsehen');
    
addnav("Lesesaal","library.php?op=lesesaal");
}
checkday();
page_footer();
?>