Subversion Repositories ALCASAR

Rev

Rev 2446 | Rev 2451 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2446 Rev 2449
Line 1... Line 1...
1
<?php
1
<?php
-
 
2
# $Id: ldap.php 2449 2017-12-05 21:42:08Z tom.houdayer $
-
 
3
 
2
/* written by steweb57 & Rexy */
4
/* written by steweb57 & Rexy */
3
/****************************************************************
5
/****************************************************************
4
*	CONSTANTES AVEC CHEMINS DES FICHIERS DE CONFIGURATION	*
6
*			GLOBAL FILE PATHS			*
5
*****************************************************************/
7
*****************************************************************/
-
 
8
define('CONF_FILE', '/usr/local/etc/alcasar.conf');
6
 
9
 
-
 
10
/****************************************************************
-
 
11
*			FILE reading test			*
7
define ("ALCASAR_RADIUS_SITE", "/etc/raddb/sites-enabled/alcasar");
12
*****************************************************************/
-
 
13
$conf_files = array(CONF_FILE);
-
 
14
foreach ($conf_files as $file) {
-
 
15
	if (!file_exists($file)) {
-
 
16
		exit("Fichier $file non présent");
-
 
17
	}
-
 
18
	if (!is_readable($file)) {
8
define ("ALCASAR_RADIUS_MODULE_LDAP", "/etc/raddb/mods-available/ldap");
19
		exit("Vous n'avez pas les droits de lecture sur le fichier $file");
-
 
20
	}
-
 
21
}
9
 
22
 
10
/****************************************************************
23
/****************************************************************
11
*			Choice of language			*
24
*			Read CONF_FILE				*
12
*****************************************************************/
25
*****************************************************************/
-
 
26
$file_conf = fopen(CONF_FILE, 'r');
-
 
27
if (!$file_conf) {
-
 
28
	exit('Error opening the file '.CONF_FILE);
-
 
29
}
-
 
30
while (!feof($file_conf)) {
-
 
31
	$buffer = fgets($file_conf, 4096);
-
 
32
	if ((strpos($buffer, '=') !== false) && (substr($buffer, 0, 1) !== '#')) {
-
 
33
		$tmp = explode('=', $buffer, 2);
-
 
34
		$conf[trim($tmp[0])] = trim($tmp[1]);
-
 
35
	}
-
 
36
}
-
 
37
fclose($file_conf);
13
 
38
 
-
 
39
/****************************************************************
-
 
40
*			Choice of language			*
-
 
41
*****************************************************************/
14
$Language = 'en';
42
$Language = 'en';
15
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
43
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
16
	$Langue	= explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
44
	$Langue	  = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
17
	$Language	= strtolower(substr(chop($Langue[0]),0,2)); }
45
	$Language = strtolower(substr(chop($Langue[0]), 0, 2));
-
 
