[SPIP] +2.1.12
[velocampus/web/www.git] / www / ecrire / install / etape_ldap2.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_ldap2_dist
17 function install_etape_ldap2_dist()
18 {
19 echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
20
21 $adresse_ldap = _request('adresse_ldap');
22
23 $port_ldap = _request('port_ldap');
24
25 $tls_ldap = _request('tls_ldap');
26
27 $protocole_ldap = _request('protocole_ldap');
28
29 $login_ldap = _request('login_ldap');
30
31 $pass_ldap = _request('pass_ldap');
32
33 $port_ldap = intval($port_ldap);
34
35 $tls = false;
36
37 if ($tls_ldap == 'oui') {
38 if ($port_ldap==636) {
39 $adresse_ldap = "ldaps://$adresse_ldap";
40
41 } else $tls = true;
42 }
43 $ldap_link = ldap_connect($adresse_ldap, $port_ldap);
44 $erreur = "ldap_connect($adresse_ldap, $port_ldap)";
45
46 if ($ldap_link) {
47 if ( !ldap_set_option($ldap_link, LDAP_OPT_PROTOCOL_VERSION, $protocole_ldap) ) {
48 $protocole_ldap = 2 ;
49 ldap_set_option($ldap_link, LDAP_OPT_PROTOCOL_VERSION, $protocole_ldap);
50 }
51 if ($tls === true) {
52 if (!ldap_start_tls($ldap_link)) {
53 $erreur = "ldap_start_tls($ldap_link) $adresse_ldap, $port_ldap";
54 $ldap_link = false;
55 }
56 }
57 if ($ldap_link) {
58 $ldap_link = ldap_bind($ldap_link, $login_ldap, $pass_ldap);
59 $erreur = "ldap_bind('$ldap_link', '$login_ldap', '$pass_ldap'): $adresse_ldap, $port_ldap";
60 }
61 }
62
63 if ($ldap_link) {
64 echo info_etape(_T('titre_connexion_ldap'),info_progression_etape(2,'etape_ldap','install/')), _T('info_connexion_ldap_ok');
65 echo generer_form_ecrire('install', (
66 "\n<input type='hidden' name='etape' value='ldap3' />"
67 . "\n<input type='hidden' name='adresse_ldap' value=\"$adresse_ldap\" />"
68 . "\n<input type='hidden' name='port_ldap' value=\"$port_ldap\" />"
69 . "\n<input type='hidden' name='login_ldap' value=\"$login_ldap\" />"
70 . "\n<input type='hidden' name='pass_ldap' value=\"$pass_ldap\" />"
71 . "\n<input type='hidden' name='protocole_ldap' value=\"$protocole_ldap\" />"
72 . "\n<input type='hidden' name='tls_ldap' value=\"$tls_ldap\" />"
73 . bouton_suivant()));
74 }
75 else {
76 echo info_etape(_T('titre_connexion_ldap')), info_progression_etape(1,'etape_ldap','install/', true),
77 "<p class='resultat'>"._T('avis_connexion_ldap_echec_1')."</p>",
78 "<p>"._T('avis_connexion_ldap_echec_2').
79 "<br />\n"._T('avis_connexion_ldap_echec_3') .
80 '<br /><br />'. $erreur. '<b> ?</b></p>'
81 ;
82 }
83
84 echo install_fin_html();
85 }
86
87 ?>