ER-Sourceviewer 2007 v2.0

Alle Dateien, die hier eingesehen werden können, sind unter der GNU GPL lizenziert. Wenn du etwas darin findest, das du gerne hättest, so schreibe mir doch bitte eine Anfrage damit ich, wenn ich es rausgeben will, alle Änderungen raussuchen könnte. Denn ich übernehme keine Verantwortung, solltest du was rausnehmen und es geht nicht. Und Support deswegen geb ich schon gar nicht.

Solltest du eine Schwachstelle im Code finden, sei es eine kritische Lücke oder eine Möglichkeit zu cheaten, dann bitte ich dich, mir das mitzuteilen. Solltest du beim cheaten erwischt werden, werde ich deinen Account eigenhändig löschen & bannen; Solltest du meinen Server angreifen, so werde ich meine Rechtsschutzversicherung kontaktieren.

Zur Source springen

Verzeichnisse:


Source anzeigen

Nach Oben


<?php
/*
 * Author: Chaosmaker <webmaster@chaosonline.de>
 * Server: http://logd.chaosonline.de
 *
 * bugs for superuser grotto

CREATE TABLE IF NOT EXISTS `bugs` (
  `taskid` int(10) unsigned NOT NULL auto_increment,
  `acctid` int(10) unsigned NOT NULL default '0',
  `postdate` datetime NOT NULL default '0000-00-00 00:00:00',
  `title` varchar(50) NOT NULL default '',
  `task` text NOT NULL,
  `importance` enum('unwichtig','nicht dringend','normal','dringend','sehr dringend') NOT NULL default 'normal',
  `implementation` int(10) unsigned NOT NULL default '0',
  `finished` datetime NOT NULL default '0000-00-00 00:00:00',
  `status` enum('offen','angenommen','abgelehnt','umgesetzt') NOT NULL default 'offen',
  `userinfo` enum('geheim','publik') NOT NULL default 'geheim',
  PRIMARY KEY  (`taskid`),
  KEY `status` (`status`),
  KEY `finished` (`finished`)
) TYPE=MyISAM COMMENT='bugse';

 */
require_once "common.php";

page_header('Bugs und anregungen');

if(
$session['user']['zeiten']==0){
addnav("Zurück zur Stadt","village.php");
}
if(
$session['user']['zeiten']==1){
addnav("Zurück zur Stadt","village.php");
}
if(
$session['user']['zeiten']==2){
addnav("Zurück zur Stadt","village2.php");
}
if(
$session['user']['zeiten']==3){
addnav("Vergangenheit","village.php");
addnav("Gegenwart","village2.php");
}

if (
$_GET['op']=='inserttask') {
    
//if (trim($_POST['title'])!='' && trim($_POST['task'])!='') {
        
$sql 'INSERT INTO bugs (acctid,postdate,title,task,importance) VALUES ('.$session['user']['acctid'].',NOW(),"'.$_POST['title'].'","'.$_POST['task'].'","'.$_POST['importance'].'")';
        
db_query($sql);
        
$id db_insert_id(LINK);
        
redirect('bugs.php?op=viewtask&id='.$id);
    
//}
    /*else {
        output('`4`bFehler: Bitte gib sowohl Titel als auch Beschreibung an!`b`0`n`n');
        $_GET['op'] = 'newtask';
    } */
}
elseif (
$_GET['op']=='deltask') {
    
$sql 'DELETE FROM commentary WHERE section="bugs-'.$_GET['id'].'"';
    
db_query($sql);
    
$sql 'DELETE FROM bugs WHERE taskid='.$_GET['id'];
    
db_query($sql);
    
$_GET['op'] = '';
}


