PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Addon Supportticket



Ufisch
03.11.2006, 22:41
Hi Leutz,

So, jetzt muss ich auch mal was posten.

Und zwar bekomme ich keine E-Mail bei einer neuen Supportanfrage. An was liegt das? Und bevor ihr fragt: Betreibermail stimmt!

MfG Ufisch

Ufisch
03.11.2006, 23:43
Hab gleich noch nen Fehler. Naja, was heißt Fehler. Es funktioniert trotzdem alles.

Dennoch. Und zwar liegt es an folgender Zeile in der functions.lib:

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

Also, folgendes: Wenn diese Zeile eingefügt ist, dann meldet mir phpmyadmin unter MySQL-Laufzeit-Informationen anzeigen (Status) fehlerhafte Verbindungen, und zwar pro Aufruf der Seite eine fehlerhafte Verbindung.
Nehme ich die Zeile raus, ist alles in Butter!

Ich bitte euch, das mal anzuschauen.

SebbyPHM
04.11.2006, 04:41
Original von Ufisch
Hab gleich noch nen Fehler. Naja, was heißt Fehler. Es funktioniert trotzdem alles.

Dennoch. Und zwar liegt es an folgender Zeile in der functions.lib:

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

Also, folgendes: Wenn diese Zeile eingefügt ist, dann meldet mir phpmyadmin unter MySQL-Laufzeit-Informationen anzeigen (Status) fehlerhafte Verbindungen, und zwar pro Aufruf der Seite eine fehlerhafte Verbindung.
Nehme ich die Zeile raus, ist alles in Butter!

Ich bitte euch, das mal anzuschauen.
Hallo!

Warum die Mail dann nicht bei dir ankommt, ist eine gute Frage.
Der mySQL-Befehl ist schon lange falsch geschrieben, aber bisher nur wenigen aufgefallen.


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

Versuch es mal mit dem Code^^

Ufisch
04.11.2006, 08:16
Danke. Bin erstmal weg, versuche es heute abend mal.

MfG Ufisch

Ufisch
05.11.2006, 00:25
Dein Code funzt auch nicht besser.

Sonst noch jemand ne idee?

Ufisch
05.11.2006, 01:12
Also hab jetzt selber auch mal alles mögliche ausprobiert. Egal was für ein code, immer meldet er ne fehlgeschlagene Verbindung. Auch wenn ich eine ganz simple tabelle anlege und da was reinschreiben will.

Kopiere ich den Code in die footer.php, passiert genau das selbe (ist eigentlich logisch, da ja beide miteinander geladen werden). Jetzt habe ich den code einfach mal auf eine andere datei gepackt (agbs.php). Rufe ich nun diese Seite auf, ist trotzdem alles in Butter, also er meldet keinerlei fehlgeschlagene Verbindungen.

Ich versteh das mal absolut nicht, warum das so ist. Vielleicht ist ja jemand anderes schlauer.

Aber zur Not nehme ich die Zeile raus, ist ja auch nicht soo wichtig. Sperrt die Anfrage ja nur.

SebbyPHM
05.11.2006, 06:04
Naja, ich glau bich kann dir erklären waur mmein damaliges addon ncih richtig will...

setz mal davor ein:

@db_connect();

Ufisch
05.11.2006, 11:46
Ok, damit funzt es, thx.

Aber wieso brauchen die anderen Abfragen nicht dieses @db_connect(); ?

Gremlin
05.11.2006, 12:17
Original von Ufisch
Ok, damit funzt es, thx.

Aber wieso brauchen die anderen Abfragen nicht dieses @db_connect(); ?

@ unterdrück ja lediglich die Fehlermeldungen, und wenn kein Fehler besteht, braucht man auch kein @ ;)

Ufisch
05.11.2006, 12:47
Original von Gremlin
@ unterdrück ja lediglich die Fehlermeldungen, und wenn kein Fehler besteht, braucht man auch kein @ ;)

unterdrückt das auch die meldung in phpmyadmin? Weil da geht der Zähler der fehlgeschlagenen Verbindungen nicht mehr rauf. Der Fehler besteht also weiterhin?

Wenn das so ist, dann nehme ich die Zeile einfach wieder raus, weil wie gesagt, ist die ja nicht so wichtig.

Wichtig wäre mir es jetzt aber, dass mit der E-Mail!

