MyBB Community Forums

Full Version: [F] Captcha not shown if board is closed [R] [C-Chris W B.]
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
If the board is closed and someone enters the wrong password several times the captcha in the login form is missing.

Possible fix: Open global.php and find:
if($mybb->settings['boardclosed'] == 1 && $mybb->usergroup['cancp'] != 1 && !($current_page == "member.php" && ($mybb->input['action'] == "login" || $mybb->input['action'] == "do_login" || $mybb->input['action'] == "logout")))
Replace with:
if($mybb->settings['boardclosed'] == 1 && $mybb->usergroup['cancp'] != 1 && !($current_page == "captcha.php" || ($current_page == "member.php" && ($mybb->input['action'] == "login" || $mybb->input['action'] == "do_login" || $mybb->input['action'] == "logout"))))
proposed fixed. Find:

if($mybb->settings['boardclosed'] == 1 && $mybb->usergroup['cancp'] != 1 && !($current_page == "member.php" && ($mybb->input['action'] == "login" || $mybb->input['action'] == "do_login" || $mybb->input['action'] == "logout"))) 

replace with

$closed_bypass = array(
	"member.php" => array(
		"login",
		"do_login",
		"logout",
	),
	"captcha.php",
);

if($mybb->settings['boardclosed'] == 1 && $mybb->usergroup['cancp'] != 1 && !in_array($current_page, $closed_bypass) && (!is_array($closed_bypass[$current_page]) || !in_array($mybb->input['action'], $closed_bypass[$current_page])))
Thank you for your bug report.

This bug has been fixed in our internal code repository. Please note that the problem will not be fixed here until these forums are updated.

With regards,
MyBB Group