[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Capacha - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Steffi
Beiträge: 78
Registriert: 4. Okt 2009, 20:03

Capacha

8. Okt 2009, 17:14

Hallo ich habe das Formular installiert und wollte jetzt den Capacha installieren.
Runtergeladen hab ich das hier : http://www.rexvideo.de/module/formulargenerator.html

Wenn ich das Addon in /files/addon kopiere wird es unter addon angezeigt.
Möchte ich installieren kommt folgender Fehler.

Installationsdatei wurde nicht gefunden (install.inc.php)!

Die Datei ist im Ordner auch nicht vorhanden.

Der Artikel wo der Capacha vom Formluar eingetragen ist , lautet 23
das hab ich hier:
// ID zum Captcha-Artikel der das Captcha-Template nutzt
$captchaID = 23;
auch eingetragen , nur richtig so ?


Steffi

Bei mir sieht das auch ein bisschen durcheinander aus nicht wie im Video schön Center. Wie kann ich das den machen ?

therancher
Beiträge: 488
Registriert: 29. Jan 2007, 18:32
Wohnort: Sachsen

8. Okt 2009, 20:44

hi, das captcha-archiv entpackst du einfach in das wurzelverzeichnis deiner homepage.
Danach liest du dir nochmal den kommentar im ausgabe-modul des formulargenerators durch. denn bei verwendung des externen captcha-archivs musst du $captcharesource anpassen und $captchaID auskommentiert lassen.
z.B.:

Code: Alles auswählen

// ID zum Captcha-Artikel der das Captcha-Template nutzt
//$captchaID = 000;
//$captchasource = htmlspecialchars(rex_getUrl($captchaID));
//==============================================
// Alternative: Externe Einbindung eines Captchas
$captchasource="captcha/captcha.php";
das formular selbst wird (natürlich) mit css angepasst. beispielcode liegt doch bei...

vg, HarryT
spontanität will wohl überlegt sein!

Steffi
Beiträge: 78
Registriert: 4. Okt 2009, 20:03

9. Okt 2009, 14:23

Hi Harry

Ich hab den Code jetzt so angepasst:

// =============================================
// KONFIGURATION
// =============================================
// Captcha-Konfiguration
// Die folgende Variable muss unbedingt angepasst werden:
// =============================================
// ID zum Captcha-Artikel der das Captcha-Template nutzt
//$captchaID =12;
//$captchasource = htmlspecialchars(rex_getUrl($captchaID));
//==============================================
// Alternative: Externe Einbindung eines Captchas
$captchasource="/redaxo/captcha/captcha.php";
// =============================================
// siehe: http://www.rexvideo.de/module/formulargenerator.html

Die Dateien sind unter redaxo/capatcha/captcha.php geht allerdings immer noch nicht

netmanix

9. Okt 2009, 14:52

Die Dateien sollten in den Ordner /captcha und nicht in /redaxo/...

Steffi
Beiträge: 78
Registriert: 4. Okt 2009, 20:03

9. Okt 2009, 21:01

Hi , irgendwie verwunderlich oder doch noch ein Fehler drin ?

Modul Input

Code: Alles auswählen

<?php
/**
 *=============================================
 * REDAXO-Modul: do form!  2
 * Bereich: Eingabe
 * Version:  2.17 .1 
  * Redaxo Version: 4.x
 * 
 * Hinweise:
 * 
 * Erforderliche Addons: TinyMCE, PHPMAiler oder 
 * PHPMAiler+SMTPAUTH 
 *
 * Bearbeitung: KLXM Crossmedia, Thomas Skerbis
 * www.klxm.de
 * Datum: 02.10.2009
 * Ursprung: Formular-Generator Redaxo 3.2 Demo
 * Typ: Modifikation / Erweiterung  
 * Dank an: Markus "Zonk" Lorch, Markus Feustel, Harry Brader, 
 * brandes-webdesign, Simon Teufel, snaft (Marc), grizou (Christian), 
 * Markus Staab, Jan Kasper Münnich, Tito, Elricco (Tim), Xong, Koala 
 *=============================================
 */
$doformversion="2.17.1";
 
// Definition des Standard-Formulars 
$defaultdata="
text|Name|1|||letters
text|Vorname|1|||letters
text|Firma |
text|Straße|
text|PLZ|1|||plz
text|Ort|1|||
text|Telefon||||telefon
text|Telefax||||telefon
text|E-Mail|1|||absendermail
textarea|Ihre Nachricht: |1|
";
?>
 



<style type="text/css">
<!--
.formgenheadline {
	color: #FFFFFF;
	background-color: #006699;
	display: block;
	padding-left: 10px;
	font-family: Geneva, Arial, Helvetica, sans-serif;
	padding-top: 2px;
	padding-right: 2px;
	padding-bottom: 2px;
	font-weight: bolder;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 3px;
	border-left-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #CCCCCC;
	border-right-color: #333333;
	border-bottom-color: #FFCC33;
	border-left-color: #666666;
	font-style: italic;
}

.formbg {background-color:#E0E8E0;}

.formgenerror {
  color: #FFFFFF;
  background-color: #990000;
  border: 6px dashed #FFCC00;
  margin: 5px;
  padding: 5px;
}
.formgen_manual {
  color: #333333;
  font-size: 1.2em;
  background-color: #eeeeee;
}
.formgenconfig {
	background-color: #002142;
	font-family: "Courier New", Courier, monospace;
	color: #FFC;
	font-size: 1.2em;
}
.formgen_sample {
	background-color: #EDE9EC;
	font-family: "Courier New", Courier, monospace;
	color: #333333;
	font-size: 1.2em;
}
.formgenalias {
	color: #6DA0BE;
	font-size: 0.9em;
}
#formgenblock {
  width: 540px;
  padding: 10px;
}
.Stil2 {color: #999999; font-style: italic; }
.formgentitle {
	color: #000;
	background-color: #94BC3C;
	display: block;
	padding-left: 10px;
	font-family: Geneva, Arial, Helvetica, sans-serif;
	padding-top: 2px;
	padding-right: 2px;
	padding-bottom: 2px;
	font-weight: bolder;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 3px;
	border-left-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #CCCCCC;
	border-right-color: #333333;
	border-bottom-color: #1C78A8;
	border-left-color: #666666;
	font-style: italic;
}
.Stil3 {
	color: #ECF1EB;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
}

.myDivs .formgenheadline {
	background-color: #336633;
	color: #FFFFFF;
}



-->
</style>

<script language="JavaScript" type="text/javascript"> 
<!-- 
function doIt(theValue) 
{ 
    var divs=document.getElementsByTagName("DIV"); 
    for (var i=0;i<divs.length;i++) 
    { 
        if (divs[i].className=="myDivs") 
        { 
        divs[i].style.display=(( theValue=="every" || divs[i].id==theValue)?"block":"none"); 
        }; 
    } 
} 
//--> 
</script>


<h1 class="formgentitle">do form! <span class="Stil3">2</span></h1>
<p>Zur Erstellung von E-Mail-Formularen mit verschiedenen Validierungsmöglichkeiten.<br>
 Ihre Version: <?php echo $doformversion; ?>&nbsp;<br/><?php $phpmcheck= OOAddon::isActivated('phpmailer'); 
if ($phpmcheck=="1")
{}
else {echo' <div class="formgenerror"> PHPMailer wurde nicht gefunden oder ist nicht aktiviert. <br/> Bitte installieren Sie das ADDON! </div>';}
?>
</p>
<p align="right">&nbsp;<a href="http://www.redaxo.de/165-0-moduldetails.html?module_id=364" target="_blank">Aktuelle Version hier</a>&nbsp;|&nbsp;<a href="http://wiki.redaxo.de/index.php?n=R4.DoForm" target="_blank"><strong>WIKI  </strong></a> &nbsp;|&nbsp;<a href="http://www.rexvideo.de/module/formulargenerator.html" target="_blank"><strong>Videotutorial</strong></a>&nbsp;|&nbsp;<a href="#anleitung" id="anzeige" onClick="javascript:document.getElementById('anleitung').style.display = 'block'" ><strong>Kurzanleitung - einblenden </strong></a><br />
</p>


  <p class="formgenheadline">Formularkonfiguration</p>
  <table width="540" border="0" cellpadding="6" cellspacing="5" class="formbg">
    <tr>
      <td width="327" valign="top"><strong>Betreff:</strong><br />
          <input type="text" name="VALUE[4]" value="REX_VALUE[4]" class="inp100" />
          <strong><br />
          <br />
            Sprachkodierung:</strong> (Standard: Unicode) <br>
        <select name="VALUE[9]">
          <option value='UTF-8' <? if ("REX_VALUE[9]" == 'UTF-8') echo 'selected'; ?>>Unicode / alle Sprachen</option>
          <option value='iso-8859-1' <? if ("REX_VALUE[9]" == 'iso-8859-1') echo 'selected'; ?>>Westeurop&auml;isch</option >
          <option value='iso-8859-2' <? if ("REX_VALUE[9]" == 'iso-8859-2') echo 'selected'; ?>>Mitteleurop&auml;isch</option>
        </select>
        <br />
        <br />

         HTML-EMAIL<span class="Stil2"> (noch nicht in Bestätigungsmail)</span><br>
        <select   name="VALUE[12]">
          <option value='ja' <? if ("REX_VALUE[12]" == 'ja') echo 'selected'; ?>>ja</option>
          <option value='nein' <? if ("REX_VALUE[12]" == 'nein') echo 'selected'; ?>>nein</option >
        </select>      </td>
<td width="237" valign="top"><strong>Email geht an:</strong><br />
          <input type="text" name="VALUE[1]" value="REX_VALUE[1]" class="inp100" />
  <span class="formgenalias">(%Mail%)</span><br />
          <br />
          <strong>BCC an:</strong><br />
          <input type="text" name="VALUE[11]" value="REX_VALUE[11]" class="inp100" />
          <br />
          <br />
          <strong> Bezeichnung f&uuml;r Senden-Button:</strong><br />
          <input type="text" name="VALUE[7]" value="REX_VALUE[7]" class="inp100" /></td>
    </tr>
    <tr>
      <td colspan="2" valign="top"><strong>Soll eine Best&auml;tigungs-Email erstellt werden? </strong>
        <select name="VALUE[10]" id="mySelect" onChange="doIt(this.value)">
          <option value='Nein' <? if ("REX_VALUE[10]" == 'nein') echo 'selected'; ?>>Nein</option>
          <option value='ok' <? if ("REX_VALUE[10]" == 'ok') echo 'selected'; ?>>Ja</option>
        </select>
        <br />
        <em>(Funktioniert nur wenn Feld : |absendermail definiert ist)</em></td>
    </tr>
  </table>
  <br>
  <br>
<div id="ok" <? if ("REX_VALUE[10]" == 'ok'){ echo 'style="display:block;"'; } else echo 'style="display:none;"'; ?> class="myDivs">
  <span class="formgenheadline">Bestätigungs-Email an den Absender</span>
  <table width="540" border="0" cellpadding="6" cellspacing="5" class="formbg">
    <tr>
      <td valign="top"><strong>(Ihre) Absenderadresse f&uuml;r die Best&auml;tigungs-Email:</strong><br />
        <input type="text" name="VALUE[2]" value="REX_VALUE[2]" class="inp100" />
        <span class="formgenalias">(%Absender%)</span><br/>
        <br/>
        <strong>Absender-Name:</strong><br />
        <input type="text" name="VALUE[8]" value="REX_VALUE[8]" class="inp100" /></td>
      <td valign="top"><strong>Original anh&auml;ngen?<br />
          <select name="VALUE[13]">
            <option value='nein' <? if ("REX_VALUE[13]" == 'nein') echo 'selected'; ?>>nein</option >
            <option value='ja' <? if ("REX_VALUE[13]" == 'ja') echo 'selected'; ?>>ja</option>
          </select>
          <br>
          <br>
Datei anhängen: </strong>REX_MEDIA_BUTTON[1] </td>
    </tr>
  </table>
  <p><strong class="formgenheadline">E-Mail-Bestätigungstext</strong>
      <textarea name="VALUE[5]" style="width:100%;height:80px;">REX_VALUE[5]</textarea>
      <span class="formgen_sample1"><strong>Platzhalter:</strong> %Datum% , %Zeit%, %Absender%, %Mail% </span><br>
  </p>
</div>
  <p class="formgenheadline">Formularfelder (siehe Beispiel)<br>
</p>
  <p> typ|label|pflicht|default|value/s|validierung <br>
    <textarea name="VALUE[3]" class="formgenconfig" style="width:100%;height:250px;"><?php if ("REX_VALUE[3]" == '') {echo $defaultdata;} else {echo "REX_VALUE[3]";}  ?></textarea>
  </p>
  <p class="formgenheadline"><strong>Danksagung</strong> (wird auf der Website nach dem Versand angezeigt)</p>
  <p>
    <?php 
// Ist TinyMCE 3 aktiviert?
if (class_exists('rexTinyMCEEditor'))
{
// Diese 3 Zeilen dürfen keine führenden Leerzeichen besitzen! 
$wysiwigvalue =<<<EOD
REX_VALUE[6]
EOD;

  // Neue Instanz der Klasse
  $tiny = new rexTinyMCEEditor();

  // Buttons setzen (hier alle Buttons der Standardkonfiguration)
  $tiny->buttons1 = 'bold,italic,underline,strikethrough,sub,sup,|,forecolor,backcolor,styleselect,formatselect,|,charmap,cleanup,removeformat,|,preview,code,fullscreen';
  $tiny->buttons2 = 'cut,copy,paste,pastetext,pasteword,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,link,unlink,redaxoMedia,redaxoEmail,anchor,|,advhr,image,emotions,media';

  // zusätzliche Buttons für Undo/Redo, Tabellen und Template
  $tiny->buttons3 = 'undo,redo,|,tablecontrols,visualaid,|,template,help';
  $tiny->buttons4 = '';

  // Breite und Höhe des Editors
  $tiny->width = 555;
  $tiny->height = 350;

  // Valides XHTML generieren true/false
  $tiny->validxhtml = true;

  // Hier können eigene Werte über die Standardwerte überlagert werden
  //
  // Achtung:
  // bei einigen Parametern (z.B. Plugins) muss der Wert aus der
  // Standardkonfiguration e r w e i t e r t werden
  // Hier als Beispiel erweitert um die Plugins syntaxhl, table, template
$mytinyconfig =<<<EOD
	plugins : 'advhr,advimage,advlink,contextmenu,emotions,fullscreen,inlinepopups,media,paste,preview,redaxo,safari,visualchars,syntaxhl,table,template',
	skin : 'o2k7',
	skin_variant : 'silver'
EOD;

  // eigene Konfiguration übernehmen
  $tiny->configuration = $mytinyconfig;

  // WYSIWYG-Content zuordnen
  $tiny->content = $wysiwigvalue;

  // Id des REX_VALUES zuordnen
  $tiny->id = 6;

  // WYSIWYG-Editor anzeigen
  $tiny->show();
}

else
{

$tinycheck= OOAddon::isActivated(tinymce);
if ($tinycheck=="1") {
// Diese 3 Zeilen dürfen keine führenden Leerzeichen besitzen! 
$value1 =<<<TEXT
REX_VALUE[6]
TEXT;
$editor=new rexTiny2Editor(); 
$editor->id=6; 
$editor->content=$value1; 
$editor->show(); }
else {echo' <div class="formgenerror"> TINYMCE wurde nicht gefunden. <br/> Bitte installieren Sie das ADDON! </div>';}
}
?>
  </p>
  <div align="right">Bearbeitung: <a href="http://www.klxm.de" target="_blank">Thomas Skerbis - KLXM Crossmedia GmbH</a></div>



  <div id="anleitung" style="<?php echo (!isset ($anleitung) || !$anleitung) ? 'display: none' : 'display: block'; ?>"> 
    <p class="formgenheadline1">Beispiel-Formular:</p>
    <p>
      <textarea name="demo" cols="80" rows="11" class="formgen_sample" style="width:100%;height:200px;">
fieldstart|Kontaktdaten
text|Name|1|||checkfield    
text|Vorname|1
text|Firma
text|Straße
text|PLZ|1|||plz
text|Ort|1
text|Telefon||||telefon
text|Telefax||||telefon
fieldend|
fieldstart|Weitere Angaben
divstart|cssklasse
radio|Geschlecht|0|Mann;Frau|m;w|
password|Ihr Passwort|1|||alpha
text|E-Mail|1|||absendermail
divend|
select|Auswahl|1||Birne;Apfel;Kirsche
checkbox|AGB gelesen?
fieldend|
captchapic|Geben Sie bitte diesen Code oder nochmal Ihren Namen ein
text|Sicherheitscode|1|||captcha
textarea|Ihre Nachricht:|1|</textarea>
    </p>
  <p class="formgenheadline1"><strong>Kurzbeschreibung:</strong></p>
   <p>do form! 2 basiert auf den in Redaxo 3.2 mitgelieferten Formular-Generator </p>
   <p>Beim ersten Aufruf erstellt das Modul eine Konfiguration für ein Standard-Kontaktformular. <br>
     Im Beispiel-Formular sehen Sie weitere Möglichkeiten zur Konfiguration. <br>
     Eine genaue Dokumentation finden Sie im Wiki. <br>
     <br />
     <br />
    </p>
   <table width="100%" style="clear:both;">
  <tr>
        <td width="164" style="vertical-align:top;"><strong>Typen</strong></td>
        <td width="1038" valign="top"><p>text<br />
          textarea<br />
          select <br>
          checkbox<br />
          info<br>
          radio<br>
          password<br>
          captchapic (Setzt das Captchabild mit Info ein)<br />
          headline<br>
          date<br>
        time</p>
          <hr size="1">
          <p><strong>Gestaltungselemente:<br />
          </strong><em>Einige Gestaktungselemente werden nicht in der E-Mail &uuml;bertragen* </em><br />
              <br />
            fieldstart|label<br>
fieldend*<br>
divstart|css-klasse* / divstart|#css-id<br>
            divend*<br />
          trennelement*</p>
          <p><strong>Sonstiges</strong><br>
          ilink|ID|Name des Links<br />
          ilink2|id|parameter(& = &amp;)|Klasse|Bezeichnung <br />
          <br />
          sessionvar|Warenkorb</p>
          <p>(Neu seit 14.08: GET-Veriable kann in einem Textfeld ausgelesen werden) <br>
Verwendug: text|Titel:|1|GET_Variablenname|</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p></td>
    </tr>
      <tr>
        <td style="vertical-align:top;"><strong>Label</strong></td>
        <td>Feldbezeichnung / Titel</td>
      </tr>
      <tr>
        <td style="vertical-align:top;"><strong>Pflicht</strong></td>
        <td>1 sonst 0 oder leer <br>
        (<em>Pflichtfelder werden automatisch mit einem * versehen.</em>)</td>
      </tr>
      <tr>
        <td style="vertical-align:top;"><strong>Default</strong></td>
        <td valign="top">Wert der bereits erscheinen wird.<br /></td>
      </tr>
      <tr>
        <td style="vertical-align:top;"><strong>Value/s</strong></td>
        <td>Werte für  Radio und select, getrennt per ; </td>
      </tr>
      <tr>
        <td style="vertical-align:top;">&nbsp;</td>
        <td valign="top">&nbsp;</td>
      </tr>
      <tr>
        <td style="vertical-align:top;"><strong>Validierung</strong></td>


        <td valign="top"><ul>
          <li>alpha (nur engl.Buchstaben) </li>
          <li>url (URL)</li>
          <li>digit (nur Zahlen)</li>
          <li>plz (midestens 5 Zahlen)</li>
          <li>telefon (mindestens 6 Zahlen)</li>
          <li>letters (z.B. für Namen)</li>
          <li> mail (pr&uuml;ft eingegebene Email-Adressen) </li>
          <li> absendermail (diese Adresse wird als Absendermail eingesetzt und gepr&uuml;ft)</li>
          <li>captcha - prüft die Captcha-Eingabe</li>
          <li>checkfield (legt ein Vergleichsfeld fest das als Spamschutzcode gilt)<br>
          </li>
        </ul></td>
      </tr>
    </table>
    <p>typ|label|pflicht|default|value|validierung </p>
    <p>&nbsp;</p>
</div>
Modul Output

Code: Alles auswählen

<?php
/**
 *=============================================
 * REDAXO-Modul: do form! 2
 * Bereich: Ausgabe
 * Version: 2.17.1 
 * 
 * Redaxo Version: 4.x
 * 
 * Hinweise:
 *
 * Erforderliche Addons: TinyMCE, PHPMAiler
 *
 * Bearbeitung: KLXM Crossmedia, Thomas Skerbis
 * www.klxm.de
 * Datum: 02.10.2009
 * Mit Datums- und Zeitabfrage  von: Xong
 * Ursprung: Formular-Generator Redaxo 3.2 Demo
 * Typ: Modifikation / Erweiterung
 *=============================================
* 
 * VALUE[1] - Email geht an 
 * VALUE[2] - (Ihre) Absenderadresse fuer die Bestaetigungs-Email 
 * VALUE[3] - Formularfelder 
 * VALUE[4] - Betreff 
 * VALUE[5] - E-Mail-Bestaetigungstext 
 * VALUE[6] - TinyMCE 
 * VALUE[7] - Bezeichnung fuer Senden-Button 
 * VALUE[8] - Absender-Name 
 * VALUE[9] - Sprachkodierung 
 * VALUE[10] - Soll eine Bestaetigungs-Email erstellt werden? 
 * VALUE[11] - BCC an 
 * VALUE[12] - HTML-EMAIL JA /NEIN
 * VALUE[13] - Original anhaengen? JA / NEIN
  * REX_FILE[1] - Dateianhang
 * 
 */

// =============================================
//   KONFIGURATION
// =============================================
// Captcha-Konfiguration
// Die folgende Variable muss unbedingt angepasst werden:
// =============================================
// ID zum Captcha-Artikel der das Captcha-Template nutzt
//$captchaID =12;
//$captchasource = htmlspecialchars(rex_getUrl($captchaID));
//==============================================
// Alternative: Externe Einbindung eines Captchas
$captchasource="/captcha/captcha.php";
// =============================================
// siehe: http://www.rexvideo.de/module/formulargenerator.html


// =============================================
$style = 'class="formerror"'; // Stildefinition Fehler
$formname = "doform"."REX_SLICE_ID"; // Formular ID generiert aus SLICE ID
$formdatum = date("d.m.Y"); // Datum
$formzeit = date("H:i"); // Uhrzeit
$formreq='&nbsp;<strong class="formreq">*</strong>'; // Markierung von Pflichtfeldern
$formbcc="REX_VALUE[11]"; // BCC-Feld
$sendfullmail="REX_VALUE[13]"; //Original in Bestätigungsmail
// Welche Felder sollen nicht übertragen werden?
$ignore = array('captcha','sicherheitscode','ilink', 'ilink2', 'divstart', 'divend', 'fieldend'); 

// =============================================
// Pfad zum Dateianhang bei Bestätigungs-Email
// =============================================
$redaxofile = $REX[HTDOCS_PATH]."files/"."REX_FILE[1]";


// Fehlermeldungen:
// =============================================
// Sprache 0 -- Hier Deutsch

if ($REX['CUR_CLANG']=="0")
{
#### Achtung! Hinter <<< EOD darf kein Leerzeichen stehen.
$fError= <<<EOD
Bei der Eingabe traten Fehler auf. <br /> Bitte korrigieren Sie Ihre Eingaben.
EOD;
$frel="<br />Sie haben versucht die Seite neu zu laden. Ihre Nachricht wurde bereits versandt";

}
// Sprache 1 -- z.B. Englisch
if ($REX['CUR_CLANG'] == 1)
{
#### Achtung! Hinter <<< EOD darf kein Leerzeichen stehen.
$fError= <<<EOD
Please correct your Input
EOD;
$frel="<br />You have tried to reload this page. Your message has already been sent.";
}

// HTML-Vorlage 
// HEADER
$doformhtml='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=REX_VALUE[9]" />
<title>do form! message</title>
<style type="text/css">
<!--
body {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.86em;
	color: #003366;
	line-height: 1em;
	background-color: #F9F9F9;
}
h1 { color: #003366;
	background-color: #FFFFCC;
	display: block;
	clear: both;
	font-size: 1.2em;
	}
h2 { color: #003366;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #999999;
	display: block;
	clear: both;
	font-size: 0.9em;
	}

.dfheader {
	border-top-width: 6px;
	border-top-style: solid;
	border-top-color: #999999;
	color: #FFFFFF;
	background-color: #003366;;
	padding-top: 0px;
	padding-right: 2px;
	padding-bottom: 0px;
	padding-left: 2px;
	text-align: center;
	margin: 0px;
}
.slabel {
	width: 230px;
	display: block;
	float: left;
	margin-right: 5px;
	color: #666666;
	font-weight: normal;
}
br {
	clear: both;
	display: block;
}
-->
</style>

</head>
<body>
<div class="dfheader">
  do form! - REX_VALUE[4]
</div>
';
// footer
$doformhtmlfooter='<hr size="1" /><br />
<strong>Erstellt mit: REDAXO do form! 2</strong><br /></body></html>';

$nonhtmlfooter="\n----------------------------------\n
Erstellt mit: REDAXO do form! 2 ";



// =============================================
// Ende der allgemeinen Konfiguration
// ggf. muss unten noch $_SESSION["name_der_variable"]. angepasst werden
//=============================================



#### Achtung! Hinter <<< End darf kein Leerzeichen stehen.
$rex_form_data = <<<End
REX_HTML_VALUE[3]
End;

#### Achtung! Hinter <<< End darf kein Leerzeichen stehen.
$mailbody = <<<End
End;

$responsemail = <<<End
REX_HTML_VALUE[5]
End;


$submitlabel = "REX_VALUE[7]";
if (isset($_POST['eingabe'])) { $eingabe = $_POST['eingabe']; }
$FORM = rex_post('FORM', 'array');
$formoutput = array();
$warning = array();
$warning_set = 0; // wird zu 1, wenn eine Fehler auftritt
$form_elements = array();
$form_elements = explode("\n", $rex_form_data);
$responsemail  = str_replace("%Datum%", $formdatum, $responsemail);
$responsemail  = str_replace("%Zeit%", $formzeit, $responsemail);
//Adresse die als Absenderadresse der Bestätigungs-Email eingegeben wurde
$responsemail  = str_replace("%Absender%", "REX_VALUE[2]", $responsemail);
//Empfänderadresse die im Modul angegeben wurde
$responsemail  = str_replace("%Mail%", "REX_VALUE[1]", $responsemail);
$token = md5(uniqid('token'));
$formcaptcha = null;
$freload = null;
$mailbodyhtml = ''; 


for ($i=0; $i<count($form_elements); $i++) {

  $element = explode("|", $form_elements[$i]);
  $AFE[$i] = $element;
  $formfield = 0;

  if (!isset ($FORM[$formname]['el_'.$i])) { $FORM[$formname]['el_'.$i] = ''; }
  if (!isset ($FORM[$formname][$formname.'send'])) { $FORM[$formname][$formname.'send'] = ''; }
  if (!isset ($warning["el_".$i])) { $warning["el_".$i] = NULL; }

  switch ($element[0]) {

    // Übernahme einer Session-Variable / Variablenname muss angepasst werden
    // ggf. muss diese nach dem Senden noch zurückgesetzt werden
    case "sessionvar":
          $formoutput[] = '
          <input type="hidden" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.$_SESSION["name_der_variable"].'" />' ;
          break;
		  
    //  Gestaltungselemente
	
    case "headline":
          $formoutput[] = '<div class="formheadline">'.$element[1].'<input type="hidden" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.$element[1].'"/></div>';
          break;
    case "info":
          $formoutput[] = '<div class="formhinweis">'.$element[1].'</div>';
          break;
    case "ilink":
          $formoutput[] = '<div class="formlink"><a href="'.rex_getUrl($element[1]).'">'.$element[2].'</a></div>';
          break;
	
 
    case "ilink2": 
  $formoutput[] = '<div class="formlink"><a class="'.$element[3].'" href="'.rex_getUrl($element[1]).$element[2].'">'.$element[4].'</a></div>'; 
  break; 
    
    case "trennelement":
          $formoutput[] = '<div class="formtrenn"><hr/></div>';
          break;
    case "fieldend":
          $formoutput[] = '</fieldset>';
          $formfield = "on";
          break;
      
	case "divstart": 
  $str = $element[1]; 
  $first = $str[0]; 
  $id = str_replace("#",'',$str); 
  if ($first == '#') { 
    $formoutput[] = '<div id="'.$id.'">'.$element[2]; 
  } 
  else { 
    $formoutput[] = '<div class="'.$element[1].'">'.$element[2]; 
  } 
  $formfield = "on"; 
  break;
			
	
	case "divend":
          $formoutput[] = '</div>';
          $formfield = "on";
          break;
    case "fieldstart":
          $formoutput[] = '<fieldset class="fieldset"><legend>'.$element[1].'</legend><input type="hidden" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.$element[1].'"/>';
          $formfield = "on";
          break;
    
	// Formular-Felder 
	
	case "password":
          if ($FORM[$formname]['el_'.$i] == '' && !$FORM[$formname][$formname.'send']) {
              $FORM[$formname]["el_".$i] = trim($element[3]);
          }

                   if ($element[2] == 1 && (trim($FORM[$formname]["el_".$i]) == "" || trim($FORM[$formname]["el_".$i]) == trim($element[3])) && $FORM[$formname][$formname."send"] == 1){
              $warning["el_".$i] = $style;
              $warning_set = 1;
              $e = 1;

          }
          $req='';
          if ($element[2] == 1) {$req = $formreq;}
          $formlabel[$i] = '<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>';
          $formoutput[$i] = '<p>'.$formlabel[$i].'<input type="password" class="formpassword" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.htmlentities(stripslashes($FORM[$formname]["el_".$i])).'" />'.$req.'</p>';
          break;

case "checkbox":
          $req='';
          if ($element[2] == 1) {$req = $formreq;}

          if(   (trim($FORM[$formname]["el_".$i] )== "1" ) || ($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"] && $element[3] == 1)){
             $cchecked = ' checked="checked"';
             $hidden="";
          }
          else {
             $cchecked = "";
             $hidden = '<div><input type="hidden" name="FORM['.$formname.'][el_'.$i.']" value="0" /></div>';
          }

          if($element[2] == 1 && $cchecked=="" && $FORM[$formname][$formname."send"] ) {
             $warning["el_".$i] = $style;
          }

          $formoutput[] =
                $hidden.'
               <label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
                <input type="checkbox" title="'.$element[1].'" class="formcheck" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="1" '.$cchecked.' /><br/>

                ';
       break;



    // Radio-Buttons von Markus Feustel 07.01.2008
    case "radio":
          $req='';
          if ($element[2] == 1) {$req = $formreq;}

          if ((trim($FORM[$formname]["el_".$i] )== "1" ) || ($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"] && $element[3] == 1)) {
              $checked = ' checked="checked"';
              $hidden = '';
          }
          else {
              $checked = "";
              $hidden = '<input type="hidden" name="FORM['.$formname.'][el_'.$i.']" value="0" />';
          }
          if (trim($FORM[$formname]["el_".$i]) == '' && trim($element[5]) !=''){
            $FORM[$formname]["el_".$i] = trim($element[5]);
          }
          if ($element[2] == 1 && trim($FORM[$formname]["el_".$i]) == "" && $FORM[$formname][$formname."send"] == 1) {
            $warning["el_".$i] = $style;
            $warning_set = 1;
            $e=1;
          }
          $ro  = explode(';',trim($element[3]));
          $val = explode(';',trim($element[4]));
          $formlabel[$i] = '<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>';

// Inspiriert durch grizou 
          $fo = $formlabel[$i].'<div id="el_'.$i.'" >'."\n";
          for ($xi=0;$xi<count($ro);$xi++){
              if ($val[$xi] == trim($FORM[$formname]["el_".$i] )){$checked = ' checked="checked"';}else{$checked = "";}
              $fo .= '<br/><input type="radio" class="formradio" name="FORM['.$formname.'][el_'.$i.']" id="r'.$i.'_Rel_'.$xi.'" value="'.$val[$xi].'" '.$checked.' />'."\n";
              $fo .= '<label class="formradio" '.$warning["el_".$i].'for="r'.$i.'_Rel_'.$xi.'" >'.$ro[$xi].'</label>'."\n";
          }
          $fo .='</div><br />'."\n";
		  
		  
		
		  
		  
		  
          $formoutput[$i] = $fo.'<br/>';
          break;
          //  Ende Radio-Buttons

      case "text":
          $req='';
          if ($element[2] == 1) {$req = $formreq;}
           
		   // 14.08.2009: GET-VARIABLENABFRAGE von Tito übernommen, 
		   // siehe http://forum.redaxo.de/ftopic11635-30.html
		   
		   if($FORM[$formname]["el_".$i] == '' && !$FORM[$formname][$formname.'send']){ 
  if(strchr($element[3],'GET_')){ 
    $get = explode('GET_',$element[3]); 
    $element[3] = rex_get($get[1]); 
  } 
  $FORM[$formname]["el_".$i] = trim($element[3]); 
}
		   
		   
		   

            if ($element[2] == 1 && (trim($FORM[$formname]["el_".$i]) == "" || trim($FORM[$formname]["el_".$i]) == trim($element[3])) && $FORM[$formname][$formname."send"] == 1){
              $warning["el_".$i] = $style;
              $warning_set = 1;
            }

            // ### Validierung
            // falls Pflichtelement und Inhalt da und Formular abgeschickt
            if ( ($element[2] == 1) && (trim($FORM[$formname]["el_".$i]) != "") && ($FORM[$formname][$formname."send"] == 1) ) {
            // checken, ob und welches Validierungsmodell gewaehlt


              if (trim($element[5]) != '') {
                // falls Validierung gefordert
                $valid_ok = TRUE;
                $inhalt = trim($FORM[$formname]["el_".$i]);

                switch (trim($element[5])) {
                  case "mail":
                        if (!ereg("^.+@(.+\.)+([a-zA-Z]{2,6})$",$inhalt)) $valid_ok = FALSE;
                        break;
                  case "absendermail":
                        $absendermail=$inhalt;
                        if (!ereg("^.+@(.+\.)+([a-zA-Z]{2,6})$",$inhalt)) $valid_ok = FALSE;
                        break;
                  #Telefonnummern mindestens 6 Zahlen
                  case "telefon":
                        if (preg_match("#^[ 0-9\/-]{6,}+$#",$inhalt)) {break;} else {$valid_ok = FALSE; }
                        break;
                  #Postleitzahlen
                  case "plz":
                        if (preg_match ("/^[0-9]{5}$/",$inhalt))  {break;} else {$valid_ok = FALSE; }
                        break;
                  #Prüft ob die eingegebenen Zeichen Buchstaben sind
                  case "letters":
                        if (preg_match("/^[ a-zA-ZÉÈéèäöüß]+$/i",$inhalt)) {break;} else {$valid_ok = FALSE; }
                        break;
                  #Nur Zahlen
                  case "digit":
                        if (!ctype_digit($inhalt)) $valid_ok = FALSE;
                        break;
                  #Nur Buchstaben
                  case "alpha":
                        if (!ctype_alpha($inhalt)) $valid_ok = FALSE;
                        break;
                  # URL
                  case "url":
                        $inhalt=trim($inhalt);
                        if (preg_match("#^(http|https)+(://www.)+([a-z0-9-_.]{2,}\.[a-z]{2,4})$#i",$inhalt)) {break;} else {$valid_ok = FALSE; }
                        break;

                  	case "checkfield":
                    
						if (preg_match("/^[ a-zA-Zäöüß]+$/i",$inhalt)) {$_SESSION["formcheck"]=$inhalt; break;} else {$valid_ok = FALSE; }						
                        break;
				  
				  
				  // Captchaabfrage
                  
				    case "captcha":
                        
 						 if(isset($_SESSION['token'])) {
	if($_SESSION['token'] == $_POST['token']) {
		$formcaptcha="off"; 
		$valid_ok = FALSE;
		$freload=$frel;
		break;
		}}
 			 

if ($_SESSION["kcode"]==$inhalt){$valid_ok = TRUE; break;} 
if ($_SESSION["formcheck"]==$inhalt) 
						{$valid_ok = TRUE; break;} 
											
						else
						{$formcaptcha="off"; $valid_ok = FALSE; break;}
					           						 			 
				  
				 
                } // switch (trim($element[5]))

                if (!$valid_ok) {
                  $warning["el_".$i] = $style;
                  $warning_set = 1;
                }
              } // falls Validierung gefordert
            } // if ( ($element[2] == 1) && (trim($FORM[$formname]["el_".$i]) != "") && ($FORM[$formname][$formname."send"] == 1) )

            // ### /Validierung
          if ($formcaptcha=="off")
			{ 
			$formoutput[] = '
              <label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
              <input type="text" class="formtext" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="" /><br />
              ';
			$formcaptcha="on";
			}
			
			else
			
			{
			
			$formoutput[] = '
              <label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
              <input type="text" class="formtext" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.htmlspecialchars(stripslashes($FORM[$formname]["el_".$i])).'" /><br />
              ';
			  }
            break;

      
	  // 18.09.2009 DATUMS-Abfrage Powerded by: XONG
	  // ##########
	  
	  case "date":
          $req=($element[2] == 1)?$formreq:'';
          // TAGE
          $AFE[$i.'_d'] = $element;
          $form_element_ids[md5(strtolower(trim($element[1])).'_d')] = 'el_'.$i.'_d';
          $SEL = new select();
          $SEL->set_name("FORM[".$formname."][el_".$i."_d]");
          $SEL->set_id("el_".$i.'_d');
          $SEL->set_size(1);
          $SEL->set_style(' class="date_day"');

          if ($FORM[$formname]["el_".$i.'_d'] == "" && !$FORM[$formname][$formname."send"]){
              $SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_d']);
          }

          $SEL->add_option( '', '');
          foreach (range(1,31) as $v){
              $v = sprintf('%02d',$v);
              $SEL->add_option( $v, $v);
          }

          if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_d'] )== "" && $FORM[$formname][$formname."send"] == 1){
            $warning["el_".$i.'_d'] = $style;
            $warning_set = 1;
          }
          if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_m'] )== "" && $FORM[$formname][$formname."send"] == 1){
            $warning["el_".$i.'_d'] = $style;
            $warning_set = 1;
          }
          if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_y'] )== "" && $FORM[$formname][$formname."send"] == 1){
            $warning["el_".$i.'_d'] = $style;
            $warning_set = 1;
          }

          $formoutput[] = '
              <label '.$warning["el_".$i.'_d'].' for="el_'.$i.'_d" >'.$element[1].$req.'</label>
              '.$SEL->out();

          // MONATE
          $AFE[$i.'_m'] = $element;
          $form_element_ids[md5(strtolower(trim($element[1])).'_m')] = 'el_'.$i.'_m';
          $SEL = new select();
          $SEL->set_name("FORM[".$formname."][el_".$i."_m]");
          $SEL->set_id("el_".$i.'_m');
          $SEL->set_size(1);
          $SEL->set_style(' class="date_month"');

          if ($FORM[$formname]["el_".$i.'_m'] == "" && !$FORM[$formname][$formname."send"]){
              $SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_m']);
          }

          $SEL->add_option( '', '');
          foreach (range(1,12) as $v){
              $v = sprintf('%02d',$v);
              $SEL->add_option( $v, $v);
          }

          $formoutput[] = '
              '.$SEL->out();

          // JAHRE
          $AFE[$i.'_y'] = $element;
          $form_element_ids[md5(strtolower(trim($element[1])).'_y')] = 'el_'.$i.'_y';
          $SEL = new select();
          $SEL->set_name("FORM[".$formname."][el_".$i."_y]");
          $SEL->set_id("el_".$i.'_y');
          $SEL->set_size(1);
          $SEL->set_style(' class="date_year"');

          if ($FORM[$formname]["el_".$i.'_y'] == "" && !$FORM[$formname][$formname."send"]){
              $SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_y']);
          }

          $SEL->add_option( '', '');
          $year = intval(date('Y'));
          for($v=$year;$v<($year+5);$v++) {
              $SEL->add_option( $v, $v);
          }

          $formoutput[] = '
              '.$SEL->out().'<br />';
          break;

      case "time":
          $req=($element[2] == 1)?$formreq:'';
          // STUNDEN
          $AFE[$i.'_h'] = $element;
          $form_element_ids[md5(strtolower(trim($element[1])).'_h')] = 'el_'.$i.'_h';
          $SEL = new select();
          $SEL->set_name("FORM[".$formname."][el_".$i."_h]");
          $SEL->set_id("el_".$i.'_h');
          $SEL->set_size(1);
          $SEL->set_style(' class="time_hours"');

          if ($FORM[$formname]["el_".$i.'_h'] == "" && !$FORM[$formname][$formname."send"]){
              $SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_h']);
          }

          $SEL->add_option( '', '');
          foreach (range(0,23) as $v){
              $v = sprintf('%02d',$v);
              $SEL->add_option( $v, $v);
          }

          if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_h'] )== "" && $FORM[$formname][$formname."send"] == 1){
            $warning["el_".$i.'_h'] = $style;
            $warning_set = 1;
          }
          if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_min'] )== "" && $FORM[$formname][$formname."send"] == 1){
            $warning["el_".$i.'_h'] = $style;
            $warning_set = 1;
          }

          $formoutput[] = '
              <label '.$warning["el_".$i.'_h'].' for="el_'.$i.'_h" >'.$element[1].$req.'</label>
              '.$SEL->out();

          // MINUTEN
          $AFE[$i.'_min'] = $element;
          $form_element_ids[md5(strtolower(trim($element[1])).'_min')] = 'el_'.$i.'_min';
          $SEL = new select();
          $SEL->set_name("FORM[".$formname."][el_".$i."_min]");
          $SEL->set_id("el_".$i.'_min');
          $SEL->set_size(1);
          $SEL->set_style(' class="time_minutes"');

          if ($FORM[$formname]["el_".$i.'_min'] == "" && !$FORM[$formname][$formname."send"]){
              $SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_min']);
          }
          
          $SEL->add_option( '', '');
          foreach (range(0,59,20) as $v){
              $v = sprintf('%02d',$v);
              $SEL->add_option( $v, $v);
          }

          $formoutput[] = '
              '.$SEL->out().'<br />';
          break;
	  
	  
	  //############
	  // ENDE DATUMSABFRAGE
	  
	  
	  
	  case "textarea":
          $req='';
          if ($element[2] == 1) {$req = $formreq;}
         if($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"]){
            $FORM[$formname]["el_".$i] = $element[3];
         }

         if ($element[2] == 1 && (trim($FORM[$formname]["el_".$i]) == "" || trim($FORM[$formname]["el_".$i]) == trim($element[3])) && $FORM[$formname][$formname."send"] == 1){
           $warning["el_".$i] = $style;
           $warning_set = 1;
         }
        $formoutput[] = '
            <label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
            <textarea class="formtextfield" cols="40" rows="10" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'">'.htmlspecialchars(stripslashes($FORM[$formname]["el_".$i])).'</textarea><br />';
        break;

      case "select":
          $req='';
          if ($element[2] == 1) {$req = $formreq;}
		  $SEL = new select();
          $SEL->set_name("FORM[".$formname."][el_".$i."]");
          $SEL->set_id("el_".$i);
          $SEL->set_size(1);
          $SEL->set_style(' class="formselect"');

          if ($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"]){
              $SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i]);
          }

          foreach (explode(";", trim($element[4])) as $v){
              $SEL->add_option( $v, $v);
          }

          if ($element[2] == 1 && trim($FORM[$formname]["el_".$i] )== "" && $FORM[$formname][$formname."send"] == 1){
            $warning["el_".$i] = $style;
            $warning_set = 1;
          }

          $formoutput[] = '
              <label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
              '.$SEL->out().'<br />';
          break;

    case "captchapic":
         //Session-Variable prüfen:
        if ( !session_is_registered("kcode") ) {
          session_register("kcode");
        }
        if ($REX['REDAXO'] == 1) { $formoutput[] = 'im Backend wird das Captchabild nicht angezeigt'; }
        else {
          $formoutput[] = '<img src="'.$captchasource.'" class="formcaptcha" alt="Security-Code" title="Security-Code" />'.$element[1].'<br/><br/>';
        }
        break;
   }
}


