uawdijnntqw1x1x1
IP : 216.73.217.6
Hostname : webm002.cluster111.gra.hosting.ovh.net
Kernel : Linux webm002.cluster111.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
atelierpru
/
provence
/
6bf95
/
..
/
tmp
/
..
/
.
/
52177
/
install.tar
/
/
etape_ldap5.php000066600000006160152442520510007447 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('inc/headers'); include_spip('auth/ldap'); // http://code.spip.net/@install_etape_ldap5_dist function install_etape_ldap5_dist() { etape_ldap5_save(); etape_ldap5_suite(); } function etape_ldap5_save() { if (!@file_exists(_FILE_CONNECT_TMP)) { redirige_url_ecrire('install'); } ecrire_meta('ldap_statut_import', _request('statut_ldap')); lire_fichier(_FILE_CONNECT_TMP, $conn); if ($p = strpos($conn, "'');")) { ecrire_fichier( _FILE_CONNECT_TMP, substr($conn, 0, $p + 1) . _FILE_LDAP . substr($conn, $p + 1) ); } $adresse_ldap = addcslashes(_request('adresse_ldap'), "'\\"); $login_ldap = addcslashes(_request('login_ldap'), "'\\"); $pass_ldap = addcslashes(_request('pass_ldap'), "'\\"); $port_ldap = addcslashes(_request('port_ldap'), "'\\"); $tls_ldap = addcslashes(_request('tls_ldap'), "'\\"); $protocole_ldap = addcslashes(_request('protocole_ldap'), "'\\"); $base_ldap = addcslashes(_request('base_ldap'), "'\\"); $base_ldap_text = addcslashes(_request('base_ldap_text'), "'\\"); $conn = "\$GLOBALS['ldap_base'] = '$base_ldap';\n" . "\$GLOBALS['ldap_link'] = @ldap_connect('$adresse_ldap','$port_ldap');\n" . "@ldap_set_option(\$GLOBALS['ldap_link'],LDAP_OPT_PROTOCOL_VERSION,'$protocole_ldap');\n" . (($tls_ldap != 'oui') ? '' : "@ldap_start_tls(\$GLOBALS['ldap_link']);\n") . "@ldap_bind(\$GLOBALS['ldap_link'],'$login_ldap','$pass_ldap');\n"; $champs = is_array($GLOBALS['ldap_attributes']) ? $GLOBALS['ldap_attributes'] : array(); $res = ''; foreach ($champs as $champ => $v) { $nom = 'ldap_' . $champ; $val = trim(_request($nom)); if (preg_match('/^\w*$/', $val)) { if ($val) { $val = _q($val); } } else { $val = 'array(' . _q(preg_split('/\W+/', $val)) . ')'; }; if ($val) { $res .= "'$champ' => " . $val . ','; } } $conn .= "\$GLOBALS['ldap_champs'] = array($res);\n"; install_fichier_connexion(_DIR_CONNECT . _FILE_LDAP, $conn); } function etape_ldap5_suite() { echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"'); echo info_etape( _T('info_ldap_ok'), info_progression_etape(5, 'etape_ldap', 'install/'), _T('info_terminer_installation') ); echo generer_form_ecrire('install', ( "<input type='hidden' name='etape' value='3' />" . "<input type='hidden' name='ldap_present' value='true' />" . bouton_suivant())); echo install_fin_html(); } etape_ldap2.php000066600000006107152442520510007445 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } // http://code.spip.net/@install_etape_ldap2_dist function install_etape_ldap2_dist() { echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"'); $adresse_ldap = _request('adresse_ldap'); $port_ldap = _request('port_ldap'); $tls_ldap = _request('tls_ldap'); $protocole_ldap = _request('protocole_ldap'); $login_ldap = _request('login_ldap'); $pass_ldap = _request('pass_ldap'); $port_ldap = intval($port_ldap); $tls = false; if ($tls_ldap == 'oui') { if ($port_ldap == 636) { $adresse_ldap = "ldaps://$adresse_ldap"; } else { $tls = true; } } $ldap_link = ldap_connect($adresse_ldap, $port_ldap); $erreur = "ldap_connect($adresse_ldap, $port_ldap)"; if ($ldap_link) { if (!ldap_set_option($ldap_link, LDAP_OPT_PROTOCOL_VERSION, $protocole_ldap)) { $protocole_ldap = 2; ldap_set_option($ldap_link, LDAP_OPT_PROTOCOL_VERSION, $protocole_ldap); } if ($tls === true) { if (!ldap_start_tls($ldap_link)) { $erreur = "ldap_start_tls($ldap_link) $adresse_ldap, $port_ldap"; $ldap_link = false; } } if ($ldap_link) { $ldap_link = ldap_bind($ldap_link, $login_ldap, $pass_ldap); $erreur = "ldap_bind('$ldap_link', '$login_ldap', '$pass_ldap'): $adresse_ldap, $port_ldap"; } } if ($ldap_link) { echo info_etape( _T('titre_connexion_ldap'), info_progression_etape(2, 'etape_ldap', 'install/') ), _T('info_connexion_ldap_ok'); echo generer_form_ecrire('install', ( "\n<input type='hidden' name='etape' value='ldap3' />" . "\n<input type='hidden' name='adresse_ldap' value=\"$adresse_ldap\" />" . "\n<input type='hidden' name='port_ldap' value=\"$port_ldap\" />" . "\n<input type='hidden' name='login_ldap' value=\"$login_ldap\" />" . "\n<input type='hidden' name='pass_ldap' value=\"$pass_ldap\" />" . "\n<input type='hidden' name='protocole_ldap' value=\"$protocole_ldap\" />" . "\n<input type='hidden' name='tls_ldap' value=\"$tls_ldap\" />" . bouton_suivant())); } else { echo info_etape(_T('titre_connexion_ldap')), info_progression_etape(1, 'etape_ldap', 'install/', true), "<div class='error'><p>" . _T('avis_connexion_ldap_echec_1') . '</p>', '<p>' . _T('avis_connexion_ldap_echec_2') . "<br />\n" . _T('avis_connexion_ldap_echec_3') . '<br /><br />' . $erreur . '<b> ?</b></p></div>'; } echo install_fin_html(); } etape_2.php000066600000013521152442520510006602 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('base/abstract_sql'); // http://code.spip.net/@install_etape_2_dist function install_etape_2_dist() { $adresse_db = defined('_INSTALL_HOST_DB') ? _INSTALL_HOST_DB : _request('adresse_db'); if (preg_match(',(.*):(.*),', $adresse_db, $r)) { list(, $adresse_db, $port) = $r; } else { $port = ''; } $login_db = defined('_INSTALL_USER_DB') ? _INSTALL_USER_DB : _request('login_db'); $pass_db = defined('_INSTALL_PASS_DB') ? _INSTALL_PASS_DB : _request('pass_db'); $server_db = defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : _request('server_db'); $name_db = defined('_INSTALL_NAME_DB') ? _INSTALL_NAME_DB : ''; $chmod = _request('chmod'); $link = spip_connect_db($adresse_db, $port, $login_db, $pass_db, $name_db, $server_db); $GLOBALS['connexions'][$server_db] = $link; $GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']]; echo install_debut_html(); // prenons toutes les dispositions possibles pour que rien ne s'affiche ! /* * /!\ sqlite3/PDO : erreur sur join(', ', $link) * L'objet PDO ne peut pas etre transformee en chaine * Un echo $link ne fonctionne pas non plus * Il faut utiliser par exemple print_r($link) */ //echo "\n<!--\n", join(', ', $link), " $login_db "; $db_connect = 0; // revoirfunction_exists($ferrno) ? $ferrno() : 0; //echo join(', ', $GLOBALS['connexions'][$server_db]); //echo "\n-->\n"; if (($db_connect == '0') && $link) { echo "<div class='success'><b>" . _T('info_connexion_ok') . '</b></div>'; echo info_progression_etape(2, 'etape_', 'install/'); echo info_etape(_T('menu_aide_installation_choix_base') . aider('install2', true)); echo "\n", '<!-- ', sql_version($server_db), ' -->'; list($checked, $res) = install_etape_2_bases($login_db, $server_db); $hidden = (defined('_SPIP_CHMOD') ? '' : ("\n<input type='hidden' name='chmod' value='" . spip_htmlspecialchars($chmod) . "' />")) . predef_ou_cache($adresse_db . ($port ? ':' . $port : ''), $login_db, $pass_db, $server_db); echo install_etape_2_form($hidden, $checked, $res, 3); } else { echo info_progression_etape(1, 'etape_', 'install/', true); echo "<div class='error'>"; echo info_etape(_T('info_connexion_base')); echo '<h3>' . _T('avis_connexion_echec_1') . '</h3>'; echo '<p>' . _T('avis_connexion_echec_2') . '</p>'; echo "<p style='font-size: small;'>", _T('avis_connexion_echec_3'), '</p></div>'; } echo install_fin_html(); } // Liste les bases accessibles, // avec une heuristique pour preselectionner la plus probable // http://code.spip.net/@install_etape_2_bases function install_etape_2_bases($login_db, $server_db) { $res = install_etape_liste_bases($server_db, $login_db); if ($res) { list($checked, $bases) = $res; return array( $checked, "<label for='choix_db'><b>" . _T('texte_choix_base_2') . '</b><br />' . _T('texte_choix_base_3') . '</label>' . "<ul>\n<li>" . join("</li>\n<li>", $bases) . "</li>\n</ul><p>" . _T('info_ou') . ' ' ); } $res = '<b>' . _T('avis_lecture_noms_bases_1') . '</b> ' . _T('avis_lecture_noms_bases_2') . '<p>'; $checked = false; if ($login_db) { // Si un login comporte un point, le nom de la base est plus // probablement le login sans le point -- testons pour savoir $test_base = $login_db; $ok = sql_selectdb($test_base, $server_db); $test_base2 = str_replace('.', '_', $test_base); if (sql_selectdb($test_base2, $server_db)) { $test_base = $test_base2; $ok = true; } if ($ok) { $res .= _T('avis_lecture_noms_bases_3') . '<ul>' . '<li><input name="choix_db" value="' . $test_base . "\" type='radio' id='stand' checked='checked' />" . "<label for='stand'>" . $test_base . "</label></li>\n" . '</ul>' . '<p>' . _T('info_ou') . ' '; $checked = true; } } return array($checked, $res); } // http://code.spip.net/@install_etape_2_form function install_etape_2_form($hidden, $checked, $res, $etape) { return generer_form_ecrire('install', ( "\n<input type='hidden' name='etape' value='$etape' />" . $hidden . (defined('_INSTALL_NAME_DB') ? '<h3>' . _T('install_nom_base_hebergeur') . ' <tt>' . _INSTALL_NAME_DB . '</tt>' . '</h3>' : "\n<fieldset><legend>" . _T('texte_choix_base_1') . "</legend>\n" . $res . "\n<input name=\"choix_db\" value=\"new_spip\" type='radio' id='nou'" . ($checked ? '' : " checked='checked'") . " />\n<label for='nou'>" . _T('info_creer_base') . "</label></p>\n<p>" . "\n<input type='text' name='table_new' class='text' value=\"spip\" size='20' /></p></fieldset>\n" ) . ((defined('_INSTALL_TABLE_PREFIX') or $GLOBALS['table_prefix'] != 'spip') ? '<h3>' . _T('install_table_prefix_hebergeur') . ' <tt>' . $GLOBALS['table_prefix'] . '</tt>' . '</h3>' : '<fieldset><legend>' . _T('texte_choix_table_prefix') . "</legend>\n" . "<p><label for='table_prefix'>" . _T('info_table_prefix') . '</label></p><p>' . "\n<input type='text' id='tprefix' name='tprefix' class='text' value='" . 'spip' # valeur par defaut . "' size='20' /></p></fieldset>" ) . bouton_suivant())); } etape_chmod.php000066600000010254152442520510007533 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } if (defined('_TEST_DIRS')) { return; } define('_TEST_DIRS', '1'); include_spip('inc/minipres'); utiliser_langue_visiteur(); // // Tente d'ecrire // // http://code.spip.net/@test_ecrire function test_ecrire($my_dir) { static $chmod = 0; $ok = false; $script = @file_exists('spip_loader.php') ? 'spip_loader.php' : $_SERVER['PHP_SELF']; $self = basename($script); $uid = @fileowner('.'); $uid2 = @fileowner($self); $gid = @filegroup('.'); $gid2 = @filegroup($self); $perms = @fileperms($self); // Comparer l'appartenance d'un fichier cree par PHP // avec celle du script et du repertoire courant if (!$chmod) { @rmdir('test'); spip_unlink('test'); // effacer au cas ou @touch('test'); if ($uid > 0 && $uid == $uid2 && @fileowner('test') == $uid) { $chmod = 0700; } else { if ($gid > 0 && $gid == $gid2 && @filegroup('test') == $gid) { $chmod = 0770; } else { $chmod = 0777; } } // Appliquer de plus les droits d'acces du script if ($perms > 0) { $perms = ($perms & 0777) | (($perms & 0444) >> 2); $chmod |= $perms; } spip_unlink('test'); } $ok = is_dir($my_dir) && is_writable($my_dir); return $ok ? $chmod : false; } // // tester les droits en ecriture sur les repertoires // rajouter celui passe dans l'url ou celui du source (a l'installation) // // http://code.spip.net/@install_etape_chmod_dist function install_etape_chmod_dist() { $test_dir = _request('test_dir'); $chmod = 0; if ($test_dir) { if (substr($test_dir, -1) !== '/') { $test_dir .= '/'; } if (!in_array($test_dir, $GLOBALS['test_dirs'])) { $GLOBALS['test_dirs'][] = _DIR_RACINE . $test_dir; } } else { if (!_FILE_CONNECT) { $GLOBALS['test_dirs'][] = _DIR_CONNECT; $GLOBALS['test_dirs'][] = _DIR_CHMOD; } } $bad_dirs = array(); $absent_dirs = array(); while (list(, $my_dir) = each($GLOBALS['test_dirs'])) { $test = test_ecrire($my_dir); if (!$test) { $m = preg_replace(',^' . _DIR_RACINE . ',', '', $my_dir); if (@file_exists($my_dir)) { $bad_dirs['<li>' . $m . '</li>'] = 1; } else { $absent_dirs['<li>' . $m . '</li>'] = 1; } } else { $chmod = max($chmod, $test); } } if ($bad_dirs or $absent_dirs) { if (!_FILE_CONNECT) { $titre = _T('dirs_preliminaire'); $continuer = ' ' . _T('dirs_commencer') . '.'; } else { $titre = _T('dirs_probleme_droits'); } $res = "<div align='right'>" . menu_langues('var_lang_ecrire') . "</div>\n"; if ($bad_dirs) { $res .= _T( 'dirs_repertoires_suivants', array('bad_dirs' => join("\n", array_keys($bad_dirs))) ) . '<b>' . _T('login_recharger') . '</b>.'; } if ($absent_dirs) { $res .= _T( 'dirs_repertoires_absents', array('bad_dirs' => join("\n", array_keys($absent_dirs))) ) . '<b>' . _T('login_recharger') . '</b>.'; } $res = '<p>' . $continuer . $res . aider('install0', true) . '</p>'; $t = _T('login_recharger'); $t = (!$test_dir ? '' : "<input type='hidden' name='test_dir' value='" . spip_htmlspecialchars($test_dir, ENT_QUOTES) . "' />") . "<input type='hidden' name='etape' value='chmod' />" . "<div style='text-align: right'><input type='submit' value='" . attribut_html($t) . "' /></div>"; echo minipres($titre, $res . generer_form_ecrire('install', $t)); } else { $deja = (_FILE_CONNECT and analyse_fichier_connection(_FILE_CONNECT)); if (!$deja) { redirige_url_ecrire('install', 'etape=1&chmod=' . $chmod); } else { redirige_url_ecrire(); } } } etape_ldap3.php000066600000005720152442520510007446 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } // http://code.spip.net/@install_etape_ldap3_dist function install_etape_ldap3_dist() { $adresse_ldap = _request('adresse_ldap'); $login_ldap = _request('login_ldap'); $pass_ldap = _request('pass_ldap'); $port_ldap = _request('port_ldap'); $base_ldap_text = defined('_INSTALL_BASE_LDAP') ? _INSTALL_BASE_LDAP : 'ou=users, dc=mon-domaine, dc=com'; echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"'); echo info_etape( _T('info_chemin_acces_1'), info_progression_etape(3, 'etape_ldap', 'install/') ), _T('info_chemin_acces_2'); $ldap_link = @ldap_connect("$adresse_ldap", "$port_ldap"); if ($ldap_link) { @ldap_bind($ldap_link, "$login_ldap", "$pass_ldap"); $result = @ldap_read($ldap_link, '', 'objectclass=*', array('namingContexts')); $info = @ldap_get_entries($ldap_link, $result); @ldap_close($ldap_link); } $checked = false; $res = ''; if (is_array($info) and $info['count'] > 0) { $res .= '<p>' . _T('info_selection_chemin_acces') . '</p>'; $res .= '<ul>'; $n = 0; for ($i = 0; $i < $info['count']; $i++) { $names = $info[$i]['namingcontexts']; if (is_array($names)) { for ($j = 0; $j < $names['count']; $j++) { $n++; $res .= '<li><input name="base_ldap" value="' . spip_htmlspecialchars($names[$j]) . "\" type='radio' id='tab$n'"; if (!$checked) { $res .= ' checked="checked"'; $checked = true; } $res .= ' />'; $res .= "<label for='tab$n'>" . spip_htmlspecialchars($names[$j]) . "</label></li>\n"; } } } $res .= '</ul>'; $res .= _T('info_ou') . ' '; } $res .= "<br />\n<input name=\"base_ldap\" value=\"\" type='radio' id='manuel'"; if (!$checked) { $res .= ' checked="checked"'; $checked = true; } $res .= ' />' . "\n<label for='manuel'>" . _T('entree_chemin_acces') . '</label> ' . "\n<fieldset>" . "<input type='text' name='base_ldap_text' class='text' value=\"$base_ldap_text\" size='40' />" . "\n</fieldset>" . "\n<input type='hidden' name='etape' value='ldap4' />" . install_propager(array('adresse_ldap', 'port_ldap', 'login_ldap', 'pass_ldap', 'protocole_ldap', 'tls_ldap')) . bouton_suivant(); echo generer_form_ecrire('install', $res); echo install_fin_html(); } etape_ldap4.php000066600000007446152442520510007456 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('auth/ldap'); // http://code.spip.net/@install_etape_ldap4_dist function install_etape_ldap4_dist() { $adresse_ldap = _request('adresse_ldap'); $login_ldap = _request('login_ldap'); $pass_ldap = _request('pass_ldap'); $port_ldap = _request('port_ldap'); $base_ldap = _request('base_ldap'); $base_ldap_text = _request('base_ldap_text'); if (!$base_ldap) { $base_ldap = $base_ldap_text; } echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"'); $ldap_link = ldap_connect($adresse_ldap, $port_ldap); @ldap_bind($ldap_link, $login_ldap, $pass_ldap); // Essayer de verifier le chemin fourni $r = @ldap_compare($ldap_link, $base_ldap, 'objectClass', ''); $fail = (ldap_errno($ldap_link) == 32); if ($fail) { echo info_etape(_T('info_chemin_acces_annuaire')), info_progression_etape(3, 'etape_ldap', 'install/', true), "<div class='error'><p><b>" . _T('avis_operation_echec') . '</b></p><p>' . _T('avis_chemin_invalide_1'), ' (<tt>' . spip_htmlspecialchars($base_ldap) . '</tt>) ' . _T('avis_chemin_invalide_2') . '</p></div>'; } else { info_etape(_T('info_reglage_ldap')); echo info_progression_etape(4, 'etape_ldap', 'install/'); $statuts = liste_statuts_ldap(); $statut_ldap = defined('_INSTALL_STATUT_LDAP') ? _INSTALL_STATUT_LDAP : $GLOBALS['liste_des_statuts']['info_redacteurs']; $res = install_propager(array('adresse_ldap', 'port_ldap', 'login_ldap', 'pass_ldap', 'protocole_ldap', 'tls_ldap')) . "<input type='hidden' name='etape' value='ldap5' />" . "<input type='hidden' name='base_ldap' value='" . spip_htmlentities($base_ldap) . "' />" . fieldset( _T('info_statut_utilisateurs_1'), array( 'statut_ldap' => array( 'label' => _T('info_statut_utilisateurs_2') . '<br />', 'valeur' => $statut_ldap, 'alternatives' => $statuts ) ) ) . install_ldap_correspondances() . bouton_suivant(); echo generer_form_ecrire('install', $res); } echo install_fin_html(); } // http://code.spip.net/@liste_statuts_ldap function liste_statuts_ldap() { $recom = array( 'info_administrateurs' => ('<b>' . _T('info_administrateur_1') . '</b> ' . _T('info_administrateur_2') . '<br />'), 'info_redacteurs' => ('<b>' . _T('info_redacteur_1') . '</b> ' . _T('info_redacteur_2') . '<br />'), 'info_visiteurs' => ('<b>' . _T('info_visiteur_1') . '</b> ' . _T('info_visiteur_2') . '<br />') ); $res = array(); foreach ($GLOBALS['liste_des_statuts'] as $k => $v) { if (isset($recom[$k])) { $res[$v] = $recom[$k]; } } return $res; } function install_ldap_correspondances() { $champs = array(); foreach (is_array($GLOBALS['ldap_attributes']) ? $GLOBALS['ldap_attributes'] : array() as $champ => $v) { $nom = 'ldap_' . $champ; $val = is_array($v) ? join(',', $v) : strval($v); $champs[$nom] = array( 'label' => _T('ldap_correspondance', array('champ' => "<tt>$champ</tt>")) . '<br />', 'valeur' => $val ); } return !$champs ? '' : fieldset(_T('ldap_correspondance_1'), $champs, '', _T('ldap_correspondance_2') . '<br /><br />'); } etape_3.php000066600000026663152442520510006616 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('inc/headers'); include_spip('base/abstract_sql'); // http://code.spip.net/@install_bases function install_bases($adresse_db, $login_db, $pass_db, $server_db, $choix_db, $sel_db, $chmod_db) { // Prefix des tables : // S'il n'est pas defini par mes_options/inc/mutualiser, on va le creer // a partir de ce qui est envoye a l'installation if (!defined('_INSTALL_TABLE_PREFIX')) { $table_prefix = ($GLOBALS['table_prefix'] != 'spip') ? $GLOBALS['table_prefix'] : preparer_prefixe_tables(_request('tprefix')); // S'il est vide on remet spip if (!$table_prefix) { $table_prefix = 'spip'; } } else { $table_prefix = _INSTALL_TABLE_PREFIX; } if (preg_match(',(.*):(.*),', $adresse_db, $r)) { list(, $adresse_db, $port) = $r; } else { $port = ''; } $GLOBALS['connexions'][$server_db] = spip_connect_db($adresse_db, $port, $login_db, $pass_db, '', $server_db); $GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']]; $fquery = sql_serveur('query', $server_db); if ($choix_db == 'new_spip') { $re = ',^[a-z_][a-z_0-9-]*$,i'; if (preg_match($re, $sel_db)) { $ok = sql_create_base($sel_db, $server_db); if (!$ok) { $re = "Impossible de creer la base $re"; spip_log($re); return '<p>' . _T('avis_connexion_erreur_creer_base') . "</p><!--\n$re\n-->"; } } else { $re = "Le nom de la base doit correspondre a $re"; spip_log($re); return '<p>' . _T('avis_connexion_erreur_nom_base') . "</p><!--\n$re\n-->"; } } // on rejoue la connexion apres avoir teste si il faut lui indiquer // un sql_mode install_mode_appel($server_db, false); $GLOBALS['connexions'][$server_db] = spip_connect_db($adresse_db, $port, $login_db, $pass_db, $sel_db, $server_db); $GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']]; // Completer le tableau decrivant la connexion $GLOBALS['connexions'][$server_db]['prefixe'] = $table_prefix; $GLOBALS['connexions'][$server_db]['db'] = $sel_db; $old = sql_showbase($table_prefix . '_meta', $server_db); if ($old) { $old = sql_fetch($old, $server_db); } if (!$old) { // Si possible, demander au serveur d'envoyer les textes // dans le codage std de SPIP, $charset = sql_get_charset(_DEFAULT_CHARSET, $server_db); if ($charset) { sql_set_charset($charset['charset'], $server_db); $GLOBALS['meta']['charset_sql_base'] = $charset['charset']; $GLOBALS['meta']['charset_collation_sql_base'] = $charset['collation']; $GLOBALS['meta']['charset_sql_connexion'] = $charset['charset']; $charsetbase = $charset['charset']; } else { spip_log(_DEFAULT_CHARSET . ' inconnu du serveur SQL'); $charsetbase = 'standard'; } spip_log("Creation des tables. Codage $charsetbase"); creer_base($server_db); // AT LAST // memoriser avec quel charset on l'a creee if ($charset) { $t = array( 'nom' => 'charset_sql_base', 'valeur' => $charset['charset'], 'impt' => 'non' ); @sql_insertq('spip_meta', $t, '', $server_db); $t['nom'] = 'charset_collation_sql_base'; $t['valeur'] = $charset['collation']; @sql_insertq('spip_meta', $t, '', $server_db); $t['nom'] = 'charset_sql_connexion'; $t['valeur'] = $charset['charset']; @sql_insertq('spip_meta', $t, '', $server_db); } $t = array( 'nom' => 'version_installee', 'valeur' => $GLOBALS['spip_version_base'], 'impt' => 'non' ); @sql_insertq('spip_meta', $t, '', $server_db); $t['nom'] = 'nouvelle_install'; $t['valeur'] = 1; @sql_insertq('spip_meta', $t, '', $server_db); // positionner la langue par defaut du site si un cookie de lang a ete mis if (isset($_COOKIE['spip_lang_ecrire'])) { @sql_insertq( 'spip_meta', array('nom' => 'langue_site', 'valeur' => $_COOKIE['spip_lang_ecrire']), '', $server_db ); } } else { // pour recreer les tables disparues au besoin spip_log('Table des Meta deja la. Verification des autres.'); creer_base($server_db); $fupdateq = sql_serveur('updateq', $server_db); $r = $fquery("SELECT valeur FROM spip_meta WHERE nom='version_installee'", $server_db); if ($r) { $r = sql_fetch($r, $server_db); } $version_installee = !$r ? 0 : (double)$r['valeur']; if (!$version_installee or ($GLOBALS['spip_version_base'] < $version_installee)) { $fupdateq( 'spip_meta', array('valeur' => $GLOBALS['spip_version_base'], 'impt' => 'non'), "nom='version_installee'", '', $server_db ); spip_log('nouvelle version installee: ' . $GLOBALS['spip_version_base']); } // eliminer la derniere operation d'admin mal terminee // notamment la mise a jour @$fquery("DELETE FROM spip_meta WHERE nom='import_all' OR nom='admin'", $server_db); } // recuperer le charset de la connexion dans les meta $charset = ''; $r = $fquery("SELECT valeur FROM spip_meta WHERE nom='charset_sql_connexion'", $server_db); if ($r) { $r = sql_fetch($r, $server_db); } if ($r) { $charset = $r['valeur']; } $ligne_rappel = install_mode_appel($server_db); $result_ok = @$fquery('SELECT COUNT(*) FROM spip_meta', $server_db); if (!$result_ok) { return "<!--\nvielle = $old rappel= $ligne_rappel\n-->"; } if ($chmod_db) { install_fichier_connexion( _FILE_CHMOD_TMP, "if (!defined('_SPIP_CHMOD')) define('_SPIP_CHMOD', " . sprintf('0%3o', $chmod_db) . ");\n" ); } // si ce fichier existe a cette etape c'est qu'il provient // d'une installation qui ne l'a pas cree correctement. // Le supprimer pour que _FILE_CONNECT_TMP prime. if (_FILE_CONNECT and file_exists(_FILE_CONNECT)) { spip_unlink(_FILE_CONNECT); } install_fichier_connexion( _FILE_CONNECT_TMP, $ligne_rappel . install_connexion( $adresse_db, $port, $login_db, $pass_db, $sel_db, $server_db, $table_prefix, '', $charset ) ); return ''; } /** * Préparer le préfixe des tables * * Contrairement a ce qui est dit dans le message (trop strict mais c'est * pour notre bien), on tolère les chiffres en plus des minuscules. * On corrige aussi le préfixe afin qu'il ne commence pas par un chiffre * cf https://core.spip.net/issues/3626 * * @param string $prefixe Le préfixe demandé * @return string Le préfixe corrigé */ function preparer_prefixe_tables($prefixe) { return trim(preg_replace(',^[0-9]+,', '', preg_replace(',[^a-z0-9],', '', strtolower($prefixe)))); } // http://code.spip.net/@install_propose_ldap function install_propose_ldap() { return generer_form_ecrire('install', ( fieldset( _T('info_authentification_externe'), array( 'etape' => array( 'label' => _T('texte_annuaire_ldap_1'), 'valeur' => 'ldap1', 'hidden' => true ) ), bouton_suivant(_T('bouton_acces_ldap')) ))); } // http://code.spip.net/@install_premier_auteur function install_premier_auteur($email, $login, $nom, $pass, $hidden, $auteur_obligatoire) { return info_progression_etape(3, 'etape_', 'install/') . info_etape( _T('info_informations_personnelles'), '<b>' . _T('texte_informations_personnelles_1') . '</b>' . aider('install5', true) . '<p>' . ($auteur_obligatoire ? '' : _T('texte_informations_personnelles_2') . ' ' . _T('info_laisser_champs_vides') ) ) . generer_form_ecrire('install', ( "\n<input type='hidden' name='etape' value='3b' />" . $hidden . fieldset( _T('info_identification_publique'), array( 'nom' => array( 'label' => '<b>' . _T('entree_signature') . "</b><br />\n" . _T('entree_nom_pseudo_1') . "\n", 'valeur' => $nom, 'required' => $auteur_obligatoire, ), 'email' => array( 'label' => '<b>' . _T('entree_adresse_email') . "</b>\n", 'valeur' => $email, ) ) ) . fieldset( _T('entree_identifiants_connexion'), array( 'login' => array( 'label' => '<b>' . _T('entree_login') . "</b><br />\n" . _T( 'info_login_trop_court_car_pluriel', array('nb' => _LOGIN_TROP_COURT) ) . "\n", 'valeur' => $login, 'required' => $auteur_obligatoire, ), 'pass' => array( 'label' => '<b>' . _T('entree_mot_passe') . "</b><br />\n" . _T( 'info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI) ) . "\n", 'valeur' => $pass, 'required' => $auteur_obligatoire, ), 'pass_verif' => array( 'label' => '<b>' . _T('info_confirmer_passe') . "</b><br />\n", 'valeur' => $pass, 'required' => $auteur_obligatoire, ) ) ) . bouton_suivant())); } // http://code.spip.net/@install_etape_3_dist function install_etape_3_dist() { $ldap_present = _request('ldap_present'); if (!$ldap_present) { $adresse_db = defined('_INSTALL_HOST_DB') ? _INSTALL_HOST_DB : _request('adresse_db'); $login_db = defined('_INSTALL_USER_DB') ? _INSTALL_USER_DB : _request('login_db'); $pass_db = defined('_INSTALL_PASS_DB') ? _INSTALL_PASS_DB : _request('pass_db'); $server_db = defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : _request('server_db'); $chmod_db = defined('_SPIP_CHMOD') ? _SPIP_CHMOD : _request('chmod'); $choix_db = defined('_INSTALL_NAME_DB') ? _INSTALL_NAME_DB : _request('choix_db'); $sel_db = ($choix_db == 'new_spip') ? _request('table_new') : $choix_db; $res = install_bases($adresse_db, $login_db, $pass_db, $server_db, $choix_db, $sel_db, $chmod_db); if ($res) { $res = info_progression_etape(2, 'etape_', 'install/', true) . "<div class='error'><h3>" . _T('avis_operation_echec') . '</h3>' . $res . '<p>' . _T('texte_operation_echec') . '</p>' . '</div>'; } } else { $res = ''; list($adresse_db, $login_db, $pass_db, $sel_db, $server_db) = analyse_fichier_connection(_FILE_CONNECT_TMP); $GLOBALS['connexions'][$server_db] = spip_connect_db($adresse_db, $sel_db, $login_db, $pass_db, $sel_db, $server_db); } if (!$res) { if (file_exists(_FILE_CONNECT_TMP)) { include(_FILE_CONNECT_TMP); } else { redirige_url_ecrire('install'); } if (file_exists(_FILE_CHMOD_TMP)) { include(_FILE_CHMOD_TMP); } else { redirige_url_ecrire('install'); } $hidden = predef_ou_cache($adresse_db, $login_db, $pass_db, $server_db) . (defined('_INSTALL_NAME_DB') ? '' : "\n<input type='hidden' name='sel_db' value='$sel_db' />"); $auteur_obligatoire = ($ldap_present ? 0 : !sql_countsel('spip_auteurs', '', '', '', $server_db)); $res = "<div class='success'><b>" . _T('info_base_installee') . '</b></div>' . install_premier_auteur( _request('email'), _request('login'), _request('nom'), _request('pass'), $hidden, $auteur_obligatoire ) . (($ldap_present or !function_exists('ldap_connect')) ? '' : install_propose_ldap()); } echo install_debut_html(); echo $res; echo install_fin_html(); } etape_4.php000066600000005153152442520510006606 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('inc/headers'); // http://code.spip.net/@install_etape_4_dist function install_etape_4_dist() { // creer le repertoire cache, qui sert partout ! if (!@file_exists(_DIR_CACHE)) { $rep = preg_replace(',' . _DIR_TMP . ',', '', _DIR_CACHE); $rep = sous_repertoire(_DIR_TMP, $rep, true, true); } echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"'); echo info_progression_etape(4, 'etape_', 'install/'); echo "<div class='success'><b>" . _T('info_derniere_etape') . '</b><p>' . _T('info_utilisation_spip') . '</p></div>'; echo '<p>' . _T( 'plugin_info_plugins_dist_1', array('plugins_dist' => '<tt>' . joli_repertoire(_DIR_PLUGINS_DIST) . '</tt>') ) . '</p>'; // installer les extensions include_spip('inc/plugin'); $afficher = charger_fonction('afficher_liste', 'plugins'); echo $afficher(self(), liste_plugin_files(_DIR_PLUGINS_DIST), array(), array(), _DIR_PLUGINS_DIST, 'afficher_nom_plugin'); // si la base de SPIP est up, on peut installer les plugins, sinon on passe cette etape // car les plugins supposent que la base de SPIP est dans son etat normal (mise a jour) // au premier passage dans l'espace prive on aura une demande d'upgrade qui se poursuit sur la page plugin // et procede alors a l'installation if (!isset($GLOBALS['meta']['version_installee']) or ($GLOBALS['spip_version_base'] == (str_replace(',', '.', $GLOBALS['meta']['version_installee']))) ) { plugin_installes_meta(); } // mettre a jour si necessaire l'adresse du site // securite si on arrive plus a se loger include_spip('inc/config'); appliquer_adresse_site(''); // aller a la derniere etape qui clos l'install et redirige $suite = "\n<input type='hidden' name='etape' value='fin' />" . bouton_suivant(_T('login_espace_prive')); echo generer_form_ecrire('install', $suite); echo install_fin_html(); } etape_.php000066600000003143152442520510006517 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ /** * Affichage de l'écran d'installation (étape 0 : écran d'accueil) * * @package SPIP\Core\Installation */ if (!defined('_ECRIRE_INC_VERSION')) { return; } /** * Affiche l'étape 0 d'installation : écran d'accueil. * * @uses info_copyright() **/ function install_etape__dist() { utiliser_langue_visiteur(); $menu_langues = menu_langues('var_lang_ecrire'); if (!$menu_langues) { redirige_url_ecrire('install', 'etape=chmod'); } else { include_spip('inc/presentation'); // pour info_copyright $res = "<div class='petit-centre'><img alt='SPIP' class='logo' src='" . chemin_image('logo-spip.png') . "' />\n" . "<p class='small'>" . info_copyright() . "</p></div>\n" . '<p>' . _T('install_select_langue') . '</p>' . '<div>' . $menu_langues . "</div>\n" . generer_form_ecrire('install', "<input type='hidden' name='etape' value='chmod' />" . bouton_suivant()); echo minipres('AUTO', $res); } } etape_3b.php000066600000011471152442520510006747 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('inc/headers'); function install_etape_3b_dist() { $login = _request('login'); $email = _request('email'); $nom = _request('nom'); $pass = _request('pass'); $pass_verif = _request('pass_verif'); $server_db = defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : _request('server_db'); if (!defined('_PASS_LONGUEUR_MINI')) { define('_PASS_LONGUEUR_MINI', 6); } if (!defined('_LOGIN_TROP_COURT')) { define('_LOGIN_TROP_COURT', 4); } if ($login) { $echec = ($pass != $pass_verif) ? _T('info_passes_identiques') : ((strlen($pass) < _PASS_LONGUEUR_MINI) ? _T('info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI)) : ((strlen($login) < _LOGIN_TROP_COURT) ? _T('info_login_trop_court') : '')); include_spip('inc/filtres'); if (!$echec and $email and !email_valide($email)) { $echec = _T('form_email_non_valide'); } if ($echec) { echo minipres( 'AUTO', info_progression_etape(3, 'etape_', 'install/', true) . "<div class='error'><h3>$echec</h3>\n" . '<p>' . _T('avis_connexion_echec_2') . '</p>' . '</div>' ); exit; } } if (@file_exists(_FILE_CHMOD_TMP)) { include(_FILE_CHMOD_TMP); } else { redirige_url_ecrire('install'); } if (!@file_exists(_FILE_CONNECT_TMP)) { redirige_url_ecrire('install'); } # maintenant on connait le vrai charset du site s'il est deja configure # sinon par defaut lire_meta reglera _DEFAULT_CHARSET # (les donnees arrivent de toute facon postees en _DEFAULT_CHARSET) lire_metas(); if ($login) { include_spip('inc/charsets'); $nom = (importer_charset($nom, _DEFAULT_CHARSET)); $login = (importer_charset($login, _DEFAULT_CHARSET)); $email = (importer_charset($email, _DEFAULT_CHARSET)); # pour le passwd, bizarrement il faut le convertir comme s'il avait # ete tape en iso-8859-1 ; car c'est en fait ce que voit md5.js $pass = unicode2charset(utf_8_to_unicode($pass), 'iso-8859-1'); include_spip('auth/sha256.inc'); include_spip('inc/acces'); $htpass = generer_htpass($pass); $alea_actuel = creer_uniqid(); $alea_futur = creer_uniqid(); $shapass = _nano_sha256($alea_actuel . $pass); // prelablement, creer le champ webmestre si il n'existe pas (install neuve // sur une vieille base $t = sql_showtable('spip_auteurs', true); if (!isset($t['field']['webmestre'])) { @sql_alter("TABLE spip_auteurs ADD webmestre varchar(3) DEFAULT 'non' NOT NULL"); } $id_auteur = sql_getfetsel('id_auteur', 'spip_auteurs', 'login=' . sql_quote($login)); if ($id_auteur !== null) { sql_updateq('spip_auteurs', array( 'nom' => $nom, 'email' => $email, 'login' => $login, 'pass' => $shapass, 'alea_actuel' => $alea_actuel, 'alea_futur' => $alea_futur, 'htpass' => $htpass, 'statut' => '0minirezo' ), "id_auteur=$id_auteur"); } else { $id_auteur = sql_insertq('spip_auteurs', array( 'nom' => $nom, 'email' => $email, 'login' => $login, 'pass' => $shapass, 'htpass' => $htpass, 'alea_actuel' => $alea_actuel, 'alea_futur' => $alea_futur, 'statut' => '0minirezo' )); } // le passer webmestre separrement du reste, au cas ou l'alter n'aurait pas fonctionne @sql_updateq('spip_auteurs', array('webmestre' => 'oui'), "id_auteur=$id_auteur"); // inserer email comme email webmaster principal // (sauf s'il est vide: cas de la re-installation) if ($email) { ecrire_meta('email_webmaster', $email); } // Connecter directement celui qui vient de (re)donner son login // mais sans cookie d'admin ni connexion longue include_spip('inc/auth'); if (!$auteur = auth_identifier_login($login, $pass) or !auth_loger($auteur, true) ) { spip_log("login automatique impossible $auth_spip $session" . count($row)); } } // installer les metas $config = charger_fonction('config', 'inc'); $config(); // activer les plugins // leur installation ne peut pas se faire sur le meme hit, il faudra donc // poursuivre au hit suivant include_spip('inc/plugin'); actualise_plugins_actifs(); include_spip('inc/distant'); redirige_par_entete(parametre_url(self(), 'etape', '4', '&')); } etape_1.php000066600000005454152442520510006607 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ /** * Affichage de l'écran d'installation (étape 1 : tests des répertoires * et hébergement, et demande d'identifiants de connexion à la BDD) * * @package SPIP\Core\Installation */ if (!defined('_ECRIRE_INC_VERSION')) { return; } /** * Affichage de l'étape 1 d'installation : tests des répertoires * et hébergement ; demande d'identifiants de connexion à la BDD * * Teste que l'hébergement est compatible, que les répertoires qui doivent * être accessibles en écriture le sont effectivement, auquel cas demande les identifiants * de connexion à une base de données * * @uses tester_compatibilite_hebergement() * @uses analyse_fichier_connection() * @uses login_hebergeur() * */ function install_etape_1_dist() { echo install_debut_html(); // stopper en cas de grosse incompatibilite de l'hebergement tester_compatibilite_hebergement(); // Recuperer les anciennes donnees pour plus de facilite (si presentes) $s = !@is_readable(_FILE_CONNECT_TMP) ? '' : analyse_fichier_connection(_FILE_CONNECT_TMP); list($adresse_db, $login_db) = $s ? $s : login_hebergeur(); $chmod = (isset($_GET['chmod']) and preg_match(',^[0-9]+$,', $_GET['chmod'])) ? sprintf('%04o', $_GET['chmod']) : '0777'; if (@is_readable(_FILE_CHMOD_TMP)) { $s = @join('', @file(_FILE_CHMOD_TMP)); if (preg_match("#define\('_SPIP_CHMOD', (.*)\)#", $s, $regs)) { $chmod = $regs[1]; } } $db = array($adresse_db, _T('entree_base_donnee_2')); $login = array($login_db, _T('entree_login_connexion_2')); $pass = array('', _T('entree_mot_passe_2')); $predef = array( defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : '', defined('_INSTALL_HOST_DB'), defined('_INSTALL_USER_DB'), defined('_INSTALL_PASS_DB') ); echo info_progression_etape(1, 'etape_', 'install/'); // ces deux chaines de langues doivent etre reecrites # echo info_etape(_T('info_connexion_mysql'), _T('texte_connexion_mysql').aide ("install1", true)); echo info_etape(_T('info_connexion_base_donnee')); echo install_connexion_form($db, $login, $pass, $predef, "\n<input type='hidden' name='chmod' value='$chmod' />", 2); echo install_fin_html(); } index.php000066600000000002152442520510006360 0ustar00X etape_fin.php000066600000005000152442520510007206 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } include_spip('inc/headers'); include_spip('inc/acces'); // Mise en place des fichiers de configuration si ce n'est fait // http://code.spip.net/@install_etape_fin_dist function install_etape_fin_dist() { ecrire_acces(); $f = str_replace(_FILE_TMP_SUFFIX, '.php', _FILE_CHMOD_TMP); if (file_exists(_FILE_CHMOD_TMP)) { if (!@rename(_FILE_CHMOD_TMP, $f)) { if (@copy(_FILE_CHMOD_TMP, $f)) { spip_unlink(_FILE_CHMOD_TMP); } } } $f = str_replace(_FILE_TMP_SUFFIX, '.php', _FILE_CONNECT_TMP); if (file_exists(_FILE_CONNECT_TMP)) { spip_log("renomme $f"); if (!@rename(_FILE_CONNECT_TMP, $f)) { if (@copy(_FILE_CONNECT_TMP, $f)) { @spip_unlink(_FILE_CONNECT_TMP); } } } // creer le repertoire cache, qui sert partout ! // deja fait en etape 4 en principe, on garde au cas ou if (!@file_exists(_DIR_CACHE)) { $rep = preg_replace(',' . _DIR_TMP . ',', '', _DIR_CACHE); $rep = sous_repertoire(_DIR_TMP, $rep, true, true); } // Verifier la securite des htaccess // Si elle ne fonctionne pas, prevenir $msg = install_verifier_htaccess(); if ($msg) { $cible = _T('public:accueil_site'); $cible = generer_form_ecrire('accueil', '', '', $cible); echo minipres('AUTO', $msg . $cible); // ok, deboucher dans l'espace prive } else { redirige_url_ecrire('accueil'); } } function install_verifier_htaccess() { if (verifier_htaccess(_DIR_TMP, true) and verifier_htaccess(_DIR_CONNECT, true) ) { return ''; } $titre = _T('htaccess_inoperant'); $averti = _T( 'htaccess_a_simuler', array( 'htaccess' => '<tt>' . _ACCESS_FILE_NAME . '</tt>', 'constantes' => '<tt>_DIR_TMP & _DIR_CONNECT</tt>', 'document_root' => '<tt>' . $_SERVER['DOCUMENT_ROOT'] . '</tt>' ) ); return "<div class='error'><h3>$titre</h3><p>$averti</p></div>"; } etape_ldap1.php000066600000005356152442520510007451 0ustar00<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ if (!defined('_ECRIRE_INC_VERSION')) { return; } // http://code.spip.net/@install_etape_ldap1_dist function install_etape_ldap1_dist() { $adresse_ldap = defined('_INSTALL_HOST_LDAP') ? _INSTALL_HOST_LDAP : 'localhost'; $port_ldap = defined('_INSTALL_PORT_LDAP') ? _INSTALL_PORT_LDAP : 389; $tls_ldap = defined('_INSTALL_TLS_LDAP') ? _INSTALL_TLS_LDAP : 'non'; $protocole_ldap = defined('_INSTALL_PROTOCOLE_LDAP') ? _INSTALL_PROTOCOLE_LDAP : 3; // on essaie 2 en cas d'echec $login_ldap = defined('_INSTALL_USER_LDAP') ? _INSTALL_USER_LDAP : ''; $pass_ldap = defined('_INSTALL_PASS_LDAP') ? _INSTALL_PASS_LDAP : ''; echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"'); echo info_etape( _T('titre_connexion_ldap'), info_progression_etape(1, 'etape_ldap', 'install/'), _T('entree_informations_connexion_ldap') ); echo generer_form_ecrire('install', ( "\n<input type='hidden' name='etape' value='ldap2' />" . fieldset( _T('entree_adresse_annuaire'), array( 'adresse_ldap' => array( 'label' => _T('texte_adresse_annuaire_1'), 'valeur' => $adresse_ldap ), 'port_ldap' => array( 'label' => _T('entree_port_annuaire') . '<br />' . _T('texte_port_annuaire'), 'valeur' => $port_ldap ), 'tls_ldap' => array( 'label' => '<b>' . _T('tls_ldap') . '</b>', 'valeur' => $tls_ldap, 'alternatives' => array( 'non' => _T('item_non'), 'oui' => _T('item_oui') ) ), 'protocole_ldap' => array( 'label' => _T('protocole_ldap'), 'valeur' => $protocole_ldap, 'alternatives' => array( '3' => '3', '2' => '2' ) ) ) ) . "\n<p>" . _T('texte_acces_ldap_anonyme_1') . '</p>' . fieldset( _T('connexion_ldap'), array( 'login_ldap' => array( 'label' => _T('texte_login_ldap_1'), 'valeur' => $login_ldap ), 'pass_ldap' => array( 'label' => _T('entree_passe_ldap'), 'valeur' => $pass_ldap ) ) ) . bouton_suivant())); echo install_fin_html(); }
/home/atelierpru/provence/6bf95/../tmp/.././52177/install.tar