Support Ticket VHSC Darstellung Text

  • Thread starter Thread starter Major
  • Start date Start date
M

Major

Guest
:(Hallo wenn ich Support Tickets Als Kunde oder Reseller Verschicke kommen die beim Kunden und im Reseller Bereich so

Guten Tag <br>Ein Test
Von : Jürgen Thiel (major)
Datum : 27.03.2008
Guten Tag <br>Ein Test

diese <br> kriegt mann das irgendwie abgeschaltet

Viele Grüße Major hoffentlich kann mir jemand helffen:confused::confused:
 
Hi,

das Problem ist, dass die VHCS-Entwickler die Idee hatten VHCS sicher zu machen, aber scheinbar haben die das Ticket-System wohl danach nicht so ausführlich getestet, weshalb es dazu kommt, dass zwar Sonderzeichen ersetzt werden, jedoch an der falschen Stelle.

Hier die Lösung des Problems (Änderungen habe ich fett markiert!!!):
Zeile 47-72 in /var/www/vhcs2/gui/client/new_ticket.php sieht momentan so aus:
Code:
  $ticket_date = time();
  $urgency = $_POST['urgency'];
  $subj = $_POST['subj'];
  $user_message = preg_replace("/\n/", "<br>", $_POST["user_message"]);
        $ticket_status = 1;
        $ticket_reply = 0;
        $ticket_level = 1;

  $query = <<<SQL_QUERY
        insert into tickets
            (ticket_level, ticket_from, ticket_to,
             ticket_status, ticket_reply, ticket_urgency,
             ticket_date, ticket_subject, ticket_message)
        values
            (?, ?, ?, ?, ?, ?, ?, ?, ?)
SQL_QUERY;

  $rs = exec_query($sql, $query, array($ticket_level,
                                       $user_id,
                                       $reseller_id,
                                       $ticket_status,
                                       $ticket_reply,
                                       $urgency,
                                       $ticket_date,
                                       htmlspecialchars($subj, ENT_QUOTES, "UTF-8"),
                                       htmlspecialchars($user_message, ENT_QUOTES, "UTF-8")));
Bitte durch folgenden Code ersetzen:
Code:
  $ticket_date = time();
  $urgency = $_POST['urgency'];
  $subj = $_POST['subj'];
  [b]htmlspecialchars($_POST["user_message"], ENT_QUOTES, "UTF-8");[/b]
  $user_message = preg_replace("/\n/", "<br>", $_POST["user_message"]);
        $ticket_status = 1;
        $ticket_reply = 0;
        $ticket_level = 1;

  $query = <<<SQL_QUERY
        insert into tickets
            (ticket_level, ticket_from, ticket_to,
             ticket_status, ticket_reply, ticket_urgency,
             ticket_date, ticket_subject, ticket_message)
        values
            (?, ?, ?, ?, ?, ?, ?, ?, ?)
SQL_QUERY;

  $rs = exec_query($sql, $query, array($ticket_level,
                                       $user_id,
                                       $reseller_id,
                                       $ticket_status,
                                       $ticket_reply,
                                       $urgency,
                                       $ticket_date,
                                       htmlspecialchars($subj, ENT_QUOTES, "UTF-8"),
                                       [b]$user_message));[/b]

Und die Zeile 62-99 in /var/www/vhcs/gui/reseller/new_ticket.php sieht momentan so aus:
Code:
    $ticket_date = time();

    $urgency = $_POST['urgency'];

    $subj = $_POST['subj'];
    
    $user_message = preg_replace("/\n/", "<br>", $_POST["user_message"]);

        $ticket_status = 2;

        $ticket_reply = 0;

        $ticket_level = 2;

    $query = <<<SQL_QUERY
        insert into tickets
            (ticket_level,
             ticket_from,
             ticket_to,
             ticket_status,
             ticket_reply,
             ticket_urgency,
             ticket_date,
             ticket_subject,
             ticket_message)
        values
            (?, ?, ?, ?, ?, ?, ?, ?, ?)
SQL_QUERY;

    $rs = exec_query($sql, $query, array($ticket_level,
                                         $user_id,
                                         $user_created_by,
                                         $ticket_status,
                                         $ticket_reply,
                                         $urgency,
                                         $ticket_date,
                                         htmlspecialchars($subj, ENT_QUOTES, "UTF-8"),
                                         htmlspecialchars($user_message, ENT_QUOTES, "UTF-8")));

und muss auf folgendes geändert werden:
Code:
    $ticket_date = time();

    $urgency = $_POST['urgency'];

    $subj = $_POST['subj'];
    [b]htmlspecialchars($_POST["user_message"], ENT_QUOTES, "UTF-8");[/b]
    $user_message = preg_replace("/\n/", "<br>", $_POST["user_message"]);

        $ticket_status = 2;

        $ticket_reply = 0;

        $ticket_level = 2;

    $query = <<<SQL_QUERY
        insert into tickets
            (ticket_level,
             ticket_from,
             ticket_to,
             ticket_status,
             ticket_reply,
             ticket_urgency,
             ticket_date,
             ticket_subject,
             ticket_message)
        values
            (?, ?, ?, ?, ?, ?, ?, ?, ?)
SQL_QUERY;

    $rs = exec_query($sql, $query, array($ticket_level,
                                         $user_id,
                                         $user_created_by,
                                         $ticket_status,
                                         $ticket_reply,
                                         $urgency,
                                         $ticket_date,
                                         htmlspecialchars($subj, ENT_QUOTES, "UTF-8"),
                                         [b]$user_message));[/b]
Danach sollte das Problem mit den Tickets vollständig gelöst sein und nicht mehr auftreten. Ich habe den Fix schon selbst bei unseren Servern getestet und werde ihn auch in mein Installationsscript für Debian und Ubuntu einbauen! ;)
 
:(

Hmm könnt ihr euch bei mir mal im ICQ: 357200661 Melden

Ich hab probleme und das haut einfach nicht hin shcon 30 mal ausprobiert langsam shcnauze vool:(
 
So, ich habe das Ganze mit Major in ICQ geklärt. Betroffen von den nötigen Änderungen sind außerdem noch die view_ticket.php Dateien des Admin-, Reseller- und des client-ordners in der vhcs-gui.

In meinem Installscript (http://mirrors.penguinfriends.org/VHCS2/) ist dies bereits auch gefixt worden und funktioniert nun einwandfrei!

Merke: Wenn ihr den Bug selbst behebt, bedenkt, dass dies erst bei neu eröffneten Support-Tickets anschlägt, da der Fehler beim schrieben in die Datenbank auftritt. Bereits Eingetragene Tickets müsst ihr in der VHCS2-MySQL-Datenbank in der Tabelle "tickets" von Hand beabreiten und dort die zeichenfolge "&gt;br&lt;" durch "<br>" ersetzen, dann werden auch diese wieder korreckt angezeigt! ;)
 
Back
Top