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&ouml;glich !</b></font></center><?
 foot();
 }
} else {
head("Fehler!");
?><center><font class="hinweis"><b>Falsche Ticket-ID &uuml;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&ouml;glich !</b></font></center><?
 foot();
 }
} else {
head("Fehler!");
?><center><font class="hinweis"><b>Falsche Ticket-ID &uuml;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