OTRS - Mehrfach <input type="hidden" [...]> in dasselbe Feld

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Snoopy
Beiträge: 4293
Registriert: 17.11.2003 18:26:56
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rh.- Pflz.

OTRS - Mehrfach <input type="hidden" [...]> in dasselbe Feld

Beitrag von Snoopy » 17.12.2013 17:27:57

Ahoi,

ich suche mir gerade einen Ast und trete immer auf der Stelle...

Ich habe eine WebSeite, wo ich ein Feld mit mehreren Werten füllen möchte.

Das einfache Befüllen funktioniert einwandfrei

Code: Alles auswählen

<input type="hidden" name="Kunde" value="DieMailadresse@Beispiel1.de"/>
Das Feld "Kunde" wird gefüllt und die Mailadresse "DieMailadresse@Beispiel1.de" eingefügt und steht dort drin, fein.

Allerdings möchte ich aber auch mehrfach dieses Adressfeld befüllen, da wird aber nur immer der erste Wert genommen...und das ist mein Problem.
Bisher waren alle Versuche erfolglos, das Feld "Kunde" mit mehreren zu befüllen, egal wie ich mich drehe und wende...

Code: Alles auswählen

<input type="hidden" name="Kunde" value="DieMailadresse@Beispiel1.de,DieMailadresse@Beispiel2.de"/>
geht nicht.
Der Mehrfach-Aufruf

Code: Alles auswählen

<input type="hidden" name="Kunde" value="DieMailadresse@Beispiel1.de"/>
<input type="hidden" name="Kunde" value="DieMailadresse@Beispiel2.de"/>
geht auch nicht.

Es wird immer nur

Code: Alles auswählen

DieMailadresse@Beispiel1.de
eingefügt.

Kann mich jemand mal in die richtige Richtung schubsen?
Anscheinend wird zwar der zweite Wert übergeben, aber nicht angenommen...

Sinn und Zweck ist, das eine Nachricht an mehrere "Kunde"n geschickt werden soll, nicht immer nur an einen Kunden.

Gibt es eine Möglichkeit die Werte zu "committen" und danach erst den nächsten Wert zu übergeben?
Zuletzt geändert von Snoopy am 17.12.2013 21:07:02, insgesamt 1-mal geändert.

Benutzeravatar
4A4B
Beiträge: 926
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Mehrfach <input type="hidden" [...]> in dasselbe Feld

Beitrag von 4A4B » 17.12.2013 17:51:06

Du könntest die Adressen als ein Array übertragen, also z.B. name="Kunden[]":

Code: Alles auswählen

<input type="hidden" name="Kunden[]" value="DieMailadresse@Beispiel1.de"/>
<input type="hidden" name="Kunden[]" value="DieMailadresse@Beispiel2.de"/>
Das Script, an welches das Formular versendet wird, kann den Parameter Kunden dann als Array auswerten

Edit:
Sinn und Zweck ist, das eine Nachricht an mehrere "Kunde"n geschickt werden soll, nicht immer nur an einen Kunden.
ACHTUNG: es ist nicht ganz ungefährlich, wenn man die Empfänger in einem hidden input übergibt. Das kann von Spammern ausgenutzt werden, um über ein geändertes Formular Spam an beliebige Empfänger zu versenden! und solcherlei ausnutzbare Formulare werden auch von Bots gesucht und gefunden!

Ich würde die Empfänger deswegen sicherheitshalber nicht per input übergeben sondern erst vom Script, an welches das Formular versendet wird, aus der Datenbank (oder woher du diese hast) ermitteln lassen.

Benutzeravatar
Snoopy
Beiträge: 4293
Registriert: 17.11.2003 18:26:56
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rh.- Pflz.

Re: Mehrfach <input type="hidden" [...]> in dasselbe Feld

Beitrag von Snoopy » 17.12.2013 18:35:35

Hi,

ja bzgl. der Sicherheit ist mir klar, aber...
Es ist ein OTRS Ticketsystem, welches in einem lokalen Netz betrieben wird, über einen lokalen Mailserver mailt und sogar nur intern kommuniziert.
Da ist nix von aussen zu erreichen... ;-)

Die Variante mit

Code: Alles auswählen

<input type="hidden" name="Kunden[]" value="DieMailadresse@Beispiel1.de"/>
<input type="hidden" name="Kunden[]" value="DieMailadresse@Beispiel2.de"/>
habe ich auch schon probiert, aber dann funktioniert gar nichts.
Damit wird noch nicht mal die erste Adresse übergeben.

Ich denke mal, dass die Sache eine OTRS angepasste Geschichte ist...und evtl. der Standardweg nicht so funktioniert.

Benutzeravatar
4A4B
Beiträge: 926
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Mehrfach <input type="hidden" [...]> in dasselbe Feld

Beitrag von 4A4B » 17.12.2013 19:24:32

Snoopy hat geschrieben:Die Variante mit

Code: Alles auswählen

<input type="hidden" name="Kunden[]" value="DieMailadresse@Beispiel1.de"/>
<input type="hidden" name="Kunden[]" value="DieMailadresse@Beispiel2.de"/>
habe ich auch schon probiert, aber dann funktioniert gar nichts.
Damit wird noch nicht mal die erste Adresse übergeben.
Das verarbeitende Script (welches im action Attribut des <form> Elements steht) müsste wohl dahingehend angepasst werden, dass es Kunden als Array auswertet, die erste Adresse als Empfänger nimmt und für weitere Adressen entsprechende CC- oder BCC-Header definiert

Benutzeravatar
Snoopy
Beiträge: 4293
Registriert: 17.11.2003 18:26:56
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rh.- Pflz.