46
}
18
if($Language == 'fr'){
47
if ($Language === 'fr') {		// French
19
	$l_file				= "Fichier ";
-
 
20
	$l_not_found			= " non présent";
-
 
21
	$l_no_writing_right_on_file	= "Vous n'avez pas les droits d'écriture sur le fichier ";
-
 
22
	$l_ldap_update_sucess		= "Mise à jour des paramètres LDAP réalisée avec succès";
48
	$l_ldap_update_sucess		= "Mise à jour des paramètres LDAP réalisée avec succès";
23
	$l_ldap_title			= "Authentification externe : LDAP";
49
	$l_ldap_title			= "Authentification externe : LDAP";
24
	$l_ldap_legend			= "Authentification LDAP";
50
	$l_ldap_legend			= "Authentification LDAP";
25
	$l_ldap_auth_enable_label	= "Activer l'authentification LDAP:";
51
	$l_ldap_auth_enable_label	= "Activer l'authentification LDAP:";
26
	$l_ldap_YES			= "OUI";
52
	$l_ldap_YES			= "OUI";
Line 43... Line 69...
43
	$l_ldap_test_connection_failed	= "Impossible de se connecter au serveur LDAP.";
69
	$l_ldap_test_connection_failed	= "Impossible de se connecter au serveur LDAP.";
44
	$l_ldap_test_bind_ok		= "Connexion LDAP réussie...";
70
	$l_ldap_test_bind_ok		= "Connexion LDAP réussie...";
45
	$l_ldap_test_bind_failed	= "Echec d'authentification sur le serveur LDAP... Vérifiez votre configuration";
71
	$l_ldap_test_bind_failed	= "Echec d'authentification sur le serveur LDAP... Vérifiez votre configuration";
46
	$l_ldap_test_dn_ok		= "DN semble bon";
72
	$l_ldap_test_dn_ok		= "DN semble bon";
47
	$l_ldap_test_dn_failed		= "DN semble mauvais";
73
	$l_ldap_test_dn_failed		= "DN semble mauvais";
48
} else {
-
 
49
	$l_file				= "File ";
74
	$l_ldap_error			= "erreur LDAP";
50
	$l_not_found			= " not found";
75
} else {				// English
51
	$l_no_writing_right_on_file	= "You have no writting permission on the file ";
-
 
52
	$l_ldap_update_sucess		= "Successfull LDAP settings update";
76
	$l_ldap_update_sucess		= "Successfull LDAP settings update";
53
	$l_ldap_title			= "External authentication : LDAP";
77
	$l_ldap_title			= "External authentication : LDAP";
54
	$l_ldap_legend			= "LDAP authentication";
78
	$l_ldap_legend			= "LDAP authentication";
55
	$l_ldap_auth_enable_label	= "Use LDAP authentication :";
79
	$l_ldap_auth_enable_label	= "Use LDAP authentication :";
56
	$l_ldap_YES			= "YES";
80
	$l_ldap_YES			= "YES";
Line 73... Line 97...
73
	$l_ldap_test_connection_failed	= "LDAP connexion failed...";
97
	$l_ldap_test_connection_failed	= "LDAP connexion failed...";
74
	$l_ldap_test_bind_ok		= "LDAP connexion success...";
98
	$l_ldap_test_bind_ok		= "LDAP connexion success...";
75
	$l_ldap_test_bind_failed	= "LDAP authentication failed...Check your ldap setup...";
99
	$l_ldap_test_bind_failed	= "LDAP authentication failed...Check your ldap setup...";
76
	$l_ldap_test_dn_ok              = "DN seems to be right";
100
	$l_ldap_test_dn_ok              = "DN seems to be right";
77
	$l_ldap_test_dn_failed          = "DN seems to be wrong";
101
	$l_ldap_test_dn_failed          = "DN seems to be wrong";
78
}
-
 
79
/********************************************************
-
 
80
*		TEST DES FICHIERS DE CONFIGURATION	*
-
 
81
*********************************************************/
-
 
82
 
-
 
83
//Test de présence et des droits en lecture des fichiers de configuration.
-
 
84
if (!file_exists(ALCASAR_RADIUS_SITE)){
-
 
85
	exit($l_file.ALCASAR_RADIUS_SITE.$l_not_found);
-
 
86
}
-
 
87
if (!file_exists(ALCASAR_RADIUS_MODULE_LDAP)){
-
 
88
	exit($l_file.ALCASAR_RADIUS_MODULE_LDAP.$l_not_found);
-
 
89
}
-
 
90
if (!is_readable(ALCASAR_RADIUS_SITE)){
102
	$l_ldap_error			= "LDAP error";
91
	exit($l_no_writing_right_on_file.ALCASAR_RADIUS_SITE);
-
 
92
}
-
 
93
if (!is_readable(ALCASAR_RADIUS_MODULE_LDAP)){
-
 
94
	exit($l_no_writing_right_on_file.ALCASAR_RADIUS_MODULE_LDAP);
-
 
95
}
103
}
96
 