$charset = "REX_VALUE[9]";
if ($charset == 'UTF-8') {
  $acharset = 'accept-charset="UTF-8"';
} else {
  $acharset = '';
}



// =================AUSGABE-KOPF============================
$out = '
   
   <div  class="formgen">
 <form id="'.$formname.'" action="'.rex_getUrl(REX_ARTICLE_ID).'" '.$acharset.' method="post">
      <div><input type="hidden" name="FORM['.$formname.']['.$formname.'send]" value="1" /><input type="hidden" name="ctype" value="ctype" /></div>
      <input type="hidden" name="token" value="'.$token.'" />';  

// =================Formular-generieren=====================
foreach ($formoutput as $v){

  if ($formfield != "on") //wenn keine DIVs oder Fieldsets verwendet werden
    {
   $out .= '<div class="formblock">'.$v.'</div>';
  }
  else
    {
   $out .= $v;
    }
  }


// =================AUSGABE-FUSS============================
$out .= '


      <div class="formblock">
         <input type="submit" name="FORM['.$formname.']['.$formname.'submit]" value="'.$submitlabel.'" class="formsubmit" />
      </div>
      </form>
   </div>';





// =================SEND MAIL===============================
if (isset($FORM[$formname][$formname.'send']) && $FORM[$formname][$formname.'send'] == 1 && !$warning_set ) {
  $_SESSION['token'] = $_POST['token'];
  unset($_SESSION["kcode"]); //Captcha-Variable zurücksetzen
  unset($_SESSION["formcheck"]); // Vergleichsfeld festlegen
  if (rex_post('ctype', 'string') != 'ctype') {
    $_POST['ctype'] = 'ctype';
  }

  $mail = new rex_mailer(); // Mailer initialisieren
  $mail->AddAddress("REX_VALUE[1]"); // Absenderadresse
  if ( $absendermail != '') { // Wenn absendermail definiert, Sonst übernahme der der PHP-MAiler Einstellung
  /*   
  $mail->Sender   = $absendermail;    //Absenderadresse
  $mail->From     = $absendermail;  //Absendername
  $mail->FromName = $absendermail; // Abdendername 
  */
	
	/* FIX  vom 16.08.2009 von alexplus */
	$mail->Sender   = "REX_VALUE[2]";    //Absenderadresse 
    $mail->From     = "REX_VALUE[2]";  //Absendername 
    $mail->FromName = "REX_VALUE[2]"; // Abdendername 
    $mail->AddReplyTo($absendermail); 
  }
 
  if ($formbcc!="")
  {
  $mail->AddBCC($formbcc);
  }
  $mail->Subject = "REX_VALUE[4]"; // Betreff
  $mail->CharSet = "REX_VALUE[9]"; // Zeichensatz
  // HTML-TEST // ---------------------------------------------------------------------
  
  if ("REX_VALUE[12]"!="nein")
  {
  $mail->IsHTML(true);
  }
    
  $fcounter = 1;
  $xcounter = 1;
  //Ausgabe der einzelnen E-Mail-Zeilen
  //dbo($FORM[$formname]);


foreach ($FORM[$formname] as $k => $v) 
{

// HTML-AUSGABE

$key = ereg_replace("el_","",$k); 
if ($k != $formname.'submit' && $k != $formname.'send' && $AFE[ereg_replace("el_","",$k)][5]!="captcha" && stripslashes($v)!="" && isset ($AFE[ereg_replace("el_","",$k)][1]) && !in_array($AFE[$key][0], $ignore))
  {
    $v=strip_tags($v);
	
	switch ($AFE[ereg_replace("el_","",$k)][0])
 {
    case "fieldstart":
        $mailbodyhtml.='<h1>'.stripslashes($v).'</h1>';
		$mailbody.="\n".'***'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
	    break;
    case "headline":
        $mailbodyhtml.='<h2>'.stripslashes($v).'</h2>';
		 $mailbody.="\n".'---'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
        break;
    default:
       $mailbodyhtml.= '<span class="slabel">'.$fcounter.'. '.$AFE[ereg_replace("el_","",$k)][1].": </span>".stripslashes($v).'<br />';
	   $mailbody .= $xcounter.'. '.$AFE[ereg_replace("el_","",$k)][1].": ".stripslashes($v)."\n";  
	   $fcounter++;$xcounter++;
}
} 
}
  
  
  if ("REX_VALUE[12]"!="nein")
  {
  
  $mail->Body = $doformhtml.nl2br($mailbodyhtml).$doformhtmlfooter;
  $mail->AltBody = $mailbody.$nonhtmlfooter;
  }
  else 
  {$mail->Body = $mailbody.$nonhtmlfooter;
  }
  $mail->Send(); // Versenden


// =================MAIL-RESPONDER============================
  $responder = "REX_VALUE[10]";
  if (isset($FORM[$formname][$formname.'send']) && $FORM[$formname][$formname.'send'] == 1 && $responder == 'ok' && !$warning_set ) {

    $mail = new rex_mailer();
    $mail->AddAddress($absendermail);
    $mail->Sender = "REX_VALUE[2]";
    $mail->From = "REX_VALUE[2]";
    $mail->FromName = "REX_VALUE[8] |".$REX['SERVERNAME'];
    $mail->Subject = "REX_VALUE[4]";
    $mail->CharSet = "REX_VALUE[9]";

    #### Datei versenden ####

    if ("REX_FILE[1]" != '') {
      $mail->AddAttachment($redaxofile);
    }
    if ($sendfullmail!="ja")
	{
	$mail->Body = $responsemail.$nonhtmlfooter;
    }
	else
	{
	$mail->Body = $responsemail."\n-----------------------------------------------\n".$mailbody.$nonhtmlfooter;
	}
	
	$mail->Send();  // Versenden

  }
// =================MAIL-RESPONDER-ENDE=========================
?>
<div id="form-module-thanks">REX_HTML_VALUE[6]</div>

<?php
  $noform = 1;
}
else {
  $noform = 0;
}


