PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Supportticket



Roadstar
05.10.2007, 11:40
Hallo,

habe auf meiner Seite das Supportticket installiert.

Funktioniert auch wunderbar, bis das man nur eine Anfrage stellen kann und dann keine mehr. Folgendes steht dann da:
Aus Sicherheitsgründen können Sie eine neue Supportanfrage erst in einigen Momenten stellen.
Bei IP-Sperre in Minuten für neue Supportanfrage hab ich 5 stehen.

Kann mir dabei jemand helfen, das ich es zum laufen bringe?
Vielen Dank schonmal.

Gruß Roadstar

SebbyPHM
05.10.2007, 13:22
Auch die Differenz zwischen den Supporttickets beachtet?
Also >= 5 Minutne unterschied?

Roadstar
05.10.2007, 13:33
Ja, ich hab es jetzt nochmal probiert. Geht leider immer noch nicht.
Das letzte Ticket war vom 05.10.2007 12:37

Das ist die support.php, die ich verwende und wie sie auch im Download Bereich zu finden ist.


<?
userstatus();

$spr = 5; // IP-Sperre in Minuten für neue Supportanfrage

function newmail() {
global $betreibermail, $domain, $seitenname;
$rows = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_support WHERE status='0' AND subid=0"));
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']."'"));

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><b>Aus Sicherheitsgründen können Sie eine neue Supportanfrage erst in einigen Momenten stellen.</b></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" bgcolor="#f6d288">
<tr bgcolor="#2E84B5" style="color: #ffffff;">
<td width="100%"><b><? echo $res['betreff']; ?><b></td>
</tr>
<tr bgcolor="#FAEBD7">
<td><font face="Courier New" size="2" color="black"><? echo nl2br($res['text']); ?><hr size="1" color="#800000" width="95%"><div align="right"><font size=1 color="black"><? 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" bgcolor="#FAEBD7">
<tr bgcolor="#2E84B5">
<td width="100%"><b><? echo $reply['betreff']; ?><b></td>
</tr>
<tr bgcolor="#FAEBD7">
<td><font face="Courier New" size="2" color="black"><? echo nl2br($reply['text']); ?><hr size="1" color="#800000" width="95%"><div align="right"><font size=1 color="black"><? echo date("d.m.Y H:i", $reply['zeit']); ?></font></div></font></td>
</tr>
</table>
<br />
<?
}