if (
$_GET['op']=='viewtask') {
    
addnav('Aktualisieren','bugs.php?op=viewtask&id='.$_GET['id']);
    
addnav('Zurück','bugs.php');
    
output('`c`bbugse - Aufgabendetails`b`c`n`n');

    
addcommentary();
    if (
$_POST['edittask']!='') {
        
//if (trim($_POST['title'])!='' && trim($_POST['task'])!='') {
            
$sql 'UPDATE bugs SET importance="'.$_POST['importance'].'",status="'.$_POST['status'].'",userinfo="'.$_POST['userinfo'].'"'.($_POST['status']=='umgesetzt'||$_POST['status']=='abgelehnt'?',finished=NOW()':',finished=""').' WHERE taskid='.$_GET['id'];
            
db_query($sql);
            
$sql 'INSERT INTO commentary (section, author, comment,emote, postdate) VALUES ("bugs-'.$_GET['id'].'",'.$session['user']['acctid'].',"`\& hat den Eintrag am '.date('d.m.Y, H:i').' Uhr, geändert.",1,NOW())';
            
db_query($sql);
        
//}
       /* else {
            output('`4`bFehler: Bitte gib sowohl Titel als auch Beschreibung an!`b`0`n`n');
        }*/
    
}
    elseif (
$_GET['act']=='taketask') {
        
$sql 'UPDATE bugs SET implementation='.$session['user']['acctid'].' WHERE taskid='.$_GET['id'];
        
db_query($sql);
        
redirect('bugs.php?op=viewtask&id='.$_GET['id']);
    }
    elseif (
$_GET['act']=='droptask') {
        
$sql 'UPDATE bugs SET implementation=0 WHERE taskid='.$_GET['id'];
        
db_query($sql);
        
redirect('bugs.php?op=viewtask&id='.$_GET['id']);
    }

    
$session['bugs'][$_GET['id']] = date('Y-m-d H:i:s');

    
$sql 'SELECT t.*, a1.name AS poster, a2.name AS implementor FROM bugs t LEFT JOIN accounts a1 USING(acctid) LEFT JOIN accounts a2 ON a2.acctid=t.implementation WHERE t.taskid='.$_GET['id'];
    
$result db_query($sql);
    
$row db_fetch_assoc($result);
if (
$session['user']['superuser']>=2){
    if (
$row['implementation']==0) {
        
$row['implementor'] = '`iniemand`i [<a href="bugs.php?op=viewtask&act=taketask&id='.$_GET['id'].'">übernehmen</a>]';
        
addnav('','bugs.php?op=viewtask&act=taketask&id='.$_GET['id']);
    }
    else {
        if (
$row['implementation']==$session['user']['acctid']) {
            
$row['implementor'] .= ' [<a href="bugs.php?op=viewtask&act=droptask&id='.$_GET['id'].'">abgeben</a>]';
            
addnav('','bugs.php?op=viewtask&act=droptask&id='.$_GET['id']);
        }
        else {
            
$row['implementor'] .= ' [<a href="bugs.php?op=viewtask&act=droptask&id='.$_GET['id'].'">abnehmen</a> ';
            
addnav('','bugs.php?op=viewtask&act=droptask&id='.$_GET['id']);
            
$row['implementor'] .= '| <a href="bugs.php?op=viewtask&act=taketask&id='.$_GET['id'].'">übernehmen</a>]';
            
addnav('','bugs.php?op=viewtask&act=taketask&id='.$_GET['id']);
            }
        }
    }

    if (
$row['finished']<=0$row['finished'] = '---';
    
output('<form action="bugs.php?op=deltask&id='.$_GET['id'].'" method="post">',true);

    
addnav('','bugs.php?op=deltask&id='.$_GET['id']);
if (
$session['user']['superuser']>=2){
    
output('<input type="submit" class="button" value="Eintrag löschen" onClick="return confirm(\'Soll der Eintrag wirklich gelöscht werden?\');" />',true);
    }
    
output('</form>',true);
if (
$session['user']['superuser']>=2){
    
output('<form action="bugs.php?op=viewtask&id='.$_GET['id'].'" method="post">',true);
    
addnav('','bugs.php?op=viewtask&id='.$_GET['id']);
    
output('<input type="hidden" name="edittask" value="1" />',true);

    
output("Titel: `4".soap($row['title'])."`n`0",true);
    
output("Beschreibung:`n `\$".soap($row['task'])."`0`n",true);
    
$form = array(
            
'postdate'=>'Erstellt,viewonly',
            
'poster'=>'Von,viewonly',
            
'implementor'=>'Umsetzung,viewonly',
            
'status'=>'Status,enum,offen,,angenommen,,abgelehnt,,umgesetzt,',
            
'finished'=>'Fertiggestellt,viewonly'
            
);
            
showform($form,$row);
    
output('</form>',true);

    
output("`n`@Kommentare:`n");
    
viewcommentary("bugs-{$_GET['id']}","Hinzufügen",200);
            }elseif (
$session['user']['superuser']<=1){
    
output('<form action="bugs.php?op=viewtask&id='.$_GET['id'].'" method="post">',true);
    
addnav('','bugs.php?op=viewtask&id='.$_GET['id']);
    
output('<input type="hidden" name="edittask" value="1" />',true);

    
output("`n`n`nTitel: `4".soap($row['title'])."`n`0",true);
    
output("Beschreibung:`n `\$".soap($row['task'])."`n`0`n`n`n",true);
    
$form = array(
            
'postdate'=>'Erstellt,viewonly',
            
'poster'=>'Von,viewonly',
            
'implementor'=>'Umsetzung,viewonly',
            
'status'=>'Status,enum,offen,,angenommen,,abgelehnt,,umgesetzt,',
            
'finished'=>'Fertiggestellt,viewonly'
            
);

    
showform($form,$row);
    
output('</form>',true);

    
output("`n`@Kommentare:`n");
    
viewcommentary("bugs-{$_GET['id']}","Hinzufügen",200);
}
}
elseif (
$_GET['op']=='newtask') {
    
addnav('Zurück','bugs.php');
    
output('`c`bbugse - Aufgabe hinzufügen`b`c`n`n');
    
output('<form action="bugs.php?op=inserttask" method="post">',true);
    
addnav('','bugs.php?op=inserttask');
    
$form = array(
            
'title'=>'Titel (max. 50 Zeichen)',
            
'task'=>'Beschreibung,textarea,60,10',
            
'importance'=>'Dringlichkeit,enum,unwichtig,,nicht dringend,,normal,,dringend,,sehr dringend,'
            
);
    
$row = array('title'=>$_POST['title'],'task'=>$_POST['task'],'importance'=>$_POST['importance']);
    
showform($form,$row);
    
output('</form>',true);
}
else {
    
addnav('Aktualisieren','bugs.php');
    
output('`c`bbugse - aktuelle Aufgaben`b`c`n`n');
    
output("<table border=0 cellpadding=2 cellspacing=1 bgcolor='#999999'>",true);
    
output("<tr class='trhead'><td><b>Aufgabe</b></td><td><b>Erstellt</b></td><td><b>Von</b></td><td><b>Umsetzung</b></td><td><b>Kommentare</b></td><td><b>Letzter Kommentar</b></td><td><b>Dringlichkeit</b></td><td><b>Status</b></td><td><b>Infos</b></td></tr>",true);
    
$i 0;
    
$sql 'SELECT t.*, a1.name AS poster, a2.name AS implementor, IF(c.section IS NULL,0,COUNT(*)) AS commentcount, MAX(c.postdate) AS lastcomment FROM bugs t LEFT JOIN accounts a1 USING(acctid) LEFT JOIN accounts a2 ON a2.acctid=t.implementation LEFT JOIN commentary c ON c.section=CONCAT("bugs-",t.taskid) GROUP BY t.taskid ORDER BY t.status ASC, t.importance DESC, lastcomment DESC, postdate DESC';
    
$result db_query($sql) or die(db_error(LINK));
    while (
$row db_fetch_assoc($result)) {
        
output("<tr class='".($i%2?"trdark":"trlight")."'><td>",true);
        if (
max($row['postdate'],$row['lastcomment'])>max($session['lastlogoff'],$session['bugs'][$row['taskid']])) {
            
output('`4*`0');
        }
        switch(
$row['status']) {
            case 
'angenommen':
                
$col '`6';
                break;
            case 
'abgelehnt':
                
$col '`4';
                break;
            case 
'umgesetzt':
                
$col '`2';
                break;
            case 
'offen':
            default:
                
$col '`Q';
        }
        
output('<a href="bugs.php?op=viewtask&id='.$row['taskid'].'">',true);
        
addnav('','bugs.php?op=viewtask&id='.$row['taskid']);
        
output($row['title']);
        
output('</a>',true);
        
output('</td><td>',true);
        
output($row['postdate']);
        
output('</td><td>',true);
        
output($row['poster']);
        
output('</td><td>',true);
        if (
$row['implementation']>0output($row['implementor']);
        else 
output('---');
        
output('</td><td>',true);
        
output($row['commentcount']);
        
output('</td><td>',true);
        if (
$row['lastcomment']>0output($row['lastcomment']);
        else 
output('---');
        
output('</td><td>',true);
        
output($row['importance']);
        
output('</td><td>',true);
        
output($col.$row['status'].'`0');
        
output('</td><td>',true);
        
$i++;
    }
    
output('</table>',true);
    
addnav('Aufgabe hinzufügen','bugs.php?op=newtask');
}
$session[user][location]=91;
page_footer();
?>