Re: Mehrfach <input type="hidden" [...]> in dasselbe Feld

Beitrag von Snoopy » 17.12.2013 21:03:14

Hi,

so ich habe nun etwas mehr Zeit, um es ausführlicher zu beschreiben...

Es geht um das OTRS Ticketsystem, welches derzeit produktiv in der Version 3.0.9 im Einsatz ist.
Ziel ist es, wieder auf aktuellen Stand zu kommen, ergo Version 3.3.3 zur Zeit.

Unsere Hotline nutzt das Ticketsystem in Version 3.0.9 und in den Dateien

Code: Alles auswählen

Kernel/Output/HTML/Standard/AgentTicketEmail.dtl
Kernel/Output/HTML/Standard/AgentTicketPhone.dtl
Kernel/Output/HTML/Standard/AgentTicketForward.dtl
wurden div. "Buttons" von mir eingebaut, um immer wiederkehrende Aktionen leicht abzuwickeln.
Sie drücken auf einen Knopf und schon wird vollautomatisch die Queue, die Empfänger, der Betreff und Teile des Bodys ausgefüllt.

Unter OTRS 3.0.9 sieht das z.B. in der Datei AgentTicketEmail.dtl so aus

Code: Alles auswählen

[...]
<form action="$Env{"CGIHandle"}" method="post" enctype="multipart/form-data">
<input type="hidden" name="Action" value="$Env{"Action"}">
<input type="hidden" name="Subaction" value="StoreNew">
<input type="hidden" name="FormID" value="$QData{"FormID"}">
<input type="hidden" name="ExpandCustomerName" value="2">
<input type="hidden" name="To" value="Benutzer1@Beispiel.de, Benutzer2@Beispiel.de, Benutzer3@Beispiel.de">
<input type="hidden" name="Dest" value="1||Posteingang">
<input type="hidden" name="Subject" value="Artikel einlisten">
<input type="hidden" name="Body" value="Hallo, <BR> <BR> bitte folgende(n) Artikel einlisten:">
<input class="button" type="submit" name="" value="$Text{"Artikel einlisten"}">
</form>
[...]
Diese Vorgehensweise funktioniert einwandfrei bis zur OTRS Version 3.0.9.
Sie tippen nur noch die entsprechenden Artikel in den Body und los geht's.

Ab der Version 3.1.* wurde die Ticketerstellung in OTRS verändert, ab dort geht die o.g. Vorgehensweise nicht mehr so einfach.

Man bekommt dort noch mit folgendem Aufruf

Code: Alles auswählen

[...]
<form action="$Env{"CGIHandle"}" method="post" enctype="multipart/form-data id="Template1"/>
<input type="hidden" name="Action" value="$Env{"Action"}"/>
<input type="hidden" name="Subaction" value="StoreNew"/>
<input type="hidden" name="FormID" value="$QData{"FormID"}"/>
<input type="hidden" name="ExpandCustomerName" value="2"/>
<input type="hidden" name="CustomerUser" value="Benutzer1@Beispiel.de"/>
<input type="hidden" name="Dest" value="1||Posteingang"/>
<input type="hidden" name="Subject" value="Artikel einlisten"/>
<input type="hidden" name="Body" value="Hallo, <BR> <BR> bitte folgende(n) Artikel einlisten:"/>
<input class="button" type="submit" name="" value="$Text{"Artikel einlisten"}"/>
</form>
[...]
hin, dass die Queue, Betreff und Body gefüllt wird, aber nur noch ein Empfänger gefüllt wird.
Weitere Empfänger gehen mit den mir bekannten Mitteln nicht mehr...schade Schokolade ;)

Ich kenne jetzt nur noch zwei Wege:
Lösung über Mailverteilerlisten, die auf dem zentralen Mailserver angelegt werden.
Die entsprechende Mailverteilerliste (wäre dann ja nur noch eine) wird dann mit o.g. Aufruf gefüllt und los geht es.
Die Mailadressen hinter der Liste erhalten dann die entsprechende Nachricht.

Oder einen manuellen Weg für die mehreren Mailempfänger.
Z.B. beim Drücken des Buttons werden automatisch die notwendigen Mailempfänger in die Zwischenablage kopiert, die man dann per strg+v das in An einfügt und Return drückt.
Dann stehen

Code: Alles auswählen

Benutzer1@Beispiel.de, Benutzer2@Beispiel.de, Benutzer3@Beispiel.de
im An Feld und los geht es, nachdem die Artikel in den Body geschrieben wurden.

Mehr Ideen habe ich derzeit nicht ... :?

Benutzeravatar
4A4B
Beiträge: 926
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: OTRS - Mehrfach <input type="hidden" [...]> in dasselbe

Beitrag von 4A4B » 17.12.2013 22:05:09

Ab der Version 3.1.* wurde die Ticketerstellung in OTRS verändert, ab dort geht die o.g. Vorgehensweise nicht mehr so einfach.
Ja, da wurde wohl was umgestellt, im Changelog sind diesbezüglich jedenfalls einige Punkte aufgeführt:
What's new in OTRS 3.1.1:

February 14th, 2012

[...]
Bulk Email Send Feature
Multiple 'To', 'Cc', and 'Bcc' Fields
Reply All Feature
[...]
Quelle: http://webscripts.softpedia.com/scriptV ... 26939.html

In der Richtung, d.h. mit den im Changelog genannte Begriffen, würde ich mal weiterforschen, denn die betreffenden Funktionen sollen ja das Versenden an mehrere Empfänger ermöglichen.

Antworten