Zeile 11 | Zeile 11 |
---|
define("IN_MYBB", 1); define('THIS_SCRIPT', 'contact.php');
|
define("IN_MYBB", 1); define('THIS_SCRIPT', 'contact.php');
|
$templatelist = "contact,post_captcha";
| $templatelist = "contact,post_captcha,post_captcha_recaptcha_invisible,post_captcha_nocaptcha,post_captcha_hcaptcha_invisible,post_captcha_hcaptcha";
|
require_once "./global.php"; require_once MYBB_ROOT.'inc/class_captcha.php';
| require_once "./global.php"; require_once MYBB_ROOT.'inc/class_captcha.php';
|
Zeile 27 | Zeile 27 |
---|
if($mybb->settings['contact'] != 1 || (!$mybb->user['uid'] && $mybb->settings['contact_guests'] == 1)) { error_no_permission();
|
if($mybb->settings['contact'] != 1 || (!$mybb->user['uid'] && $mybb->settings['contact_guests'] == 1)) { error_no_permission();
|
| }
if($mybb->settings['contactemail']) { $contactemail = $mybb->settings['contactemail']; } else { $contactemail = $mybb->settings['adminemail'];
|
}
// Check group limits if($mybb->usergroup['maxemails'] > 0)
|
}
// Check group limits if($mybb->usergroup['maxemails'] > 0)
|
{ if($mybb->user['uid'] > 0) { $user_check = "fromuid='{$mybb->user['uid']}'"; }
| { if($mybb->user['uid'] > 0) { $user_check = "fromuid='{$mybb->user['uid']}'"; }
|
else { $user_check = "ipaddress=".$db->escape_binary($session->packedip);
|
else { $user_check = "ipaddress=".$db->escape_binary($session->packedip);
|
}
| }
|
|
|
$query = $db->simple_select("maillogs", "COUNT(*) AS sent_count", "{$user_check} AND dateline >= '".(TIME_NOW - (60*60*24))."'");
| $query = $db->simple_select("maillogs", "COUNT(mid) AS sent_count", "{$user_check} AND dateline >= ".(TIME_NOW - (60*60*24)));
|
$sent_count = $db->fetch_field($query, "sent_count"); if($sent_count >= $mybb->usergroup['maxemails']) {
| $sent_count = $db->fetch_field($query, "sent_count"); if($sent_count >= $mybb->usergroup['maxemails']) {
|
Zeile 56 | Zeile 65 |
---|
if($mybb->user['uid'] > 0) { $user_check = "fromuid='{$mybb->user['uid']}'";
|
if($mybb->user['uid'] > 0) { $user_check = "fromuid='{$mybb->user['uid']}'";
|
} else
| } else
|
{ $user_check = "ipaddress=".$db->escape_binary($session->packedip); }
| { $user_check = "ipaddress=".$db->escape_binary($session->packedip); }
|
Zeile 68 | Zeile 77 |
---|
$last_email = $db->fetch_array($query);
// Users last email was within the flood time, show the error
|
$last_email = $db->fetch_array($query);
// Users last email was within the flood time, show the error
|
if($last_email['mid'])
| if(!empty($last_email['mid']))
|
{ $remaining_time = ($mybb->usergroup['emailfloodtime']*60)-(TIME_NOW-$last_email['dateline']);
| { $remaining_time = ($mybb->usergroup['emailfloodtime']*60)-(TIME_NOW-$last_email['dateline']);
|
Zeile 114 | Zeile 123 |
---|
}
if(strlen($mybb->input['subject']) > $mybb->settings['contact_maxsubjectlength'] && $mybb->settings['contact_maxsubjectlength'] > 0)
|
}
if(strlen($mybb->input['subject']) > $mybb->settings['contact_maxsubjectlength'] && $mybb->settings['contact_maxsubjectlength'] > 0)
|
{
| {
|
$errors[] = $lang->sprintf($lang->subject_too_long, $mybb->settings['contact_maxsubjectlength'], strlen($mybb->input['subject'])); }
if(empty($mybb->input['message'])) { $errors[] = $lang->contact_no_message;
|
$errors[] = $lang->sprintf($lang->subject_too_long, $mybb->settings['contact_maxsubjectlength'], strlen($mybb->input['subject'])); }
if(empty($mybb->input['message'])) { $errors[] = $lang->contact_no_message;
|
}
| }
|
if(strlen($mybb->input['message']) > $mybb->settings['contact_maxmessagelength'] && $mybb->settings['contact_maxmessagelength'] > 0) {
| if(strlen($mybb->input['message']) > $mybb->settings['contact_maxmessagelength'] && $mybb->settings['contact_maxmessagelength'] > 0) {
|
Zeile 131 | Zeile 140 |
---|
if(strlen($mybb->input['message']) < $mybb->settings['contact_minmessagelength'] && $mybb->settings['contact_minmessagelength'] > 0) { $errors[] = $lang->sprintf($lang->message_too_short, $mybb->settings['contact_minmessagelength'], strlen($mybb->input['message']));
|
if(strlen($mybb->input['message']) < $mybb->settings['contact_minmessagelength'] && $mybb->settings['contact_minmessagelength'] > 0) { $errors[] = $lang->sprintf($lang->message_too_short, $mybb->settings['contact_minmessagelength'], strlen($mybb->input['message']));
|
}
| }
|
if(empty($mybb->input['email'])) {
| if(empty($mybb->input['email'])) {
|
Zeile 141 | Zeile 150 |
---|
{ // Validate email if(!validate_email_format($mybb->input['email']))
|
{ // Validate email if(!validate_email_format($mybb->input['email']))
|
{
| {
|
$errors[] = $lang->contact_no_email; } }
|
$errors[] = $lang->contact_no_email; } }
|
// Should we have a CAPTCHA? Perhaps yes... if($mybb->settings['captchaimage'])
| // Should we have a CAPTCHA? Perhaps yes, but only for guests like in other pages... if($mybb->settings['captchaimage'] && !$mybb->user['uid'])
|
{ $captcha = new captcha;
| { $captcha = new captcha;
|
Zeile 177 | Zeile 186 |
---|
try { if($stop_forum_spam_checker->is_user_a_spammer('', $mybb->input['email'], get_ip())) {
|
try { if($stop_forum_spam_checker->is_user_a_spammer('', $mybb->input['email'], get_ip())) {
|
$errors[] = $lang->error_stop_forum_spam_spammer;
| $errors[] = $lang->sprintf($lang->error_stop_forum_spam_spammer, $stop_forum_spam_checker->getErrorText(array( 'stopforumspam_check_emails', 'stopforumspam_check_ips')));
|
} } catch (Exception $e)
| } } catch (Exception $e)
|
Zeile 196 | Zeile 208 |
---|
// Load the post parser require_once MYBB_ROOT."inc/class_parser.php"; $parser = new postParser;
|
// Load the post parser require_once MYBB_ROOT."inc/class_parser.php"; $parser = new postParser;
|
$parser_options = array( 'filter_badwords' => 1 );
$mybb->input['subject'] = $parser->parse_message($mybb->input['subject'], $parser_options); $mybb->input['message'] = $parser->parse_message($mybb->input['message'], $parser_options); }
$user = $lang->na; if($mybb->user['uid']) { $user = $mybb->user['username'].' - '.$mybb->settings['bburl'].'/'.get_profile_link($mybb->user['uid']);
| $mybb->input['subject'] = $parser->parse_badwords($mybb->input['subject']); $mybb->input['message'] = $parser->parse_badwords($mybb->input['message']); }
$user = $lang->guest; if($mybb->user['uid']) { $user = htmlspecialchars_uni($mybb->user['username']).' - '.$mybb->settings['bburl'].'/'.get_profile_link($mybb->user['uid']);
|
}
$subject = $lang->sprintf($lang->email_contact_subject, $mybb->input['subject']); $message = $lang->sprintf($lang->email_contact, $mybb->input['email'], $user, $session->ipaddress, $mybb->input['message']);
|
}
$subject = $lang->sprintf($lang->email_contact_subject, $mybb->input['subject']); $message = $lang->sprintf($lang->email_contact, $mybb->input['email'], $user, $session->ipaddress, $mybb->input['message']);
|
|
|
// Email the administrator
|
// Email the administrator
|
my_mail($mybb->settings['adminemail'], $subject, $message, $mybb->input['email']);
| my_mail($contactemail, $subject, $message, '', '', '', false, 'text', '', $mybb->get_input('email', MyBB::INPUT_STRING));
|
$plugins->run_hooks('contact_do_end');
| $plugins->run_hooks('contact_do_end');
|
Zeile 229 | Zeile 237 |
---|
"fromuid" => $mybb->user['uid'], "fromemail" => $db->escape_string($mybb->input['email']), "touid" => 0,
|
"fromuid" => $mybb->user['uid'], "fromemail" => $db->escape_string($mybb->input['email']), "touid" => 0,
|
"toemail" => $db->escape_string($mybb->settings['adminemail']),
| "toemail" => $db->escape_string($contactemail),
|
"tid" => 0, "ipaddress" => $db->escape_binary($session->packedip), "type" => 3 ); $db->insert_query("maillogs", $log_entry); }
|
"tid" => 0, "ipaddress" => $db->escape_binary($session->packedip), "type" => 3 ); $db->insert_query("maillogs", $log_entry); }
|
// Redirect redirect('contact.php', $lang->contact_success_message);
| $mybb->input['from'] = $mybb->get_input('from'); if(!empty($mybb->input['from'])) { redirect($mybb->input['from'], $lang->contact_success_message, '', true); } else { redirect('index.php', $lang->contact_success_message, '', true); }
|
} else {
| } else {
|
Zeile 252 | Zeile 267 |
---|
}
// Generate CAPTCHA?
|
}
// Generate CAPTCHA?
|
if($mybb->settings['captchaimage'])
| $captcha = '';
if($mybb->settings['captchaimage'] && !$mybb->user['uid'])
|
{ $post_captcha = new captcha(true, "post_captcha");
| { $post_captcha = new captcha(true, "post_captcha");
|
Zeile 260 | Zeile 277 |
---|
{ $captcha = $post_captcha->html; }
|
{ $captcha = $post_captcha->html; }
|
| }
$contact_subject = htmlspecialchars_uni($mybb->input['subject']); $contact_message = htmlspecialchars_uni($mybb->input['message']);
if($mybb->user['uid'] && !$mybb->get_input('email')) { $user_email = htmlspecialchars_uni($mybb->user['email']);
|
} else {
|
} else {
|
$captcha = '';
| $user_email = htmlspecialchars_uni($mybb->get_input('email'));
|
}
|
}
|
$mybb->input['subject'] = htmlspecialchars_uni($mybb->input['subject']); $mybb->input['message'] = htmlspecialchars_uni($mybb->input['message']);
if($mybb->user['uid'] && !$mybb->get_input('email'))
| if(isset($mybb->input['from'])) { $redirect_url = htmlspecialchars_uni($mybb->get_input('from')); } else if(isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], $mybb->settings['bburl']) !== false && strpos($_SERVER['HTTP_REFERER'], "contact.php") === false)
|
{
|
{
|
$mybb->input['email'] = htmlspecialchars_uni($mybb->user['email']);
| $redirect_url = htmlentities($_SERVER['HTTP_REFERER']);
|
} else {
|
} else {
|
$mybb->input['email'] = htmlspecialchars_uni($mybb->get_input('email'));
| $redirect_url = '';
|
}
$plugins->run_hooks('contact_end');
| }
$plugins->run_hooks('contact_end');
|