diff --git a/public/include/classes/user.class.php b/public/include/classes/user.class.php
index cc8d7c70..9e69b01d 100644
--- a/public/include/classes/user.class.php
+++ b/public/include/classes/user.class.php
@@ -69,7 +69,6 @@ class User {
);
return $this->updateSingle($id, $field);
}
-
public function setUserToken($id) {
$field = array(
'name' => 'token',
@@ -78,6 +77,10 @@ class User {
);
return $this->updateSingle($id, $field);
}
+ private function setUserIp($id, $ip) {
+ $field = array( 'name' => 'loggedIp', 'type' => 's', 'value' => $ip );
+ return $this->updateSingle($id, $field);
+ }
/**
* Fetch all users for administrative tasks
@@ -106,6 +109,7 @@ class User {
}
if ( $this->checkUserPassword($username, $password)) {
$this->createSession($username);
+ $this->setUserIp($this->getUserId($username), $_SERVER['REMOTE_ADDR']);
return true;
}
$this->setErrorMessage("Invalid username or password");
diff --git a/public/include/config/global.inc.dist.php b/public/include/config/global.inc.dist.php
index e8d12774..4347a513 100644
--- a/public/include/config/global.inc.dist.php
+++ b/public/include/config/global.inc.dist.php
@@ -30,6 +30,7 @@ $config = array(
'max' => 250
),
'website' => array(
+ 'registration' => true, // Allow new users to register
'name' => 'The Pool',
'slogan' => 'Resistance is futile',
'email' => 'test@example.com', // Mail address used for notifications
diff --git a/public/include/pages/register.inc.php b/public/include/pages/register.inc.php
index aecab054..f1c4cb73 100644
--- a/public/include/pages/register.inc.php
+++ b/public/include/pages/register.inc.php
@@ -1,9 +1,13 @@
assign("CONTENT", "default.tpl");
+if (!$config['website']['registration']) {
+ $_SESSION['POPUP'][] = array('CONTENT' => 'Account registration is currently disabled. Please try again later.', 'TYPE' => 'errormsg');
+ $smarty->assign("CONTENT", "disabled.tpl");
+} else {
+ // Tempalte specifics
+ $smarty->assign("CONTENT", "default.tpl");
+}
?>
diff --git a/public/include/pages/register/register.inc.php b/public/include/pages/register/register.inc.php
index 53e941bf..2e4e4885 100644
--- a/public/include/pages/register/register.inc.php
+++ b/public/include/pages/register/register.inc.php
@@ -1,11 +1,10 @@
register($_POST['username'], $_POST['password1'], $_POST['password2'], $_POST['pin'], $_POST['email1'], $_POST['email2'])) {
+if (!$config['website']['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');
diff --git a/public/templates/mmcFE/register/disabled.tpl b/public/templates/mmcFE/register/disabled.tpl
new file mode 100644
index 00000000..5e5ac8ee
--- /dev/null
+++ b/public/templates/mmcFE/register/disabled.tpl
@@ -0,0 +1,3 @@
+{include file="global/block_header.tpl" BLOCK_HEADER="Registration disabled" BLOCK_STYLE="clear:none;"}
+
We are currently not accepting new user registrations.