LoGD Standardrelease steht hier zum Download zur Verfügung!

Zeige Source: /zeitung.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: /zeitung.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
*
* Umschreibung der Texte für die Zeitung von Redrogar und Nithaque
* http://www.redrogar.at/logd/index.php
*
*/

require_once "common.php";
checkday();
addcommentary();
if(!isset(
$_GET['op'])) $_GET['op']="";

addnav('Zum Brunnenplatz','village.php');
addnav('Der Bote');


$sql "SELECT count(bookid) AS anz FROM zeitung_books WHERE activated='1'";
$result db_query($sql) or die(db_error(LINK));
$books db_fetch_assoc($result);
page_header("Der Bote");
output("`c`b`9Die Zeitung für Alresia`0`b`c`n");

switch(
$_GET['op']){
case 
"browse":
    
addnav("In die Halle","zeitung.php");
    
addnav("Artikel einreichen","zeitung.php?op=offer");
    
output("`tDu gehst durch die Regalreihen und siehst, dass alle Zeitungen ordentlich einsortiert sind.`n
    Folgende Zeitungen stehen derzeit zur Einsicht:`n`n"
);
    
$sql "SELECT t.*, COUNT(b.bookid) as anz FROM zeitung_themes t
            LEFT JOIN zeitung_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=\"zeitung.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("","zeitung.php?op=theme&id=".$row['themeid']);
        
addnav($row['theme'],"zeitung.php?op=theme&id=".$row['themeid']);
    }
    
output("</table>",true);
    break;

case 
"theme":
    
addnav("In die Halle","zeitung.php");
    
//addnav("Andere Regale","zeitung.php?op=browse");
    
addnav("Artikel einreichen","zeitung.php?op=offer");

    
addnav("Themen");
    
$sql "SELECT themeid, theme FROM zeitung_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'],"zeitung.php?op=theme&id=".$row['themeid']);
         }
        else {
            
addnav($row['theme'],'');
            
$thistheme $row['theme'];
        }
    }

    
output("`c`b".$thistheme."`0`b`c");
    
output("`n`6In dieser Zeitung sind noch folgende Artikel enthalten:`n`n");

    
$sql "SELECT title, bookid, author FROM zeitung_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 Artikel zu dieser Zeitung.</td></tr>",true);
    }
    else {
        
addnav('Zeitungen');
        
$bgclass '';
        while (
$row db_fetch_assoc($result)) {
            
$bgclass = ($bgclass=='trdark'?'trlight':'trdark');
            
output("<tr class='$bgclass'><td><a href=\"zeitung.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("","zeitung.php?op=book&bookid=".$row['bookid']);
            
addnav($row['title'],'zeitung.php?op=book&bookid='.$row['bookid']);
        }
    }
    
output("</table>",true);
    break;

case 
"book":
    
addnav("In die Halle","zeitung.php");
    
//addnav("Ein anderes Thema","zeitung.php?op=browse");

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

    
//addnav("Ans Regal","zeitung.php?op=theme&id=".$row['themeid']);
    
addnav("Artikel einreichen","zeitung.php?op=offer");

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

    
addnav('Zeitungen');
    
$sql 'SELECT title, bookid FROM zeitung_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'],'zeitung.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("In die Halle","zeitung.php");
    if (
$_GET['subop']=="save" && !empty($_POST['title']) && !empty($_POST['book'])) {
        
addnav("Weiteren Artikel schreiben","zeitung.php?op=offer");
        
output("`tDein Artikel wurde zum Druck eingereicht.`0");
        
// maximale sortiernummer holen
        
$sql 'SELECT MAX(listorder) AS maxorder FROM zeitung_books';
        
$result db_query($sql);
        
$row db_fetch_assoc($result);
        
$sql "INSERT INTO zeitung_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 Artikel 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("`tHier hast du die Möglichkeit, eigene Artikel zu schreiben.`n`n
        Nun liegt es an dir, die Zeilen auf das Pergament zu bringen, die du als Schlagzeile erachtest.`0"
);
        
output("<form action=\"zeitung.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 zeitung_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("","zeitung.php?op=offer&subop=save");
    }
    break;

default:
    
output('`c`b`iDer Bote`b`n
`TRedaktion der regionalen Zeitung`i`n`n`n


`tW`6i`Tr bitten um Terminvereinbarung, da der Kalender unserer Mitarbeiter ziemlich straff geführt wi`6r`td.`n`n`c

`i`TDas kleine Gebäude mit dem seltsam schiefen Schild über der Eingangstür, das trotzdem noch vollkommen neu auf dich wirkt, hat dich fast schon magisch in seinen Bann gezogen, und als du nun die Tür hinter dir schließt, bist du vollkommen erstaunt…`n
Überall hörst du Stimmen, die wild aufeinander einreden…Einige der Mitarbeiter sitzen hinter hölzernen Tischen, brennende Kerzen vor sich, und beschreiben mit raschen Bewegungen Pergamentbögen. Ständig tritt jemand hinter dir durch die Türe, schiebt dich zur Seite, da du anscheinend im Weg bist, und legt weitere Zeichnungen und Pergamentbögen auf einem Tisch ab…Verwundert beobachtest du das stetige Kommen und Gehen…das geschäftige Treiben, welches du bis jetzt nur vom Markt kanntest.`n`n

Eine Frau, welche bis vor wenigen Momenten ebenso beschäftigt durch den Raum geeilt war, wird plötzlich auf dich aufmerksam und tritt auf dich zu.`n`n

`c`i`t„`TIhr wollt Euch bewerben? Oder einen Artikel abgeben?`t“`i`n`n`c

`TStotternd betrachtest du die Frau und fragst dich, wieso sie dir mit so einem Befehlston entgegentritt…`n`n

`c`i`t„`TNun…Wenn Ihr Euch für eine fixe Stelle hier bewerben wollt, dann braucht Ihr einen Termin…Teilt das Datum bitte den Zuständigen mit, sie werden sich darum kümmern. Und falls Ihr nur einmalig einen Artikel abgeben wollt…auf diesem Tisch dort…`t“`n`n`i`c

`TIhr Sprechschwall verstummt, und mit einer Geste deutet sie auf den Tisch, wo schon die anderen immer wieder die Pergamentbögen abgelegt hatten.`n`n

`c`t`i„`TUnd wenn Ihr Euch die neueste Zeitung kaufen möchtet, dann könnt Ihr dies, wenn Ihr durch die nächste Tür tretet…`t“`i`n`n`c

`TEine rasche Geste zeigt zu der Türe, welche sie gemeint hatte.
Und als du dich endlich entschieden hast und deine Entscheidung der Frau mitteilen möchtest, ist jene verschwunden…In der Menge der anderen Mitarbeiter der Zeitung.

Entweder es herrscht das gewohnte hektische Treiben, oder die Mitarbeiter finden sich gerade zu einer Sitzung ein: `i'
);
    
output("`n`n`&Ein paar Leute unterhalten sich:`n`0");
    
viewcommentary("zeitung","Sprechen:",25);
    
addnav("Stöbern","zeitung.php?op=browse");
    
addnav("Artikel einreichen","zeitung.php?op=offer");
}

page_footer();
?>