Hilfe - Suche - Mitglieder - Kalender
Vollansicht: FormBuilder 01.03.00
Forum Sefrengo.org > Downloads > Module
alexander
Anbei der für Sefrengo 1.2 konvertierte FormBuilder. Auf Grund der Komplexität des Moduls hab ich nicht alle Möglichkeiten durchgetestet. Bei den Installationen wo ich das Update vorgenommen habe läuft alles besten. Diese verwenden jedoch nicht alle Features die das Modul bietet. Also immer brav sichern bevor Ihr updated!

Modulname:
---------------------------------------------------------------------------
Formbuilder 01.03.00


Status:
---------------------------------------------------------------------------
stable


Bechreibung:
---------------------------------------------------------------------------
Dieses Modul ermöglicht den variablen Aufbau von umfangreichen Formularen.
Es ist sowohl möglich den Inhalt der Felder an eine Emailadresse zu senden,
als auch an eine andere Seite.


Features:
---------------------------------------------------------------------------
- erstellt beliebiege komplexe Fomular
- auch mehrseitige Formulare möglich
- Daten für Auswahlen etc. könne aus fremde Quelle (Datenbank) geholt werden
- Kontrollseite für die Eingaben
- senden der Daten per Mail oder an andere URL oder idcatside


Autor(en):
---------------------------------------------------------------------------
axxxcel
philipp


Lizenz:
---------------------------------------------------------------------------
GPL


Benötigte Sefrengo Version:
---------------------------------------------------------------------------
>= 01.02.00 (Sefrengo 1.2)


Installation:
---------------------------------------------------------------------------
Wechseln Sie in Ihrer Sefrengo Version in den Bereich "Design->Module". Am
unteren Ende des Bereichs befindet sich ein Uploadfeld. Wählen Sie hier die
gewünschte "*.cmsmod"- Datei aus. Mit einem Klick auf das Diskettensymbol
wird das Modul in das CMS importiert. Das Modul ist nun innerhalb des CMS
nutzbar.


Update/ Migration:
---------------------------------------------------------------------------
Update von einer Version vor Sefrengo 1.2:
Es wird empfohlen, auf jeder Seite, wo dieses Modul benutzt wird, kurz die
Konfiguration aufzurufen und diese noch einmal abzuspeichern. Dies ist
aufgrund neuer Konfigurationparameter notwendig, die erst zur Verfügung
stehen, wenn die Konfiguration erneut zugewiesen wurde.


Dokumentation:
---------------------------------------------------------------------------
Liegt als PDF dem Download Archiv bei. Bezieht sich zwar auf 01.21.00, ist
aber auch für 01.03.00 gültig.

QUELLTEXT
Changelog legend:
# -> Bug Fix
+ -> Addition
^ -> Change
- -> Removed
! -> Note

Current versionnumber is  01.03.00 - released 27.12.2005

+ sending utf-8 encoded mail using the pear mail class supplied with sefrengo
# added missing vars to the unset command at the end of the module
^ module converted to sefrengo 1.2


Current versionnumber is  01.22.00 - released 17.02.2005

# Checkboxen Bug entfernt


Current versionnumber is  01.21.00 - released 08.11.2004

+ Schutz vor Spamming optimiert
+ Dokumentation erstellt und dem Paket hinzugefügt
# Problem beim Ausführen von php vor dem Modul behoben
# einige kleine Schönheitsfehler in den Default Einstellungen behoben.


Current versionnumber is  01.20.00 - released 07.11.2004

+ XHTML konformer Code möglich
+ Schutz vor Spamming über das Formular durch RIJNDAEL_256 verschlüsselt
  übergebenen Wert (mcrypt benötigt! siehe phpinfo.php)
+ Formulargesteuerte Erstellung der Felder
+ Absenderadresse auswählbar
+ beliebige Attribute in einzelne Formular Tags hizufügbar (
  Stichwort: barrierefreies Design)
