Commit d7f60a74 by Scott

Simplify logic in qa_permit_value_error

parent 6186bc44
......@@ -872,12 +872,12 @@
elseif (!isset($userid)) {
return 'login';
}
// $userid is set from here on
elseif ($permit >= QA_PERMIT_USERS)
$error = isset($userid) ? false : 'login';
$error = false;
elseif ($permit >= QA_PERMIT_CONFIRMED) {
if (isset($userid)) {
if (
QA_FINAL_EXTERNAL_USERS || // not currently supported by single sign-on integration
($userlevel >= QA_PERMIT_APPROVED) || // if user approved or assigned to a higher level, no need
......@@ -887,11 +887,9 @@
$error = false;
else
$error = 'confirm';
} else
$error = 'login';
}
} elseif ($permit >= QA_PERMIT_APPROVED) {
if (isset($userid)) {
elseif ($permit >= QA_PERMIT_APPROVED) {
if (
($userlevel >= QA_USER_LEVEL_APPROVED) || // user has been approved
(!qa_opt('moderate_users')) // if this option off, we can't ask it of the user
......@@ -899,27 +897,17 @@
$error = false;
else
$error = 'approve';
} else
$error = 'login';
} else {
if (isset($userid)) {
if ($permit >= QA_PERMIT_EXPERTS)
$error = $userlevel >= QA_USER_LEVEL_EXPERT ? false : 'level';
elseif ($permit >= QA_PERMIT_EDITORS)
$error = $userlevel >= QA_USER_LEVEL_EDITOR ? false : 'level';
elseif ($permit >= QA_PERMIT_MODERATORS)
$error = $userlevel >= QA_USER_LEVEL_MODERATOR ? false : 'level';
elseif ($permit >= QA_PERMIT_ADMINS)
$error = $userlevel >= QA_USER_LEVEL_ADMIN ? false : 'level';
}
else
$error = $userlevel >= QA_USER_LEVEL_SUPER ? false : 'level';
} else
$error = 'level';
else {
$hasLevel =
($permit >= QA_PERMIT_EXPERTS && $userlevel >= QA_USER_LEVEL_EXPERT) ||
($permit >= QA_PERMIT_EDITORS && $userlevel >= QA_USER_LEVEL_EDITOR) ||
($permit >= QA_PERMIT_MODERATORS && $userlevel >= QA_USER_LEVEL_MODERATOR) ||
($permit >= QA_PERMIT_ADMINS && $userlevel >= QA_USER_LEVEL_ADMIN) ||
$userlevel >= QA_USER_LEVEL_SUPER;
$error = $hasLevel ? false : 'level';
}
if (isset($userid) && ($userflags & QA_USER_FLAGS_USER_BLOCKED) && ($error != 'level'))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment