fix: account activation issues

#344
This commit is contained in:
Martin Ambrus
2017-11-22 13:48:32 +01:00
parent ec8752ac27
commit 53fa177671
+12 -7
View File
@@ -154,14 +154,14 @@ class Account {
if(START_DATE < date('m/d/Y') or START_DATE == date('m/d/Y') && START_TIME <= date('H:i'))
{
global $database;
$q = "SELECT act, username, password, email, tribe, kid FROM ".TB_PREFIX."activate where act = '".$database->escape($_POST['id'])."'";
$q = "SELECT act, username, password, email, tribe, location FROM ".TB_PREFIX."activate where act = '".$database->escape($_POST['id'])."'";
$result = mysqli_query($GLOBALS['link'],$q);
$dbarray = mysqli_fetch_array($result);
if($dbarray['act'] == $_POST['id']) {
$uid = $database->register($dbarray['username'],$dbarray['password'],$dbarray['email'],$dbarray['tribe'],"");
if($uid) {
$database->unreg($dbarray['username']);
$this->generateBase($dbarray['kid'],$uid,$dbarray['username']);
$this->generateBase($dbarray['location'],$uid,$dbarray['username']);
header("Location: activate.php?e=2");
exit;
}
@@ -209,15 +209,20 @@ class Account {
$form->addError("pw",LOGIN_PASS_EMPTY);
}
else if(!$database->login($_POST['user'],$_POST['pw']) && !$database->sitterLogin($_POST['user'],$_POST['pw'])) {
$form->addError("pw",LOGIN_PW_ERROR);
// try activation data if the user was not found
if (!$userData) {
$activateData = $database->getActivateField( $_POST['user'], 'act', 1 );
if ( $activateData != "" ) {
$form->addError( "activate", $_POST['user'] );
}
} else {
$form->addError("pw",LOGIN_PW_ERROR);
}
}
$userData = $database->getUserArray($_POST['user'], 0);
if($userData["act"] != "") {
$form->addError("activate",$_POST['user']);
}
// Vacation mode by Shadow
if($userData["vac_mode"] == 1 && $userData["vac_time"] > time()) {
$form->addError("vacation","Vacation mode is still enabled");