function GetDomainUsersList() { global $SAMSConf; global $USERConf; if ($USERConf->ToWebInterfaceAccess("UC") != 1) { exit; } $DB = new SAMSDB(); if ($SAMSConf->AUTH == "ntlm") { $value = ExecuteShellScript("getwbinfousers", "{$SAMSConf->WBINFOPATH}/"); $a = explode(" ", $value); sort($a); $acount = count($a); } else { require_once "adldap.php"; //create the LDAP connection $pdc = array("{$SAMSConf->LDAPSERVER}"); $options = array(account_suffix => "@{$SAMSConf->LDAPDOMAIN}", base_dn => "{$SAMSConf->LDAPBASEDN}", domain_controllers => $pdc, ad_username => "{$SAMSConf->LDAPUSER}", ad_password => "{$SAMSConf->LDAPUSERPASSWD}", "", "", ""); $ldap = new adLDAP($options); $a = $ldap->all_users($include_desc = false, $search = "*", $sorted = true); sort($a); $acount = count($a); } print "<SELECT NAME=\"usernick\" ID=\"usernick\" SIZE=1 >\n"; for ($i = 0; $i < $acount; $i++) { if ($SAMSConf->NTLMDOMAIN == "Y") { if (strstr($a[$i], "+") != NULL) { $domain = trim(strtok($a[$i], "+")); $user = trim(strtok("+")); $domainlen = strlen($domain); $userlen = strlen($user); } else { $domain = trim(strtok($a[$i], "\\")); $user = trim(strtok("\\")); $domainlen = strlen($domain); $userlen = strlen($user); } if (strlen($domain) == 0 || strlen($user) == 0) { $user = $domain; $domain = $SAMSConf->DEFAULTDOMAIN; } } else { $domain = "{$SAMSConf->DEFAULTDOMAIN}"; $user = trim($a[$i]); //$user=strtolower($user); } $result = $DB->samsdb_query("SELECT * FROM squidusers WHERE domain=\"{$domain}\"&&nick=\"{$user}\" "); $row = $DB->samsdb_fetch_array($result); if (strcmp($row['name'], $user) != 0 && strcmp($row['domain'], $domain) != 0) { if ($SAMSConf->NTLMDOMAIN == "Y") { print "<OPTION VALUE=\"{$domain}+{$user}\"> {$user}/{$domain} "; } else { print "<OPTION VALUE=\"{$user}\"> {$user} "; } } } print "</SELECT>\n"; }
function ADLDtest() { global $SAMSConf; global $USERConf; if ($USERConf->ToWebInterfaceAccess("C") != 1) { exit; } $info = array(); $lang = "./lang/lang.{$SAMSConf->LANG}"; require $lang; print "<H1>Test AD connection</H1>"; require_once "src/adldap.php"; //create the LDAP connection $adldserver = GetAuthParameter("adld", "adldserver"); $basedn = GetAuthParameter("adld", "basedn"); $adadmin = GetAuthParameter("adld", "adadmin"); $adadminpasswd = GetAuthParameter("adld", "adadminpasswd"); $usergroup = GetAuthParameter("adld", "usergroup"); $LDAPBASEDN2 = strtok($basedn, "."); $LDAPBASEDN = "DC={$LDAPBASEDN2}"; while (strlen($LDAPBASEDN2) > 0) { $LDAPBASEDN2 = strtok("."); if (strlen($LDAPBASEDN2) > 0) { $LDAPBASEDN = "{$LDAPBASEDN},DC={$LDAPBASEDN2}"; } } $pdc = array("{$adldserver}"); $options = array(account_suffix => "@{$basedn}", base_dn => "{$LDAPBASEDN}", domain_controllers => $pdc, ad_username => "{$adadmin}", ad_password => "{$adadminpasswd}", "", "", ""); $ldap = new adLDAP($options); $charset = explode(",", $_SERVER['HTTP_ACCEPT_CHARSET']); $groups = $ldap->all_groups($include_desc = false, $search = "*", $sorted = true); $gcount = count($groups); print "<TABLE CLASS=samstable>"; print "<TH width=5%>No"; print "<TH >{$adldtest_1_authldaptray} {$basedn}"; for ($i = 0, $j = 1; $i < $gcount; $i++, $j++) { $groupname = UTF8ToSAMSLang($groups[$i]); echo "<TR><TD>{$j}:<TD>{$groupname} <BR>"; } echo "</TABLE><P>"; $users = $ldap->all_users($include_desc = false, $search = "*", $sorted = true); $count = count($users); print "<TABLE CLASS=samstable>"; print "<TH width=5%>No"; print "<TH >{$adldtest_2_authldaptray} {$basedn}"; print "<TH > "; $i = 0; foreach ($users as $user) { $i++; $samaccountname = UTF8ToSAMSLang($user["samaccountname"]); $displayname = UTF8ToSAMSLang($user["displayname"]); echo "<TR><TD>{$i}: <TD> {$samaccountname} <TD> {$displayname}"; } echo "</TABLE>"; }
function TestPDC() { global $SAMSConf; $info = array(); $lang = "./lang/lang.{$SAMSConf->LANG}"; require $lang; if (isset($_GET["auth"])) { $auth = $_GET["auth"]; } print "<H1>TEST PDC</H1>"; $value = ExecuteShellScript("getwbinfousers", "{$SAMSConf->WBINFOPATH}"); $a = explode(" ", $value); sort($a); $acount = count($a); if ($auth == "ntlm") { for ($i = 0; $i < $acount; $i++) { print "{$a[$i]}<BR>\n"; } } if ($auth == "adld") { require_once "adldap.php"; //create the LDAP connection $pdc = array("{$SAMSConf->LDAPSERVER}"); $options = array(account_suffix => "@{$SAMSConf->LDAPDOMAIN}", base_dn => "{$SAMSConf->LDAPBASEDN}", domain_controllers => $pdc, ad_username => "{$SAMSConf->LDAPUSER}", ad_password => "{$SAMSConf->LDAPUSERPASSWD}", "", "", ""); $ldap = new adLDAP($options); $groups = $ldap->all_groups($include_desc = false, $search = "*", $sorted = true); $gcount = count($groups); print "<TABLE CLASS=samstable>"; print "<TH width=5%>No"; print "<TH >{$SAMSConf->LDAPDOMAIN} groups"; for ($i = 0; $i < $gcount; $i++) { echo "<TR><TD>{$i}:<TD>{$groups[$i]}<BR>"; } echo "</TABLE><P>"; $users = $ldap->all_users($include_desc = false, $search = "*", $sorted = true); $count = count($users); print "<TABLE CLASS=samstable>"; print "<TH width=5%>No"; print "<TH >{$SAMSConf->LDAPDOMAIN} users"; for ($i = 0; $i < $count; $i++) { $userinfo = $ldap->user_info($users[$i], $fields = NULL); //$mcount=count($userinfo); echo "<TR><TD>{$i}:<TD> {$users[$i]} "; $aaa = $userinfo[0]["displayname"][0]; //$aaa2 = $userinfo[0]["givenname"][0]; //$aaa3 = $userinfo[0]["sn"][0]; echo "<TD>{$aaa} "; } echo "</TABLE>"; } }
function ImportFromAD() { require_once "adldap.php"; global $SAMSConf; global $USERConf; $DB = new SAMSDB(); $lang = "./lang/lang.{$SAMSConf->LANG}"; require $lang; if ($USERConf->ToWebInterfaceAccess("UC") != 1) { exit(0); } echo "<H3>ImportFromAD</H3>"; if (isset($_GET["addtemplates"])) { $addtemplates = $_GET["addtemplates"]; } if (isset($_GET["addgroups"])) { $addgroups = $_GET["addgroups"]; } if (isset($_GET["addgroupname"])) { $addgroupname = $_GET["addgroupname"]; } if (isset($_GET["groupname"])) { $idsamsgroup = $_GET["groupname"]; } if (isset($_GET["newgroupname"])) { $newgroupname = $_GET["newgroupname"]; } if (isset($_GET["defaulttraf"])) { $defaulttraf = $_GET["defaulttraf"]; } if (isset($_GET["period"])) { $period = $_GET["period"]; } if (isset($_GET["newperiod"])) { $newperiod = $_GET["newperiod"]; } if (isset($_GET["clryear"])) { $clryear = $_GET["clryear"]; } if (isset($_GET["clrmonth"])) { $clrmonth = $_GET["clrmonth"]; } if (isset($_GET["clrday"])) { $clrday = $_GET["clrday"]; } if (isset($_GET["trange"])) { $trange = $_GET["trange"]; } if (isset($_GET["enabled"])) { $enabled = $_GET["enabled"]; } $addgroups = "on"; $addtemplates = "on"; if ($enabled == "on") { $enabled = 1; } else { $enabled = 0; } if ($period == "A") { $period = $newperiod; $clrdate = "{$clryear}-{$clrmonth}-{$clrday}"; } $adldserver = GetAuthParameter("adld", "adldserver"); $basedn = GetAuthParameter("adld", "basedn"); $adadmin = GetAuthParameter("adld", "adadmin"); $adadminpasswd = GetAuthParameter("adld", "adadminpasswd"); $usergroup = GetAuthParameter("adld", "usergroup"); $LDAPBASEDN2 = strtok($basedn, "."); $LDAPBASEDN = "DC={$LDAPBASEDN2}"; while (strlen($LDAPBASEDN2) > 0) { $LDAPBASEDN2 = strtok("."); if (strlen($LDAPBASEDN2) > 0) { $LDAPBASEDN = "{$LDAPBASEDN},DC={$LDAPBASEDN2}"; } } $pdc = array("{$adldserver}"); $options = array(account_suffix => "@{$basedn}", base_dn => "{$LDAPBASEDN}", domain_controllers => $pdc, ad_username => "{$adadmin}", ad_password => "{$adadminpasswd}", "", "", ""); $ldap = new adLDAP($options); /* Если выбрана одна из групп SAMS */ if ($idsamsgroup >= 0) { $i = 0; while (strlen($addgroupname[$i]) > 0) { $result = $DB->samsdb_query_value("SELECT s_name FROM shablon where s_name = '{$addgroupname[$i]}'"); if ($result == 0) { if ($clrdate == "") { $clrdate = "1980-01-01"; } $DB->samsdb_query("INSERT INTO shablon ( s_name, s_quote, s_auth, s_period, s_clrdate, s_alldenied, \ts_shablon_id2 ) VALUES ( '{$addgroupname[$i]}', '{$defaulttraf}', 'adld', '{$period}', '{$clrdate}', '0', '-1' ) "); $DB->samsdb_query_value("SELECT s_shablon_id FROM shablon WHERE s_name='{$addgroupname[$i]}' "); $row = $DB->samsdb_fetch_array(); $sid = $row['s_shablon_id']; $DB->free_samsdb_query(); $DB->samsdb_query("INSERT INTO sconfig_time ( s_shablon_id, s_trange_id ) VALUES ( '{$sid}', '{$trange}' ) "); echo "create template {$addgroupname[$i]} <BR>"; $result = $DB->samsdb_query("INSERT INTO auth_param (s_auth, s_param, s_value) VALUES('adld', 'adldgroup', '{$addgroupname[$i]}') "); } $result = $DB->samsdb_query_value("SELECT s_name, s_shablon_id FROM shablon where s_name = '{$addgroupname[$i]}'"); $row = $DB->samsdb_fetch_array(); $shablonid = $row['s_shablon_id']; $a = $ldap->all_users($include_desc = false, $search = "*", $sorted = true); $acount = count($a); foreach ($a as $user) { $samaccountname = UTF8ToSAMSLang($user["samaccountname"]); $displayname = UTF8ToSAMSLang($user["displayname"]); $givenname = UTF8ToSAMSLang($user["givenname"]); $sn = UTF8ToSAMSLang($user["sn"]); $memberof = UTF8ToSAMSLang($user["memberof"]); $adldgroups = explode("|", $memberof); $cadldgroups = count($adldgroups); $memberofgroup = "Users"; for ($j = 0; $j < $cadldgroups; $j++) { $adldgroupname = explode("=", $adldgroups[$j]); if (strlen($adldgroupname[1]) > 3) { $memberofgroup = $memberofgroup . "|" . substr($adldgroupname[1], 0, strlen($adldgroupname[1]) - 3); } } if (strstr($memberofgroup, "|" . $addgroupname[$i])) { echo " add user: {$samaccountname} ( {$givenname} {$sn} )<BR>"; if ($enabled == "") { $enabled = 1; } $QUERY = "INSERT INTO squiduser ( s_nick, s_domain, s_name, s_family, s_shablon_id, s_quote, s_size, s_enabled, s_group_id, s_soname, s_ip, s_passwd, s_hit, s_autherrorc, s_autherrort ) VALUES ( '{$samaccountname}', '{$basedn}', '{$givenname}', '{$sn}', '{$shablonid}', '{$defaulttraf}', '0', '{$enabled}', '{$idsamsgroup}', '{$usersoname}', '{$userip}', '{$pass}', '0', '0', '0') "; $DB->samsdb_query($QUERY); } } print " <BR>"; $i++; } } /* Если выбрано создание новой группы */ echo "<B>idsamsgroup: {$idsamsgroup}</B><BR>"; if ($idsamsgroup == -1) { echo " add group: {$addgroupname[$i]}<BR>"; $result = $DB->samsdb_query_value("SELECT s_name FROM sgroup where s_name = '{$newgroupname}'"); if ($result == 0) { $result = $DB->samsdb_query("INSERT INTO sgroup (s_name) VALUES('{$newgroupname}') "); echo "create group {$addgroupname[$i]} "; } $result = $DB->samsdb_query_value("SELECT s_name, s_group_id FROM sgroup where s_name = '{$newgroupname}'"); $row = $DB->samsdb_fetch_array(); $groupid = $row['s_group_id']; $i = 0; while (strlen($addgroupname[$i]) > 0) { $result = $DB->samsdb_query_value("SELECT s_name FROM shablon where s_name = '{$addgroupname[$i]}'"); if ($result == 0) { if ($clrdate == "") { $clrdate = "1980-01-01"; } $DB->samsdb_query("INSERT INTO shablon ( s_name, s_quote, s_auth, s_period, s_clrdate, s_alldenied, \ts_shablon_id2 ) VALUES ( '{$addgroupname[$i]}', '{$defaulttraf}', 'adld', '{$period}', '{$clrdate}', '0', '-1' ) "); $DB->samsdb_query_value("SELECT s_shablon_id FROM shablon WHERE s_name='{$addgroupname[$i]}' "); $row = $DB->samsdb_fetch_array(); $sid = $row['s_shablon_id']; $DB->free_samsdb_query(); $DB->samsdb_query("INSERT INTO sconfig_time ( s_shablon_id, s_trange_id ) VALUES ( '{$sid}', '{$trange}' ) "); echo "create template {$addgroupname[$i]} <BR>"; $result = $DB->samsdb_query("INSERT INTO auth_param (s_auth, s_param, s_value) VALUES('adld', 'adldgroup', '{$addgroupname[$i]}') "); } $result = $DB->samsdb_query_value("SELECT s_name, s_shablon_id FROM shablon where s_name = '{$addgroupname[$i]}'"); $row = $DB->samsdb_fetch_array(); $shablonid = $row['s_shablon_id']; $a = $ldap->all_users($include_desc = false, $search = "*", $sorted = true); $acount = count($a); foreach ($a as $user) { $samaccountname = UTF8ToSAMSLang($user["samaccountname"]); $displayname = UTF8ToSAMSLang($user["displayname"]); $givenname = UTF8ToSAMSLang($user["givenname"]); $sn = UTF8ToSAMSLang($user["sn"]); $memberof = UTF8ToSAMSLang($user["memberof"]); $adldgroups = explode("|", $memberof); $cadldgroups = count($adldgroups); $memberofgroup = "Users"; for ($j = 0; $j < $cadldgroups; $j++) { $adldgroupname = explode("=", $adldgroups[$j]); if (strlen($adldgroupname[1]) > 3) { $memberofgroup = $memberofgroup . "|" . substr($adldgroupname[1], 0, strlen($adldgroupname[1]) - 3); } } if (strstr($memberofgroup, "|" . $addgroupname[$i])) { echo " add user: {$samaccountname} ( {$givenname} {$sn} )<BR>"; if ($enabled == "") { $enabled = 1; } $QUERY = "INSERT INTO squiduser ( s_nick, s_domain, s_name, s_family, s_shablon_id, s_quote, s_size, s_enabled, s_group_id, s_soname, s_ip, s_passwd, s_hit, s_autherrorc, s_autherrort ) VALUES ( '{$samaccountname}', '{$basedn}', '{$givenname}', '{$sn}', '{$shablonid}', '{$defaulttraf}', '0', '{$enabled}', '{$groupid}', '{$usersoname}', '{$userip}', '{$pass}', '0', '0', '0') "; $DB->samsdb_query($QUERY); } } print " <BR>"; $i++; } } if ($idsamsgroup == -2) { $i = 0; while (strlen($addgroupname[$i]) > 0) { echo "{$i}: {$addgroupname[$i]}<BR>"; if ($addtemplates == "on") { echo " add template: {$addgroupname[$i]}<BR>"; $result = $DB->samsdb_query_value("SELECT s_name FROM shablon where s_name = '{$addgroupname[$i]}'"); if ($result == 0) { if ($clrdate == "") { $clrdate = "1980-01-01"; } $DB->samsdb_query("INSERT INTO shablon ( s_name, s_quote, s_auth, s_period, s_clrdate, s_alldenied, \ts_shablon_id2 ) VALUES ( '{$addgroupname[$i]}', '{$defaulttraf}', 'adld', '{$period}', '{$clrdate}', '0', '-1' ) "); $DB->samsdb_query_value("SELECT s_shablon_id FROM shablon WHERE s_name='{$addgroupname[$i]}' "); $row = $DB->samsdb_fetch_array(); $sid = $row['s_shablon_id']; $DB->free_samsdb_query(); $DB->samsdb_query("INSERT INTO sconfig_time ( s_shablon_id, s_trange_id ) VALUES ( '{$sid}', '{$trange}' ) "); echo "create template {$addgroupname[$i]} "; $result = $DB->samsdb_query("INSERT INTO auth_param (s_auth, s_param, s_value) VALUES('adld', 'adldgroup', '{$addgroupname[$i]}') "); } } if ($addgroups == "on") { echo " add group: {$addgroupname[$i]}<BR>"; $result = $DB->samsdb_query_value("SELECT s_name FROM sgroup where s_name = '{$addgroupname[$i]}'"); if ($result == 0) { $result = $DB->samsdb_query("INSERT INTO sgroup (s_name) VALUES('{$addgroupname[$i]}') "); echo "create group {$addgroupname[$i]} "; } $result = $DB->samsdb_query_value("SELECT s_name, s_group_id FROM sgroup where s_name = '{$addgroupname[$i]}'"); $row = $DB->samsdb_fetch_array(); $groupid = $row['s_group_id']; $result = $DB->samsdb_query_value("SELECT s_name, s_shablon_id FROM shablon where s_name = '{$addgroupname[$i]}'"); $row = $DB->samsdb_fetch_array(); $shablonid = $row['s_shablon_id']; $a = $ldap->all_users($include_desc = false, $search = "*", $sorted = true); $acount = count($a); foreach ($a as $user) { $samaccountname = UTF8ToSAMSLang($user["samaccountname"]); $displayname = UTF8ToSAMSLang($user["displayname"]); $givenname = UTF8ToSAMSLang($user["givenname"]); $sn = UTF8ToSAMSLang($user["sn"]); $memberof = UTF8ToSAMSLang($user["memberof"]); $adldgroups = explode("|", $memberof); $cadldgroups = count($adldgroups); $memberofgroup = "Users"; for ($j = 0; $j < $cadldgroups; $j++) { $adldgroupname = explode("=", $adldgroups[$j]); if (strlen($adldgroupname[1]) > 3) { $memberofgroup = $memberofgroup . "|" . substr($adldgroupname[1], 0, strlen($adldgroupname[1]) - 3); } } if (strstr($memberofgroup, "|" . $addgroupname[$i])) { echo " add user: {$samaccountname} ( {$givenname} {$sn} )<BR>"; if ($enabled == "") { $enabled = 1; } $QUERY = "INSERT INTO squiduser ( s_nick, s_domain, s_name, s_family, s_shablon_id, s_quote, s_size, s_enabled, s_group_id, s_soname, s_ip, s_passwd, s_hit, s_autherrorc, s_autherrort ) VALUES ( '{$samaccountname}', '{$basedn}', '{$givenname}', '{$sn}', '{$shablonid}', '{$defaulttraf}', '0', '{$enabled}', '{$groupid}', '{$usersoname}', '{$userip}', '{$pass}', '0', '0', '0') "; $DB->samsdb_query($QUERY); } } } print " <BR>"; $i++; } } /**/ print "<SCRIPT>\n"; print " parent.lframe.location.href=\"lframe.php\"; \n"; print " parent.tray.location.href=\"tray.php?show=usergrouptray&groupname={$groupname}&groupnick={$groupnick}\";\n"; print "</SCRIPT> \n"; }
*===================================================*/ // the attributes we pull from Active Directory $ldapAttributes = array("givenname", "sn", "displayname", "physicaldeliveryofficename", "homephone", "telephonenumber", "mobile", "pager", "facsimiletelephonenumber", "mail", "title", "department", "streetaddress", "postofficebox", "l", "st", "postalcode"); // mapping of Active Directory attributes to OpenEMR Users table columns $attributeMapping = array("givenname" => "fname", "sn" => "lname", "telephonenumber" => "phonew1", "mobile" => "phonecell", "facsimiletelephonenumber" => "fax", "mail" => "email", "title" => "specialty", "streetaddress" => "street", "postofficebox" => "streetb", "l" => "city", "st" => "state", "postalcode" => "zip"); // create new instance and connect to AD with user & pass // defined in adLDAP_conf.inc $adldap = new adLDAP($adldap_options); // gather all our known usernames from OpenEMR // they will be used to compare what is found in Active Directory $oemrUsers = array(); $sqlH = sqlStatement("select id, username from users"); while ($onerow = sqlFetchArray($sqlH)) { array_push($oemrUsers, $onerow); } $adUsers = $adldap->all_users(); foreach ($adUsers as $adUser) { // loop over all the Active Directory users // skip the excluded usernames $skip = 0; foreach ($excludedUsers as $ex) { if ($ex == $adUser) { $skip = 1; break; } } if ($skip == 1) { continue; } // query LDAP for the full user info $userInfo = $adldap->user_info($adUser, $ldapAttributes);
function AddUsersFromADLDForm() { global $SAMSConf; global $USERConf; $lang = "./lang/lang.{$SAMSConf->LANG}"; require $lang; if (isset($_GET["ldapgroup"])) { $ldapgroup = $_GET["ldapgroup"]; } if (isset($_GET["getgroup"])) { $getgroup = $_GET["getgroup"]; } if ($USERConf->ToWebInterfaceAccess("UC") != 1) { exit(0); } PageTop("user.jpg", " {$usersbuttom_1_domain_AddUsersFromDomainForm_1} Active Directory "); require_once "src/adldap.php"; print "<FORM NAME=\"AddDomainUsers\" ACTION=\"main.php\">\n"; $DB = new SAMSDB(); $adldserver = GetAuthParameter("adld", "adldserver"); $basedn = GetAuthParameter("adld", "basedn"); $adadmin = GetAuthParameter("adld", "adadmin"); $adadminpasswd = GetAuthParameter("adld", "adadminpasswd"); $usergroup = GetAuthParameter("adld", "usergroup"); $LDAPBASEDN2 = strtok($basedn, "."); $LDAPBASEDN = "DC={$LDAPBASEDN2}"; while (strlen($LDAPBASEDN2) > 0) { $LDAPBASEDN2 = strtok("."); if (strlen($LDAPBASEDN2) > 0) { $LDAPBASEDN = "{$LDAPBASEDN},DC={$LDAPBASEDN2}"; } } $pdc = array("{$adldserver}"); $options = array(account_suffix => "@{$basedn}", base_dn => "{$LDAPBASEDN}", domain_controllers => $pdc, ad_username => "{$adadmin}", ad_password => "{$adadminpasswd}", "", "", ""); $ldap = new adLDAP($options); $usersgroupname = "Users"; $a = $ldap->all_users($include_desc = false, $search = "*", $sorted = true); $acount = count($a); if (strlen($ldapgroup) > 0 && $ldapgroup != "_allgroups_" && $ldapgroup != "_gettxtinput_") { $usersgroupname = $ldapgroup; } else { if (strlen($ldapgroup) > 0 && $ldapgroup == "_gettxtinput_") { $usersgroupname = $getgroup; } } $groupinfo = $ldap->all_groups($include_desc = false, $search = "*", $sorted = true); $gcount = count($groupinfo); print "<FORM NAME=\"AddDomainUsers\" ACTION=\"main.php\">\n"; /* */ print "<SCRIPT language=JAVASCRIPT>\n"; print "function SelectADGroup(formname)\n"; print "{\n"; print " var group=formname.addgroupname.value; \n"; print " var getgroup=formname.getgroup.value; \n"; print " var str=\"main.php?show=exe&ldapgroup=\"+group+\"&getgroup=\"+getgroup+\"&function=addusersfromadldform&filename=authadldbuttom_2_usersadd.php\"; \n"; print " parent.basefrm.location.href=str;\n"; print "}\n"; print "function EnableTxtInput(formname)\n"; print "{\n"; print " value=document.forms[\"AddDomainUsers\"].elements[\"addgroupname\"].value;\n"; print " if(value==\"_gettxtinput_\") \n"; print " {\n"; print " document.forms[\"AddDomainUsers\"].elements[\"getgroup\"].disabled=false\n"; print " }\n"; print " else \n"; print " {\n"; print " document.forms[\"AddDomainUsers\"].elements[\"getgroup\"].disabled=true\n"; print " }\n"; print "}\n"; print "</SCRIPT> \n"; print "<TABLE WIDTH=90%>\n"; print "<TR><TD WIDTH=40%>{$usersbuttom_1_adldap_AddUsersFromAdLDAPForm_1}</TD>\n"; print "<TD WIDTH=60%><SELECT NAME=\"addgroupname\" onChange=EnableTxtInput(AddDomainUsers)>\n"; print "<OPTION VALUE=\"_allgroups_\" SELECT onselect=EnableTxtInput(AddDomainUsers)> {$usersbuttom_1_adldap_AddUsersFromAdLDAPForm_5}"; print "<OPTION VALUE=\"_gettxtinput_\" onselect=EnableTxtInput(AddDomainUsers)> {$usersbuttom_1_adldap_AddUsersFromAdLDAPForm_6}"; foreach ($groupinfo as $group) { $groupname = UTF8ToSAMSLang($group); print "<OPTION VALUE=\"{$groupname}\" onselect=EnableTxtInput(AddDomainUsers)> {$groupname}"; } /* for($i=0;$i<$gcount;$i++) { $groupname = UTF8ToSAMSLang($groupinfo[$i]); print("<OPTION VALUE=\"$groupname\" onselect=EnableTxtInput(AddDomainUsers)> $groupname"); } */ print "</SELECT>\n"; print "<TR><TD WIDTH=40%>{$usersbuttom_1_adldap_AddUsersFromAdLDAPForm_7}\n"; print "<TD WIDTH=60%><INPUT TYPE=\"TEST\" NAME=\"getgroup\" SIZE=\"20\" DISABLED>\n"; print "</TABLE>\n"; print "<INPUT TYPE=\"BUTTON\" value=\"{$usersbuttom_1_adldap_AddUsersFromAdLDAPForm_2}\" onclick=SelectADGroup(AddDomainUsers)>\n"; print "<P>\n"; /* */ if (strlen($ldapgroup) > 0 && $ldapgroup != "_allgroups_" && $ldapgroup != "_gettxtinput_") { printf("<B>{$usersbuttom_1_adldap_AddUsersFromAdLDAPForm_4}: <FONT COLOR=BLUE>{$ldapgroup}</FONT></B><BR>"); } else { if (strlen($ldapgroup) > 0 && $ldapgroup == "_gettxtinput_") { printf("<B>{$usersbuttom_1_adldap_AddUsersFromAdLDAPForm_4}: <FONT COLOR=BLUE>{$getgroup}</FONT></B><BR>"); } else { print "<BR><B>{$usersbuttom_1_domain_AddUsersFromDomainForm_2}</B><BR>"; } } print "<SELECT NAME=\"username[]\" MULTIPLE>\n"; asort($a); foreach ($a as $user) { $samaccountname = UTF8ToSAMSLang($user["samaccountname"]); $num_rows = $DB->samsdb_query_value("SELECT * FROM squiduser WHERE s_nick='{$samaccountname}'"); if ($num_rows == 0) { $displayname = UTF8ToSAMSLang($user["displayname"]); $memberof = UTF8ToSAMSLang($user["memberof"]); $adldgroups = explode("|", $memberof); $cadldgroups = count($adldgroups); $memberofgroup = "Users"; for ($j = 0; $j < $cadldgroups; $j++) { $adldgroupname = explode("=", $adldgroups[$j]); if (strlen($adldgroupname[1]) > 3) { $memberofgroup = $memberofgroup . "|" . substr($adldgroupname[1], 0, strlen($adldgroupname[1]) - 3); } } if (strstr($memberofgroup, $usersgroupname)) { print "<OPTION VALUE=\"{$samaccountname}\"> {$samaccountname} ({$displayname})\n"; } } $DB->free_samsdb_query(); } print "</SELECT>\n"; print "<P>"; print "<P>"; print "<INPUT TYPE=\"HIDDEN\" NAME=\"domain\" id=Show value=\"{$domain}\">\n"; print "<INPUT TYPE=\"HIDDEN\" NAME=\"show\" id=Show value=\"exe\">\n"; print "<INPUT TYPE=\"HIDDEN\" NAME=\"function\" id=function value=\"addusersfromadldap\">\n"; print "<INPUT TYPE=\"HIDDEN\" NAME=\"filename\" id=filename value=\"authadldbuttom_2_usersadd.php\">\n"; print "<SCRIPT LANGUAGE=JAVASCRIPT> \n"; print "function EnterNewGroupName(formname) \n"; print "{ \n"; print " var groupname=formname.groupname.value; \n"; print " if(groupname==\"-1\") \n"; print " {\n"; print " formname.newgroupname.disabled=false; \n"; print " }\n"; print " else \n"; print " {\n"; print " formname.newgroupname.disabled=true; \n"; print " }\n"; print "}\n"; print "</SCRIPT> \n"; print "<TABLE>\n"; print "<TR><TD><P>\n"; print "<TR><TD>\n"; print "<B>{$usersbuttom_1_domain_AddUsersFromDomainForm_7}\n"; print "<TD>\n"; print "<INPUT TYPE=\"TEXT\" NAME=\"domainname\" id=Show VALUE=\"{$basedn}\">\n"; print "<TR><TD>\n"; print "<B>{$usersbuttom_1_domain_AddUsersFromDomainForm_3} \n"; print "<TD>\n"; print "<SELECT NAME=\"groupname\" ID=\"groupname\" SIZE=1 TABINDEX=30 onchange=EnterNewGroupName(AddDomainUsers)>\n"; $num_rows = $DB->samsdb_query_value("SELECT * FROM sgroup"); while ($row2 = $DB->samsdb_fetch_array()) { print "<OPTION VALUE=\"{$row2['s_group_id']}\"> {$row2['s_name']} "; } print "<OPTION VALUE=\"-1\"> {$usersbuttom_1_domain_AddUsersFromDomainForm_8} "; print "</SELECT>\n"; print "<TR><TD ALIGN=RIGHT>\n"; print "{$usersbuttom_1_domain_AddUsersFromDomainForm_9}: \n"; print "<TD>\n"; print "<INPUT TYPE=\"TEXT\" NAME=\"newgroupname\" id=Newgroupname\" DISABLED>\n"; $DB->free_samsdb_query(); print "<TR>\n"; print "<TD>\n"; print "<B>{$usersbuttom_1_domain_AddUsersFromDomainForm_4} \n"; print "<TD>\n"; print "<SELECT NAME=\"usershablon\" ID=\"usershablon\" SIZE=1 TABINDEX=30 >\n"; $num_rows = $DB->samsdb_query_value("SELECT s_shablon_id, s_name FROM shablon"); while ($row = $DB->samsdb_fetch_array()) { print "<OPTION VALUE={$row['s_shablon_id']}> {$row['s_name']}"; } $DB->free_samsdb_query(); print "</SELECT>"; print "<TR><TD><B>{$usersbuttom_1_domain_AddUsersFromDomainForm_6}"; print "<TD><INPUT TYPE=\"CHECKBOX\" NAME=\"enabled\" CHECKED>"; print "</TABLE>\n"; print "<INPUT TYPE=\"SUBMIT\" value=\"{$usersbuttom_1_domain_AddUsersFromDomainForm_5}\">\n"; print "</FORM>\n"; exit(0); }