+ E-Mail Adressen Validierung durch folgende Methoden (MX, A und CNAME und
  natürlich Aufbaukontrolle)
+ CSS Klasse für jedes einzelne Feld festlegbar
+ Versenden an URL außerhalb von DeDi möglich
+ Betreff der E-Mail editierbar
+ ID der Felder wird automatisch wie der vergebene Name gesetzt. Bei Auswahl-
  möglichkeiten wird eine laufende Nummer angehängt.
# Fehler bei mehreren Defaultwerten für Checkboxen / multiple Listen
# Bezeichnung von Checkboxen / Radiobutton wird nun über <label>
  und zugehörige CSS Klasse realisiert.
urs
Irgendwie scheinen die Validierungen ("nicht leer", etc.) nicht zu funktionieren. Hat sich da bei der Portierung ein kleiner Fehler eingeschlichen oder habe ich eine Einstellung im Formbuilder nicht richtig interpretiert?

Kann dies jemand bestätigen? Versucht es doch einfach mal mit einer simplen Textzeile und der Validierung "nicht leer". Danke.

Gruss, Urs
alexander
also bei mir funktioniert die validierung, zumindest mit einfachen textzeile.
urs
Muss denn die Kontrollseite zwingend aktiv sein oder findet die Validierung bereits auf der Erfassungsseite statt?
urs
Habe mal die Kontrollseite aktiviert und auch bei mir funktioniert die Validierung... Es scheint also so, dass die Kontrollseite mehr oder weniger Pflicht sein sollte (zumindest, wenn die Daten per E-Mail übermittelt werden)... Eine sinnvolle Situation, bei der auf die Kontrollseite verzichtet werden kann, fällt mir derzeit nicht ein. Könnt ihr mir eine solche nennen?

Schade, eigentlich wollte ich den Formbuilder bei einem aktuellen Projekt als extrem konfigurierbares Kontaktformular verwenden. Mit dem eigentlichen Kontaktformular komme ich nicht weiter, da zuwenige flexibel... Aber ohne Formvalidierung bringt dieses Modul irgendwie auch nichts und eine Kontrollseite möchte ich nicht anzeigen.

Frage an Entwickler: wäre es möglich, dass bei deaktivierter Kontrollseite die Validierung (inkl. dem dazu gehörenden Fehlerhandling auf der selben Seite) trotzdem funktionieren könnte? rolleyes.gif

Greetz, Urs
alexander
ZITAT
Frage an Entwickler: wäre es möglich, dass bei deaktivierter Kontrollseite die Validierung (inkl. dem dazu gehörenden Fehlerhandling auf der selben Seite) trotzdem funktionieren könnte?


ich bin zwar nicht der entwickler der moduls, aber so weit ich mich noch erinnern kann als ich das modul für sefrengo konvertiert habe, wäre das schon einiges an arbeit die logik der validierung umzustellen, so dass sie ohne kontrollseite fuktioniert.
phiro
Hallo urs,

dann will ich mich als Entwickler des Formbuilders (mein Nick aus dem DeDi Forum war hier trotz schneller Anmeldung leider schon vergeben) mal zu Wort melden.

Zur Zeit ist es leider nicht ohne größeren Aufwand möglich, die Validierung ohne Benutzung der Kontrollseite einzusetzen.
Das hängt schlicht damit zusammen, dass der Formbuilder das versenden an verschiedene Ziele (E-Mail, URL usw.) unterstützt. Werden die Daten an eine andere URL gesendet läge die Validierung dann nicht mehr beim Formbuilder. Man müsste also eine weiter Konfigurationsmöglichkeit schaffen. Habe das mal für eine neue Version notiert, wobei ich davon ausgehe, dass diese mangels Zeit noch einige Zeit auf sich warten lassen wird...

Gruß

