This will allow any admin to enable or disable a pool maintenance mode. Regular users that are still logged in will not be kicked out (yet). New users that are trying to login and are not admins will be denied access. Also added registration option to Admin Settings via WebUI. You can now disable new accounts via web option or configuration setting. Fixes #259 but also adds an additional feature.
49 lines
2.6 KiB
PHP
49 lines
2.6 KiB
PHP
<?php
|
|
// Make sure we are called from index.php
|
|
if (!defined('SECURITY')) die('Hacking attempt');
|
|
|
|
if ($config['recaptcha']['enabled']) {
|
|
// Load re-captcha specific data
|
|
require_once(INCLUDE_DIR . '/lib/recaptchalib.php');
|
|
$rsp = recaptcha_check_answer (
|
|
$config['recaptcha']['private_key'],
|
|
$_SERVER["REMOTE_ADDR"],
|
|
$_POST["recaptcha_challenge_field"],
|
|
$_POST["recaptcha_response_field"]
|
|
);
|
|
}
|
|
|
|
// Check if recaptcha is enabled, process form data if valid
|
|
if($config['recaptcha']['enabled'] && $_POST["recaptcha_response_field"] && $_POST["recaptcha_response_field"]!=''){
|
|
if ($rsp->is_valid) {
|
|
$smarty->assign("RECAPTCHA", recaptcha_get_html($config['recaptcha']['public_key']));
|
|
if (!$config['website']['registration'] || !$setting->getValue('registration')) {
|
|
$_SESSION['POPUP'][] = array('CONTENT' => 'Account registration is currently disabled. Please try again later.', 'TYPE' => 'errormsg');
|
|
} else if ($user->register($_POST['username'], $_POST['password1'], $_POST['password2'], $_POST['pin'], $_POST['email1'], $_POST['email2']) && ($config['website']['registration'] || $setting->getValue('registration'))) {
|
|
$_SESSION['POPUP'][] = array('CONTENT' => 'Account created, please login');
|
|
} else {
|
|
$_SESSION['POPUP'][] = array('CONTENT' => 'Unable to create account: ' . $user->getError(), 'TYPE' => 'errormsg');
|
|
}
|
|
} else {
|
|
$smarty->assign("RECAPTCHA", recaptcha_get_html($config['recaptcha']['public_key'], $rsp->error));
|
|
$_SESSION['POPUP'][] = array('CONTENT' => 'Invalid Captcha, please try again. (' . $rsp->error . ')', 'TYPE' => 'errormsg');
|
|
}
|
|
// Empty captcha
|
|
} else if ($config['recaptcha']['enabled']) {
|
|
$smarty->assign("RECAPTCHA", recaptcha_get_html($config['recaptcha']['public_key'], $rsp->error));
|
|
$_SESSION['POPUP'][] = array('CONTENT' => 'Empty Captcha, please try again.', 'TYPE' => 'errormsg');
|
|
// Captcha disabled
|
|
} else {
|
|
if (!$config['website']['registration'] || !$setting->getValue('registration')) {
|
|
$_SESSION['POPUP'][] = array('CONTENT' => 'Account registration is currently disabled. Please try again later.', 'TYPE' => 'errormsg');
|
|
} else if ($user->register($_POST['username'], $_POST['password1'], $_POST['password2'], $_POST['pin'], $_POST['email1'], $_POST['email2']) && $config['website']['registration']) {
|
|
$_SESSION['POPUP'][] = array('CONTENT' => 'Account created, please login');
|
|
} else {
|
|
$_SESSION['POPUP'][] = array('CONTENT' => 'Unable to create account: ' . $user->getError(), 'TYPE' => 'errormsg');
|
|
}
|
|
}
|
|
|
|
// We load the default registration template instead of an action specific one
|
|
$smarty->assign("CONTENT", "../default.tpl");
|
|
?>
|