Supportticked für vms1.2 (inklusive mail an den User wenn die support beantwortet wurde)
als erstes das in den header am besten gleich nach db_connect(); :
PHP-Code:
db_query("UPDATE ".$db_prefix."_support SET status = 2 WHERE status = 1 AND time < '".(time()-(5*86400))."'");
dann support.php für den ordner content/intern :
PHP-Code:
<?
userstatus();
$spr = 5; // IP-Sperre in Minuten für neue Supportanfrage
$rows = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_support WHERE status='0' AND subid=0"));
function newmail() {
global $betreibermail, $domain, $seitenname, $rows;
if($rows == 0) {
$text = 'Guten Tag!
Es sind eine oder mehrere neue Supportanfragen auf '.$seitenname.' eingegangen.
Bitte gehen Sie in Ihr Adminforce ('.$domain.'/adminforce/) und beantworten Sie die vorhanden Supportanfrage(n).
Mit freundlichen Grüßen, '.$seitenname;
mail($betreibermail, "Supportanfrage auf ".$seitenname." eingegangen", $text, "From: ".$betreibermail);
}
}
$support_reload = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_reloads WHERE tan='Supportanfrage' AND uid='".$_SESSION['uid']."' AND bis >= ".time()));
if(isset($_REQUEST['antworten']) == 1 && $support_reload == 0 && isset($_POST['antwort'])) {
$rows = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_support WHERE status='0' AND subid=0"));
if($rows == 0) { newmail(); }
db_query("INSERT INTO ".$db_prefix."_support (uid,subid,betreff,text,zeit) VALUES ('".$_SESSION['uid']."','".$_REQUEST['id']."','".$_POST['betreff']."','".$_POST['antwort']."','".time()."')");
db_query("UPDATE ".$db_prefix."_support SET status=0 WHERE id='".$_REQUEST['id']."'");
$new_reload = time()+($spr*60);
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."','".$_SESSION['uid']."','Supportanfrage','".$new_reload."')") or die(mysql_error());
}
if(isset($_REQUEST['neueanfrage']) == 1 && $support_reload == 0 && isset($_POST['antwort'])) {
$rows = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_support WHERE status='0' AND subid=0"));
if($rows == 0) { newmail(); }
db_query("INSERT INTO ".$db_prefix."_support (uid,subid,betreff,text,zeit) VALUES ('".$_SESSION['uid']."','0','".$_POST['betreff']."','".$_POST['antwort']."','".time()."')");
$new_reload = time()+($spr*60);
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."','".$_SESSION['uid']."','Supportanfrage','".$new_reload."')") or die(mysql_error());
}
$support_reload = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_reloads WHERE tan='Supportanfrage' AND uid='".$_SESSION['uid']."'"));
if($support_reload > 0) {
head("Hinweis");
?><center><font class="hinweis"><b>Aus Sicherheitsgründen können Sie neue Supportanfragen nur alle 5 min einmal stellen.</b></font></center><?
foot(); }
if(isset($_REQUEST['act']) == "show") {
$sql = db_query("SELECT * FROM ".$db_prefix."_support WHERE uid='".$_SESSION['uid']."' AND subid=0 AND id='".$_REQUEST['id']."'");
if(mysql_num_rows($sql) > 0) {
$res = mysql_fetch_array($sql);
head("Anfrage");
?>
<table width="100%" cellpadding="5" cellspacing="1" border="0">
<tr bgcolor="#467DA3" style="color: #ffffff;">
<td width="100%"><b><? echo $res['betreff']; ?><b></td>
</tr>
<tr bgcolor="#FAE5C4">
<td><font face="Courier New" size="2"><? echo nl2br($res['text']); ?><hr size="1" color="#000000" width="95%"><div align="right"><font size=1><? echo date("d.m.Y H:i", $res['zeit']); ?></font></div></font></td>
</tr>
</table>
<?
foot();
head("Antworten");
$repsql = db_query("SELECT * FROM ".$db_prefix."_support WHERE uid='".$_SESSION['uid']."' AND subid=".$res['id']." ORDER BY zeit ASC");
while($reply = mysql_fetch_array($repsql)) {
?>
<table width="100%" cellpadding="5" cellspacing="1" border="0">
<tr bgcolor="#467DA3" style="color: #ffffff;">
<td width="100%"><b><? echo $reply['betreff']; ?><b></td>
</tr>
<tr bgcolor="#FAE5C4">
<td><font face="Courier New" size="2"><? echo nl2br($reply['text']); ?><hr size="1" color="#000000" width="95%"><div align="right"><font size=1><? echo date("d.m.Y H:i", $reply['zeit']); ?></font></div></font></td>
</tr>
</table>
<br />
<?
}
if(mysql_num_rows($repsql) == 0) { ?><center><font class="hinweis"><b>Noch keine Antworten vorhanden!</b></font></center><? }
foot();
if($res['status'] != 2) {
head("<img src='images/strich.gif'>
Eine Antwort schreiben");
?><div align="center">
<table border="0" cellpadding="4" cellspacing="0" align="center">
<form action="?content=/intern/support&id=<? echo $_REQUEST['id']; ?>&antworten=1" method="POST">
<tr>
<td width="30%">
Betreff: <br />
<input type="text" name="betreff" size="60" maxlength="255" value="RE: <? echo $res['betreff']; ?>"></td>
</tr>
<tr>
<td>
Antwort: <br />
<textarea name="antwort" cols="60" rows="8"></textarea>
</td>
</tr>
</table>
<p align="center">
<input type="submit" class="button" value="Antworten">
<input type="reset" class="button" value="Zurücksetzen">
</form>
</p></div>
<?
foot();
} else {
head("Hinweis!");
?><center><font class="hinweis"><b>Thema geschlossen. Keine Antwort mehr möglich !</b></font></center><?
foot();
}
} else {
head("Fehler!");
?><center><font class="hinweis"><b>Falsche Ticket-ID übergeben!</b></font></center><?
foot();
} }
if(!isset($_REQUEST['act'])) {
$sql = db_query("SELECT * FROM ".$db_prefix."_support WHERE uid='".$_SESSION['uid']."' AND subid=0");
head("Bisherige Supportanfragen");
?>
<table width="100%" cellpadding="1" cellspacing="1" border="0">
<tr bgcolor="#467DA3" style="color: #ffffff;">
<td align="center" width="5%"><b>ID<b></td>
<td align="center" width="60%"><b>Betreff<b></td>
<td align="center" width="20%"><b>Status<b></td>
<td align="center" width="15%"><b>Datum<b></td>
</tr>
<?
if(mysql_num_rows($sql) > 0) {
while($ticket = mysql_fetch_array($sql)) {
if($ticket['status'] == 0) { $status = "Unbeantwortet"; }
if($ticket['status'] == 1) { $status = "Beantwortet"; }
if($ticket['status'] == 2) { $status = "Geschlossen"; }
?>
<tr bgcolor="#FAE5C4">
<td align="center"><? echo $ticket['id']; ?></td>
<td><a href="?content=/intern/support&act=show&id=<? echo $ticket['id']; ?>"><? echo $ticket['betreff']; ?></a></td>
<td align="center"><? echo $status; ?></td>
<td align="center"><? echo date("d.m.Y H:i", $ticket['zeit']); ?></td>
</tr>
<?
} } else {
?>
<tr bgcolor="#FAE5C4">
<td align="center" colspan="4"><font class="hinweis"><b>Keine Supportanfragen vorhanden !</b></font><br /></td>
</tr>
<? } ?>
</table>
<?
foot();
head("Neue Supportanfrage");
?><div align="center">
<table border="0" cellpadding="4" cellspacing="0" align="center">
<form action="?content=/intern/support&neueanfrage=1" method="POST">
<tr>
<td width="30%">
<p><font color="#FF0000">Bitte keine Sonderzeichen verwenden (zb. Prozent ausschreiben) Bei Problemen das Kontaktticket im Impressium benutzen...</font></p>
Betreff: <br />
<input type="text" name="betreff" size="60" maxlength="255" value=""></td>
</tr>
<tr>
<td>
Anfrage: <br />
<textarea name="antwort" cols="60" rows="8"></textarea>
</td>
</tr>
</table>
<p align="center">
<input type="submit" class="button" value="Anfrage stellen">
<input type="reset" class="button" value="Zurücksetzen">
</form>
</p></div>
<?
foot();
}
/* Ab hier darf NICHTS (!!!) veraendert werden! */
echo '<font size=1><center><b>Powered by <a href="http://www.cash4more.de" target="_blank"><i><b>Honni</b></i></a></b></center></font>';
?>
und zuletzt die support.php für adminforce/content/usersystem :
PHP-Code:
<?
if(isset($_REQUEST['antworten']) == 1) {
db_query("INSERT INTO ".$db_prefix."_support (uid,subid,betreff,text,zeit) VALUES ('".$_GET['uid']."','".$_REQUEST['id']."','".$_POST['betreff']."','".$_POST['antwort']."','".time()."')");
db_query("UPDATE ".$db_prefix."_support SET status=1 WHERE id='".$_REQUEST['id']."'");
$nick= mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_userdaten where uid='".$_GET['uid']."'"));
$email = mysql_fetch_array(db_query("SELECT emailadresse FROM ".$db_prefix."_emaildaten where uid='".$_GET['uid']."'"));
$email_message = '
Guten Tag '.$nick['nickname'].',
Ihre Supportanfrage auf '.$domain.' wurde soeben beantwortet!
Um sie zu lesen loggen Sie sich bitte auf '.$domain.' ein.
Mit freundlichen Grüßen
Ihr Webmaster';
usermail($email['emailadresse'], "Supportantwort", $email_message, '"'.$seitenname.'" <'.$betreibermail.'>');
}
//edit
if(isset($_GET['delete']) == "yes") {
$sql = db_query("DELETE FROM `".$db_prefix."_support` WHERE id= ".$_GET['id']." LIMIT 1");
}
if(isset($_REQUEST['act']) == "show") {
$sql = db_query("SELECT * FROM ".$db_prefix."_support WHERE uid='".$_GET['uid']."' AND subid=0 AND id='".$_REQUEST['id']."'");
if(mysql_num_rows($sql) > 0) {
$res = mysql_fetch_array($sql);
head("Anfrage von ".$res['uid']);
?>
<table width="100%" cellpadding="5" cellspacing="1" border="0">
<tr bgcolor="#467DA3" style="color: #ffffff;">
<td width="100%"><b><? echo $res['betreff']; ?><b></td>
</tr>
<tr bgcolor="#FAE5C4">
<td><font face="Courier New" size="2"><? echo nl2br($res['text']); ?><hr size="1" color="#000000" width="95%"><div align="right"><font size=1><? echo date("d.m.Y H:i", $res['zeit']); ?></font></div></font></td>
</tr>
</table>
<?
foot();
head("Antworten");
$repsql = db_query("SELECT * FROM ".$db_prefix."_support WHERE uid='".$_GET['uid']."' AND subid=".$_REQUEST['id']." ORDER BY zeit ASC");
while($reply = mysql_fetch_array($repsql)) {
?>
<table width="100%" cellpadding="5" cellspacing="1" border="0">
<tr bgcolor="#467DA3" style="color: #ffffff;">
<td width="100%"><b><? echo $reply['betreff']; ?><b></td>
</tr>
<tr bgcolor="#FAE5C4">
<td><font face="Courier New" size="2"><? echo nl2br($reply['text']); ?><hr size="1" color="#000000" width="95%"><div align="right"><font size=1><? echo date("d.m.Y H:i", $reply['zeit']); ?></font></div></font></td>
</tr>
</table>
<br />
<?
}
if(mysql_num_rows($repsql) == 0) { ?><center><font class="hinweis"><b>Noch keine Antworten vorhanden!</b></font></center><? }
foot();
if($res['status'] != 2) {
head("Eine Antwort schreiben");
?><div align="center">
<table border="0" cellpadding="4" cellspacing="0" align="center">
<form action="?content=/usersystem/support&uid=<? echo $_GET['uid']; ?>&id=<? echo $_REQUEST['id']; ?>&antworten=1" method="POST">
<tr>
<td width="30%">
Betreff: <br />
<input type="text" name="betreff" size="60" maxlength="255" value="RE: <? echo $res['betreff']; ?>"></td>
</tr>
<tr>
<td>
Antwort: <br />
<textarea name="antwort" cols="60" rows="8"></textarea>
</td>
</tr>
</table>
<p align="center">
<input type="submit" class="button" value="Antworten">
<input type="reset" class="button" value="Zurücksetzen">
</form>
</p></div>
<?
foot();
} else {
head("Hinweis!");
?><center><font class="hinweis"><b>Thema geschlossen. Keine Antwort mehr möglich !</b></font></center><?
foot();
}
} else {
head("Fehler!");
?><center><font class="hinweis"><b>Falsche Ticket-ID übergeben!</b></font></center><?
foot();
} }
if(!isset($_REQUEST['act'])) {
$sql = db_query("SELECT * FROM ".$db_prefix."_support WHERE subid=0 ORDER by status");
head("Bisherige Supportanfragen");
?>
<table width="100%" cellpadding="1" cellspacing="1" border="0">
<tr bgcolor="#467DA3" style="color: #ffffff;">
<td align="center" width="5%"><b>ID<b></td>
<td align="center" width="50%"><b>Betreff<b></td>
<td align="center" width="20%"><b>Status<b></td>
<td align="center" width="15%"><b>Datum<b></td>
<td align="center" width="10%"><b>Löschen<b></td>
</tr>
<?
if(mysql_num_rows($sql) > 0) {
while($ticket = mysql_fetch_array($sql)) {
if($ticket['status'] == 0) { $status = "Unbeantwortet"; }
if($ticket['status'] == 1) { $status = "Beantwortet"; }
if($ticket['status'] == 2) { $status = "Geschlossen"; }
?>
<tr bgcolor="#FAE5C4">
<td align="center"><a href="?content=/usersystem/support&act=show&uid=<? echo $ticket['uid']; ?>&id=<? echo $ticket['id']; ?>"><? echo $ticket['id']; ?></td>
<td><a href="?content=/usersystem/support&act=show&uid=<? echo $ticket['uid']; ?>&id=<? echo $ticket['id']; ?>"><? echo $ticket['betreff']; ?></a></td>
<td align="center"><? echo $status; ?></td>
<td align="center"><? echo date("d.m.Y H:i", $ticket['zeit']); ?></td>
<td align="center"><a href="?content=/usersystem/support&delete=yes&id=<? echo $ticket['id']; ?>">löschen</a>
</tr>
<?
} } else {
?>
<tr bgcolor="#FAE5C4">
<td align="center" colspan="5"><font class="hinweis"><b>Keine unbeantworteten Supportanfragen vorhanden !</b></font><br /></td>
</tr>
<? } ?>
</table>
<?
foot();
}
?>
Ps.: Bei st.pauliblau gehts nun auch