<?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; } ?>