Hallo,
Frage: Gibt es auch eine Möglickeit einer Fotoübermittlung in diesem Modul?
Ich möchte gern, das man ein Foto downloaden kann und somit mitverschicken kann.
Gruss Rolf
w3concepts.form.v1
-
- Beiträge: 101
- Registriert: Fr 6. Aug 2004, 12:44
- Kontaktdaten:
Re: w3concepts.form.v1
den ersten satz versteh ich ja noch, den zweiten in kombination mit dem ersten nicht...Rolf Herrmann hat geschrieben:Frage: Gibt es auch eine Möglickeit einer Fotoübermittlung in diesem Modul?
Ich möchte gern, das man ein Foto downloaden kann und somit mitverschicken kann.
theoretisch müsste das gleichzeitige uploaden und anschließende versenden eines bildes funktionieren... nur ist das in der klasse nicht eingebaut bzw wird nicht berücksichtigt...
bin mir jetzt nicht sicher, aber es wäre möglich das es einen hack im orginal thread gibt, der attachments berücksichtigt (könnte aber auch html formatierung beim email versand gewesen sein)
*** make your own tools (wishlist :: thx)
-
- Beiträge: 101
- Registriert: Fr 6. Aug 2004, 12:44
- Kontaktdaten:
Re: w3concepts.form.v1
Also ich möchte gern die Möglich kein haben ein Foto mit hochladen zukönnen und dann zu versenden. WO bringe ich es im Code von w3concepts.form.v1 ein? Und was trage ich dort ein?emergence hat geschrieben:den ersten satz versteh ich ja noch, den zweiten in kombination mit dem ersten nicht...Rolf Herrmann hat geschrieben:Frage: Gibt es auch eine Möglickeit einer Fotoübermittlung in diesem Modul?
Ich möchte gern, das man ein Foto downloaden kann und somit mitverschicken kann.
theoretisch müsste das gleichzeitige uploaden und anschließende versenden eines bildes funktionieren... nur ist das in der klasse nicht eingebaut bzw wird nicht berücksichtigt...
bin mir jetzt nicht sicher, aber es wäre möglich das es einen hack im orginal thread gibt, der attachments berücksichtigt (könnte aber auch html formatierung beim email versand gewesen sein)
Gruß Rolf
-
- Beiträge: 101
- Registriert: Fr 6. Aug 2004, 12:44
- Kontaktdaten:
Re: w3concepts.form.v1
Also das ist die Ausgabe von w3concepts.form.v1. Wo trage ich das ein damit ich die Möglichkeit habe ein Bild mit hochzuladen und dann zu versenden?emergence hat geschrieben:den ersten satz versteh ich ja noch, den zweiten in kombination mit dem ersten nicht...Rolf Herrmann hat geschrieben:Frage: Gibt es auch eine Möglickeit einer Fotoübermittlung in diesem Modul?
Ich möchte gern, das man ein Foto downloaden kann und somit mitverschicken kann.
theoretisch müsste das gleichzeitige uploaden und anschließende versenden eines bildes funktionieren... nur ist das in der klasse nicht eingebaut bzw wird nicht berücksichtigt...
bin mir jetzt nicht sicher, aber es wäre möglich das es einen hack im orginal thread gibt, der attachments berücksichtigt (könnte aber auch html formatierung beim email versand gewesen sein)
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : w3concepts.form.v1
* Author : Andreas Kummer
* Copyright : mumprecht & kummer w3concepts
* Created : 20-08-2004
* Modified : 20-08-2004
************************************************/
class w3form
{
var $email, $aufgedroeselt, $form, $formularFeld, $errormsg;
function w3form() {
$this->__init_class();
}
// end constructor w3from
// PRIVATE
function sendEmail() {
$this->aufdroeseln($this->suppress('sent'));
$this->generateEmailMessage();
mail($this->email['adresses'],$this->email['subject'],$this->email['message'],"From: {$this->email['from']['name']} <{$this->email['from']['email']}>\nReply-To: {$this->email['from']['email']}\nX-Mailer: PHP/" . phpversion());
}
// PRIVATE
function aufdroeseln($aufzudroeseln,$prefix = '') {
foreach ($aufzudroeseln as $key => $value) {
if (is_array($value)) {
$this->aufdroeseln($value,$key." ");
} else {
$this->aufgedroeselt["{$prefix}{$key}"] = $value;
}
}
}
// PRIVATE
function add2Message($key,$value) {
if (strlen($key) > 25 OR strlen($value) > 54) {
$this->email['message'] .= "$key\n$value\n";
} else {
$this->email['message'] .= $key;
$this->email['message'] .= str_repeat(' ',25-strlen($key));
$this->email['message'] .= "$value\n";
}
}
// PRIVATE
function generateEmailMessage() {
if ($this->aufgedroeselt) foreach ($this->aufgedroeselt as $key => $value) {
$this->add2Message($key,$value);
}
}
// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) === false) $fields[$key] = $value;
}
return $fields;
}
// PUBLIC
function addEmailAdress($email) {
if (empty($this->emailAdresses)) {
$this->email['adresses'] .= "$email";
} else {
$this->email['adresses'] .= ", $email";
}
}
// PUBLIC
function setEmailSubject($subject) {
$this->email['subject'] = $subject;
}
// PUBLIC
function setEmailFrom($email,$name) {
$this->email['from']['email'] = $email;
$this->email['from']['name'] = $name;
}
// PUBLIC
function setForm($form) {
$this->form['form'] = $form;
}
// PUBLIC
function setAnswer($answer) {
$this->form['answer'] = $answer;
}
// PUBLIC
function setBackgroundError($color) {
$this->form['colorError'] = $color;
}
// PRIVATE
function formularInterpretation(&$formular) {
$felder = split('###',$formular);
for ($i=1;$i<count($felder);$i=$i+2) {
$attributte = split(';',trim($felder[$i]));
foreach ($attributte as $attribut) {
$namewert = split(':',trim($attribut));
if ($namewert[0] != 'option' && $namewert[0] != 'optionvalue') {
$feld["{$felder[$i]}"]["{$namewert[0]}"] = $namewert[1];
} else {
$feld["{$felder[$i]}"]["{$namewert[0]}"][] = $namewert[1];
}
}
}
return $feld;
}
// PRIVATE
function formularAusgabe($sent = false) {
if($sent == true) {
echo _MAIN_ERROR_MSG_;
echo $this->errormsg;
$this->errormsg = "";
}
echo '<form action="" method="POST">';
echo '<input type="hidden" name="sent" value="true" />';
$formular = $this->form['form'];
$formulardaten = $this->formularInterpretation(&$formular);
$formular = split('###',$formular);
foreach ($formular as $formularteil) {
if (!empty($formulardaten["{$formularteil}"])) {
$this->formularFeld($formulardaten["{$formularteil}"],$sent);
} else {
echo $formularteil;
}
}
echo '</form>';
}
// PRIVATE
function formularFeld($attribute,$sent) {
$parameter = "name="{$attribute['name']}"";
if ($sent && !$this->formularFeldKorrekt(&$attribute)) $style ="style="background-color:{$this->form['colorError']};"";
switch ($attribute['type']) {
case 'select':
case 'password':
case 'text':
if (!empty($attribute['size'])) $parameter .= " size="{$attribute['size']}"";
break;
}
switch ($attribute['type']) {
case 'textarea':
case 'text':
if (!empty($attribute['size'])) $parameter .= " size="{$attribute['size']}"";
if (!empty($attribute['value'])) $value = $attribute['value'];
if (!empty($_POST["{$attribute['name']}"])) $value = $_POST["{$attribute['name']}"];
break;
}
switch ($attribute['type']) {
case 'text':
echo "<input type="text" $parameter value="$value" $style />";
break;
case 'password':
echo "<input type="password" $parameter value="$value" $style />";
break;
case 'textarea':
echo "<textarea name="{$attribute['name']}" cols="";
echo (empty($attribute['cols']))?('20'):($attribute['cols']);
echo "" rows="";
echo (empty($attribute['rows']))?('2'):($attribute['rows']);
echo "" wrap="virtual" $style>$value</textarea>";
break;
case 'select':
echo "<select $parameter $style>";
for ($i=0;$i<count($attribute['option']);$i++) {
if (!empty($attribute['optionvalue'][$i])) {
if (!empty($_POST["{$attribute['name']}"]) && $_POST["{$attribute['name']}"] == $attribute['optionvalue'][$i]) {
echo "<option value="{$attribute['optionvalue'][$i]}" selected="selected">{$attribute['option'][$i]}</option>\n";
} else {
if (empty($_POST["{$attribute['name']}"]) && !empty($attribute['optionvalue'][$i]) && $attribute['optionvalue'][$i] == $attribute['value']) {
echo "<option value="{$attribute['optionvalue'][$i]}" selected="selected">{$attribute['option'][$i]}</option>\n";
} else {
echo "<option value="{$attribute['optionvalue'][$i]}">{$attribute['option'][$i]}</option>\n";
}
}
} else {
if (!empty($_POST["{$attribute['name']}"]) && $_POST["{$attribute['name']}"] == $attribute['option'][$i]) {
echo "<option selected="selected">{$attribute['option'][$i]}</option>\n";
} else {
if (empty($_POST["{$attribute['name']}"]) && $attribute['option'][$i] == $attribute['value']) {
echo "<option selected="selected">{$attribute['option'][$i]}</option>\n";
} else {
echo "<option>{$attribute['option'][$i]}</option>\n";
}
}
}
}
echo "</select>";
break;
case 'checkbox':
$formularbezeichner = preg_split('[\[|\]]',$attribute['name']);
if ($sent) {
if ($_POST["{$formularbezeichner[0]}"]["{$formularbezeichner[1]}"] == $attribute['value']) {
echo "<input type="checkbox" $parameter value="{$attribute['value']}" checked="checked"/>";
} else {
echo "<input type="checkbox" $parameter value="{$attribute['value']}"/>";
}
} else {
if (!empty($attribute['selected']) && $attribute['selected'] == 'true') {
echo "<input type="checkbox" $parameter value="{$attribute['value']}" checked="checked"/>";
} else {
echo "<input type="checkbox" $parameter value="{$attribute['value']}"/>";
}
}
break;
case 'radio':
if (!empty($_POST["{$attribute['name']}"])) {
if ($_POST["{$attribute['name']}"] == $attribute['value']) {
echo "<input type="radio" $parameter value="{$attribute['value']}" checked="checked"/>";
} else {
echo "<input type="radio" $parameter value="{$attribute['value']}" />";
}
} else {
if (!empty($attribute['selected']) && $attribute['selected'] == 'true') {
echo "<input type="radio" $parameter value="{$attribute['value']}" checked="checked"/>";
} else {
echo "<input type="radio" $parameter value="{$attribute['value']}"/>";
}
}
break;
}
}
// PRIVATE
function formularVollstaendig() {
$formular = $this->form['form'];
$felder = $this->formularInterpretation(&$formular);
foreach ($felder as $feld) {
$this->formularFeldKorrekt(&$feld);
}
if($this->errormsg != "") {
if(substr($this->errormsg, (strlen($this->errormsg) - 2), 1) == ",") {
$this->errormsg = substr($this->errormsg, 0, (strlen($this->errormsg) - 2));
}
return false;
} else {
return true;
}
}
// PRIVATE
function success() {
$this->sendEmail();
echo $this->form['answer'];
}
// PRIVATE
function formularFeldKorrekt(&$feld) {
// pr�fung, ob pflichtfeld vorhanden
if (!empty($feld['mandatory']) && $feld['mandatory'] == 'true' && empty($_POST["{$feld['name']}"])) {
$this->errormsg .= $feld['name'].", ";
return false;
}
// wenn das formularfeld kein pflichtfeld und nicht vorhanden ist, true zur�ck geben
if (empty($_POST["{$feld['name']}"])) {
return true;
}
// regular expression pr�fungen
if (!empty($feld['valid']) && $feld['valid'] == 'simpletext' &&
!eregi("^[ .,;!?()0-9öäüéàèâêîça-z-]*$",$_POST["{$feld['name']}"])) {
$this->errormsg .= str_replace("{FIELD}", $feld['name'], _ERROR_WRONG_STRING_TYPE_);
return false;
}
if (!empty($feld['valid']) && $feld['valid'] == 'text' &&
!eregi("^[ .,;!?()0-9öäüéàèâêîça-z-]*$",$_POST["{$feld['name']}"])) {
$this->errormsg .= str_replace("{FIELD}", $feld['name'], _ERROR_WRONG_STRING_TYPE_);
return false;
}
if (!empty($feld['valid']) && $feld['valid'] == 'integer' &&
!eregi("^[0-9]*$",$_POST["{$feld['name']}"])) {
$this->errormsg .= str_replace("{FIELD}", $feld['name'], _ERROR_WRONG_INT_VALUE_);
return false;
}
if (!empty($feld['valid']) && $feld['valid'] == 'float' &&
!eregi("^[0-9]*[.]{0,1}[0-9]*$",$_POST["{$feld['name']}"])) {
$this->errormsg .= str_replace("{FIELD}", $feld['name'], _ERROR_WRONG_FLOAT_VALUE_);
return false;
}
if (!empty($feld['valid']) && $feld['valid'] == 'date' &&
!eregi("^[0-9]{1,2}.[0-9]{1,2}.[0-9]{2}$",$_POST["{$feld['name']}"])) {
$this->errormsg .= str_replace("{FIELD}", $feld['name'], _ERROR_WRONG_DATE_);
return false;
}
if( !empty($feld['valid']) && $feld['valid'] == "phone" &&
!ereg("^(\(?\+?[0-9]*\)?)?[0-9_-\/\(\)]*$", $_POST["{$feld['name']}"])) {
$this->errormsg .= str_replace("{FIELD}", $feld['name'], _ERROR_WRONG_TELEHPONE_NUMBER_);
return false;
}
if (!empty($feld['valid']) && $feld['valid'] == 'email' &&
!eregi("^[öäüéàèâêîç_a-z0-9-]+(\.[öäüéàèâêîç_a-z0-9-]+)*@[öäüéàèâêîça-z0-9-]+(\.[öäüéàèâêîça-z0-9-]+)*$",$_POST["{$feld['name']}"])) {
$this->errormsg .= str_replace("{FIELD}", $feld['name'], _ERROR_WRONG_EMAIL_);
return false;
}
// gr�ssenbereich bei integer und float pr�fen
if (!empty($feld['minvalue']) && $_POST["{$feld['name']}"] < $feld['minvalue']) {
$this->errormsg .= str_replace("{FIELD}", $feld['name'], _ERROR_WRONG_MINVALUES_);
return false;
}
if (!empty($feld['maxvalue']) && $_POST["{$feld['name']}"] > $feld['maxvalue']) {
$this->errormsg .= str_replace("{FIELD}", $feld['name'], _ERROR_WRONG_MAXVALUES_);
return false;
}
// l�ngenbereich bei allen typen pr�fen
if (!empty($feld['minlength']) && strlen($_POST["{$feld['name']}"]) < $feld['minlength']) {
$this->errormsg .= str_replace("{FIELD}", $feld['name'], _ERROR_WRONG_MINLENGTH_);
return false;
}
if (!empty($feld['maxlength']) && strlen($_POST["{$feld['name']}"]) > $feld['maxlength']) {
$this->errormsg .= str_replace("{FIELD}", $feld['name'], _ERROR_WRONG_MAXLENGTH_);
return false;
}
return true;
}
//PUBLIC
function process() {
if (!isset($_POST['sent'])) {
$this->formularAusgabe();
} elseif ($this->formularVollstaendig()) {
$this->success();
} else {
$this->formularAusgabe(true);
}
}
////////////////////////////////////////////////////////////////
// private
function __init_class()
{
@define("_ERROR_WRONG_STRING_TYPE_", "<br>Das Feld <B>'{FIELD}'</B> enthält nicht gültige Zeichen.");
@define("_ERROR_WRONG_EMAIL_", "<br>Das Feld <B>'{FIELD}'</B> enthält ist keine gültige Email-Adresse.");
@define("_ERROR_WRONG_TELEHPONE_NUMBER_", "<br>Das Feld <B>'{FIELD}'</B> ist keine gültige Telefonnummer.");
@define("_ERROR_WRONG_MINVALUE_", "<br>Der Wertebereich des Feldes <B>'{FIELD}'</B> wurde unterschritten.");
@define("_ERROR_WRONG_MAXVALUE_", "<br>Der Wertebereich des Feldes <B>'{FIELD}'</B> wurde überschritten.");
@define("_ERROR_WRONG_MINLENGTH_", "<br>Das Feld <B>'{FIELD}'</B> ist zu kurz.");
@define("_ERROR_WRONG_MAXLENGTH_", "<br>Das Feld <B>'{FIELD}'</B> ist zu lang.");
@define("_ERROR_WRONG_DATE_", "<br>Das Feld <B>'{FIELD}'</B> ist kein gültiges Datum.");
@define("_ERROR_WRONG_INT_VALUE_", "<br>Das Feld <B>'{FIELD}'</B> ist keine Ganzzahl.");
@define("_ERROR_WRONG_FLOAT_VALUE_", "<br>Das Feld <B>'{FIELD}'</B> ist keine Fliesskommazahl.");
@define("_MAIN_ERROR_MSG_", "<font class="text3">Felder mit einem * sind Pflichtfelder und müssen ausgefüllt werden.
<br>");
# if(file_exists("./w3form_errors.inc.php")) {
# include "w3form_errors.inc.php";
# }
}
// end fucntion __init_class
////////////////////////////////////////////////////////
}
if ($edit) {
echo "<h1>Formularkonfiguration</h1>";
echo "<p><b>Hier ist das Formular sowie der Text einzugeben, der zusammen mit dem Formular ausgegeben werden soll:</b></p>";
echo "CMS_HTML[0]";
echo "<p>Hier ist die Ausgabe einzugeben, die erscheint, wenn das Formular erfolgreich prozessiert worden ist:</p>";
// echo "<img src='http://www.wondernet24.de/partner/verkauft.php?&remark_admin=" . $vorname . "," . $name . "," . $email . "' height='1' width='1' border='0'>";
echo "CMS_HTML[1]";
} else {
$formular = new w3form();
$formular->addEmailAdress("CMS_VALUE[0]");
$formular->setEmailSubject("CMS_VALUE[1]");
$formular->setEmailFrom("CMS_VALUE[2]","CMS_VALUE[3]");
$formular->setBackgroundError("CMS_VALUE[4]");
$formular->setForm("CMS_HTML[0]");
$formular->setAnswer("CMS_HTML[1]");
$formular->process();
}
?>
Re: w3concepts.form.v1
da hast du aber einiges vor...Rolf Herrmann hat geschrieben:Also das ist die Ausgabe von w3concepts.form.v1. Wo trage ich das ein damit ich die Möglichkeit habe ein Bild mit hochzuladen und dann zu versenden?
na ja du müsstest zu aller erst ein form feld für uploads schaffen
und in der function formularFeld einbauen...
die weiteren sachen wären
sich darum kümmern wohin die datei raufgeladen wurde
die mail funktion anpassen das dieses raufgeladene bild als attachment angehängt wird, und anschließend sollte nach erfolgreicher versendung das raufgeladene bild wieder entfernt werden...
so in etwa würde ich das aufbauen... ist leider kein 5 minuten job
es gibt glaube ich noch einen thread für feature requests bei diesen modul
ich würde die anfrage dort mal ergänzen...
*** make your own tools (wishlist :: thx)