//if (count($warning) > 0) {
if ($warning_set) {
  echo '<div class="forminfo">'; echo($fError.$freload); echo '</div>';
  print $out;
} else {
  if ($noform != 1) {
    print $out;
  }
}

?> 

Und die Dateien liegen unter /capacha/

Sollte doch so Funktioniere oder ?
[/code]

therancher
Beiträge: 488
Registriert: 29. Jan 2007, 18:32
Wohnort: Sachsen

9. Okt 2009, 21:35

hi,
Und die Dateien liegen unter /capacha/
ich denke, du meinst captcha, oder?
probiere es mal so wie ich oben gepostet habe:

Code: Alles auswählen

$captchasource="captcha/captcha.php"; 
wohlgemerkt: die dateien sollten dann unter captcha/ auch sein.
das formular habe ich selbst im einsatz und es funktioniert, (auch mit captcha, ;-) )
spontanität will wohl überlegt sein!

Steffi
Beiträge: 78
Registriert: 4. Okt 2009, 20:03

15. Okt 2009, 20:33

Hi,
also ich hab es immer noch nicht hinbekommen :(

Modul Ausgang:

<?php
/**
*=============================================
* REDAXO-Modul: do form! 2
* Bereich: Ausgabe
* Version: 2.17.1
*
* Redaxo Version: 4.x
*
* Hinweise:
*
* Erforderliche Addons: TinyMCE, PHPMAiler
*
* Bearbeitung: KLXM Crossmedia, Thomas Skerbis
* www.klxm.de
* Datum: 02.10.2009
* Mit Datums- und Zeitabfrage von: Xong
* Ursprung: Formular-Generator Redaxo 3.2 Demo
* Typ: Modifikation / Erweiterung
*=============================================
*
* VALUE[1] - Email geht an
* VALUE[2] - (Ihre) Absenderadresse fuer die Bestaetigungs-Email
* VALUE[3] - Formularfelder
* VALUE[4] - Betreff
* VALUE[5] - E-Mail-Bestaetigungstext
* VALUE[6] - TinyMCE
* VALUE[7] - Bezeichnung fuer Senden-Button
* VALUE[8] - Absender-Name
* VALUE[9] - Sprachkodierung
* VALUE[10] - Soll eine Bestaetigungs-Email erstellt werden?
* VALUE[11] - BCC an
* VALUE[12] - HTML-EMAIL JA /NEIN
* VALUE[13] - Original anhaengen? JA / NEIN
* REX_FILE[1] - Dateianhang
*
*/

// =============================================
// KONFIGURATION
// =============================================
// Captcha-Konfiguration
// Die folgende Variable muss unbedingt angepasst werden:
// =============================================
// ID zum Captcha-Artikel der das Captcha-Template nutzt
//$captchaID =12;
//$captchasource = htmlspecialchars(rex_getUrl($captchaID));
//==============================================
// Alternative: Externe Einbindung eines Captchas
$captchasource="captcha/captcha.php";
// =============================================
// siehe: http://www.rexvideo.de/module/formulargenerator.html


// =============================================
$style = 'class="formerror"'; // Stildefinition Fehler
$formname = "doform"."REX_SLICE_ID"; // Formular ID generiert aus SLICE ID
$formdatum = date("d.m.Y"); // Datum
$formzeit = date("H:i"); // Uhrzeit
$formreq='&nbsp;<strong class="formreq">*</strong>'; // Markierung von Pflichtfeldern
$formbcc="REX_VALUE[11]"; // BCC-Feld
$sendfullmail="REX_VALUE[13]"; //Original in Bestätigungsmail
// Welche Felder sollen nicht übertragen werden?
$ignore = array('captcha','sicherheitscode','ilink', 'ilink2', 'divstart', 'divend', 'fieldend');

// =============================================
// Pfad zum Dateianhang bei Bestätigungs-Email
// =============================================
$redaxofile = $REX[HTDOCS_PATH]."files/"."REX_FILE[1]";


// Fehlermeldungen:
// =============================================
// Sprache 0 -- Hier Deutsch

if ($REX['CUR_CLANG']=="0")
{
#### Achtung! Hinter <<< EOD darf kein Leerzeichen stehen.
$fError= <<<EOD
Bei der Eingabe traten Fehler auf. <br /> Bitte korrigieren Sie Ihre Eingaben.
EOD;
$frel="<br />Sie haben versucht die Seite neu zu laden. Ihre Nachricht wurde bereits versandt";

}
// Sprache 1 -- z.B. Englisch
if ($REX['CUR_CLANG'] == 1)
{
#### Achtung! Hinter <<< EOD darf kein Leerzeichen stehen.
$fError= <<<EOD
Please correct your Input
EOD;
$frel="<br />You have tried to reload this page. Your message has already been sent.";
}

// HTML-Vorlage
// HEADER
$doformhtml='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=REX_VALUE[9]" />
<title>do form! message</title>
<style type="text/css">
<!--
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 0.86em;
color: #003366;
line-height: 1em;
background-color: #F9F9F9;
}
h1 { color: #003366;
background-color: #FFFFCC;
display: block;
clear: both;
font-size: 1.2em;
}
h2 { color: #003366;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #999999;
display: block;
clear: both;
font-size: 0.9em;
}

