Revision 638
Added by thorn almost 18 years ago
| trunk/CHANGELOG | ||
|---|---|---|
| 23 | 23 |
! added possibility to select the default backend language during installation process |
| 24 | 24 |
! Re-introduced Changeset 593 (filename in pages/ from page_title instead of menu_title) |
| 25 | 25 |
# Fixed some bugs in the Javascript Admin modul |
| 26 |
28-Jan-2008 Thomas Hornik |
|
| 26 |
28-Jan-2008 Thomas Hornik |
|
| 27 |
+ Allow a user-supplied From-Name in form-settings for email und success-email. |
|
| 27 | 28 |
! changeset 627: menu_link and search/search.php needs some minor changes, too. |
| 28 | 29 |
+ Added Text-CAPTCHA on request. The captcha-text will be stored in temp/.captcha_text.txt |
| 29 | 30 |
27-Jan-2008 Christian Sommer |
| trunk/wb/framework/class.wb.php | ||
|---|---|---|
| 295 | 295 |
} |
| 296 | 296 |
|
| 297 | 297 |
// Validate send email |
| 298 |
function mail($fromaddress, $toaddress, $subject, $message) {
|
|
| 298 |
function mail($fromaddress, $toaddress, $subject, $message, $fromname='') {
|
|
| 299 | 299 |
/* |
| 300 | 300 |
INTEGRATED OPEN SOURCE PHPMAILER CLASS FOR SMTP SUPPORT AND MORE |
| 301 | 301 |
SOME SERVICE PROVIDERS DO NOT SUPPORT SENDING MAIL VIA PHP AS IT DOES NOT PROVIDE SMTP AUTHENTICATION |
| ... | ... | |
| 313 | 313 |
|
| 314 | 314 |
// create PHPMailer object and define default settings |
| 315 | 315 |
$myMail = new wbmailer(); |
| 316 |
|
|
| 316 |
|
|
| 317 | 317 |
// set user defined from address |
| 318 | 318 |
if ($fromaddress!='') {
|
| 319 |
if($fromname!='') $myMail->FromName = $fromname; // FROM-NAME |
|
| 319 | 320 |
$myMail->From = $fromaddress; // FROM: |
| 320 | 321 |
$myMail->AddReplyTo($fromaddress); // REPLY TO: |
| 321 | 322 |
} |
| trunk/wb/framework/class.wbmailer.php | ||
|---|---|---|
| 89 | 89 |
$this->CharSet='utf-8'; |
| 90 | 90 |
} |
| 91 | 91 |
|
| 92 |
// set default sender name |
|
| 93 |
if (isset($_SESSION['DISPLAY_NAME'])) {
|
|
| 94 |
$this->FromName = $_SESSION['DISPLAY_NAME']; // FROM NAME: display name of user logged in |
|
| 95 |
} else {
|
|
| 96 |
$this->FromName = $db_wbmailer_default_sendername; // FROM NAME: set default name |
|
| 97 |
} |
|
| 92 |
// set default sender name |
|
| 93 |
if($this->FromName == 'Root User') {
|
|
| 94 |
if(isset($_SESSION['DISPLAY_NAME'])) {
|
|
| 95 |
$this->FromName = $_SESSION['DISPLAY_NAME']; // FROM NAME: display name of user logged in |
|
| 96 |
} else {
|
|
| 97 |
$this->FromName = $db_wbmailer_default_sendername; // FROM NAME: set default name |
|
| 98 |
} |
|
| 99 |
} |
|
| 98 | 100 |
|
| 99 | 101 |
/* |
| 100 | 102 |
some mail provider (lets say mail.com) reject mails send out by foreign mail |
| trunk/wb/modules/form/install.php | ||
|---|---|---|
| 53 | 53 |
. ' `footer` TEXT NOT NULL ,' |
| 54 | 54 |
. ' `email_to` TEXT NOT NULL ,' |
| 55 | 55 |
. ' `email_from` VARCHAR(255) NOT NULL DEFAULT \'\' ,' |
| 56 |
. ' `email_fromname` VARCHAR(255) NOT NULL DEFAULT \'\' ,' |
|
| 56 | 57 |
. ' `email_subject` VARCHAR(255) NOT NULL DEFAULT \'\' ,' |
| 57 | 58 |
. ' `success_page` TEXT NOT NULL ,' |
| 58 | 59 |
. ' `success_email_to` TEXT NOT NULL ,' |
| 59 | 60 |
. ' `success_email_from` VARCHAR(255) NOT NULL DEFAULT \'\' ,' |
| 61 |
. ' `success_email_fromname` VARCHAR(255) NOT NULL DEFAULT \'\' ,' |
|
| 60 | 62 |
. ' `success_email_text` TEXT NOT NULL ,' |
| 61 | 63 |
. ' `success_email_subject` VARCHAR(255) NOT NULL DEFAULT \'\' ,' |
| 62 | 64 |
. ' `stored_submissions` INT NOT NULL DEFAULT \'0\' ,' |
| trunk/wb/modules/form/modify_settings.php | ||
|---|---|---|
| 151 | 151 |
</td> |
| 152 | 152 |
</tr> |
| 153 | 153 |
<tr> |
| 154 |
<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['NAME']; ?>:</td> |
|
| 155 |
<td class="setting_name"> |
|
| 156 |
<input type="text" name="email_fromname" style="width: 98%;" maxlength="255" value="<?php echo str_replace($raw, $friendly, ($setting['email_fromname'])); ?>" /> |
|
| 157 |
</td> |
|
| 158 |
</tr> |
|
| 159 |
<tr> |
|
| 154 | 160 |
<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['SUBJECT']; ?>:</td> |
| 155 | 161 |
<td class="setting_name"> |
| 156 | 162 |
<input type="text" name="email_subject" style="width: 98%;" maxlength="255" value="<?php echo str_replace($raw, $friendly, ($setting['email_subject'])); ?>" /> |
| ... | ... | |
| 190 | 196 |
</td> |
| 191 | 197 |
</tr> |
| 192 | 198 |
<tr> |
| 199 |
<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['NAME']; ?>:</td> |
|
| 200 |
<td class="setting_name"> |
|
| 201 |
<input type="text" name="success_email_fromname" style="width: 98%;" maxlength="255" value="<?php echo str_replace($raw, $friendly, ($setting['success_email_fromname'])); ?>" /> |
|
| 202 |
</td> |
|
| 203 |
</tr> |
|
| 204 |
<tr> |
|
| 193 | 205 |
<td class="setting_name"><?php echo $TEXT['EMAIL'].' '.$TEXT['SUBJECT']; ?>:</td> |
| 194 | 206 |
<td class="setting_name"> |
| 195 | 207 |
<input type="text" name="success_email_subject" style="width: 98%;" maxlength="255" value="<?php echo str_replace($raw, $friendly, ($setting['success_email_subject'])); ?>" /> |
| trunk/wb/modules/form/view.php | ||
|---|---|---|
| 340 | 340 |
// Set the email from field to what the user entered in the specified field |
| 341 | 341 |
$email_from = $wb->add_slashes($_POST[$email_from]); |
| 342 | 342 |
} |
| 343 |
$email_fromname = $fetch_settings['email_fromname']; |
|
| 343 | 344 |
$email_subject = $fetch_settings['email_subject']; |
| 344 | 345 |
$success_page = $fetch_settings['success_page']; |
| 345 | 346 |
$success_email_to = $fetch_settings['success_email_to']; |
| ... | ... | |
| 348 | 349 |
$success_email_to = $wb->add_slashes($_POST[$success_email_to]); |
| 349 | 350 |
} |
| 350 | 351 |
$success_email_from = $fetch_settings['success_email_from']; |
| 352 |
$success_email_fromname = $fetch_settings['success_email_fromname']; |
|
| 351 | 353 |
$success_email_text = $fetch_settings['success_email_text']; |
| 352 | 354 |
$success_email_subject = $fetch_settings['success_email_subject']; |
| 353 | 355 |
$max_submissions = $fetch_settings['max_submissions']; |
| ... | ... | |
| 445 | 447 |
// Now send the email |
| 446 | 448 |
if($email_to != '') {
|
| 447 | 449 |
if($email_from != '') {
|
| 448 |
if($wb->mail($email_from,$email_to,$email_subject,$email_body)) {
|
|
| 450 |
if($wb->mail($email_from,$email_to,$email_subject,$email_body,$email_fromname)) {
|
|
| 449 | 451 |
$success = true; |
| 450 | 452 |
} |
| 451 | 453 |
} else {
|
| 452 |
if($wb->mail('',$email_to,$email_subject,$email_body)) {
|
|
| 454 |
if($wb->mail('',$email_to,$email_subject,$email_body,$email_fromname)) {
|
|
| 453 | 455 |
$success = true; |
| 454 | 456 |
} |
| 455 | 457 |
} |
| 456 | 458 |
} |
| 457 | 459 |
if($success_email_to != '') {
|
| 458 | 460 |
if($success_email_from != '') {
|
| 459 |
if($wb->mail($success_email_from,$success_email_to,$success_email_subject,$success_email_text)) {
|
|
| 461 |
if($wb->mail($success_email_from,$success_email_to,$success_email_subject,$success_email_text,$success_email_fromname)) {
|
|
| 460 | 462 |
$success = true; |
| 461 | 463 |
} |
| 462 | 464 |
} else {
|
| 463 |
if($wb->mail('',$success_email_to,$success_email_subject,$success_email_text)) {
|
|
| 465 |
if($wb->mail('',$success_email_to,$success_email_subject,$success_email_text,$success_email_fromname)) {
|
|
| 464 | 466 |
$success = true; |
| 465 | 467 |
} |
| 466 | 468 |
} |
| trunk/wb/modules/form/save_settings.php | ||
|---|---|---|
| 47 | 47 |
} else {
|
| 48 | 48 |
$email_from = $admin->add_slashes($_POST['email_from_field']); |
| 49 | 49 |
} |
| 50 |
$email_fromname = $admin->add_slashes($_POST['email_fromname']); |
|
| 50 | 51 |
$email_subject = $admin->add_slashes($_POST['email_subject']); |
| 51 | 52 |
$success_page = $_POST['success_page']; |
| 52 | 53 |
$success_email_to = $admin->add_slashes($_POST['success_email_to']); |
| 53 | 54 |
$success_email_from = $admin->add_slashes($_POST['success_email_from']); |
| 55 |
$success_email_fromname = $admin->add_slashes($_POST['success_email_fromname']); |
|
| 54 | 56 |
$success_email_text = $admin->add_slashes($_POST['success_email_text']); |
| 55 | 57 |
$success_email_subject = $admin->add_slashes($_POST['success_email_subject']); |
| 56 | 58 |
if(!is_numeric($_POST['max_submissions'])) {
|
| ... | ... | |
| 69 | 71 |
} |
| 70 | 72 |
|
| 71 | 73 |
// Update settings |
| 72 |
$database->query("UPDATE ".TABLE_PREFIX."mod_form_settings SET header = '$header', field_loop = '$field_loop', footer = '$footer', email_to = '$email_to', email_from = '$email_from', email_subject = '$email_subject', success_page = '$success_page', success_email_to = '$success_email_to', success_email_from = '$success_email_from', success_email_text = '$success_email_text', success_email_subject = '$success_email_subject', max_submissions = '$max_submissions', stored_submissions = '$stored_submissions', use_captcha = '$use_captcha' WHERE section_id = '$section_id'");
|
|
| 74 |
$database->query("UPDATE ".TABLE_PREFIX."mod_form_settings SET header = '$header', field_loop = '$field_loop', footer = '$footer', email_to = '$email_to', email_from = '$email_from', email_fromname = '$email_fromname', email_subject = '$email_subject', success_page = '$success_page', success_email_to = '$success_email_to', success_email_from = '$success_email_from', success_email_fromname = '$success_email_fromname', success_email_text = '$success_email_text', success_email_subject = '$success_email_subject', max_submissions = '$max_submissions', stored_submissions = '$stored_submissions', use_captcha = '$use_captcha' WHERE section_id = '$section_id'");
|
|
| 73 | 75 |
|
| 74 | 76 |
// Check if there is a db error, otherwise say successful |
| 75 | 77 |
if($database->is_error()) {
|
| trunk/wb/modules/form/add.php | ||
|---|---|---|
| 39 | 39 |
</table>'; |
| 40 | 40 |
$email_to = $admin->get_email(); |
| 41 | 41 |
$email_from = ''; |
| 42 |
$email_fromname = ''; |
|
| 42 | 43 |
$email_subject = 'Results from form on website...'; |
| 43 | 44 |
$success_page = 'none'; |
| 44 | 45 |
$success_email_to = ''; |
| 45 | 46 |
$success_email_from = $admin->get_email(); |
| 47 |
$success_email_fromname = ''; |
|
| 46 | 48 |
$success_email_text = 'Thank you for submitting your form on '.WEBSITE_TITLE; |
| 47 | 49 |
$success_email_text = addslashes($success_email_text); |
| 48 | 50 |
$success_email_subject = 'You have submitted a form'; |
| 49 | 51 |
$max_submissions = 50; |
| 50 | 52 |
$stored_submissions = 50; |
| 51 | 53 |
$use_captcha = true; |
| 52 |
$database->query("INSERT INTO ".TABLE_PREFIX."mod_form_settings (page_id,section_id,header,field_loop,footer,email_to,email_from,email_subject,success_page,success_email_to,success_email_from,success_email_text,success_email_subject,max_submissions,stored_submissions,use_captcha) VALUES ('$page_id','$section_id','$header','$field_loop','$footer','$email_to','$email_from','$email_subject','$success_page','$success_email_to','$success_email_from','$success_email_text','$success_email_subject','$max_submissions','$stored_submissions','$use_captcha')");
|
|
| 54 |
$database->query("INSERT INTO ".TABLE_PREFIX."mod_form_settings (page_id,section_id,header,field_loop,footer,email_to,email_from,email_fromname,email_subject,success_page,success_email_to,success_email_from,success_email_fromname,success_email_text,success_email_subject,max_submissions,stored_submissions,use_captcha) VALUES ('$page_id','$section_id','$header','$field_loop','$footer','$email_to','$email_from','$email_fromname','$email_subject','$success_page','$success_email_to','$success_email_from','$success_email_fromname','$success_email_text','$success_email_subject','$max_submissions','$stored_submissions','$use_captcha')");
|
|
| 53 | 55 |
|
| 54 | 56 |
?> |
Also available in: Unified diff
Allow a user-supplied From-Name in form-settings for email und success-email.