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,member_profile_banned";
| $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'])
|
Zeile 120 | Zeile 126 |
---|
if(!empty($mybb->input[$string])) { error($lang->error_spam_deny);
|
if(!empty($mybb->input[$string])) { error($lang->error_spam_deny);
|
}
| }
|
}
|
}
|
|
|
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 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'),
| "regip" => $session->packedip, "coppa_user" => $coppauser, "regcheck1" => $mybb->get_input('regcheck1'),
|
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()) { $errors = $userhandler->get_friendly_errors();
|
if(!$userhandler->validate_user()) { $errors = $userhandler->get_friendly_errors();
|
}
| }
|
if($mybb->settings['enablestopforumspam_on_register']) { require_once MYBB_ROOT . '/inc/class_stopforumspamchecker.php';
| if($mybb->settings['enablestopforumspam_on_register']) { require_once MYBB_ROOT . '/inc/class_stopforumspamchecker.php';
|
Zeile 210 | Zeile 223 |
---|
$mybb->settings['stopforumspam_check_ips'], $mybb->settings['stopforumspam_log_blocks'] );
|
$mybb->settings['stopforumspam_check_ips'], $mybb->settings['stopforumspam_log_blocks'] );
|
|
|
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) { if($mybb->settings['stopforumspam_block_on_error'])
| catch (Exception $e) { if($mybb->settings['stopforumspam_block_on_error'])
|
Zeile 237 | Zeile 255 |
---|
foreach($captcha->get_errors() as $error) { $errors[] = $error;
|
foreach($captcha->get_errors() as $error) { $errors[] = $error;
|
} } }
| } } }
|
// 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'])
|
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)
| if($mybb->get_input('hideemail', MyBB::INPUT_INT) == 1)
|
{ $hideemailcheck = "checked=\"checked\"";
|
{ $hideemailcheck = "checked=\"checked\"";
|
}
| }
|
|
|
if($mybb->get_input('subscriptionmethod', 1) == 1) {
| 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\""; }
|
Zeile 325 | Zeile 344 |
---|
$no_auto_subscribe_selected = "selected=\"selected\""; }
|
$no_auto_subscribe_selected = "selected=\"selected\""; }
|
if($mybb->get_input('receivepms', 1) == 1)
| if($mybb->get_input('receivepms', MyBB::INPUT_INT) == 1)
|
{ $receivepmscheck = "checked=\"checked\"";
|
{ $receivepmscheck = "checked=\"checked\"";
|
}
if($mybb->get_input('pmnotice', 1) == 1)
| }
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\""; } else if($mybb->get_input('dstcorrection', MyBB::INPUT_INT) == 1)
|
{
|
{
|
$dst_auto_selected = "selected=\"selected\""; } else if($mybb->get_input('dstcorrection', 1) == 1) { $dst_enabled_selected = "selected=\"selected\"";
| $dst_enabled_selected = "selected=\"selected\"";
|
} else { $dst_disabled_selected = "selected=\"selected\"";
|
} else { $dst_disabled_selected = "selected=\"selected\"";
|
}
| }
|
$regerrors = inline_error($errors); $mybb->input['action'] = "register";
| $regerrors = inline_error($errors); $mybb->input['action'] = "register";
|
Zeile 365 | Zeile 384 |
---|
else { $user_info = $userhandler->insert_user();
|
else { $user_info = $userhandler->insert_user();
|
|
|
// Invalidate solved captcha if($mybb->settings['captchaimage'])
|
// Invalidate solved captcha if($mybb->settings['captchaimage'])
|
{
| {
|
$captcha->invalidate_captcha();
|
$captcha->invalidate_captcha();
|
}
if($mybb->settings['regtype'] != "randompass" && !isset($mybb->cookies['coppauser'])) { // Log them in my_setcookie("mybbuser", $user_info['uid']."_".$user_info['loginkey'], null, true); }
if(isset($mybb->cookies['coppauser']))
| }
if($mybb->settings['regtype'] != "randompass" && empty($mybb->cookies['coppauser'])) { // Log them in my_setcookie("mybbuser", $user_info['uid']."_".$user_info['loginkey'], null, true, "lax"); }
if(!empty($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']);
$plugins->run_hooks("member_do_register_end");
| ); $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); } else if($mybb->settings['regtype'] == "randompass")
| error($lang->redirect_registered_activation); } else if($mybb->settings['regtype'] == "randompass")
|
Zeile 427 | Zeile 446 |
---|
switch($mybb->settings['username_method']) { case 0:
|
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']);
| $emailmessage = $lang->sprintf($lang->email_randompassword1, $user['username'], $mybb->settings['bbname'], $user_info['username'], $mybb->get_input('password'));
|
break; case 2:
|
break; case 2:
|
$emailmessage = $lang->sprintf($lang->email_randompassword2, $user['username'], $mybb->settings['bbname'], $user_info['username'], $user_info['password']);
| $emailmessage = $lang->sprintf($lang->email_randompassword2, $user['username'], $mybb->settings['bbname'], $user_info['username'], $mybb->get_input('password'));
|
break; default:
|
break; 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; } my_mail($user_info['email'], $emailsubject, $emailmessage);
|
break; } 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'] != $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->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");
|
$plugins->run_hooks("member_do_register_end");
|
error($lang->redirect_registered_passwordsent);
| error($lang->redirect_registered_admin_activate);
|
}
|
}
|
else if($mybb->settings['regtype'] == "admin")
| else if($mybb->settings['regtype'] == "both")
|
{ $groups = $cache->read("usergroups"); $admingroups = array();
| { $groups = $cache->read("usergroups"); $admingroups = array();
|
Zeile 493 | Zeile 600 |
---|
// Verify if we have permissions to access user-users require_once MYBB_ROOT.$mybb->config['admin_dir']."/modules/user/module_meta.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']);
|
// Get admin permissions $adminperms = get_admin_permissions($recipient['uid']);
|
$permissions = user_admin_permissions(); if(array_key_exists('users', $permissions['permissions']) && $adminperms['user']['users'] != 1)
| if(empty($adminperms['user']['users']) || $adminperms['user']['users'] != 1)
|
{ continue; // No permissions }
|
{ continue; // No permissions }
|
} }
| }
|
// 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']); $lang->load("member"); }
|
{ $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);
| $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);
|
Zeile 522 | Zeile 624 |
---|
// Reset language if(isset($reset_lang)) {
|
// 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); } 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"; 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->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 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 690 | Zeile 704 |
---|
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[$mybb->input['bday2']] = "selected=\"selected\"";
|
$bdaymonthsel = array(); foreach(range(1, 12) as $number) { $bdaymonthsel[$number] = ''; } $bdaymonthsel[$mybb->input['bday2']] = "selected=\"selected\"";
|
$mybb->input['bday3'] = $mybb->get_input('bday3', 1);
| $birthday_year = $mybb->get_input('bday3', MyBB::INPUT_INT);
|
|
|
if($mybb->input['bday3'] == 0)
| if($birthday_year == 0)
|
{
|
{
|
$mybb->input['bday3'] = '';
| $birthday_year = '';
|
}
|
}
|
| $under_thirteen = false;
|
// 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'])
| if($mybb->input['bday1'] && $mybb->input['bday2'] && $birthday_year)
|
{ my_unsetcookie("coppauser");
|
{ 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])
| $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)) { my_setcookie("coppauser", 1, -0); $under_thirteen = true;
|
// 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)) { my_setcookie("coppauser", 1, -0); $under_thirteen = true;
|
| } else { my_setcookie("coppauser", 0, -0);
|
} $mybb->request_method = ""; } // Show DOB select form else
|
} $mybb->request_method = ""; } // Show DOB select form else
|
{
| {
|
$plugins->run_hooks("member_register_coppa");
my_unsetcookie("coppauser");
|
$plugins->run_hooks("member_register_coppa");
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;
|
} }
| } }
|
if((!isset($mybb->input['agree']) && !isset($mybb->input['regsubmit'])) && $fromreg == 0 || $mybb->request_method != "post") { $coppa_agreement = ''; // Is this user a COPPA user? We need to show the COPPA agreement too
|
if((!isset($mybb->input['agree']) && !isset($mybb->input['regsubmit'])) && $fromreg == 0 || $mybb->request_method != "post") { $coppa_agreement = ''; // Is this user a COPPA user? We need to show the COPPA agreement too
|
if($mybb->settings['coppa'] != "disabled" && ($mybb->cookies['coppauser'] == 1 || $under_thirteen))
| if($mybb->settings['coppa'] != "disabled" && (!empty($mybb->cookies['coppauser']) || $under_thirteen))
|
{ if($mybb->settings['coppa'] == "deny") {
| { if($mybb->settings['coppa'] == "deny") {
|
Zeile 766 | Zeile 787 |
---|
else { $plugins->run_hooks("member_register_start");
|
else { $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');
| if(isset($mybb->input['timezoneoffset'])) { $timezoneoffset = $mybb->get_input('timezoneoffset');
|
Zeile 817 | Zeile 842 |
---|
{ $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)) { $ref = get_user_by_username($referrername);
|
$referrername = $ref['username']; } elseif(!empty($referrername)) { $ref = get_user_by_username($referrername);
|
if(!$ref['uid'])
| if(!$ref)
|
{ $errors[] = $lang->error_badreferrer; }
| { $errors[] = $lang->error_badreferrer; }
|
Zeile 851 | Zeile 878 |
---|
{ $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 896 |
---|
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 892 | Zeile 924 |
---|
} if($type == "multiselect") {
|
} if($type == "multiselect") {
|
if($errors)
| if(!empty($errors))
|
{ $useropts = $userfield; }
| { $useropts = $userfield; }
|
Zeile 916 | Zeile 948 |
---|
$val = str_replace("\n", "\\n", $val);
$sel = "";
|
$val = str_replace("\n", "\\n", $val);
$sel = "";
|
if($val == $seloptions[$val])
| if(isset($seloptions[$val]) && $val == $seloptions[$val])
|
{
|
{
|
$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 943 | Zeile 975 |
---|
$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 965 | Zeile 997 |
---|
{ $checked = ""; if($val == $userfield)
|
{ $checked = ""; if($val == $userfield)
|
{ $checked = "checked=\"checked\""; }
| { $checked = 'checked="checked"'; }
|
eval("\$code .= \"".$templates->get("usercp_profile_profilefields_radio")."\";"); } } } elseif($type == "checkbox") {
|
eval("\$code .= \"".$templates->get("usercp_profile_profilefields_radio")."\";"); } } } elseif($type == "checkbox") {
|
if($errors)
| if(!empty($errors))
|
{ $useropts = $userfield; }
| { $useropts = $userfield; }
|
Zeile 996 | Zeile 1028 |
---|
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 1024 | Zeile 1056 |
---|
if($profilefield['required'] == 1) {
|
if($profilefield['required'] == 1) {
|
// JS validator extra if($type == "checkbox" || $type == "radio")
| // JS validator extra, choose correct selectors for everything except single select which always has value if($type != 'select')
|
{
|
{
|
$id = "{$field}0";
| $jsvar_reqfields[] = array( 'type' => $type, 'fid' => $field, );
|
}
|
}
|
else { $id = "fid{$profilefield['fid']}"; } $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")."\";"); }
|
Zeile 1049 | Zeile 1071 |
---|
{ eval("\$customfields .= \"".$templates->get("member_register_customfield")."\";"); }
|
{ 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 1102 |
---|
$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 1111 |
---|
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 1130 |
---|
"); 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 1158 |
---|
{ 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 1180 |
---|
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 1243 | Zeile 1189 |
---|
if(count($languages) > 1) { foreach($languages as $name => $language)
|
if(count($languages) > 1) { foreach($languages as $name => $language)
|
{
| {
|
$language = htmlspecialchars_uni($language);
$sel = '';
| $language = htmlspecialchars_uni($language);
$sel = '';
|
Zeile 1262 | Zeile 1208 |
---|
$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 1283 | Zeile 1258 |
---|
if(!$user) { switch($mybb->settings['username_method'])
|
if(!$user) { switch($mybb->settings['username_method'])
|
{
| {
|
case 0: error($lang->error_invalidpworusername); break;
| case 0: error($lang->error_invalidpworusername); break;
|
Zeile 1302 | Zeile 1277 |
---|
} 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) { $query = $db->simple_select("awaitingactivation", "*", "uid='".$user['uid']."' AND (type='r' OR type='e' OR type='b')"); $activation = $db->fetch_array($query);
|
} if(isset($mybb->input['code']) && $user) { $query = $db->simple_select("awaitingactivation", "*", "uid='".$user['uid']."' AND (type='r' OR type='e' OR type='b')"); $activation = $db->fetch_array($query);
|
if(!$activation['uid'])
| if(!$activation)
|
{ 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);
|
}
| }
|
if($activation['type'] == "b" && $activation['validated'] == 1) { error($lang->error_alreadyvalidated); }
|
if($activation['type'] == "b" && $activation['validated'] == 1) { error($lang->error_alreadyvalidated); }
|
|
|
$db->delete_query("awaitingactivation", "uid='".$user['uid']."' AND (type='r' OR type='e')");
if($user['usergroup'] == 5 && $activation['type'] != "e" && $activation['type'] != "b")
|
$db->delete_query("awaitingactivation", "uid='".$user['uid']."' AND (type='r' OR type='e')");
if($user['usergroup'] == 5 && $activation['type'] != "e" && $activation['type'] != "b")
|
{
| {
|
$db->update_query("users", array("usergroup" => 2), "uid='".$user['uid']."'");
$cache->update_awaitingactivation();
| $db->update_query("users", array("usergroup" => 2), "uid='".$user['uid']."'");
$cache->update_awaitingactivation();
|
Zeile 1361 | Zeile 1336 |
---|
{ $plugins->run_hooks("member_activate_form");
|
{ $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'] == "resendactivation") { $plugins->run_hooks("member_resendactivation");
if($mybb->settings['regtype'] == "admin") { error($lang->error_activated_by_admin); } if($mybb->user['uid'] && $mybb->user['usergroup'] != 5) { error($lang->error_alreadyactivated); }
$query = $db->simple_select("awaitingactivation", "*", "uid='".$user['uid']."' AND type='b'"); $activation = $db->fetch_array($query);
if($activation['validated'] == 1) { error($lang->error_activated_by_admin); }
$plugins->run_hooks("member_resendactivation_end");
eval("\$activate = \"".$templates->get("member_resendactivation")."\";"); output_page($activate);
| }
|
}
if($mybb->input['action'] == "do_resendactivation" && $mybb->request_method == "post")
| }
if($mybb->input['action'] == "do_resendactivation" && $mybb->request_method == "post")
|
Zeile 1405 | Zeile 1354 |
---|
$plugins->run_hooks("member_do_resendactivation_start");
if($mybb->settings['regtype'] == "admin")
|
$plugins->run_hooks("member_do_resendactivation_start");
if($mybb->settings['regtype'] == "admin")
|
{ error($lang->error_activated_by_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
|
$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')
| 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);
| WHERE u.email='".$db->escape_string($mybb->get_input('email'))."' "); $numusers = $db->num_rows($query);
|
Zeile 1422 | Zeile 1388 |
---|
} else {
|
} else {
|
while($user = $db->fetch_array($query))
| 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") { $plugins->run_hooks("member_resendactivation");
if($mybb->settings['regtype'] == "admin") { error($lang->error_activated_by_admin); }
if($mybb->user['uid'] && $mybb->user['usergroup'] != 5) { error($lang->error_alreadyactivated); }
$query = $db->simple_select("awaitingactivation", "*", "uid='".$mybb->user['uid']."' AND type='b'"); $activation = $db->fetch_array($query);
if($activation && $activation['validated'] == 1) { error($lang->error_activated_by_admin); }
$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); }
if($mybb->input['action'] == "do_lostpw" && $mybb->request_method == "post") { $plugins->run_hooks("member_do_lostpw_start");
$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->simple_select("users", "*", "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)
|
{
|
{
|
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); break;
| $emailmessage = $lang->sprintf($lang->email_lostpw1, $username, $mybb->settings['bbname'], $mybb->settings['bburl'], $uid, $activationcode); break;
|
case 2:
|
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 1578 |
---|
{ $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); } else
| $captcha = ''; // Generate CAPTCHA? if($mybb->settings['captchaimage'])
|
{
|
{
|
while($user = $db->fetch_array($query))
| require_once MYBB_ROOT.'inc/class_captcha.php'; $post_captcha = new captcha(true, "post_captcha");
if($post_captcha->html)
|
{
|
{
|
$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);
| $captcha = $post_captcha->html;
|
} }
|
} }
|
$plugins->run_hooks("member_do_lostpw_end");
| |
|
|
redirect("index.php", $lang->redirect_lostpwsent, "", true);
| if(isset($errors) && count($errors) > 0) { $errors = inline_error($errors); $email = htmlspecialchars_uni($mybb->get_input('email')); } else { $errors = ''; $email = ''; }
eval("\$lostpw = \"".$templates->get("member_lostpw")."\";"); output_page($lostpw);
|
}
if($mybb->input['action'] == "resetpassword")
| }
if($mybb->input['action'] == "resetpassword")
|
Zeile 1565 | Zeile 1639 |
---|
} 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); } $db->delete_query("awaitingactivation", "uid='".$user['uid']."' AND type='p'"); $username = $user['username'];
|
error($lang->error_badlostpwcode); } $db->delete_query("awaitingactivation", "uid='".$user['uid']."' AND type='p'"); $username = $user['username'];
|
|
|
// Generate a new password, then update it $password_length = (int)$mybb->settings['minpasswordlength'];
if($password_length < 8)
|
// Generate a new password, then update it $password_length = (int)$mybb->settings['minpasswordlength'];
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');
do { $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(); } while(!$userhandler->verify_password());
$userhandler->update_user();
$logindetails = array( 'salt' => $userhandler->data['salt'], 'password' => $userhandler->data['password'], 'loginkey' => $userhandler->data['loginkey'], );
|
$email = $user['email'];
| $email = $user['email'];
|
Zeile 1609 | Zeile 1708 |
---|
switch($mybb->settings['username_method']) { case 0:
|
switch($mybb->settings['username_method']) { case 0:
|
$lang_username = $lang->username;
| $lang_username = $lang->username;
|
break; case 1: $lang_username = $lang->username1;
| break; case 1: $lang_username = $lang->username1;
|
Zeile 1622 | Zeile 1721 |
---|
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 1734 |
---|
$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 1667 | Zeile 1763 |
---|
);
$user_loginattempts = get_user_by_username($user['username'], $options);
|
);
$user_loginattempts = get_user_by_username($user['username'], $options);
|
$user['loginattempts'] = (int)$user_loginattempts['loginattempts'];
| 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();
|
Zeile 1677 | Zeile 1776 |
---|
$mybb->input['action'] = "login"; $mybb->request_method = "get";
|
$mybb->input['action'] = "login"; $mybb->request_method = "get";
|
my_setcookie('loginattempts', $logins + 1); $db->update_query("users", array('loginattempts' => 'loginattempts+1'), "uid='".(int)$loginhandler->login_data['uid']."'", 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'] = (int)$loginhandler->login_data['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 1705 | Zeile 1823 |
---|
$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 1713 | Zeile 1831 |
---|
}
$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 {
|
Zeile 1728 | Zeile 1856 |
---|
}
if($mybb->input['action'] == "login")
|
}
if($mybb->input['action'] == "login")
|
{ $plugins->run_hooks("member_login");
| { $plugins->run_hooks("member_login");
|
$member_loggedin_notice = ""; if($mybb->user['uid'] != 0) {
|
$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")."\";"); }
// Checks to make sure the user can login; they haven't had too many tries at logging in.
|
$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.
|
// 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();
|
login_attempt_check();
|
|
|
// Redirect to the page where the user came from, but not if that was the login page. if(isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], "action=login") === false) { $redirect_url = htmlentities($_SERVER['HTTP_REFERER']);
|
// Redirect to the page where the user came from, but not if that was the login page. if(isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], "action=login") === false) { $redirect_url = htmlentities($_SERVER['HTTP_REFERER']);
|
}
| }
|
else { $redirect_url = '';
| else { $redirect_url = '';
|
Zeile 1759 | Zeile 1889 |
---|
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) {
|
Zeile 1769 | Zeile 1899 |
---|
{ $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)
| elseif(in_array($login_captcha->type, array(captcha::HCAPTCHA, captcha::HCAPTCHA_INVISIBLE)))
|
{
|
{
|
$login_captcha->build_ayah();
| $login_captcha->build_hcaptcha();
|
}
if($login_captcha->html)
| }
if($login_captcha->html)
|
Zeile 1833 | Zeile 1963 |
---|
}
// Check session ID if we have one
|
}
// 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); }
| { error($lang->error_notloggedout); }
|
Zeile 1861 | Zeile 1991 |
---|
if($mybb->input['action'] == "viewnotes") {
|
if($mybb->input['action'] == "viewnotes") {
|
$uid = $mybb->get_input('uid', 1);
| $uid = $mybb->get_input('uid', MyBB::INPUT_INT);
|
$user = get_user($uid);
// Make sure we are looking at a real user here.
| $user = get_user($uid);
// Make sure we are looking at a real user here.
|
Zeile 1875 | Zeile 2005 |
---|
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 1914 | Zeile 2045 |
---|
$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->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->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 1942 | Zeile 2083 |
---|
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))
| }
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")."\";"); }
|
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->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();
| $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 1983 | Zeile 2126 |
---|
$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) { 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($any_contact_field || $sendemail || $sendpm || $website) { eval('$contact_details = "'.$templates->get("member_profile_contact_details").'";'); }
$signature = ''; 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 2012 | Zeile 2151 |
---|
$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 2071 | Zeile 2210 |
---|
{ $thread_percent = $memprofile['threadnum']*100/$numthreads; $thread_percent = round($thread_percent, 2);
|
{ $thread_percent = $memprofile['threadnum']*100/$numthreads; $thread_percent = round($thread_percent, 2);
|
}
| }
|
if($thread_percent > 100)
|
if($thread_percent > 100)
|
{
| {
|
$thread_percent = 100;
|
$thread_percent = 100;
|
| }
$findposts = $findthreads = ''; if($mybb->usergroup['cansearch'] == 1) { 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 2103 | Zeile 2255 |
---|
// PHP native date functions use integers so timestamps for years after 2038 will not work // Thus we use adodb_mktime if($returnhome[2] >= 2038)
|
// PHP native date functions use integers so timestamps for years after 2038 will not work // Thus we use adodb_mktime if($returnhome[2] >= 2038)
|
{
| {
|
require_once MYBB_ROOT."inc/functions_time.php"; $returnmkdate = adodb_mktime(0, 0, 0, $returnhome[1], $returnhome[0], $returnhome[2]); $returndate = my_date($mybb->settings['dateformat'], $returnmkdate, "", 1, true);
|
require_once MYBB_ROOT."inc/functions_time.php"; $returnmkdate = adodb_mktime(0, 0, 0, $returnhome[1], $returnhome[0], $returnhome[2]); $returndate = my_date($mybb->settings['dateformat'], $returnmkdate, "", 1, true);
|
}
| }
|
else { $returnmkdate = mktime(0, 0, 0, $returnhome[1], $returnhome[0], $returnhome[2]);
| else { $returnmkdate = mktime(0, 0, 0, $returnhome[1], $returnhome[0], $returnhome[2]);
|
Zeile 2128 | Zeile 2280 |
---|
if($memprofile['away'] == 1) { eval("\$awaybit = \"".$templates->get("member_profile_away")."\";");
|
if($memprofile['away'] == 1) { eval("\$awaybit = \"".$templates->get("member_profile_away")."\";");
|
}
| }
|
}
|
}
|
| $memprofile['timezone'] = (float)$memprofile['timezone'];
|
if($memprofile['dst'] == 1) { $memprofile['timezone']++; if(my_substr($memprofile['timezone'], 0, 1) != "-") { $memprofile['timezone'] = "+{$memprofile['timezone']}";
|
if($memprofile['dst'] == 1) { $memprofile['timezone']++; if(my_substr($memprofile['timezone'], 0, 1) != "-") { $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']) { $membday = explode("-", $memprofile['birthday']);
|
if($memprofile['birthday']) { $membday = explode("-", $memprofile['birthday']);
|
|
|
if($memprofile['birthdayprivacy'] != 'none') { if($membday[0] && $membday[1] && $membday[2])
|
if($memprofile['birthdayprivacy'] != 'none') { if($membday[0] && $membday[1] && $membday[2])
|
{
| {
|
$lang->membdayage = $lang->sprintf($lang->membdayage, get_age($memprofile['birthday']));
|
$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]); $membday = date("Y", $membday);
|
elseif($membday[2]) { $membday = mktime(0, 0, 0, 1, 1, $membday[2]); $membday = date("Y", $membday);
|
$membdayage = '';
| $membdayage = '';
|
} else {
| } else {
|
Zeile 2197 | Zeile 2331 |
---|
}
if($memprofile['birthdayprivacy'] == 'age')
|
}
if($memprofile['birthdayprivacy'] == 'age')
|
{ $membday = $lang->birthdayhidden; }
| { $membday = $lang->birthdayhidden; }
|
else if($memprofile['birthdayprivacy'] == 'none') { $membday = $lang->birthdayhidden;
| else if($memprofile['birthdayprivacy'] == 'none') { $membday = $lang->birthdayhidden;
|
Zeile 2211 | Zeile 2345 |
---|
$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 {
|
// No usergroup title so get a default one $usertitles = $cache->read('usertitles');
| if(!isset($usertitles)) { $usertitles = $cache->read('usertitles'); }
|
|
|
| // No usergroup title so get a default one
|
if(is_array($usertitles)) { foreach($usertitles as $title)
| if(is_array($usertitles)) { foreach($usertitles as $title)
|
Zeile 2254 | Zeile 2375 |
---|
if($memprofile['postnum'] >= $title['posts']) { $usertitle = $title['title'];
|
if($memprofile['postnum'] >= $title['posts']) { $usertitle = $title['title'];
|
$stars = $title['stars']; $starimage = $title['starimage'];
break; } } }
| $stars = $title['stars']; $starimage = $title['starimage'];
break; } } }
|
}
|
}
|
$usertitle = htmlspecialchars_uni($usertitle);
| |
|
|
if($displaygroup['stars'] || $displaygroup['usertitle']) {
| $usertitle = htmlspecialchars_uni($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)) { $usertitles = $cache->read('usertitles');
| if(!isset($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)
|
}
// 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)) {
| if(is_array($usertitles)) {
|
foreach($usertitles as $title) { if($memprofile['postnum'] >= $title['posts'])
| foreach($usertitles as $title) { if($memprofile['postnum'] >= $title['posts'])
|
Zeile 2289 | Zeile 2410 |
---|
break; } }
|
break; } }
|
| }
if(!isset($stars)) { $stars = 0;
|
} }
$groupimage = '';
|
} }
$groupimage = '';
|
if(!empty($displaygroup['image']))
| if(!empty($memperms['image']))
|
{ if(!empty($mybb->user['language'])) { $language = $mybb->user['language'];
|
{ if(!empty($mybb->user['language'])) { $language = $mybb->user['language'];
|
} else {
| } else {
|
$language = $mybb->settings['bblanguage']; }
|
$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")."\";");
|
eval("\$groupimage = \"".$templates->get("member_profile_groupimage")."\";");
|
}
| }
|
if(empty($starimage))
|
if(empty($starimage))
|
{ $starimage = $displaygroup['starimage']; }
if(!empty($starimage)) {
| { $starimage = $memperms['starimage']; }
if(!empty($starimage)) {
|
// Only display stars if we have an image to use... $starimage = str_replace("{theme}", $theme['imgdir'], $starimage); $userstars = ''; for($i = 0; $i < $stars; ++$i) { eval("\$userstars .= \"".$templates->get("member_profile_userstar", 1, 0)."\";");
|
// Only display stars if we have an image to use... $starimage = str_replace("{theme}", $theme['imgdir'], $starimage); $userstars = ''; for($i = 0; $i < $stars; ++$i) { 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
| }
// User is currently online and this user has permissions to view the user on the WOL
|
Zeile 2329 | Zeile 2455 |
---|
$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);
|
$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']) { // Lastvisit if($memprofile['lastactive']) { $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'])
| $timeonline = $lang->none_registered; $memlastvisitdate = $lang->lastvisit_never; $last_seen = max(array($memprofile['lastactive'], $memprofile['lastvisit'])); if(!empty($last_seen)) { // We have some stamp here if($memprofile['invisible'] == 1 && $mybb->usergroup['canviewwolinvis'] != 1 && $memprofile['uid'] != $mybb->user['uid'])
|
{
|
{
|
// We have had at least some active time, hide it instead
| |
$memlastvisitdate = $lang->lastvisit_hidden;
|
$memlastvisitdate = $lang->lastvisit_hidden;
|
}
$timeonline = $lang->timeonline_hidden; }
| $online_status = $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();
| { $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")."\";");
| 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 2408 | Zeile 2529 |
---|
eval("\$reputation = \"".$templates->get("member_profile_reputation")."\";"); }
|
eval("\$reputation = \"".$templates->get("member_profile_reputation")."\";"); }
|
|
|
$warning_level = ''; 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();
|
$warning_level = ''; 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)
|
Zeile 2420 | Zeile 2547 |
---|
$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 2440 | Zeile 2567 |
---|
// If this user is an Administrator or a Moderator then we wish to show all profile fields $pfcache = $cache->read('profilefields');
|
// If this user is an Administrator or a Moderator then we wish to show all profile fields $pfcache = $cache->read('profilefields');
|
|
|
if(is_array($pfcache)) { foreach($pfcache as $customfield) {
|
if(is_array($pfcache)) { 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; }
|
|
|
$thing = explode("\n", $customfield['type'], "2"); $type = trim($thing[0]);
| $thing = explode("\n", $customfield['type'], "2"); $type = trim($thing[0]);
|
Zeile 2461 | Zeile 2588 |
---|
$useropts = explode("\n", $userfields[$field]); $customfieldval = $comma = ''; if(is_array($useropts) && ($type == "multiselect" || $type == "checkbox"))
|
$useropts = explode("\n", $userfields[$field]); $customfieldval = $comma = ''; if(is_array($useropts) && ($type == "multiselect" || $type == "checkbox"))
|
{
| {
|
foreach($useropts as $val) { if($val != '')
| foreach($useropts as $val) { if($val != '')
|
Zeile 2491 | Zeile 2618 |
---|
$parser_options['me_username'] = $memprofile['username']; } else
|
$parser_options['me_username'] = $memprofile['username']; } else
|
{
| {
|
$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 2503 | Zeile 2630 |
---|
$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 2531 | Zeile 2658 |
---|
{ // 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));
|
{ // 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));
|
$memban = $db->fetch_array($query);
if($memban['reason']) { $memban['reason'] = htmlspecialchars_uni($parser->parse_badwords($memban['reason'])); $memban['reason'] = my_wordwrap($memban['reason']); } else { $memban['reason'] = $lang->na; }
if($memban['lifted'] == 'perm' || $memban['lifted'] == '' || $memban['bantime'] == 'perm' || $memban['bantime'] == '---') { $banlength = $lang->permanent; $timeremaining = $lang->na; } 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))."";
if($remaining < 3600) { $timeremaining = "<span style=\"color: red;\">({$timeremaining} {$lang->ban_remaining})</span>"; } else if($remaining < 86400)
| if($db->num_rows($query)) { $memban = $db->fetch_array($query);
if($memban['reason']) { $memban['reason'] = htmlspecialchars_uni($parser->parse_badwords($memban['reason'])); } else
|
{
|
{
|
$timeremaining = "<span style=\"color: maroon;\">({$timeremaining} {$lang->ban_remaining})</span>";
| $memban['reason'] = $lang->na;
|
}
|
}
|
else if($remaining < 604800)
| if($memban['lifted'] == 'perm' || $memban['lifted'] == '' || $memban['bantime'] == 'perm' || $memban['bantime'] == '---')
|
{
|
{
|
$timeremaining = "<span style=\"color: green;\">({$timeremaining} {$lang->ban_remaining})</span>";
| $banlength = $lang->permanent; $timeremaining = $lang->na; $banned_class = "normal_banned";
|
} else
|
} else
|
{ $timeremaining = "({$timeremaining} {$lang->ban_remaining})"; } }
$memban['adminuser'] = build_profile_link($memban['adminuser'], $memban['admin']);
// Display a nice warning to the user eval('$bannedbit = "'.$templates->get('member_profile_banned').'";');
| { // 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 2605 | Zeile 2758 |
---|
else { $memprofile['usernotes'] = $lang->no_usernotes;
|
else { $memprofile['usernotes'] = $lang->no_usernotes;
|
}
if($mybb->usergroup['caneditprofiles'] == 1) { eval("\$editprofile = \"".$templates->get("member_profile_modoptions_editprofile")."\";"); eval("\$editnotes = \"".$templates->get("member_profile_modoptions_editnotes")."\";"); }
if($mybb->usergroup['canbanusers'] == 1 && (!$memban['uid'] || $memban['uid'] && ($mybb->user['uid'] == $memban['admin']) || $mybb->usergroup['issupermod'] == 1 || $mybb->usergroup['cancp'] == 1)) { eval("\$banuser = \"".$templates->get("member_profile_modoptions_banuser")."\";"); }
| }
if($mybb->usergroup['caneditprofiles'] == 1 && modcp_can_manage_user($memprofile['uid'])) { 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) { eval("\$purgespammer = \"".$templates->get('member_profile_modoptions_purgespammer')."\";");
|
if($can_purge_spammer) { 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 2637 | Zeile 2802 |
---|
{ $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);
|
Zeile 2655 | Zeile 2820 |
---|
if(in_array($uid, $ignore_list)) { $add_remove_options = array('url' => "usercp.php?action=do_editlists&manage=ignored&delete={$uid}&my_post_key={$mybb->post_code}", 'class' => 'remove_ignore_button', 'lang' => $lang->remove_from_ignore_list);
|
if(in_array($uid, $ignore_list)) { $add_remove_options = array('url' => "usercp.php?action=do_editlists&manage=ignored&delete={$uid}&my_post_key={$mybb->post_code}", 'class' => 'remove_ignore_button', 'lang' => $lang->remove_from_ignore_list);
|
} else {
| } else {
|
$add_remove_options = array('url' => "usercp.php?action=do_editlists&manage=ignored&add_username=".urlencode($memprofile['username'])."&my_post_key={$mybb->post_code}", 'class' => 'add_ignore_button', 'lang' => $lang->add_to_ignore_list);
|
$add_remove_options = array('url' => "usercp.php?action=do_editlists&manage=ignored&add_username=".urlencode($memprofile['username'])."&my_post_key={$mybb->post_code}", 'class' => 'add_ignore_button', 'lang' => $lang->add_to_ignore_list);
|
}
| }
|
if(!in_array($uid, $buddy_list)) {
| if(!in_array($uid, $buddy_list)) {
|
Zeile 2667 | Zeile 2832 |
---|
}
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 } }
| { $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")."\";");
| $plugins->run_hooks("member_profile_end");
eval("\$profile = \"".$templates->get("member_profile")."\";");
|
Zeile 2685 | Zeile 2864 |
---|
verify_post_check($mybb->get_input('my_post_key'));
$plugins->run_hooks("member_do_emailuser_start");
|
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); }
| // 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']);
| elseif($remaining_time > 60 && $remaining_time < 120) { $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_1_minute, $mybb->usergroup['emailfloodtime']);
|
Zeile 2752 | Zeile 2931 |
---|
$remaining_time_minutes = ceil($remaining_time/60); $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_minutes, $mybb->usergroup['emailfloodtime'], $remaining_time_minutes); }
|
$remaining_time_minutes = ceil($remaining_time/60); $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_minutes, $mybb->usergroup['emailfloodtime'], $remaining_time_minutes); }
|
|
|
error($lang->error_emailflooding); }
|
error($lang->error_emailflooding); }
|
}
$query = $db->simple_select("users", "uid, username, email, hideemail", "uid='".$mybb->get_input('uid', 1)."'"); $to_user = $db->fetch_array($query);
| }
$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']) { error($lang->error_invalidusername);
|
if(!$to_user['username']) { error($lang->error_invalidusername);
|
}
| }
|
if($to_user['hideemail'] != 0) { error($lang->error_hideemail);
|
if($to_user['hideemail'] != 0) { 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']))
|
if(!validate_email_format($mybb->input['fromemail']))
|
{
| {
|
$errors[] = $lang->error_invalidfromemail; }
| $errors[] = $lang->error_invalidfromemail; }
|
Zeile 2783 | Zeile 2968 |
---|
}
if(empty($mybb->input['subject']))
|
}
if(empty($mybb->input['subject']))
|
{
| {
|
$errors[] = $lang->error_no_email_subject; }
| $errors[] = $lang->error_no_email_subject; }
|
Zeile 2819 | Zeile 3004 |
---|
}
$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 2860 | Zeile 3045 |
---|
}
// Check group limits
|
}
// Check group limits
|
if($mybb->usergroup['maxemails'] > 0) { if($mybb->user['uid'] > 0) { $user_check = "fromuid='{$mybb->user['uid']}'"; } else
| 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); }
| { $user_check = "ipaddress=".$db->escape_binary($session->packedip); }
|
Zeile 2886 | Zeile 3071 |
---|
if($mybb->user['uid'] > 0) { $user_check = "fromuid='{$mybb->user['uid']}'";
|
if($mybb->user['uid'] > 0) { $user_check = "fromuid='{$mybb->user['uid']}'";
|
}
| }
|
else { $user_check = "ipaddress=".$db->escape_binary($session->packedip); }
|
else { $user_check = "ipaddress=".$db->escape_binary($session->packedip); }
|
|
|
$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);
|
$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
|
// 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 2907 | Zeile 3092 |
---|
$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_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_seconds, $mybb->usergroup['emailfloodtime'], $remaining_time); } elseif($remaining_time > 60 && $remaining_time < 120)
|
Zeile 2924 | Zeile 3109 |
---|
} }
|
} }
|
$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 2981 | Zeile 3167 |
---|
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'])
|