コード例 #1
0
ファイル: miniadm.php プロジェクト: brucewu16899/1.6.x
function auth_verif()
{
    $tpl = new templates();
    $ldap = new clladp();
    if ($ldap->IsKerbAuth()) {
        $external_ad_search = new external_ad_search();
        if (!$external_ad_search->CheckUserAuth($_POST["username-logon"], $_POST["username-password"])) {
            echo $tpl->_ENGINE_parse_body("<center><H2 style='color:red'>{unknown_user}</H2></center>");
            return null;
        }
        $users = new usersMenus();
        $privs = new privileges($_POST["username-logon"]);
        $privileges_array = $privs->privs;
        $_SESSION["InterfaceType"] = "{ARTICA_MINIADM}";
        setcookie("mem-logon-user", $_POST["username-logon"], time() + 172800);
        $_SESSION["privileges_array"] = $privs->privs;
        $_SESSION["uid"] = $_POST["username-logon"];
        $_SESSION["passwd"] = $_POST["username-logon"];
        $_SESSION["privileges"]["ArticaGroupPrivileges"] = $privs->content;
        BuildSession($_POST["username-logon"]);
        echo "<script>YahooWinHide();LoadAjax('BodyContent','miniadm.index.php');</script>\n\t\t";
        return;
    }
    $u = new user($_POST["username-logon"]);
    $userPassword = $u->password;
    if (trim($u->uidNumber) == null) {
        writelogs('Unable to get user infos abort', __FUNCTION__, __FILE__);
        echo $tpl->_ENGINE_parse_body("<center><H2 style='color:red'>{unknown_user}</H2></center>");
        return null;
    }
    if (trim($_POST["username-password"]) == trim($userPassword)) {
        $ldap = new clladp();
        $users = new usersMenus();
        $privs = new privileges($u->uid);
        $privileges_array = $privs->privs;
        $_SESSION["InterfaceType"] = "{ARTICA_MINIADM}";
        setcookie("mem-logon-user", $_POST["username-logon"], time() + 172800);
        $_SESSION["privileges_array"] = $privs->privs;
        $_SESSION["privs"] = $privileges_array;
        $_SESSION["OU_LANG"] = $privileges_array["ForceLanguageUsers"];
        $_SESSION["uid"] = $_POST["username-logon"];
        $_SESSION["passwd"] = $_POST["username-logon"];
        $_SESSION["privileges"]["ArticaGroupPrivileges"] = $privs->content;
        $_SESSION["groupid"] = $ldap->UserGetGroups($_POST["artica_username"], 1);
        $_SESSION["DotClearUserEnabled"] = $u->DotClearUserEnabled;
        $_SESSION["MailboxActive"] = $u->MailboxActive;
        $_SESSION["ou"] = $u->ou;
        $_SESSION["UsersInterfaceDatas"] = trim($u->UsersInterfaceDatas);
        $lang = new articaLang();
        writelogs("[{$_POST["username-logon"]}]: Default organization language={$_SESSION["OU_LANG"]}", __FUNCTION__, __FILE__);
        if (trim($_SESSION["OU_LANG"]) != null) {
            $_SESSION["detected_lang"] = $_SESSION["OU_LANG"];
            setcookie("artica-language", $_SESSION["OU_LANG"], time() + 172800);
        } else {
            setcookie("artica-language", $_POST["lang"], time() + 172800);
            $_SESSION["detected_lang"] = $lang->get_languages();
        }
        echo "<script>\n\t\t\tYahooWinHide();\n\t\t\tLoadAjax('BodyContent','miniadm.index.php');\n\t\t</script>\n\t\t";
        return;
    } else {
        echo $tpl->_ENGINE_parse_body("<center><H2 style='color:red'>{bdu}</H2></center>");
    }
}
コード例 #2
0
function GetHeads()
{
    $page = CurrentPageName();
    if (isset($_SERVER["PHP_AUTH_USER"])) {
        BuildSession($_SERVER["PHP_AUTH_USER"]);
    }
    $tpl = new templates();
    $APP_ARTICA_PRXYLOGS = $tpl->javascript_parse_text("{APP_ARTICA_PRXYLOGS}");
    $p = new pagebuilder();
    $size = 1600;
    $html = "\n<!DOCTYPE html>\n<html lang=\"{$tpl->language}\">\n<head>\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=9; IE=8\">\n  <meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-type\" />\n  <link  rel=\"stylesheet\" type=\"text/css\" href=\"css/squid.default.css\" />\n  <link  rel=\"stylesheet\" type=\"text/css\" href=\"/ressources/templates/endusers/css/s.css\" charset=\"utf-8\"  />\n  <link  rel=\"stylesheet\" type=\"text/css\" href=\"/ressources/templates/endusers/css/jquery.css\" charset=\"utf-8\"  />\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/jquery.jgrowl.css\" />\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/jquery.cluetip.css\" />\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/jquery.treeview.css\" />\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/thickbox.css\" media=\"screen\"/>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/jquery.qtip.css\" />\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"/fonts.css.php\" />\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/jquery.jgrowl.css\" />\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/jquery.cluetip.css\" />\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/jquery.treeview.css\" />\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/thickbox.css\" media=\"screen\"/>\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/jquery.qtip.css\" />\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/flexigrid.pack.css\" />\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/ui.selectmenu.css\" />\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/fileuploader.css\" />\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/fonts.css.php\" />\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/mobiscroll-2.1.custom.min.css\" />\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"/css/rounded.css\" />\n  \n  \t<script type=\"text/javascript\" language=\"javascript\" src=\"/ressources/templates/endusers/js/jquery-1.8.0.min.js\"></script>\n  \t<script type=\"text/javascript\" language=\"javascript\" src=\"/ressources/templates/endusers/js/jquery-ui-1.8.23.custom.min.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/mouse.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/md5.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/XHRConnection.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/float-barr.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/TimersLogs.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/artica_confapply.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/edit.user.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/cookies.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/default.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jqueryFileTree.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jquery.easing.1.3.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/thickbox-compressed.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jquery.simplemodal-1.3.3.min.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jquery.jgrowl_minimized.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jquery.cluetip.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jquery.blockUI.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jquery.treeview.min.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jquery.treeview.async.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jquery.tools.min.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jquery.qtip.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jquery.kwicks-1.5.1.pack.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/flexigrid.pack.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jquery-ui-timepicker-addon.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/ui.selectmenu.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/jquery.cookie.js\"></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/fileuploader.js\"></script>  \n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/tween-min.js\"></script>\n\t<script type='text/javascript' language='javascript' src='/js/jquery.uilock.min.js'></script>\n\t<script type=\"text/javascript\" language=\"javascript\" src=\"/js/steelseries-min.js\"></script>\t\n\t<script type='text/javascript' language='javascript' src='/js/jquery.blockUI.js'></script>  \n    <title>{$APP_ARTICA_PRXYLOGS}</title>\n</head>\n<body>" . $p->YahooBody() . "\n<div class=BodyContent id='start-section' style='width:{$size}px'></div>\n<script>\n\tLoadAjax('start-section','{$page}?tabs=yes&size={$size}');\n\tMessagesTophideAllMessages();\n</script>\n";
    return $html;
}
コード例 #3
0
ファイル: miniadm.logon.php プロジェクト: brucewu16899/1.6.x
function checklogon($Aspost = false)
{
    include_once dirname(__FILE__) . "/ressources/class.user.inc";
    include "ressources/settings.inc";
    $username = $_POST["username"];
    $_POST["password"] = url_decode_special_tool($_POST["password"]);
    $password = trim($_POST["password"]);
    $users = new usersMenus();
    if ($users->WEBSTATS_APPLIANCE) {
        $users->SQUID_INSTALLED = true;
    }
    //echo $username."\n$password\n";
    if ($password == null) {
        if ($Aspost) {
            MainPage("Bad password");
            return;
        }
        echo "Bad password";
        return;
    }
    if (trim(strtolower($username)) == trim(strtolower($_GLOBAL["ldap_admin"]))) {
        $passwordMD = md5(trim($_GLOBAL["ldap_password"]));
        if ($password == $passwordMD) {
            $_SESSION["uid"] = '-100';
            $_SESSION["groupid"] = '-100';
            $_SESSION["passwd"] = $_GLOBAL["ldap_password"];
            $_SESSION["CORP"] = $users->CORP_LICENSE;
            $_SESSION["privileges"]["ArticaGroupPrivileges"] = '
			[AllowAddGroup]="yes"
			[AllowAddUsers]="yes"
			[AllowChangeKav]="yes"
			[AllowChangeKas]="yes"
			[AllowChangeUserPassword]="yes"
			[AllowEditAliases]="yes"
			[AllowEditAsWbl]="yes"
			[AsSystemAdministrator]="yes"
			[AsPostfixAdministrator]="yes"
			[AsArticaAdministrator]="yes"';
            $_SESSION["InterfaceType"] = "{APP_ARTICA_ADM}";
            $_SESSION["AsWebStatisticsAdministrator"] = true;
            if ($Aspost) {
                header("location:miniadm.index.php");
                return;
            }
            return;
        }
    }
    if ($users->SQUID_INSTALLED) {
        $q = new mysql_squid_builder();
        $passwordMD = md5($password);
        $sql = "SELECT webfilters_sqitems.gpid AS maingpid\n\t\t\tFROM webfilters_sqacllinks, webfilters_sqgroups, webfilters_sqitems, webfilters_sqacls\n\t\t\tWHERE webfilters_sqacllinks.gpid = webfilters_sqgroups.ID\n\t\t\tAND webfilters_sqacllinks.aclid = webfilters_sqacls.ID\n\t\t\tAND webfilters_sqgroups.ID = webfilters_sqitems.gpid\n\t\t\tAND webfilters_sqacls.enabled =1\n\t\t\tAND webfilters_sqgroups.enabled =1\n\t\t\tAND webfilters_sqitems.enabled =1\n\t\t\tAND webfilters_sqgroups.GroupType = 'dynamic_acls'\n\t\t\tAND webfilters_sqitems.pattern = '{$username}:{$passwordMD}'";
        $results = $q->QUERY_SQL($sql);
        if (!$q->mysql_error) {
            echo $q->mysql_error;
        }
        $CountDerules = mysql_num_rows($results);
        writelogs("{$username}::webfilters_sqitems:: {$CountDerules} rules", __FUNCTION__, __FILE__, __LINE__);
        if ($CountDerules > 0) {
            writelogs("{$username}::webfilters_sqitems:: Building rules....", __FUNCTION__, __FILE__, __LINE__);
            while ($ligne = mysql_fetch_assoc($results)) {
                $_SESSION["SQUID_DYNAMIC_ACLS_VIRTUALS"][$ligne["maingpid"]] = true;
            }
            $_SESSION["InterfaceType"] = "{ARTICA_MINIADM}";
            $_SESSION["VirtAclUser"] = true;
            $_SESSION["ou"] = "Proxy Service";
            $_SESSION["CORP"] = $users->CORP_LICENSE;
            setcookie("mem-logon-user", $_POST["username-logon"], time() + 172800);
            $_SESSION["privileges_array"] = $privs->privs;
            $_SESSION["uid"] = $username;
            $_SESSION["privileges"]["ArticaGroupPrivileges"] = array();
            BuildSession($username);
            if ($Aspost) {
                header("location:miniadm.index.php");
                return;
            }
            return;
        }
    }
    writelogs("{$username}:: Continue, processing....", __FUNCTION__, __FILE__, __LINE__);
    $ldap = new clladp();
    $IsKerbAuth = $ldap->IsKerbAuth();
    writelogs("{$username}:: Is AD -> {$IsKerbAuth}", __FUNCTION__, __FILE__, __LINE__);
    if ($ldap->IsKerbAuth()) {
        $external_ad_search = new external_ad_search();
        if ($external_ad_search->CheckUserAuth($username, $password)) {
            $users = new usersMenus();
            $privs = new privileges($_POST["username-logon"]);
            $privileges_array = $privs->privs;
            $_SESSION["InterfaceType"] = "{ARTICA_MINIADM}";
            $_SESSION["VirtAclUser"] = false;
            setcookie("mem-logon-user", $_POST["username-logon"], time() + 172800);
            $_SESSION["privileges_array"] = $privs->privs;
            $_SESSION["uid"] = $_POST["username-logon"];
            $_SESSION["passwd"] = $_POST["username-logon"];
            $_SESSION["privileges"]["ArticaGroupPrivileges"] = $privs->content;
            BuildSession($username);
            if ($Aspost) {
                header("location:miniadm.index.php");
                return;
            }
            return;
        }
        writelogs("{$username}:: Checks Active Directory failed, continue processing...", __FUNCTION__, __FILE__, __LINE__);
    }
    writelogs("{$username}:: Continue, processing....", __FUNCTION__, __FILE__, __LINE__);
    $q = new mysql();
    $sql = "SELECT `username`,`value`,id FROM radcheck WHERE `username`='{$username}' AND `attribute`='Cleartext-Password' LIMIT 0,1";
    writelogs("{$username}:: Is a RADIUS users \"{$sql}\"", __FUNCTION__, __FILE__, __LINE__);
    $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
    if (!is_numeric($ligne["id"])) {
        $ligne["id"] = 0;
    }
    if (!$q->ok) {
        writelogs("{$username}:: {$q->mysql_error}", __FUNCTION__, __FILE__, __LINE__);
    }
    writelogs("{$username}:: {$password} <> " . md5($ligne["value"]), __FUNCTION__, __FILE__, __LINE__);
    if ($ligne["id"] > 0) {
        $checkRadiusPass = false;
        if (md5($ligne["value"]) == $password) {
            writelogs("{$username}:: RADIUS Password true for no MD5", __FUNCTION__, __FILE__, __LINE__);
            $checkRadiusPass = true;
        }
        if (md5($ligne["value"]) == $passwordMD) {
            writelogs("{$username}:: RADIUS Password true for yes MD5", __FUNCTION__, __FILE__, __LINE__);
            $checkRadiusPass = true;
        }
        if ($checkRadiusPass) {
            writelogs("{$username}:: Authenticated as a RADIUS users id={$ligne["id"]}", __FUNCTION__, __FILE__, __LINE__);
            $privs = new privileges($_POST["username-logon"], null, $ligne["id"]);
            $privileges_array = $privs->privs;
            $_SESSION["CORP"] = $users->CORP_LICENSE;
            $_SESSION["InterfaceType"] = "{ARTICA_MINIADM}";
            setcookie("mem-logon-user", $username, time() + 172800);
            $_SESSION["privileges_array"] = $privs->privs;
            while (list($key, $val) = each($_SESSION["privileges_array"])) {
                if (!isset($_SESSION[$key])) {
                    $_SESSION[$key] = $val;
                }
            }
            reset($_SESSION["privileges_array"]);
            $_SESSION["uid"] = $username;
            $_SESSION["RADIUS_ID"] = $ligne["id"];
            BuildSession($username);
            if ($Aspost) {
                header("location:miniadm.index.php");
                return;
            }
            return;
        }
    }
    writelogs("{$username}::Finally Is LOCAL LDAP ? -> {$IsKerbAuth}", __FUNCTION__, __FILE__, __LINE__);
    $u = new user($username);
    $tpl = new templates();
    $userPassword = $u->password;
    if (trim($u->uidNumber) == null) {
        writelogs('Unable to get user infos abort', __FUNCTION__, __FILE__);
        if ($Aspost) {
            MainPage("Unknown user (" . __LINE__ . ")");
            return;
        }
        echo "Unknown user (" . __LINE__ . ")";
        die;
    }
    writelogs("{$username}:: Password match ? Aspost = {$Aspost}", __FUNCTION__, __FILE__, __LINE__);
    if ($Aspost) {
        if (trim($password) != trim($userPassword)) {
            writelogs("{$username}:: Password match NO Aspost = {$Aspost}", __FUNCTION__, __FILE__, __LINE__);
            MainPage("Bad password (" . __LINE__ . ")");
            return;
        }
    }
    if (!$Aspost) {
        if (trim($password) != md5(trim($userPassword))) {
            writelogs("{$username}:: Password match NO Aspost = {$Aspost}", __FUNCTION__, __FILE__, __LINE__);
            writelogs("[{$_POST["username"]}]: The password typed  is not the same in ldap database...", __FUNCTION__, __FILE__);
            artica_mysql_events("Failed to logon on the management console as user `{$username}` from {$_SERVER["REMOTE_HOST"]} (bad password)", @implode("\n", $notice), "security", "security");
            if ($Aspost) {
                MainPage("Bad password (" . __LINE__ . ")");
                return;
            }
            echo "Error: (" . __LINE__ . ") bad password";
            return null;
        }
    }
    writelogs("{$username}:: Password match YES Aspost = {$Aspost}", __FUNCTION__, __FILE__, __LINE__);
    $ldap = new clladp();
    $users = new usersMenus();
    $_SESSION["CORP"] = $users->CORP_LICENSE;
    $privs = new privileges($u->uid);
    $privs->SearchPrivileges();
    $privileges_array = $privs->privs;
    $_SESSION["VirtAclUser"] = false;
    $_SESSION["privileges_array"] = $privs->privs;
    $_SESSION["privs"] = $privileges_array;
    if (isset($privileges_array["ForceLanguageUsers"])) {
        $_SESSION["OU_LANG"] = $privileges_array["ForceLanguageUsers"];
    }
    $_SESSION["uid"] = $username;
    $_SESSION["privileges"]["ArticaGroupPrivileges"] = $privs->content;
    $_SESSION["groupid"] = $ldap->UserGetGroups($_POST["username"], 1);
    $_SESSION["DotClearUserEnabled"] = $u->DotClearUserEnabled;
    $_SESSION["MailboxActive"] = $u->MailboxActive;
    $_SESSION["InterfaceType"] = "{APP_ARTICA_ADM}";
    $_SESSION["ou"] = $u->ou;
    $_SESSION["UsersInterfaceDatas"] = trim($u->UsersInterfaceDatas);
    include_once dirname(__FILE__) . "/ressources/class.translate.rights.inc";
    $cr = new TranslateRights(null, null);
    $r = $cr->GetPrivsArray();
    while (list($key, $val) = each($r)) {
        if ($users->{$key}) {
            $_SESSION[$key] = $users->{$key};
        }
    }
    if (is_array($_SESSION["privs"])) {
        $r = $_SESSION["privs"];
        while (list($key, $val) = each($r)) {
            $t[$key] = $val;
            $_SESSION[$key] = $val;
        }
    }
    if (!isset($_SESSION["OU_LANG"])) {
        $_SESSION["OU_LANG"] = null;
    }
    if (!isset($_SESSION["ASDCHPAdmin"])) {
        $_SESSION["ASDCHPAdmin"] = false;
    }
    if (trim($_SESSION["OU_LANG"]) != null) {
        $_SESSION["detected_lang"] = $_SESSION["OU_LANG"];
    } else {
        include_once dirname(__FILE__) . "/ressources/class.langages.inc";
        $lang = new articaLang();
        $_SESSION["detected_lang"] = $lang->get_languages();
    }
    if (isset($GLOBALS["FixedLanguage"])) {
        $sock = new sockets();
        $GLOBALS["FixedLanguage"] = $sock->GET_INFO("FixedLanguage");
    }
    if (trim($GLOBALS["FixedLanguage"]) != null) {
        $_SESSION["detected_lang"] = $GLOBALS["FixedLanguage"];
    }
    if ($Aspost) {
        header("location:miniadm.index.php");
        return;
    }
}
コード例 #4
0
ファイル: exec.thinclient.php プロジェクト: BillTheBest/1.6.x
function compile_workstations()
{
    foreach (glob("/var/lib/tftpboot/thinstation.*") as $filename) {
        @unlink($filename);
    }
    $sql = "SELECT * FROM thinclient_computers";
    $q = new mysql();
    $results = $q->QUERY_SQL($sql, 'artica_backup');
    while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $cmp = new computers($ligne["uid"]);
        $mac = strtoupper($cmp->ComputerMacAddress);
        $mac = str_replace("-", "", $mac);
        $mac = str_replace(":", "", $mac);
        echo "Building thinclient {$cmp->ComputerRealName} {$cmp->ComputerMacAddress}\n";
        $GLOBALS["LOGS"][] = "Building thinclient {$cmp->ComputerRealName} {$cmp->ComputerMacAddress}";
        $parameters = unserialize(base64_decode($ligne["parameters"]));
        if ($parameters["AUDIO_LEVEL"] == null) {
            $parameters["AUDIO_LEVEL"] = 10;
        }
        if ($parameters["USB_ENABLED"] == null) {
            $parameters["USB_ENABLED"] = 0;
        }
        if ($parameters["DAILY_REBOOT"] == null) {
            $parameters["DAILY_REBOOT"] = 0;
        }
        if ($parameters["CUSTOM_CONFIG"] == null) {
            $parameters["CUSTOM_CONFIG"] = 0;
        }
        if ($parameters["RECONNECT_PROMPT"] == null) {
            $parameters["RECONNECT_PROMPT"] = "ON";
        }
        if ($parameters["SCREEN_RESOLUTION_SEQUENCE_ENABLED"] == null) {
            $parameters["SCREEN_RESOLUTION_SEQUENCE_ENABLED"] = "1";
        }
        if ($parameters["SCREEN_RESOLUTION_SEQUENCE"] == null) {
            $parameters["SCREEN_RESOLUTION_SEQUENCE"] = "1024x768|800x600|640x480|*";
        }
        if ($parameters["SCREEN_RESOLUTION"] == null) {
            $parameters["SCREEN_RESOLUTION"] = "1024x768";
        }
        if ($parameters["SCREEN_BLANK_TIME"] == null) {
            $parameters["SCREEN_BLANK_TIME"] = "10";
        }
        if ($parameters["SCREEN_STANDBY_TIME"] == null) {
            $parameters["SCREEN_STANDBY_TIME"] = "20";
        }
        if ($parameters["SCREEN_SUSPEND_TIME"] == null) {
            $parameters["SCREEN_SUSPEND_TIME"] = "30";
        }
        if ($parameters["SCREEN_OFF_TIME"] == null) {
            $parameters["SCREEN_OFF_TIME"] = "60";
        }
        if ($parameters["DONT_VT_SWITCH_STATE"] == null) {
            $parameters["DONT_VT_SWITCH_STATE"] = "0";
        }
        if ($parameters["DONT_ZAP_STATE"] == null) {
            $parameters["DONT_ZAP_STATE"] = "0";
        }
        if ($parameters["KEYBOARD_MAP"] == null) {
            $parameters["KEYBOARD_MAP"] = "us";
        }
        while (list($index, $val) = each($parameters)) {
            if ($index == "AUDIO_LEVEL") {
                continue;
            }
            if ($index == "SCREEN_RESOLUTION_SEQUENCE") {
                continue;
            }
            if ($index == "SCREEN_RESOLUTION_SEQUENCE_ENABLED") {
                continue;
            }
            if ($index == "SCREEN_RESOLUTION") {
                continue;
            }
            if ($index == "SCREEN_BLANK_TIME") {
                continue;
            }
            if ($index == "SCREEN_SUSPEND_TIME") {
                continue;
            }
            if ($index == "SCREEN_OFF_TIME") {
                continue;
            }
            if (is_numeric($val)) {
                if ($val == 0) {
                    $parameters[$index] = "Off";
                }
                if ($val == 1) {
                    $parameters[$index] = "On";
                }
            }
        }
        echo "Building thinclient {$cmp->ComputerRealName} enable sequence for screen={$parameters["SCREEN_RESOLUTION_SEQUENCE_ENABLED"]}\n";
        $conf[] = "AUDIO_LEVEL={$parameters["AUDIO_LEVEL"]}";
        $conf[] = "USB_ENABLED={$parameters["USB_ENABLED"]}";
        $conf[] = "DAILY_REBOOT={$parameters["DAILY_REBOOT"]}";
        $conf[] = "CUSTOM_CONFIG={$parameters["CUSTOM_CONFIG"]}";
        $conf[] = "RECONNECT_PROMPT={$parameters["RECONNECT_PROMPT"]}";
        $conf[] = "KEYBOARD_MAP={$parameters["KEYBOARD_MAP"]}";
        $conf[] = "SCREEN=0";
        $conf[] = "WORKSPACE=1";
        $conf[] = "AUTOSTART=On";
        $conf[] = "ICONMODE=AUTO";
        $conf[] = "SCREEN_COLOR_DEPTH=\"24 | 16 | 8 | *\"";
        $conf[] = "X_DRIVER_OPTION1=\"swcursor On\"";
        $conf[] = "SCREEN_BLANK_TIME={$parameters["SCREEN_BLANK_TIME"]}";
        $conf[] = "SCREEN_STANDBY_TIME={$parameters["SCREEN_STANDBY_TIME"]}";
        $conf[] = "SCREEN_SUSPEND_TIME={$parameters["SCREEN_SUSPEND_TIME"]}";
        $conf[] = "SCREEN_OFF_TIME={$parameters["SCREEN_OFF_TIME"]}";
        $conf[] = "DONT_VT_SWITCH_STATE={$parameters["DONT_VT_SWITCH_STATE"]}";
        $conf[] = "DONT_ZAP_STATE={$parameters["DONT_ZAP_STATE"]}";
        $conf[] = "NET_HOSTNAME={$cmp->ComputerRealName}";
        if ($parameters["SCREEN_RESOLUTION_SEQUENCE_ENABLED"] == 1) {
            $conf[] = "SCREEN_RESOLUTION=\"{$parameters["SCREEN_RESOLUTION_SEQUENCE"]}\"";
        } else {
            $conf[] = "SCREEN_RESOLUTION=\"{$parameters["SCREEN_RESOLUTION"]}\"";
        }
        if (!is_array($parameters["SESSIONS"])) {
            $GLOBALS["LOGS"][] = "Building thinclient {$cmp->ComputerRealName} no sessions set...";
            continue;
        }
        while (list($index, $array) = each($parameters["SESSIONS"])) {
            $conf[] = BuildSession($index, $array);
        }
        @file_put_contents("/var/lib/tftpboot/thinstation.conf-{$mac}", @implode("\n", $conf));
        unset($conf);
    }
}
コード例 #5
0
ファイル: logon.php プロジェクト: brucewu16899/1.6.x
function Radius_admins($username, $MD5password)
{
    $q = new mysql();
    $sql = "SELECT `username`,`value`,id FROM radcheck WHERE `username`='{$username}' AND `attribute`='Cleartext-Password' LIMIT 0,1";
    writelogs("{$username}:: Is a RADIUS users \"{$sql}\"", __FUNCTION__, __FILE__, __LINE__);
    $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup"));
    if (!is_numeric($ligne["id"])) {
        $ligne["id"] = 0;
    }
    if (!$q->ok) {
        return false;
    }
    if ($ligne["id"] == 0) {
        return false;
    }
    writelogs("{$username}:: {$MD5password} <> " . md5($ligne["value"]), __FUNCTION__, __FILE__, __LINE__);
    $checkRadiusPass = false;
    if (md5($ligne["value"]) == $MD5password) {
        writelogs("{$username}:: RADIUS Password true for no MD5", __FUNCTION__, __FILE__, __LINE__);
        $checkRadiusPass = true;
    }
    if (md5($ligne["value"]) == $MD5password) {
        writelogs("{$username}:: RADIUS Password true for yes MD5", __FUNCTION__, __FILE__, __LINE__);
        $checkRadiusPass = true;
    }
    if (!$checkRadiusPass) {
        return false;
    }
    writelogs("{$username}:: Authenticated as a RADIUS users id={$ligne["id"]}", __FUNCTION__, __FILE__, __LINE__);
    $_SESSION["uid"] = $username;
    $_SESSION["RADIUS_ID"] = $ligne["id"];
    $privs = new privileges($username, null, $ligne["id"]);
    $privileges_array = $privs->privs;
    if (count($privileges_array) == 0) {
        unset($_SESSION["RADIUS_ID"]);
        unset($_SESSION["uid"]);
        return false;
    }
    $_SESSION["CORP"] = $users->CORP_LICENSE;
    $_SESSION["InterfaceType"] = "{ARTICA_MINIADM}";
    setcookie("mem-logon-user", $username, time() + 172800);
    $_SESSION["privileges_array"] = $privs->privs;
    while (list($key, $val) = each($_SESSION["privileges_array"])) {
        if (!isset($_SESSION[$key])) {
            $_SESSION[$key] = $val;
        }
    }
    reset($_SESSION["privileges_array"]);
    BuildSession($username);
    return true;
}