Philipp
urs
ZITAT(phiro @ Wed. 19. July 2006, 12:42) *
Habe das mal für eine neue Version notiert, wobei ich davon ausgehe, dass diese mangels Zeit noch einige Zeit auf sich warten lassen wird...
Hallo Philipp
Schön, dass Du Dich hier zu Wort meldest. Ob diese neue Version in einem Tag, einem Monat oder in einem Jahr erscheint - ich freue mich bereits heute. Vielen Dank schon zum voraus!

Gruss, Urs
urs
Hi Philipp
Habe gleich einige Punkte, die den Formbuilder betreffen und möglicherweise in einen künftigen Release einfliessen könnten:

1) Wenn ich mehrere Pflichtfelder ("nicht leer") erfasse und dann beim Eingabeformular keinen solchen Wert abfülle, dann wird auf der Kontrollseite mehrmals die Fehlermeldung "Bitte geben Sie alle benötigten Informationen ein." aufgelistet. Optimal wäre, wenn diese Information lediglich einmal angezeigt werden würde, dafür zudem eine Information angezeigt wird, welche Felder denn nicht korrekt sind.

2) Möglicherweise könnte das Errorhandlings als eigenes "Template" in die Modulkonfiguration übernommen werden

3) Möglicherweise könnte das Beschriften der Buttons in die Modulkonfiguration übernommen werden. Möglicherweise wäre es sogar sinnvoll, dass die Beschriftung des Sende-Buttons auf der Eingabeseite und auf der Kontrollseite unterschiedlich sein könnten (z.B. Button 1. Seite="Weiter" und Button auf 2.Seite="Abschicken")

4) Bug: wenn ich das Modul importiere und dann bei den Vorgabefeldern (ich glaube es sind sechs) die Werte unter "Default" lösche und anschliessend das Formular speichere mit <übernehmen> ganz zu unterst am Bildschirm, dann füllt mir das Modul die soeben gelöschten Informationen wieder ein. Wenn ich ein Leerzeichen erfasse, dann wird der Vorgabewert zwar nicht mehr abgefüllt, dafür funktioniert die Validierung nicht mehr korrekt. Du siehst - ist ein ziemliches Dilemma...

Soweit meine Feststellungen und Wünsche rolleyes.gif .

Gruss, Urs
andi
ZITAT(urs @ Wed. 19. July 2006, 13:44) *
4) Bug: wenn ich das Modul importiere und dann bei den Vorgabefeldern (ich glaube es sind sechs) die Werte unter "Default" lösche und anschliessend das Formular speichere mit <übernehmen> ganz zu unterst am Bildschirm, dann füllt mir das Modul die soeben gelöschten Informationen wieder ein. Wenn ich ein Leerzeichen erfasse, dann wird der Vorgabewert zwar nicht mehr abgefüllt, dafür funktioniert die Validierung nicht mehr korrekt. Du siehst - ist ein ziemliches Dilemma...

wollte gerade vom kontaktformular zum formbuilder wechseln. allerdings bringe auch ich die voreingestellten default, option/value und attributte nicht aus dem modul. so ist das für mich unbrauchbar.

ist momentan der einzige workaround, ein leerzeichen einzufüllen?

update: habe nun einfach die nötigen zeilen (6-62) im input des modules auskommentiert.


gruss andi
alexander
ZITAT(andi @ Thu. 5. October 2006, 10:54) *
update: habe nun einfach die nötigen zeilen (6-62) im input des modules auskommentiert.


ist aktuell die einzige möglichkeit das zu unterbinden.
andi
hat eigentlich jemand den formbuilder mit einer aktuellen sefrengo-installation 01.03.01 im einsatz?
mika
jo ich - gerade am machen

michel
andi
mmmmh, ich bin schon ganz still.... hatte das modul in einer alten sefrengo-version zum laufen gebracht und letztens in der aktuellen 01.03.01 nicht. habs mir aber gerade nochmals angeschaut und siehe da, geht doch. wink.gif


