1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171:
|
<?php // entdeckt und kopiert auf Rabenthal.de ;) // Vielen Dank an die dortigen Programmierer für diese großartige Arbeit
require_once "common.php";
page_header('Todolist');
grotto_nav();
if ($_GET['op']=='inserttask') { if (trim($_POST['title'])!='' && trim($_POST['task'])!='') { $sql = 'INSERT INTO todolist (acctid,postdate,title,task,importance) VALUES ('.$session['user']['acctid'].',NOW(),"'.$_POST['title'].'","'.$_POST['task'].'","'.$_POST['importance'].'")'; db_query($sql); $id = db_insert_id(LINK); // adminlog(); redirect('todolist.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 = 'SELECT * FROM commentary WHERE section="todolist-'.$_GET['id'].'"'; db_query($sql); $sql = 'DELETE FROM todolist WHERE taskid='.$_GET['id']; db_query($sql); // adminlog(); $_GET['op'] = ''; }
if ($_GET['op']=='viewtask') { addnav('Aktualisieren','todolist.php?op=viewtask&id='.$_GET['id']); addnav('Zurück','todolist.php'); output('`c`bTodoliste - Aufgabendetails`b`c`n`n');
addcommentary(false); if ($_POST['edittask']!='') { if (trim($_POST['title'])!='' && trim($_POST['task'])!='') { $sql = 'UPDATE todolist SET title="'.$_POST['title'].'",task="'.$_POST['task'].'",importance="'.$_POST['importance'].'",status="'.$_POST['status'].'",userinfo="'.$_POST['userinfo'].'"'.($_POST['status']=='umgesetzt'?',finished=NOW()':',finished=""').' WHERE taskid='.$_GET['id']; db_query($sql); // adminlog(); } else { output('`4`bFehler: Bitte gib sowohl Titel als auch Beschreibung an!`b`0`n`n'); } } elseif ($_GET['act']=='taketask') { $sql = 'UPDATE todolist SET implementation='.$session['user']['acctid'].' WHERE taskid='.$_GET['id']; db_query($sql); // adminlog(); redirect('todolist.php?op=viewtask&id='.$_GET['id']); } elseif ($_GET['act']=='droptask') { $sql = 'UPDATE todolist SET implementation=0 WHERE taskid='.$_GET['id']; db_query($sql); // adminlog(); redirect('todolist.php?op=viewtask&id='.$_GET['id']); }
$session['todolist'][$_GET['id']] = date('Y-m-d H:i:s');
$sql = 'SELECT t.*, a1.name AS poster, a2.name AS implementor FROM todolist 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 ($row['implementation']==0) { $row['implementor'] = '`iniemand`i [<a href="todolist.php?op=viewtask&act=taketask&id='.$_GET['id'].'">übernehmen</a>]'; addnav('','todolist.php?op=viewtask&act=taketask&id='.$_GET['id']); } else { if ($row['implementation']==$session['user']['acctid']) { $row['implementor'] .= ' [<a href="todolist.php?op=viewtask&act=droptask&id='.$_GET['id'].'">abgeben</a>]'; addnav('','todolist.php?op=viewtask&act=droptask&id='.$_GET['id']); } else { $row['implementor'] .= ' [<a href="todolist.php?op=viewtask&act=droptask&id='.$_GET['id'].'">abnehmen</a> '; addnav('','todolist.php?op=viewtask&act=droptask&id='.$_GET['id']); $row['implementor'] .= '| <a href="todolist.php?op=viewtask&act=taketask&id='.$_GET['id'].'">übernehmen</a>]'; addnav('','todolist.php?op=viewtask&act=taketask&id='.$_GET['id']); } }
if ($row['finished']<=0) $row['finished'] = '---';
output('<form action="todolist.php?op=viewtask&id='.$_GET['id'].'" method="post">',true); addnav('','todolist.php?op=viewtask&id='.$_GET['id']); output('<input type="hidden" name="edittask" value="1" />',true); $form = array( 'title'=>'Titel (max. 50 Zeichen)', 'task'=>'Beschreibung,textarea,60,10', 'postdate'=>'Erstellt,viewonly', 'poster'=>'Von,viewonly', 'implementor'=>'Umsetzung,viewonly', 'importance'=>'Dringlichkeit,enum,unwichtig,,nicht dringend,,normal,,dringend,,sehr dringend,', 'status'=>'Status,enum,offen,,angenommen,,abgelehnt,,umgesetzt,', 'userinfo'=>'Infos,enum,geheim,,publik,', 'finished'=>'Fertiggestellt,viewonly' ); showform($form,$row); output('</form>',true); output('<form action="todolist.php?op=deltask&id='.$_GET['id'].'" method="post">',true); addnav('','todolist.php?op=deltask&id='.$_GET['id']); output('<input type="submit" class="button" value="Eintrag löschen" onClick="return confirm(\'Soll der Eintrag wirklich gelöscht werden?\');" />',true); output('</form>',true);
output("`n`@Kommentare:`n"); viewcommentary("todolist-{$_GET['id']}","Hinzufügen",200); } elseif ($_GET['op']=='newtask') { addnav('Zurück','todolist.php'); output('`c`bTodoliste - Aufgabe hinzufügen`b`c`n`n'); output('<form action="todolist.php?op=inserttask" method="post">',true); addnav('','todolist.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','todolist.php'); output('`c`bTodoliste - 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 todolist t LEFT JOIN accounts a1 USING(acctid) LEFT JOIN accounts a2 ON a2.acctid=t.implementation LEFT JOIN commentary c ON c.section=CONCAT("todolist-",t.taskid) GROUP BY t.taskid ORDER BY t.status ASC, t.importance DESC, lastcomment DESC, postdate DESC'; $result = db_query($sql); 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['todolist'][$row['taskid']])) { output('`4*`0'); } output('<a href="todolist.php?op=viewtask&id='.$row['taskid'].'">',true); addnav('','todolist.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']>0) output($row['implementor']); else output('---'); output('</td><td>',true); output($row['commentcount']); output('</td><td>',true); if ($row['lastcomment']>0) output($row['lastcomment']); else output('---'); output('</td><td>',true); output($row['importance']); output('</td><td>',true); output($row['status']); output('</td><td>',true); output($row['userinfo']); output('</td></tr>',true); $i++; } output('</table>',true); addnav('Aufgabe hinzufügen','todolist.php?op=newtask'); }
page_footer(); ?>
|