diff --git a/ecrire/inc_mail.php3 b/ecrire/inc_mail.php3 index b3632acb232e64a9387672ce2e41cea3792c8c27..08e2ed6dc6d1d5763ae2777c7a8f9196759e8d77 100644 --- a/ecrire/inc_mail.php3 +++ b/ecrire/inc_mail.php3 @@ -22,10 +22,10 @@ function envoyer_queue_mails() { } // -// Chez multimania, envoyer un mail coupe la connection MySQL (sic) +// Chez lyconiania, envoyer un mail coupe la connection MySQL (sic) // -if ($GLOBALS['hebergeur'] == 'multimania') { +if ($GLOBALS['hebergeur'] == 'lycos') { register_shutdown_function(envoyer_queue_mails); } @@ -50,7 +50,7 @@ function envoyer_mail($email, $sujet, $texte, $from = "", $headers = "") { if ($flag_wordwrap) $texte = wordwrap($texte); switch($hebergeur) { - case 'multimania': + case 'lycos': $queue_mails[] = array( 'email' => $email, 'sujet' => $sujet, diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3 index c68e802c39b2accab1208702044c054657cb54f2..bc078cdaa2569395ceadfe6884e6d47f84460156 100644 --- a/ecrire/inc_version.php3 +++ b/ecrire/inc_version.php3 @@ -100,6 +100,7 @@ feed_globals('HTTP_POST_VARS'); feed_globals('HTTP_COOKIE_VARS'); feed_globals('HTTP_SERVER_VARS'); + // // Avec register_globals a Off sous PHP4, il faut utiliser // la nouvelle variable HTTP_POST_FILES pour les fichiers uploades @@ -127,15 +128,15 @@ $hebergeur = ''; $login_hebergeur = ''; $os_serveur = ''; -// Multimania -if (ereg('^(.*)\.multimania\.(com|net|fr)$', $HTTP_X_HOST, $regs)) { - $hebergeur = 'multimania'; - if ($regs[1] == 'www') - ereg('^/([^/]*)/', $REQUEST_URI, $regs); - $login_hebergeur = $regs[1].'_db'; + +// Lycos (ex-Multimachin) +if ($HTTP_X_HOST == 'membres.lycos.fr') { + $hebergeur = 'lycos'; + ereg('^/([^/]*)', $REQUEST_URI, $regs); + $login_hebergeur = $regs[1]; } // Altern -else if (ereg('altern\.com$', $SERVER_NAME)) { +if (ereg('altern\.com$', $SERVER_NAME)) { $hebergeur = 'altern'; ereg('([^.]*\.[^.]*)$', $HTTP_HOST, $regs); $login_hebergeur = ereg_replace('[^a-zA-Z0-9]', '_', $regs[1]); @@ -166,11 +167,11 @@ if (eregi('\(Win', $HTTP_SERVER_VARS['SERVER_SOFTWARE'])) // Infos sur le fichier courant // -// Compatibilite avec serveurs ne fournissant pas $REQUEST_URI -if (!$REQUEST_URI) { +// Compatibilite avec serveurs ne fournissant pas, ou mal $REQUEST_URI +if (!$REQUEST_URI) $REQUEST_URI = $PHP_SELF; - if ($QUERY_STRING) $REQUEST_URI .= '?'.$QUERY_STRING; -} +if (!strpos($REQUEST_URI, '?') && $QUERY_STRING) + $REQUEST_URI .= '?'.$QUERY_STRING; if (!$PATH_TRANSLATED) { if ($SCRIPT_FILENAME) $PATH_TRANSLATED = $SCRIPT_FILENAME; @@ -178,6 +179,7 @@ if (!$PATH_TRANSLATED) { } + // // Gestion des inclusions et infos repertoires // @@ -209,14 +211,13 @@ $php_module = ($flag_sapi_name AND @php_sapi_name() == 'apache') OR function tester_upload() { global $hebergeur; $test_upload = true; - if ($hebergeur == 'multimania') $test_upload = false; + if ($hebergeur == 'lycos') $test_upload = false; return $test_upload; } function tester_accesdistant() { global $hebergeur; $test_acces = true; -// if ($hebergeur == 'multimania') $test_acces = false; return $test_acces; } diff --git a/ecrire/install.php3 b/ecrire/install.php3 index fb54424628b6630203eb30ded2170b0719710f39..29d5b90837e0419252dfac9806778e127ad538aa 100644 --- a/ecrire/install.php3 +++ b/ecrire/install.php3 @@ -1,347 +1,322 @@ <?php -if (!file_exists("inc_connect.php3")) { - include ("inc_version.php3"); - include_local ("inc_presentation.php3"); - include_local ("inc_acces.php3"); - include_local ("inc_base.php3"); - - if ($connect){ - - }elseif($etape6){ - install_debut_html(); - - echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>Dernière étape : <B>C'est terminé !</B></FONT>"; - echo "<P>"; - echo "<B>N'oubliez pas vos propres codes d'accès !</B>"; - echo "<P>Vous pouvez maintenant commencer à utiliser le système de publication assisté..."; - - $link = mysql_connect($adresse_db, $login_db, $pass_db); - mysql_select_db($sel_db); - - if ($login) { - $nom = addslashes($nom); - $query = "SELECT id_auteur FROM spip_auteurs WHERE login=\"$login\""; - $result = mysql_query($query); - unset($id_auteur); - while ($row = mysql_fetch_array($result)) $id_auteur = $row[0]; - - $mdpass = md5($pass); - $htpass = generer_htpass($pass); +if (file_exists("inc_connect.php3")) { + install_debut_html(); + echo "<FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=4><B>Espace interdit</B></FONT>"; + install_fin_html(); + exit; +} - if ($id_auteur) { - $query = "UPDATE spip_auteurs SET nom=\"$nom\", email=\"$email\", login=\"$login\", pass=\"$mdpass\", htpass=\"$htpass\", statut=\"0minirezo\" WHERE id_auteur=$id_auteur"; - } - else { - $query = "INSERT INTO spip_auteurs (nom, email, login, pass, htpass, statut) VALUES(\"$nom\",\"$email\",\"$login\",\"$mdpass\",\"$htpass\",\"0minirezo\")"; - } - mysql_query($query); - } +include ("inc_version.php3"); +include_local ("inc_presentation.php3"); +include_local ("inc_acces.php3"); +include_local ("inc_base.php3"); + +if ($etape6) { + install_debut_html(); + + echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>Dernière étape : <B>C'est terminé !</B></FONT>"; + echo "<P>"; + echo "<B>N'oubliez pas vos propres codes d'accès !</B>"; + echo "<P>Vous pouvez maintenant commencer à utiliser le système de publication assisté..."; - // Si PHP est installe en module Apache, pas besoin de .htaccess - $ecrire_htaccess = !$php_module; + $link = mysql_connect($adresse_db, $login_db, $pass_db); + mysql_select_db($sel_db); + + if ($login) { + $nom = addslashes($nom); + $query = "SELECT id_auteur FROM spip_auteurs WHERE login=\"$login\""; + $result = mysql_query($query); + unset($id_auteur); + while ($row = mysql_fetch_array($result)) $id_auteur = $row[0]; + + $mdpass = md5($pass); + $htpass = generer_htpass($pass); - if ($ecrire_htaccess) { - $protec = "AuthUserFile $rootf$htpasswd\nAuthGroupFile /dev/null\nAuthName administrateur\nAuthType Basic\n\n<Limit GET POST PUT>\nrequire valid-user\n</Limit>\n"; - $myFile = fopen($htaccess, "w"); - fputs($myFile, $protec); - fclose($myFile); + if ($id_auteur) { + $query = "UPDATE spip_auteurs SET nom=\"$nom\", email=\"$email\", login=\"$login\", pass=\"$mdpass\", htpass=\"$htpass\", statut=\"0minirezo\" WHERE id_auteur=$id_auteur"; } + else { + $query = "INSERT INTO spip_auteurs (nom, email, login, pass, htpass, statut) VALUES(\"$nom\",\"$email\",\"$login\",\"$mdpass\",\"$htpass\",\"0minirezo\")"; + } + mysql_query($query); + } - ecrire_acces(); + // Si PHP est installe en module Apache, pas besoin de .htaccess + $ecrire_htaccess = !$php_module; - $protec = "deny from all\n"; - $myFile = fopen("data/.htaccess", "w"); + if ($ecrire_htaccess) { + $protec = "AuthUserFile $rootf$htpasswd\nAuthGroupFile /dev/null\nAuthName administrateur\nAuthType Basic\n\n<Limit GET POST PUT>\nrequire valid-user\n</Limit>\n"; + $myFile = fopen($htaccess, "w"); fputs($myFile, $protec); fclose($myFile); + } - $conn = "<?php\n"; - $conn .= "if (defined(\"_ECRIRE_INC_CONNECT\")) return;\n"; - $conn .= "define(\"_ECRIRE_INC_CONNECT\", \"1\");\n"; - $conn .= "\$GLOBALS['db_ok'] = true;\n"; - $conn .= "\$GLOBALS['db_ok'] &= !!@mysql_connect(\"$adresse_db\",\"$login_db\",\"$pass_db\");\n"; - $conn .= "\$GLOBALS['db_ok'] &= !!@mysql_select_db(\"$sel_db\");\n"; - $conn .= "?".">"; - $myFile = fopen("inc_connect.php3", "wb"); - fputs($myFile, $conn); - fclose($myFile); + ecrire_acces(); - @unlink("inc_meta_cache.php3"); + $protec = "deny from all\n"; + $myFile = fopen("data/.htaccess", "w"); + fputs($myFile, $protec); + fclose($myFile); - echo "<FORM ACTION='index.php3' METHOD='get'>"; - echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='Suivant >>'>"; - echo "</FORM>"; + $conn = "<?php\n"; + $conn .= "if (defined(\"_ECRIRE_INC_CONNECT\")) return;\n"; + $conn .= "define(\"_ECRIRE_INC_CONNECT\", \"1\");\n"; + $conn .= "\$GLOBALS['db_ok'] = true;\n"; + $conn .= "@mysql_connect(\"$adresse_db\",\"$login_db\",\"$pass_db\");\n"; + $conn .= "@mysql_select_db(\"$sel_db\");\n"; + $conn .= "\$GLOBALS['db_ok'] &= !!@mysql_num_rows(@mysql_query('SELECT COUNT(*) FROM spip_meta'));\n"; + $conn .= "?".">"; + $myFile = fopen("inc_connect.php3", "wb"); + fputs($myFile, $conn); + fclose($myFile); - install_fin_html(); + @unlink("inc_meta_cache.php3"); - }elseif($etape5){ - install_debut_html(); + echo "<FORM ACTION='index.php3' METHOD='get'>"; + echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='Suivant >>'>"; + echo "</FORM>"; - echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>Cinquième étape : <B>Informations personnelles</B></FONT>"; - echo "<P>"; - - echo "<b>Le système va maintenant vous créer un accès personnalisé au site.</b>"; - echo aide ("install5"); - echo "<p>(Note : s'il s'agit d'une réinstallation, et que votre accès marche toujours, vous pouvez "; - echo "laisser ces champs vides)"; + install_fin_html(); - echo "<FORM ACTION='install.php3' METHOD='get'>"; - echo "<INPUT TYPE='hidden' NAME='etape6' VALUE='oui'>"; - echo "<INPUT TYPE='hidden' NAME='adresse_db' VALUE=\"$adresse_db\" SIZE='40'>"; - echo "<INPUT TYPE='hidden' NAME='login_db' VALUE=\"$login_db\">"; - echo "<INPUT TYPE='hidden' NAME='pass_db' VALUE=\"$pass_db\"><P>"; - echo "<INPUT TYPE='hidden' NAME='sel_db' VALUE=\"$sel_db\"><P>"; +}elseif($etape5){ + install_debut_html(); - echo "<fieldset><label><B>Votre identité publique...</B><BR></label>"; - echo "<B>Signature</B><BR>"; - echo "(Votre nom ou votre pseudo)<BR>"; - echo "<INPUT TYPE='text' NAME='nom' CLASS='formo' VALUE=\"$nom\" SIZE='40'><P>"; - - echo "<B>Votre adresse email</B><BR>"; - echo "<INPUT TYPE='text' NAME='email' CLASS='formo' VALUE=\"$email\" SIZE='40'></fieldset><P>\n"; - - echo "<fieldset><label><B>Vos identifiants de connexion...</B><BR></label>"; - echo "<B>Votre login</B><BR>"; - echo "(Plus de 3 caractères)<BR>"; - echo "<INPUT TYPE='text' NAME='login' CLASS='formo' VALUE=\"$login\" SIZE='40'><P>\n"; + echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>Cinquième étape : <B>Informations personnelles</B></FONT>"; + echo "<P>"; + + echo "<b>Le système va maintenant vous créer un accès personnalisé au site.</b>"; + echo aide ("install5"); + echo "<p>(Note : s'il s'agit d'une réinstallation, et que votre accès marche toujours, vous pouvez "; + echo "laisser ces champs vides)"; + + echo "<FORM ACTION='install.php3' METHOD='get'>"; + echo "<INPUT TYPE='hidden' NAME='etape6' VALUE='oui'>"; + echo "<INPUT TYPE='hidden' NAME='adresse_db' VALUE=\"$adresse_db\" SIZE='40'>"; + echo "<INPUT TYPE='hidden' NAME='login_db' VALUE=\"$login_db\">"; + echo "<INPUT TYPE='hidden' NAME='pass_db' VALUE=\"$pass_db\"><P>"; + echo "<INPUT TYPE='hidden' NAME='sel_db' VALUE=\"$sel_db\"><P>"; + + echo "<fieldset><label><B>Votre identité publique...</B><BR></label>"; + echo "<B>Signature</B><BR>"; + echo "(Votre nom ou votre pseudo)<BR>"; + echo "<INPUT TYPE='text' NAME='nom' CLASS='formo' VALUE=\"$nom\" SIZE='40'><P>"; - echo "<B>Votre mot de passe</B> <BR>"; - echo "(Plus de 5 caractères)<BR>"; - echo "<INPUT TYPE='text' NAME='pass' CLASS='formo' VALUE=\"$pass\" SIZE='40'></fieldset><P>\n"; + echo "<B>Votre adresse email</B><BR>"; + echo "<INPUT TYPE='text' NAME='email' CLASS='formo' VALUE=\"$email\" SIZE='40'></fieldset><P>\n"; + + echo "<fieldset><label><B>Vos identifiants de connexion...</B><BR></label>"; + echo "<B>Votre login</B><BR>"; + echo "(Plus de 3 caractères)<BR>"; + echo "<INPUT TYPE='text' NAME='login' CLASS='formo' VALUE=\"$login\" SIZE='40'><P>\n"; - $rootf = $PATH_TRANSLATED; - $rootf = ereg_replace("\\\\", "/", $rootf); - $rootf = substr($rootf, 0, strrpos($rootf, "/"))."/"; - - // Cas particuliers - - // Multimania - if ($hebergeur == 'multimania') { - $compte = substr($login_db, 0, strlen($login_db) - 3); - $rootf = "/data/perso/".substr($compte,0,1)."/".substr($compte,1,1)."/".substr($compte,2,1)."/$compte/"; - $chemin = $REQUEST_URI; - if (ereg('^www\.', $HTTP_X_HOST)) - ereg('^/[^/]*/([^?]*/)', $chemin, $regs); - else - ereg('^/([^?]*/)', $chemin, $regs); - $chemin = $regs[1]; - $rootf .= $chemin; - } + echo "<B>Votre mot de passe</B> <BR>"; + echo "(Plus de 5 caractères)<BR>"; + echo "<INPUT TYPE='text' NAME='pass' CLASS='formo' VALUE=\"$pass\" SIZE='40'></fieldset><P>\n"; -// echo "<fieldset><legend><B>Le chemin d'accès à ce dossier sur le serveur</B> <BR></legend>"; -// echo "(Important pour la protection du dossier. Si vous ne savez pas, laissez tel quel.)<BR>"; - echo "<INPUT TYPE='hidden' NAME='rootf' CLASS='forml' VALUE=\"$rootf\" SIZE='40'>"; -// echo "</fieldset><P>\n"; - - - echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='Suivant >>'>"; - echo "</FORM>"; + $rootf = $PATH_TRANSLATED; + $rootf = ereg_replace("\\\\", "/", $rootf); + $rootf = substr($rootf, 0, strrpos($rootf, "/"))."/"; + // Cas particuliers - install_fin_html(); + echo "<INPUT TYPE='hidden' NAME='rootf' CLASS='forml' VALUE=\"$rootf\" SIZE='40'>"; - }elseif($etape4){ + echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='Suivant >>'>"; + echo "</FORM>"; - install_debut_html(); - - echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>Quatrième étape : <B>Création des tables de la base</B></FONT>"; - echo "<P>"; - - $link = mysql_connect("$adresse_db", "$login_db", "$pass_db"); - - - echo "<"."!--"; - - if ($choix_db == "new_spip"){ - $sel_db = $table_new; - mysql_create_db($sel_db); - } - else{ - $sel_db = $choix_db; - } - mysql_select_db("$sel_db"); - creer_base(); - maj_base(); + install_fin_html(); - $query = "SELECT COUNT(*) FROM spip_articles"; - $result = mysql_query($query); - $result_ok = (mysql_num_rows($result) > 0); +} +elseif ($etape4) { - echo "-->"; + install_debut_html(); - - if ($result_ok) { - echo "<B>La structure de votre base de données est installée.</B><P>Vous pouvez passer à l'étape suivante."; + echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>Quatrième étape : <B>Création des tables de la base</B></FONT>"; + echo "<P>"; - echo "<FORM ACTION='install.php3' METHOD='get'>"; - echo "<INPUT TYPE='hidden' NAME='etape5' VALUE='oui'>"; - echo "<INPUT TYPE='hidden' NAME='adresse_db' VALUE=\"$adresse_db\" SIZE='40'>"; - echo "<INPUT TYPE='hidden' NAME='login_db' VALUE=\"$login_db\">"; - echo "<INPUT TYPE='hidden' NAME='pass_db' VALUE=\"$pass_db\"><P>"; - echo "<INPUT TYPE='hidden' NAME='sel_db' VALUE=\"$sel_db\"><P>"; + $link = mysql_connect("$adresse_db", "$login_db", "$pass_db"); - echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='Suivant >>'>"; - echo "</FORM>"; - } - else{ - echo "<B>L'opération a échoué.</B> Retournez à la page précédente, sélectionnez une autre base ou créez-en une nouvelle. Vérifiez les informations fournies par votre hébergeur."; - } + echo "<"."!--"; - install_fin_html(); + if ($choix_db == "new_spip") { + $sel_db = $table_new; + mysql_create_db($sel_db); + } + else { + $sel_db = $choix_db; + } + mysql_select_db("$sel_db"); - }elseif($etape3){ + creer_base(); + maj_base(); - install_debut_html(); + $query = "SELECT COUNT(*) FROM spip_articles"; + $result = mysql_query($query); + $result_ok = (mysql_num_rows($result) > 0); - echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>Troisième étape : <B>Choix de votre base</B></FONT>"; + echo "-->"; - echo aide ("install2"); - echo "<P>"; + + if ($result_ok) { + echo "<B>La structure de votre base de données est installée.</B><P>Vous pouvez passer à l'étape suivante."; echo "<FORM ACTION='install.php3' METHOD='get'>"; - echo "<INPUT TYPE='hidden' NAME='etape4' VALUE='oui'>"; + echo "<INPUT TYPE='hidden' NAME='etape5' VALUE='oui'>"; echo "<INPUT TYPE='hidden' NAME='adresse_db' VALUE=\"$adresse_db\" SIZE='40'>"; echo "<INPUT TYPE='hidden' NAME='login_db' VALUE=\"$login_db\">"; echo "<INPUT TYPE='hidden' NAME='pass_db' VALUE=\"$pass_db\"><P>"; - - $link=mysql_connect("$adresse_db","$login_db","$pass_db"); - $result=@mysql_list_dbs(); - - echo "<fieldset><label><B>Choisissez votre base :</B><BR></label>"; - - if ($result AND (@mysql_num_rows($result) > 0)) { - echo "<B>Le serveur mySQL contient plusieurs bases de données.</B><P> <B>Sélectionnez</B> ci-après celle qui vous a été attribuée par votre hébergeur:"; - echo "<UL>"; - $i=0; - $bases = ""; - while ($i < mysql_num_rows($result)) { - $table_nom = mysql_dbname($result, $i); - $base = "<INPUT NAME=\"choix_db\" VALUE=\"".$table_nom."\" TYPE=Radio id='tab$i'"; - $base_fin = "><label for='tab$i'>".$table_nom."</label><BR>\n"; - if ($table_nom == $login_db) { - $bases = "$base CHECKED$base_fin".$bases; - $checked = true; - } - else { - $bases .= "$base$base_fin\n"; - } - $i++; - } - echo $bases."</UL>"; - echo "ou... "; - } - else { - echo "<B>Le programme d'installation n'a pas pu lire les noms des bases de données installées.</B> - Soit aucune base n'est disponible, soit la fonction permettant de lister les bases a été désactivée - pour des raisons de sécurité (ce qui est le cas chez de nombreux hébergeurs).<P>"; - if ($login_db) { - echo "Dans la seconde alternative, il est probable qu'une base portant votre nom de login soit utilisable :"; - echo "<UL>"; - echo "<INPUT NAME=\"choix_db\" VALUE=\"".$login_db."\" TYPE=Radio id='stand' CHECKED>"; - echo "<label for='stand'>".$login_db."</label><BR>\n"; - echo "</UL>"; - echo "ou... "; - $checked = true; - } - } - echo "<INPUT NAME=\"choix_db\" VALUE=\"new_spip\" TYPE=Radio id='nou'"; - if (!$checked) echo " CHECKED"; - echo "> <label for='nou'><B>Créer</B> une nouvelle base de données :</label> "; - echo "<INPUT TYPE='text' NAME='table_new' CLASS='fondo' VALUE=\"spip\" SIZE='20'></fieldset><P>"; + echo "<INPUT TYPE='hidden' NAME='sel_db' VALUE=\"$sel_db\"><P>"; echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='Suivant >>'>"; - echo "</FORM>"; + } + else{ + echo "<B>L'opération a échoué.</B> Retournez à la page précédente, sélectionnez une autre base ou créez-en une nouvelle. Vérifiez les informations fournies par votre hébergeur."; + } - install_fin_html(); + install_fin_html(); - }elseif($etape2){ +} +elseif ($etape3) { - install_debut_html(); + install_debut_html(); - echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>Deuxième étape : <B>Essai de connexion à la base</B></FONT>"; - - echo "<!--"; - $link=mysql_connect("$adresse_db","$login_db","$pass_db"); - $db_connect=mysql_errno(); - echo "-->"; - - echo "<P>"; - - if (($db_connect=="0") && $link){ - echo "<B>La connexion a réussi.</B><P> Vous pouvez passer à l'étape suivante."; + echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>Troisième étape : <B>Choix de votre base</B></FONT>"; + + echo aide ("install2"); + echo "<P>"; + + echo "<FORM ACTION='install.php3' METHOD='get'>"; + echo "<INPUT TYPE='hidden' NAME='etape4' VALUE='oui'>"; + echo "<INPUT TYPE='hidden' NAME='adresse_db' VALUE=\"$adresse_db\" SIZE='40'>"; + echo "<INPUT TYPE='hidden' NAME='login_db' VALUE=\"$login_db\">"; + echo "<INPUT TYPE='hidden' NAME='pass_db' VALUE=\"$pass_db\"><P>"; + + $link = mysql_connect("$adresse_db","$login_db","$pass_db"); + $result = @mysql_list_dbs(); + + echo "<fieldset><label><B>Choisissez votre base :</B><BR></label>"; + + if ($result AND (@mysql_num_rows($result) > 0)) { + echo "<B>Le serveur mySQL contient plusieurs bases de données.</B><P> <B>Sélectionnez</B> ci-après celle qui vous a été attribuée par votre hébergeur:"; + echo "<UL>"; + $i=0; + $bases = ""; + while ($i < mysql_num_rows($result)) { + $table_nom = mysql_dbname($result, $i); + $base = "<INPUT NAME=\"choix_db\" VALUE=\"".$table_nom."\" TYPE=Radio id='tab$i'"; + $base_fin = "><label for='tab$i'>".$table_nom."</label><BR>\n"; + if ($table_nom == $login_db) { + $bases = "$base CHECKED$base_fin".$bases; + $checked = true; + } + else { + $bases .= "$base$base_fin\n"; + } + $i++; + } + echo $bases."</UL>"; + echo "ou... "; + } + else { + echo "<B>Le programme d'installation n'a pas pu lire les noms des bases de données installées.</B> + Soit aucune base n'est disponible, soit la fonction permettant de lister les bases a été désactivée + pour des raisons de sécurité (ce qui est le cas chez de nombreux hébergeurs).<P>"; + if ($login_db) { + echo "Dans la seconde alternative, il est probable qu'une base portant votre nom de login soit utilisable :"; + echo "<UL>"; + echo "<INPUT NAME=\"choix_db\" VALUE=\"".$login_db."\" TYPE=Radio id='stand' CHECKED>"; + echo "<label for='stand'>".$login_db."</label><BR>\n"; + echo "</UL>"; + echo "ou... "; + $checked = true; + } + } + echo "<INPUT NAME=\"choix_db\" VALUE=\"new_spip\" TYPE=Radio id='nou'"; + if (!$checked) echo " CHECKED"; + echo "> <label for='nou'><B>Créer</B> une nouvelle base de données :</label> "; + echo "<INPUT TYPE='text' NAME='table_new' CLASS='fondo' VALUE=\"spip\" SIZE='20'></fieldset><P>"; - echo "<FORM ACTION='install.php3' METHOD='get'>"; - echo "<INPUT TYPE='hidden' NAME='etape3' VALUE='oui'>"; - echo "<INPUT TYPE='hidden' NAME='adresse_db' VALUE=\"$adresse_db\" SIZE='40'>"; - echo "<INPUT TYPE='hidden' NAME='login_db' VALUE=\"$login_db\">"; - echo "<INPUT TYPE='hidden' NAME='pass_db' VALUE=\"$pass_db\"><P>"; + echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='Suivant >>'>"; - echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='Suivant >>'>"; + echo "</FORM>"; - echo "</FORM>"; + install_fin_html(); +} +elseif($etape2) { + install_debut_html(); - }else{ - echo "<B>La connexion au serveur mySQL a échoué.</B>"; - echo "<P>Revenez à la page précédente, et vérifiez les informations que vous avez fournies."; - echo "<P><FONT SIZE=2><B>N.B.</B> Sur de nombreux serveurs, vous devez <B>demander</B> l'activation de votre accès à la base mySQL avant de pouvoir l'utiliser. Si vous ne pouvez vous connecter, vérifiez que vous avez effectué cette démarche.</FONT>"; - } + echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>Deuxième étape : <B>Essai de connexion à la base</B></FONT>"; - install_fin_html(); - - }elseif($etape1){ + echo "<!--"; + $link = mysql_connect("$adresse_db","$login_db","$pass_db"); + $db_connect = mysql_errno(); + echo "-->"; + + echo "<P>"; + + if (($db_connect=="0") && $link){ + echo "<B>La connexion a réussi.</B><P> Vous pouvez passer à l'étape suivante."; - install_debut_html(); + echo "<FORM ACTION='install.php3' METHOD='get'>"; + echo "<INPUT TYPE='hidden' NAME='etape3' VALUE='oui'>"; + echo "<INPUT TYPE='hidden' NAME='adresse_db' VALUE=\"$adresse_db\" SIZE='40'>"; + echo "<INPUT TYPE='hidden' NAME='login_db' VALUE=\"$login_db\">"; + echo "<INPUT TYPE='hidden' NAME='pass_db' VALUE=\"$pass_db\"><P>"; - echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>Première étape : <B>Votre connexion mySQL</B></FONT>"; + echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='Suivant >>'>"; + echo "</FORM>"; + } + else { + echo "<B>La connexion au serveur mySQL a échoué.</B>"; + echo "<P>Revenez à la page précédente, et vérifiez les informations que vous avez fournies."; + echo "<P><FONT SIZE=2><B>N.B.</B> Sur de nombreux serveurs, vous devez <B>demander</B> l'activation de votre accès à la base mySQL avant de pouvoir l'utiliser. Si vous ne pouvez vous connecter, vérifiez que vous avez effectué cette démarche.</FONT>"; + } - echo "<P>Consultez les informations fournies par votre hébergeur : vous devez y trouver, si votre hébergeur supporte mySQL, les codes de connexion au serveur mySQL."; + install_fin_html(); + +} +elseif ($etape1) { + install_debut_html(); - echo aide ("install1"); + echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>Première étape : <B>Votre connexion mySQL</B></FONT>"; + echo "<P>Consultez les informations fournies par votre hébergeur : vous devez y trouver, si votre hébergeur supporte mySQL, les codes de connexion au serveur mySQL."; - echo "<FORM ACTION='install.php3' METHOD='get'>"; - echo "<INPUT TYPE='hidden' NAME='etape2' VALUE='oui'>"; - echo "<fieldset><label><B>Adresse de la base de données</B><BR></label>"; - echo "(Souvent cette adresse correspond à celle de votre site, parfois elle correspond à la mention «localhost», parfois elle est laissée totalement vide.)<BR>"; - echo "<INPUT TYPE='text' NAME='adresse_db' CLASS='formo' VALUE=\"localhost\" SIZE='40'></fieldset><P>"; + echo aide ("install1"); - echo "<fieldset><label><B>Le login de connexion</B><BR></label>"; - echo "(Correspond parfois à votre login d'accès au FTP; parfois laissé vide)<BR>"; - echo "<INPUT TYPE='text' NAME='login_db' CLASS='formo' VALUE=\"$login_hebergeur\" SIZE='40'></fieldset><P>"; - echo "<fieldset><label><B>Le mot de passe de connexion</B><BR></label>"; - echo "(Correspond parfois à votre mot de passe pour le FTP; parfois laissé vide)<BR>"; - echo "<INPUT TYPE='text' NAME='pass_db' CLASS='formo' VALUE=\"\" SIZE='40'></fieldset><P>"; + echo "<FORM ACTION='install.php3' METHOD='get'>"; + echo "<INPUT TYPE='hidden' NAME='etape2' VALUE='oui'>"; + echo "<fieldset><label><B>Adresse de la base de données</B><BR></label>"; + echo "(Souvent cette adresse correspond à celle de votre site, parfois elle correspond à la mention «localhost», parfois elle est laissée totalement vide.)<BR>"; + echo "<INPUT TYPE='text' NAME='adresse_db' CLASS='formo' VALUE=\"localhost\" SIZE='40'></fieldset><P>"; - echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='Suivant >>'>"; + echo "<fieldset><label><B>Le login de connexion</B><BR></label>"; + echo "(Correspond parfois à votre login d'accès au FTP; parfois laissé vide)<BR>"; + echo "<INPUT TYPE='text' NAME='login_db' CLASS='formo' VALUE=\"$login_hebergeur\" SIZE='40'></fieldset><P>"; + echo "<fieldset><label><B>Le mot de passe de connexion</B><BR></label>"; + echo "(Correspond parfois à votre mot de passe pour le FTP; parfois laissé vide)<BR>"; + echo "<INPUT TYPE='text' NAME='pass_db' CLASS='formo' VALUE=\"\" SIZE='40'></fieldset><P>"; - echo "</FORM>"; + echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='Suivant >>'>"; - install_fin_html(); - } - else { - header("Location: ../spip_test_dirs.php3"); - } + echo "</FORM>"; + + install_fin_html(); + } else { - install_debut_html(); - echo "<FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=4><B>Espace interdit</B></FONT>"; - install_fin_html(); + header("Location: ../spip_test_dirs.php3"); } ?> -</FONT> -</TD></TR></TABLE> -</CENTER> -</BODY> - -</HTML> diff --git a/inc-public.php3 b/inc-public.php3 index cbc61a6a4beb2c083ff5d9c9deb3f5b9a81a5f35..9ebf570f25d76fbcb971fb5709fae6ad09c3e2f7 100644 --- a/inc-public.php3 +++ b/inc-public.php3 @@ -32,7 +32,7 @@ if (strlen($fichier_cache) > 24) $fichier_cache = substr(ereg_replace('([a-zA-Z]{1,3})[^-]*-', '\1-', $fichier_cache), -24); if (!$fichier_cache) - $fichier_cache = 'slash-'; + $fichier_cache = 'INDEX-'; $fichier_cache .= '.'.substr($md_cache, 1, 6); $subdir_cache = substr($md_cache, 0, 1);