gruss andi
mika
ja, geht schon aber ich hab trotzdem ein problem:

ich möchte das formular an eine e-mail-adresse senden (macht er)
ich möchte eine html-mail versenden und habe dafür im moduloutput anstelle
QUELLTEXT
$mime-&gt;setTXTBody($email_template);
das "TXT" in "HTML" ausgetauscht >
QUELLTEXT
$mime-&gt;setHTMLBody($email_template);
(er versendet dann auch html-mails)

aber: ich habe probleme mit der Funktion quotedPrintableEncode aus der Datei backend\external\pear.php.net\Mail\mimePart. Die erstellt nämlich aus ascii 8bit ein 7bit-gebilde und verwandelt die "="-Zeichen aus dem html-Code in "0x3d" bzw. die Leerzeichen in "0x20" usw.

Im Quelltext der Mail kommt dann sowas an: "<td colspan0x3d"3">Familienname, ..."

Entscheidend dabei scheint die Übertragung mit folgender Header-Angabe zu sein

Content-Transfer-Encoding: quoted-printable

Ich hab in allen möglichen Dateien aus dem Mail-Ordner angeschaut - ich kann das "quoted-printable" nicht umändern.

zum Beispiel in der Datei mimePart.php habe ich versucht die 7bit-Konvertierung und 8bit-Konvertierung umzustellen:

QUELLTEXT
//Default encoding
        if (!isset($this->_encoding)) {
            $this->_encoding = '7bit';


da reagiert gar nix - ich weiss keinen rat, wo kann ich das eurer meinung nach einstellen?
lg michel
mika
ich habs:

in der Datei mime.php muss man
QUELLTEXT
'html_encoding' => '8bit',


einstellen. Dann klappts auch mit den "="-Zeichen.

michel
luxli
ZITAT(andi @ Tue. 3. April 2007, 22:40) *
hat eigentlich jemand den formbuilder mit einer aktuellen sefrengo-installation 01.03.01 im einsatz?

Ja ich, allerdings eine von Olaf modifizierte DeDi-Version die von mir an SF angepasst wurde.
mika
hab ein riesen problem: mein Formular enthält über 50 Eingabefelder - fast alle sind Pflichtfelder. Wenn die Pflichtfelder nicht ausgefüllt werden wird auf der Kontrollseite die Meldung "Bitte geben Sie alle benötigten Informationen ein" ausgegeben. Leider ohne die Benennung, welches Feld kontrolliert werden soll!

Bei Postleitzahlen und E-Mailadressen wird der default-Wert des Formularfelds bei der Fehlermeldung mit ausgegeben.

Im Modul steht das im Output-Bereich von Zeile 534 - 568. Dabei wird die Variable $set mit in die Fehlermeldung übernommen

Beispiel PLZ:

QUELLTEXT
if (!eregi("^[0-9]{5}$",$set))
{
  $result .= '<p class="'.$mvars[10].'">Bitte geben Sie eine korrekte Postleitzahl ('.$set.') an!</p><br />'
  $validate_template = str_replace("{bs}","&nbsp;",$validate_template);}



Im Formulartextfeld fehlt die Ausgabe der Variable:

QUELLTEXT
if (!$set)
{
$result .= '<p class="'.$mvars[10].'">Bitte geben Sie alle ben&ouml;tigten Informationen ein.</p><br />';
$validate_template = str_replace("{bs}","&nbsp;",$validate_template);}
}


Wenn man nun die Variable einfach mit einfügt, wird trotzdem nicht der default-Wert mit ausgegeben:

