summaryrefslogtreecommitdiffstats
path: root/usr/local/www/system_usermanager_settings_ldapacpicker.php
diff options
context:
space:
mode:
authorErmal Luçi <eri@pfsense.org>2010-03-03 16:16:39 +0000
committerErmal Luçi <eri@pfsense.org>2010-03-03 16:17:35 +0000
commit6306b5ddc70ce5bbcf9c9c9769755340e0117de4 (patch)
treeef8ac81995fa89cde3362ccbc02540a4e468b783 /usr/local/www/system_usermanager_settings_ldapacpicker.php
parentf700f8da9deedb1f866353911a5eaf939016124a (diff)
downloadpfsense-6306b5ddc70ce5bbcf9c9c9769755340e0117de4.zip
pfsense-6306b5ddc70ce5bbcf9c9c9769755340e0117de4.tar.gz
Overhaul the user login system to use the Servers tab as its base.
Fix quite a few problems down the way.
Diffstat (limited to 'usr/local/www/system_usermanager_settings_ldapacpicker.php')
-rw-r--r--usr/local/www/system_usermanager_settings_ldapacpicker.php63
1 files changed, 36 insertions, 27 deletions
diff --git a/usr/local/www/system_usermanager_settings_ldapacpicker.php b/usr/local/www/system_usermanager_settings_ldapacpicker.php
index 891b146..729dc6c 100644
--- a/usr/local/www/system_usermanager_settings_ldapacpicker.php
+++ b/usr/local/www/system_usermanager_settings_ldapacpicker.php
@@ -32,30 +32,41 @@
*/
require("guiconfig.inc");
+require_once("auth.inc");
require("priv.defs.inc");
require("priv.inc");
+$ous = array();
+if($_GET) {
+ $authcfg = array();
+ $authcfg['ldap_port'] = $_GET['port'];
+ $authcfg['ldap_basedn'] = $_GET['basedn'];
+ $authcfg['host'] = $_GET['host'];
+ $authcfg['ldap_scope'] = $_GET['scope'];
+ $authcfg['ldap_binddn'] = $_GET['binddn'];
+ $authcfg['ldap_bindpw'] = $_GET['bindpw'];
+ $authcfg['ldap_urltype'] = $_GET['urltype'];
+ $authcfg['ldap_protver'] = $_GET['proto'];
+ $authcfg['ldap_authcn'] = explode(";", $_GET['authcn']);
+ $ous = ldap_get_user_ous(true, $authcfg);
+}
+?>
+<script language="JavaScript">
+function post_choices() {
-if($_POST) {
- $ous = ldap_get_user_ous(true);
- $values = "";
- $isfirst = true;
- foreach($ous as $ou) {
- if(in_array($ou, $_POST['ou'])) {
- if($isfirst == false)
- $values .= ";";
- $isfirst = false;
- $values .= $ou;
- }
+ var ous = <?php echo count($ous); ?>;
+ var i;
+ for (i = 0; i < ous; i++) {
+ if (document.forms[0].ou[i].checked) {
+ opener.document.forms[0].ldapauthcontainers.value="";
+ if (opener.document.forms[0].ldapauthcontainers.value != "")
+ opener.document.forms[0].ldapauthcontainers.value+=";";
+ opener.document.forms[0].ldapauthcontainers.value+=document.forms[0].ou[i].value;
+ }
}
- echo "<script language=\"JavaScript\">\n";
- echo "<!--\n";
- echo " opener.document.forms[0].ldapauthcontainers.value='$values'\n";
- echo " this.close();\n";
- echo "-->\n";
- echo "</script>\n";
+ //this.close();
+-->
}
-
-?>
+</script>
<html>
<head>
@@ -78,7 +89,7 @@ if($_POST) {
}
</STYLE>
</head>
- <body link="#000000" vlink="#000000" alink="#000000" onload="<?= $jsevents["body"]["onload"] ?>">
+ <body link="#000000" vlink="#000000" alink="#000000" >
<form method="post" action="system_usermanager_settings_ldapacpicker.php">
<b>Please select which containers to Authenticate against:</b>
<p/>
@@ -87,19 +98,17 @@ if($_POST) {
<td class="tabnavtbl">
<table width="100%">
<?php
- $ous = ldap_get_user_ous(true);
- $pconfig['ldapauthcontainers'] = split(";",$config['system']['webgui']['ldapauthcontainers']);
if(!is_array($ous)) {
echo "Sorry, we could not connect to the LDAP server. Please try later.";
- exit;
+ //exit;
}
- if(is_array($ous)) {
+ else if(is_array($ous)) {
foreach($ous as $ou) {
- if(in_array($ou, $pconfig['ldapauthcontainers']))
+ if(in_array($ou, $authcfg['ldap_authcn']))
$CHECKED=" CHECKED";
else
$CHECKED="";
- echo " <tr><td><input type='checkbox' value='{$ou}' name='ou[]'{$CHECKED}> {$ou}<br/></td></tr>\n";
+ echo " <tr><td><input type='checkbox' value='{$ou}' id='ou' name='ou[]'{$CHECKED}> {$ou}<br/></td></tr>\n";
}
}
?>
@@ -110,7 +119,7 @@ if($_POST) {
<p/>
- <input type='submit' value='Save'>
+ <input type='button' value='Save' onClick="post_choices();">
</body>
</html>
OpenPOWER on IntegriCloud