Gremlin
05.11.2006, 12:51
unterdrückt das auch die meldung in phpmyadmin
Es unterdrückt nur die Fehlermeldung, eine Anfrage an mysql wird trotzdem gesendet.


Wichtig wäre mir es jetzt aber, dass mit der E-Mail!

Dann musst du dort, wo der user die Anfrage abschickt, und wo sie eingetragen wird, mail() einbauen.

Gruß
gremlin

SebbyPHM
05.11.2006, 14:06
Mal zur Begründung, warumd as mti db_connect geht....

in der header.php wird erst mti der MySQL-DB verbunden. Der Code allerdings steht in der fucntions.lib.php, also vor dem DB-Connect - Also muss erstmal mit der DB Verbunden werden...

Sauberer wäre es, wenn du danach noch nen @db_close(); machst^^

Ufisch
05.11.2006, 19:02
@Gremlin: Die Funktion für die automatische Benachrichtigung per E-Mail ist ja schon von Anfang an eingebaut. Es kommt aber keine.

@SebbyPHM: ich könnte die Zeile doch einfach in die footer.php setzen, noch vor db_close, oder?

SebbyPHM
05.11.2006, 23:44
Original von Ufisch
@SebbyPHM: ich könnte die Zeile doch einfach in die footer.php setzen, noch vor db_close, oder?

Ja, könntest du auch machen^^

pummuk
03.02.2007, 01:28
hallo...

wollt nicht extra einen neuen thraed aufmachen..


so zu mein problem

bei mir im adminforced werden für Antworten auf die
Support-Anfragen nciht angezeigt.
in der updatedtaei steht drin das es eigentlich behoben sein sollte.


ich benutze folgendes Addon_SupportTicket_1 aus dem douwnload-bereich .


gruß

pummuk

SebbyPHM
03.02.2007, 01:55
bei der neueren version geht es eindeutig... anscheinend benutzt du wirklich noch die ältere version, ohne update^^

pummuk
03.02.2007, 12:10
o.k. aber wo kann ich denn das update bekommen??

lg

pummuk
22.10.2007, 23:02
ich nochmal... leider funktioniert das mit der update datei auch nciht....


jemand eine idee????

TS7
26.10.2007, 02:38
habe das gleiche Problem.
Liegt warscheinlich daran, das das Addon nicht für VMS 1,2 funzt.

Edit: beobachte mal den Thread: http://www.designerscripte.net/showthread.php?t=3354&highlight=SupportTicket

SebbyPHM
26.10.2007, 04:55
Dann poste doch einmal mal den Code, da es ja ein Freeware-Addon ist. Vielleicht kann ich dazu ja dann etwas sagen?

pummuk
26.10.2007, 22:27
hier der code.. ich benutze vms1


<?
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']."'");
}
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 AND status=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=/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>
</tr>
<?
} } else {
?>
<tr bgcolor="#FAE5C4">
<td align="center" colspan="4"><font class="hinweis"><b>Keine unbeantworteten Supportanfragen vorhanden !</b></font><br /></td>
</tr>
<? } ?>
</table>
<?
foot();
}
?>

SebbyPHM
27.10.2007, 00:08
Der Code um die Antworten anzuzeigen ist aber enthalten ?

pummuk
28.10.2007, 16:07
ja das ahb ich gesehen....

aber er zeigt mir nur die neuen supportnachrichten an... habe jetzt 2 nachrichten drin welche länsgt hätten dekativiert werden müssen...
werde das addon nochmals überprüfen ob alle eintragungen da sind...

dauert aber noch 1 woche da ich nciht zu hause bin...

st0niX
02.11.2007, 13:09
Also ich hab mir auch grad das Addon geholt.....habe selbst vms 1.2......hatte viele fehlermeldungen, Problem gelöst mit diesen änderungen:

So sieht es jetzt bei mir aus


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


funzt bis jetzt ohne fehlermeldung, ich lass mich mal überraschen wenn ein anderer User versucht ne Anfrage zu stellen^^

Bonian
03.01.2009, 15:39
HI ;)


Ich habe mir das Addon "Supportticket" gerade aus dem Donwloadbereich geladen und auch direkt installiert. Ich habe es mal durchgetestet und es hat bis jetzt fehlerfrei funktioniert.

Allerdings fehlen mir ein paar Sachen, die ich noch gerne in das Addon einfügen will. Dummerweise kann ich das nicht selber, kann mir da evtl. jemand behilflich sein :biggrin1:?