.dfheader {
border-top-width: 6px;
border-top-style: solid;
border-top-color: #999999;
color: #FFFFFF;
background-color: #003366;;
padding-top: 0px;
padding-right: 2px;
padding-bottom: 0px;
padding-left: 2px;
text-align: center;
margin: 0px;
}
.slabel {
width: 230px;
display: block;
float: left;
margin-right: 5px;
color: #666666;
font-weight: normal;
}
br {
clear: both;
display: block;
}
-->
</style>

</head>
<body>
<div class="dfheader">
do form! - REX_VALUE[4]
</div>
';
// footer
$doformhtmlfooter='<hr size="1" /><br />
<strong>Erstellt mit: REDAXO do form! 2</strong><br /></body></html>';

$nonhtmlfooter="\n----------------------------------\n
Erstellt mit: REDAXO do form! 2 ";



// =============================================
// Ende der allgemeinen Konfiguration
// ggf. muss unten noch $_SESSION["name_der_variable"]. angepasst werden
//=============================================



#### Achtung! Hinter <<< End darf kein Leerzeichen stehen.
$rex_form_data = <<<End
REX_HTML_VALUE[3]
End;

#### Achtung! Hinter <<< End darf kein Leerzeichen stehen.
$mailbody = <<<End
End;

$responsemail = <<<End
REX_HTML_VALUE[5]
End;