104
 
97
/********************************************************
-
 
98
*		VARIABLES DE FORMULAIRE			*
-
 
99
*********************************************************/
-
 
100
 
105
 
101
if (isset($_GET['erreur'])&&(!($_GET['erreur']==""))) $erreur = $_GET['erreur']; else $erreur = false;//valeur de $erreur non controlée car ne sert qu'un afficher un msg.
-
 
102
if (isset($_GET['update'])&&($_GET['update']=="ok")) $update = true; else $update = false;
-
 
103
 
-
 
104
$message = "";
106
$message = '';
105
if ((bool)$erreur){ 
107
if ((isset($_GET['erreur'])) && (!empty($_GET['erreur']))) { 
106
	$message = "<div align=\"center\"><br>";
108
	$message  = '<div style="text-align: center"><br>';
107
	$message.="<strong><font color=\"red\">".$erreur."</font></strong><br>";
109
	$message .= '<span style="font-weight: bold; color: red;">'.htmlspecialchars($erreur).'</span><br>';
108
	$message.="<br></div>";
110
	$message .= '<br></div>';
109
}else{
-
 
110
	if ($update){
111
} else if (isset($_GET['update']) && ($_GET['update'] === 'ok')) {
111
		$message = "<div align=\"center\"><br>";
112
	$message  = '<div style="text-align: center"><br>';
112
		$message.="<strong><font color=\"green\">$l_ldap_update_sucess</font><br></strong>";
113
	$message .= '<span style="font-weight: bold; color: green;">'.$l_ldap_update_sucess.'</span><br>';
113
		$message.="<br></div>";
114
	$message .= '<br></div>';
114
	}
-
 
115
}
115
}
116
 
116
 
117
/****************************************************************
-
 
118
*			VARIABLES RESULTATS			*
117
// LDAP configuration params
119
*****************************************************************/
-
 
120
//Création des variables nécessaires
118
$ldap_status      = ($conf['LDAP'] === 'on');
121
//variables ldap
-
 
122
$ldap_on		= "";
-
 
123
$ldap_server	= ""; 	//IP ou nom DNS du seveur LDAP (ou AD)
119
$ldap_server      = $conf['LDAP_SERVER'];
124
						//par défaut : server = "ldap.your.domain"
-
 
125
$ldap_identity	= "";	//nom d'utilisateur qui intérroge le ldap (vide = anonyme)
-
 
126
						//par défaut : # identity = "cn=admin,o=My Org,c=UA"
120
$ldap_identity    = $conf['LDAP_USER'];
127
$ldap_password	= "";	//mot de passe de l'utilisateur intérrogeant le ldap
121
$ldap_password    = $conf['LDAP_PASSWORD'];
128
						//par défaut : # password = mypass
122
$ldap_basedn      = $conf['LDAP_BASE'];
129
$ldap_basedn	= "";	//DN de base ou l'on recherchera les utilisateurs 
-
 
130
						//par défaut : basedn = "o=My Org,c=UA"
123
$ldap_filter      = $conf['LDAP_UID'];
131
$ldap_filter	= "";	//permet entre autre de déterminer l'attribut utilisé pour la recherche d'un utilisateur dans LDAP
-
 
132
						//attribut uid pour un ldap standard, samaccountname pour AD
-
 
133
						//par défaut : filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"
-
 
134
$ldap_base_filter = "";	//
124
$ldap_base_filter = $conf['LDAP_FILTER'];
135
						//par défaut : # base_filter = "(objectclass=radiusprofile)"
-
 
136
 
125
 
137
/********************************************************
-
 
138
*Lecture Fichier de conf	*
-
 
139
*********************************************************/
-
 
140
//Lecture du fichier /usr/local/etc/alcasar.conf
-
 
141
//$ldap_server		= $ldap->host;		// others options only in alcasar 3.x ($ldap->server)
-
 
