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>"); } }
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; }
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; } }
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); } }
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; }