$submitlabel = "REX_VALUE[7]";
if (isset($_POST['eingabe'])) { $eingabe = $_POST['eingabe']; }
$FORM = rex_post('FORM', 'array');
$formoutput = array();
$warning = array();
$warning_set = 0; // wird zu 1, wenn eine Fehler auftritt
$form_elements = array();
$form_elements = explode("\n", $rex_form_data);
$responsemail = str_replace("%Datum%", $formdatum, $responsemail);
$responsemail = str_replace("%Zeit%", $formzeit, $responsemail);
//Adresse die als Absenderadresse der Bestätigungs-Email eingegeben wurde
$responsemail = str_replace("%Absender%", "REX_VALUE[2]", $responsemail);
//Empfänderadresse die im Modul angegeben wurde
$responsemail = str_replace("%Mail%", "REX_VALUE[1]", $responsemail);
$token = md5(uniqid('token'));
$formcaptcha = null;
$freload = null;
$mailbodyhtml = '';


for ($i=0; $i<count($form_elements); $i++) {

$element = explode("|", $form_elements[$i]);
$AFE[$i] = $element;
$formfield = 0;

if (!isset ($FORM[$formname]['el_'.$i])) { $FORM[$formname]['el_'.$i] = ''; }
if (!isset ($FORM[$formname][$formname.'send'])) { $FORM[$formname][$formname.'send'] = ''; }
if (!isset ($warning["el_".$i])) { $warning["el_".$i] = NULL; }

switch ($element[0]) {

// Übernahme einer Session-Variable / Variablenname muss angepasst werden
// ggf. muss diese nach dem Senden noch zurückgesetzt werden
case "sessionvar":
$formoutput[] = '
<input type="hidden" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.$_SESSION["name_der_variable"].'" />' ;
break;

// Gestaltungselemente

case "headline":
$formoutput[] = '<div class="formheadline">'.$element[1].'<input type="hidden" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.$element[1].'"/></div>';
break;
case "info":
$formoutput[] = '<div class="formhinweis">'.$element[1].'</div>';
break;
case "ilink":
$formoutput[] = '<div class="formlink"><a href="'.rex_getUrl($element[1]).'">'.$element[2].'</a></div>';
break;


case "ilink2":
$formoutput[] = '<div class="formlink"><a class="'.$element[3].'" href="'.rex_getUrl($element[1]).$element[2].'">'.$element[4].'</a></div>';
break;

case "trennelement":
$formoutput[] = '<div class="formtrenn"><hr/></div>';
break;
case "fieldend":
$formoutput[] = '</fieldset>';
$formfield = "on";
break;

case "divstart":
$str = $element[1];
$first = $str[0];
$id = str_replace("#",'',$str);
if ($first == '#') {
$formoutput[] = '<div id="'.$id.'">'.$element[2];
}
else {
$formoutput[] = '<div class="'.$element[1].'">'.$element[2];
}
$formfield = "on";
break;


case "divend":
$formoutput[] = '</div>';
$formfield = "on";
break;
case "fieldstart":
$formoutput[] = '<fieldset class="fieldset"><legend>'.$element[1].'</legend><input type="hidden" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.$element[1].'"/>';
$formfield = "on";
break;

// Formular-Felder

case "password":
if ($FORM[$formname]['el_'.$i] == '' && !$FORM[$formname][$formname.'send']) {
$FORM[$formname]["el_".$i] = trim($element[3]);
}

if ($element[2] == 1 && (trim($FORM[$formname]["el_".$i]) == "" || trim($FORM[$formname]["el_".$i]) == trim($element[3])) && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
$warning_set = 1;
$e = 1;

}
$req='';
if ($element[2] == 1) {$req = $formreq;}
$formlabel[$i] = '<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>';
$formoutput[$i] = '<p>'.$formlabel[$i].'<input type="password" class="formpassword" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.htmlentities(stripslashes($FORM[$formname]["el_".$i])).'" />'.$req.'</p>';
break;

case "checkbox":
$req='';
if ($element[2] == 1) {$req = $formreq;}

if( (trim($FORM[$formname]["el_".$i] )== "1" ) || ($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"] && $element[3] == 1)){
$cchecked = ' checked="checked"';
$hidden="";
}
else {
$cchecked = "";
$hidden = '<div><input type="hidden" name="FORM['.$formname.'][el_'.$i.']" value="0" /></div>';
}

if($element[2] == 1 && $cchecked=="" && $FORM[$formname][$formname."send"] ) {
$warning["el_".$i] = $style;
}

$formoutput[] =
$hidden.'
<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
<input type="checkbox" title="'.$element[1].'" class="formcheck" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="1" '.$cchecked.' /><br/>

';
break;



// Radio-Buttons von Markus Feustel 07.01.2008
case "radio":
$req='';
if ($element[2] == 1) {$req = $formreq;}

if ((trim($FORM[$formname]["el_".$i] )== "1" ) || ($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"] && $element[3] == 1)) {
$checked = ' checked="checked"';
$hidden = '';
}
else {
$checked = "";
$hidden = '<input type="hidden" name="FORM['.$formname.'][el_'.$i.']" value="0" />';
}
if (trim($FORM[$formname]["el_".$i]) == '' && trim($element[5]) !=''){
$FORM[$formname]["el_".$i] = trim($element[5]);
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i]) == "" && $FORM[$formname][$formname."send"] == 1) {
$warning["el_".$i] = $style;
$warning_set = 1;
$e=1;
}
$ro = explode(';',trim($element[3]));
$val = explode(';',trim($element[4]));
$formlabel[$i] = '<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>';

// Inspiriert durch grizou
$fo = $formlabel[$i].'<div id="el_'.$i.'" >'."\n";
for ($xi=0;$xi<count($ro);$xi++){
if ($val[$xi] == trim($FORM[$formname]["el_".$i] )){$checked = ' checked="checked"';}else{$checked = "";}
$fo .= '<br/><input type="radio" class="formradio" name="FORM['.$formname.'][el_'.$i.']" id="r'.$i.'_Rel_'.$xi.'" value="'.$val[$xi].'" '.$checked.' />'."\n";
$fo .= '<label class="formradio" '.$warning["el_".$i].'for="r'.$i.'_Rel_'.$xi.'" >'.$ro[$xi].'</label>'."\n";
}
$fo .='</div><br />'."\n";






$formoutput[$i] = $fo.'<br/>';
break;
// Ende Radio-Buttons

case "text":
$req='';
if ($element[2] == 1) {$req = $formreq;}

// 14.08.2009: GET-VARIABLENABFRAGE von Tito übernommen,
// siehe http://forum.redaxo.de/ftopic11635-30.html

if($FORM[$formname]["el_".$i] == '' && !$FORM[$formname][$formname.'send']){
if(strchr($element[3],'GET_')){
$get = explode('GET_',$element[3]);
$element[3] = rex_get($get[1]);
}
$FORM[$formname]["el_".$i] = trim($element[3]);
}




if ($element[2] == 1 && (trim($FORM[$formname]["el_".$i]) == "" || trim($FORM[$formname]["el_".$i]) == trim($element[3])) && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
$warning_set = 1;
}

// ### Validierung
// falls Pflichtelement und Inhalt da und Formular abgeschickt
if ( ($element[2] == 1) && (trim($FORM[$formname]["el_".$i]) != "") && ($FORM[$formname][$formname."send"] == 1) ) {
// checken, ob und welches Validierungsmodell gewaehlt


if (trim($element[5]) != '') {
// falls Validierung gefordert
$valid_ok = TRUE;
$inhalt = trim($FORM[$formname]["el_".$i]);

switch (trim($element[5])) {
case "mail":
if (!ereg("^.+@(.+\.)+([a-zA-Z]{2,6})$",$inhalt)) $valid_ok = FALSE;
break;
case "absendermail":
$absendermail=$inhalt;
if (!ereg("^.+@(.+\.)+([a-zA-Z]{2,6})$",$inhalt)) $valid_ok = FALSE;
break;
#Telefonnummern mindestens 6 Zahlen
case "telefon":
if (preg_match("#^[ 0-9\/-]{6,}+$#",$inhalt)) {break;} else {$valid_ok = FALSE; }
break;
#Postleitzahlen
case "plz":
if (preg_match ("/^[0-9]{5}$/",$inhalt)) {break;} else {$valid_ok = FALSE; }
break;
#Prüft ob die eingegebenen Zeichen Buchstaben sind
case "letters":
if (preg_match("/^[ a-zA-ZÉÈéèäöüß]+$/i",$inhalt)) {break;} else {$valid_ok = FALSE; }
break;
#Nur Zahlen
case "digit":
if (!ctype_digit($inhalt)) $valid_ok = FALSE;
break;
#Nur Buchstaben
case "alpha":
if (!ctype_alpha($inhalt)) $valid_ok = FALSE;
break;
# URL
case "url":
$inhalt=trim($inhalt);
if (preg_match("#^(http|https)+(://www.)+([a-z0-9-_.]{2,}\.[a-z]{2,4})$#i",$inhalt)) {break;} else {$valid_ok = FALSE; }
break;

case "checkfield":

if (preg_match("/^[ a-zA-Zäöüß]+$/i",$inhalt)) {$_SESSION["formcheck"]=$inhalt; break;} else {$valid_ok = FALSE; }
break;


// Captchaabfrage

case "captcha":

if(isset($_SESSION['token'])) {
if($_SESSION['token'] == $_POST['token']) {
$formcaptcha="off";
$valid_ok = FALSE;
$freload=$frel;
break;
}}


if ($_SESSION["kcode"]==$inhalt){$valid_ok = TRUE; break;}
if ($_SESSION["formcheck"]==$inhalt)
{$valid_ok = TRUE; break;}

else
{$formcaptcha="off"; $valid_ok = FALSE; break;}



} // switch (trim($element[5]))

if (!$valid_ok) {
$warning["el_".$i] = $style;
$warning_set = 1;
}
} // falls Validierung gefordert
} // if ( ($element[2] == 1) && (trim($FORM[$formname]["el_".$i]) != "") && ($FORM[$formname][$formname."send"] == 1) )

// ### /Validierung
if ($formcaptcha=="off")
{
$formoutput[] = '
<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
<input type="text" class="formtext" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="" /><br />
';
$formcaptcha="on";
}

else

{

$formoutput[] = '
<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
<input type="text" class="formtext" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'" value="'.htmlspecialchars(stripslashes($FORM[$formname]["el_".$i])).'" /><br />
';
}
break;


// 18.09.2009 DATUMS-Abfrage Powerded by: XONG
// ##########

case "date":
$req=($element[2] == 1)?$formreq:'';
// TAGE
$AFE[$i.'_d'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_d')] = 'el_'.$i.'_d';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_d]");
$SEL->set_id("el_".$i.'_d');
$SEL->set_size(1);
$SEL->set_style(' class="date_day"');

if ($FORM[$formname]["el_".$i.'_d'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_d']);
}

$SEL->add_option( '', '');
foreach (range(1,31) as $v){
$v = sprintf('%02d',$v);
$SEL->add_option( $v, $v);
}

if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_d'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_d'] = $style;
$warning_set = 1;
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_m'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_d'] = $style;
$warning_set = 1;
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_y'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_d'] = $style;
$warning_set = 1;
}

