Zeile 14 | Zeile 14 |
---|
define("ALLOWABLE_PAGE", "register,do_register,login,do_login,logout,lostpw,do_lostpw,activate,resendactivation,do_resendactivation,resetpassword,viewnotes");
$nosession['avatar'] = 1;
|
define("ALLOWABLE_PAGE", "register,do_register,login,do_login,logout,lostpw,do_lostpw,activate,resendactivation,do_resendactivation,resetpassword,viewnotes");
$nosession['avatar'] = 1;
|
$templatelist = "member_register,member_register_hiddencaptcha,member_coppa_form,member_register_coppa,member_register_agreement_coppa,member_register_agreement,usercp_options_tppselect,usercp_options_pppselect,member_register_referrer,member_register_customfield,member_register_requiredfields"; $templatelist .= ",member_resetpassword,member_loggedin_notice,member_profile_away,member_emailuser,member_register_regimage,member_register_regimage_recaptcha,member_register_regimage_ayah,post_captcha_hidden,post_captcha,post_captcha_recaptcha,post_captcha_ayah,member_profile_addremove,member_emailuser_guest"; $templatelist .= ",member_profile_email,member_profile_offline,member_profile_reputation,member_profile_warn,member_profile_warninglevel,member_profile_customfields_field,member_profile_customfields,member_profile_adminoptions,member_profile,member_login,member_profile_online,member_viewnotes"; $templatelist .= ",member_profile_signature,member_profile_avatar,member_profile_groupimage,member_profile_referrals,member_profile_website,member_profile_reputation_vote,member_activate,member_resendactivation,member_lostpw,member_register_additionalfields,member_register_password,usercp_options_pppselect_option"; $templatelist .= ",member_profile_modoptions_manageuser,member_profile_modoptions_editprofile,member_profile_modoptions_banuser,member_profile_modoptions_viewnotes,member_profile_modoptions,member_profile_modoptions_editnotes,member_profile_modoptions_purgespammer,postbit_reputation_formatted,postbit_warninglevel_formatted"; $templatelist .= ",usercp_profile_profilefields_select_option,usercp_profile_profilefields_multiselect,usercp_profile_profilefields_select,usercp_profile_profilefields_textarea,usercp_profile_profilefields_radio,usercp_profile_profilefields_checkbox,usercp_profile_profilefields_text,usercp_options_tppselect_option"; $templatelist .= ",member_register_question,member_register_question_refresh,usercp_options_timezone,usercp_options_timezone_option,usercp_options_language_option,member_register_language,member_profile_userstar,member_profile_customfields_field_multi_item,member_profile_customfields_field_multi,member_register_day"; $templatelist .= ",member_profile_contact_fields_aim,member_profile_contact_fields_google,member_profile_contact_fields_icq,member_profile_contact_fields_skype,member_profile_contact_fields_yahoo,member_profile_pm,member_profile_contact_details,member_emailuser_hidden";
| $templatelist = "member_register,member_register_hiddencaptcha,member_register_coppa,member_register_agreement_coppa,member_register_agreement,member_register_customfield,member_register_requiredfields,member_profile_findthreads"; $templatelist .= ",member_loggedin_notice,member_profile_away,member_register_regimage,member_register_regimage_recaptcha_invisible,member_register_regimage_nocaptcha,post_captcha_hcaptcha_invisible,post_captcha_hcaptcha,post_captcha_hidden,post_captcha,member_register_referrer"; $templatelist .= ",member_profile_email,member_profile_offline,member_profile_reputation,member_profile_warn,member_profile_warninglevel,member_profile_warninglevel_link,member_profile_customfields_field,member_profile_customfields,member_profile_adminoptions_manageban,member_profile_adminoptions,member_profile"; $templatelist .= ",member_profile_signature,member_profile_avatar,member_profile_groupimage,member_referrals_link,member_profile_referrals,member_profile_website,member_profile_reputation_vote,member_activate,member_lostpw,member_register_additionalfields"; $templatelist .= ",member_profile_modoptions_manageuser,member_profile_modoptions_editprofile,member_profile_modoptions_banuser,member_profile_modoptions_viewnotes,member_profile_modoptions_editnotes,member_profile_modoptions_purgespammer"; $templatelist .= ",usercp_profile_profilefields_select_option,usercp_profile_profilefields_multiselect,usercp_profile_profilefields_select,usercp_profile_profilefields_textarea,usercp_profile_profilefields_radio,member_viewnotes"; $templatelist .= ",member_register_question,member_register_question_refresh,usercp_options_timezone,usercp_options_timezone_option,usercp_options_language_option,member_profile_customfields_field_multi_item,member_profile_customfields_field_multi"; $templatelist .= ",member_profile_contact_fields_google,member_profile_contact_fields_icq,member_profile_contact_fields_skype,member_profile_pm,member_profile_contact_details,member_profile_modoptions_manageban"; $templatelist .= ",member_profile_banned_remaining,member_profile_addremove,member_emailuser_guest,member_register_day,usercp_options_tppselect_option,postbit_warninglevel_formatted,member_profile_userstar,member_profile_findposts"; $templatelist .= ",usercp_options_tppselect,usercp_options_pppselect,member_resetpassword,member_login,member_profile_online,usercp_options_pppselect_option,postbit_reputation_formatted,member_emailuser,usercp_profile_profilefields_text"; $templatelist .= ",member_profile_modoptions_ipaddress,member_profile_modoptions,member_profile_banned,member_register_language,member_resendactivation,usercp_profile_profilefields_checkbox,member_register_password,member_coppa_form";
|
require_once "./global.php"; require_once MYBB_ROOT."inc/functions_post.php"; require_once MYBB_ROOT."inc/functions_user.php"; require_once MYBB_ROOT."inc/class_parser.php";
|
require_once "./global.php"; require_once MYBB_ROOT."inc/functions_post.php"; require_once MYBB_ROOT."inc/functions_user.php"; require_once MYBB_ROOT."inc/class_parser.php";
|
| require_once MYBB_ROOT."inc/functions_modcp.php";
|
$parser = new postParser;
// Load global language phrases
| $parser = new postParser;
// Load global language phrases
|
Zeile 85 | Zeile 90 |
---|
} }
|
} }
|
| $fromreg = 0;
|
if($mybb->input['action'] == "do_register" && $mybb->request_method == "post") { $plugins->run_hooks("member_do_register_start");
| if($mybb->input['action'] == "do_register" && $mybb->request_method == "post") { $plugins->run_hooks("member_do_register_start");
|
Zeile 96 | Zeile 102 |
---|
if(isset($mybb->input['regtime'])) { // Check how long it took for this person to register
|
if(isset($mybb->input['regtime'])) { // Check how long it took for this person to register
|
$timetook = TIME_NOW - $mybb->get_input('regtime', 1);
| $timetook = TIME_NOW - $mybb->get_input('regtime', MyBB::INPUT_INT);
|
// See if they registered faster than normal if($timetook < $mybb->settings['regtime'])
| // See if they registered faster than normal if($timetook < $mybb->settings['regtime'])
|
Zeile 104 | Zeile 110 |
---|
// This user registered pretty quickly, bot detected! $lang->error_spam_deny_time = $lang->sprintf($lang->error_spam_deny_time, $mybb->settings['regtime'], $timetook); error($lang->error_spam_deny_time);
|
// This user registered pretty quickly, bot detected! $lang->error_spam_deny_time = $lang->sprintf($lang->error_spam_deny_time, $mybb->settings['regtime'], $timetook); error($lang->error_spam_deny_time);
|
} }
| } }
|
else
|
else
|
{ error($lang->error_spam_deny); }
| { error($lang->error_spam_deny); }
|
}
// If we have hidden CATPCHA enabled and it's filled, deny registration if($mybb->settings['hiddencaptchaimage'])
|
}
// If we have hidden CATPCHA enabled and it's filled, deny registration if($mybb->settings['hiddencaptchaimage'])
|
{
| {
|
$string = $mybb->settings['hiddencaptchaimagefield'];
if(!empty($mybb->input[$string]))
| $string = $mybb->settings['hiddencaptchaimagefield'];
if(!empty($mybb->input[$string]))
|
Zeile 124 | Zeile 130 |
---|
}
if($mybb->settings['regtype'] == "randompass")
|
}
if($mybb->settings['regtype'] == "randompass")
|
{ $mybb->input['password'] = random_str();
| {
$password_length = (int)$mybb->settings['minpasswordlength']; if($password_length < 8) { $password_length = min(8, (int)$mybb->settings['maxpasswordlength']); }
$mybb->input['password'] = random_str($password_length, $mybb->settings['requirecomplexpasswords']);
|
$mybb->input['password2'] = $mybb->input['password']; }
|
$mybb->input['password2'] = $mybb->input['password']; }
|
if($mybb->settings['regtype'] == "verify" || $mybb->settings['regtype'] == "admin" || $mybb->settings['regtype'] == "both" || $mybb->get_input('coppa', 1) == 1)
| if($mybb->settings['regtype'] == "verify" || $mybb->settings['regtype'] == "admin" || $mybb->settings['regtype'] == "both" || $mybb->get_input('coppa', MyBB::INPUT_INT) == 1)
|
{ $usergroup = 5; }
| { $usergroup = 5; }
|
Zeile 146 | Zeile 159 |
---|
if(isset($mybb->cookies['coppauser'])) { $coppauser = (int)$mybb->cookies['coppauser'];
|
if(isset($mybb->cookies['coppauser'])) { $coppauser = (int)$mybb->cookies['coppauser'];
|
}
| }
|
// Set the data for the new user. $user = array(
| // Set the data for the new user. $user = array(
|
Zeile 159 | Zeile 172 |
---|
"referrer" => $mybb->get_input('referrername'), "timezone" => $mybb->get_input('timezoneoffset'), "language" => $mybb->get_input('language'),
|
"referrer" => $mybb->get_input('referrername'), "timezone" => $mybb->get_input('timezoneoffset'), "language" => $mybb->get_input('language'),
|
"profile_fields" => $mybb->get_input('profile_fields', 2),
| "profile_fields" => $mybb->get_input('profile_fields', MyBB::INPUT_ARRAY),
|
"regip" => $session->packedip, "coppa_user" => $coppauser, "regcheck1" => $mybb->get_input('regcheck1'), "regcheck2" => $mybb->get_input('regcheck2'), "registration" => true
|
"regip" => $session->packedip, "coppa_user" => $coppauser, "regcheck1" => $mybb->get_input('regcheck1'), "regcheck2" => $mybb->get_input('regcheck2'), "registration" => true
|
);
| );
|
// Do we have a saved COPPA DOB? if(isset($mybb->cookies['coppadob']))
| // Do we have a saved COPPA DOB? if(isset($mybb->cookies['coppadob']))
|
Zeile 179 | Zeile 192 |
---|
}
$user['options'] = array(
|
}
$user['options'] = array(
|
"allownotices" => $mybb->get_input('allownotices', 1), "hideemail" => $mybb->get_input('hideemail', 1), "subscriptionmethod" => $mybb->get_input('subscriptionmethod', 1), "receivepms" => $mybb->get_input('receivepms', 1), "pmnotice" => $mybb->get_input('pmnotice', 1), "pmnotify" => $mybb->get_input('pmnotify', 1), "invisible" => $mybb->get_input('invisible', 1),
| "allownotices" => $mybb->get_input('allownotices', MyBB::INPUT_INT), "hideemail" => $mybb->get_input('hideemail', MyBB::INPUT_INT), "subscriptionmethod" => $mybb->get_input('subscriptionmethod', MyBB::INPUT_INT), "receivepms" => $mybb->get_input('receivepms', MyBB::INPUT_INT), "pmnotice" => $mybb->get_input('pmnotice', MyBB::INPUT_INT), "pmnotify" => $mybb->get_input('pmnotify', MyBB::INPUT_INT), "invisible" => $mybb->get_input('invisible', MyBB::INPUT_INT),
|
"dstcorrection" => $mybb->get_input('dstcorrection') );
$userhandler->set_data($user);
|
"dstcorrection" => $mybb->get_input('dstcorrection') );
$userhandler->set_data($user);
|
$errors = "";
| $errors = array();
|
if(!$userhandler->validate_user()) {
| if(!$userhandler->validate_user()) {
|
Zeile 214 | Zeile 227 |
---|
try { if($stop_forum_spam_checker->is_user_a_spammer($user['username'], $user['email'], get_ip())) {
|
try { if($stop_forum_spam_checker->is_user_a_spammer($user['username'], $user['email'], get_ip())) {
|
error($lang->error_stop_forum_spam_spammer);
| error($lang->sprintf($lang->error_stop_forum_spam_spammer, $stop_forum_spam_checker->getErrorText(array( 'stopforumspam_check_usernames', 'stopforumspam_check_emails', 'stopforumspam_check_ips' ))));
|
} } catch (Exception $e)
| } } catch (Exception $e)
|
Zeile 244 | Zeile 262 |
---|
// If we have a security question, check to see if answer is correct if($mybb->settings['securityquestion']) {
|
// If we have a security question, check to see if answer is correct if($mybb->settings['securityquestion']) {
|
$question_id = $mybb->get_input('question_id');
| $question_id = $db->escape_string($mybb->get_input('question_id'));
|
$answer = $db->escape_string($mybb->get_input('answer'));
$query = $db->query("
| $answer = $db->escape_string($mybb->get_input('answer'));
$query = $db->query("
|
Zeile 284 | Zeile 302 |
---|
$db->update_query("questions", $update_question, "qid='{$question['qid']}'"); }
|
$db->update_query("questions", $update_question, "qid='{$question['qid']}'"); }
|
$db->delete_query("questionsessions", "sid='{$sid}'");
| $db->delete_query("questionsessions", "sid='{$question_id}'");
|
} }
|
} }
|
if(is_array($errors))
| $regerrors = ''; if(!empty($errors))
|
{ $username = htmlspecialchars_uni($mybb->get_input('username')); $email = htmlspecialchars_uni($mybb->get_input('email'));
| { $username = htmlspecialchars_uni($mybb->get_input('username')); $email = htmlspecialchars_uni($mybb->get_input('email'));
|
Zeile 298 | Zeile 317 |
---|
$allownoticescheck = $hideemailcheck = $no_auto_subscribe_selected = $instant_email_subscribe_selected = $instant_pm_subscribe_selected = $no_subscribe_selected = ''; $receivepmscheck = $pmnoticecheck = $pmnotifycheck = $invisiblecheck = $dst_auto_selected = $dst_enabled_selected = $dst_disabled_selected = '';
|
$allownoticescheck = $hideemailcheck = $no_auto_subscribe_selected = $instant_email_subscribe_selected = $instant_pm_subscribe_selected = $no_subscribe_selected = ''; $receivepmscheck = $pmnoticecheck = $pmnotifycheck = $invisiblecheck = $dst_auto_selected = $dst_enabled_selected = $dst_disabled_selected = '';
|
if($mybb->get_input('allownotices', 1) == 1)
| if($mybb->get_input('allownotices', MyBB::INPUT_INT) == 1)
|
{ $allownoticescheck = "checked=\"checked\""; }
|
{ $allownoticescheck = "checked=\"checked\""; }
|
if($mybb->get_input('hideemail', 1) == 1) { $hideemailcheck = "checked=\"checked\""; }
if($mybb->get_input('subscriptionmethod', 1) == 1)
| if($mybb->get_input('hideemail', MyBB::INPUT_INT) == 1) { $hideemailcheck = "checked=\"checked\""; }
if($mybb->get_input('subscriptionmethod', MyBB::INPUT_INT) == 1)
|
{ $no_subscribe_selected = "selected=\"selected\""; }
|
{ $no_subscribe_selected = "selected=\"selected\""; }
|
else if($mybb->get_input('subscriptionmethod', 1) == 2)
| else if($mybb->get_input('subscriptionmethod', MyBB::INPUT_INT) == 2)
|
{ $instant_email_subscribe_selected = "selected=\"selected\""; }
|
{ $instant_email_subscribe_selected = "selected=\"selected\""; }
|
else if($mybb->get_input('subscriptionmethod', 1) == 3)
| else if($mybb->get_input('subscriptionmethod', MyBB::INPUT_INT) == 3)
|
{ $instant_pm_subscribe_selected = "selected=\"selected\"";
|
{ $instant_pm_subscribe_selected = "selected=\"selected\"";
|
}
| }
|
else { $no_auto_subscribe_selected = "selected=\"selected\""; }
|
else { $no_auto_subscribe_selected = "selected=\"selected\""; }
|
if($mybb->get_input('receivepms', 1) == 1) { $receivepmscheck = "checked=\"checked\""; }
if($mybb->get_input('pmnotice', 1) == 1)
| if($mybb->get_input('receivepms', MyBB::INPUT_INT) == 1) { $receivepmscheck = "checked=\"checked\""; }
if($mybb->get_input('pmnotice', MyBB::INPUT_INT) == 1)
|
{ $pmnoticecheck = " checked=\"checked\""; }
|
{ $pmnoticecheck = " checked=\"checked\""; }
|
if($mybb->get_input('pmnotify', 1) == 1)
| if($mybb->get_input('pmnotify', MyBB::INPUT_INT) == 1)
|
{ $pmnotifycheck = "checked=\"checked\""; }
|
{ $pmnotifycheck = "checked=\"checked\""; }
|
if($mybb->get_input('invisible', 1) == 1)
| if($mybb->get_input('invisible', MyBB::INPUT_INT) == 1)
|
{ $invisiblecheck = "checked=\"checked\"";
|
{ $invisiblecheck = "checked=\"checked\"";
|
}
| }
|
|
|
if($mybb->get_input('dstcorrection', 1) == 2) {
| if($mybb->get_input('dstcorrection', MyBB::INPUT_INT) == 2) {
|
$dst_auto_selected = "selected=\"selected\"";
|
$dst_auto_selected = "selected=\"selected\"";
|
} else if($mybb->get_input('dstcorrection', 1) == 1) {
| } else if($mybb->get_input('dstcorrection', MyBB::INPUT_INT) == 1) {
|
$dst_enabled_selected = "selected=\"selected\""; } else
| $dst_enabled_selected = "selected=\"selected\""; } else
|
Zeile 370 | Zeile 389 |
---|
if($mybb->settings['captchaimage']) { $captcha->invalidate_captcha();
|
if($mybb->settings['captchaimage']) { $captcha->invalidate_captcha();
|
}
| }
|
if($mybb->settings['regtype'] != "randompass" && !isset($mybb->cookies['coppauser']))
|
if($mybb->settings['regtype'] != "randompass" && !isset($mybb->cookies['coppauser']))
|
{
| {
|
// Log them in
|
// Log them in
|
my_setcookie("mybbuser", $user_info['uid']."_".$user_info['loginkey'], null, true);
| my_setcookie("mybbuser", $user_info['uid']."_".$user_info['loginkey'], null, true, "lax");
|
}
if(isset($mybb->cookies['coppauser'])) {
|
}
if(isset($mybb->cookies['coppauser'])) {
|
$lang->redirect_registered_coppa_activate = $lang->sprintf($lang->redirect_registered_coppa_activate, $mybb->settings['bbname'], $user_info['username']);
| $lang->redirect_registered_coppa_activate = $lang->sprintf($lang->redirect_registered_coppa_activate, $mybb->settings['bbname'], htmlspecialchars_uni($user_info['username']));
|
my_unsetcookie("coppauser"); my_unsetcookie("coppadob"); $plugins->run_hooks("member_do_register_end");
| my_unsetcookie("coppauser"); my_unsetcookie("coppadob"); $plugins->run_hooks("member_do_register_end");
|
Zeile 395 | Zeile 414 |
---|
"dateline" => TIME_NOW, "code" => $activationcode, "type" => "r"
|
"dateline" => TIME_NOW, "code" => $activationcode, "type" => "r"
|
); $db->insert_query("awaitingactivation", $activationarray); $emailsubject = $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']); switch($mybb->settings['username_method']) { case 0: $emailmessage = $lang->sprintf($lang->email_activateaccount, $user_info['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user_info['uid'], $activationcode); break; case 1: $emailmessage = $lang->sprintf($lang->email_activateaccount1, $user_info['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user_info['uid'], $activationcode); break; case 2: $emailmessage = $lang->sprintf($lang->email_activateaccount2, $user_info['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user_info['uid'], $activationcode); break; default: $emailmessage = $lang->sprintf($lang->email_activateaccount, $user_info['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user_info['uid'], $activationcode); break; } my_mail($user_info['email'], $emailsubject, $emailmessage);
$lang->redirect_registered_activation = $lang->sprintf($lang->redirect_registered_activation, $mybb->settings['bbname'], $user_info['username']);
| ); $db->insert_query("awaitingactivation", $activationarray); $emailsubject = $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']); switch($mybb->settings['username_method']) { case 0: $emailmessage = $lang->sprintf($lang->email_activateaccount, $user_info['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user_info['uid'], $activationcode); break; case 1: $emailmessage = $lang->sprintf($lang->email_activateaccount1, $user_info['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user_info['uid'], $activationcode); break; case 2: $emailmessage = $lang->sprintf($lang->email_activateaccount2, $user_info['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user_info['uid'], $activationcode); break; default: $emailmessage = $lang->sprintf($lang->email_activateaccount, $user_info['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user_info['uid'], $activationcode); break; } my_mail($user_info['email'], $emailsubject, $emailmessage);
$lang->redirect_registered_activation = $lang->sprintf($lang->redirect_registered_activation, $mybb->settings['bbname'], htmlspecialchars_uni($user_info['username']));
|
$plugins->run_hooks("member_do_register_end");
error($lang->redirect_registered_activation);
|
$plugins->run_hooks("member_do_register_end");
error($lang->redirect_registered_activation);
|
}
| }
|
else if($mybb->settings['regtype'] == "randompass") { $emailsubject = $lang->sprintf($lang->emailsubject_randompassword, $mybb->settings['bbname']); switch($mybb->settings['username_method']) { case 0:
|
else if($mybb->settings['regtype'] == "randompass") { $emailsubject = $lang->sprintf($lang->emailsubject_randompassword, $mybb->settings['bbname']); switch($mybb->settings['username_method']) { case 0:
|
$emailmessage = $lang->sprintf($lang->email_randompassword, $user['username'], $mybb->settings['bbname'], $user_info['username'], $user_info['password']); break;
| $emailmessage = $lang->sprintf($lang->email_randompassword, $user['username'], $mybb->settings['bbname'], $user_info['username'], $mybb->get_input('password')); break;
|
case 1:
|
case 1:
|
$emailmessage = $lang->sprintf($lang->email_randompassword1, $user['username'], $mybb->settings['bbname'], $user_info['username'], $user_info['password']); break;
| $emailmessage = $lang->sprintf($lang->email_randompassword1, $user['username'], $mybb->settings['bbname'], $user_info['username'], $mybb->get_input('password')); break;
|
case 2:
|
case 2:
|
$emailmessage = $lang->sprintf($lang->email_randompassword2, $user['username'], $mybb->settings['bbname'], $user_info['username'], $user_info['password']); break;
| $emailmessage = $lang->sprintf($lang->email_randompassword2, $user['username'], $mybb->settings['bbname'], $user_info['username'], $mybb->get_input('password')); break;
|
default:
|
default:
|
$emailmessage = $lang->sprintf($lang->email_randompassword, $user['username'], $mybb->settings['bbname'], $user_info['username'], $user_info['password']);
| $emailmessage = $lang->sprintf($lang->email_randompassword, $user['username'], $mybb->settings['bbname'], $user_info['username'], $mybb->get_input('password'));
|
break;
|
break;
|
}
| }
|
my_mail($user_info['email'], $emailsubject, $emailmessage);
$plugins->run_hooks("member_do_register_end");
|
my_mail($user_info['email'], $emailsubject, $emailmessage);
$plugins->run_hooks("member_do_register_end");
|
error($lang->redirect_registered_passwordsent); } else if($mybb->settings['regtype'] == "admin") { $groups = $cache->read("usergroups"); $admingroups = array(); if(!empty($groups)) // Shouldn't be... { foreach($groups as $group) { if($group['cancp'] == 1) { $admingroups[] = (int)$group['gid']; } } }
if(!empty($admingroups)) { $sqlwhere = 'usergroup IN ('.implode(',', $admingroups).')'; foreach($admingroups as $admingroup) { switch($db->type) { case 'pgsql': case 'sqlite': $sqlwhere .= " OR ','||additionalgroups||',' LIKE '%,{$admingroup},%'"; break; default: $sqlwhere .= " OR CONCAT(',',additionalgroups,',') LIKE '%,{$admingroup},%'"; break; } } $q = $db->simple_select('users', 'uid,username,email,language', $sqlwhere); while($recipient = $db->fetch_array($q)) { // First we check if the user's a super admin: if yes, we don't care about permissions $is_super_admin = is_super_admin($recipient['uid']); if(!$is_super_admin) { // Include admin functions if(!file_exists(MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions.php")) { continue; }
require_once MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions.php";
// Verify if we have permissions to access user-users require_once MYBB_ROOT.$mybb->config['admin_dir']."/modules/user/module_meta.php"; if(function_exists("user_admin_permissions")) { // Get admin permissions $adminperms = get_admin_permissions($recipient['uid']);
$permissions = user_admin_permissions(); if(array_key_exists('users', $permissions['permissions']) && $adminperms['user']['users'] != 1) { continue; // No permissions } } }
// Load language if($recipient['language'] != $mybb->user['language'] && $lang->language_exists($recipient['language'])) { $reset_lang = true; $lang->set_language($recipient['language']); $lang->load("member"); }
$subject = $lang->sprintf($lang->newregistration_subject, $mybb->settings['bbname']); $message = $lang->sprintf($lang->newregistration_message, $recipient['username'], $mybb->settings['bbname'], $user['username']); my_mail($recipient['email'], $subject, $message); }
// Reset language if(isset($reset_lang)) { $lang->set_language($mybb->user['language']); $lang->load("member"); } }
$lang->redirect_registered_admin_activate = $lang->sprintf($lang->redirect_registered_admin_activate, $mybb->settings['bbname'], $user_info['username']);
$plugins->run_hooks("member_do_register_end");
error($lang->redirect_registered_admin_activate);
| error($lang->redirect_registered_passwordsent);
|
}
|
}
|
else if($mybb->settings['regtype'] == "both")
| else if($mybb->settings['regtype'] == "admin")
|
{ $groups = $cache->read("usergroups"); $admingroups = array();
| { $groups = $cache->read("usergroups"); $admingroups = array();
|
Zeile 595 | Zeile 526 |
---|
}
// Load language
|
}
// Load language
|
if($recipient['language'] != $mybb->user['language'] && $lang->language_exists($recipient['language']))
| if($recipient['language'] != $lang->language && $lang->language_exists($recipient['language']))
|
{ $reset_lang = true; $lang->set_language($recipient['language']);
| { $reset_lang = true; $lang->set_language($recipient['language']);
|
Zeile 610 | Zeile 541 |
---|
// Reset language if(isset($reset_lang)) {
|
// Reset language if(isset($reset_lang)) {
|
$lang->set_language($mybb->user['language']);
| $lang->set_language($mybb->settings['bblanguage']); $lang->load("member"); } }
$lang->redirect_registered_admin_activate = $lang->sprintf($lang->redirect_registered_admin_activate, $mybb->settings['bbname'], htmlspecialchars_uni($user_info['username']));
$plugins->run_hooks("member_do_register_end");
error($lang->redirect_registered_admin_activate); } else if($mybb->settings['regtype'] == "both") { $groups = $cache->read("usergroups"); $admingroups = array(); if(!empty($groups)) // Shouldn't be... { foreach($groups as $group) { if($group['cancp'] == 1) { $admingroups[] = (int)$group['gid']; } } }
if(!empty($admingroups)) { $sqlwhere = 'usergroup IN ('.implode(',', $admingroups).')'; foreach($admingroups as $admingroup) { switch($db->type) { case 'pgsql': case 'sqlite': $sqlwhere .= " OR ','||additionalgroups||',' LIKE '%,{$admingroup},%'"; break; default: $sqlwhere .= " OR CONCAT(',',additionalgroups,',') LIKE '%,{$admingroup},%'"; break; } } $q = $db->simple_select('users', 'uid,username,email,language', $sqlwhere); while($recipient = $db->fetch_array($q)) { // First we check if the user's a super admin: if yes, we don't care about permissions $is_super_admin = is_super_admin($recipient['uid']); if(!$is_super_admin) { // Include admin functions if(!file_exists(MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions.php")) { continue; }
require_once MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions.php";
// Verify if we have permissions to access user-users require_once MYBB_ROOT.$mybb->config['admin_dir']."/modules/user/module_meta.php"; // Get admin permissions $adminperms = get_admin_permissions($recipient['uid']); if(empty($adminperms['user']['users']) || $adminperms['user']['users'] != 1) { continue; // No permissions } }
// Load language if($recipient['language'] != $lang->language && $lang->language_exists($recipient['language'])) { $reset_lang = true; $lang->set_language($recipient['language']); $lang->load("member"); }
$subject = $lang->sprintf($lang->newregistration_subject, $mybb->settings['bbname']); $message = $lang->sprintf($lang->newregistration_message, $recipient['username'], $mybb->settings['bbname'], $user['username']); my_mail($recipient['email'], $subject, $message); }
// Reset language if(isset($reset_lang)) { $lang->set_language($mybb->settings['bblanguage']);
|
$lang->load("member"); } }
|
$lang->load("member"); } }
|
|
|
$activationcode = random_str(); $activationarray = array( "uid" => $user_info['uid'],
| $activationcode = random_str(); $activationarray = array( "uid" => $user_info['uid'],
|
Zeile 641 | Zeile 655 |
---|
} my_mail($user_info['email'], $emailsubject, $emailmessage);
|
} my_mail($user_info['email'], $emailsubject, $emailmessage);
|
$lang->redirect_registered_activation = $lang->sprintf($lang->redirect_registered_activation, $mybb->settings['bbname'], $user_info['username']);
| $lang->redirect_registered_activation = $lang->sprintf($lang->redirect_registered_activation, $mybb->settings['bbname'], htmlspecialchars_uni($user_info['username']));
|
$plugins->run_hooks("member_do_register_end");
| $plugins->run_hooks("member_do_register_end");
|
Zeile 649 | Zeile 663 |
---|
} else {
|
} else {
|
$lang->redirect_registered = $lang->sprintf($lang->redirect_registered, $mybb->settings['bbname'], $user_info['username']);
| $lang->redirect_registered = $lang->sprintf($lang->redirect_registered, $mybb->settings['bbname'], htmlspecialchars_uni($user_info['username']));
|
$plugins->run_hooks("member_do_register_end");
| $plugins->run_hooks("member_do_register_end");
|
Zeile 663 | Zeile 677 |
---|
if(!$mybb->settings['faxno']) { $mybb->settings['faxno'] = " ";
|
if(!$mybb->settings['faxno']) { $mybb->settings['faxno'] = " ";
|
}
| }
|
$plugins->run_hooks("member_coppa_form");
| $plugins->run_hooks("member_coppa_form");
|
Zeile 678 | Zeile 692 |
---|
{ $bdaysel = $bday2blank = ''; }
|
{ $bdaysel = $bday2blank = ''; }
|
$mybb->input['bday1'] = $mybb->get_input('bday1', 1);
| $mybb->input['bday1'] = $mybb->get_input('bday1', MyBB::INPUT_INT);
|
for($day = 1; $day <= 31; ++$day) { $selected = '';
| for($day = 1; $day <= 31; ++$day) { $selected = '';
|
Zeile 688 | Zeile 702 |
---|
}
eval("\$bdaysel .= \"".$templates->get("member_register_day")."\";");
|
}
eval("\$bdaysel .= \"".$templates->get("member_register_day")."\";");
|
}
$mybb->input['bday2'] = $mybb->get_input('bday2', 1);
| }
$mybb->input['bday2'] = $mybb->get_input('bday2', MyBB::INPUT_INT);
|
$bdaymonthsel = array(); foreach(range(1, 12) as $number) { $bdaymonthsel[$number] = '';
|
$bdaymonthsel = array(); foreach(range(1, 12) as $number) { $bdaymonthsel[$number] = '';
|
}
| }
|
$bdaymonthsel[$mybb->input['bday2']] = "selected=\"selected\"";
|
$bdaymonthsel[$mybb->input['bday2']] = "selected=\"selected\"";
|
$mybb->input['bday3'] = $mybb->get_input('bday3', 1);
if($mybb->input['bday3'] == 0)
| $birthday_year = $mybb->get_input('bday3', MyBB::INPUT_INT);
if($birthday_year == 0)
|
{
|
{
|
$mybb->input['bday3'] = '';
| $birthday_year = '';
|
}
|
}
|
|
|
// Is COPPA checking enabled? if($mybb->settings['coppa'] != "disabled" && !isset($mybb->input['step'])) { // Just selected DOB, we check
|
// Is COPPA checking enabled? if($mybb->settings['coppa'] != "disabled" && !isset($mybb->input['step'])) { // Just selected DOB, we check
|
if($mybb->input['bday1'] && $mybb->input['bday2'] && $mybb->input['bday3']) { my_unsetcookie("coppauser");
$months = get_bdays($mybb->input['bday3']); if($mybb->input['bday2'] < 1 || $mybb->input['bday2'] > 12 || $mybb->input['bday3'] < (date("Y")-100) || $mybb->input['bday3'] > date("Y") || $mybb->input['bday1'] > $months[$mybb->input['bday2']-1])
| if($mybb->input['bday1'] && $mybb->input['bday2'] && $birthday_year) { my_unsetcookie("coppauser");
$months = get_bdays($birthday_year); if($mybb->input['bday2'] < 1 || $mybb->input['bday2'] > 12 || $birthday_year < (date("Y")-100) || $birthday_year > date("Y") || $mybb->input['bday1'] > $months[$mybb->input['bday2']-1])
|
{ error($lang->error_invalid_birthday); }
|
{ error($lang->error_invalid_birthday); }
|
$bdaytime = @mktime(0, 0, 0, $mybb->input['bday2'], $mybb->input['bday1'], $mybb->input['bday3']);
| $bdaytime = @mktime(0, 0, 0, $mybb->input['bday2'], $mybb->input['bday1'], $birthday_year);
|
// Store DOB in cookie so we can save it with the registration
|
// Store DOB in cookie so we can save it with the registration
|
my_setcookie("coppadob", "{$mybb->input['bday1']}-{$mybb->input['bday2']}-{$mybb->input['bday3']}", -1);
| my_setcookie("coppadob", "{$mybb->input['bday1']}-{$mybb->input['bday2']}-{$birthday_year}", -1);
|
// User is <= 13, we mark as a coppa user if($bdaytime >= mktime(0, 0, 0, my_date('n'), my_date('d'), my_date('Y')-13))
| // User is <= 13, we mark as a coppa user if($bdaytime >= mktime(0, 0, 0, my_date('n'), my_date('d'), my_date('Y')-13))
|
Zeile 738 | Zeile 752 |
---|
my_unsetcookie("coppauser");
|
my_unsetcookie("coppauser");
|
| $coppa_desc = $mybb->settings['coppa'] == 'deny' ? $lang->coppa_desc_for_deny : $lang->coppa_desc;
|
eval("\$coppa = \"".$templates->get("member_register_coppa")."\";"); output_page($coppa); exit;
| eval("\$coppa = \"".$templates->get("member_register_coppa")."\";"); output_page($coppa); exit;
|
Zeile 767 | Zeile 782 |
---|
{ $plugins->run_hooks("member_register_start");
|
{ $plugins->run_hooks("member_register_start");
|
$validator_extra = '';
| // JS validator extra if($mybb->settings['maxnamelength'] > 0 && $mybb->settings['minnamelength'] > 0) { $lang->js_validator_username_length = $lang->sprintf($lang->js_validator_username_length, $mybb->settings['minnamelength'], $mybb->settings['maxnamelength']); }
|
if(isset($mybb->input['timezoneoffset'])) { $timezoneoffset = $mybb->get_input('timezoneoffset'); } else
|
if(isset($mybb->input['timezoneoffset'])) { $timezoneoffset = $mybb->get_input('timezoneoffset'); } else
|
{
| {
|
$timezoneoffset = $mybb->settings['timezoneoffset']; } $tzselect = build_timezone_select("timezoneoffset", $timezoneoffset, true);
|
$timezoneoffset = $mybb->settings['timezoneoffset']; } $tzselect = build_timezone_select("timezoneoffset", $timezoneoffset, true);
|
|
|
$stylelist = build_theme_select("style");
if($mybb->settings['usertppoptions'])
| $stylelist = build_theme_select("style");
if($mybb->settings['usertppoptions'])
|
Zeile 795 | Zeile 814 |
---|
} } eval("\$tppselect = \"".$templates->get("usercp_options_tppselect")."\";");
|
} } eval("\$tppselect = \"".$templates->get("usercp_options_tppselect")."\";");
|
}
| }
|
if($mybb->settings['userpppoptions']) { $pppoptions = '';
| if($mybb->settings['userpppoptions']) { $pppoptions = '';
|
Zeile 817 | Zeile 836 |
---|
{ $query = $db->simple_select("users", "uid,username", "uid='".(int)$mybb->cookies['mybb']['referrer']."'"); $ref = $db->fetch_array($query);
|
{ $query = $db->simple_select("users", "uid,username", "uid='".(int)$mybb->cookies['mybb']['referrer']."'"); $ref = $db->fetch_array($query);
|
| $ref['username'] = htmlspecialchars_uni($ref['username']);
|
$referrername = $ref['username']; }
|
$referrername = $ref['username']; }
|
elseif(isset($referrer))
| elseif(!empty($referrer))
|
{ $query = $db->simple_select("users", "username", "uid='".(int)$referrer['uid']."'"); $ref = $db->fetch_array($query);
|
{ $query = $db->simple_select("users", "username", "uid='".(int)$referrer['uid']."'"); $ref = $db->fetch_array($query);
|
| $ref['username'] = htmlspecialchars_uni($ref['username']);
|
$referrername = $ref['username']; } elseif(!empty($referrername))
| $referrername = $ref['username']; } elseif(!empty($referrername))
|
Zeile 851 | Zeile 872 |
---|
{ $referrer = ''; }
|
{ $referrer = ''; }
|
$mybb->input['profile_fields'] = $mybb->get_input('profile_fields', 2);
| $mybb->input['profile_fields'] = $mybb->get_input('profile_fields', MyBB::INPUT_ARRAY);
|
// Custom profile fields baby! $altbg = "trow1"; $requiredfields = $customfields = '';
|
// Custom profile fields baby! $altbg = "trow1"; $requiredfields = $customfields = '';
|
if($mybb->settings['regtype'] == "verify" || $mybb->settings['regtype'] == "admin" || $mybb->settings['regtype'] == "both" || $mybb->get_input('coppa', 1) == 1)
| if($mybb->settings['regtype'] == "verify" || $mybb->settings['regtype'] == "admin" || $mybb->settings['regtype'] == "both" || $mybb->get_input('coppa', MyBB::INPUT_INT) == 1)
|
{ $usergroup = 5; }
| { $usergroup = 5; }
|
Zeile 869 | Zeile 890 |
---|
if(is_array($pfcache)) {
|
if(is_array($pfcache)) {
|
| $jsvar_reqfields = array();
|
foreach($pfcache as $profilefield) {
|
foreach($pfcache as $profilefield) {
|
if($profilefield['required'] != 1 && $profilefield['registration'] != 1 || $profilefield['editableby'] == '' || $profilefield['editableby'] && $profilefield['editableby'] != -1 && !is_member($profilefield['editableby'], array('usergroup' => $mybb->user['usergroup'], 'additionalgroups' => $usergroup)))
| if($profilefield['required'] != 1 && $profilefield['registration'] != 1 || !is_member($profilefield['editableby'], array('usergroup' => $mybb->user['usergroup'], 'additionalgroups' => $usergroup)))
|
{ continue; }
|
{ continue; }
|
| $code = $select = $val = $options = $expoptions = $useropts = ''; $seloptions = array();
|
$profilefield['type'] = htmlspecialchars_uni($profilefield['type']);
|
$profilefield['type'] = htmlspecialchars_uni($profilefield['type']);
|
$thing = explode("\n", $profilefield['type'], "2");
| $thing = explode("\n", $profilefield['type'], 2);
|
$type = trim($thing[0]);
|
$type = trim($thing[0]);
|
$options = $thing[1];
| $options = isset($thing[1]) ? $thing[1] : null;
|
$select = ''; $field = "fid{$profilefield['fid']}";
|
$select = ''; $field = "fid{$profilefield['fid']}";
|
if($errors && isset($mybb->input['profile_fields'][$field]))
| $profilefield['description'] = htmlspecialchars_uni($profilefield['description']); $profilefield['name'] = htmlspecialchars_uni($profilefield['name']); if(!empty($errors) && isset($mybb->input['profile_fields'][$field]))
|
{ $userfield = $mybb->input['profile_fields'][$field]; }
| { $userfield = $mybb->input['profile_fields'][$field]; }
|
Zeile 891 | Zeile 917 |
---|
$userfield = ''; } if($type == "multiselect")
|
$userfield = ''; } if($type == "multiselect")
|
{ if($errors) { $useropts = $userfield; } else { $useropts = explode("\n", $userfield); } if(is_array($useropts)) { foreach($useropts as $key => $val) { $seloptions[$val] = $val; } } $expoptions = explode("\n", $options); if(is_array($expoptions)) { foreach($expoptions as $key => $val) { $val = trim($val); $val = str_replace("\n", "\\n", $val);
$sel = ""; if($val == $seloptions[$val]) { $sel = " selected=\"selected\""; }
eval("\$select .= \"".$templates->get("usercp_profile_profilefields_select_option")."\";"); } if(!$profilefield['length'])
| { if(!empty($errors)) { $useropts = $userfield; } else { $useropts = explode("\n", $userfield); } if(is_array($useropts)) { foreach($useropts as $key => $val) { $seloptions[$val] = $val; } } $expoptions = explode("\n", $options); if(is_array($expoptions)) { foreach($expoptions as $key => $val) { $val = trim($val); $val = str_replace("\n", "\\n", $val);
$sel = ""; if(isset($seloptions[$val]) && $val == $seloptions[$val]) { $sel = ' selected="selected"'; }
eval("\$select .= \"".$templates->get("usercp_profile_profilefields_select_option")."\";"); } if(!$profilefield['length'])
|
{ $profilefield['length'] = 3; }
| { $profilefield['length'] = 3; }
|
Zeile 943 | Zeile 969 |
---|
$sel = ""; if($val == $userfield) {
|
$sel = ""; if($val == $userfield) {
|
$sel = " selected=\"selected\"";
| $sel = ' selected="selected"';
|
}
eval("\$select .= \"".$templates->get("usercp_profile_profilefields_select_option")."\";");
| }
eval("\$select .= \"".$templates->get("usercp_profile_profilefields_select_option")."\";");
|
Zeile 957 | Zeile 983 |
---|
} } elseif($type == "radio")
|
} } elseif($type == "radio")
|
{ $expoptions = explode("\n", $options); if(is_array($expoptions)) { foreach($expoptions as $key => $val) { $checked = "";
| { $expoptions = explode("\n", $options); if(is_array($expoptions)) { foreach($expoptions as $key => $val) { $checked = "";
|
if($val == $userfield) {
|
if($val == $userfield) {
|
$checked = "checked=\"checked\"";
| $checked = 'checked="checked"';
|
}
eval("\$code .= \"".$templates->get("usercp_profile_profilefields_radio")."\";");
| }
eval("\$code .= \"".$templates->get("usercp_profile_profilefields_radio")."\";");
|
Zeile 975 | Zeile 1001 |
---|
} elseif($type == "checkbox") {
|
} elseif($type == "checkbox") {
|
if($errors)
| if(!empty($errors))
|
{ $useropts = $userfield; } else
|
{ $useropts = $userfield; } else
|
{
| {
|
$useropts = explode("\n", $userfield); } if(is_array($useropts))
| $useropts = explode("\n", $userfield); } if(is_array($useropts))
|
Zeile 996 | Zeile 1022 |
---|
foreach($expoptions as $key => $val) { $checked = "";
|
foreach($expoptions as $key => $val) { $checked = "";
|
if($val == $seloptions[$val])
| if(isset($seloptions[$val]) && $val == $seloptions[$val])
|
{
|
{
|
$checked = "checked=\"checked\"";
| $checked = 'checked="checked"';
|
}
eval("\$code .= \"".$templates->get("usercp_profile_profilefields_checkbox")."\";");
| }
eval("\$code .= \"".$templates->get("usercp_profile_profilefields_checkbox")."\";");
|
Zeile 1006 | Zeile 1032 |
---|
} } elseif($type == "textarea")
|
} } elseif($type == "textarea")
|
{
| {
|
$value = htmlspecialchars_uni($userfield); eval("\$code = \"".$templates->get("usercp_profile_profilefields_textarea")."\";");
|
$value = htmlspecialchars_uni($userfield); eval("\$code = \"".$templates->get("usercp_profile_profilefields_textarea")."\";");
|
} else
| } else
|
{ $value = htmlspecialchars_uni($userfield); $maxlength = "";
| { $value = htmlspecialchars_uni($userfield); $maxlength = "";
|
Zeile 1023 | Zeile 1049 |
---|
}
if($profilefield['required'] == 1)
|
}
if($profilefield['required'] == 1)
|
{ // JS validator extra if($type == "checkbox" || $type == "radio") { $id = "{$field}0"; } else
| { // JS validator extra, choose correct selectors for everything except single select which always has value if($type != 'select')
|
{
|
{
|
$id = "fid{$profilefield['fid']}";
| $jsvar_reqfields[] = array( 'type' => $type, 'fid' => $field, );
|
}
|
}
|
$validator_extra .= " $(\"#{$id}\").rules(\"add\", { required: true, minlength: 1, messages: { required: \"{$lang->js_validator_not_empty}\" } });\n";
| |
eval("\$requiredfields .= \"".$templates->get("member_register_customfield")."\";");
|
eval("\$requiredfields .= \"".$templates->get("member_register_customfield")."\";");
|
}
| }
|
else { eval("\$customfields .= \"".$templates->get("member_register_customfield")."\";"); }
|
else { eval("\$customfields .= \"".$templates->get("member_register_customfield")."\";"); }
|
| }
if($requiredfields) { eval("\$requiredfields = \"".$templates->get("member_register_requiredfields")."\";"); }
|
|
|
$code = ''; $select = ''; $val = ''; $options = ''; $expoptions = ''; $useropts = ''; $seloptions = '';
| if($customfields) { eval("\$customfields = \"".$templates->get("member_register_additionalfields")."\";");
|
}
|
}
|
}
| }
|
|
|
if(!empty($requiredfields)) { eval("\$requiredfields = \"".$templates->get("member_register_requiredfields")."\";"); } if(!empty($customfields)) { eval("\$customfields = \"".$templates->get("member_register_additionalfields")."\";"); } if(!isset($fromreg))
| if(!isset($fromreg) || $fromreg == 0)
|
{ $allownoticescheck = "checked=\"checked\""; $hideemailcheck = '';
|
{ $allownoticescheck = "checked=\"checked\""; $hideemailcheck = '';
|
$emailnotifycheck = '';
| |
$receivepmscheck = "checked=\"checked\""; $pmnoticecheck = " checked=\"checked\""; $pmnotifycheck = '';
| $receivepmscheck = "checked=\"checked\""; $pmnoticecheck = " checked=\"checked\""; $pmnotifycheck = '';
|
Zeile 1087 | Zeile 1096 |
---|
$regerrors = ''; } // Spambot registration image thingy
|
$regerrors = ''; } // Spambot registration image thingy
|
| $captcha_html = 0; $regimage = '';
|
if($mybb->settings['captchaimage']) { require_once MYBB_ROOT.'inc/class_captcha.php';
| if($mybb->settings['captchaimage']) { require_once MYBB_ROOT.'inc/class_captcha.php';
|
Zeile 1094 | Zeile 1105 |
---|
if($captcha->html) {
|
if($captcha->html) {
|
| $captcha_html = 1;
|
$regimage = $captcha->html;
|
$regimage = $captcha->html;
|
if($mybb->settings['captchaimage'] == 1) { // JS validator extra for our default CAPTCHA $validator_extra .= " $(\"#imagestring\").rules(\"add\", { required: true, remote:{ url: \"xmlhttp.php?action=validate_captcha\", type: \"post\", dataType: \"json\", data: { imagehash: $('#imagehash').val(), my_post_key: my_post_key }, }, messages: { remote: \"{$lang->js_validator_no_image_text}\" } });\n"; }
| |
} }
// Security Question $questionbox = '';
|
} }
// Security Question $questionbox = '';
|
| $question_exists = 0;
|
if($mybb->settings['securityquestion']) { $sid = generate_question();
| if($mybb->settings['securityquestion']) { $sid = generate_question();
|
Zeile 1133 | Zeile 1124 |
---|
"); if($db->num_rows($query) > 0) {
|
"); if($db->num_rows($query) > 0) {
|
| $question_exists = 1;
|
$question = $db->fetch_array($query);
|
$question = $db->fetch_array($query);
|
| //Set parser options for security question $parser_options = array( "allow_html" => 0, "allow_mycode" => 1, "allow_smilies" => 1, "allow_imgcode" => 1, "allow_videocode" => 1, "filter_badwords" => 1, "me_username" => 0, "shorten_urls" => 0, "highlight" => 0, );
//Parse question $question['question'] = $parser->parse_message($question['question'], $parser_options); $question['sid'] = htmlspecialchars_uni($question['sid']);
|
$refresh = ''; // Total questions
| $refresh = ''; // Total questions
|
Zeile 1143 | Zeile 1152 |
---|
{ eval("\$refresh = \"".$templates->get("member_register_question_refresh")."\";"); }
|
{ eval("\$refresh = \"".$templates->get("member_register_question_refresh")."\";"); }
|
|
|
eval("\$questionbox = \"".$templates->get("member_register_question")."\";");
|
eval("\$questionbox = \"".$templates->get("member_register_question")."\";");
|
$validator_extra .= " $(\"#answer\").rules(\"add\", { required: true, remote:{ url: \"xmlhttp.php?action=validate_question\", type: \"post\", dataType: \"json\", data: { question: $('#question_id').val(), my_post_key: my_post_key }, }, messages: { remote: \"{$lang->js_validator_no_security_question}\" } });\n";
| |
} }
| } }
|
Zeile 1183 | Zeile 1174 |
---|
if($mybb->settings['requirecomplexpasswords'] == 1) { $lang->password = $lang->complex_password = $lang->sprintf($lang->complex_password, $mybb->settings['minpasswordlength']);
|
if($mybb->settings['requirecomplexpasswords'] == 1) { $lang->password = $lang->complex_password = $lang->sprintf($lang->complex_password, $mybb->settings['minpasswordlength']);
|
$validator_extra .= " $(\"#password\").rules(\"add\", { required: true, minlength: {$mybb->settings['minpasswordlength']}, remote:{ url: \"xmlhttp.php?action=complex_password\", type: \"post\", dataType: \"json\", data: { my_post_key: my_post_key }, }, messages: { minlength: \"{$lang->js_validator_password_length}\", required: \"{$lang->js_validator_password_length}\", remote: \"{$lang->js_validator_no_image_text}\" } });\n"; } else { $validator_extra .= " $(\"#password\").rules(\"add\", { required: true, minlength: {$mybb->settings['minpasswordlength']}, messages: { minlength: \"{$lang->js_validator_password_length}\", required: \"{$lang->js_validator_password_length}\" } });\n";
| |
}
|
}
|
$validator_extra .= " $(\"#password2\").rules(\"add\", { required: true, minlength: {$mybb->settings['minpasswordlength']}, equalTo: \"#password\", messages: { minlength: \"{$lang->js_validator_password_length}\", required: \"{$lang->js_validator_password_length}\", equalTo: \"{$lang->js_validator_password_matches}\" } });\n";
| |
eval("\$passboxes = \"".$templates->get("member_register_password")."\";");
|
eval("\$passboxes = \"".$templates->get("member_register_password")."\";");
|
}
// JS validator extra if($mybb->settings['maxnamelength'] > 0 && $mybb->settings['minnamelength'] > 0) { $lang->js_validator_username_length = $lang->sprintf($lang->js_validator_username_length, $mybb->settings['minnamelength'], $mybb->settings['maxnamelength']);
| |
}
$languages = $lang->get_languages();
| }
$languages = $lang->get_languages();
|
Zeile 1262 | Zeile 1202 |
---|
$time = TIME_NOW;
$plugins->run_hooks("member_register_end");
|
$time = TIME_NOW;
$plugins->run_hooks("member_register_end");
|
| $jsvar_reqfields = json_encode($jsvar_reqfields);
$validator_javascript = "<script type=\"text/javascript\"> var regsettings = { requiredfields: '{$jsvar_reqfields}', minnamelength: '{$mybb->settings['minnamelength']}', maxnamelength: '{$mybb->settings['maxnamelength']}', minpasswordlength: '{$mybb->settings['minpasswordlength']}', captchaimage: '{$mybb->settings['captchaimage']}', captchahtml: '{$captcha_html}', securityquestion: '{$mybb->settings['securityquestion']}', questionexists: '{$question_exists}', requirecomplexpasswords: '{$mybb->settings['requirecomplexpasswords']}', regtype: '{$mybb->settings['regtype']}', hiddencaptchaimage: '{$mybb->settings['hiddencaptchaimage']}' };
lang.js_validator_no_username = '{$lang->js_validator_no_username}'; lang.js_validator_username_length = '{$lang->js_validator_username_length}'; lang.js_validator_invalid_email = '{$lang->js_validator_invalid_email}'; lang.js_validator_email_match = '{$lang->js_validator_email_match}'; lang.js_validator_not_empty = '{$lang->js_validator_not_empty}'; lang.js_validator_password_length = '{$lang->js_validator_password_length}'; lang.js_validator_password_matches = '{$lang->js_validator_password_matches}'; lang.js_validator_no_image_text = '{$lang->js_validator_no_image_text}'; lang.js_validator_no_security_question = '{$lang->js_validator_no_security_question}'; lang.js_validator_bad_password_security = '{$lang->js_validator_bad_password_security}'; </script>\n";
|
eval("\$registration = \"".$templates->get("member_register")."\";"); output_page($registration);
| eval("\$registration = \"".$templates->get("member_register")."\";"); output_page($registration);
|
Zeile 1302 | Zeile 1271 |
---|
} else {
|
} else {
|
$user = get_user($mybb->get_input('uid', 1));
| $user = get_user($mybb->get_input('uid', MyBB::INPUT_INT));
|
} if(isset($mybb->input['code']) && $user) {
| } if(isset($mybb->input['code']) && $user) {
|
Zeile 1312 | Zeile 1281 |
---|
{ error($lang->error_alreadyactivated); }
|
{ error($lang->error_alreadyactivated); }
|
if($activation['code'] != $mybb->get_input('code'))
| if($activation['code'] !== $mybb->get_input('code'))
|
{ error($lang->error_badactivationcode); }
| { error($lang->error_badactivationcode); }
|
Zeile 1355 | Zeile 1324 |
---|
$plugins->run_hooks("member_activate_accountactivated");
redirect("index.php", $lang->redirect_accountactivated);
|
$plugins->run_hooks("member_activate_accountactivated");
redirect("index.php", $lang->redirect_accountactivated);
|
}
| }
|
} else { $plugins->run_hooks("member_activate_form");
|
} else { $plugins->run_hooks("member_activate_form");
|
$code = $mybb->get_input('code');
| $code = htmlspecialchars_uni($mybb->get_input('code'));
|
if(!isset($user['username'])) { $user['username'] = '';
|
if(!isset($user['username'])) { $user['username'] = '';
|
}
| } $user['username'] = htmlspecialchars_uni($user['username']);
|
eval("\$activate = \"".$templates->get("member_activate")."\";"); output_page($activate);
|
eval("\$activate = \"".$templates->get("member_activate")."\";"); output_page($activate);
|
}
| } }
if($mybb->input['action'] == "do_resendactivation" && $mybb->request_method == "post") { $plugins->run_hooks("member_do_resendactivation_start");
if($mybb->settings['regtype'] == "admin") { error($lang->error_activated_by_admin); }
$errors = array();
if($mybb->settings['captchaimage']) { require_once MYBB_ROOT.'inc/class_captcha.php'; $captcha = new captcha;
if($captcha->validate_captcha() == false) { // CAPTCHA validation failed foreach($captcha->get_errors() as $error) { $errors[] = $error; } } }
$query = $db->query(" SELECT u.uid, u.username, u.usergroup, u.email, a.code, a.type, a.validated FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."awaitingactivation a ON (a.uid=u.uid AND (a.type='r' OR a.type='b')) WHERE u.email='".$db->escape_string($mybb->get_input('email'))."' "); $numusers = $db->num_rows($query); if($numusers < 1) { error($lang->error_invalidemail); } else { if(count($errors) == 0) { while($user = $db->fetch_array($query)) { if($user['type'] == "b" && $user['validated'] == 1) { error($lang->error_activated_by_admin); }
if($user['usergroup'] == 5) { if(!$user['code']) { $user['code'] = random_str(); $uid = $user['uid']; $awaitingarray = array( "uid" => $uid, "dateline" => TIME_NOW, "code" => $user['code'], "type" => $user['type'] ); $db->insert_query("awaitingactivation", $awaitingarray); } $username = $user['username']; $email = $user['email']; $activationcode = $user['code']; $emailsubject = $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']); switch($mybb->settings['username_method']) { case 0: $emailmessage = $lang->sprintf($lang->email_activateaccount, $user['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user['uid'], $activationcode); break; case 1: $emailmessage = $lang->sprintf($lang->email_activateaccount1, $user['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user['uid'], $activationcode); break; case 2: $emailmessage = $lang->sprintf($lang->email_activateaccount2, $user['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user['uid'], $activationcode); break; default: $emailmessage = $lang->sprintf($lang->email_activateaccount, $user['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user['uid'], $activationcode); break; } my_mail($email, $emailsubject, $emailmessage); } }
$plugins->run_hooks("member_do_resendactivation_end");
redirect("index.php", $lang->redirect_activationresent); } else { $mybb->input['action'] = "resendactivation"; } }
|
}
if($mybb->input['action'] == "resendactivation")
| }
if($mybb->input['action'] == "resendactivation")
|
Zeile 1378 | Zeile 1444 |
---|
$plugins->run_hooks("member_resendactivation");
if($mybb->settings['regtype'] == "admin")
|
$plugins->run_hooks("member_resendactivation");
if($mybb->settings['regtype'] == "admin")
|
{ error($lang->error_activated_by_admin); }
| { error($lang->error_activated_by_admin); }
|
if($mybb->user['uid'] && $mybb->user['usergroup'] != 5) { error($lang->error_alreadyactivated); }
|
if($mybb->user['uid'] && $mybb->user['usergroup'] != 5) { error($lang->error_alreadyactivated); }
|
$query = $db->simple_select("awaitingactivation", "*", "uid='".$user['uid']."' AND type='b'");
| $query = $db->simple_select("awaitingactivation", "*", "uid='".$mybb->user['uid']."' AND type='b'");
|
$activation = $db->fetch_array($query);
if($activation['validated'] == 1) { error($lang->error_activated_by_admin);
|
$activation = $db->fetch_array($query);
if($activation['validated'] == 1) { error($lang->error_activated_by_admin);
|
}
$plugins->run_hooks("member_resendactivation_end");
| }
$captcha = ''; // Generate CAPTCHA? if($mybb->settings['captchaimage']) { require_once MYBB_ROOT.'inc/class_captcha.php'; $post_captcha = new captcha(true, "post_captcha");
if($post_captcha->html) { $captcha = $post_captcha->html; } }
if(isset($errors) && count($errors) > 0) { $errors = inline_error($errors); $email = htmlspecialchars_uni($mybb->get_input('email')); } else { $errors = ''; $email = ''; }
$plugins->run_hooks("member_resendactivation_end");
|
eval("\$activate = \"".$templates->get("member_resendactivation")."\";"); output_page($activate); }
|
eval("\$activate = \"".$templates->get("member_resendactivation")."\";"); output_page($activate); }
|
if($mybb->input['action'] == "do_resendactivation" && $mybb->request_method == "post")
| if($mybb->input['action'] == "do_lostpw" && $mybb->request_method == "post")
|
{
|
{
|
$plugins->run_hooks("member_do_resendactivation_start");
if($mybb->settings['regtype'] == "admin") { error($lang->error_activated_by_admin); }
| $plugins->run_hooks("member_do_lostpw_start");
$errors = array();
if($mybb->settings['captchaimage']) { require_once MYBB_ROOT.'inc/class_captcha.php'; $captcha = new captcha;
|
|
|
$query = $db->query(" SELECT u.uid, u.username, u.usergroup, u.email, a.code, a.type, a.validated FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."awaitingactivation a ON (a.uid=u.uid AND a.type='r' OR a.type='b') WHERE u.email='".$db->escape_string($mybb->get_input('email'))."' ");
| if($captcha->validate_captcha() == false) { // CAPTCHA validation failed foreach($captcha->get_errors() as $error) { $errors[] = $error; } } }
$query = $db->simple_select("users", "*", "email='".$db->escape_string($mybb->get_input('email'))."'");
|
$numusers = $db->num_rows($query); if($numusers < 1)
|
$numusers = $db->num_rows($query); if($numusers < 1)
|
{
| {
|
error($lang->error_invalidemail); } else {
|
error($lang->error_invalidemail); } else {
|
while($user = $db->fetch_array($query))
| if(count($errors) == 0)
|
{
|
{
|
if($user['type'] == "b" && $user['validated'] == 1)
| while($user = $db->fetch_array($query))
|
{
|
{
|
error($lang->error_activated_by_admin); }
if($user['usergroup'] == 5) { if(!$user['code']) { $user['code'] = random_str(); $uid = $user['uid']; $awaitingarray = array( "uid" => $uid, "dateline" => TIME_NOW, "code" => $user['code'], "type" => $user['type'] ); $db->insert_query("awaitingactivation", $awaitingarray); }
| $db->delete_query("awaitingactivation", "uid='{$user['uid']}' AND type='p'"); $user['activationcode'] = random_str(30); $now = TIME_NOW; $uid = $user['uid']; $awaitingarray = array( "uid" => $user['uid'], "dateline" => TIME_NOW, "code" => $user['activationcode'], "type" => "p" ); $db->insert_query("awaitingactivation", $awaitingarray);
|
$username = $user['username']; $email = $user['email'];
|
$username = $user['username']; $email = $user['email'];
|
$activationcode = $user['code']; $emailsubject = $lang->sprintf($lang->emailsubject_activateaccount, $mybb->settings['bbname']);
| $activationcode = $user['activationcode']; $emailsubject = $lang->sprintf($lang->emailsubject_lostpw, $mybb->settings['bbname']);
|
switch($mybb->settings['username_method']) { case 0:
|
switch($mybb->settings['username_method']) { case 0:
|
$emailmessage = $lang->sprintf($lang->email_activateaccount, $user['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user['uid'], $activationcode);
| $emailmessage = $lang->sprintf($lang->email_lostpw, $username, $mybb->settings['bbname'], $mybb->settings['bburl'], $uid, $activationcode);
|
break; case 1:
|
break; case 1:
|
$emailmessage = $lang->sprintf($lang->email_activateaccount1, $user['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user['uid'], $activationcode);
| $emailmessage = $lang->sprintf($lang->email_lostpw1, $username, $mybb->settings['bbname'], $mybb->settings['bburl'], $uid, $activationcode);
|
break; case 2:
|
break; case 2:
|
$emailmessage = $lang->sprintf($lang->email_activateaccount2, $user['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user['uid'], $activationcode);
| $emailmessage = $lang->sprintf($lang->email_lostpw2, $username, $mybb->settings['bbname'], $mybb->settings['bburl'], $uid, $activationcode);
|
break; default:
|
break; default:
|
$emailmessage = $lang->sprintf($lang->email_activateaccount, $user['username'], $mybb->settings['bbname'], $mybb->settings['bburl'], $user['uid'], $activationcode);
| $emailmessage = $lang->sprintf($lang->email_lostpw, $username, $mybb->settings['bbname'], $mybb->settings['bburl'], $uid, $activationcode);
|
break; } my_mail($email, $emailsubject, $emailmessage); }
|
break; } my_mail($email, $emailsubject, $emailmessage); }
|
} $plugins->run_hooks("member_do_resendactivation_end");
| |
|
|
redirect("index.php", $lang->redirect_activationresent);
| $plugins->run_hooks("member_do_lostpw_end");
redirect("index.php", $lang->redirect_lostpwsent, "", true); } else { $mybb->input['action'] = "lostpw"; }
|
} }
| } }
|
Zeile 1475 | Zeile 1572 |
---|
{ $plugins->run_hooks("member_lostpw");
|
{ $plugins->run_hooks("member_lostpw");
|
eval("\$lostpw = \"".$templates->get("member_lostpw")."\";"); output_page($lostpw); }
if($mybb->input['action'] == "do_lostpw" && $mybb->request_method == "post") { $plugins->run_hooks("member_do_lostpw_start");
$email = $db->escape_string($email); $query = $db->simple_select("users", "*", "email='".$db->escape_string($mybb->get_input('email'))."'"); $numusers = $db->num_rows($query); if($numusers < 1) { error($lang->error_invalidemail); }
| $captcha = ''; // Generate CAPTCHA? if($mybb->settings['captchaimage']) { require_once MYBB_ROOT.'inc/class_captcha.php'; $post_captcha = new captcha(true, "post_captcha");
if($post_captcha->html) { $captcha = $post_captcha->html; } }
if(isset($errors) && count($errors) > 0) { $errors = inline_error($errors); $email = htmlspecialchars_uni($mybb->get_input('email')); }
|
else {
|
else {
|
while($user = $db->fetch_array($query)) { $db->delete_query("awaitingactivation", "uid='{$user['uid']}' AND type='p'"); $user['activationcode'] = random_str(); $now = TIME_NOW; $uid = $user['uid']; $awaitingarray = array( "uid" => $user['uid'], "dateline" => TIME_NOW, "code" => $user['activationcode'], "type" => "p" ); $db->insert_query("awaitingactivation", $awaitingarray); $username = $user['username']; $email = $user['email']; $activationcode = $user['activationcode']; $emailsubject = $lang->sprintf($lang->emailsubject_lostpw, $mybb->settings['bbname']); switch($mybb->settings['username_method']) { case 0: $emailmessage = $lang->sprintf($lang->email_lostpw, $username, $mybb->settings['bbname'], $mybb->settings['bburl'], $uid, $activationcode); break; case 1: $emailmessage = $lang->sprintf($lang->email_lostpw1, $username, $mybb->settings['bbname'], $mybb->settings['bburl'], $uid, $activationcode); break; case 2: $emailmessage = $lang->sprintf($lang->email_lostpw2, $username, $mybb->settings['bbname'], $mybb->settings['bburl'], $uid, $activationcode); break; default: $emailmessage = $lang->sprintf($lang->email_lostpw, $username, $mybb->settings['bbname'], $mybb->settings['bburl'], $uid, $activationcode); break; } my_mail($email, $emailsubject, $emailmessage); } } $plugins->run_hooks("member_do_lostpw_end");
redirect("index.php", $lang->redirect_lostpwsent, "", true);
| $errors = ''; $email = ''; }
eval("\$lostpw = \"".$templates->get("member_lostpw")."\";"); output_page($lostpw);
|
}
if($mybb->input['action'] == "resetpassword")
| }
if($mybb->input['action'] == "resetpassword")
|
Zeile 1549 | Zeile 1617 |
---|
switch($mybb->settings['username_method']) { case 0:
|
switch($mybb->settings['username_method']) { case 0:
|
error($lang->error_invalidpworusername);
| error($lang->error_invalidpworusername);
|
break; case 1: error($lang->error_invalidpworusername1);
| break; case 1: error($lang->error_invalidpworusername1);
|
Zeile 1564 | Zeile 1632 |
---|
} } else
|
} } else
|
{ $user = get_user($mybb->get_input('uid', 1));
| { $user = get_user($mybb->get_input('uid', MyBB::INPUT_INT));
|
}
|
}
|
|
|
if(isset($mybb->input['code']) && $user) {
|
if(isset($mybb->input['code']) && $user) {
|
$query = $db->simple_select("awaitingactivation", "*", "uid='".$user['uid']."' AND type='p'"); $activation = $db->fetch_array($query);
| $query = $db->simple_select("awaitingactivation", "code", "uid='".$user['uid']."' AND type='p'"); $activationcode = $db->fetch_field($query, 'code');
|
$now = TIME_NOW;
|
$now = TIME_NOW;
|
if($activation['code'] != $mybb->get_input('code'))
| if(!$activationcode || $activationcode !== $mybb->get_input('code'))
|
{ error($lang->error_badlostpwcode); }
| { error($lang->error_badlostpwcode); }
|
Zeile 1584 | Zeile 1653 |
---|
if($password_length < 8) {
|
if($password_length < 8) {
|
$password_length = 8;
| $password_length = min(8, (int)$mybb->settings['maxpasswordlength']);
|
}
|
}
|
$password = random_str($password_length); $logindetails = update_password($user['uid'], md5($password), $user['salt']);
| // Set up user handler. require_once MYBB_ROOT.'inc/datahandlers/user.php'; $userhandler = new UserDataHandler('update');
while(!$userhandler->verify_password()) { $password = random_str($password_length, $mybb->settings['requirecomplexpasswords']);
$userhandler->set_data(array( 'uid' => $user['uid'], 'username' => $user['username'], 'email' => $user['email'], 'password' => $password ));
$userhandler->set_validated(true); $userhandler->errors = array(); }
$userhandler->update_user();
$logindetails = array( 'salt' => $userhandler->data['salt'], 'password' => $userhandler->data['saltedpw'], 'loginkey' => $userhandler->data['loginkey'], );
|
$email = $user['email'];
| $email = $user['email'];
|
Zeile 1607 | Zeile 1700 |
---|
$plugins->run_hooks("member_resetpassword_form");
switch($mybb->settings['username_method'])
|
$plugins->run_hooks("member_resetpassword_form");
switch($mybb->settings['username_method'])
|
{
| {
|
case 0: $lang_username = $lang->username; break;
| case 0: $lang_username = $lang->username; break;
|
Zeile 1622 | Zeile 1715 |
---|
break; }
|
break; }
|
$code = $mybb->get_input('code');
if(!isset($user['username'])) { $user['username'] = ''; }
| $code = htmlspecialchars_uni($mybb->get_input('code')); $input_username = htmlspecialchars_uni($mybb->get_input('username'));
|
eval("\$activate = \"".$templates->get("member_resetpassword")."\";"); output_page($activate);
| eval("\$activate = \"".$templates->get("member_resetpassword")."\";"); output_page($activate);
|
Zeile 1638 | Zeile 1728 |
---|
$inline_errors = ""; if($mybb->input['action'] == "do_login" && $mybb->request_method == "post") {
|
$inline_errors = ""; if($mybb->input['action'] == "do_login" && $mybb->request_method == "post") {
|
$plugins->run_hooks("member_do_login_start");
| verify_post_check($mybb->get_input('my_post_key'));
|
|
|
// Is a fatal call if user has had too many tries
| |
$errors = array();
|
$errors = array();
|
$logins = login_attempt_check();
| $plugins->run_hooks("member_do_login_start");
|
require_once MYBB_ROOT."inc/datahandlers/login.php"; $loginhandler = new LoginDataHandler("get");
| require_once MYBB_ROOT."inc/datahandlers/login.php"; $loginhandler = new LoginDataHandler("get");
|
Zeile 1661 | Zeile 1751 |
---|
'imagestring' => $mybb->get_input('imagestring') );
|
'imagestring' => $mybb->get_input('imagestring') );
|
$user_loginattempts = get_user_by_username($user['username'], array('fields' => 'loginattempts')); $user['loginattempts'] = (int)$user_loginattempts['loginattempts'];
| $options = array( 'fields' => 'loginattempts', 'username_method' => (int)$mybb->settings['username_method'], );
$user_loginattempts = get_user_by_username($user['username'], $options); if(!empty($user_loginattempts)) { $user['loginattempts'] = (int)$user_loginattempts['loginattempts']; }
|
$loginhandler->set_data($user); $validated = $loginhandler->validate_login();
|
$loginhandler->set_data($user); $validated = $loginhandler->validate_login();
|
|
|
if(!$validated) { $mybb->input['action'] = "login"; $mybb->request_method = "get";
|
if(!$validated) { $mybb->input['action'] = "login"; $mybb->request_method = "get";
|
my_setcookie('loginattempts', $logins + 1); $db->update_query("users", array('loginattempts' => 'loginattempts+1'), "LOWER(username) = '".$db->escape_string(my_strtolower($user['username']))."'", 1, true);
$errors = $loginhandler->get_friendly_errors();
| $login_user_uid = 0; if(!empty($loginhandler->login_data)) { $login_user_uid = (int)$loginhandler->login_data['uid']; $user['loginattempts'] = (int)$loginhandler->login_data['loginattempts']; }
// Is a fatal call if user has had too many tries $logins = login_attempt_check($login_user_uid);
$db->update_query("users", array('loginattempts' => 'loginattempts+1'), "uid='".$login_user_uid."'", 1, true);
|
|
|
$user_loginattempts = get_user_by_username($user['username'], array('fields' => 'loginattempts')); $user['loginattempts'] = (int)$user_loginattempts['loginattempts'];
| $errors = $loginhandler->get_friendly_errors();
|
// If we need a captcha set it here
|
// If we need a captcha set it here
|
if($mybb->settings['failedcaptchalogincount'] > 0 && ($user['loginattempts'] > $mybb->settings['failedcaptchalogincount'] || (int)$mybb->cookies['loginattempts'] > $mybb->settings['failedcaptchalogincount']))
| if( $mybb->settings['failedcaptchalogincount'] > 0 && ( ( isset($user['loginattempts']) && $user['loginattempts'] > $mybb->settings['failedcaptchalogincount'] ) || ( isset($mybb->cookies['loginattempts']) && (int)$mybb->cookies['loginattempts'] > $mybb->settings['failedcaptchalogincount'] ) ) )
|
{ $do_captcha = true; $correct = $loginhandler->captcha_verified;
| { $do_captcha = true; $correct = $loginhandler->captcha_verified;
|
Zeile 1701 | Zeile 1817 |
---|
$mybb->input['url'] = $mybb->get_input('url');
|
$mybb->input['url'] = $mybb->get_input('url');
|
if(!empty($mybb->input['url']) && my_strpos(basename($mybb->input['url']), 'member.php') === false)
| if(!empty($mybb->input['url']) && my_strpos(basename($mybb->input['url']), 'member.php') === false && !preg_match('#^javascript:#i', $mybb->input['url']))
|
{ if((my_strpos(basename($mybb->input['url']), 'newthread.php') !== false || my_strpos(basename($mybb->input['url']), 'newreply.php') !== false) && my_strpos($mybb->input['url'], '&processed=1') !== false) {
| { if((my_strpos(basename($mybb->input['url']), 'newthread.php') !== false || my_strpos(basename($mybb->input['url']), 'newreply.php') !== false) && my_strpos($mybb->input['url'], '&processed=1') !== false) {
|
Zeile 1709 | Zeile 1825 |
---|
}
$mybb->input['url'] = str_replace('&', '&', $mybb->input['url']);
|
}
$mybb->input['url'] = str_replace('&', '&', $mybb->input['url']);
|
| if(my_strpos($mybb->input['url'], $mybb->settings['bburl'].'/') !== 0) { if(my_strpos($mybb->input['url'], '/') === 0) { $mybb->input['url'] = my_substr($mybb->input['url'], 1); } $url_segments = explode('/', $mybb->input['url']); $mybb->input['url'] = $mybb->settings['bburl'].'/'.end($url_segments); }
|
// Redirect to the URL if it is not member.php
|
// Redirect to the URL if it is not member.php
|
redirect(htmlentities($mybb->input['url']), $lang->redirect_loggedin);
| redirect($mybb->input['url'], $lang->redirect_loggedin);
|
} else {
|
} else {
|
|
|
redirect("index.php", $lang->redirect_loggedin); } }
|
redirect("index.php", $lang->redirect_loggedin); } }
|
|
|
$plugins->run_hooks("member_do_login_end"); }
|
$plugins->run_hooks("member_do_login_end"); }
|
|
|
if($mybb->input['action'] == "login") { $plugins->run_hooks("member_login");
$member_loggedin_notice = ""; if($mybb->user['uid'] != 0)
|
if($mybb->input['action'] == "login") { $plugins->run_hooks("member_login");
$member_loggedin_notice = ""; if($mybb->user['uid'] != 0)
|
{
| { $mybb->user['username'] = htmlspecialchars_uni($mybb->user['username']);
|
$lang->already_logged_in = $lang->sprintf($lang->already_logged_in, build_profile_link($mybb->user['username'], $mybb->user['uid'])); eval("\$member_loggedin_notice = \"".$templates->get("member_loggedin_notice")."\";");
|
$lang->already_logged_in = $lang->sprintf($lang->already_logged_in, build_profile_link($mybb->user['username'], $mybb->user['uid'])); eval("\$member_loggedin_notice = \"".$templates->get("member_loggedin_notice")."\";");
|
}
| }
|
// Checks to make sure the user can login; they haven't had too many tries at logging in.
|
// Checks to make sure the user can login; they haven't had too many tries at logging in.
|
// Is a fatal call if user has had too many tries
| // Is a fatal call if user has had too many tries. This particular check uses cookies, as a uid is not set yet // and we can't check loginattempts in the db
|
login_attempt_check();
// Redirect to the page where the user came from, but not if that was the login page.
| login_attempt_check();
// Redirect to the page where the user came from, but not if that was the login page.
|
Zeile 1755 | Zeile 1883 |
---|
require_once MYBB_ROOT.'inc/class_captcha.php'; $login_captcha = new captcha(false, "post_captcha");
|
require_once MYBB_ROOT.'inc/class_captcha.php'; $login_captcha = new captcha(false, "post_captcha");
|
if($login_captcha->type == 1)
| if($login_captcha->type == captcha::DEFAULT_CAPTCHA)
|
{ if(!$correct)
|
{ if(!$correct)
|
{
| {
|
$login_captcha->build_captcha(); } else
| $login_captcha->build_captcha(); } else
|
Zeile 1766 | Zeile 1894 |
---|
$captcha = $login_captcha->build_hidden_captcha(); } }
|
$captcha = $login_captcha->build_hidden_captcha(); } }
|
elseif($login_captcha->type == 2)
| elseif(in_array($login_captcha->type, array(captcha::NOCAPTCHA_RECAPTCHA, captcha::RECAPTCHA_INVISIBLE, captcha::RECAPTCHA_V3)))
|
{ $login_captcha->build_recaptcha();
|
{ $login_captcha->build_recaptcha();
|
} elseif($login_captcha->type == 3) { $login_captcha->build_ayah(); }
| } elseif(in_array($login_captcha->type, array(captcha::HCAPTCHA, captcha::HCAPTCHA_INVISIBLE))) { $login_captcha->build_hcaptcha(); }
|
if($login_captcha->html) { $captcha = $login_captcha->html; }
|
if($login_captcha->html) { $captcha = $login_captcha->html; }
|
}
| }
|
$username = ""; $password = ""; if(isset($mybb->input['username']) && $mybb->request_method == "post")
| $username = ""; $password = ""; if(isset($mybb->input['username']) && $mybb->request_method == "post")
|
Zeile 1799 | Zeile 1927 |
---|
$mybb->request_method = "get";
$inline_errors = inline_error($errors);
|
$mybb->request_method = "get";
$inline_errors = inline_error($errors);
|
}
| }
|
switch($mybb->settings['username_method']) { case 1: $lang->username = $lang->username1;
|
switch($mybb->settings['username_method']) { case 1: $lang->username = $lang->username1;
|
break;
| break;
|
case 2: $lang->username = $lang->username2;
|
case 2: $lang->username = $lang->username2;
|
break;
| break;
|
default: break;
|
default: break;
|
}
$plugins->run_hooks("member_login_end");
| }
$plugins->run_hooks("member_login_end");
|
eval("\$login = \"".$templates->get("member_login")."\";"); output_page($login); }
| eval("\$login = \"".$templates->get("member_login")."\";"); output_page($login); }
|
Zeile 1824 | Zeile 1952 |
---|
$plugins->run_hooks("member_logout_start");
if(!$mybb->user['uid'])
|
$plugins->run_hooks("member_logout_start");
if(!$mybb->user['uid'])
|
{
| {
|
redirect("index.php", $lang->redirect_alreadyloggedout); }
// Check session ID if we have one
|
redirect("index.php", $lang->redirect_alreadyloggedout); }
// Check session ID if we have one
|
if(isset($mybb->input['sid']) && $mybb->get_input('sid') != $session->sid) {
| if(isset($mybb->input['sid']) && $mybb->get_input('sid') !== $session->sid) {
|
error($lang->error_notloggedout); } // Otherwise, check logoutkey
|
error($lang->error_notloggedout); } // Otherwise, check logoutkey
|
else if(!isset($mybb->input['sid']) && $mybb->get_input('logoutkey') != $mybb->user['logoutkey'])
| else if(!isset($mybb->input['sid']) && $mybb->get_input('logoutkey') !== $mybb->user['logoutkey'])
|
{ error($lang->error_notloggedout); }
my_unsetcookie("mybbuser"); my_unsetcookie("sid");
|
{ error($lang->error_notloggedout); }
my_unsetcookie("mybbuser"); my_unsetcookie("sid");
|
|
|
if($mybb->user['uid']) { $time = TIME_NOW;
| if($mybb->user['uid']) { $time = TIME_NOW;
|
Zeile 1851 | Zeile 1979 |
---|
}
$plugins->run_hooks("member_logout_end");
|
}
$plugins->run_hooks("member_logout_end");
|
|
|
redirect("index.php", $lang->redirect_loggedout); }
if($mybb->input['action'] == "viewnotes")
|
redirect("index.php", $lang->redirect_loggedout); }
if($mybb->input['action'] == "viewnotes")
|
{ $uid = $mybb->get_input('uid', 1); $user = get_user($uid);
| { $uid = $mybb->get_input('uid', MyBB::INPUT_INT); $user = get_user($uid);
|
// Make sure we are looking at a real user here. if(!$user)
| // Make sure we are looking at a real user here. if(!$user)
|
Zeile 1867 | Zeile 1995 |
---|
}
if($mybb->user['uid'] == 0 || $mybb->usergroup['canmodcp'] != 1)
|
}
if($mybb->user['uid'] == 0 || $mybb->usergroup['canmodcp'] != 1)
|
{ error_no_permission(); }
| { error_no_permission(); }
$user['username'] = htmlspecialchars_uni($user['username']); $lang->view_notes_for = $lang->sprintf($lang->view_notes_for, $user['username']);
$user['usernotes'] = nl2br(htmlspecialchars_uni($user['usernotes']));
|
|
|
$lang->view_notes_for = $lang->sprintf($lang->view_notes_for, $user['username']);
$user['usernotes'] = nl2br(htmlspecialchars_uni($user['usernotes']));
| $plugins->run_hooks('member_viewnotes');
|
eval("\$viewnotes = \"".$templates->get("member_viewnotes", 1, 0)."\";"); echo $viewnotes; exit; }
|
eval("\$viewnotes = \"".$templates->get("member_viewnotes", 1, 0)."\";"); echo $viewnotes; exit; }
|
|
|
if($mybb->input['action'] == "profile") {
|
if($mybb->input['action'] == "profile") {
|
$plugins->run_hooks("member_profile_start");
| |
if($mybb->usergroup['canviewprofiles'] == 0) { error_no_permission(); }
|
if($mybb->usergroup['canviewprofiles'] == 0) { error_no_permission(); }
|
$uid = $mybb->get_input('uid', 1);
| $uid = $mybb->get_input('uid', MyBB::INPUT_INT);
|
if($uid) { $memprofile = get_user($uid);
| if($uid) { $memprofile = get_user($uid);
|
Zeile 1897 | Zeile 2026 |
---|
elseif($mybb->user['uid']) { $memprofile = $mybb->user;
|
elseif($mybb->user['uid']) { $memprofile = $mybb->user;
|
} else {
| } else {
|
$memprofile = false; }
if(!$memprofile)
|
$memprofile = false; }
if(!$memprofile)
|
{
| {
|
error($lang->error_nomember);
|
error($lang->error_nomember);
|
}
$uid = $memprofile['uid'];
| }
$uid = $memprofile['uid'];
$plugins->run_hooks("member_profile_start");
$me_username = $memprofile['username']; $memprofile['username'] = htmlspecialchars_uni($memprofile['username']);
|
$lang->profile = $lang->sprintf($lang->profile, $memprofile['username']);
// Get member's permissions $memperms = user_permissions($memprofile['uid']);
|
$lang->profile = $lang->sprintf($lang->profile, $memprofile['username']);
// Get member's permissions $memperms = user_permissions($memprofile['uid']);
|
| // Set display group $displaygroupfields = array("title", "description", "namestyle", "usertitle", "stars", "starimage", "image");
if(!$memprofile['displaygroup']) { $memprofile['displaygroup'] = $memprofile['usergroup']; }
$displaygroup = usergroup_displaygroup($memprofile['displaygroup']); if(is_array($displaygroup)) { $memperms = array_merge($memperms, $displaygroup); }
|
$lang->nav_profile = $lang->sprintf($lang->nav_profile, $memprofile['username']); add_breadcrumb($lang->nav_profile);
$lang->users_forum_info = $lang->sprintf($lang->users_forum_info, $memprofile['username']); $lang->users_contact_details = $lang->sprintf($lang->users_contact_details, $memprofile['username']);
|
$lang->nav_profile = $lang->sprintf($lang->nav_profile, $memprofile['username']); add_breadcrumb($lang->nav_profile);
$lang->users_forum_info = $lang->sprintf($lang->users_forum_info, $memprofile['username']); $lang->users_contact_details = $lang->sprintf($lang->users_contact_details, $memprofile['username']);
|
if($mybb->settings['enablepms'] != 0 && (($memprofile['receivepms'] != 0 && $memperms['canusepms'] != 0 && my_strpos(",".$memprofile['ignorelist'].",", ",".$mybb->user['uid'].",") === false) || $mybb->usergroup['canoverridepm'] == 1)) { $lang->send_pm = $lang->sprintf($lang->send_pm, $memprofile['username']); } else { $lang->send_pm = ''; }
| $lang->send_pm = $lang->sprintf($lang->send_pm, $memprofile['username']);
|
$lang->away_note = $lang->sprintf($lang->away_note, $memprofile['username']); $lang->users_additional_info = $lang->sprintf($lang->users_additional_info, $memprofile['username']); $lang->users_signature = $lang->sprintf($lang->users_signature, $memprofile['username']);
| $lang->away_note = $lang->sprintf($lang->away_note, $memprofile['username']); $lang->users_additional_info = $lang->sprintf($lang->users_additional_info, $memprofile['username']); $lang->users_signature = $lang->sprintf($lang->users_signature, $memprofile['username']);
|
Zeile 1938 | Zeile 2077 |
---|
eval("\$avatar = \"".$templates->get("member_profile_avatar")."\";");
$website = $sendemail = $sendpm = $contact_details = '';
|
eval("\$avatar = \"".$templates->get("member_profile_avatar")."\";");
$website = $sendemail = $sendpm = $contact_details = '';
|
if($memprofile['website'] && $mybb->settings['hidewebsite'] != -1 && !is_member($mybb->settings['hidewebsite']) && $memperms['canchangewebsite'] == 1)
| if(my_validate_url($memprofile['website']) && !is_member($mybb->settings['hidewebsite']) && $memperms['canchangewebsite'] == 1)
|
{ $memprofile['website'] = htmlspecialchars_uni($memprofile['website']); $bgcolor = alt_trow(); eval("\$website = \"".$templates->get("member_profile_website")."\";"); }
|
{ $memprofile['website'] = htmlspecialchars_uni($memprofile['website']); $bgcolor = alt_trow(); eval("\$website = \"".$templates->get("member_profile_website")."\";"); }
|
if($memprofile['hideemail'] != 1 && (my_strpos(",".$memprofile['ignorelist'].",", ",".$mybb->user['uid'].",") === false || $mybb->usergroup['cansendemailoverride'] != 0)) { $bgcolor = alt_trow(); eval("\$sendemail = \"".$templates->get("member_profile_email")."\";"); } if($mybb->settings['enablepms'] == 1 && $memprofile['receivepms'] != 0 && $mybb->usergroup['cansendpms'] == 1 && my_strpos(",".$memprofile['ignorelist'].",", ",".$mybb->user['uid'].",") === false)
| if($mybb->usergroup['cansendemail'] == 1 && $uid != $mybb->user['uid'] && $memprofile['hideemail'] != 1 && (my_strpos(",".$memprofile['ignorelist'].",", ",".$mybb->user['uid'].",") === false || $mybb->usergroup['cansendemailoverride'] != 0))
|
{
|
{
|
$bgcolor = alt_trow();
| $bgcolor = alt_trow(); eval("\$sendemail = \"".$templates->get("member_profile_email")."\";"); }
if($mybb->settings['enablepms'] != 0 && $uid != $mybb->user['uid'] && $mybb->usergroup['canusepms'] == 1 && (($memprofile['receivepms'] != 0 && $memperms['canusepms'] != 0 && my_strpos(",".$memprofile['ignorelist'].",", ",".$mybb->user['uid'].",") === false) || $mybb->usergroup['canoverridepm'] == 1)) { $bgcolor = alt_trow();
|
eval('$sendpm = "'.$templates->get("member_profile_pm").'";'); }
|
eval('$sendpm = "'.$templates->get("member_profile_pm").'";'); }
|
|
|
$contact_fields = array();
|
$contact_fields = array();
|
foreach(array('icq', 'aim', 'yahoo', 'skype', 'google') as $field)
| $any_contact_field = false; foreach(array('icq', 'skype', 'google') as $field)
|
{ $contact_fields[$field] = '';
|
{ $contact_fields[$field] = '';
|
| |
$settingkey = 'allow'.$field.'field';
|
$settingkey = 'allow'.$field.'field';
|
if(!empty($memprofile[$field]) && ($mybb->settings[$settingkey] == -1 || $mybb->settings[$settingkey] != '' && is_member($mybb->settings[$settingkey], array('usergroup' => $memprofile['usergroup'], 'additionalgroups' => $memprofile['additionalgroups']))))
| if(!empty($memprofile[$field]) && is_member($mybb->settings[$settingkey], array('usergroup' => $memprofile['usergroup'], 'additionalgroups' => $memprofile['additionalgroups'])))
|
{
|
{
|
| $any_contact_field = true;
|
if($field == 'icq')
|
if($field == 'icq')
|
{
| {
|
$memprofile[$field] = (int)$memprofile[$field]; } else
| $memprofile[$field] = (int)$memprofile[$field]; } else
|
Zeile 1976 | Zeile 2117 |
---|
$memprofile[$field] = htmlspecialchars_uni($memprofile[$field]); } $tmpl = 'member_profile_contact_fields_'.$field;
|
$memprofile[$field] = htmlspecialchars_uni($memprofile[$field]); } $tmpl = 'member_profile_contact_fields_'.$field;
|
|
|
$bgcolors[$field] = alt_trow(); eval('$contact_fields[\''.$field.'\'] = "'.$templates->get($tmpl).'";');
|
$bgcolors[$field] = alt_trow(); eval('$contact_fields[\''.$field.'\'] = "'.$templates->get($tmpl).'";');
|
} else { $memprofile[$field] = '';
| |
} }
|
} }
|
if(!empty($contact_fields) || $sendemail || $sendpm || $website)
| if($any_contact_field || $sendemail || $sendpm || $website)
|
{ eval('$contact_details = "'.$templates->get("member_profile_contact_details").'";'); }
$signature = '';
|
{ eval('$contact_details = "'.$templates->get("member_profile_contact_details").'";'); }
$signature = '';
|
if($memprofile['signature'] && ($memprofile['suspendsignature'] == 0 || $memprofile['suspendsigtime'] < TIME_NOW) && $mybb->settings['hidesignatures'] != -1 && !is_member($mybb->settings['hidesignatures']) && $memperms['canusesig'] && $memperms['canusesigxposts'] <= $memprofile['postnum'])
| if($memprofile['signature'] && ($memprofile['suspendsignature'] == 0 || $memprofile['suspendsigtime'] < TIME_NOW) && !is_member($mybb->settings['hidesignatures']) && $memperms['canusesig'] && $memperms['canusesigxposts'] <= $memprofile['postnum'])
|
{ $sig_parser = array( "allow_html" => $mybb->settings['sightml'], "allow_mycode" => $mybb->settings['sigmycode'], "allow_smilies" => $mybb->settings['sigsmilies'], "allow_imgcode" => $mybb->settings['sigimgcode'],
|
{ $sig_parser = array( "allow_html" => $mybb->settings['sightml'], "allow_mycode" => $mybb->settings['sigmycode'], "allow_smilies" => $mybb->settings['sigsmilies'], "allow_imgcode" => $mybb->settings['sigimgcode'],
|
"me_username" => $memprofile['username'],
| "me_username" => $me_username,
|
"filter_badwords" => 1 );
| "filter_badwords" => 1 );
|
Zeile 2008 | Zeile 2145 |
---|
$sig_parser['nofollow_on'] = 1; }
|
$sig_parser['nofollow_on'] = 1; }
|
if($mybb->user['showimages'] != 1 && $mybb->user['uid'] != 0 || $mybb->settings['guestimages'] != 1 && $mybb->user['uid'] == 0)
| if($mybb->user['uid'] != 0 && $mybb->user['showimages'] != 1 || $mybb->settings['guestimages'] != 1 && $mybb->user['uid'] == 0)
|
{ $sig_parser['allow_imgcode'] = 0; }
| { $sig_parser['allow_imgcode'] = 0; }
|
Zeile 2038 | Zeile 2175 |
---|
if($numposts == 0) { $post_percent = "0";
|
if($numposts == 0) { $post_percent = "0";
|
} else
| } else
|
{ $post_percent = $memprofile['postnum']*100/$numposts; $post_percent = round($post_percent, 2);
|
{ $post_percent = $memprofile['postnum']*100/$numposts; $post_percent = round($post_percent, 2);
|
}
| }
|
if($post_percent > 100) {
| if($post_percent > 100) {
|
Zeile 2069 | Zeile 2206 |
---|
$thread_percent = round($thread_percent, 2); }
|
$thread_percent = round($thread_percent, 2); }
|
if($thread_percent > 100)
| if($thread_percent > 100) { $thread_percent = 100; }
$findposts = $findthreads = ''; if($mybb->usergroup['cansearch'] == 1)
|
{
|
{
|
$thread_percent = 100;
| if(!empty($memprofile['postnum'])) { eval("\$findposts = \"".$templates->get("member_profile_findposts")."\";"); } if(!empty($memprofile['threadnum'])) { eval("\$findthreads = \"".$templates->get("member_profile_findthreads")."\";"); }
|
}
$awaybit = '';
| }
$awaybit = '';
|
Zeile 2117 | Zeile 2267 |
---|
// Update our status to "not away" $memprofile['away'] = 0;
|
// Update our status to "not away" $memprofile['away'] = 0;
|
} }
| } }
|
// Check if our away status is set to 1, it may have been updated already (see a few lines above) if($memprofile['away'] == 1) { eval("\$awaybit = \"".$templates->get("member_profile_away")."\";");
|
// Check if our away status is set to 1, it may have been updated already (see a few lines above) if($memprofile['away'] == 1) { eval("\$awaybit = \"".$templates->get("member_profile_away")."\";");
|
} }
| } }
$memprofile['timezone'] = (float)$memprofile['timezone'];
|
if($memprofile['dst'] == 1) { $memprofile['timezone']++;
| if($memprofile['dst'] == 1) { $memprofile['timezone']++;
|
Zeile 2135 | Zeile 2287 |
---|
$memprofile['timezone'] = "+{$memprofile['timezone']}"; } }
|
$memprofile['timezone'] = "+{$memprofile['timezone']}"; } }
|
|
|
$memregdate = my_date($mybb->settings['dateformat'], $memprofile['regdate']); $memlocaldate = gmdate($mybb->settings['dateformat'], TIME_NOW + ($memprofile['timezone'] * 3600)); $memlocaltime = gmdate($mybb->settings['timeformat'], TIME_NOW + ($memprofile['timezone'] * 3600));
$localtime = $lang->sprintf($lang->local_time_format, $memlocaldate, $memlocaltime);
|
$memregdate = my_date($mybb->settings['dateformat'], $memprofile['regdate']); $memlocaldate = gmdate($mybb->settings['dateformat'], TIME_NOW + ($memprofile['timezone'] * 3600)); $memlocaltime = gmdate($mybb->settings['timeformat'], TIME_NOW + ($memprofile['timezone'] * 3600));
$localtime = $lang->sprintf($lang->local_time_format, $memlocaldate, $memlocaltime);
|
if($memprofile['lastactive']) { $memlastvisitdate = my_date($mybb->settings['dateformat'], $memprofile['lastactive']); $memlastvisitsep = $lang->comma; $memlastvisittime = my_date($mybb->settings['timeformat'], $memprofile['lastactive']); } else { $memlastvisitdate = $lang->lastvisit_never; $memlastvisitsep = ''; $memlastvisittime = ''; }
| |
if($memprofile['birthday']) {
| if($memprofile['birthday']) {
|
Zeile 2164 | Zeile 2303 |
---|
if($membday[0] && $membday[1] && $membday[2]) { $lang->membdayage = $lang->sprintf($lang->membdayage, get_age($memprofile['birthday']));
|
if($membday[0] && $membday[1] && $membday[2]) { $lang->membdayage = $lang->sprintf($lang->membdayage, get_age($memprofile['birthday']));
|
if($membday[2] >= 1970) { $w_day = date("l", mktime(0, 0, 0, $membday[1], $membday[0], $membday[2])); $membday = format_bdays($mybb->settings['dateformat'], $membday[1], $membday[0], $membday[2], $w_day); } else { $bdayformat = fix_mktime($mybb->settings['dateformat'], $membday[2]); $membday = mktime(0, 0, 0, $membday[1], $membday[0], $membday[2]); $membday = date($bdayformat, $membday); }
| $bdayformat = fix_mktime($mybb->settings['dateformat'], $membday[2]); $membday = mktime(0, 0, 0, $membday[1], $membday[0], $membday[2]); $membday = date($bdayformat, $membday);
|
$membdayage = $lang->membdayage;
|
$membdayage = $lang->membdayage;
|
}
| }
|
elseif($membday[2]) { $membday = mktime(0, 0, 0, 1, 1, $membday[2]);
| elseif($membday[2]) { $membday = mktime(0, 0, 0, 1, 1, $membday[2]);
|
Zeile 2193 | Zeile 2325 |
---|
}
if($memprofile['birthdayprivacy'] == 'age')
|
}
if($memprofile['birthdayprivacy'] == 'age')
|
{
| {
|
$membday = $lang->birthdayhidden; } else if($memprofile['birthdayprivacy'] == 'none')
| $membday = $lang->birthdayhidden; } else if($memprofile['birthdayprivacy'] == 'none')
|
Zeile 2201 | Zeile 2333 |
---|
$membday = $lang->birthdayhidden; $membdayage = ''; }
|
$membday = $lang->birthdayhidden; $membdayage = ''; }
|
}
| }
|
else
|
else
|
{
| {
|
$membday = $lang->not_specified; $membdayage = '';
|
$membday = $lang->not_specified; $membdayage = '';
|
}
if(!$memprofile['displaygroup']) { $memprofile['displaygroup'] = $memprofile['usergroup']; }
// Grab the following fields from the user's displaygroup $displaygroupfields = array( "title", "usertitle", "stars", "starimage", "image", "usereputationsystem" ); $displaygroup = usergroup_displaygroup($memprofile['displaygroup']);
| }
|
// Get the user title for this user
|
// Get the user title for this user
|
unset($usertitle);
| |
unset($stars);
|
unset($stars);
|
| $usertitle = '';
|
$starimage = ''; if(trim($memprofile['usertitle']) != '') { // User has custom user title $usertitle = $memprofile['usertitle'];
|
$starimage = ''; if(trim($memprofile['usertitle']) != '') { // User has custom user title $usertitle = $memprofile['usertitle'];
|
} elseif(trim($displaygroup['usertitle']) != '') {
| } elseif(trim($memperms['usertitle']) != '') {
|
// User has group title
|
// User has group title
|
$usertitle = $displaygroup['usertitle'];
| $usertitle = $memperms['usertitle'];
|
} else {
|
} else {
|
| if(!isset($usertitles)) { $usertitles = $cache->read('usertitles'); }
|
// No usergroup title so get a default one
|
// No usergroup title so get a default one
|
$usertitles = $cache->read('usertitles');
| |
if(is_array($usertitles)) { foreach($usertitles as $title)
| if(is_array($usertitles)) { foreach($usertitles as $title)
|
Zeile 2258 | Zeile 2377 |
---|
} } }
|
} } }
|
|
|
$usertitle = htmlspecialchars_uni($usertitle);
|
$usertitle = htmlspecialchars_uni($usertitle);
|
if($displaygroup['stars'] || $displaygroup['usertitle'])
| if($memperms['stars'] || $memperms['usertitle'])
|
{ // Set the number of stars if display group has constant number of stars
|
{ // Set the number of stars if display group has constant number of stars
|
$stars = $displaygroup['stars'];
| $stars = $memperms['stars'];
|
}
|
}
|
elseif(!$stars)
| elseif(!isset($stars))
|
{
|
{
|
if(!is_array($usertitles))
| if(!isset($usertitles))
|
{ $usertitles = $cache->read('usertitles');
|
{ $usertitles = $cache->read('usertitles');
|
}
| }
|
// This is for cases where the user has a title, but the group has no defined number of stars (use number of stars as per default usergroups) if(is_array($usertitles))
| // This is for cases where the user has a title, but the group has no defined number of stars (use number of stars as per default usergroups) if(is_array($usertitles))
|
Zeile 2285 | Zeile 2404 |
---|
break; } }
|
break; } }
|
} }
| }
if(!isset($stars)) { $stars = 0; } }
|
$groupimage = '';
|
$groupimage = '';
|
if(!empty($displaygroup['image']))
| if(!empty($memperms['image']))
|
{ if(!empty($mybb->user['language']))
|
{ if(!empty($mybb->user['language']))
|
{
| {
|
$language = $mybb->user['language']; } else { $language = $mybb->settings['bblanguage']; }
|
$language = $mybb->user['language']; } else { $language = $mybb->settings['bblanguage']; }
|
$displaygroup['image'] = str_replace("{lang}", $language, $displaygroup['image']); $displaygroup['image'] = str_replace("{theme}", $theme['imgdir'], $displaygroup['image']);
| $memperms['image'] = str_replace("{lang}", $language, $memperms['image']); $memperms['image'] = str_replace("{theme}", $theme['imgdir'], $memperms['image']);
|
eval("\$groupimage = \"".$templates->get("member_profile_groupimage")."\";"); }
if(empty($starimage)) {
|
eval("\$groupimage = \"".$templates->get("member_profile_groupimage")."\";"); }
if(empty($starimage)) {
|
$starimage = $displaygroup['starimage'];
| $starimage = $memperms['starimage'];
|
}
if(!empty($starimage))
| }
if(!empty($starimage))
|
Zeile 2315 | Zeile 2439 |
---|
$starimage = str_replace("{theme}", $theme['imgdir'], $starimage); $userstars = ''; for($i = 0; $i < $stars; ++$i)
|
$starimage = str_replace("{theme}", $theme['imgdir'], $starimage); $userstars = ''; for($i = 0; $i < $stars; ++$i)
|
{
| {
|
eval("\$userstars .= \"".$templates->get("member_profile_userstar", 1, 0)."\";");
|
eval("\$userstars .= \"".$templates->get("member_profile_userstar", 1, 0)."\";");
|
} }
| } }
|
// User is currently online and this user has permissions to view the user on the WOL $timesearch = TIME_NOW - $mybb->settings['wolcutoffmins']*60; $query = $db->simple_select("sessions", "location,nopermission", "uid='$uid' AND time>'{$timesearch}'", array('order_by' => 'time', 'order_dir' => 'DESC', 'limit' => 1)); $session = $db->fetch_array($query);
|
// User is currently online and this user has permissions to view the user on the WOL $timesearch = TIME_NOW - $mybb->settings['wolcutoffmins']*60; $query = $db->simple_select("sessions", "location,nopermission", "uid='$uid' AND time>'{$timesearch}'", array('order_by' => 'time', 'order_dir' => 'DESC', 'limit' => 1)); $session = $db->fetch_array($query);
|
$online_status = ''; if($memprofile['invisible'] != 1 || $mybb->usergroup['canviewwolinvis'] == 1 || $memprofile['uid'] == $mybb->user['uid'])
| $timeonline = $lang->none_registered; $memlastvisitdate = $lang->lastvisit_never; $last_seen = max(array($memprofile['lastactive'], $memprofile['lastvisit'])); if(!empty($last_seen))
|
{
|
{
|
// Lastvisit if($memprofile['lastactive'])
| // We have some stamp here if($memprofile['invisible'] == 1 && $mybb->usergroup['canviewwolinvis'] != 1 && $memprofile['uid'] != $mybb->user['uid'])
|
{
|
{
|
$memlastvisitsep = $lang->comma; $memlastvisitdate = my_date('relative', $memprofile['lastactive']); }
// Time Online $timeonline = $lang->none_registered; if($memprofile['timeonline'] > 0) { $timeonline = nice_time($memprofile['timeonline']); }
// Online? if(!empty($session)) { // Fetch their current location $lang->load("online"); require_once MYBB_ROOT."inc/functions_online.php"; $activity = fetch_wol_activity($session['location'], $session['nopermission']); $location = build_friendly_wol_location($activity); $location_time = my_date($mybb->settings['timeformat'], $memprofile['lastactive']);
eval("\$online_status = \"".$templates->get("member_profile_online")."\";"); } // User is offline else { eval("\$online_status = \"".$templates->get("member_profile_offline")."\";"); } }
if($memprofile['invisible'] == 1 && $mybb->usergroup['canviewwolinvis'] != 1 && $memprofile['uid'] != $mybb->user['uid']) { $memlastvisitsep = ''; $memlastvisittime = ''; $memlastvisitdate = $lang->lastvisit_never;
if($memprofile['lastactive']) { // We have had at least some active time, hide it instead
| |
$memlastvisitdate = $lang->lastvisit_hidden;
|
$memlastvisitdate = $lang->lastvisit_hidden;
|
| $online_status = $timeonline = $lang->timeonline_hidden;
|
}
|
}
|
$timeonline = $lang->timeonline_hidden;
| else { $memlastvisitdate = my_date('relative', $last_seen);
if($memprofile['timeonline'] > 0) { $timeonline = nice_time($memprofile['timeonline']); }
// Online? if(!empty($session)) { // Fetch their current location $lang->load("online"); require_once MYBB_ROOT."inc/functions_online.php"; $activity = fetch_wol_activity($session['location'], $session['nopermission']); $location = build_friendly_wol_location($activity); $location_time = my_date($mybb->settings['timeformat'], $last_seen);
eval("\$online_status = \"".$templates->get("member_profile_online")."\";"); } } }
if(!isset($online_status)) { eval("\$online_status = \"".$templates->get("member_profile_offline")."\";");
|
}
// Reset the background colours to keep it inline $alttrow = 'trow1';
|
}
// Reset the background colours to keep it inline $alttrow = 'trow1';
|
|
|
// Build Referral $referrals = ''; if($mybb->settings['usereferrals'] == 1)
|
// Build Referral $referrals = ''; if($mybb->settings['usereferrals'] == 1)
|
{ $bg_color = alt_trow();
eval("\$referrals = \"".$templates->get("member_profile_referrals")."\";");
| { $bg_color = alt_trow();
$uid = (int) $memprofile['uid']; $referral_count = $memprofile['referrals']; if ($referral_count > 0) { eval("\$memprofile['referrals'] = \"".$templates->get('member_referrals_link')."\";"); }
eval("\$referrals = \"".$templates->get('member_profile_referrals')."\";");
|
}
// Fetch the reputation for this user $reputation = '';
|
}
// Fetch the reputation for this user $reputation = '';
|
if($memperms['usereputationsystem'] == 1 && $displaygroup['usereputationsystem'] == 1 && $mybb->settings['enablereputation'] == 1) {
| if($memperms['usereputationsystem'] == 1 && $mybb->settings['enablereputation'] == 1) {
|
$bg_color = alt_trow(); $reputation = get_reputation($memprofile['reputation']);
| $bg_color = alt_trow(); $reputation = get_reputation($memprofile['reputation']);
|
Zeile 2409 | Zeile 2528 |
---|
if($mybb->settings['enablewarningsystem'] != 0 && $memperms['canreceivewarnings'] != 0 && ($mybb->usergroup['canwarnusers'] != 0 || ($mybb->user['uid'] == $memprofile['uid'] && $mybb->settings['canviewownwarning'] != 0))) { $bg_color = alt_trow();
|
if($mybb->settings['enablewarningsystem'] != 0 && $memperms['canreceivewarnings'] != 0 && ($mybb->usergroup['canwarnusers'] != 0 || ($mybb->user['uid'] == $memprofile['uid'] && $mybb->settings['canviewownwarning'] != 0))) { $bg_color = alt_trow();
|
| if($mybb->settings['maxwarningpoints'] < 1) { $mybb->settings['maxwarningpoints'] = 10; }
|
$warning_level = round($memprofile['warningpoints']/$mybb->settings['maxwarningpoints']*100);
if($warning_level > 100)
|
$warning_level = round($memprofile['warningpoints']/$mybb->settings['maxwarningpoints']*100);
if($warning_level > 100)
|
{
| {
|
$warning_level = 100; }
|
$warning_level = 100; }
|
$warn_user = ''; $warning_link = 'usercp.php';
| |
$warning_level = get_colored_warning_level($warning_level);
|
$warning_level = get_colored_warning_level($warning_level);
|
if($mybb->usergroup['canwarnusers'] != 0 && $memprofile['uid'] != $mybb->user['uid'])
| if($mybb->usergroup['canwarnusers'] != 0)
|
{ eval("\$warn_user = \"".$templates->get("member_profile_warn")."\";");
|
{ eval("\$warn_user = \"".$templates->get("member_profile_warn")."\";");
|
$warning_link = "warnings.php?uid={$memprofile['uid']}";
| eval("\$warning_level = \"".$templates->get("member_profile_warninglevel_link")."\";"); } else { eval("\$warning_level = \"".$templates->get("member_profile_warninglevel")."\";");
|
}
|
}
|
eval("\$warning_level = \"".$templates->get("member_profile_warninglevel")."\";");
| |
}
$bgcolor = $alttrow = 'trow1';
| }
$bgcolor = $alttrow = 'trow1';
|
Zeile 2441 | Zeile 2566 |
---|
{ foreach($pfcache as $customfield) {
|
{ foreach($pfcache as $customfield) {
|
if($mybb->usergroup['cancp'] != 1 && $mybb->usergroup['issupermod'] != 1 && $mybb->usergroup['canmodcp'] != 1 && ($customfield['viewableby'] == '' || ($customfield['viewableby'] != -1 && !is_member($customfield['viewableby']))))
| if($mybb->usergroup['cancp'] != 1 && $mybb->usergroup['issupermod'] != 1 && $mybb->usergroup['canmodcp'] != 1 && !is_member($customfield['viewableby']) || !$customfield['profile'])
|
{ continue; }
| { continue; }
|
Zeile 2491 | Zeile 2616 |
---|
$parser_options['nl2br'] = 0; }
|
$parser_options['nl2br'] = 0; }
|
if($mybb->user['showimages'] != 1 && $mybb->user['uid'] != 0 || $mybb->settings['guestimages'] != 1 && $mybb->user['uid'] == 0)
| if($mybb->user['uid'] != 0 && $mybb->user['showimages'] != 1 || $mybb->settings['guestimages'] != 1 && $mybb->user['uid'] == 0)
|
{ $parser_options['allow_imgcode'] = 0; }
| { $parser_options['allow_imgcode'] = 0; }
|
Zeile 2499 | Zeile 2624 |
---|
$customfieldval = $parser->parse_message($userfields[$field], $parser_options); } }
|
$customfieldval = $parser->parse_message($userfields[$field], $parser_options); } }
|
|
|
if($customfieldval) { $customfield['name'] = htmlspecialchars_uni($customfield['name']);
| if($customfieldval) { $customfield['name'] = htmlspecialchars_uni($customfield['name']);
|
Zeile 2521 | Zeile 2646 |
---|
$lang->tpd_percent_total = $lang->sprintf($lang->tpd_percent_total, my_number_format($tpd), $thread_percent);
$formattedname = format_name($memprofile['username'], $memprofile['usergroup'], $memprofile['displaygroup']);
|
$lang->tpd_percent_total = $lang->sprintf($lang->tpd_percent_total, my_number_format($tpd), $thread_percent);
$formattedname = format_name($memprofile['username'], $memprofile['usergroup'], $memprofile['displaygroup']);
|
| $bannedbit = ''; if($memperms['isbannedgroup'] == 1 && $mybb->usergroup['canbanusers'] == 1) { // Fetch details on their ban $query = $db->simple_select('banned b LEFT JOIN '.TABLE_PREFIX.'users a ON (b.admin=a.uid)', 'b.*, a.username AS adminuser', "b.uid='{$uid}'", array('limit' => 1));
if($db->num_rows($query)) { $memban = $db->fetch_array($query);
if($memban['reason']) { $memban['reason'] = htmlspecialchars_uni($parser->parse_badwords($memban['reason'])); } else { $memban['reason'] = $lang->na; }
if($memban['lifted'] == 'perm' || $memban['lifted'] == '' || $memban['bantime'] == 'perm' || $memban['bantime'] == '---') { $banlength = $lang->permanent; $timeremaining = $lang->na; $banned_class = "normal_banned"; } else { // Set up the array of ban times. $bantimes = fetch_ban_times();
$banlength = $bantimes[$memban['bantime']]; $remaining = $memban['lifted']-TIME_NOW;
$timeremaining = nice_time($remaining, array('short' => 1, 'seconds' => false))."";
$banned_class = ''; if($remaining < 3600) { $banned_class = "high_banned"; } else if($remaining < 86400) { $banned_class = "moderate_banned"; } else if($remaining < 604800) { $banned_class = "low_banned"; } else { $banned_class = "normal_banned"; } } eval('$timeremaining = "'.$templates->get('member_profile_banned_remaining').'";');
$memban['adminuser'] = build_profile_link(htmlspecialchars_uni($memban['adminuser']), $memban['admin']);
// Display a nice warning to the user eval('$bannedbit = "'.$templates->get('member_profile_banned').'";'); } else { // TODO: more specific output for converted/merged boards where no ban record is merged. $bannedbit = ''; } }
|
$adminoptions = ''; if($mybb->usergroup['cancp'] == 1 && $mybb->config['hide_admin_links'] != 1) {
|
$adminoptions = ''; if($mybb->usergroup['cancp'] == 1 && $mybb->config['hide_admin_links'] != 1) {
|
eval("\$adminoptions = \"".$templates->get("member_profile_adminoptions")."\";");
| if($memperms['isbannedgroup'] == 1) { eval("\$adminoptions = \"".$templates->get("member_profile_adminoptions_manageban")."\";"); } else { eval("\$adminoptions = \"".$templates->get("member_profile_adminoptions")."\";"); }
|
}
|
}
|
$modoptions = $viewnotes = $editnotes = $editprofile = $banuser = $manageuser = '';
| $modoptions = $viewnotes = $editnotes = $editprofile = $banuser = $manageban = $manageuser = '';
|
$can_purge_spammer = purgespammer_show($memprofile['postnum'], $memprofile['usergroup'], $memprofile['uid']); if($mybb->usergroup['canmodcp'] == 1 || $can_purge_spammer) {
|
$can_purge_spammer = purgespammer_show($memprofile['postnum'], $memprofile['usergroup'], $memprofile['uid']); if($mybb->usergroup['canmodcp'] == 1 || $can_purge_spammer) {
|
| if($mybb->usergroup['canuseipsearch'] == 1) { $memprofile['regip'] = my_inet_ntop($db->unescape_binary($memprofile['regip'])); $memprofile['lastip'] = my_inet_ntop($db->unescape_binary($memprofile['lastip']));
eval("\$ipaddress = \"".$templates->get("member_profile_modoptions_ipaddress")."\";"); }
|
$memprofile['usernotes'] = nl2br(htmlspecialchars_uni($memprofile['usernotes']));
if(!empty($memprofile['usernotes']))
| $memprofile['usernotes'] = nl2br(htmlspecialchars_uni($memprofile['usernotes']));
if(!empty($memprofile['usernotes']))
|
Zeile 2540 | Zeile 2747 |
---|
{ eval("\$viewnotes = \"".$templates->get("member_profile_modoptions_viewnotes")."\";"); $memprofile['usernotes'] = my_substr($memprofile['usernotes'], 0, 100)."... {$viewnotes}";
|
{ eval("\$viewnotes = \"".$templates->get("member_profile_modoptions_viewnotes")."\";"); $memprofile['usernotes'] = my_substr($memprofile['usernotes'], 0, 100)."... {$viewnotes}";
|
}
| }
|
} else { $memprofile['usernotes'] = $lang->no_usernotes; }
|
} else { $memprofile['usernotes'] = $lang->no_usernotes; }
|
if($mybb->usergroup['caneditprofiles'] == 1)
| if($mybb->usergroup['caneditprofiles'] == 1 && modcp_can_manage_user($memprofile['uid']))
|
{
|
{
|
eval("\$editprofile = \"".$templates->get("member_profile_modoptions_editprofile")."\";"); eval("\$editnotes = \"".$templates->get("member_profile_modoptions_editnotes")."\";"); }
if($mybb->usergroup['canbanusers'] == 1) { eval("\$banuser = \"".$templates->get("member_profile_modoptions_banuser")."\";");
| if(modcp_can_manage_user($memprofile['uid'])) { eval("\$editprofile = \"".$templates->get("member_profile_modoptions_editprofile")."\";"); eval("\$editnotes = \"".$templates->get("member_profile_modoptions_editnotes")."\";"); } }
if($memperms['isbannedgroup'] == 1 && $mybb->usergroup['canbanusers'] == 1 && modcp_can_manage_user($memprofile['uid'])) { eval("\$manageban = \"".$templates->get("member_profile_modoptions_manageban")."\";"); } elseif(modcp_can_manage_user($memprofile['uid']) && $mybb->usergroup['canbanusers'] == 1) { if(modcp_can_manage_user($memprofile['uid']) && $mybb->usergroup['canbanusers'] == 1) { eval("\$banuser = \"".$templates->get("member_profile_modoptions_banuser")."\";"); }
|
}
|
}
|
| $purgespammer = '';
|
if($can_purge_spammer)
|
if($can_purge_spammer)
|
{ eval("\$purgespammer = \"".$templates->get('member_profile_modoptions_purgespammer')."\";"); }
| { eval("\$purgespammer = \"".$templates->get('member_profile_modoptions_purgespammer')."\";"); }
|
|
|
if(!empty($editprofile) || !empty($banuser) || !empty($purgespammer))
| if(!empty($editprofile) || !empty($banuser) || !empty($manageban) || !empty($purgespammer))
|
{ eval("\$manageuser = \"".$templates->get("member_profile_modoptions_manageuser")."\";");
|
{ eval("\$manageuser = \"".$templates->get("member_profile_modoptions_manageuser")."\";");
|
}
| }
|
eval("\$modoptions = \"".$templates->get("member_profile_modoptions")."\";"); }
| eval("\$modoptions = \"".$templates->get("member_profile_modoptions")."\";"); }
|
Zeile 2577 | Zeile 2796 |
---|
{ $buddy_list = explode(',', $mybb->user['buddylist']); $ignore_list = explode(',', $mybb->user['ignorelist']);
|
{ $buddy_list = explode(',', $mybb->user['buddylist']); $ignore_list = explode(',', $mybb->user['ignorelist']);
|
|
|
if(in_array($uid, $buddy_list)) { $add_remove_options = array('url' => "usercp.php?action=do_editlists&delete={$uid}&my_post_key={$mybb->post_code}", 'class' => 'remove_buddy_button', 'lang' => $lang->remove_from_buddy_list);
|
if(in_array($uid, $buddy_list)) { $add_remove_options = array('url' => "usercp.php?action=do_editlists&delete={$uid}&my_post_key={$mybb->post_code}", 'class' => 'remove_buddy_button', 'lang' => $lang->remove_from_buddy_list);
|
} else
| } else
|
{ $add_remove_options = array('url' => "usercp.php?action=do_editlists&add_username=".urlencode($memprofile['username'])."&my_post_key={$mybb->post_code}", 'class' => 'add_buddy_button', 'lang' => $lang->add_to_buddy_list); }
| { $add_remove_options = array('url' => "usercp.php?action=do_editlists&add_username=".urlencode($memprofile['username'])."&my_post_key={$mybb->post_code}", 'class' => 'add_buddy_button', 'lang' => $lang->add_to_buddy_list); }
|
Zeile 2602 | Zeile 2821 |
---|
}
if(!in_array($uid, $buddy_list))
|
}
if(!in_array($uid, $buddy_list))
|
{
| {
|
eval("\$ignore_options = \"".$templates->get("member_profile_addremove")."\";"); // Add/Remove Ignore
|
eval("\$ignore_options = \"".$templates->get("member_profile_addremove")."\";"); // Add/Remove Ignore
|
}
| }
|
if(isset($memperms['canbereported']) && $memperms['canbereported'] == 1)
|
if(isset($memperms['canbereported']) && $memperms['canbereported'] == 1)
|
{ $add_remove_options = array('url' => "javascript:Report.reportUser({$memprofile['uid']});", 'class' => 'report_user_button', 'lang' => $lang->report_user); eval("\$report_options = \"".$templates->get("member_profile_addremove")."\";"); // Report User } }
$plugins->run_hooks("member_profile_end");
| { $reportable = true; $query = $db->simple_select("reportedcontent", "reporters", "reportstatus != '1' AND id = '{$memprofile['uid']}' AND type = 'profile'"); if($db->num_rows($query)) { $report = $db->fetch_array($query); $report['reporters'] = my_unserialize($report['reporters']); if(is_array($report['reporters']) && in_array($mybb->user['uid'], $report['reporters'])) { $reportable = false; } } if($reportable) { $add_remove_options = array('url' => "javascript:Report.reportUser({$memprofile['uid']});", 'class' => 'report_user_button', 'lang' => $lang->report_user); eval("\$report_options = \"".$templates->get("member_profile_addremove")."\";"); // Report User } } }
$plugins->run_hooks("member_profile_end");
|
eval("\$profile = \"".$templates->get("member_profile")."\";"); output_page($profile); }
|
eval("\$profile = \"".$templates->get("member_profile")."\";"); output_page($profile); }
|
|
|
if($mybb->input['action'] == "do_emailuser" && $mybb->request_method == "post") { // Verify incoming POST request verify_post_check($mybb->get_input('my_post_key'));
$plugins->run_hooks("member_do_emailuser_start");
|
if($mybb->input['action'] == "do_emailuser" && $mybb->request_method == "post") { // Verify incoming POST request verify_post_check($mybb->get_input('my_post_key'));
$plugins->run_hooks("member_do_emailuser_start");
|
// Guests or those without permission can't email other users if($mybb->usergroup['cansendemail'] == 0) { error_no_permission(); }
// Check group limits if($mybb->usergroup['maxemails'] > 0) { if($mybb->user['uid'] > 0) { $user_check = "fromuid='{$mybb->user['uid']}'"; } 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))."'"); $sent_count = $db->fetch_field($query, "sent_count"); if($sent_count >= $mybb->usergroup['maxemails']) { $lang->error_max_emails_day = $lang->sprintf($lang->error_max_emails_day, $mybb->usergroup['maxemails']); error($lang->error_max_emails_day); } }
// Check email flood control if($mybb->usergroup['emailfloodtime'] > 0) { if($mybb->user['uid'] > 0) { $user_check = "fromuid='{$mybb->user['uid']}'"; } else { $user_check = "ipaddress=".$db->escape_binary($session->packedip); }
$timecut = TIME_NOW-$mybb->usergroup['emailfloodtime']*60;
$query = $db->simple_select("maillogs", "mid, dateline", "{$user_check} AND dateline > '{$timecut}'", array('order_by' => "dateline", 'order_dir' => "DESC")); $last_email = $db->fetch_array($query);
// Users last email was within the flood time, show the error if($last_email['mid']) { $remaining_time = ($mybb->usergroup['emailfloodtime']*60)-(TIME_NOW-$last_email['dateline']);
if($remaining_time == 1) { $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_1_second, $mybb->usergroup['emailfloodtime']); } elseif($remaining_time < 60) { $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_seconds, $mybb->usergroup['emailfloodtime'], $remaining_time); } elseif($remaining_time > 60 && $remaining_time < 120) { $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_1_minute, $mybb->usergroup['emailfloodtime']);
| // Guests or those without permission can't email other users if($mybb->usergroup['cansendemail'] == 0) { error_no_permission(); }
// Check group limits if($mybb->usergroup['maxemails'] > 0) { if($mybb->user['uid'] > 0) { $user_check = "fromuid='{$mybb->user['uid']}'"; } 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))."'"); $sent_count = $db->fetch_field($query, "sent_count"); if($sent_count >= $mybb->usergroup['maxemails']) { $lang->error_max_emails_day = $lang->sprintf($lang->error_max_emails_day, $mybb->usergroup['maxemails']); error($lang->error_max_emails_day); } }
// Check email flood control if($mybb->usergroup['emailfloodtime'] > 0) { if($mybb->user['uid'] > 0) { $user_check = "fromuid='{$mybb->user['uid']}'"; } else { $user_check = "ipaddress=".$db->escape_binary($session->packedip); }
$timecut = TIME_NOW-$mybb->usergroup['emailfloodtime']*60;
$query = $db->simple_select("maillogs", "mid, dateline", "{$user_check} AND dateline > '{$timecut}'", array('order_by' => "dateline", 'order_dir' => "DESC")); $last_email = $db->fetch_array($query);
// Users last email was within the flood time, show the error if(isset($last_email['mid'])) { $remaining_time = ($mybb->usergroup['emailfloodtime']*60)-(TIME_NOW-$last_email['dateline']);
if($remaining_time == 1) { $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_1_second, $mybb->usergroup['emailfloodtime']); } elseif($remaining_time < 60) { $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_seconds, $mybb->usergroup['emailfloodtime'], $remaining_time); } elseif($remaining_time > 60 && $remaining_time < 120) { $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_1_minute, $mybb->usergroup['emailfloodtime']);
|
} else {
| } else {
|
Zeile 2695 | Zeile 2928 |
---|
error($lang->error_emailflooding); }
|
error($lang->error_emailflooding); }
|
}
$query = $db->simple_select("users", "uid, username, email, hideemail", "uid='".$mybb->get_input('uid', 1)."'");
| }
$query = $db->simple_select("users", "uid, username, email, hideemail", "uid='".$mybb->get_input('uid', MyBB::INPUT_INT)."'");
|
$to_user = $db->fetch_array($query);
if(!$to_user['username'])
|
$to_user = $db->fetch_array($query);
if(!$to_user['username'])
|
{
| {
|
error($lang->error_invalidusername); }
if($to_user['hideemail'] != 0)
|
error($lang->error_invalidusername); }
if($to_user['hideemail'] != 0)
|
{
| {
|
error($lang->error_hideemail);
|
error($lang->error_hideemail);
|
}
$errors = array();
| }
$errors = array();
if($mybb->user['uid']) { $mybb->input['fromemail'] = $mybb->user['email']; $mybb->input['fromname'] = $mybb->user['username']; }
|
if(!validate_email_format($mybb->input['fromemail'])) { $errors[] = $lang->error_invalidfromemail;
|
if(!validate_email_format($mybb->input['fromemail'])) { $errors[] = $lang->error_invalidfromemail;
|
}
| }
|
if(empty($mybb->input['fromname'])) { $errors[] = $lang->error_noname;
| if(empty($mybb->input['fromname'])) { $errors[] = $lang->error_noname;
|
Zeile 2725 | Zeile 2964 |
---|
if(empty($mybb->input['subject'])) { $errors[] = $lang->error_no_email_subject;
|
if(empty($mybb->input['subject'])) { $errors[] = $lang->error_no_email_subject;
|
}
| }
|
if(empty($mybb->input['message'])) { $errors[] = $lang->error_no_email_message;
| if(empty($mybb->input['message'])) { $errors[] = $lang->error_no_email_message;
|
Zeile 2759 | Zeile 2998 |
---|
}
$message = $lang->sprintf($lang->email_emailuser, $to_user['username'], $mybb->input['fromname'], $mybb->settings['bbname'], $mybb->settings['bburl'], $mybb->get_input('message'));
|
}
$message = $lang->sprintf($lang->email_emailuser, $to_user['username'], $mybb->input['fromname'], $mybb->settings['bbname'], $mybb->settings['bburl'], $mybb->get_input('message'));
|
my_mail($to_user['email'], $mybb->get_input('subject'), $message, $from, "", "", false, "text", "", $mybb->input['fromemail']);
| my_mail($to_user['email'], $mybb->get_input('subject'), $message, '', '', '', false, 'text', '', $from);
|
if($mybb->settings['mail_logging'] > 0) {
| if($mybb->settings['mail_logging'] > 0) {
|
Zeile 2801 | Zeile 3040 |
---|
// 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']}'"; } else {
| { if($mybb->user['uid'] > 0) { $user_check = "fromuid='{$mybb->user['uid']}'"; } else {
|
$user_check = "ipaddress=".$db->escape_binary($session->packedip); }
| $user_check = "ipaddress=".$db->escape_binary($session->packedip); }
|
Zeile 2838 | Zeile 3077 |
---|
$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(isset($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 2864 | Zeile 3103 |
---|
} }
|
} }
|
$query = $db->simple_select("users", "uid, username, email, hideemail, ignorelist", "uid='".$mybb->get_input('uid', 1)."'");
| $query = $db->simple_select("users", "uid, username, email, hideemail, ignorelist", "uid='".$mybb->get_input('uid', MyBB::INPUT_INT)."'");
|
$to_user = $db->fetch_array($query);
|
$to_user = $db->fetch_array($query);
|
| $to_user['username'] = htmlspecialchars_uni($to_user['username']);
|
$lang->email_user = $lang->sprintf($lang->email_user, $to_user['username']);
if(!$to_user['uid'])
| $lang->email_user = $lang->sprintf($lang->email_user, $to_user['username']);
if(!$to_user['uid'])
|
Zeile 2921 | Zeile 3161 |
---|
if($mybb->user['uid'] == 0) { eval("\$from_email = \"".$templates->get("member_emailuser_guest")."\";");
|
if($mybb->user['uid'] == 0) { eval("\$from_email = \"".$templates->get("member_emailuser_guest")."\";");
|
| }
$plugins->run_hooks("member_emailuser_end");
eval("\$emailuser = \"".$templates->get("member_emailuser")."\";"); output_page($emailuser); }
if($mybb->input['action'] == 'referrals') { $plugins->run_hooks('member_referrals_start');
$uid = $mybb->get_input('uid', MyBB::INPUT_INT); if(!$uid) { error($lang->referrals_no_user_specified); }
$user = get_user($uid); if(!$user['$uid']) { error($lang->referrals_invalid_user); }
$lang->nav_referrals = $lang->sprintf($lang->nav_referrals, $user['username']); add_breadcrumb($lang->nav_referrals);
$query = $db->simple_select('users', 'COUNT(uid) AS total', "referrer='{$uid}'"); $referral_count = $db->fetch_field($query, 'total');
$bg_color = 'trow1';
if($referral_count == 0) { eval("\$referral_rows = \"".$templates->get('member_no_referrals')."\";");
|
} else {
|
} else {
|
eval("\$from_email = \"".$templates->get("member_emailuser_hidden")."\";");
| // Figure out if we need to display multiple pages. $perpage = 20; if ((int) $mybb->settings['referralsperpage']) { $perpage = (int) $mybb->settings['referralsperpage']; }
$page = 1; if($mybb->get_input('page', MyBB::INPUT_INT)) { $page = $mybb->get_input('page', MyBB::INPUT_INT); }
$pages = ceil($referral_count / $perpage);
if($page > $pages || $page <= 0) { $page = 1; }
if($page) { $start = ($page-1) * $perpage; } else { $start = 0; $page = 1; }
$multipage = multipage($referral_count, $perpage, $page, "member.php?action=referrals&uid={$uid}");
foreach(get_user_referrals($uid, $start, $perpage) as $referral) { // Format user name link $username = htmlspecialchars_uni($referral['username']); $username = format_name($username, $referral['usergroup'], $referral['displaygroup']); $username = build_profile_link($username, $referral['uid']);
$regdate = my_date('normal', $referral['regdate']);
eval("\$referral_rows .= \"".$templates->get('member_referral_row')."\";");
$bg_color = alt_trow(); }
|
}
|
}
|
$plugins->run_hooks("member_emailuser_end");
eval("\$emailuser = \"".$templates->get("member_emailuser")."\";"); output_page($emailuser);
| $plugins->run_hooks('member_referrals_end');
eval("\$referrals = \"".$templates->get("member_referrals")."\";"); output_page($referrals);
|
}
if(!$mybb->input['action'])
| }
if(!$mybb->input['action'])
|