if(mysql_num_rows($repsql) == 0) { ?><center><b>Noch keine Antworten vorhanden!</b></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=/intern/support&id=<? echo $_REQUEST['id']; ?>&antworten=1" method="POST">
<tr>
<td width="30%">
Betreff: <br />
<input type="text" name="betreff" size="67" maxlength="255" value="RE: <? echo $res['betreff']; ?>"></td>

</tr>
<tr>
<td>
Antwort: <br />
<textarea name="antwort" cols="70" 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><b>Thema geschlossen. Keine Antwort mehr m&ouml;glich !</b></center><?
foot();
}
} else {
head("Fehler!");
?><center><b>Falsche Ticket-ID &uuml;bergeben!</b></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" bgcolor="#f6d288">
<tr bgcolor="#2E84B5">
<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="#FAEBD7">
<td align="center"><font color="black"><? echo $ticket['id']; ?></font></td>
<td><a href="?content=/intern/support&act=show&id=<? echo $ticket['id']; ?>"><font color="black"><b><? echo $ticket['betreff']; ?></a></b></font></td>
<td align="center"><font color="black"><? echo $status; ?></font></td>
<td align="center"><font color="black"><? echo date("d.m.Y H:i", $ticket['zeit']); ?></font></td>
</tr>
<?
} } else {
?>
<tr bgcolor="#FAEBD7">
<td align="center" colspan="4"><b>Keine Supportanfragen vorhanden !</b><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%"><b>
Betreff: </b><br />
<input type="text" name="betreff" size="67" maxlength="255" value=""></td>

</tr>
<tr>
<td><b>
Anfrage: </b><br />
<textarea name="antwort" cols="70" 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 color="black"><center><b>Powered by <a href="http://www.cash4more.de" target="_blank"><i><b><font color="black">Honni</b></i></a></b></center></font>';
?>

SebbyPHM
05.10.2007, 15:32
Öffne die Datei content/intern/support.php und ersetze folgendes:

$support_reload = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_reloads WHERE tan='Supportanfrage' AND uid='".$_SESSION['uid']."'"));

durch diesen Code:

$support_reload = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_reloads WHERE tan='Supportanfrage' AND uid='".$_SESSION['uid']."' AND bis >= ".time()));

Roadstar
05.10.2007, 21:20
Danke, jetzt funktioniert es.

Aber jetzt bekomme ich keine Mails mehr, wenn eine Anfrage gestellt wird.

TS7
26.10.2007, 01:55
das stimmt.
plus eine fehler meldung wird angezeigt:


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/virtual/domain/htdocs/content/intern/support.php on line 8

Wenn ich:

if (mysql_errno()) die ("MySQL-Error: " . mysql_error());

nach zeile 8 einfüge kommt zeigt er mir das an:


MySQL-Error: Table '265_vms._support' doesn't exist


Wie kann ich Prob. losen?

TS7
26.10.2007, 02:38
Habe das Problem gelöst!

Siehe hier:

öffnen (/content/intern/support.php)
suche:

function newmail() {
global $betreibermail, $domain, $seitenname;
$rows = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_support WHERE status='0' AND subid=0"));

if($rows == 0) {
$text = 'Guten Tag!

ändern in:

$rows = mysql_num_rows(db_query("SELECT * FROM ".$db_prefix."_support WHERE status='0' AND subid=0"));
function newmail() {
global $betreibermail, $domain, $seitenname;

if($rows == 0) {
$text = 'Guten Tag!


öffnen (/lib/functions.lib.php)
vor dem letzten ?> folgendes einfügen:

@db_connect();
db_query("UPDATE ".$db_prefix."_support SET status = 2 WHERE status = 1 AND time < '".(time()-(5*86400))."'");
@db_close();


Also bei mir funzt jetzt alles, auch die Mail

SebbyPHM
26.10.2007, 03:58
die lösung wäre einfahcer gewesen ... in der support.php nach dem "global" einfach noch "$rows," hinzufügen udn die zeile "db_query(...)" nicht dort so rein, sondenr nur die eine zeile in die header.php nach "db_connect();".

fürs nächste mal ;)

maniwelt
26.10.2007, 10:39
@Seby:

Gib ganzes Code dazu...Danke!

TS7
26.10.2007, 16:21
cool danke, funzt einwandfrei

maniwelt
26.10.2007, 16:41
Öhm.....

Habs nicht verstanden O.o

Roadstar
26.10.2007, 19:58
Vielen lieben Dank funzt super, auch fürs VMS1.2 :)

Gruß, Roadstar

maniwelt
26.10.2007, 20:21
Verstehe nur noch Bahnhof...

Einer sagte so, der anderer so, dann wäre aber einfacher so und so zu machen.....

KANN EINER ENDLICH MAL den richtigen Code geben, ohne das man da alles einbauen muss und dann nichts läuft ?

EDIT:

Danke @ ROADSTAR, hast mir per PN geholfen ;)

Klappt auch bei mir wieder :)

Sam2004
04.11.2010, 12:10
Mahlzeit,

benutzt hier einer noch das Addon? ...und wenn ja, könnt mir das evtl, jemand schicken?
Und wenn nicht, kann mir jemand sagen, ob es einen Shop gibt, der ein Support Ticket mit Captcha anbietet?
Und wenn auch nein, würde sich jemand breitschlagen lassen, dass gegen Lose zu proggen?

Danke

LG

SilentRunner
04.11.2010, 12:32
wieso ist das entfernt worden ausm DL Bereich?

didith1207
04.11.2010, 12:59
wenn man die suche benutzt findet man mehrere verlinkungen zum supportticket das hier mal im download war....


http://www.designerscripte.net/showpost.php?p=61298&postcount=7

und

http://www.designerscripte.net/showpost.php?p=77391&postcount=12

Sam2004
04.11.2010, 13:01
wenn man die suche benutzt findet man mehrere verlinkungen zum supportticket das hier mal im download war....


http://www.designerscripte.net/showpost.php?p=61298&postcount=7

und

http://www.designerscripte.net/showpost.php?p=77391&postcount=12

Das hatte ich auch schon in den Fingern gehabt, war mir aber nicht sicher, ob nicht noch was in die DB muss...
LG...und Danke ;)

SebbyPHM
04.11.2010, 14:10
Das ist ja noch aus Zeiten, als ich cash4more.de besessen habe :biggrin1: - müsste schon 5 Jahre oder sowas um den dreh alt sein ...

Ich habe es nicht mehr, obwohl ich es mal geschrieben habe -.-

Wenn es jemand hat, darf es gerne in den DL-Bereich - soweit es keine anderen Komplikationen gibt.

didith1207
04.11.2010, 17:02
das was ich gepostet habe ist ja deines steht ja dein copyright noch drinn :


/* Ab hier darf NICHTS (!!!) veraendert werden! */
echo '<font size=1><center><b>Powered by <a href="http://www.cash4more.de" rel="nofollow" target="_blank"><i><b>Honni</b></i></a></b></center></font>';


hier ist eigentlich nur eine mail dazugekommen für den User wenn das ticket vom Admin beantwortet wurde