$formoutput[] = '
<label '.$warning["el_".$i.'_d'].' for="el_'.$i.'_d" >'.$element[1].$req.'</label>
'.$SEL->out();

// MONATE
$AFE[$i.'_m'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_m')] = 'el_'.$i.'_m';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_m]");
$SEL->set_id("el_".$i.'_m');
$SEL->set_size(1);
$SEL->set_style(' class="date_month"');

if ($FORM[$formname]["el_".$i.'_m'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_m']);
}

$SEL->add_option( '', '');
foreach (range(1,12) as $v){
$v = sprintf('%02d',$v);
$SEL->add_option( $v, $v);
}

$formoutput[] = '
'.$SEL->out();

// JAHRE
$AFE[$i.'_y'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_y')] = 'el_'.$i.'_y';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_y]");
$SEL->set_id("el_".$i.'_y');
$SEL->set_size(1);
$SEL->set_style(' class="date_year"');

if ($FORM[$formname]["el_".$i.'_y'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_y']);
}

$SEL->add_option( '', '');
$year = intval(date('Y'));
for($v=$year;$v<($year+5);$v++) {
$SEL->add_option( $v, $v);
}

$formoutput[] = '
'.$SEL->out().'<br />';
break;

case "time":
$req=($element[2] == 1)?$formreq:'';
// STUNDEN
$AFE[$i.'_h'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_h')] = 'el_'.$i.'_h';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_h]");
$SEL->set_id("el_".$i.'_h');
$SEL->set_size(1);
$SEL->set_style(' class="time_hours"');

if ($FORM[$formname]["el_".$i.'_h'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_h']);
}

$SEL->add_option( '', '');
foreach (range(0,23) as $v){
$v = sprintf('%02d',$v);
$SEL->add_option( $v, $v);
}

if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_h'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_h'] = $style;
$warning_set = 1;
}
if ($element[2] == 1 && trim($FORM[$formname]["el_".$i.'_min'] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i.'_h'] = $style;
$warning_set = 1;
}

$formoutput[] = '
<label '.$warning["el_".$i.'_h'].' for="el_'.$i.'_h" >'.$element[1].$req.'</label>
'.$SEL->out();

// MINUTEN
$AFE[$i.'_min'] = $element;
$form_element_ids[md5(strtolower(trim($element[1])).'_min')] = 'el_'.$i.'_min';
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."_min]");
$SEL->set_id("el_".$i.'_min');
$SEL->set_size(1);
$SEL->set_style(' class="time_minutes"');

if ($FORM[$formname]["el_".$i.'_min'] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i.'_min']);
}

$SEL->add_option( '', '');
foreach (range(0,59,20) as $v){
$v = sprintf('%02d',$v);
$SEL->add_option( $v, $v);
}

$formoutput[] = '
'.$SEL->out().'<br />';
break;


//############
// ENDE DATUMSABFRAGE



case "textarea":
$req='';
if ($element[2] == 1) {$req = $formreq;}
if($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"]){
$FORM[$formname]["el_".$i] = $element[3];
}

if ($element[2] == 1 && (trim($FORM[$formname]["el_".$i]) == "" || trim($FORM[$formname]["el_".$i]) == trim($element[3])) && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
$warning_set = 1;
}
$formoutput[] = '
<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
<textarea class="formtextfield" cols="40" rows="10" title="'.$element[1].'" name="FORM['.$formname.'][el_'.$i.']" id="el_'.$i.'">'.htmlspecialchars(stripslashes($FORM[$formname]["el_".$i])).'</textarea><br />';
break;

case "select":
$req='';
if ($element[2] == 1) {$req = $formreq;}
$SEL = new select();
$SEL->set_name("FORM[".$formname."][el_".$i."]");
$SEL->set_id("el_".$i);
$SEL->set_size(1);
$SEL->set_style(' class="formselect"');

if ($FORM[$formname]["el_".$i] == "" && !$FORM[$formname][$formname."send"]){
$SEL->set_selected($element[3]); } else { $SEL->set_selected($FORM[$formname]["el_".$i]);
}

foreach (explode(";", trim($element[4])) as $v){
$SEL->add_option( $v, $v);
}

if ($element[2] == 1 && trim($FORM[$formname]["el_".$i] )== "" && $FORM[$formname][$formname."send"] == 1){
$warning["el_".$i] = $style;
$warning_set = 1;
}

$formoutput[] = '
<label '.$warning["el_".$i].' for="el_'.$i.'" >'.$element[1].$req.'</label>
'.$SEL->out().'<br />';
break;

case "captchapic":
//Session-Variable prüfen:
if ( !session_is_registered("kcode") ) {
session_register("kcode");
}
if ($REX['REDAXO'] == 1) { $formoutput[] = 'im Backend wird das Captchabild nicht angezeigt'; }
else {
$formoutput[] = '<img src="'.$captchasource.'" class="formcaptcha" alt="Security-Code" title="Security-Code" />'.$element[1].'<br/><br/>';
}
break;
}
}