QUELLTEXT
{if (!$set)
{
$result .= '<p class="'.$mvars[10].'">Bitte geben Sie alle ben&ouml;tigten Informationen [b]in das Feld '.$set.' [/b]ein.</p><br />';
$validate_template = str_replace("{bs}","&nbsp;",$validate_template);}


Ich hab auch schon mit der Funktion "ereg" und "eregi" rumexperimentiert. Ich komm nicht drauf. Wer kann mir da weiterhelfen?

vg michel
STam
Hi,

nein das geht nicht so einfach; das Modul müsste schon ziehmlich aufgebohrt werden
um verschiedene Validierungsmöglichkeiten anzubieten.
Zur Zeit sind da nur die Optionen 'keine', 'Nicht leer', 'Email' und 'Posteitzahl' implementiert.
Die Prüfung an der du da rumschraubst ist unsinning:
QUELLTEXT
Pseudocode:
if (!$TEST) echo $TEST;
ergibt mal nie etwas (außer einen leeren String) wink.gif
und prüft im original nur auf 'Nicht leer'.

Gruß
mika
jepp, hast recht - $set bleibt $set, da beisst sich der hund in den schwanz, aber mit dem könnte es gehen - bin grad am durch probieren:

QUELLTEXT
if (!$set)
{
$result .= '<p class="'.$mvars[10].'">Bitte geben Sie alle ben&ouml;tigten Informationen in das Feld '.$liste[$a]['name'].' ein.</p><br />';
$validate_template = str_replace("{bs}","&nbsp;",$validate_template);
}


ich versteh das so: wenn die variable $set leer is, dann soll er den satz und die variable $liste mit dem array typ "name" ausgeben - oder so. scheint zu klappen.

ich bekomme bei leeren feldern, die nicht leer sein dürfen nun den Namen/id des Felds ausgegeben, den ich im Template vergeben hab.

michel
design4minds
Hallo ich habe das Problem das bei mir zwar eine E-Mail versendet wird, diese auch das E-Mail Template beinhaltet welches ich angelegt habe, die Variablen aber nicht ausgefüllt werden.

Provider ist domainfactory

Hier ein Link zur PHP Info()
http://schroeder-sven.de/info.php


Das kommt per E-Mail, der Betreff wird sogar noch richtig gesetzt
QUELLTEXT
Name:   ()

Anschrift:



Firma:

Position:

Branche:

Telefon:

Fax:

E-Mail:

Web:

Anmerkung:


Mein E-Mail template
QUELLTEXT
Name: {vorname} {name} ({email})

Anschrift:
{strasse}
{plz} {ort}

Firma: {firma}

Position: {position}

Branche: {branche}

Telefon: {telefon}

Fax: {telefax}

E-Mail: {email}

Web: {web}

Anmerkung:
{anmerkung}


Hatte schonmal jemand das Problem?
design4minds
Ich konnte das Problem beheben in dem ich von PHP 4.4.7 auf 5.2.4 umgestellt habe.
hkuhrt
Hallo,
ich bekomme er gar nicht zum Laufen. Die Seite wird nicht ganz ausgeliefert. Wenn ich die Seite aufrufe wo das Modul drinnen ist, Stopt der Browser an dem Modul und hört auf weiter zu laden. Alles was danach kommt, wird nicht mehr mit ausgeliefert.

Gruß
Holger
DesertEagle
Hallo die runde!
ich verwende SF 01.04.02 und den Formbuilder 1.3.0 auf PHP 5.2.8
der formbuilder bezieht sich bei der frontend-ausgabe auf die funktion "mcrypt_create_iv(...)" in zeile 50 und 62, allerdings ist mein php der überzeugung dass diese funktion nicht definiert sei. ich vermute ja stark dass der rest der mcrypt funktionen ebensowenig vorhanden sein wird.

gibts da abhilfe? ist das evtl nur nicht aktiviert? wo is der wurm drin?

mfG
Desert

PS: ich vermute Holger über mir hat selbiges problem :-)


@EDIT: problem gelöst, das mcrypt war einfach nicht installiert. evtl könnte man das zu den requirements aufnehmen dass man das paket nachschieben muss. wenn man keinen zugriff auf den server hat, hat man allerdings ein problem.
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.