function logon() { include "ressources/settings.inc"; if ($_POST["artica_user"] == $_GLOBAL["ldap_admin"]) { if ($_POST["password"] != $_GLOBAL["ldap_password"]) { $_GET["ERROR"] = "bad password"; return false; } else { session_start(); $_SESSION["uid"] = '-100'; $_SESSION["groupid"] = '-100'; $_SESSION["passwd"] = $_POST["password"]; $_SESSION["privileges"] = ' [AllowAddGroup]="yes" [AllowAddUsers]="yes" [AllowChangeKav]="yes" [AllowChangeKas]="yes" [AllowChangeUserPassword]="yes" [AllowEditAliases]="yes" [AllowEditAsWbl]="yes" [AsSystemAdministrator]="yes" [AsPostfixAdministrator]="yes" [AsArticaAdministrator]="yes" '; return true; } } writelogs('This is not Global admin, so test user...', __FUNCTION__, __FILE__); $u = new user($_POST["artica_user"]); $userPassword = $u->password; if (trim($u->uidNumber) == null) { writelogs('Unable to get user infos abort', __FUNCTION__, __FILE__); return false; } if (trim($_POST["password"]) == trim($userPassword)) { $ldap = new clladp(); $ouprivs = $ldap->_Get_privileges_ou($u->uid, $u->ou); $_SESSION["OU_LANG"] = $ouprivs["ForceLanguageUsers"]; $_SESSION["uid"] = $_POST["artica_user"]; $_SESSION["passwd"] = $_POST["password"]; $_SESSION["privileges"]["ArticaGroupPrivileges"] = $ldap->_Get_privileges_userid($_POST["artica_user"]); return true; } }
function logon() { include "ressources/settings.inc"; $_POST["artica_password"] = url_decode_special($_POST["artica_password"]); writelogs("Testing logon....{$_POST["artica_username"]}", __FUNCTION__, __FILE__, __LINE__); writelogs("Testing logon.... password:{$_POST["artica_password"]}", __FUNCTION__, __FILE__, __LINE__); $_COOKIE["artica-language"] = $_POST["lang"]; $socks = new sockets(); if (!$socks->TestArticaPort()) { if (is_file("ressources/logs/boa.start")) { $boa_error = file_get_contents("ressources/logs/boa.start"); } echo "Unable to connect to Artica daemon port:{$boa_error}"; exit; } if ($_POST["artica_username"] == $_GLOBAL["ldap_admin"]) { if ($_POST["artica_password"] != $_GLOBAL["ldap_password"]) { echo "bad password"; return null; } else { //session_start(); $_SESSION["uid"] = '-100'; $_SESSION["groupid"] = '-100'; $_SESSION["passwd"] = $_POST["artica_password"]; setcookie("artica-language", $_POST["lang"], time() + 172800); $_SESSION["detected_lang"] = $_POST["lang"]; $_SESSION["privileges"]["ArticaGroupPrivileges"] = ' [AllowAddGroup]="yes" [AllowAddUsers]="yes" [AllowChangeKav]="yes" [AllowChangeKas]="yes" [AllowChangeUserPassword]="yes" [AllowEditAliases]="yes" [AllowEditAsWbl]="yes" [AsSystemAdministrator]="yes" [AsPostfixAdministrator]="yes" [AsArticaAdministrator]="yes" '; $tpl = new templates(); echo "location:admin.index.php"; exit; } } writelogs('This is not Global admin, so test user...', __FUNCTION__, __FILE__); $u = new user($_POST["artica_username"]); $userPassword = $u->password; if (trim($u->uidNumber) == null) { writelogs('Unable to get user infos abort', __FUNCTION__, __FILE__); echo "Unknown user"; return null; } if (trim($_POST["artica_password"]) == trim($userPassword)) { $ldap = new clladp(); $ouprivs = $ldap->_Get_privileges_ou($u->uid, $u->ou); $privileges = $ldap->_Get_privileges_userid($_POST["artica_username"]); $_SESSION["OU_LANG"] = $ouprivs["ForceLanguageUsers"]; $_SESSION["uid"] = $_POST["artica_username"]; $_SESSION["passwd"] = $_POST["artica_password"]; $_SESSION["privileges"]["ArticaGroupPrivileges"] = $privileges; $_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("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(); } $users = new usersMenus(); $privileges_array = $users->_ParsePrivieleges($privileges); $users->_TranslateRights($privileges_array, true); if (!$users->IfIsAnuser(true)) { writelogs('This is not an user =>admin.index.php ', __FUNCTION__, __FILE__); echo "location:admin.index.php"; return null; } writelogs('IT IS AN USER =>../user-backup/logon.php ', __FUNCTION__, __FILE__); $tpl = new templates(); $array["USERNAME"] = $_POST["artica_username"]; $array["PASSWORD"] = md5($_POST["artica_username"]); $credentials = base64_encode(serialize($array)); echo "location:../user-backup/logon.php?credentials={$credentials}"; return null; exit; } else { writelogs("The passord typed is not the same in ldap database...", __FUNCTION__, __FILE__); echo "bad password"; return null; } }