mirror of
https://github.com/tuxis-ie/nsedit.git
synced 2025-04-19 20:09:14 +03:00
105 lines
2.5 KiB
PHP
105 lines
2.5 KiB
PHP
<?php
|
|
|
|
include_once('config.inc.php');
|
|
include_once('misc.inc.php');
|
|
include_once('wefactauth.inc.php');
|
|
|
|
session_start();
|
|
|
|
function is_logged_in() {
|
|
if (isset($_SESSION['logged_in']) && $_SESSION['logged_in'] == "true") {
|
|
return TRUE;
|
|
} else {
|
|
global $adminapikey;
|
|
global $adminapiips;
|
|
|
|
if (isset($adminapikey) && isset($adminapiips)) {
|
|
if (array_search($_SERVER['REMOTE_ADDR'], $adminapiips) !== FALSE) {
|
|
if ($_POST['adminapikey'] == $adminapikey) {
|
|
# Allow this request, fake that we're logged in.
|
|
set_logged_in('admin');
|
|
set_is_adminuser();
|
|
$_SESSION['apientrance'] = 'true';
|
|
return TRUE;
|
|
}
|
|
}
|
|
}
|
|
return FALSE;
|
|
}
|
|
}
|
|
|
|
function set_apiuser() {
|
|
$_SESSION['apientrance'] = 'true';
|
|
}
|
|
|
|
function is_apiuser() {
|
|
if (isset($_SESSION['apientrance']) && $_SESSION['apientrance'] = 'true') {
|
|
return TRUE;
|
|
}
|
|
return FALSE;
|
|
}
|
|
|
|
function set_logged_in($login_user) {
|
|
$_SESSION['logged_in'] = 'true';
|
|
$_SESSION['username'] = $login_user;
|
|
}
|
|
|
|
function set_is_adminuser() {
|
|
$_SESSION['is_adminuser'] = 'true';
|
|
}
|
|
|
|
function is_adminuser() {
|
|
if (isset($_SESSION['is_adminuser']) && $_SESSION['is_adminuser'] == 'true') {
|
|
return TRUE;
|
|
} else {
|
|
return FALSE;
|
|
}
|
|
}
|
|
|
|
function get_sess_user() {
|
|
return $_SESSION['username'];
|
|
}
|
|
|
|
function logout() {
|
|
session_destroy();
|
|
}
|
|
|
|
function try_login() {
|
|
global $wefactapiurl;
|
|
global $wefactapikey;
|
|
|
|
if (isset($_POST['username']) and isset($_POST['password'])) {
|
|
if (valid_user($_POST['username']) === FALSE) {
|
|
return FALSE;
|
|
}
|
|
$do_local_auth = 1;
|
|
|
|
if (isset($wefactapiurl) && isset($wefactapikey)) {
|
|
$wefact = do_wefact_auth($_POST['username'], $_POST['password']);
|
|
if ($wefact === FALSE) {
|
|
return FALSE;
|
|
}
|
|
if ($wefact !== -1) {
|
|
$do_local_auth = 0;
|
|
}
|
|
}
|
|
|
|
if ($do_local_auth == 1) {
|
|
if (do_db_auth($_POST['username'], $_POST['password']) === FALSE) {
|
|
return FALSE;
|
|
}
|
|
}
|
|
|
|
$userinfo = get_user_info($_POST['username']);
|
|
|
|
set_logged_in($_POST['username']);
|
|
if (isset($userinfo['isadmin']) && $userinfo['isadmin'] == 1) {
|
|
set_is_adminuser();
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
?>
|