$charset = "REX_VALUE[9]";
if ($charset == 'UTF-8') {
$acharset = 'accept-charset="UTF-8"';
} else {
$acharset = '';
}



// =================AUSGABE-KOPF============================
$out = '

<div class="formgen">
<form id="'.$formname.'" action="'.rex_getUrl(REX_ARTICLE_ID).'" '.$acharset.' method="post">
<div><input type="hidden" name="FORM['.$formname.']['.$formname.'send]" value="1" /><input type="hidden" name="ctype" value="ctype" /></div>
<input type="hidden" name="token" value="'.$token.'" />';

// =================Formular-generieren=====================
foreach ($formoutput as $v){

if ($formfield != "on") //wenn keine DIVs oder Fieldsets verwendet werden
{
$out .= '<div class="formblock">'.$v.'</div>';
}
else
{
$out .= $v;
}
}


// =================AUSGABE-FUSS============================
$out .= '


<div class="formblock">
<input type="submit" name="FORM['.$formname.']['.$formname.'submit]" value="'.$submitlabel.'" class="formsubmit" />
</div>
</form>
</div>';





// =================SEND MAIL===============================
if (isset($FORM[$formname][$formname.'send']) && $FORM[$formname][$formname.'send'] == 1 && !$warning_set ) {
$_SESSION['token'] = $_POST['token'];
unset($_SESSION["kcode"]); //Captcha-Variable zurücksetzen
unset($_SESSION["formcheck"]); // Vergleichsfeld festlegen
if (rex_post('ctype', 'string') != 'ctype') {
$_POST['ctype'] = 'ctype';
}

$mail = new rex_mailer(); // Mailer initialisieren
$mail->AddAddress("REX_VALUE[1]"); // Absenderadresse
if ( $absendermail != '') { // Wenn absendermail definiert, Sonst übernahme der der PHP-MAiler Einstellung
/*
$mail->Sender = $absendermail; //Absenderadresse
$mail->From = $absendermail; //Absendername
$mail->FromName = $absendermail; // Abdendername
*/

/* FIX vom 16.08.2009 von alexplus */
$mail->Sender = "REX_VALUE[2]"; //Absenderadresse
$mail->From = "REX_VALUE[2]"; //Absendername
$mail->FromName = "REX_VALUE[2]"; // Abdendername
$mail->AddReplyTo($absendermail);
}

if ($formbcc!="")
{
$mail->AddBCC($formbcc);
}
$mail->Subject = "REX_VALUE[4]"; // Betreff
$mail->CharSet = "REX_VALUE[9]"; // Zeichensatz
// HTML-TEST // ---------------------------------------------------------------------

if ("REX_VALUE[12]"!="nein")
{
$mail->IsHTML(true);
}

$fcounter = 1;
$xcounter = 1;
//Ausgabe der einzelnen E-Mail-Zeilen
//dbo($FORM[$formname]);


foreach ($FORM[$formname] as $k => $v)
{

// HTML-AUSGABE

$key = ereg_replace("el_","",$k);
if ($k != $formname.'submit' && $k != $formname.'send' && $AFE[ereg_replace("el_","",$k)][5]!="captcha" && stripslashes($v)!="" && isset ($AFE[ereg_replace("el_","",$k)][1]) && !in_array($AFE[$key][0], $ignore))
{
$v=strip_tags($v);

switch ($AFE[ereg_replace("el_","",$k)][0])
{
case "fieldstart":
$mailbodyhtml.='<h1>'.stripslashes($v).'</h1>';
$mailbody.="\n".'***'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
break;
case "headline":
$mailbodyhtml.='<h2>'.stripslashes($v).'</h2>';
$mailbody.="\n".'---'.stripslashes($v)."\n".'---------------------------------------------------------'."\n";
break;
default:
$mailbodyhtml.= '<span class="slabel">'.$fcounter.'. '.$AFE[ereg_replace("el_","",$k)][1].": </span>".stripslashes($v).'<br />';
$mailbody .= $xcounter.'. '.$AFE[ereg_replace("el_","",$k)][1].": ".stripslashes($v)."\n";
$fcounter++;$xcounter++;
}
}
}


if ("REX_VALUE[12]"!="nein")
{

$mail->Body = $doformhtml.nl2br($mailbodyhtml).$doformhtmlfooter;
$mail->AltBody = $mailbody.$nonhtmlfooter;
}
else
{$mail->Body = $mailbody.$nonhtmlfooter;
}
$mail->Send(); // Versenden


// =================MAIL-RESPONDER============================
$responder = "REX_VALUE[10]";
if (isset($FORM[$formname][$formname.'send']) && $FORM[$formname][$formname.'send'] == 1 && $responder == 'ok' && !$warning_set ) {

$mail = new rex_mailer();
$mail->AddAddress($absendermail);
$mail->Sender = "REX_VALUE[2]";
$mail->From = "REX_VALUE[2]";
$mail->FromName = "REX_VALUE[8] |".$REX['SERVERNAME'];
$mail->Subject = "REX_VALUE[4]";
$mail->CharSet = "REX_VALUE[9]";

#### Datei versenden ####

if ("REX_FILE[1]" != '') {
$mail->AddAttachment($redaxofile);
}
if ($sendfullmail!="ja")
{
$mail->Body = $responsemail.$nonhtmlfooter;
}
else
{
$mail->Body = $responsemail."\n-----------------------------------------------\n".$mailbody.$nonhtmlfooter;
}

$mail->Send(); // Versenden

}
// =================MAIL-RESPONDER-ENDE=========================
?>
<div id="form-module-thanks">REX_HTML_VALUE[6]</div>

<?php
$noform = 1;
}
else {
$noform = 0;
}


