/** * @return bool true */ function complete_login() { global $plugins, $db, $mybb, $session; $user =& $this->login_data; $plugins->run_hooks('datahandler_login_complete_start', $this); // Login to MyBB my_setcookie('loginattempts', 1); my_setcookie("sid", $session->sid, -1, true); $ip_address = $db->escape_binary($session->packedip); $db->delete_query("sessions", "ip = {$ip_address} AND sid != '{$session->sid}'"); $newsession = array("uid" => $user['uid']); $db->update_query("sessions", $newsession, "sid = '{$session->sid}'"); $db->update_query("users", array("loginattempts" => 1), "uid = '{$user['uid']}'"); $remember = null; if (!isset($mybb->input['remember']) || $mybb->input['remember'] != "yes") { $remember = -1; } my_setcookie("mybbuser", $user['uid'] . "_" . $user['loginkey'], $remember, true); if ($this->captcha !== false) { $this->captcha->invalidate_captcha(); } $plugins->run_hooks('datahandler_login_complete_end', $this); return true; }
$dst_auto_selected = "selected=\"selected\""; } else { if ($mybb->get_input('dstcorrection', MyBB::INPUT_INT) == 1) { $dst_enabled_selected = "selected=\"selected\""; } else { $dst_disabled_selected = "selected=\"selected\""; } } $regerrors = inline_error($errors); $mybb->input['action'] = "register"; $fromreg = 1; } else { $user_info = $userhandler->insert_user(); // Invalidate solved captcha if ($mybb->settings['captchaimage']) { $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'])) { $lang->redirect_registered_coppa_activate = $lang->sprintf($lang->redirect_registered_coppa_activate, $mybb->settings['bbname'], $user_info['username']); my_unsetcookie("coppauser"); my_unsetcookie("coppadob"); $plugins->run_hooks("member_do_register_end"); error($lang->redirect_registered_coppa_activate); } else { if ($mybb->settings['regtype'] == "verify") { $activationcode = random_str(); $now = TIME_NOW;
} } } } // One or more errors returned, fetch error list and throw to newreply page if (count($post_errors) > 0) { $reply_errors = inline_error($post_errors, '', $json_data); $mybb->input['action'] = "newreply"; } else { $postinfo = $posthandler->insert_post(); $pid = $postinfo['pid']; $visible = $postinfo['visible']; $closed = $postinfo['closed']; // Invalidate solved captcha if ($mybb->settings['captchaimage'] && !$mybb->user['uid']) { $post_captcha->invalidate_captcha(); } $force_redirect = false; // Deciding the fate if ($visible == -2) { // Draft post $lang->redirect_newreply = $lang->draft_saved; $url = "usercp.php?action=drafts"; } elseif ($visible == 1) { // Visible post $lang->redirect_newreply .= $lang->redirect_newreply_post; $url = get_post_link($pid, $tid) . "#pid{$pid}"; } else { // Moderated post $lang->redirect_newreply .= '<br />' . $lang->redirect_newreply_moderation; $url = get_thread_link($tid);
} else { $correct = true; } } if (!empty($errors)) { $mybb->input['action'] = "login"; $mybb->input['request_method'] = "get"; $inline_errors = inline_error($errors); } else { if ($correct) { if ($user['coppauser']) { error($lang->error_awaitingcoppa); } // Invalidate captcha if ($login_captcha !== false) { $login_captcha->invalidate_captcha(); } my_setcookie('loginattempts', 1); $db->delete_query("sessions", "ip='" . $db->escape_string($session->ipaddress) . "' AND sid != '" . $session->sid . "'"); $newsession = array("uid" => $user['uid']); $db->update_query("sessions", $newsession, "sid='" . $session->sid . "'"); $db->update_query("users", array("loginattempts" => 1), "uid='{$user['uid']}'"); if ($mybb->input['remember'] != "yes") { $remember = -1; } else { $remember = null; } my_setcookie("mybbuser", $user['uid'] . "_" . $user['loginkey'], $remember, true); my_setcookie("sid", $session->sid, -1, true); $plugins->run_hooks("member_do_login_end"); if ($mybb->input['url'] != "" && my_strpos(basename($mybb->input['url']), 'member.php') === false) {