1)

Auch die User sollen eine Mail bekommen, wenn sie eine Antwort auf ihre Anfrage erhalten haben.

2)

Im Adminforce sollen wie bei den Usern auch, alle alten Supportanfragen angezeigt werden. Ich sehe zur Zeit immer "Keine unbeantworteten Supportanfragen vorhanden !" (es sei denn es ist eine neue da, dann sehe ich das natürlich nicht mehr).

Kann man darunter evtl. noch ne Tabelle einfügen in der alle alten Anfragen drinne sind?

didith1207
03.01.2009, 16:36
also zu punkt1 das wär wirklich fein :)

zu punkt 2 also bei mir werden auch die beantworteten im adminforce angezeigt :)

versuch mal das im adminforce :


<?
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']."'");
}

//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();
}
?>

Lokutos
03.01.2009, 16:57
einfach nach

db_query("UPDATE ".$db_prefix."_support SET status=1 WHERE id='".$_REQUEST['id']."'");
$email = mysql_fetch_array(db_query("SELECT emailadresse FROM ".$db_prefix."_emaildaten WHERE uid != ".$_GET['uid']." LIMIT 1"));
$email_message = '
Guten Tage,
Ihre Supportanfrage wurde soeben beantwortet!
Mit freundlichen Grüßen
Webmaster';
usermail($email['emailadresse'], Supportantwort", $email_message, '"'.$seitenname.'" <'.$betreibermail.'>');UNGETESTET
einfügen
und schon bekommt der user eine email

Bonian
03.01.2009, 16:58
@didith1207: Wenn ich folgendes mit einfüge, dann zeigt er mir nur noch das linke Menü an und sonst nur grau :(



//edit
if(isset($_GET['delete'])*==*"yes")*{
$sql*=*db_query("DELETE*FROM*`".$db_prefix."_support`*WHERE*id=*".$_GET['id']."*LIMIT*1");
}


@Joschi: In welcher Datei muss ich da suchen ;)?

didith1207
03.01.2009, 17:06
wo hast du deine support.php? das teil gehört nach :
adminforce\content\usersystem
und eben dann auch so verlinkt im adminforce...

Bonian
03.01.2009, 17:10
wo hast du deine support.php? das teil gehört nach :
adminforce\content\usersystem
und eben dann auch so verlinkt im adminforce...

Ja, so habe ich das ja auch ;) Aber wenn ich deine support.php einfüge, zeigt er mir nichts mehr an bzw. nur noch das linke Menü^^

Lokutos
03.01.2009, 19:34
@Joschi: In welcher Datei muss ich da suchen ;)?

Wohin wolhl gg

bischen mitdenken ist angesagt hier wende wemaster sein willst :wink:

einfach in den code von über meinem vorschlag suchen da ich nur diesen code zur verfügung habe des addons

didith1207
04.01.2009, 01:02
hmm..der code funktioniert nicht wirklich da bekommt ständig der admin die mail das er geantwortet hat :(

Lokutos
04.01.2009, 01:47
ein "

peinlich peinlich sowas gg

naja jetzt gehts ja und hat gereicht das einer den code fertig bekommt

mfg Jochi

didith1207
20.01.2009, 18:32
so hab das teil nun überarbeitet und modifiziert..nun bekommt der supportschreiber die mail wenn darauf geantwortet wurde und wird sogar mit seinem nick angesprochen :)

am besten alles bis zum ersten } tauschen :)


<?
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.'>');
}Sieht dan so aus:


Supportantwort

Dienstag, 20. Januar, 2009 17:01 Uhr

Von:
"happywins" <webmaster@happywins.com>


An:
xxxxxxx@xxxxx


Supportantwort


Guten Tag xxxxxxxx,
Ihre Supportanfrage auf http://www.eure domain wurde soeben beantwortet!
Um sie zu lesen loggen Sie sich bitte auf http://www.eure domain ein.
Mit freundlichen Grüßen
Ihr Webmaster

Babalu
22.06.2009, 12:47
Danke, hab ich mal bei mir eingebaut.
Ich würde es ja gerne testen, bei mir zeigt er aber immer an:
Aus Sicherheitsgründen können Sie eine neue Supportanfrage erst in einigen Momenten stellen.
Ich habe aber noch keine Supportanfrage gestellt.