möchte eine 2. Variante des Easy Contact Form einbauen damit direkt für ein bestimmtes Thema Mails geschrieben werden können.
Wisst ihr welchte Variablen oder Pfade ich anpassen muss damit sich die Scripte nicht in Haare kriegen?
Ist ja nur was wirklich Kleines, darum hier mal schnell:
Der Quelltext:
Code: Alles auswählen
<?php
/***************************************************************************
* contact_form.php
* -------------------
* begin : Thursday, Oct 27, 2005
* copyright : (C) 2005 FuNEnD3R
* email : admin@funender.com
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_contact.' . $phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
session_start();
init_userprefs($userdata);
$displayip = decode_ip ($user_ip);
//
// End session management
//
$mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode']: '';
//
// Start output of page
//
$page_title = $lang['Eadmin'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
/*
* Admin Contact Forum Version 1.1.0
*
* Author: FuNEnD3R admin@funender.com - website: www.funender.com
*
*/
if( $mode == 'send' )
{
// Pre-declarations
$error_fields = array();
$error = false;
$from_name = '';
$from_email = '';
$message = '';
/* ***CHANGE THIS ADDRESS TO YOURS*** */
$to_admin= 'your_name@your_site';
/* ********************************** */
/* NO NEED TO EDIT ANYTHING BELOW THIS LINE */
// Check for empty fields
check_field('', $HTTP_POST_VARS['name']);
check_field('', $HTTP_POST_VARS['primary_email']);
check_field('', $HTTP_POST_VARS['message']);
check_field('', $HTTP_POST_VARS['enquiry']);
// Check to see if any fields were empty
// and stored in the errors array
//
if (sizeof($error_fields) > 0) {
// Loop through error array
foreach($error_fields as $field) {
message_die(GENERAL_ERROR, $lang['ERequired_error']);
}
// Terminate without sending mail
$error = true;
}
if($_POST["rand"] != $_SESSION["new_string"]) {
message_die(GENERAL_ERROR, $lang['code_wrong']);
}
if( !$error )
{
// Strip HTML and escape slashes
$from_name = strip_all($HTTP_POST_VARS['name']);
$from_email = strip_all($HTTP_POST_VARS['primary_email']);
$message = strip_all($HTTP_POST_VARS['message']);
$enquiry = strip_all($HTTP_POST_VARS['enquiry']);
// Validates email address.
$emailcheck = ".+@.+\..+";
if (eregi($emailcheck, $from_email))
{
echo'';
} else {
message_die(GENERAL_ERROR, $lang['EEmail_error']);
}
// Check for empty subject and strip if applicable
$subject = (!empty($HTTP_POST_VARS['subject'])) ? strip_all($HTTP_POST_VARS['subject']) : $lang['ESubject'];
// Strip HTML / backslashes from username
$forum_username = strip_all($HTTP_POST_VARS['forum_username']);
// Email vars
$email_username = $lang['EEmail_username'];
$email_mailname = $lang['EEmail_mailname'];
$email_sendersip = $lang['EEmail_sendersip'];
$email_xmailer = $lang['EEmail_xmailer'];
$email_lookupip = $lang['EEmail_lookupip'];
$email_enquiry = $lang['EEmail_enquiry'];
// Add username to beginning / top of mail
$message = "$from_name'$email_username $forum_username\n$from_name'$email_mailname $from_email\n\n$email_sendersip $displayip\n$email_lookupip: http://whois.sc/$displayip\n\n$email_enquiry: $enquiry\n\n" . strip_all($HTTP_POST_VARS['message']);
// Get users IP addy for mail header
$user_ip = get_ip();
// All fields match criteria, attempt to send mail
if (@mail(
$to_admin,
$subject,
$message,
"From: $from_name <$from_email>\r\n" .
"X-Remote-Addr: $user_ip\r\n" .
"X-Mailer: $email_xmailer"
)) {
// Mail was sent
echo'<meta http-equiv="refresh" content="3;url=' . append_sid($phpbb_root_path . "index.$phpEx") . '">';
message_die(GENERAL_MESSAGE, $message = $lang['ESuccessfully'] . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid($phpbb_root_path . "index.$phpEx") . '">', '</a>') . '');
}
else {
message_die(GENERAL_ERROR, $lang['EMain_error']);
}
}
}
// Empty field checking function
function check_field($field, $data) {
global $error_fields;
if (empty($data)) {
array_push($error_fields, $field);
}
return;
}
// Grab users IP function
function get_ip() {
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
return $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
return $_SERVER['REMOTE_ADDR'];
}
}
// Strip html tags etc
function strip_all($string) {
return strip_tags(stripslashes($string));
}
$template->set_filenames(array(
'body' => 'contact_form.tpl'
)
);
$template->assign_vars(array(
'DISPLAY_IP' => $displayip,
'NAME' => $from_name,
'EMAIL' => $from_email,
'USERNAME' => $forum_username,
'MESSAGE' => $message,
'L_EYOUR_NAME' => $lang['EYour_Name'],
'L_EYOUR_EMAIL' => $lang['EYour_Email'],
'L_EFORUM_USERNAME' => $lang['EForum_Username'],
'L_EQUEST_COMMS' => $lang['EQuest_Comms'],
'L_EDENOTES_FIELD' => $lang['Edenotes_field'],
'L_EYOUR_NAME' => $lang['EYour_Name'],
'L_ECLEAR_FORM' => $lang['EClear'],
'L_EAUTH' => $lang['EAuth'],
'L_EYOUR_IP' => $lang['EYour_IP'],
'L_ERECORDED' => $lang['ERecorded'],
'L_ESUBMIT' => $lang['ESubmit'],
'L_EENQUIRY_TYPE' => $lang['EEnquiry'],
'L_EPLEASE_SELECT' => $lang['EPlease_Select'],
'L_OPTION_ONE' => $lang['EOption_One_Text'],
'L_OPTION_TWO' => $lang['EOption_Two_Text'],
'L_OPTION_THREE' => $lang['EOption_Three_Text'],
'L_OPTION_FOUR' => $lang['EOption_Four_Text']
)
);
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Michael