142
//$ldap_identity		= $ldap->identity;
-
 
143
//$ldap_password		= $ldap->password;
-
 
144
//$ldap_basedn		= $ldap->basedn;
-
 
145
//$ldap_filter		= $ldap->uid;		// others options only in alcasar 3.x ($ldap->filter)
-
 
146
//$ldap_base_filter	= $ldap->base_filter;
-
 
147
 
126
 
148
function ldap_test($f_ldap_server, $f_ldap_identity, $f_ldap_password, $f_ldap_basedn, $f_ldap_filter, $f_ldap_port = "389"){
127
function ldap_checkServerConfig($f_ldap_server, $f_ldap_identity, $f_ldap_password, $f_ldap_basedn, $f_ldap_filter, $f_ldap_port = 389) {
149
	// Test du serveur
128
	// Test connect to the LDAP server
150
	if (!$sock = @fsockopen($f_ldap_server, $f_ldap_port, $num, $error, 2)) {
129
	if (!$sock = @fsockopen($f_ldap_server, $f_ldap_port, $num, $error, 2)) {
151
		// no network connection
130
		// no network connection
152
		return -1;
131
		return -1;
153
	} else {
132
	}
154
		fclose($sock);
133
	fclose($sock);
155
		// Connexion au serveur LDAP
-
 
156
		$ldapconn = ldap_connect($f_ldap_server, $f_ldap_port);
-
 
157
		ldap_set_option($ldapconn, LDAP_OPT_TIMELIMIT, 2);
-
 
158
		if ($ldapconn) {
-
 
159
			$ldapbind = ldap_bind($ldapconn, $f_ldap_identity, $f_ldap_password);
-
 
160
			if ($ldapbind) {
-
 
161
				// LDAP Bind success
-
 
162
				//try search
-
 
163
				$query = $f_ldap_filter."=*";
-
 
164
				if($search = ldap_search($ldapconn, $f_ldap_basedn, $query)){
-
 
165
				 	ldap_unbind($ldapconn);      
-
 
166
					return 2;
-
 
167
				} else {
-
 
168
					ldap_unbind($ldapconn);
-
 
169
					return 1;
-
 
170
				}
-
 
171
			} else {
-
 
172
				// Test LDAP Version 3
-
 
173
				ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
-
 
174
				$ldapbind = ldap_bind($ldapconn, $f_ldap_identity, $f_ldap_password);
-
 
175
				if ($ldapbind) {
-
 
176
					// LDAP Bind success
-
 
177
					//try search
-
 
178
					$query = $f_ldap_filter."=*";
-
 
179
					if($search = ldap_search($ldapconn, $f_ldap_basedn, $query)){
-
 
180
						ldap_unbind($ldapconn);
-
 
181
						return 2;
-
 
182
					} else {
-
 
183
				ldap_unbind($ldapconn);
-
 
184
				return 1;
-
 
185
					}
-
 
186
				} else {
-
 
187
					// LDAP Bind failed
-
 
188
					return 0;
-
 
189
				}
-
 
190
			}
-
 
191
		} else {
-
 
192
			// LDAP connection failed
-
 
193
			return -2;
-
 
194
		}
-
 
195
 
134
 
-
 
135
	// Test connect to the LDAP server
-
 
136
	$ldapconn = ldap_connect($f_ldap_server, $f_ldap_port);
-
 
137
	ldap_set_option($ldapconn, LDAP_OPT_TIMELIMIT, 2);
-
 
138
	if (!$ldapconn) {
-
 
139
		// LDAP connection failed
-
 
140
		return -2;
196
	}
141
	}
197
}
-
 
198
 
142
 
199
/********************************
-
 
200
*		TO DO		*
-
 
201
*********************************/
-
 
202
//internationnalisation à mettre en haut du fichier pour internationnaliser les erreurs de script!
-
 
203
?>
-
 
204
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
 
205
<html><!-- written by steweb57 -->
-
 
206
<head>
-
 
207
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-
 
208
<title><?php echo $l_ldap_title; ?></title>
-
 
209
<link rel="stylesheet" href="/css/style.css" type="text/css">
-
 
210
<link rel="stylesheet" href="/css/ldap.css" type="text/css">
143
	$ldapbind = ldap_bind($ldapconn, $f_ldap_identity, $f_ldap_password);
211
<script language="javascript">
144
	if (!$ldapbind) {
212
function testLdapActif(){
145
		// Test LDAP Version 3
213
	//List des ID des éléments à désactiver
146
		ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
214
	var listToDisables = new Array("ldap_server","ldap_dn","ldap_filter","ldap_base_filter","ldap_user","ldap_password");
147
		$ldapbind = ldap_bind($ldapconn, $f_ldap_identity, $f_ldap_password);
215
 
148
 
216
	if (document.getElementById("auth_enable").value == "1"){
149
		if (!$ldapbind) {
217
		for (var i=0;i<listToDisables.length;i++){
150
			// LDAP Bind failed
218
			document.getElementById(listToDisables[i]).style.backgroundColor ="#ffffff";
-
 
219
			document.getElementById(listToDisables[i]).disabled = false;
151
			return 0;
220
		}
152
		}
-
 
153
	}
-
 
154
	ldap_unbind($ldapconn);
-
 
155
 
-
 
156
	// try search
-
 
157
	$query = $f_ldap_filter.'=*';
-
 
158
	if (ldap_search($ldapconn, $f_ldap_basedn, $query)) {
-
 
159
		return 2;
221
	} else {
160
	} else {
222
		for (var i=0;i<listToDisables.length;i++){
-
 
223
			document.getElementById(listToDisables[i]).style.backgroundColor ="#c0c0c0";
-
 
224
			document.getElementById(listToDisables[i]).disabled = true;
-
 
225
		}
161
		return 1;
226
	}
162
	}
227
}
163
}
228
</script>
-
 
