diff --git a/ecrire/inc/admin.php b/ecrire/inc/admin.php index 3d48d4503b18c063aa82a681d8062333ffddf15a..125d32f9ce1f8508be50cdccdf9628548e701c73 100644 --- a/ecrire/inc/admin.php +++ b/ecrire/inc/admin.php @@ -59,12 +59,12 @@ function admin_verifie_session($script) { include_spip('base/abstract_sql'); $pref = sprintf("_%d_",$GLOBALS['auteur_session']['id_auteur']); $signal = fichier_admin($script, "$script$pref"); - $row = sql_fetsel('valeur', 'spip_meta', "nom='admin'"); - if (!$row) { + $valeur = sql_getfetsel('valeur', 'spip_meta', "nom='admin'"); + if ($valeur === NULL) { ecrire_meta('admin', $signal,'non'); } else { - if (($s = $row['valeur']) != $signal) { - if (intval(substr($s, strpos($s,'_')+1))<> + if ($valeur != $signal) { + if (intval(substr($valeur, strpos($valeur,'_')+1))<> $GLOBALS['auteur_session']['id_auteur']) { include_spip('inc/minipres'); echo minipres(_T('info_travaux_texte')); diff --git a/ecrire/inc/auth_ldap.php b/ecrire/inc/auth_ldap.php index 6fb8a02b220d8fe24f5734550f0b9e487c329593..81917ab99d8ba5fec8d9eab78c279fb3d3571af2 100644 --- a/ecrire/inc/auth_ldap.php +++ b/ecrire/inc/auth_ldap.php @@ -11,6 +11,7 @@ \***************************************************************************/ if (!defined("_ECRIRE_INC_VERSION")) return; +include_once(_DIR_CONNECT . 'ldap.php'); // Authentifie via LDAP et retourne la ligne SQL decrivant l'utilisateur si ok diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 08bb4914faae28e764c1056999f45be43c3dbbf2..52dda9166eea01bb509621e81842eb8d202a3824 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -1224,6 +1224,8 @@ function spip_initialisation($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) { (@is_readable($f = _DIR_CHMOD . _FILE_CHMOD_INS . '.php') ? $f : false)); + define('_FILE_LDAP', _DIR_CONNECT . 'ldap' . '.php'); + define('_FILE_TMP_SUFFIX', '.tmp.php'); define('_FILE_CONNECT_TMP', _DIR_CONNECT . _FILE_CONNECT_INS . _FILE_TMP_SUFFIX); define('_FILE_CHMOD_TMP', _DIR_CHMOD . _FILE_CHMOD_INS . _FILE_TMP_SUFFIX); diff --git a/ecrire/install/etape_ldap1.php b/ecrire/install/etape_ldap1.php index 0ffa351a6184eca0b44c4bfa3aac5e09901aff7e..aab4a1aabf71d1d6fc62f2a07919e80264241f68 100644 --- a/ecrire/install/etape_ldap1.php +++ b/ecrire/install/etape_ldap1.php @@ -37,10 +37,9 @@ function install_etape_ldap1_dist() ? _INSTALL_PASS_LDAP : ''; - // Recuperer les anciennes donnees (si presentes) - if (@file_exists(_FILE_CONNECT_INS . _FILE_TMP . '.php')) { - $s = @join('', @file(_FILE_CONNECT_INS . _FILE_TMP . '.php')); + if (@file_exists(_FILE_LDAP)) { + $s = @join('', @file(_FILE_LDAP)); if (preg_match('#ldap_connect\("(.*)","(.*)"\)#', $s, $regs)) { $adresse_ldap = $regs[1]; $port_ldap = $regs[2]; diff --git a/ecrire/install/etape_ldap4.php b/ecrire/install/etape_ldap4.php index 74029bc09079a259e0a41b12b495678ac6683eca..6a97d7ed806ebee8aa185db7acd431561ccece06 100644 --- a/ecrire/install/etape_ldap4.php +++ b/ecrire/install/etape_ldap4.php @@ -42,24 +42,24 @@ function install_etape_ldap4_dist() info_etape(_T('info_reglage_ldap')); lire_fichier(_FILE_CONNECT_TMP, $conn); - if ($p = strpos($conn, '?'.'>')) - $conn = substr($conn, 0, $p); if (!strpos($conn, 'spip_connect_ldap')) { - $conn .= "function spip_connect_ldap() {\n"; - $conn .= "\t\$GLOBALS['ldap_link'] = @ldap_connect(\"$adresse_ldap\",\"$port_ldap\");\n"; - $conn .= "\t@ldap_set_option(\$GLOBALS['ldap_link'],LDAP_OPT_PROTOCOL_VERSION,\"$protocole_ldap\");\n"; - if ($tls_ldap == 'oui') - $conn .= "\t@ldap_start_tls(\$GLOBALS['ldap_link']);\n"; - - - $conn .= "\t@ldap_bind(\$GLOBALS['ldap_link'],\"$login_ldap\",\"$pass_ldap\");\n"; - $conn .= "\treturn \$GLOBALS['ldap_link'];\n"; - $conn .= "}\n"; - $conn .= "\$GLOBALS['ldap_base'] = \"$base_ldap\";\n"; - $conn .= "\$GLOBALS['ldap_present'] = true;\n"; + $p = strpos($conn, '?'.'>'); + $conn = substr($conn, 0, $p) + . "\$GLOBALS['ldap_present'] = true;\n" + . '?'.'>'; + ecrire_fichier(_FILE_CONNECT_TMP, $conn); } - $conn .= "?".">"; - ecrire_fichier(_FILE_CONNECT_TMP, $conn); + $conn = "function spip_connect_ldap() {\n" + . "\t\$GLOBALS['ldap_link'] = @ldap_connect(\"$adresse_ldap\",\"$port_ldap\");\n" + . "\t@ldap_set_option(\$GLOBALS['ldap_link'],LDAP_OPT_PROTOCOL_VERSION,\"$protocole_ldap\");\n" + . (($tls_ldap != 'oui') ? '' : + "\t@ldap_start_tls(\$GLOBALS['ldap_link']);\n") + . "\t@ldap_bind(\$GLOBALS['ldap_link'],\"$login_ldap\",\"$pass_ldap\");\n" + . "\treturn \$GLOBALS['ldap_link'];\n" + . "}\n" + . "\$GLOBALS['ldap_base'] = \"$base_ldap\";\n"; + + install_fichier_connexion(_FILE_LDAP, $conn); $statuts = liste_statuts_ldap(); $statut_ldap = defined('_INSTALL_STATUT_LDAP') ? _INSTALL_STATUT_LDAP