Side navigation
Ticket #4350: files.php
File files.php, 6.8 KB (added by why not, March 13, 2009 06:27PM UTC)
<?PHP
// THIS PHP CODE IS MY CONTACTUS FORM
$SMTP = new SMTP($Info->option['smtp_host'], $Info->option['smtp_username'], $Info->option['smtp_password']);
$Contact = new Contact;
class Contact
{
var $data = array();
function Contact(){
global $Func;
$act = $Func->get_vars('act', 1);
switch ($act){
case "send":
$this->do_send_email();
break;
default:
$this->pre_send_email();
}
}
function pre_send_email($msg = ""){
global $Info, $Template, $Lang, $Func, $HomeGlobal;
$Info->tpl_main = "mailto";
$Func->make_image_number();
$Template->set_vars(array(
'ERROR_MSG' => $msg,
'S_CONTACT_ACTION' => $Func->compile_url(array('mod' => 'mailto', 'act' => 'send')),
'BROWSER_NAVIGATOR' => ' - '. $Lang->data['general_contact'],
"L_CONTACT_US" => $Lang->data["contact"],
"L_NAME" => $Lang->data["contact_name"],
"L_EMAIL" => $Lang->data["contact_email"],
"L_ADDRESS" => $Lang->data["contact_address"],
"L_TEL" => $Lang->data["contact_tel"],
"L_SUBJECT" => $Lang->data["contact_subject"],
"L_MESSAGE" => $Lang->data["contact_message"],
"L_BUTTON_SEND" => $Lang->data["contact_button_send"],
"L_ERROR_NOT_FULL" => $Lang->data["general_error_not_full"],
"L_ERROR_EMAIL" => $Lang->data["general_error_email"],
'VISITOR_NAME' => isset($this->data['name']) ? stripslashes($this->data['name']) : '',
'VISITOR_EMAIL' => isset($this->data['email']) ? stripslashes($this->data['email']) : '',
'VISITOR_ADDRESS' => isset($this->data['address']) ? stripslashes($this->data['address']) : '',
'VISITOR_TEL' => isset($this->data['tel']) ? stripslashes($this->data['tel']) : '',
'SUBJECT' => isset($this->data['subject']) ? stripslashes($this->data['subject']) : '',
'MESSAGE' => isset($this->data['message']) ? stripslashes($this->data['message']) : '',
));
}
function check_ip(){
global $Info, $Template, $Lang, $DB, $Func;
$DB->query("SELECT client_ip FROM ". $DB->prefix ."contact_ip WHERE client_ip='". $Info->client_ip ."' AND contact_time>=". (CURRENT_TIME - $Info->option['time_recontact']));
if ( $DB->num_rows() ){
$Template->page_transfer($Lang->data['contact_error_flood'], $Func->compile_url(array('mod' => 'mailto')));
return false;
}
return true;
}
function do_send_email(){
global $Func, $DB, $Template, $Lang, $Info, $SMTP;
$this->data['name'] = isset($_POST["visitor_name"]) ? htmlspecialchars($_POST["visitor_name"]) : '';
$this->data['email'] = isset($_POST["visitor_email"]) ? htmlspecialchars($_POST["visitor_email"]) : '';
$this->data['address'] = isset($_POST["visitor_address"]) ? htmlspecialchars($_POST["visitor_address"]) : '';
$this->data['tel'] = isset($_POST["visitor_tel"]) ? htmlspecialchars($_POST["visitor_tel"]) : '';
$this->data['subject'] = isset($_POST["subject"]) ? htmlspecialchars($_POST["subject"]) : '';
$this->data['message'] = isset($_POST["message"]) ? htmlspecialchars($_POST["message"]) : '';
$number_id = isset($_POST["number_id"]) ? htmlspecialchars($_POST["number_id"]) : '';
$number_value = isset($_POST["number_value"]) ? intval($_POST["number_value"]) : 0;
if ( empty($this->data['name']) || empty($this->data['email']) || empty($this->data['subject']) || empty($this->data['message']) ){
$this->pre_send_email($Lang->data["general_error_not_full"]);
return false;
}
if ( !$Func->check_email($this->data['email']) ){
$this->pre_send_email($Lang->data["general_error_email"]);
return false;
}
$this->check_ip();
if ( empty($number_id) || !$number_value ){
$this->pre_send_email($Lang->data['general_error_login_number']);
return false;
}
$DB->query("SELECT * FROM ". $DB->prefix ."number WHERE num_id='". $number_id ."'");
if ( !$DB->num_rows() ){
$this->pre_send_email($Lang->data["general_error_login_number"]);
return false;
}
$number_info = $DB->fetch_array();
if ( $number_value != $number_info['num_value'] ){
$this->pre_send_email($Lang->data["general_error_login_number"]);
return false;
}
$DB->query("DELETE FROM ". $DB->prefix ."number WHERE num_id='". $number_id ."'");
$content = $Lang->data['contact_name'] .": ". stripslashes($this->data['name']) ."\n";
$content .= $Lang->data['contact_email'] .": ". stripslashes($this->data['email']) ."\n";
$content .= $Lang->data['contact_address'] .": ". stripslashes($this->data['address']) ."\n";
$content .= $Lang->data['contact_tel'] .": ". stripslashes($this->data['tel']) ."\n";
$content .= $Lang->data['contact_message'] .": \n\n". stripslashes($this->data['message']);
$content = nl2br($content);
//SMTP -------------------------------
$SMTP->message_charset($Lang->charset);
$SMTP->message_subject('['. $Info->option['site_name'] .'] - '. $this->data['subject']);
$SMTP->message_content($content);
$SMTP->email_from($this->data['email']);
//Admin emails
$Info->option['admin_email'] = str_replace(',', ';', $Info->option['admin_email']);
$admin_emails = explode(';', $Info->option['admin_email']);
$i = 0;
reset($admin_emails);
while (list(, $admin_email) = each($admin_emails)){
$admin_email = trim($admin_email);
if ( !empty($admin_email) ){
if ( $i == 0 ){
$SMTP->email_to($admin_email);
}
else{
$SMTP->email_cc($admin_email);
}
$i++;
}
}
$SMTP->send();
//------------------------------------
$Template->page_transfer($Lang->data["contact_success_send"], $Info->option['site_url'] . $Func->compile_url(''));
return true;
}
}
?>
Download in other formats:
Original Format
File files.php, 6.8 KB (added by why not, March 13, 2009 06:27PM UTC)
<?PHP
// THIS PHP CODE IS MY CONTACTUS FORM
$SMTP = new SMTP($Info->option['smtp_host'], $Info->option['smtp_username'], $Info->option['smtp_password']);
$Contact = new Contact;
class Contact
{
var $data = array();
function Contact(){
global $Func;
$act = $Func->get_vars('act', 1);
switch ($act){
case "send":
$this->do_send_email();
break;
default:
$this->pre_send_email();
}
}
function pre_send_email($msg = ""){
global $Info, $Template, $Lang, $Func, $HomeGlobal;
$Info->tpl_main = "mailto";
$Func->make_image_number();
$Template->set_vars(array(
'ERROR_MSG' => $msg,
'S_CONTACT_ACTION' => $Func->compile_url(array('mod' => 'mailto', 'act' => 'send')),
'BROWSER_NAVIGATOR' => ' - '. $Lang->data['general_contact'],
"L_CONTACT_US" => $Lang->data["contact"],
"L_NAME" => $Lang->data["contact_name"],
"L_EMAIL" => $Lang->data["contact_email"],
"L_ADDRESS" => $Lang->data["contact_address"],
"L_TEL" => $Lang->data["contact_tel"],
"L_SUBJECT" => $Lang->data["contact_subject"],
"L_MESSAGE" => $Lang->data["contact_message"],
"L_BUTTON_SEND" => $Lang->data["contact_button_send"],
"L_ERROR_NOT_FULL" => $Lang->data["general_error_not_full"],
"L_ERROR_EMAIL" => $Lang->data["general_error_email"],
'VISITOR_NAME' => isset($this->data['name']) ? stripslashes($this->data['name']) : '',
'VISITOR_EMAIL' => isset($this->data['email']) ? stripslashes($this->data['email']) : '',
'VISITOR_ADDRESS' => isset($this->data['address']) ? stripslashes($this->data['address']) : '',
'VISITOR_TEL' => isset($this->data['tel']) ? stripslashes($this->data['tel']) : '',
'SUBJECT' => isset($this->data['subject']) ? stripslashes($this->data['subject']) : '',
'MESSAGE' => isset($this->data['message']) ? stripslashes($this->data['message']) : '',
));
}
function check_ip(){
global $Info, $Template, $Lang, $DB, $Func;
$DB->query("SELECT client_ip FROM ". $DB->prefix ."contact_ip WHERE client_ip='". $Info->client_ip ."' AND contact_time>=". (CURRENT_TIME - $Info->option['time_recontact']));
if ( $DB->num_rows() ){
$Template->page_transfer($Lang->data['contact_error_flood'], $Func->compile_url(array('mod' => 'mailto')));
return false;
}
return true;
}
function do_send_email(){
global $Func, $DB, $Template, $Lang, $Info, $SMTP;
$this->data['name'] = isset($_POST["visitor_name"]) ? htmlspecialchars($_POST["visitor_name"]) : '';
$this->data['email'] = isset($_POST["visitor_email"]) ? htmlspecialchars($_POST["visitor_email"]) : '';
$this->data['address'] = isset($_POST["visitor_address"]) ? htmlspecialchars($_POST["visitor_address"]) : '';
$this->data['tel'] = isset($_POST["visitor_tel"]) ? htmlspecialchars($_POST["visitor_tel"]) : '';
$this->data['subject'] = isset($_POST["subject"]) ? htmlspecialchars($_POST["subject"]) : '';
$this->data['message'] = isset($_POST["message"]) ? htmlspecialchars($_POST["message"]) : '';
$number_id = isset($_POST["number_id"]) ? htmlspecialchars($_POST["number_id"]) : '';
$number_value = isset($_POST["number_value"]) ? intval($_POST["number_value"]) : 0;
if ( empty($this->data['name']) || empty($this->data['email']) || empty($this->data['subject']) || empty($this->data['message']) ){
$this->pre_send_email($Lang->data["general_error_not_full"]);
return false;
}
if ( !$Func->check_email($this->data['email']) ){
$this->pre_send_email($Lang->data["general_error_email"]);
return false;
}
$this->check_ip();
if ( empty($number_id) || !$number_value ){
$this->pre_send_email($Lang->data['general_error_login_number']);
return false;
}
$DB->query("SELECT * FROM ". $DB->prefix ."number WHERE num_id='". $number_id ."'");
if ( !$DB->num_rows() ){
$this->pre_send_email($Lang->data["general_error_login_number"]);
return false;
}
$number_info = $DB->fetch_array();
if ( $number_value != $number_info['num_value'] ){
$this->pre_send_email($Lang->data["general_error_login_number"]);
return false;
}
$DB->query("DELETE FROM ". $DB->prefix ."number WHERE num_id='". $number_id ."'");
$content = $Lang->data['contact_name'] .": ". stripslashes($this->data['name']) ."\n";
$content .= $Lang->data['contact_email'] .": ". stripslashes($this->data['email']) ."\n";
$content .= $Lang->data['contact_address'] .": ". stripslashes($this->data['address']) ."\n";
$content .= $Lang->data['contact_tel'] .": ". stripslashes($this->data['tel']) ."\n";
$content .= $Lang->data['contact_message'] .": \n\n". stripslashes($this->data['message']);
$content = nl2br($content);
//SMTP -------------------------------
$SMTP->message_charset($Lang->charset);
$SMTP->message_subject('['. $Info->option['site_name'] .'] - '. $this->data['subject']);
$SMTP->message_content($content);
$SMTP->email_from($this->data['email']);
//Admin emails
$Info->option['admin_email'] = str_replace(',', ';', $Info->option['admin_email']);
$admin_emails = explode(';', $Info->option['admin_email']);
$i = 0;
reset($admin_emails);
while (list(, $admin_email) = each($admin_emails)){
$admin_email = trim($admin_email);
if ( !empty($admin_email) ){
if ( $i == 0 ){
$SMTP->email_to($admin_email);
}
else{
$SMTP->email_cc($admin_email);
}
$i++;
}
}
$SMTP->send();
//------------------------------------
$Template->page_transfer($Lang->data["contact_success_send"], $Info->option['site_url'] . $Func->compile_url(''));
return true;
}
}
?>