229
</head>
164
 
230
<body onLoad="testLdapActif();">
-
 
231
<table width="100%" border=0 cellspacing=0 cellpadding=0>
-
 
232
<tr><th><?php echo $l_ldap_legend; ?></th></tr>
165
// TODO : check LDAP PHP extension loaded?
233
<tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width=1 height=2></td></tr>
-
 
234
</table>
-
 
235
<table width="100%" border=1 cellspacing=0 cellpadding=1>
-
 
236
<tr><td valign="middle" align="left">
166
// if (!extension_loaded('ldap')) {
237
<form name="config_ldap" method="post" action="update_ldap.php">
-
 
238
<fieldset>
167
// 	exit();
239
<legend>
168
// }
240
<?php
169
 
241
echo $message;
-
 
242
$pos = strpos($ldap_server, "//");
170
$pos = strpos($ldap_server, '//');
243
if ($pos!==false){
171
if ($pos !== false) {
-
 
172
	// TODO : useless?
244
	$new_ldap_server = explode("//",$ldap_server); //pour discriminer le host et le protocole dans la notation "ldap://192.168.182.10" ou "ldaps://monldap.monentreperise.com"
173
	$new_ldap_server = explode('//', $ldap_server); // pour discriminer le host et le protocole dans la notation "ldap://192.168.182.10" ou "ldaps://monldap.monentreperise.com"
245
} else {
174
} else {
246
	$new_ldap_server = $ldap_server;
175
	$new_ldap_server = $ldap_server;
247
}
176
}
248
if (($ldap_on == "ldap") && (function_exists('ldap_connect'))){
-
 
249
	echo "<div align='center'><br>";	
177
if ($ldap_status) {
250
 
-
 
251
	switch(ldap_test($new_ldap_server, $ldap_identity, $ldap_password, $ldap_basedn, $ldap_filter)){
178
	$serverCheckResult = ldap_checkServerConfig($new_ldap_server, $ldap_identity, $ldap_password, $ldap_basedn, $ldap_filter);
252
		case -2:
-
 
253
			echo "<font color='red'>".$l_ldap_test_connection_failed."</font>";
-
 
254
			break;
-
 
255
		case -1:
-
 
256
			echo "<font color='red'>".$l_ldap_test_network_failed."</font>";
-
 
257
			break;
-
 
258
		case 0:
-
 
259
			echo "<font color='red'>".$l_ldap_test_bind_failed."</font>";
-
 
260
			break;
-
 
261
		case 1:
-
 
262
			echo "<font color='green'>".$l_ldap_test_bind_ok."</font>";
-
 
263
			echo "<br>";
-
 
264
			echo "<font color='red'>".$l_ldap_test_dn_failed."</font>";
-
 
265
			break;
-
 
266
		case 2:
-
 
267
			echo "<font color='green'>".$l_ldap_test_bind_ok."</font>";
-
 
268
			echo "<br>";
-
 
269
			echo "<font color='green'>".$l_ldap_test_dn_ok."</font>";
-
 
270
		break;
-
 
271
		default:
-
 
272
			echo "LDAP error";
-
 
273
	}
-
 
274
	echo "<br><br></div>"; 
-
 
275
}
179
}
-
 
