Mise en route du suivi.
[aidenligne_francais_universite.git] / ecrire / install / etape_ldap4.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2007 *
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 // http://doc.spip.org/@inc_install_ldap4
14 function install_etape_ldap4_dist()
15 {
16 global $adresse_ldap, $login_ldap, $pass_ldap, $port_ldap, $tls_ldap, $protocole_ldap, $base_ldap, $base_ldap_text, $spip_lang_right;
17
18 echo install_debut_html();
19
20 if (!$base_ldap) $base_ldap = $base_ldap_text;
21
22 $ldap_link = @ldap_connect("$adresse_ldap", "$port_ldap");
23 @ldap_bind($ldap_link, "$login_ldap", "$pass_ldap");
24
25 // Essayer de verifier le chemin fourni
26 $r = @ldap_compare($ldap_link, $base_ldap, "objectClass", "");
27 $fail = (ldap_errno($ldap_link) == 32);
28
29 if ($fail) {
30 info_etape(_T('info_chemin_acces_annuaire'),
31 "<b>"._T('avis_operation_echec')."</b> "._T('avis_chemin_invalide_1')." (<tt>".htmlspecialchars($base_ldap)."</tt>) "._T('avis_chemin_invalide_2')
32 );
33 }
34 else {
35 info_etape(_T('info_reglage_ldap'));
36
37 lire_fichier(_FILE_CONNECT_INS . _FILE_TMP . '.php', $conn);
38 if ($p = strpos($conn, '?'.'>'))
39 $conn = substr($conn, 0, $p);
40 if (!strpos($conn, 'spip_connect_ldap')) {
41 $conn .= "function spip_connect_ldap() {\n";
42 $conn .= "\t\$GLOBALS['ldap_link'] = @ldap_connect(\"$adresse_ldap\",\"$port_ldap\");\n";
43 $conn .= "\t@ldap_set_option(\$GLOBALS['ldap_link'],LDAP_OPT_PROTOCOL_VERSION,\"$protocole_ldap\");\n";
44 if ($tls_ldap == 'oui')
45 $conn .= "\t@ldap_start_tls(\$GLOBALS['ldap_link']);\n";
46
47
48 $conn .= "\t@ldap_bind(\$GLOBALS['ldap_link'],\"$login_ldap\",\"$pass_ldap\");\n";
49 $conn .= "\treturn \$GLOBALS['ldap_link'];\n";
50 $conn .= "}\n";
51 $conn .= "\$GLOBALS['ldap_base'] = \"$base_ldap\";\n";
52 $conn .= "\$GLOBALS['ldap_present'] = true;\n";
53 }
54 $conn .= "?".">";
55 ecrire_fichier(_FILE_CONNECT_INS . _FILE_TMP . '.php', $conn);
56
57 echo generer_url_post_ecrire('install');
58 echo "<input type='hidden' name='etape' value='ldap5' />";
59
60 echo fieldset(_T('info_statut_utilisateurs_1'),
61 array(
62 'statut_ldap' => array(
63 'label' => _T('info_statut_utilisateurs_2').'<br />',
64 'valeur' => '1comite',
65 'alternatives' => array(
66 '6forum' => "<b>"._T('info_visiteur_1')."</b> "._T('info_visiteur_2')."<br />",
67 '1comite' => "<b>"._T('info_redacteur_1')."</b> "._T('info_redacteur_2')."<br />",
68 '0minirezo' => "<b>"._T('info_administrateur_1')."</b> "._T('info_administrateur_2')."<br />"
69 )
70 )
71 )
72 );
73
74 echo bouton_suivant();
75 echo "</form>";
76 }
77
78 echo install_fin_html();
79 }
80 ?>