//if (count($warning) > 0) {
if ($warning_set) {
echo '<div class="forminfo">'; echo($fError.$freload); echo '</div>';
print $out;
} else {
if ($noform != 1) {
print $out;
}
}

?>

-------------------------------

Ich hab aber ein Problem wenn ich auf den Code ( siehe Screen ) klicke steht unter eigenschaften als Pfad redaxo/captcha/captcha.php
Dort hab ich die Sachen auch hin, wird aber nicht angezeigt ?
Was kann das den sein ?

therancher
Beiträge: 488
Registriert: 29. Jan 2007, 18:32
Wohnort: Sachsen

15. Okt 2009, 22:21

weil heut donnerstag ist also nochmal: beherzige doch einfach mal das was ich sowie netmanix am anfang des threads geschieben haben und was auch im videotutorial von Richy gesagt wird.(stichpunkt rootverzeichnis)

ps. poste doch bitte das nächste mal nur die relevanten stellen im code und benutze bitte die code -tags.
spontanität will wohl überlegt sein!

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

16. Okt 2009, 11:14

hi@all

hast du in der captcha.php auch den absoluten link angepasst?

zeile 43 , 44

Code: Alles auswählen

	
// BITTE DEN PATH ANPASSEN
$img = ImageCreateFromPNG('/var/www/html/captcha/captcha6.png'); //Backgroundimage

gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Steffi
Beiträge: 78
Registriert: 4. Okt 2009, 20:03

16. Okt 2009, 13:16

Danke Richard das wars :roll:

Wie passe ich den das Design ich hätte das gern ein bisschen in einer Reihe ..

Wo muss ich eigenlich den css code einfügen der in manchen modulen dabei ist ?

lg Steffi

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

16. Okt 2009, 13:24

hi
in deine css files... die liege im ordner files
müßte die main.css sein.

etwas in einer reihe ist gut ;)

kommt auf dein gesammtes css an...

versuch mal das was dabei ist...

gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Steffi
Beiträge: 78
Registriert: 4. Okt 2009, 20:03

16. Okt 2009, 13:35

Hi Richard,

ja aber in welchen Teil muss das in der main.css einfach ganz oben , oder wie finde ich mich da zurecht ?

lg Steffi

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

16. Okt 2009, 18:27

hi
css und html ist eine voraussetzung für redaxo, das sollte man beherschen...

setz es nach unten damit anderes noicht deine neue eingabe überschreibt.
gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Steffi
Beiträge: 78
Registriert: 4. Okt 2009, 20:03

30. Okt 2009, 17:32

Halli Hallo


Ich hab mit der neuen Version doform2 jetzt das Problem das dass Eingabefeld des Sicherheitsfeldes nicht angezeigt wird.
Formular kann aber trotzdem abgeschickt werden. Hat jemand eine Idee ?

Steffi
Beiträge: 78
Registriert: 4. Okt 2009, 20:03

2. Nov 2009, 11:36

Komisch, jetzt gehts.

Zurück zu „Allgemeines [R4]“