function privileges() { $tpl = new templates(); $sock = new sockets(); $EnableSambaVirtualsServers = 0; include_once dirname(__FILE__) . "/ressources/class.translate.rights.inc"; $cr = new TranslateRights(null, null); $r = $cr->GetPrivsArray(); $ht = array(); $ht[] = $tpl->_ENGINE_parse_body("<H2>{$_SESSION["uid"]}::{privileges}</H2>"); $ht[] = "\n\t\t\t<center>\n\t\t\t<table style='width:80%' class=form>"; while (list($key, $val) = each($r)) { if (!isset($_SESSION["privileges_array"][$key])) { continue; } if ($_SESSION["privileges_array"][$key]) { $ht[] = "<tr><td width=1%><img src='img/arrow-right-16.png'></td><td><span style='font-size:14px'>{{$key}}</span></td></tr>"; } } $users = new usersMenus(); if ($users->SAMBA_INSTALLED) { $EnableSambaVirtualsServers = $sock->GET_INFO("EnableSambaVirtualsServers"); if (!is_numeric($EnableSambaVirtualsServers)) { $EnableSambaVirtualsServers = 0; } } if ($EnableSambaVirtualsServers == 1) { if (count($_SESSION["VIRTUALS_SERVERS"]) > 0) { $ht[] = "<tr><td colspan=2 style='font-size:16px;font-weight:bolder'>{virtual_servers}</td></tr>"; while (list($key, $val) = each($_SESSION["VIRTUALS_SERVERS"])) { $ht[] = "<tr><td width=1%><img src='img/arrow-right-16.png'></td><td><span style='font-size:14px'>{$key}</span></td></tr>"; } } } $ht[] = "</table></center>"; echo $tpl->_ENGINE_parse_body(@implode("\n", $ht)); }
function GROUP_PRIVILEGES($gid) { $usr = new usersMenus(); $sock = new sockets(); $RemoveButton = false; $SambaEnabled = $sock->GET_INFO("SambaEnabled"); $EnablePostfixMultiInstance = $sock->GET_INFO("EnablePostfixMultiInstance"); if (!is_numeric($SambaEnabled)) { $SambaEnabled = 1; } if ($SambaEnabled == 0) { $usr->SAMBA_INSTALLED = false; } $EnableSambaVirtualsServers = $sock->GET_INFO("EnableSambaVirtualsServers"); if (!is_numeric($EnableSambaVirtualsServers)) { $EnableSambaVirtualsServers = 0; } if (!is_numeric($EnablePostfixMultiInstance)) { $EnablePostfixMultiInstance = 0; } if (!isset($_GET["tab"])) { echo GROUP_PRIVILEGES_TABS($gid); return; } if (isset($_GET["start"])) { if ($gid == -1) { $oudiv = md5($_GET["ou"]); } if ($gid == -2) { $oudiv = md5($_GET["userid"]); } $div1 = "<div id='{$gid}{$oudiv}_priv'>"; $div2 = "</div>"; } if ($gid > 1) { $group = new groups($gid); $hash = $group->LoadDatas($gid); if ($usr->SAMBA_INSTALLED) { $group->TransformGroupToSmbGroup(); } $ou = $hash["ou"]; if ($gid == 544) { include_once dirname(__FILE__) . "/ressources/class.translate.rights.inc"; $pp = new TranslateRights(); $pt = $pp->GetPrivsArray(); $RemoveButton = true; while (list($num, $ligne) = each($pt)) { $hash["ArticaGroupPrivileges"][$num] = "yes"; } } $HashPrivieleges = $hash["ArticaGroupPrivileges"]; $title_form = "{group}: «{$hash["cn"]}"; } if ($gid == -1) { $ou = base64_decode($_GET["ou"]); $ldap = new clladp(); $hash = $ldap->OUDatas($ou); $privs = $hash["ArticaGroupPrivileges"]; $HashPrivieleges = $ldap->_ParsePrivieleges($privs, array()); $organization_hidden = "<input type='hidden' name='ou' value='{$ou}'>"; $title_form = "{organization}: «{$ou}"; } if ($gid == -2) { $userclass = new user($_GET["userid"]); $ou = base64_decode($userclass->ou); $ldap = new clladp(); $hash = $ldap->OUDatas($ou); $privs = $userclass->ArticaGroupPrivileges; $HashPrivieleges = $ldap->_ParsePrivieleges($privs, array()); $organization_hidden = "<input type='hidden' name='userid' value='{$_GET["userid"]}'>"; $title_form = "{member}: «{$_GET["userid"]}"; $warn = "<div class=text-info>{privileges_users_warning}</div>"; } if (strpos($gid, ",") > 0) { writelogs("GID is dn = {$gid}", __FUNCTION__, __FILE__, __LINE__); include_once dirname(__FILE__) . "/ressources/class.external.ad.inc"; $gp = new external_ad_search(); $ldap = new clladp(); writelogs("->LoadGroupDataByDN({$gid})", __FUNCTION__, __FILE__, __LINE__); $hash = $gp->LoadGroupDataByDN($gid); $privs = $hash["ArticaGroupPrivileges"]; $HashPrivieleges = $ldap->_ParsePrivieleges($privs, array()); $title_form = "{group}: «{$hash["samaccountname"][0]}<div style='font-size:11px;padding:left:50px;margin-bottom:10px;float:right'>{$gid}</div>"; } $priv = new usersMenus(); $AllowAddGroup = Field_yesno_checkbox('AllowAddGroup', $HashPrivieleges["AllowAddGroup"]); $AllowAddUsers = Field_yesno_checkbox('AllowAddUsers', $HashPrivieleges["AllowAddUsers"]); $AsArticaAdministrator = Field_yesno_checkbox('AsArticaAdministrator', $HashPrivieleges["AsArticaAdministrator"]); $AllowChangeDomains = Field_yesno_checkbox('AllowChangeDomains', $HashPrivieleges["AllowChangeDomains"]); $AsSystemAdministrator = Field_yesno_checkbox('AsSystemAdministrator', $HashPrivieleges["AsSystemAdministrator"]); $AsSambaAdministrator = Field_yesno_checkbox('AsSambaAdministrator', $HashPrivieleges["AsSambaAdministrator"]); $AsDnsAdministrator = Field_yesno_checkbox('AsDnsAdministrator', $HashPrivieleges["AsDnsAdministrator"]); $AsQuarantineAdministrator = Field_yesno_checkbox('AsQuarantineAdministrator', $HashPrivieleges["AsQuarantineAdministrator"]); $AsMailManAdministrator = Field_yesno_checkbox('AsMailManAdministrator', $HashPrivieleges["AsMailManAdministrator"]); $AsOrgStorageAdministrator = Field_yesno_checkbox('AsOrgStorageAdministrator', $HashPrivieleges["AsOrgStorageAdministrator"]); $AllowManageOwnComputers = Field_yesno_checkbox('AllowManageOwnComputers', $HashPrivieleges["AllowManageOwnComputers"]); $AsOrgPostfixAdministrator = Field_yesno_checkbox('AsOrgPostfixAdministrator', $HashPrivieleges["AsOrgPostfixAdministrator"]); $AsDansGuardianGroupRule = Field_yesno_checkbox('AsDansGuardianGroupRule', $HashPrivieleges["AsDansGuardianGroupRule"]); $AsMessagingOrg = Field_yesno_checkbox('AsMessagingOrg', $HashPrivieleges["AsMessagingOrg"], "CheckHasOrgAdmin()"); $AsOrgAdmin = Field_yesno_checkbox('AsOrgAdmin', $HashPrivieleges["AsOrgAdmin"], "CheckHasOrgAdmin()"); $AsInventoryAdmin = Field_yesno_checkbox('AsInventoryAdmin', $HashPrivieleges["AsInventoryAdmin"]); $AsJoomlaWebMaster = Field_yesno_checkbox('AsJoomlaWebMaster', $HashPrivieleges["AsJoomlaWebMaster"]); $AsVirtualBoxManager = Field_yesno_checkbox('AsVirtualBoxManager', $HashPrivieleges["AsVirtualBoxManager"]); $OverWriteRestrictedDomains = Field_yesno_checkbox('OverWriteRestrictedDomains', $HashPrivieleges["OverWriteRestrictedDomains"]); $AsWebMaster = Field_yesno_checkbox('AsWebMaster', $HashPrivieleges["AsWebMaster"]); $AsSystemWebMaster = Field_yesno_checkbox('AsSystemWebMaster', $HashPrivieleges["AsSystemWebMaster"]); $AsComplexPassword = Field_yesno_checkbox('AsComplexPassword', $HashPrivieleges["AsComplexPassword"]); $AllowAddGroup = Field_yesno_checkbox('AllowAddGroup', $HashPrivieleges["AllowAddGroup"]); $RestrictNabToGroups = Field_yesno_checkbox('RestrictNabToGroups', $HashPrivieleges["RestrictNabToGroups"]); $AsDansGuardianAdministrator = Field_yesno_checkbox('AsDansGuardianAdministrator', $HashPrivieleges["AsDansGuardianAdministrator"]); $AsWebFilterRepository = Field_yesno_checkbox('AsWebFilterRepository', $HashPrivieleges["AsWebFilterRepository"]); $AsWebStatisticsAdministrator = Field_yesno_checkbox('AsWebStatisticsAdministrator', $HashPrivieleges["AsWebStatisticsAdministrator"]); $AllowUserMaillog = Field_yesno_checkbox('AsWebStatisticsAdministrator', $HashPrivieleges["AllowUserMaillog"]); $AsProxyMonitor = Field_yesno_checkbox('AsProxyMonitor', $HashPrivieleges["AsProxyMonitor"]); $AsPostfixAdministrator = Field_yesno_checkbox('AsPostfixAdministrator', $HashPrivieleges["AsPostfixAdministrator"]); $AsSquidAdministrator = Field_yesno_checkbox('AsSquidAdministrator', $HashPrivieleges["AsSquidAdministrator"]); $AsMailBoxAdministrator = Field_yesno_checkbox('AsMailBoxAdministrator', $HashPrivieleges["AsMailBoxAdministrator"]); $AllowViewStatistics = Field_yesno_checkbox('AllowViewStatistics', $HashPrivieleges["AllowViewStatistics"]); $AllowEditOuSecurity = Field_yesno_checkbox('AllowEditOuSecurity', $HashPrivieleges["AllowEditOuSecurity"]); $AsHotSpotManager = Field_yesno_checkbox('AsHotSpotManager', $HashPrivieleges["AsHotSpotManager"]); $AsOwnMailBoxBackup = Field_yesno_checkbox('AsOwnMailBoxBackup', $HashPrivieleges["AsOwnMailBoxBackup"]); $AsOrgDNSAdmin = Field_yesno_checkbox('AsOrgDNSAdmin', $HashPrivieleges["AsOrgDNSAdmin"]); $ASDCHPAdmin = Field_yesno_checkbox('ASDCHPAdmin', $HashPrivieleges["ASDCHPAdmin"]); if ($priv->SAMBA_INSTALLED) { $VirtualSambaServerColor = "#B3B3B3"; $VirtualSambaServerHidden = "<input type='hidden' id='VirtualSambaServer', value='{$HashPrivieleges["VirtualSambaServer"]}'><span style='font-size:13.5px'>{$HashPrivieleges["VirtualSambaServer"]}</span>"; $VirtualSambaServer = $VirtualSambaServerHidden; if ($EnableSambaVirtualsServers == 1) { $q = new mysql(); $sql = "SELECT hostname FROM samba_hosts WHERE ou='{$ou}'"; $results = $q->QUERY_SQL($sql, "artica_backup"); if (mysql_num_rows($results) == 0) { $VirtualSambaServerError = "{no_server_for_this_ou}:{$ou}"; } if (!$q->ok) { $VirtualSambaServerError = $q->mysql_error; } $SAMBAHOSTS[null] = "{select}"; while ($ligne = mysql_fetch_assoc($results)) { $SAMBAHOSTS[$ligne["hostname"]] = $ligne["hostname"]; } $VirtualSambaServerField = Field_array_Hash($SAMBAHOSTS, "VirtualSambaServer", $HashPrivieleges["VirtualSambaServer"], null, null, 0, "font-size:11px"); } } if ($priv->POSTFIX_INSTALLED) { if ($EnablePostfixMultiInstance == 1) { $q = new mysql(); if (!class_exists("maincf_multi")) { include_once dirname(__FILE__) . "/ressources/class.maincf.multi.inc"; } $sql = "SELECT `value`,ip_address FROM postfix_multi WHERE `ou`='{$ou}' AND `key`='myhostname'"; $results = $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { $VirtualPostfixError = $q->mysql_error; } $PostfixInstances[null] = "{select}"; if (mysql_num_rows($results) > 0) { while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { $main = new maincf_multi($ligne["value"], $ou); $servername = $ligne["value"]; $VirtualHostNameToChange = $main->GET("VirtualHostNameToChange"); $servernameTEXT = $servername; if ($VirtualHostNameToChange != null) { $servernameTEXT = $VirtualHostNameToChange; } $PostfixInstances[$servername] = $servernameTEXT; } $VirtualPostfixFieldColor = "#B3B3B3"; $VirtualPostfixHidden = "<input type='hidden' id='PostfixInstance', value='{$HashPrivieleges["PostfixInstance"]}'><span style='font-size:13.5px'>{$HashPrivieleges["PostfixInstance"]}</span>"; $VirtualPostfixField = Field_array_Hash($PostfixInstances, "PostfixInstance", $HashPrivieleges["PostfixInstance"], null, null, 0, "font-size:11px"); $VirtualPostfix = $VirtualPostfixHidden; } else { $VirtualPostfixError = "{no_instance}:{$ou}"; } } else { $VirtualPostfixError = "{feature_disabled}"; } } if ($priv->AllowAddUsers == false) { $AllowAddUsers = "<img src='img/status_critical.png'>" . Field_hidden('AllowAddUsers', $HashPrivieleges["AllowAddUsers"]); $AsDansGuardianGroupRule = "<img src='img/status_critical.png'>" . Field_hidden('AsDansGuardianGroupRule', $HashPrivieleges["AsDansGuardianGroupRule"]); $AsMessagingOrg = "<img src='img/status_critical.png'>" . Field_hidden('AsMessagingOrg', $HashPrivieleges["AsMessagingOrg"]); $AsOrgAdmin = "<img src='img/status_critical.png'>" . Field_hidden('AsOrgAdmin', $HashPrivieleges["AsOrgAdmin"]); $AsJoomlaWebMaster = "<img src='img/status_critical.png'>" . Field_hidden('AsJoomlaWebMaster', $HashPrivieleges["AsJoomlaWebMaster"]); $AsVirtualBoxManager = "<img src='img/status_critical.png'>" . Field_hidden('AsVirtualBoxManager', $HashPrivieleges["AsVirtualBoxManager"]); $AsComplexPassword = "******" . Field_hidden('AsComplexPassword', $HashPrivieleges["AsComplexPassword"]); $RestrictNabToGroups = "<img src='img/status_critical.png'>" . Field_hidden('RestrictNabToGroups', $HashPrivieleges["RestrictNabToGroups"]); $AsWebFilterRepository = "<img src='img/status_critical.png'>" . Field_hidden('AsWebFilterRepository', $HashPrivieleges["AsWebFilterRepository"]); $AsWebStatisticsAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsWebStatisticsAdministrator', $HashPrivieleges["AsWebStatisticsAdministrator"]); } if ($priv->AsArticaAdministrator == false) { $AsArticaAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsArticaAdministrator', $HashPrivieleges["AsArticaAdministrator"]); $AsSambaAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsSambaAdministrator', $HashPrivieleges["AsSambaAdministrator"]); $AsDnsAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsDnsAdministrator', $HashPrivieleges["AsDnsAdministrator"]); $AsQuarantineAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsQuarantineAdministrator', $HashPrivieleges["AsQuarantineAdministrator"]); $AsOrgStorageAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsOrgStorageAdministrator', $HashPrivieleges["AsOrgStorageAdministrator"]); $AsOrgPostfixAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsOrgPostfixAdministrator', $HashPrivieleges["AsOrgPostfixAdministrator"]); $AsDansGuardianGroupRule = "<img src='img/status_critical.png'>" . Field_hidden('AsDansGuardianGroupRule', $HashPrivieleges["AsDansGuardianGroupRule"]); $AsMessagingOrg = "<img src='img/status_critical.png'>" . Field_hidden('AsMessagingOrg', $HashPrivieleges["AsMessagingOrg"]); $AsOrgAdmin = "<img src='img/status_critical.png'>" . Field_hidden('AsOrgAdmin', $HashPrivieleges["AsOrgAdmin"]); $AsInventoryAdmin = "<img src='img/status_critical.png'>" . Field_hidden('AsInventoryAdmin', $HashPrivieleges["AsInventoryAdmin"]); $AsVirtualBoxManager = "<img src='img/status_critical.png'>" . Field_hidden('AsVirtualBoxManager', $HashPrivieleges["AsVirtualBoxManager"]); $OverWriteRestrictedDomains = "<img src='img/status_critical.png'>" . Field_hidden('OverWriteRestrictedDomains', $HashPrivieleges["OverWriteRestrictedDomains"]); $AsDansGuardianAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsDansGuardianAdministrator', $HashPrivieleges["AsDansGuardianAdministrator"]); $AsWebFilterRepository = "<img src='img/status_critical.png'>" . Field_hidden('AsWebFilterRepository', $HashPrivieleges["AsWebFilterRepository"]); $AsWebStatisticsAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsWebStatisticsAdministrator', $HashPrivieleges["AsWebStatisticsAdministrator"]); $AsPostfixAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsPostfixAdministrator', $HashPrivieleges["AsPostfixAdministrator"]); $AsSquidAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsSquidAdministrator', $HashPrivieleges["AsSquidAdministrator"]); $AsMailBoxAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsMailBoxAdministrator', $HashPrivieleges["AsMailBoxAdministrator"]); $AllowViewStatistics = "<img src='img/status_critical.png'>" . Field_hidden('AllowViewStatistics', $HashPrivieleges["AllowViewStatistics"]); $AllowEditOuSecurity = "<img src='img/status_critical.png'>" . Field_hidden('AllowEditOuSecurity', $HashPrivieleges["AllowEditOuSecurity"]); $AsHotSpotManager = "<img src='img/status_critical.png'>" . Field_hidden('AsHotSpotManager', $HashPrivieleges["AsHotSpotManager"]); $ASDCHPAdmin = "<img src='img/status_critical.png'>" . Field_hidden('ASDCHPAdmin', $HashPrivieleges["ASDCHPAdmin"]); } if (!$priv->AsOrgAdmin) { $AsWebMaster = "<img src='img/status_critical.png'>" . Field_hidden('AsWebMaster', $HashPrivieleges["AsWebMaster"]); } if (!$priv->AsProxyMonitor) { $AsProxyMonitor = "<img src='img/status_critical.png'>" . Field_hidden('AsProxyMonitor', $HashPrivieleges["AsProxyMonitor"]); } if ($priv->AllowAddGroup == false) { $AllowAddGroup = "<img src='img/status_critical.png'>" . Field_hidden('AllowAddGroup', $HashPrivieleges["AllowAddGroup"]); $AsDansGuardianGroupRule = "<img src='img/status_critical.png'>" . Field_hidden('AsDansGuardianGroupRule', $HashPrivieleges["AsDansGuardianGroupRule"]); $AsMessagingOrg = "<img src='img/status_critical.png'>" . Field_hidden('AsMessagingOrg', $HashPrivieleges["AsMessagingOrg"]); $AsOrgAdmin = "<img src='img/status_critical.png'>" . Field_hidden('AsOrgAdmin', $HashPrivieleges["AsOrgAdmin"]); $AsInventoryAdmin = "<img src='img/status_critical.png'>" . Field_hidden('AsInventoryAdmin', $HashPrivieleges["AsInventoryAdmin"]); $AsJoomlaWebMaster = "<img src='img/status_critical.png'>" . Field_hidden('AsJoomlaWebMaster', $HashPrivieleges["AsJoomlaWebMaster"]); $AsVirtualBoxManager = "<img src='img/status_critical.png'>" . Field_hidden('AsVirtualBoxManager', $HashPrivieleges["AsVirtualBoxManager"]); $AsDansGuardianAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsDansGuardianAdministrator', $HashPrivieleges["AsDansGuardianAdministrator"]); $AsWebFilterRepository = "<img src='img/status_critical.png'>" . Field_hidden('AsWebFilterRepository', $HashPrivieleges["AsWebFilterRepository"]); } if ($priv->AllowChangeDomains == false) { $AllowChangeDomains = "<img src='img/status_critical.png'>" . Field_hidden('AllowChangeDomains', $HashPrivieleges["AllowChangeDomains"]); } if ($priv->AsSystemAdministrator == false) { $AsSystemAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsSystemAdministrator', $HashPrivieleges["AsSystemAdministrator"]); } if ($priv->AsDnsAdministrator == false) { $AsDnsAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsDnsAdministrator', $HashPrivieleges["AsDnsAdministrator"]); } if ($priv->AsQuarantineAdministrator == false) { $AsQuarantineAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsQuarantineAdministrator', $HashPrivieleges["AsQuarantineAdministrator"]); } if ($priv->AsOrgStorageAdministrator == false) { $AsOrgStorageAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsOrgStorageAdministrator', $HashPrivieleges["AsOrgStorageAdministrator"]); } if ($priv->AsOrgPostfixAdministrator == false) { $AsOrgPostfixAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsOrgPostfixAdministrator', $HashPrivieleges["AsOrgPostfixAdministrator"]); } if ($priv->AsMessagingOrg == false) { $AsMessagingOrg = "<img src='img/status_critical.png'>" . Field_hidden('AsMessagingOrg', $HashPrivieleges["AsMessagingOrg"]); } if ($priv->AsOrgAdmin == false) { $AsOrgAdmin = "<img src='img/status_critical.png'>" . Field_hidden('AsOrgAdmin', $HashPrivieleges["AsOrgAdmin"]); } if ($priv->AsInventoryAdmin == false) { $AsInventoryAdmin = "<img src='img/status_critical.png'>" . Field_hidden('AsInventoryAdmin', $HashPrivieleges["AsInventoryAdmin"]); } if ($priv->AsJoomlaWebMaster == false) { $AsJoomlaWebMaster = "<img src='img/status_critical.png'>" . Field_hidden('AsJoomlaWebMaster', $HashPrivieleges["AsJoomlaWebMaster"]); } if ($priv->AsVirtualBoxManager == false) { $AsVirtualBoxManager = "<img src='img/status_critical.png'>" . Field_hidden('AsVirtualBoxManager', $HashPrivieleges["AsVirtualBoxManager"]); } if ($priv->AsDansGuardianAdministrator == false) { $AsVirtualBoxManager = "<img src='img/status_critical.png'>" . Field_hidden('AsDansGuardianAdministrator', $HashPrivieleges["AsDansGuardianAdministrator"]); } if ($priv->AsWebFilterRepository == false) { $AsWebFilterRepository = "<img src='img/status_critical.png'>" . Field_hidden('AsWebFilterRepository', $HashPrivieleges["AsWebFilterRepository"]); } if ($priv->AsWebStatisticsAdministrator == false) { $AsWebStatisticsAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsWebStatisticsAdministrator', $HashPrivieleges["AsWebStatisticsAdministrator"]); } if ($priv->AllowUserMaillog == false) { $AllowUserMaillog = "<img src='img/status_critical.png'>" . Field_hidden('AllowUserMaillog', $HashPrivieleges["AllowUserMaillog"]); } if ($priv->AllowEditOuSecurity == false) { $AllowEditOuSecurity = "<img src='img/status_critical.png'>" . Field_hidden('AllowEditOuSecurity', $HashPrivieleges["AllowEditOuSecurity"]); } if ($priv->AsMailManAdministrator == false) { $AsMailManAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsMailManAdministrator', $HashPrivieleges["AsMailManAdministrator"]); } if ($priv->AsPostfixAdministrator == false) { $AsPostfixAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsPostfixAdministrator', $HashPrivieleges["AsPostfixAdministrator"]); } if ($priv->AsSquidAdministrator == false) { $AsSquidAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsSquidAdministrator', $HashPrivieleges["AsSquidAdministrator"]); } if ($priv->AsMailBoxAdministrator == false) { $AsMailBoxAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsMailBoxAdministrator', $HashPrivieleges["AsMailBoxAdministrator"]); } if ($priv->AllowViewStatistics == false) { $AllowViewStatistics = "<img src='img/status_critical.png'>" . Field_hidden('AllowViewStatistics', $HashPrivieleges["AllowViewStatistics"]); } if ($priv->AllowEditOuSecurity == false) { $AllowEditOuSecurity = "<img src='img/status_critical.png'>" . Field_hidden('AllowEditOuSecurity', $HashPrivieleges["AllowEditOuSecurity"]); } if ($priv->AsWebMaster == false) { $AsWebMaster = "<img src='img/status_critical.png'>" . Field_hidden('AsWebMaster', $HashPrivieleges["AsWebMaster"]); } if ($priv->AsSystemWebMaster == false) { $AsSystemWebMaster = "<img src='img/status_critical.png'>" . Field_hidden('AsSystemWebMaster', $HashPrivieleges["AsSystemWebMaster"]); } if ($priv->AllowChangeDomains == false) { $AllowChangeDomains = "<img src='img/status_critical.png'>" . Field_hidden('AllowChangeDomains', $HashPrivieleges["AllowChangeDomains"]); } if ($priv->AsOrgPostfixAdministrator == false) { $AsOrgPostfixAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsOrgPostfixAdministrator', $HashPrivieleges["AsOrgPostfixAdministrator"]); } if ($priv->AsOrgStorageAdministrator == false) { $AsOrgStorageAdministrator = "<img src='img/status_critical.png'>" . Field_hidden('AsOrgStorageAdministrator', $HashPrivieleges["AsOrgStorageAdministrator"]); } if ($priv->OverWriteRestrictedDomains == false) { $OverWriteRestrictedDomains = "<img src='img/status_critical.png'>" . Field_hidden('OverWriteRestrictedDomains', $HashPrivieleges["OverWriteRestrictedDomains"]); } if ($priv->AsHotSpotManager == false) { $AsHotSpotManager = "<img src='img/status_critical.png'>" . Field_hidden('AsHotSpotManager', $HashPrivieleges["AsHotSpotManager"]); } if ($priv->AsOrgDNSAdmin == false) { $AsOrgDNSAdmin = "<img src='img/status_critical.png'>" . Field_hidden('AsOrgDNSAdmin', $HashPrivieleges["AsOrgDNSAdmin"]); } if ($priv->ASDCHPAdmin == false) { $ASDCHPAdmin = "<img src='img/status_critical.png'>" . Field_hidden('ASDCHPAdmin', $HashPrivieleges["ASDCHPAdmin"]); } if ($priv->AsOrgAdmin) { $VirtualSambaServerColor = "black"; $VirtualSambaServer = $VirtualSambaServerField; $VirtualPostfix = $VirtualPostfixField; $VirtualPostfixFieldColor = "black"; } $group_allow = " {groups_allow}</H3><br>\n<div style='width:98%' class=form>\n\t\t<table>\n\t\t\n\t\t\t<tr>\n\t\t\t\t<td align='right'><span style='font-size:13.5px'>{AllowAddUsers}:</span></td><td>{$AllowAddUsers}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td align='right'><span style='font-size:13.5px'>{AsDansGuardianGroupRule}:</span></td><td>{$AsDansGuardianGroupRule}</td>\n\t\t\t</tr>\t\t\t\n\t\t\t\t\t\n\t\t\t\n\t\t</table></div>\n"; $user_allow = " {users_allow}</H3><br>\n\t\t<div style='width:98%' class=form>\n\t\t\t\t\t<table>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowChangeAntiSpamSettings}:</span></td><td>" . Field_yesno_checkbox('AllowChangeAntiSpamSettings', $HashPrivieleges["AllowChangeAntiSpamSettings"]) . "</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowChangeUserPassword}:</span></td><td>" . Field_yesno_checkbox('AllowChangeUserPassword', $HashPrivieleges["AllowChangeUserPassword"]) . "</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsComplexPassword}:</span></td><td>{$AsComplexPassword}</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowFetchMails}:</span></td><td>" . Field_yesno_checkbox('AllowFetchMails', $HashPrivieleges["AllowFetchMails"]) . "</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowUserMaillog}:</span></td><td>" . Field_yesno_checkbox('AllowUserMaillog', $HashPrivieleges["AllowUserMaillog"]) . "</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsOwnMailBoxBackup}:</span></td><td>" . Field_yesno_checkbox('AsOwnMailBoxBackup', $HashPrivieleges["AsOwnMailBoxBackup"]) . "</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowChangeUserKas}:</span></td><td>" . Field_yesno_checkbox('AllowChangeUserKas', $HashPrivieleges["AllowChangeUserKas"]) . "</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowEditAliases}:</span></td><td>" . Field_yesno_checkbox('AllowEditAliases', $HashPrivieleges["AllowEditAliases"]) . "</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowChangeMailBoxRules}:</span></td><td>" . Field_yesno_checkbox('AllowChangeMailBoxRules', $HashPrivieleges["AllowChangeMailBoxRules"]) . "</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowSender_canonical}:</span></td><td>" . Field_yesno_checkbox('AllowSenderCanonical', $HashPrivieleges["AllowSenderCanonical"]) . "</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowOpenVPN}:</span></td><td>" . Field_yesno_checkbox('AllowOpenVPN', $HashPrivieleges["AllowOpenVPN"]) . "</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowDansGuardianBanned}:</span></td><td>" . Field_yesno_checkbox('AllowDansGuardianBanned', $HashPrivieleges["AllowDansGuardianBanned"]) . "</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowXapianDownload}:</span></td><td>" . Field_yesno_checkbox('AllowXapianDownload', $HashPrivieleges["AllowXapianDownload"]) . "</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowManageOwnComputers}:</span></td><td>" . Field_yesno_checkbox('AllowManageOwnComputers', $HashPrivieleges["AllowManageOwnComputers"]) . "</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsJoomlaWebMaster}:</span></td><td>" . Field_yesno_checkbox('AsJoomlaWebMaster', $HashPrivieleges["AsJoomlaWebMaster"]) . "</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{RestrictNabToGroups}:</span></td>\n\t\t\t\t\t\t<td>{$RestrictNabToGroups}</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowEditAsWbl}:</span></td><td>" . Field_yesno_checkbox('AllowEditAsWbl', $HashPrivieleges["AllowEditAsWbl"]) . "</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t</table></div>"; $org_allow = " {organization_allow}</H3><br>\n<div style='width:98%' class=form>\n<table >\t\n\t<tr>\n\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsOrgAdmin}:</span></td>\n\t\t<td>{$AsOrgAdmin}</td>\n\t</tr>\n\t<tr>\n\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsMessagingOrg}:</span></td>\n\t\t<td>{$AsMessagingOrg}</td>\n\t</tr>\t\n\t<tr>\n\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AllowEditOuSecurity}:</span></td>\n\t\t<td>{$AllowEditOuSecurity}</td>\n\t</tr>\n\t<tr>\n\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsOrgPostfixAdministrator}:</span></td>\n\t\t<td>{$AsOrgPostfixAdministrator}</td>\n\t</tr>\t\n\t<tr>\n\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsQuarantineAdministrator}:</span></td>\n\t\t<td>{$AsQuarantineAdministrator}</td>\n\t</tr>\n\t<tr>\n\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsMailManAdministrator}:</span></td>\n\t\t<td>{$AsMailManAdministrator}</td>\n\t</tr>\t\n\t<tr>\n\t\t<td align='right' nowrap><span style='font-size:13.5px'>{OverWriteRestrictedDomains}:</span></td>\n\t\t<td>{$OverWriteRestrictedDomains}</td>\n\t</tr>\t\t\n\t\n\t<tr>\n\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsOrgStorageAdministrator}:</span></td>\n\t\t<td>{$AsOrgStorageAdministrator}</td>\n\t</tr>\t\n\n\t<tr>\n\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsWebMaster}:</span></td>\n\t\t<td>{$AsWebMaster}</td>\n\t</tr>\n\n\t\n\t<tr>\n\t\t<td align='right' nowrap><span style='font-size:13.5px;color:{$VirtualSambaServerColor}'>{file_sharing_server}:</span></td>\n\t\t<td>{$VirtualSambaServer}<div>{$VirtualSambaServerError}</div></td>\n\t</tr>\t\n\t<tr>\n\t\t<td align='right' nowrap><span style='font-size:13.5px;color:{$VirtualPostfixFieldColor}'>{postfix_instance}:</span></td>\n\t\t<td>{$VirtualPostfix}<div><div>{$VirtualPostfixError}</div></td>\n\t</tr>\t\n\t<tr>\n\t\t<td align='right'><span style='font-size:13.5px'>{AsOrgDNSAdmin}:</span></td><td>{$AsOrgDNSAdmin}</td>\n\t</tr>\t\t\t\n\t<tr>\n\t\t<td align='right'><span style='font-size:13.5px'>{AllowChangeDomains}:</span></td><td>{$AllowChangeDomains}</td>\n\t</tr>\t\n</table></div>\t\t\t\t\t\n"; $admin_allow = " {administrators_allow}</H3><br>\n<div style='width:98%' class=form>\n<table>\n\t\t\t\t\n\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td colspan=2><strong style='font-size:16px'>Proxy</strong></td>\t\t\t\t\t\t\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsSquidAdministrator}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsSquidAdministrator}</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsDansGuardianAdministrator}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsDansGuardianAdministrator}</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right'><span style='font-size:13.5px'>{AsHotSpotManager}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsHotSpotManager}</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right'><span style='font-size:13.5px'>{AsProxyMonitor}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsProxyMonitor}</td>\n\t\t\t\t\t\t</tr>\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsWebStatisticsAdministrator}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsWebStatisticsAdministrator}</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsWebFilterRepository}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsWebFilterRepository}</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td colspan=2><strong style='font-size:16px'>{messaging}</strong></td>\t\t\t\t\t\t\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsPostfixAdministrator}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsPostfixAdministrator}</td>\n\t\t\t\t\t\t</tr>\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsMailBoxAdministrator}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsMailBoxAdministrator}</td>\n\t\t\t\t\t\t</tr>\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td colspan=2><strong style='font-size:16px'>{system}</td>\t\t\t\t\t\t\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsArticaAdministrator}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsArticaAdministrator}</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsSystemAdministrator}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsSystemAdministrator}</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsWebMaster}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsSystemWebMaster}</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{ASDCHPAdmin}:</span></td>\n\t\t\t\t\t\t\t<td>{$ASDCHPAdmin}</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsDnsAdministrator}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsDnsAdministrator}</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsSambaAdministrator}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsSambaAdministrator}</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsInventoryAdmin}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsInventoryAdmin}</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><span style='font-size:13.5px'>{AsVirtualBoxManager}:</span></td>\n\t\t\t\t\t\t\t<td>{$AsVirtualBoxManager}</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td align='right' nowrap><strong style='font-size:13.5px'>{AllowViewStatistics}:</span></td>\n\t\t\t\t\t\t\t<td>{$AllowViewStatistics}</td>\n\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t</table></div>"; $sufform = $_GET["tab"]; switch ($_GET["tab"]) { case "G": $g = $group_allow; break; case "U": $g = $user_allow; break; case "A": $g = $admin_allow; break; case "O": $g = $org_allow; break; default: $g = $user_allow; break; } $t = time(); $page = CurrentPageName(); $BigButton = button("{apply}", "EditGroupPrivileges()", "16px"); if ($RemoveButton) { $BigButton = null; } $html = "\n\t{$div1}\n\t{$warn}\n\t<div id='{$t}-div'></div>\n\t<div style='padding:20px' >\n\t<form name='{$sufform}_priv'>\n\t\t{$organization_hidden}\n\t\t<input type='hidden' name='PrivilegesGroup' value='{$gid}'><br>\n\t\t<H3>{$title_form}»\n\t\t{$g}\n\t\t\n\t\t</form>\n\t\t<div style='text-align:right;'>{$BigButton}</div>\n\n\t\t</div>{$div2}\n\n\t\t<script>\n\t\t\nvar x_EditGroupPrivileges{$t}= function (obj) {\n\tvar tempvalue=obj.responseText;\n\tif(tempvalue.length>3){alert(tempvalue);}\n\tdocument.getElementById('{$t}-div').innerHTML='';\n\t}\n\t\t\n\tfunction EditGroupPrivileges(){\n\t\t\n\t\tvar XHR=ParseForm('{$sufform}_priv','{$page}',true,false,true);\n\t\tif(document.getElementById('groupprivileges')){document.getElementById('groupprivileges').innerHTML='';}\n\t\tAnimateDiv('{$t}-div');\n\t\tXHR.sendAndLoad('{$page}', 'GET',x_EditGroupPrivileges{$t});\n\t}\n\t\t\n\t\tfunction CheckHasOrgAdmin(){\n\t\t\tCheckAsMessagingOrg();\t\n\t\t\tif(!document.getElementById('AsOrgAdmin')){return;}\t\t\n\n\t\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\tfunction CheckAsMessagingOrg(){\n\t\t\tif(!document.getElementById('AsMessagingOrg')){return;}\n\t\t\tif(document.getElementById('AsMessagingOrg').checked){\n\t\t\t\tdocument.getElementById('AsQuarantineAdministrator').disabled=true;\n\t\t\t\tdocument.getElementById('AsMailManAdministrator').disabled=true;\n\t\t\t\tdocument.getElementById('AllowChangeDomains').disabled=true;\n\t\t\t\tCheckAsOrgPostfixAdministrator();\n\t\t\t}else{\n\t\t\t\tdocument.getElementById('AsQuarantineAdministrator').disabled=false;\n\t\t\t\tdocument.getElementById('AsMailManAdministrator').disabled=false;\n\t\t\t\tdocument.getElementById('AllowChangeDomains').disabled=false;\t\t\t\n\t\t\t\tCheckAsOrgPostfixAdministrator();\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t\tfunction CheckAsOrgPostfixAdministrator(){\n\t\t\tif(document.getElementById('AsOrgPostfixAdministrator').checked){\n\t\t\t\tdocument.getElementById('OverWriteRestrictedDomains').disabled=true;\n\t\t\t\n\t\t\t}else{\n\t\t\t\tdocument.getElementById('OverWriteRestrictedDomains').disabled=false;\n\t\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t\t\n\t\t\n\t\tCheckHasOrgAdmin();\n\t\t</script>\n\t\t\n\t\t"; $tpl = new templates(); return $tpl->_ENGINE_parse_body($html); }
function privileges() { $tpl = new templates(); $sock = new sockets(); if ($GLOBALS["VERBOSE"]) { echo "<H1>" . __FUNCTION__ . "(line " . __LINE__ . ")</H1>\n"; } $EnableSambaVirtualsServers = 0; include_once dirname(__FILE__) . "/ressources/class.translate.rights.inc"; $cr = new TranslateRights(null, null); $r = $cr->GetPrivsArray(); $users = new usersMenus(); $ldap = new clladp(); $ht = array(); $ht[] = "<div style='width:98%' class=form>"; $ht[] = "<table style='width:99%'>"; if ($ldap->IsKerbAuth()) { if ($GLOBALS["VERBOSE"]) { echo "<li><strong>IsKerbAuth = TRUE (line " . __LINE__ . ")</strong></li>\n"; } include_once dirname(__FILE__) . "/ressources/class.external.ad.inc"; $ht[] = "<div style='font-size:18px;font-weight:bold'>{my_microsoft_groups}</div>"; $ad = new external_ad_search(); $groups = $ad->GroupsOfMember($_SESSION["uid"]); while (list($dn, $name) = each($groups)) { $ht[] = "<tr>\n\t\t\t\t\t<td width=1% valign='top'><img src='img/arrow-right-16.png'></td>\n\t\t\t\t\t<td><span style='font-size:14px;font-weight:bold'>{$name}</span>\n\t\t\t\t\t\t<br><span style='font-size:10px'> ({$dn})</span></td>\n\t\t\t\t</tr>"; } } while (list($key, $val) = each($r)) { if ($GLOBALS["VERBOSE"]) { echo "<li>{$key} = \"{$val}\"</li>\n"; } if ($users->{$key}) { $ht[] = "<tr><td width=1%><img src='img/arrow-right-16.png'></td><td><span style='font-size:14px'>{{$key}}</span></td></tr>"; } } $users = new usersMenus(); if ($users->SAMBA_INSTALLED) { $EnableSambaVirtualsServers = $sock->GET_INFO("EnableSambaVirtualsServers"); if (!is_numeric($EnableSambaVirtualsServers)) { $EnableSambaVirtualsServers = 0; } } if ($EnableSambaVirtualsServers == 1) { if (count($_SESSION["VIRTUALS_SERVERS"]) > 0) { $ht[] = "<tr><td colspan=2 style='font-size:16px;font-weight:bolder'>{virtual_servers}</td></tr>"; while (list($key, $val) = each($_SESSION["VIRTUALS_SERVERS"])) { $ht[] = "<tr><td width=1%><img src='img/arrow-right-16.png'></td><td><span style='font-size:14px'>{$key}</span></td></tr>"; } } } $ht[] = "</table></div>"; echo $tpl->_ENGINE_parse_body(@implode("\n", $ht)); }
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; } }