[SPIP] +2.1.12
[velocampus/web/www.git] / www / ecrire / install / etape_ldap3.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2011 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13
14 if (!defined('_ECRIRE_INC_VERSION')) return;
15
16 // http://doc.spip.org/@install_etape_ldap3_dist
17 function install_etape_ldap3_dist()
18 {
19 $adresse_ldap = _request('adresse_ldap');
20 $login_ldap = _request('login_ldap');
21 $pass_ldap = _request('pass_ldap');
22 $port_ldap = _request('port_ldap');
23
24 $base_ldap_text = defined('_INSTALL_BASE_LDAP')
25 ? _INSTALL_BASE_LDAP
26 : "ou=users, dc=mon-domaine, dc=com";
27
28 echo install_debut_html();
29
30 echo info_etape(_T('info_chemin_acces_1'),info_progression_etape(3,'etape_ldap','install/')),_T('info_chemin_acces_2');
31
32 $ldap_link = @ldap_connect("$adresse_ldap", "$port_ldap");
33 if ($ldap_link) {
34 @ldap_bind($ldap_link, "$login_ldap", "$pass_ldap");
35 $result = @ldap_read($ldap_link, "", "objectclass=*", array("namingContexts"));
36 $info = @ldap_get_entries($ldap_link, $result);
37 @ldap_close($ldap_link);
38 }
39
40 $checked = defined('_INSTALL_BASE_LDAP');
41 $res = '';
42 if (is_array($info) AND $info["count"] > 0) {
43 $res .= "<p>"._T('info_selection_chemin_acces')."</p>";
44 $res .= "<ul>";
45 $n = 0;
46 for ($i = 0; $i < $info["count"]; $i++) {
47 $names = $info[$i]["namingcontexts"];
48 if (is_array($names)) {
49 for ($j = 0; $j < $names["count"]; $j++) {
50 $n++;
51 $res .= "<li><input name=\"base_ldap\" value=\"".htmlspecialchars($names[$j])."\" type='radio' id='tab$n'";
52 if (!$checked) {
53 $res .= " checked=\"checked\"";
54 $checked = true;
55 }
56 $res .= " />";
57 $res .= "<label for='tab$n'>".htmlspecialchars($names[$j])."</label></li>\n";
58 }
59 }
60 }
61 $res .= "</ul>";
62 $res .= _T('info_ou')." ";
63 }
64 $res .= "<br />\n<input name=\"base_ldap\" value=\"\" type='radio' id='manuel'";
65 if (!$checked OR defined('_INSTALL_BASE_LDAP')) {
66 $res .= " checked=\"checked\"";
67 $checked = true;
68 }
69
70 $res .= " />"
71 . "\n<label for='manuel'>"._T('entree_chemin_acces')."</label> "
72 . "\n<fieldset>"
73 . "<input type='text' name='base_ldap_text' class='text' value=\"$base_ldap_text\" size='40' />"
74 . "\n</fieldset>"
75 . "\n<input type='hidden' name='etape' value='ldap4' />"
76 . install_propager(array('adresse_ldap','port_ldap','login_ldap','pass_ldap','protocole_ldap','tls_ldap'))
77 . bouton_suivant();
78
79 echo generer_form_ecrire('install', $res);
80
81 echo install_fin_html();
82 }
83
84
85 ?>