<?
require "./_config.inc.php";
require "./prg/func.php";
mysql_connect_and_select($host,$username,$password,$database);
$log = false;
if ($busername != $name) {
$log = true;
}
if ($bpasswort != $pw) {
$log = true;
}
$return = "[<a href='$scriptname?action=start'>Neues Ticket</a>] [<a href='$scriptname?action=show'>Ticket anzeigen</a>] [<a href='$scriptname?action=help'>Hilfe</a>]<hr>";
if ($log == false) {
$return .= "[<a href='$scriptname?action=admin'>Ticketübersicht</a>]<br>";
}
if (!$action || $action == "start") {
setcookie ("name", $name, time()-10);
setcookie ("pw", $pw, time()-10);
$return .= "Bitte beschreiben Sie Ihr Problem im folgenden Formular. <br>Ein Supportmitarbeiter wird umgehend Kontakt mit Ihnen aufnehmen.<br>Achten Sie unbedingt auf eine korrekte eMail-Adresse, da dorthin Antworten verschickt werden.<br>Die eMail-Adresse wird nur für das Ticketsystem benutzt und nicht für andere zwecke.<br><br><center><i>Bitte geben Sie immer ihre Kundennummer mit an. So ist es Leichter für unsere Supportmitarbeiter.</i></center><br>";
$return .= "<form ENCTYPE='multipart/form-data' action='$scriptname' method=post name=posting>\n
<input type=hidden name='action' value='neues_ticket2'>";
$return .= "<div align='center'><center><table width='90%' cellspacing='0' cellpadding='0' border='0' align='CENTER' bgcolor='$rahmen'><tr><td>";
$return .= "<table width='100%' valign='middle' border='0' cellspacing='1' cellpadding='3'>";
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='55%' colspan='3'><center><font size='1'><b>Neues Support Ticket anlegen</b></font></center></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='left'>Ihr Vor- und Nachname:</p></td>";
$return .= "<td bgcolor='$hg' width='34%'><center><input type='text' name='name' size='52'></center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='left'>Ihr Gültige eMail-Adresse:</p></td>";
$return .= "<td bgcolor='$hg' width='34%'><center><input type='text' name='email' size='52'></center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='left'>Ihre Homepage Adresse:</p></td>";
$return .= "<td bgcolor='$hg' width='34%'><center><input type='text' name='url' size='52'></center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='left'>Betreff:</p></td>";
$return .= "<td bgcolor='$hg' width='34%'><center><input type='text' name='betreff' value='$betreff' size='52'></center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg'><p align='left'>Ihr Nachricht:</p></td>";
$return .= "<td bgcolor='$hg'><center><textarea name='message' rows='10' cols='40' wrap='virtual'></textarea></center></td>";
$return .= "<td bgcolor='$hg'></td>";
$return .= '</tr>';
if ($dateiupload) {
$return .= "<tr>";
$return .= '<input type="hidden" name="MAX_FILE_SIZE" value="'.$maximale_dateigroesse.'">';
$return .= "<td bgcolor='$hg'><p align='left'>Datei:</p></td>";
$return .= "<td bgcolor='$hg'><center><input type='file' name='file'><br>(Maximale Dateigröße ist " . $maximale_dateigroesse / 1000 . "kb)</center></td>";
$return .= "<td bgcolor='$hg'></td>";
$return .= '</tr>';
}
$return .= "<tr>";
$return .= "<td bgcolor='$hg'></td>";
$return .= "<td bgcolor='$hg'><center><input type=submit value='Ticket absenden' size=10></form></center></td>";
$return .= "<td bgcolor='$hg'></td>";
$return .= '</tr>';
$return .= '</table></td></tr></table></div>';
}
elseif ($action == "help") {
$return .= "Unser Ticketsystem bietet Ihnen die Möglichkeit, kompetente Lösungen für Ihre Probleme zu erhalten. Die Vorteile gegenüber einer normalen eMail an den Support liegen auf der Hand:<br><br>
<ul>
<li>Es geht keine Supportanfrage verloren.</li>
<li>Sie haben jederzeit einen Überblick über den aktuellen Bearbeitungsstand Ihres Tickets.</li>
<li>Alle Lösungsschritte sind dokumentiert.</li>
<li>Das Ticket wird dem jeweiligen Experten zur Bearbeitung zugewiesen. Mehrfache Mails an verschiedene Supportabteilungen entfallen.</li>
<li>Auch bereits erledigte Tickets werden noch für einen gewissen Zeitraum aufbewahrt um einmal gefundene Lösungen gleich wieder parat zu haben.</li>
</ul>
Geben Sie einfach Ihren Namen und Ihre Emailadresse im Formular an. Wählen Sie einen Bereich aus, der am Besten zu Ihrer Anfrage passt. Bei der Problembeschreibung achten Sie wenn möglich darauf, dass an der ersten Zeile bereits erkennbar ist, worum es geht.
<br>
Wenn Sie Ihr Ticket angelegt haben, erhalten Sie eine Bestätigungsnachricht, die ihre Ticket-ID und einen Code enthält. Mit diesen Daten können Sie sich jederzeit über den aktuellen Bearbeitungsstand ihres Tickets informieren.
Sie erhalten eine weitere Nachricht, wenn eine Bearbeitung des Tickets vorgenommen wurde. Diese Nachricht enthält dann ggf. auch eine Beschreibung der Lösung.";
}
elseif ($action == "neues_ticket2") {
$fehler = false;
if (!eregi( "^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$", $email)) {
$return .= 'Ihre eMail-Adresse ist nicht korrekt.<br>';
$fehler = true;
}
if (!$name) {
$return .= 'Sie haben keinen Namen angegeben.<br>';
$fehler = true;
}
if (!$betreff) {
$return .= 'Sie haben keinen Betreff angegeben.<br>';
$fehler = true;
}
if (!$message) {
$return .= 'Sie haben keine Nachricht angegeben.<br>';
$fehler = true;
}
if ($fehler == false) {
$query = "select * from oss_" . $ticketsystem_id . "data";
$result = @mysql_query($query);
$var = @mysql_fetch_array($result);
$id = $var['ids'];
$temp = $var['ids']+1;
$query = "update oss_" . $ticketsystem_id . "data set ids='$temp'";
mysql_query($query);
srand(time());
$accesscode = "";
$zeichen .= "1234567890";
for ($i = 0; $i < 7; $i++) {
$n = rand() % strlen($zeichen);
$accesscode .= substr($zeichen, $n, 1);
}
if ($file_name) {
$datei_nicht_hochgeladen = false;
if ($dateiupload != "true") {
$return .= "Die Dateiuploadfunktion wurde deaktiviert.<br><br>";
}
else
{
if ($dateiuploads[strlen($dateiuploads)] != "/") $dateiuploads .= "/";
if (file_exists($dateiuploads.$id.".".$file_name . ".txt") && $file_name) {
$return .= "Eine Datei mit dem gleichen Namen ist schon auf dem Server, bitte benennen Sie Ihre Datei um. <a href='javascript:history.back()'>Zurück</a><br><br>";
}
elseif (!@copy($file, $dateiuploads.$id.".".$file_name . ".txt"))
{
$return .= "Es ist ein Fehler beim Hochladen der Datei aufgetreten. Die Datei ist wahrscheinlich zu groß.<a href='javascript:history.back()'>Zurück</a><br><br>";
$datei_nicht_hochgeladen = true;
}
}
}
if ($datei_nicht_hochgeladen != true){
$query = "insert into oss_" . $ticketsystem_id . "tickets (id , time, name, email, url, password, betreff, message, filename, isticket, closed) values
('$id','".time()."', '$name','$email','$url','$accesscode','$betreff','$message','$file_name','1','0')";
if (!mysql_query($query)) {
$return .= "<b>Das Ticket konnte nicht gespeichert werden, es trat ein Datenbankfehler auf.</b>";
}
else
{
$message1="Hallo $name,\n\nIhr Ticket wurde erfolgreich ausgefüllt und abgesendet. In den nächsten 24 Stunden wird ihr Ticket beantwortet. Sie werden natürlich per eMail auf dem Laufenden gehalten.\n\nUm das Ticket aufzurufen, benutzen Sie bitte folgende Daten:\n\nID: ".$id."\nAccess-Code: ".$accesscode."\n\nEinloggen können Sie sich auf $scriptname. Diese Nachricht wurde gespeichert: \n\n$message\n\n$absendername";
$message2="Hallo Support Team,\n\nEs wurde ein neues Ticket von $name erstellt. Zum einloggen gehen Sie bitte nach $scriptname?action=show\n\nDiese Nachricht wurde gespeichert:\n$message\n\n$absendername";
@mail($email,"RE:" . $betreff ,$message1,"From: " . $absendername. "<" . $fromemail . ">");
@mail($bemail,"Anfrage " . $betreff,$message2,"From: " . $absendername. "<" . $fromemail . ">");
$return .= 'Das Ticket wurde erfolgreich ausgefüllt und abgesendet. In den nächsten 24 Stunden wird ihr Ticket beantwortet. Sie werden natürlich per eMail auf dem Laufenden gehalten.\n\nUm das Ticket aufzurufen benutzen Sie bitte folgende Daten:<br><br>
<b>ID: '.$id.'</b><br><b>Access-Code: '.$accesscode.'</b><br><br>
Sie erreichen das Ticket auch über diesen <a href="'.$scriptname.'?action=show2&id='.$id.'&code='.$accesscode.'">Link</a>.';
}
}
}
}
elseif ($action == 'show') {
setcookie ("name", $name, time()-10);
setcookie ("pw", $pw, time()-10);
$return .= 'Wenn Sie ein Ticket angelegt haben, können Sie hier den aktuellen Bearbeitungsstand überprüfen.<br>Bitte geben Sie eine gültige Ticket-ID und den dazugehörigen Code ein.';
$return .= "<form action='$scriptname' method=post name=posting>\n
<input type=hidden name='action' value='show2'>";
$return .= "<div align='center'><center><table width='90%' cellspacing='0' cellpadding='0' border='0' align='CENTER' bgcolor='$rahmen'><tr><td>";
$return .= "<table width='100%' valign='middle' border='0' cellspacing='1' cellpadding='3'>";
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='55%' colspan='3'><center><font size='1'><b>Support Ticket anzeigen</b></font></center></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='left'>Ticket-ID:</p></td>";
$return .= "<td bgcolor='$hg' width='34%'><center><input type='text' name='id' size='52'></center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='left'>Code:</p></td>";
$return .= "<td bgcolor='$hg' width='34%'><center><input type='password' name='code' size='52'></center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg'></td>";
$return .= "<td bgcolor='$hg'><center><input type=submit value='Ticket anzeigen' size=10></form></center></td>";
$return .= "<td bgcolor='$hg'></td>";
$return .= '</tr>';
$return .= '</table></td></tr></table></div>';
$return .= "<form action='$scriptname' method=post name=posting>\n
<input type=hidden name='action' value='pw'>";
$return .= "<div align='center'><center><table width='90%' cellspacing='0' cellpadding='0' border='0' align='CENTER' bgcolor='$rahmen'><tr><td>";
$return .= "<table width='100%' valign='middle' border='0' cellspacing='1' cellpadding='3'>";
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='55%' colspan='3'><center><font size='1'><b>Code vergessen ?</b></font></center></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='left'>Ticket-ID:</p></td>";
$return .= "<td bgcolor='$hg' width='34%'><center><input type='text' name='id' size='52'></center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg'></td>";
$return .= "<td bgcolor='$hg'><center><input type=submit value='Code zusenden' size=10></form></center></td>";
$return .= "<td bgcolor='$hg'></td>";
$return .= '</tr>';
$return .= '</table></td></tr></table></div>';
$return .= "<br><form action='$scriptname' method=post name=posting>\n
<input type=hidden name='action' value='admin'>";
$return .= "<div align='center'><center><table width='90%' cellspacing='0' cellpadding='0' border='0' align='CENTER' bgcolor='$rahmen'><tr><td>";
$return .= "<table width='100%' valign='middle' border='0' cellspacing='1' cellpadding='3'>";
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='55%' colspan='3'><center><font size='1'><b>Supporterlogin</b></font></center></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='left'>Name:</p></td>";
$return .= "<td bgcolor='$hg' width='34%'><center><input type='text' name='name' size='52'></center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='left'>Password:</p></td>";
$return .= "<td bgcolor='$hg' width='34%'><center><input type='password' name='pw' size='52'></center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg'></td>";
$return .= "<td bgcolor='$hg'><center><input type=submit value='Tickets anzeigen' size='10'></form></center></td>";
$return .= "<td bgcolor='$hg'></td>";
$return .= '</tr>';
$return .= '</table></td></tr></table></div>';
}
elseif ($action == "show2") {
$querystr = "select * from oss_" . $ticketsystem_id . "tickets where id='$id' and password='$code' order by time asc";
$number = mysql_query($querystr);
$number_tickets = mysql_numrows($number);
$a=0;
if (!$number_tickets) {
$return .= "Es wurde kein Ticket mit dieser ID und dem Passwort gefunden.<br>";
}
else
{
$return .= "Anzeige des Tickets <b>$id</b> (Antworten: ".($number_tickets - 1).")<br><br>";
$row = mysql_fetch_array($number);
$querystr = "select * from oss_" . $ticketsystem_id . "tickets where id='$id' and password='$code' order by time desc";
$number = mysql_query($querystr);
if ($row['closed']) {
$return .= "Das Ticket ist geschlossen. Daher sind keine weiteren Antworten möglich.<br><br>";
}
else
{
$return .= "<form ENCTYPE='multipart/form-data' action='$scriptname' method=post name=posting>\n
<input type=hidden name='action' value='antw_ticket'>
<input type=hidden name='id' value='".$row['id']."'>
<input type=hidden name='code' value='".$row['password']."'>
<input type=hidden name='name' value='".$row['name']."'>";
$return .= "<div align='center'><center><table width='90%' cellspacing='0' cellpadding='0' border='0' align='CENTER' bgcolor='$rahmen'><tr><td>";
$return .= "<table width='100%' valign='middle' border='0' cellspacing='1' cellpadding='3'>";
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='55%' colspan='3'><center><font size='1'><b>Antworten</b></font></center></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='right'>Name</p></td>";
$return .= "<td bgcolor='$hg2' width='34%'><center>".$row['name']."</center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='right'>Betreff</p></td>";
$return .= "<td bgcolor='$hg' width='34%'><center><input type='text' name='betreff' size='52' value='RE: ".$row['betreff']."'></center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg'><p align='right'>Message</p></td>";
$return .= "<td bgcolor='$hg'><center><textarea name='message' rows='10' cols='40' wrap='virtual'></textarea></center></td>";
$return .= "<td bgcolor='$hg'></td>";
$return .= '</tr>';
if ($dateiupload) {
$return .= "<tr>";
$return .= '<input type="hidden" name="MAX_FILE_SIZE" value="'.$maximale_dateigroesse.'">';
$return .= "<td bgcolor='$hg'><p align='right'>Datei</p></td>";
$return .= "<td bgcolor='$hg'><center><input type='file' name='file'><br>(Maximale Dateigröße ist " . $maximale_dateigroesse / 1000 . "kb)</center></td>";
$return .= "<td bgcolor='$hg'></td>";
$return .= '</tr>';
}
$return .= "<tr>";
$return .= "<td bgcolor='$hg'></td>";
$return .= "<td bgcolor='$hg'><center><input type=submit value='Antwort absenden' size=10></form></center></td>";
$return .= "<td bgcolor='$hg'></td>";
$return .= '</tr>';
$return .= '</table></td></tr></table></div><br>';
}
while ($a < $number_tickets) {
$row = mysql_fetch_array($number);
$return .= "<div align='center'><center><table width='90%' cellspacing='0' cellpadding='0' border='0' align='CENTER' bgcolor='$rahmen'><tr><td>";
$return .= "<table width='100%' valign='middle' border='0' cellspacing='1' cellpadding='3'>";
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='55%' colspan='3'><center><font size='1'><b>Ticket#".($number_tickets-$a)."</b> (". uhrzeit($row['time']).")</font></center></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='right'>Nachricht von</p></td>";
$return .= "<td bgcolor='$hg2' width='34%'>";
if ($row['email']) {
$return .= "<a href='mailto:" . $row['email'] . "'>";
}
$return .= $row['name'];
if ($row['email']) {
$return .= "</a>";
}
$return .= "</td>";
$return .= "<td bgcolor='$hg' width='33%'></td></tr>";
$return .= "<tr>";
$return .= "<td bgcolor='$hg2' width='33%' align='center'>";
if ($row['filename']) {
$return .= "Datei: <a href='$url_datei/".$row['id'] . "." . $row['filename'].".txt'>".$row['id'] . "." . $row['filename'].".txt</a>";
}
$return .= " </td>";
$return .= "<td bgcolor='$hg2' width='34%' align='center'>".$row['betreff']."</td>";
$return .= "<td bgcolor='$hg2' width='33%' align='center'>";
if ($row['url']) {
$return .= "Adresse: <a href='".$row['url']."' target='_blank'>Link</a>";
}
$return .= " </td>";
$return .= '</tr>';
$return .= "<tr>";
$row['message'] = htmlentities($row['message']);
$row['message'] = ersetzen($row['message'],0);
$row['message'] = str_replace("[break]","<br>",$row['message']);
$row['message'] = str_replace("[br]","<br>",$row['message']);
$return .= "<td bgcolor='$hg2' width='55%' colspan='3'>".$row['message']."</td>";
$return .= '</tr>';
$return .= '</table></td></tr></table></div><br>';
$a++;
}
}
}
elseif ($action == "antw_ticket") {
$fehler = false;
$querystr = "select * from oss_" . $ticketsystem_id . "tickets where id='$id' and password='$code' order by time asc";
$number = mysql_query($querystr);
if (!mysql_numrows($number)) {
$return .= 'Das Passwort ist falsch.<br>';
$fehler = true;
}
if (!$id) {
$return .= 'Die ID ist nicht korrekt.<br>';
$fehler = true;
}
if (!$name) {
$return .= 'Sie haben keinen Namen angegeben.<br>';
$fehler = true;
}
if (!$betreff) {
$return .= 'Sie haben keinen Betreff angegeben.<br>';
$fehler = true;
}
if (!$message) {
$return .= 'Sie haben keine Nachricht angegeben.<br>';
$fehler = true;
}
if ($fehler == false) {
if ($file_name) {
$datei_nicht_hochgeladen = false;
if ($dateiupload != "true") {
$return .= "Die Dateiuploadfunktion wurde deaktiviert.<br><br>";
}
else
{
if ($dateiuploads[strlen($dateiuploads)] != "/") $dateiuploads .= "/";
if (file_exists($dateiuploads.$id.".".$file_name . ".txt") && $file_name) {
$return .= "Eine Datei mit dem gleichen Namen ist schon auf dem Server, bitte benennen Sie Ihre Datei um. <a href='javascript:history.back()'>Zurück</a><br><br>";
}
elseif (!@copy($file, $dateiuploads.$id.".".$file_name . ".txt"))
{
$return .= "Es ist ein Fehler beim Hochladen der Datei aufgetreten. Die Datei ist wahrscheinlich zu groß.<a href='javascript:history.back()'>Zurück</a><br><br>";
$datei_nicht_hochgeladen = true;
}
}
}
if ($datei_nicht_hochgeladen != true){
$querystr = "select * from oss_" . $ticketsystem_id . "tickets where id='$id' and password='$code' order by time asc";
$number = mysql_query($querystr);
$row = mysql_fetch_array($number);
$query = "insert into oss_" . $ticketsystem_id . "tickets (id , time, name, email, url, password, betreff, message, filename, isticket, closed) values
('$id','".time()."', '$name','','','".$row['password']."','$betreff','$message','$file_name','0','0')";
if (!mysql_query($query)) {
$return .= "<b>Die Antwort konnte nicht gespeichert werden, es trat ein Datenbankfehler auf.</b>";
}
else
{
$message2="Hallo,\n\nEs wurde eine neue Antwort von $name (Ticket#$id) erstellt. Zum einloggen gehen Sie bitte nach $scriptname?action=show\n\nDiese Nachricht wurde gespeichert:\n$message\n\n$absendername";
@mail($bemail,"Antwort $id ",$message2,"From: " . $absendername. "<" . $fromemail . ">");
$return .= 'Die Antwort wurde erfolgreich ausgefüllt und abgesendet. Die Daten für den Zugang zu dem Ticket bleiben erhalten.<br><br>';
}
}
}
}
elseif ($action == "admin") {
$querystr = "select * from oss_" . $ticketsystem_id . "data";
$numberx = mysql_query($querystr);
$rowx = mysql_fetch_array($numberx);
$fehler = false;
if ($busername != $name) {
$return .= "Der Username ist falsch.<br>";
$fehler = true;
}
if ($bpasswort != $pw) {
$return .= "Das Password ist falsch.<br>";
$fehler = true;
}
if ($fehler == false) {
$querystr = "select * from oss_" . $ticketsystem_id . "tickets where isticket='1' order by time desc";
$number = mysql_query($querystr);
$number_tickets = @mysql_numrows($number);
$a=0;
if (!$number_tickets) {
$return .= "<br>Es wurden keine Tickets gefunden.<br><br>";
}
else
{
$lastvisit = $rowx['lastvisit'];
setcookie ("name", $name, time()+31536000);
setcookie ("pw", $pw, time()+31536000);
}
$return .= "<br>[<a href='$scriptname?action=mark'>Beiträge als gelesen markieren</a>] ";
if ($alles_anzeigen == 'true') {
$return .= "[<a href='$scriptname?action=admin&alles_anzeigen=false'>Nur neuere Tickets anzeigen</a>]<br>";
}
else
{
$return .= "[<a href='$scriptname?action=admin&alles_anzeigen=true'>Alle Tickets anzeigen</a>]<br>";
}
$return .="[<a href='$scriptname?action=ausloggen'>Ausloggen</a>]<p><table border='0' width='80%'><tr><td><ul>";
$tickets = array();
$times = array();
while ($a < $number_tickets) {
$row = mysql_fetch_array($number);
$querystr = "select * from oss_" . $ticketsystem_id . "tickets where id='".$row['id']."' order by time desc";
$numberx = mysql_query($querystr);
$rowx = mysql_fetch_array($numberx);
$row['ltime'] = $rowx['time'];
$tickets[$row['ltime']] = $row;
if (time() - $row['ltime'] < $tage_timeout * 24 * 60*60 || $alles_anzeigen == 'true') {
array_push($times,$row['ltime']);
}
$a++;
}
arsort($times);
$a = 0;
foreach ($times as $a) {
$row = $tickets[$a];
$return .="<li>";
if ($row['closed']) {
$fontcolor=$deaktivierte_schrift;
$openclose = 'Öffnen';
}
else
{
$fontcolor=$aktivierte_schrift;
$openclose = 'Schließen';
}
$return .= "<table border='0' width='100%'><tr><td>";
$return .= "<font size='1' color='$fontcolor'><b>Ticket#".($row['id'])."</b> (". uhrzeit($row['time']).")<br>";
if ($lastvisit < $row['ltime']) {
$return .= "<i>Letzter Beitrag vom: ".uhrzeit($row['ltime'])."</i><br>";
}
else
{
$return .= "Letzter Beitrag vom: ".uhrzeit($row['ltime'])."<br>";
}
$return .= "</td><td align='left'>[<a href='$scriptname?action=admin_anzeigen&id=".$row['id']."'>Anzeigen</a>] [<a href='$scriptname?action=admin_open&id=".$row['id']."'>$openclose</a>] [<a href='$scriptname?action=delete&id=".$row['id']."'>Löschen</a>]</font></td></tr></table>";
/*
if ($row['email']) {
$return .= "<a href='mailto:" . $row['email'] . "'>";
}
$return .= $row['name'];
if ($row['email']) {
$return .= "</a> - ";
}
$return .= $row['betreff']."<br>";
*/
/*
$row['message'] = htmlentities($row['message']);
$row['message'] = ersetzen($row['message'],0);
$row['message'] = str_replace("[break]","<br>",$row['message']);
$row['message'] = str_replace("[br]","<br>",$row['message']);
$return .= $row['message'];
*/
$return .="</li>";
}
$return .="</ul></td></tr></table>";
}
}
elseif ($action == "admin_open") {
$fehler = false;
if ($busername != $name) {
$return .= "Der Username ist falsch.<br>";
$fehler = true;
}
if ($bpasswort != $pw) {
$return .= "Das Password ist falsch.<br>";
$fehler = true;
}
if ($fehler == false) {
$return .= "Öffne/Schließe ID # " . $id;
$query = "select * from oss_" . $ticketsystem_id . "tickets where id='$id' and isticket='1'";
$var = mysql_fetch_array(mysql_query($query));
if ($var['closed']) {
$closed = '0';
}
else
{
$closed = '1';
}
$query = "update oss_" . $ticketsystem_id . "tickets set closed='$closed' where id='$id'";
if (mysql_query($query)) {
$return .= "<br><br>Fertig. <a href='$scriptname?action=admin'>Zurück</a>.";
}
else
{
$return .= "<br><br>Es ist ein MySQL-Datenbank Fehler aufgetreten.<a href='$scriptname?action=admin'>Zurück</a>.";
}
}
}
elseif ($action == "ausloggen") {
setcookie ("name", $name, time()-10);
setcookie ("pw", $pw, time()-10);
$return .= "Sie sind nun ausgeloggt.";
}
elseif ($action == "admin_anzeigen") {
$fehler=false;
if ($busername != $name) {
$return .= "Der Username ist falsch.<br>";
$fehler = true;
}
if ($bpasswort != $pw) {
$return .= "Das Password ist falsch.<br>";
$fehler = true;
}
if ($fehler == false) {
$querystr = "select * from oss_" . $ticketsystem_id . "tickets where id='$id' order by time asc";
$number = mysql_query($querystr);
$number_tickets = mysql_numrows($number);
$a=0;
if (!$number_tickets) {
$return .= "Es wurde kein Ticket mit dieser ID gefunden.<br>";
}
else
{
$return .= "Anzeige des Tickets <b>$id</b> (Antworten: ".($number_tickets - 1).")<br><br>";
$row = mysql_fetch_array($number);
$querystr = "select * from oss_" . $ticketsystem_id . "tickets where id='$id' order by time desc";
$number = mysql_query($querystr);
if ($row['closed']) {
$return .= "Das Ticket ist geschlossen. Daher sind keine weiteren Antworten möglich.<br><br>";
}
else
{
$return .= "[<a href='$scriptname?action=admin'>Zurück</a>]<br>";
$return .= "<form ENCTYPE='multipart/form-data' action='$scriptname' method=post name=posting>\n
<input type=hidden name='action' value='admin_antw'>
<input type=hidden name='id' value='".$row['id']."'>
<input type=hidden name='name' value='".$ihr_name."'>";
$return .= "<div align='center'><center><table width='90%' cellspacing='0' cellpadding='0' border='0' align='CENTER' bgcolor='$rahmen'><tr><td>";
$return .= "<table width='100%' valign='middle' border='0' cellspacing='1' cellpadding='3'>";
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='55%' colspan='3'><center><font size='1'><b>Antworten</b></font></center></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='right'>Name</p></td>";
$return .= "<td bgcolor='$hg2' width='34%'><center>".$ihr_name."</center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='right'>Betreff</p></td>";
$return .= "<td bgcolor='$hg' width='34%'><center><input type='text' name='betreff' size='52' value='RE: ".$row['betreff']."'></center></td>";
$return .= "<td bgcolor='$hg' width='33%'></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg'><p align='right'>Message</p></td>";
$return .= "<td bgcolor='$hg'><center><textarea name='message' rows='10' cols='40' wrap='virtual'></textarea></center></td>";
$return .= "<td bgcolor='$hg'></td>";
$return .= '</tr>';
if ($dateiupload) {
$return .= "<tr>";
$return .= '<input type="hidden" name="MAX_FILE_SIZE" value="'.$maximale_dateigroesse.'">';
$return .= "<td bgcolor='$hg'><p align='right'>Datei</p></td>";
$return .= "<td bgcolor='$hg'><center><input type='file' name='file'><br>(Maximale Dateigröße ist " . $maximale_dateigroesse / 1000 . "kb)</center></td>";
$return .= "<td bgcolor='$hg'></td>";
$return .= '</tr>';
}
$return .= "<tr>";
$return .= "<td bgcolor='$hg'></td>";
$return .= "<td bgcolor='$hg'><center><input type=submit value='Antwort absenden' size=10></form></center></td>";
$return .= "<td bgcolor='$hg'></td>";
$return .= '</tr>';
$return .= '</table></td></tr></table></div><br>';
}
while ($a < $number_tickets) {
$row = mysql_fetch_array($number);
$return .= "<div align='center'><center><table width='90%' cellspacing='0' cellpadding='0' border='0' align='CENTER' bgcolor='$rahmen'><tr><td>";
$return .= "<table width='100%' valign='middle' border='0' cellspacing='1' cellpadding='3'>";
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='55%' colspan='3'><center><font size='1'><b>Ticket#".($number_tickets-$a)."</b> (". uhrzeit($row['time']).")</font></center></td>";
$return .= '</tr>';
$return .= "<tr>";
$return .= "<td bgcolor='$hg' width='33%'><p align='right'>Nachricht von</p></td>";
$return .= "<td bgcolor='$hg2' width='34%'>";
if ($row['email']) {
$return .= "<a href='mailto:" . $row['email'] . "'>";
}
$return .= $row['name'];
if ($row['email']) {
$return .= "</a>";
}
$return .= "</td>";
$return .= "<td bgcolor='$hg' width='33%'></td></tr>";
$return .= "<tr>";
$return .= "<td bgcolor='$hg2' width='33%' align='center'>";
if ($row['filename']) {
$return .= "Datei: <a href='$url_datei/".$row['id'] . "." . $row['filename'].".txt'>".$row['id'] . "." . $row['filename'].".txt</a>";
}
$return .= " </td>";
$return .= "<td bgcolor='$hg2' width='34%' align='center'>".$row['betreff']."</td>";
$return .= "<td bgcolor='$hg2' width='33%' align='center'>";
if ($row['url']) {
$return .= "Adresse: <a href='".$row['url']."' target='_blank'>Link</a>";
}
$return .= " </td>";
$return .= '</tr>';
$return .= "<tr>";
$row['message'] = htmlentities($row['message']);
$row['message'] = ersetzen($row['message'],0);
$row['message'] = str_replace("[break]","<br>",$row['message']);
$row['message'] = str_replace("[br]","<br>",$row['message']);
$return .= "<td bgcolor='$hg2' width='55%' colspan='3'>".$row['message']."</td>";
$return .= '</tr>';
$return .= '</table></td></tr></table></div><br>';
$a++;
}
}
}
}
elseif ($action == "admin_antw") {
$fehler=false;
if ($busername != $name) {
$return .= "Der Username ist falsch.<br>";
$fehler = true;
}
if ($bpasswort != $pw) {
$return .= "Das Password ist falsch.<br>";
$fehler = true;
}
if ($fehler == false) {
$fehler = false;
if (!$ihr_name) {
$return .= 'Sie haben keinen Namen angegeben.<br>';
$fehler = true;
}
if (!$betreff) {
$return .= 'Sie haben keinen Betreff angegeben.<br>';
$fehler = true;
}
if (!$message) {
$return .= 'Sie haben keine Nachricht angegeben.<br>';
$fehler = true;
}
if ($fehler == false) {
if ($file_name) {
$datei_nicht_hochgeladen = false;
if ($dateiupload != "true") {
$return .= "Die Dateiuploadfunktion wurde deaktiviert.<br><br>";
}
else
{
if ($dateiuploads[strlen($dateiuploads)] != "/") $dateiuploads .= "/";
if (file_exists($dateiuploads.$id.".".$file_name . ".txt") && $file_name) {
$return .= "Eine Datei mit dem gleichen Namen ist schon auf dem Server, bitte benennen Sie Ihre Datei um. <a href='javascript:history.back()'>Zurück</a><br><br>";
}
elseif (!@copy($file, $dateiuploads.$id.".".$file_name . ".txt"))
{
$return .= "Es ist ein Fehler beim Hochladen der Datei aufgetreten. Die Datei ist wahrscheinlich zu groß.<a href='javascript:history.back()'>Zurück</a><br><br>";
$datei_nicht_hochgeladen = true;
}
}
}
if ($datei_nicht_hochgeladen != true){
$querystr = "select * from oss_" . $ticketsystem_id . "tickets where id='$id' order by time asc";
$number = mysql_query($querystr);
$row = mysql_fetch_array($number);
$query = "insert into oss_" . $ticketsystem_id . "tickets (id , time, name, email, url, password, betreff, message, filename, isticket, closed) values
('$id','".time()."', '$ihr_name','','','".$row['password']."','$betreff','$message','$file_name','0','0')";
if (!mysql_query($query)) {
$return .= "<b>Das Ticket konnte nicht gespeichert werden, es trat ein Datenbankfehler auf.</b>";
}
else
{
$message1="Hallo,\n\nIhr Ticket wurde beantwortet:\n\n$message\n\nUm das Ticket aufzurufen, benutzen Sie diesen Link\n$scriptname?action=show2&id=$id&code=".$row['password']."\noder folgende Daten:\n\nID: ".$id."\nAccess-Code: ".$row['password']."\n\nEinloggen können Sie sich auf $scriptname. \n\n$absendername";
@mail($row['email'],"RE:(Ticket#$id)" . $betreff ,$message1,"From: " . $absendername. "<" . $fromemail . ">");
$return .= "Die Antwort wurde erfolgreich ausgefüllt und abgesendet. <a href='$scriptname?action=admin_anzeigen&id=$id'>Zurück</a>.<br><br>";
}
}
}
}
}
elseif ($action == "pw") {
$querystr = "select * from oss_" . $ticketsystem_id . "tickets where id='$id' order by time asc";
$number = mysql_query($querystr);
$row = mysql_fetch_array($number);
$message1="Hallo,\n\nsie haben Ihren Accesscode angefordert:\n\nID: ".$id."\nAccess-Code: ".$row['password']."\n\nEinloggen können Sie sich auf $scriptname. \n\n$absendername";
@mail($row['email'],"RE:(Ticket#$id) Accesscode" ,$message1,"From: " . $absendername. "<" . $fromemail . ">");
$return .= "Eine eMail mit Ihrem Accesscode ist unterwegs.";
}
elseif ($action == "mark") {
$query = "update oss_" . $ticketsystem_id . "data set lastvisit='".time()."'";
mysql_query($query);
$return .= "<br>Die Beiträge wurden als gelesen markiert. <a href='$scriptname?action=admin'>Zurück</a>";
}
elseif ($action == "delete") {
$fehler = false;
if ($busername != $name) {
$return .= "Der Username ist falsch.<br>";
$fehler = true;
}
if ($bpasswort != $pw) {
$return .= "Das Password ist falsch.<br>";
$fehler = true;
}
if ($fehler == false) {
$return .= "Lösche ID # " . $id;
$query = "delete from oss_" . $ticketsystem_id . "tickets where id='$id'";
if (mysql_query($query)) {
$return .= "<br><br>Fertig. <a href='$scriptname?action=admin'>Zurück</a>.";
}
else
{
$return .= "<br><br>Es ist ein MySQL-Datenbank Fehler aufgetreten.<a href='$scriptname?action=admin'>Zurück</a>.";
}
}
}
echo template($return);
function template($return) {
$template = file("./templates/template.html");
$return .= "<br><br>(c) Powered by <a href='http://www.boardseven.net'>BoardSeven.net</a>";
foreach ($template as $line) {
$line = str_replace("%return%",$return,$line);
echo $line;
}
}
function mysql_connect_and_select($host,$username,$password,$database) {
$fehler = "false";
if (!mysql_connect ($host,$username,$password)) $fehler = "true";
if (!mysql_select_db($database)) $fehler = "true";
//if ($fehler == "true") echo "Fehler beim Connecten der MySQL-Datenbank (<b>$database</b>).";
}
function mysql_get_array ($tabelle,$where) {
$fehler = "false";
$query = "select * from " . $tabelle . " $where";
if (!$result = @mysql_query($query)) $fehler = "true";
$var = @mysql_fetch_array($result);
if ($fehler == "true") echo "Fehler beim Lesen aus der MySQL-Datenbank (<b>$tabelle</b>).";
return $var;
}
?>