180
 
276
?>
181
?>
277
</legend>
182
<!DOCTYPE html>
278
<dl>
183
<html>
279
  <dt>
184
<head>
280
    <label for="auth_enable"><?php echo $l_ldap_auth_enable_label; ?></label>
185
	<meta charset="UTF-8">
281
  </dt>
186
	<title><?= $l_ldap_title ?></title>
282
  <dd>
187
	<link type="text/css" href="/css/style.css" rel="stylesheet">
283
    <select id="auth_enable" name="auth_enable" onchange="testLdapActif();">
188
	<link type="text/css" href="/css/acc.css" rel="stylesheet">
284
	<?php if ($ldap_on == "ldap") { 
189
	<link type="text/css" href="/css/ldap.css" rel="stylesheet">
285
      echo "<option value=\"1\" selected=\"selected\">$l_ldap_YES</option>";
190
	<script>
286
      echo "<option value=\"0\">$l_ldap_NO</option>";	
191
	function onLdapStatusChange() {
287
	}else{
192
		var listToDisables = ['ldap_server', 'ldap_dn', 'ldap_filter', 'ldap_base_filter', 'ldap_user', 'ldap_password'];
288
      echo "<option value=\"1\">$l_ldap_YES</option>";
193
 
289
      echo "<option value=\"0\" selected=\"selected\">$l_ldap_NO</option>";
194
		if (document.getElementById("auth_enable").value === '1') {
290
	}?>
195
			for (var i=0; i<listToDisables.length; i++) {
291
    </select>
196
				document.getElementById(listToDisables[i]).style.backgroundColor = '#ffffff';
292
  </dd>
197
				document.getElementById(listToDisables[i]).disabled = false;
293
</dl>
198
			}
294
<dl>
199
		} else {
295
  <dt>
200
			for (var i=0; i<listToDisables.length; i++) {
296
    <label for="ldap_server"><?php echo $l_ldap_server_label; ?></label>
201
				document.getElementById(listToDisables[i]).style.backgroundColor = '#c0c0c0';
297
    <br>
202
				document.getElementById(listToDisables[i]).disabled = true;
298
    <?php echo $l_ldap_server_text; ?></dt>
203
			}
299
  <dd>
204
		}
300
    <input id="ldap_server" size="40" name="ldap_server" value="<?php echo htmlspecialchars($ldap_server); ?>">
205
	}
301
  </dd>
206
	</script>
302
</dl>
207
</head>
303
<dl>
208
<body onLoad="onLdapStatusChange();">
304
  <dt>
209
	<div class="panel">
305
    <label for="ldap_dn"><?php echo $l_ldap_base_dn_label; ?></label>
210
		<div class="panel-header"><?= $l_ldap_legend ?></div>
306
    <br>
211
		<div class="panel-body">
307
    <?php echo $l_ldap_base_dn_text; ?></dt>
212
			<form name="config_ldap" method="post" action="update_ldap.php">
308
  <dd>
213
				<fieldset>
309
    <input id="ldap_dn" size="40" name="ldap_base_dn" value="<?php echo htmlspecialchars($ldap_basedn); ?>">
214
					<legend>
310
  </dd>
215
						<?= $message ?>
311
</dl>
216
						<?php if ($ldap_status): ?>
312
<dl>
217
							<div style="text-align: center"><br>
313
  <dt>
218
								<?php if ($serverCheckResult === -2): ?>
314
    <label for="ldap_filter"><?php echo $l_ldap_filter_label; ?></label>
219
									<span style="color: red"><?= $l_ldap_test_connection_failed ?></span>
315
    <br>
220
								<?php elseif ($serverCheckResult === -1): ?>
316
    <?php echo $l_ldap_filter_text; ?></dt>
221
									<span style="color: red"><?= $l_ldap_test_network_failed ?></span>
317
  <dd>
222
								<?php elseif ($serverCheckResult === 0): ?>
318
    <input id="ldap_filter" size="40" name="ldap_filter" value="<?php echo htmlspecialchars($ldap_filter); ?>">
223
									<span style="color: red"><?= $l_ldap_test_bind_failed ?></span>
319
  </dd>
224
								<?php elseif ($serverCheckResult === 1): ?>
320
</dl>
225
										<span style="color: green"><?= $l_ldap_test_bind_ok ?></span>
321
<dl>
226
										<br>";
322
  <dt>
227
										<span style="color: red"><?= $l_ldap_test_dn_failed ?></span>
323
    <label for="ldap_base_filter"><?php echo $l_ldap_base_filter_label; ?></label>
228
								<?php elseif ($serverCheckResult === 2): ?>
324
    <br>
229
										<span style="color: green"><?= $l_ldap_test_bind_ok ?></span>
325
    <?php echo $l_ldap_base_filter_text; ?></dt>
230
										<br>";
326
  <dd>
231
										<span style="color: green"><?= $l_ldap_test_dn_ok ?></span>
327
    <input id="ldap_base_filter" size="40" name="ldap_base_filter" value="<?php echo htmlspecialchars($ldap_base_filter); ?>">
232
								<?php else: ?>
328
  </dd>
233
									<span><?= $l_ldap_error ?></span>
329
</dl>
234
								<?php endif ?>
330
<dl>
235
								<br><br>
331
  <dt>
236
							</div>
332
    <label for="ldap_user"><?php echo $l_ldap_user_label; ?></label>
237
						<?php endif ?>
333
    <br>
238
					</legend>
334
    <?php echo $l_ldap_user_text; ?></dt>
239
					<dl>
335
  <dd>
240
						<dt>
336
    <input id="ldap_user" size="40" name="ldap_user" value="<?php echo htmlspecialchars($ldap_identity); ?>">
241
							<label for="auth_enable"><?= $l_ldap_auth_enable_label ?></label>
337
  </dd>
242
						</dt>
338
</dl>
243
						<dd>
339
<dl>
244
							<select id="auth_enable" name="auth_enable" onchange="onLdapStatusChange();">
340
  <dt>
245
								<option value="1"<?= ($ldap_status)  ? ' selected="selected"' : '' ?>><?= $l_ldap_YES ?></option>
341
    <label for="ldap_password"><?php echo $l_ldap_password_label; ?></label>
246
								<option value="0"<?= (!$ldap_status) ? ' selected="selected"' : '' ?>><?= $l_ldap_NO ?></option>
342
    <br>
247
							</select>
343
    <?php echo $l_ldap_password_text; ?></dt>
248
						</dd>
344
  <dd>
249
					</dl>
345
    <input id="ldap_password" type="password" size="40" name="ldap_password" value="<?php echo htmlspecialchars($ldap_password);?>">
250
					<dl>
346
  </dd>
251
						<dt>
347
</dl>
252
							<label for="ldap_server"><?= $l_ldap_server_label ?></label><br>
348
<p>
253
							<?= $l_ldap_server_text ?>
349
  <input id="submit" type="submit" value="<?php echo $l_ldap_submit; ?>" name="submit">
254
						</dt>
350
 
255
						<dd>
351
  <input id="reset" type="reset" value="<?php echo $l_ldap_reset; ?>" name="reset">
256
							<input id="ldap_server" size="40" name="ldap_server" value="<?= htmlspecialchars($ldap_server) ?>">
352
</p>
257
						</dd>
353
 
258
					</dl>
354
</fieldset>
259
					<dl>
355
</form>
260
						<dt>
356
<br>
261
							<label for="ldap_dn"><?= $l_ldap_base_dn_label ?></label><br>
357
</td></tr>
262
							<?= $l_ldap_base_dn_text ?>
358
</table>
263
						</dt>
-
 
264
						<dd>
-
 
265
							<input id="ldap_dn" size="40" name="ldap_base_dn" value="<?= htmlspecialchars($ldap_basedn) ?>">
-
 
266
						</dd>
-
 
267
					</dl>
-
 
268
					<dl>
-
 
269
						<dt>
-
 
270
							<label for="ldap_filter"><?= $l_ldap_filter_label ?></label><br>
-
 
271
							<?= $l_ldap_filter_text ?>
-
 
272
						</dt>
-
 
273
						<dd>
-
 
274
							<input id="ldap_filter" size="40" name="ldap_filter" value="<?= htmlspecialchars($ldap_filter) ?>">
-
 
275
						</dd>
-
 
276
					</dl>
-
 
277
					<dl>
-
 
278
						<dt>
-
 
279
							<label for="ldap_base_filter"><?= $l_ldap_base_filter_label ?></label><br>
-
 
280
							<?= $l_ldap_base_filter_text ?>
-
 
281
						</dt>
-
 
282
						<dd>
-
 
283
							<input id="ldap_base_filter" size="40" name="ldap_base_filter" value="<?= htmlspecialchars($ldap_base_filter) ?>">
-
 
284
						</dd>
-
 
285
					</dl>
-
 
286
					<dl>
-
 
287
						<dt>
-
 
288
							<label for="ldap_user"><?= $l_ldap_user_label ?></label><br>
-
 
289
							<?= $l_ldap_user_text ?>
-
 
290
						</dt>
-
 
291
						<dd>
-
 
292
							<input id="ldap_user" size="40" name="ldap_user" value="<?= htmlspecialchars($ldap_identity) ?>">
-
 
293
						</dd>
-
 
294
					</dl>
-
 
295
					<dl>
-
 
296
						<dt>
-
 
297
							<label for="ldap_password"><?= $l_ldap_password_label ?></label><br>
-
 
298
							<?= $l_ldap_password_text ?>
-
 
299
						</dt>
-
 
300
						<dd>
-
 
301
							<input id="ldap_password" type="password" size="40" name="ldap_password" value="<?= htmlspecialchars($ldap_password) ?>">
-
 
302
						</dd>
-
 
303
					</dl>
-
 
304
					<p>
-
 
305
						<input id="submit" type="submit" value="<?= $l_ldap_submit ?>" name="submit">
-
 
306
						<input id="reset" type="reset" value="<?= $l_ldap_reset ?>" name="reset">
-
 
307
					</p>
-
 
308
				</fieldset>
-
 
309
			</form>
-
 
310
		</div>
-
 
311
	</div>
359
</body>
312
</body>
360
</html>
313
</html>