[ Index ] |
|
Code source de SPIP Agora 1.4 |
1 <?php 2 /***************************************************** 3 * This file is part of Agora, web based content management system. 4 * 5 * Agora is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; version 2 of the License. 8 * 9 * Agora is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details (file "COPYING"). 13 * 14 * Copyright © Arnaud Martin, Antoine Pitrou et Philippe Rivière. 15 * List of authors detailed in "copyright_fr.html" file. 16 * E-mail : agora@sig.premier-ministre.gouv.fr 17 * Web site : http://www.agora.gouv.fr 18 *****************************************************/ 19 include ("inc_version.php"); 20 21 require_once(dirname(__FILE__)."/include/bd/inc_profil_factory.php"); 22 include_ecrire ("inc_presentation.php"); 23 $fichier_ouvert = array(); 24 25 gerer_menu_langues(); 26 27 if (file_exists("include/bd/inc_config_metier.php")) { 28 install_debut_html(); 29 echo "<P><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=4>" . _T('avis_espace_interdit'). "</FONT>"; 30 31 install_fin_html(); 32 exit; 33 } 34 35 include_ecrire ("inc_base.php"); 36 37 // Etapes de l'installation standard 38 if ($etape == 5) { 39 // Etape finale : creation du premier profil admin, 40 // option du jeu de donnees par defaut 41 install_debut_html(); 42 43 echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>" . _T('info_derniere_etape'). "</B></FONT>"; 44 echo "<P>"; 45 echo "<B>" . _T('info_code_acces'). "</B>"; 46 echo "<P>" . _T('info_utilisation_spip'); 47 48 include_ecrire ("inc_meta.php"); 49 require_once(dirname(__FILE__). '/include/bd/inc_auteur_factory.php'); 50 51 if ($login) { 52 $nom = addslashes($nom); 53 $auteurMetier = &recuperer_instance_auteur(); 54 $allAuteurs = $auteurMetier->getAllForLogin($login); 55 56 if (PEAR::isError($allAuteurs)) { 57 die($allAuteurs->getMessage()); 58 } 59 unset($id_auteur); 60 61 while (list(, $monAuteur) = each($allAuteurs)) { 62 $id_auteur = $monAuteur->getAuteurId(); 63 } 64 $mdpass = md5($pass); 65 $htpass = generer_htpass($pass); 66 67 if ($id_auteur) { 68 $auteurMetier = &recuperer_instance_auteur(); 69 $loadOK = $auteurMetier->load($id_auteur); 70 if (PEAR::isError($loadOK)) { 71 die($loadOK->getMessage()); 72 } 73 else { 74 $auteurMetier->setNom($nom); 75 $auteurMetier->setEmail($email); 76 $auteurMetier->setLogin($login); 77 $auteurMetier->setPass($mdpass); 78 $auteurMetier->setAleaActuel(''); 79 $auteurMetier->setAleaFutur(3272); //TEMPORAIRE 80 $auteurMetier->setHtpass($htpass); 81 $profilMetier = &recuperer_instance_profil(); 82 $monProfil = $profilMetier->getProfilForIntitule('item_webmestre'); 83 $auteurMetier->setProfil($monProfil->getPoids()); 84 $auteurMetier->setStatut('minirezo'); 85 $updateOK = $auteurMetier->update(); 86 if (PEAR::isError($updateOK)) { 87 die($updateOK->getMessage()); 88 } 89 } 90 } 91 else { 92 $auteurMetier = &recuperer_instance_auteur(); 93 $auteurMetier->setNom($nom); 94 $auteurMetier->setEmail($email); 95 $auteurMetier->setLogin($login); 96 $auteurMetier->setPass($mdpass); 97 $auteurMetier->setHtpass($htpass); 98 $auteurMetier->setAleaActuel(''); //TEMPORAIRE 99 $auteurMetier->setAleaFutur(3272); //TEMPORAIRE 100 $auteurMetier->setSource('spip'); 101 $profilMetier = &recuperer_instance_profil(); 102 $monProfil = $profilMetier->getProfilForIntitule('item_administrateur'); 103 $auteurMetier->setProfil($monProfil->getPoids()); 104 $auteurMetier->setStatut('minirezo'); 105 $createOK = $auteurMetier->create(); 106 if (PEAR::isError($createOK)) { 107 die($createOK->getMessage()); 108 } 109 } 110 } 111 112 // Email de l'administrateur copié dans les metas 113 ecrire_meta('email_webmaster', $email); 114 include_ecrire ("inc_config.php"); 115 init_config(); 116 init_langues(); 117 118 // est-ce encore utilise dans Agora ? 119 if ($hebergeur == 'nexenservices') { 120 echo "<p><B>"._T('info_nexen_1')."</B><br />"; 121 echo "<p>"._T('info_nexen_2'); 122 echo "<a href=\"http://www.nexenservices.com/webmestres/htlocal.php\" target=\"_blank\">". 123 _T('info_nexen_3')."</a>."; 124 echo "<p>"._T('info_nexen_4'); 125 } 126 else { 127 include_ecrire ("inc_acces.php"); 128 ecrire_acces(); 129 $protec = "deny from all\n"; 130 $myFile = fopen("data/.htaccess", "w"); 131 fputs($myFile, $protec); 132 fclose($myFile); 133 } 134 @unlink("data/inc_meta_cache.php"); 135 136 // Finalisation du fichier de connexion BD 137 if (!@rename(dirname(__FILE__). "/include/bd/inc_config_metier_install.php", 138 dirname(__FILE__). "/include/bd/inc_config_metier.php")) { 139 copy(dirname(__FILE__). "/include/bd/inc_config_metier_install.php", 140 dirname(__FILE__). "/include/bd/inc_config_metier.php"); 141 @unlink(dirname(__FILE__). "/include/bd/inc_config_metier_install.php"); 142 } 143 144 // Jeu de donnees pour les squelettes par defaut 145 echo "<FORM ACTION='index.php' METHOD='post'>"; 146 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' " . 147 "VALUE='" . _T('bouton_suivant'). " >>'>"; 148 echo "</FORM></DIV>"; 149 echo "<BR><font face='Verdana,Arial,Sans,sans-serif' size='4' color='#970038'><B>" . 150 _T('info_install_data_supplementaires'). "</b></font>"; 151 echo "<P>" . _T('detail_install_data_supplementaires'); 152 echo "<FORM ACTION='install_data.php' METHOD='post'>"; 153 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' " . 154 "VALUE='" . _T('bouton_installer_data'). " >>'>"; 155 echo "</FORM>"; 156 157 ecrire_metas(); 158 $adresse_site = "http://$HTTP_HOST" . substr($REQUEST_URI, 0, strpos($REQUEST_URI, "/ecrire")); 159 ecrire_meta("adresse_site", $adresse_site); 160 install_fin_html(); 161 } 162 else if ($etape == 4) { 163 // Formulaire des informations personnelles de l'administrateur 164 install_debut_html(); 165 166 echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>" . 167 _T('info_informations_personnelles'). "</FONT>"; 168 echo "<P>"; 169 echo "<b>"._T('texte_informations_personnelles_1')."</b>"; 170 echo aide("install5"); 171 echo "<p>"._T('texte_informations_personnelles_2')." "; 172 echo _T('info_laisser_champs_vides'); 173 174 echo "<FORM ACTION='install.php' METHOD='post'>"; 175 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='5'>"; 176 177 echo "<fieldset><label><B>"._T('info_identification_publique')."</B><BR></label>"; 178 echo "<B>"._T('entree_signature')."</B><BR>"; 179 echo _T('entree_nom_pseudo_1')."<BR>"; 180 echo "<INPUT TYPE='text' NAME='nom' CLASS='formo' VALUE=\"$nom\" SIZE='40'><P>"; 181 182 echo "<B>"._T('entree_adresse_email')."</B><BR>"; 183 echo "<INPUT TYPE='text' NAME='email' CLASS='formo' VALUE=\"$email\" SIZE='40'></fieldset><P>\n"; 184 185 echo "<fieldset><label><B>"._T('entree_identifiants_connexion')."</B><BR></label>"; 186 echo "<B>"._T('entree_login')."</B><BR>"; 187 echo _T('info_plus_trois_car')."<BR>"; 188 echo "<INPUT TYPE='text' NAME='login' CLASS='formo' VALUE=\"$login\" SIZE='40'><P>\n"; 189 190 echo "<B>"._T('entree_mot_passe')."</B> <BR>"; 191 echo _T('info_plus_cinq_car_2')."<BR>"; 192 echo "<INPUT TYPE='password' NAME='pass' CLASS='formo' VALUE=\"$pass\" SIZE='40'></fieldset><P>\n"; 193 194 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' " 195 ."VALUE='"._T('bouton_suivant')." >>'>"; 196 echo "</FORM>"; 197 echo "<p>"; 198 199 if ($flag_ldap AND !$ldap_present) { 200 echo "<div style='border: 1px solid #404040; padding: 10px; text-align: left;'>"; 201 echo "<b>"._T('info_authentification_externe')."</b>"; 202 echo "<p>"._T('texte_annuaire_ldap_1'); 203 echo "<FORM ACTION='install.php' METHOD='post'>"; 204 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='ldap1'>"; 205 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' ". 206 "VALUE=\"" . _T('bouton_acces_ldap'). "\">"; 207 echo "</FORM>"; 208 } 209 install_fin_html(); 210 } 211 else if ($etape == 3) { 212 // Creation des tables et de leur contenu par defaut 213 install_debut_html(); 214 215 require_once("DB.php"); 216 require_once(dirname(__FILE__).'/include/bd/parameters.php'); 217 218 // Cette classe permet d'executer des requetes SQL depuis des fichiers 219 // SQL convenablement formattes 220 require_once(dirname(__FILE__).'/install/SQLScript/spipagora.php'); 221 222 $bd_params = new BD_parameters($type_bd, $login_db, $pass_db, $adresse_db, $nom_instance_db); 223 $db = &DB::connect($bd_params->getDSN(), null); 224 225 $sqlScript = new SQLScript_spipagora(dirname(__FILE__)."/install/sql/$type_bd/agora_install.sql", BLOCKMODE); 226 $result_ok = $sqlScript->executeScript($db); 227 228 if (!$result_ok) { 229 echo "<B>"._T('avis_operation_echec')."</B> "._T('texte_operation_echec'); 230 exit; 231 } 232 233 $sqlScript->setSqlFile(dirname(__FILE__)."/install/sql/$type_bd/agora_data_install.sql"); 234 $sqlScript->setFileType(LINEMODE); 235 $result_ok = $sqlScript->executeScript($db); 236 237 // Preparation du fichier de connexion BD 238 if ($result_ok) { 239 $conn = "<"."?php\n"; 240 $conn .= "require_once(dirname(__FILE__).\"/parameters.php\");\n"; 241 $conn .= "global \$bd_params;\nglobal \$bd_params_ldap;\nglobal \$bd_options;\n"; 242 $conn .= "\$dbType = '$type_bd';\n"; 243 $conn .= "\$dbLogin = '$login_db';\n"; 244 $conn .= "\$dbPassword = '$pass_db';\n"; 245 $conn .= "\$dbHost = '$adresse_db';\n"; 246 $conn .= "\$dbName = '$nom_instance_db';\n"; 247 $conn .= "\$bd_options = array();\n\$bd_options['optimize'] = 'portability';\n"; 248 $conn .= "\$bd_options['persistent'] = true;\n\$bd_options['autofree'] = true;\n"; 249 $conn .= "\$bd_params = new BD_parameters(\$dbType, \$dbLogin, \$dbPassword, \$dbHost, \$dbName);\n"; 250 $conn .= "\$GLOBALS['db_ok'] = 1;\n"; 251 $conn .= "?".">"; 252 $myFile = fopen(dirname(__FILE__)."/include/bd/inc_config_metier_install.php", "wb"); 253 fputs($myFile, $conn); 254 fclose($myFile); 255 256 echo "<B>"._T('info_base_installee')."</B><P>"._T('info_etape_suivante_1'); 257 echo "<FORM ACTION='install.php' METHOD='post'>"; 258 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='4'>"; 259 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='". 260 _T('bouton_suivant')." >>'>"; 261 echo "</FORM>"; 262 } 263 else { 264 echo "<B>"._T('avis_operation_echec')."</B> "._T('texte_operation_echec'); 265 } 266 install_fin_html(); 267 } 268 else if ($etape == 2) { 269 // Test et diagnostic sur la connexion BD 270 install_debut_html(); 271 272 require_once(dirname(__FILE__).'/include/bd/testConnection.php'); 273 echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>"._T('info_connexion_base')."</FONT>"; 274 275 // Rajouter traitement des DB_Options defini en focntion de $type_bd 276 $bd_params = new BD_parameters($type_bd, $login_db, $pass_db, $adresse_db, $nom_instance_db); 277 $testConnection = new BD_testConnection(); 278 $db_connect = $testConnection->testDB($bd_params); 279 280 echo "<p>"; 281 if ($db_connect == 0) { 282 $flag = $testConnection->isSpip($bd_params, '1.727'); 283 if (DB::isError($flag)) { 284 die ($flag->getMessage()); 285 } 286 287 switch ($flag) { 288 case 'SPIP OK': 289 // La BDD est installee, creation de mes_options.php 290 $opts = "<"."?php\n"; 291 $opts.= "\$GLOBALS['table_prefix'] = \"$prefix_table\";\n"; 292 $opts.= "\$GLOBALS['cookie_prefix'] = \"$prefix_cookie\";\n"; 293 $opts.= "\$GLOBALS['dossier_squelettes']= \"afficher\";\n"; 294 $opts.= "?".">\n"; 295 $myFile = fopen(dirname(__FILE__)."/mes_options.php", "wb"); 296 fputs($myFile, $opts); 297 fclose($myFile); 298 299 echo "<B>"._T('info_connexion_ok')."</B><P> "._T('info_etape_suivante_migration'); 300 echo "<FORM ACTION='install.php' METHOD='post'>"; 301 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='migration1'>"; 302 echo "<INPUT TYPE='hidden' NAME='type_bd' VALUE=\"$type_bd\" SIZE='40'>"; 303 echo "<INPUT TYPE='hidden' NAME='nom_instance_db' VALUE=\"$nom_instance_db\" SIZE='40'>"; 304 echo "<INPUT TYPE='hidden' NAME='adresse_db' VALUE=\"$adresse_db\" SIZE='40'>"; 305 echo "<INPUT TYPE='hidden' NAME='login_db' VALUE=\"$login_db\">"; 306 echo "<INPUT TYPE='hidden' NAME='pass_db' VALUE=\"$pass_db\"><P>"; 307 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='" 308 ._T('bouton_suivant')." >>'>"; 309 echo "</FORM>"; 310 break; 311 312 case 'SPIP NOT OK': 313 // Connexion BDD ok, mais une autre version d'Agora 314 // existe deja sur cette base 315 echo _T('info_spip_not_ok'); 316 break; 317 318 case 'NEW INSTALL': 319 // Creation de mes_options.php 320 $opts = "<"."?php\n"; 321 $opts.= "\$GLOBALS['table_prefix'] = \"$prefix_table\";\n"; 322 $opts.= "\$GLOBALS['cookie_prefix'] = \"$prefix_cookie\";\n"; 323 $opts.= "\$GLOBALS['dossier_squelettes'] = \"afficher\";\n"; 324 $opts.= "?".">\n"; 325 $myFile = fopen(dirname(__FILE__)."/mes_options.php", "wb"); 326 fputs($myFile, $opts); 327 fclose($myFile); 328 329 echo "<B>"._T('info_connexion_ok')."</B><P> "._T('info_etape_suivante_2'); 330 echo "<FORM ACTION='install.php' METHOD='post'>"; 331 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='3'>"; 332 echo "<INPUT TYPE='hidden' NAME='type_bd' VALUE=\"$type_bd\" SIZE='40'>"; 333 echo "<INPUT TYPE='hidden' NAME='nom_instance_db' VALUE=\"$nom_instance_db\" SIZE='40'>"; 334 echo "<INPUT TYPE='hidden' NAME='adresse_db' VALUE=\"$adresse_db\" SIZE='40'>"; 335 echo "<INPUT TYPE='hidden' NAME='login_db' VALUE=\"$login_db\">"; 336 echo "<INPUT TYPE='hidden' NAME='pass_db' VALUE=\"$pass_db\"><P>"; 337 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='". 338 _T('bouton_suivant')." >>'>"; 339 echo "</FORM>"; 340 break; 341 } 342 } 343 else { 344 echo "<B>"._T('avis_connexion_echec_1')."</B>"; 345 echo "<P>"._T('avis_connexion_echec_2'); 346 echo "<P><FONT SIZE=2>"._T('avis_connexion_echec_3')."</FONT>"; 347 } 348 install_fin_html(); 349 } 350 else if ($etape == 1) { 351 // Vérification de certains fichiers PEAR prerequis 352 // date.php, db.php, mail.php, log.php 353 354 //L'étape deux est activée 355 $etape2 = true; 356 //Liste des fichiers du package PEAR nécessaires à l'installation d'AGORA 357 $liste_fichier_pear = array('Date.php', 'DB.php', 'Mail.php','Log.php', 'DB/NestedSet.php', 358 'DB/NestedSet/DB.php'); 359 360 //Pour l'instant il ne manque aucun fichier 361 $liste_fichier_manquant = NULL; 362 363 //utilisation des chemins déclarés dans les options : les include_path 364 // gestion du PATH_SEPARATOR 365 if (!defined("PATH_SEPARATOR")) { 366 if (eregi('Win', getenv('SERVER_SOFTWARE'))) { 367 define ("PATH_SEPARATOR", ";"); 368 } else { 369 define ("PATH_SEPARATOR", ':'); 370 } 371 } 372 373 //On crée la liste des chemins d'accés des fichiers 374 $path_package = ini_get('include_path'); 375 $tableau_chemin = explode(PATH_SEPARATOR, $path_package); 376 // Pour chaque fichier pear nécessaire, on regarde dans tous les chemins si on peut les ouvrir 377 //On place les fichiers ouvert avec succées dans le tableau des fichier_ouvert 378 foreach($liste_fichier_pear as $fichier){ 379 foreach ($tableau_chemin as $chemin) { 380 if (substr ($chemin, strlen($chemin)-1, 1) != '/') $chemin .= '/'; 381 if($handler=file_exists($chemin.$fichier)){ 382 $fichier_ouvert[] = $fichier; 383 } 384 } 385 } 386 387 //On parcourt à nouveau la liste des fichiers nécessaire 388 //et on fait la différence avec ceux qui sont stockés dans $fichier_vouert 389 foreach($liste_fichier_pear as $fichier){ 390 if(!in_array($fichier, $fichier_ouvert)) 391 $liste_fichier_manquant[] = $fichier; 392 } 393 394 // On vérifie la faisabilité en affichant la liste des fichiers manquant tout en stoppant la procédure d'installation 395 if($liste_fichier_manquant!=""){ 396 install_debut_html(); 397 echo "<p>"._T('liste_fichier')."</p>"; 398 echo "<ul>"; 399 foreach ($liste_fichier_manquant as $value) { 400 echo ("<li><a href='http://pear.php.net/package/PEAR'> $value </a></li>"); 401 } 402 echo "</ul>"; 403 echo "<p>"._T('conseil_installation')."</p>"; 404 $etape2 = false; 405 install_fin_html(); 406 407 } 408 else{ 409 // Test de la version de NestedSet 410 require_once("DB/NestedSet.php"); 411 $obj = new DB_NestedSet(''); 412 if (method_exists($obj, 'apiVersion')) { // verification de l'existance de cette methode 413 $api = $obj->apiVersion(); 414 $version = str_replace('.', '', $api['version']); 415 if ($version < 13) { // au moins version 1.3 pour NestedSet 416 install_debut_html(); 417 $etape2 = false; 418 echo '<p>'._T('maj_nestedset').'</p'; 419 install_fin_html(); 420 } 421 422 //On continue l'installation, la variable étape 2 reste à true... 423 if ($etape2) { 424 install_debut_html(); 425 echo "<p>"._T('configuration_ok')."</p>"; 426 } 427 } else { // très vielle version de Nestedset 428 install_debut_html(); 429 $etape2 = false; 430 echo '<p>'._T('maj_nestedset').'</p'; 431 install_fin_html(); 432 } 433 } 434 435 if ($etape2 == true) { 436 // Formulaire pour la connexion BDD 437 echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>"._T('info_connexion_base')."</FONT>"; 438 echo "<P>"._T('texte_connexion_base'); 439 echo aide("install1"); 440 441 $type_bd = 'mysql'; 442 $adresse_db = 'localhost'; 443 $nom_instance_db = ''; 444 $login_db = $login_hebergeur; 445 $pass_db = ''; 446 $prefix_table = 'ago'; 447 $prefix_cookie = 'ago'; 448 449 //$bd_types = array('mysql' => 'MySQL', 'mssql' => 'SQL Server', 'oci8' => 'Oracle 8i', 'pgsql' => 'PostgreSQL'); 450 $bd_types = array('mysql' => 'MySQL', 'pgsql' => 'PostgreSQL', 'sqlite' => 'SQLite', 451 'mssql' => 'SQL Server'); 452 echo "<p><FORM ACTION='install.php' METHOD='post'>"; 453 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='2'>"; 454 echo '<P>'._T('install_type_base'); 455 echo '<br><select name="type_bd">'; 456 457 while (list($bd_type_index, $bd_type_text) = each($bd_types)) { 458 if ($type_bd == $bd_type_index) 459 $add_select = ' selected'; 460 else 461 $add_select = ''; 462 echo '<option value="'.$bd_type_index.'"'.$add_select.'>'.$bd_type_text; 463 } 464 465 echo '</select>'; 466 echo "<P><fieldset><label><B>"._T('nom_base_donnee_1')."</B><BR></label>"; 467 echo _T('nom_base_donnee_2')."<BR>"; 468 echo "<INPUT TYPE='text' NAME='nom_instance_db' CLASS='formo' VALUE=\"$nom_instance_db\" 469 SIZE='40'></fieldset><P>"; 470 echo "<fieldset><label><B>"._T('entree_base_donnee_1')."</B><BR></label>"; 471 echo _T('entree_base_donnee_2')."<BR>"; 472 echo "<INPUT TYPE='text' NAME='adresse_db' CLASS='formo' VALUE=\"$adresse_db\" SIZE='40'> 473 </fieldset><P>"; 474 echo "<fieldset><label><B>"._T('entree_login_connexion_1')."</B><BR></label>"; 475 echo _T('entree_login_connexion_2')."<BR>"; 476 echo "<INPUT TYPE='text' NAME='login_db' CLASS='formo' VALUE=\"$login_db\" SIZE='40'></fieldset><P>"; 477 echo "<fieldset><label><B>"._T('entree_mot_passe_1')."</B><BR></label>"; 478 echo _T('entree_mot_passe_2')."<BR>"; 479 echo "<INPUT TYPE='password' NAME='pass_db' CLASS='formo' VALUE=\"$pass_db\" SIZE='40'></fieldset><P>"; 480 echo "<fieldset><label><B>"._T('install_choix_prefix_table')."</B><BR></label>"; 481 echo "<B>"._T('avertissement_avancee_prefix')."</B><BR>"; 482 echo _T('entree_prefix_table')."<BR>"; 483 echo "<INPUT TYPE='text' NAME='prefix_table' CLASS='formo' ". 484 "VALUE=\"$prefix_table\" SIZE='40'></fieldset><P>"; 485 echo "<fieldset><label><B>"._T('install_choix_prefix_cookie')."</B><BR></label>"; 486 echo "<B>"._T('avertissement_avancee_prefix')."</B><BR>"; 487 echo _T('entree_prefix_cookie')."<BR>"; 488 echo "<INPUT TYPE='text' NAME='prefix_cookie' CLASS='formo' ". 489 "VALUE=\"$prefix_cookie\" SIZE='40'></fieldset><P>"; 490 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' " 491 ."VALUE='"._T('bouton_suivant')." >>'>"; 492 echo "</FORM>"; 493 494 install_fin_html(); 495 } 496 } 497 else if ($etape == 'dirs') { 498 header("Location: ../spip_test_dirs.php"); 499 } 500 else if (!$etape) { 501 // Accueil de l'install Agora 502 $menu_langues = menu_langues(); 503 if (!$menu_langues) 504 header("Location: ../spip_test_dirs.php"); 505 else { 506 install_debut_html(); 507 508 echo "<p> </p><p align='center'><img src='img_pack/agora_install.gif'></p>"; 509 echo "<p> </p><p>"._T('install_select_langue'); 510 echo "<p><div align='center'>".$menu_langues."</div>"; 511 echo "<p><FORM ACTION='install.php' METHOD='get'>"; 512 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='dirs'>"; 513 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' ". 514 "VALUE='"._T('bouton_suivant')." >>'>"; 515 echo "</FORM>"; 516 517 install_fin_html(); 518 } 519 } 520 521 522 // Etapes de l'installation LDAP, cinq parties 523 else if ($etape == 'ldap5') { 524 // Config LDAP Cinquieme etape 525 install_debut_html(); 526 527 include_ecrire ('inc_meta.php'); 528 ecrire_meta("ldap_statut_import", $statut_ldap); 529 ecrire_metas(); 530 531 echo "<B>"._T('info_ldap_ok')."</B>"; 532 echo "<P>"._T('info_terminer_installation'); 533 echo "<FORM ACTION='install.php' METHOD='post'>"; 534 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='4'>"; 535 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' ". 536 "VALUE='"._T('bouton_suivant')." >>'>"; 537 echo "</FORM>"; 538 } 539 else if ($etape == 'ldap4') { 540 // Config LDAP quatrieme etape 541 install_debut_html(); 542 543 if (!$base_ldap) 544 $base_ldap = $base_ldap_text; 545 546 $ldap_link = @ldap_connect("$adresse_ldap", "$port_ldap"); 547 @ldap_bind($ldap_link, "$login_ldap", "$pass_ldap"); 548 549 // Essayer de verifier le chemin fourni 550 $r = @ldap_compare($ldap_link, $base_ldap, "objectClass", ""); 551 $fail = (ldap_errno($ldap_link) == 32); 552 553 if ($fail) { 554 echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>". 555 _T('info_chemin_acces_annuaire'). "</B></FONT>"; 556 echo "<P>"; 557 558 echo "<B>"._T('avis_operation_echec')."</B> "._T('avis_chemin_invalide_1')." (<tt>". 559 htmlspecialchars($base_ldap); 560 echo "</tt>) "._T('avis_chemin_invalide_2'); 561 } 562 else { 563 echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>"._T('info_reglage_ldap')."</FONT>"; 564 echo "<P>"; 565 566 $conn = join('', file(dirname(__FILE__).'/include/bd/inc_config_metier_install.php')); 567 568 if ($p = strpos($conn, '?'.'>')) 569 $conn = substr($conn, 0, $p); 570 571 $conn .= "\$bd_params_ldap = new BD_parameters('ldap3', '$login_ldap', 572 '$pass_ldap', '$adresse_ldap', '$base_ldap');\n"; 573 $conn .= "//Set here if you want to get authorization on a LDAP server\n"; 574 $conn .= "\$GLOBALS['ldap_present'] = true;\n"; 575 $conn .= "//Set here which attribute is use for the ldap authorization 'uid', 'login', 576 'userid', 'cn', 'sn',... \n"; 577 $conn .= "\$GLOBALS['ldap_login_attribute'] = 'cn';\n"; 578 $conn .= "?".">"; 579 $myFile = fopen(dirname(__FILE__).'/include/bd/inc_config_metier_install.php', "wb"); 580 fputs($myFile, $conn); 581 fclose($myFile); 582 583 echo "<p><FORM ACTION='install.php' METHOD='post'>"; 584 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='ldap5'>"; 585 echo "<fieldset><label><B>"._T('info_statut_utilisateurs_1')."</B></label><BR>"; 586 echo _T('info_statut_utilisateurs_2')." "; 587 echo "<p>"; 588 echo "<INPUT TYPE='Radio' NAME='statut_ldap' VALUE=\"forum\" id='visit'>"; 589 echo "<label for='visit'><b>"._T('info_visiteur_1')."</b></label> "._T('info_visiteur_2')."<br>"; 590 echo "<INPUT TYPE='Radio' NAME='statut_ldap' VALUE=\"comite\" id='redac' CHECKED>"; 591 echo "<label for='redac'><b>"._T('info_redacteur_1')."</b></label> "._T('info_redacteur_2')."<br>"; 592 echo "<INPUT TYPE='Radio' NAME='statut_ldap' VALUE=\"minirezo\" id='admin'>"; 593 echo "<label for='admin'><b>"._T('info_administrateur_1')."</b></label> ". 594 _T('info_administrateur_2'). "<br>"; 595 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='". 596 _T('bouton_suivant')." >>'>"; 597 echo "</FORM>"; 598 } 599 600 install_fin_html(); 601 } 602 else if ($etape == 'ldap3') { 603 // Config LDAP troisieme etape 604 install_debut_html(); 605 606 echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>"._T('info_chemin_acces_1')."</FONT>"; 607 echo "<P>"._T('info_chemin_acces_2'); 608 609 $ldap_link = @ldap_connect("$adresse_ldap", "$port_ldap"); 610 @ldap_bind($ldap_link, "$login_ldap", "$pass_ldap"); 611 612 $result = @ldap_read($ldap_link, "", "objectclass=*", array("namingContexts")); 613 $info = @ldap_get_entries($ldap_link, $result); 614 615 echo "<FORM ACTION='install.php' METHOD='post'>"; 616 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='ldap4'>"; 617 echo "<INPUT TYPE='hidden' NAME='adresse_ldap' VALUE=\"$adresse_ldap\">"; 618 echo "<INPUT TYPE='hidden' NAME='port_ldap' VALUE=\"$port_ldap\">"; 619 echo "<INPUT TYPE='hidden' NAME='login_ldap' VALUE=\"$login_ldap\">"; 620 echo "<INPUT TYPE='hidden' NAME='pass_ldap' VALUE=\"$pass_ldap\">"; 621 echo "<fieldset>"; 622 623 $checked = false; 624 625 if (is_array($info) && $info["count"] > 0) { 626 echo "<P>"._T('info_selection_chemin_acces'); 627 echo "<UL>"; 628 $n = 0; 629 630 for ($i = 0; $i < $info["count"]; $i++) { 631 $names = $info[$i]["namingcontexts"]; 632 if (is_array($names)) { 633 for ($j = 0; $j < $names["count"]; $j++) { 634 $n++; 635 echo "<INPUT NAME=\"base_ldap\" VALUE=\"" . 636 htmlspecialchars($names[$j])."\" TYPE='Radio' id='tab$n'"; 637 638 if (!$checked) { 639 echo " CHECKED"; 640 $checked = true; 641 } 642 echo ">"; 643 echo "<label for='tab$n'>".htmlspecialchars($names[$j])."</label><BR>\n"; 644 } 645 } 646 } 647 echo "</UL>"; 648 echo _T('info_ou')." "; 649 } 650 651 echo "<INPUT NAME=\"base_ldap\" VALUE=\"\" TYPE='Radio' id='manuel'"; 652 653 if (!$checked) { 654 echo " CHECKED"; 655 $checked = true; 656 } 657 658 echo ">"; 659 echo "<label for='manuel'>"._T('entree_chemin_acces')."</label> "; 660 echo "<INPUT TYPE='text' NAME='base_ldap_text' CLASS='formo' ". 661 "VALUE=\"ou=users, dc=mon-domaine, dc=com\" SIZE='40'></fieldset><P>"; 662 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' ". 663 "VALUE='"._T('bouton_suivant')." >>'>"; 664 echo "</FORM>"; 665 666 install_fin_html(); 667 668 } 669 else if ($etape == 'ldap2') { 670 // Config LDAP deuxieme etape 671 install_debut_html(); 672 673 echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>"._T('titre_connexion_ldap')."</FONT>"; 674 echo "<P>"; 675 676 $ldap_link = @ldap_connect("$adresse_ldap", "$port_ldap"); 677 $r = @ldap_bind($ldap_link, "$login_ldap", "$pass_ldap"); 678 679 if ($ldap_link && ($r || !$login_ldap)) { 680 echo "<B>" . _T('info_connexion_ldap_ok'); 681 echo "<FORM ACTION='install.php' METHOD='post'>"; 682 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='ldap3'>"; 683 echo "<INPUT TYPE='hidden' NAME='adresse_ldap' VALUE=\"$adresse_ldap\">"; 684 echo "<INPUT TYPE='hidden' NAME='port_ldap' VALUE=\"$port_ldap\">"; 685 echo "<INPUT TYPE='hidden' NAME='login_ldap' VALUE=\"$login_ldap\">"; 686 echo "<INPUT TYPE='hidden' NAME='pass_ldap' VALUE=\"$pass_ldap\">"; 687 688 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' ". 689 "VALUE='"._T('bouton_suivant')." >>'>"; 690 echo "</FORM>"; 691 } 692 else { 693 echo "<B>"._T('avis_connexion_ldap_echec_1')."</B>"; 694 echo "<P>"._T('avis_connexion_ldap_echec_2'); 695 echo "<br>"._T('avis_connexion_ldap_echec_3'); 696 } 697 698 install_fin_html(); 699 } 700 else if ($etape == 'ldap1') { 701 // Config LDAP premiere etape 702 install_debut_html(); 703 704 echo "<BR><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=3>"._T('titre_connexion_ldap')."</FONT>"; 705 echo "<P>"._T('entree_informations_connexion_ldap'); 706 707 $adresse_ldap = 'localhost'; 708 $port_ldap = 389; 709 710 echo "<p><FORM ACTION='install.php' METHOD='post'>"; 711 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='ldap2'>"; 712 echo "<fieldset><label><B>"._T('entree_adresse_annuaire')."</B><BR></label>"; 713 echo _T('texte_adresse_annuaire_1')."<BR>"; 714 echo "<INPUT TYPE='text' NAME='adresse_ldap' CLASS='formo' VALUE=\"$adresse_ldap\" SIZE='20'><P>"; 715 716 echo "<label><B>"._T('entree_port_annuaire')."</B><BR></label>"; 717 echo _T('texte_port_annuaire')."<BR>"; 718 echo "<INPUT TYPE='text' NAME='port_ldap' CLASS='formo' VALUE=\"$port_ldap\" SIZE='20'><P></fieldset>"; 719 720 echo "<p><fieldset>"; 721 echo _T('texte_acces_ldap_anonyme_1')." "; 722 echo "<label><B>"._T('entree_login_ldap')."</B><BR></label>"; 723 echo _T('texte_login_ldap_1')."<br>"; 724 echo "<INPUT TYPE='text' NAME='login_ldap' CLASS='formo' VALUE=\"\" SIZE='40'><P>"; 725 726 echo "<label><B>"._T('entree_passe_ldap')."</B><BR></label>"; 727 echo "<INPUT TYPE='password' NAME='pass_ldap' CLASS='formo' VALUE=\"\" SIZE='40'></fieldset>"; 728 729 echo "<p><DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' ". 730 "VALUE='"._T('bouton_suivant')." >>'>"; 731 echo "</FORM>"; 732 733 install_fin_html(); 734 } 735 else if ($etape == 'migration1') { 736 // Cas d'une migration de BDD, premiere etape 737 install_debut_html(); 738 739 require_once("DB.php"); 740 require_once(dirname(__FILE__).'/include/bd/parameters.php'); 741 742 // Cette classe permet d'executer des requetes SQL depuis des fichiers 743 // SQL convenablement formattes 744 require_once(dirname(__FILE__).'/install/SQLScript/spipagora.php'); 745 746 $bd_params = new BD_parameters($type_bd, $login_db, $pass_db, $adresse_db, $nom_instance_db); 747 $db = &DB::connect($bd_params->getDSN(), null); 748 749 $sqlScript = new SQLScript_spipagora(dirname(__FILE__). "/install/sql/$type_bd/migration/agora_install.sql", 750 BLOCKMODE); 751 $result_ok = $sqlScript->executeScript($db); 752 753 if (!$result_ok) { 754 echo "<B>"._T('avis_operation_echec')."</B> "._T('texte_operation_echec'); 755 exit; 756 } 757 758 $sqlScript->setSqlFile(dirname(__FILE__)."/install/sql/$type_bd/migration/agora_data_install.sql"); 759 $sqlScript->setFileType(LINEMODE); 760 $result_ok = $sqlScript->executeScript($db); 761 762 // MAJ des sequence PEAR 763 $query = "SELECT MAX(id_article) AS max FROM ".$GLOBALS['table_prefix']."_articles"; 764 $max = $db->getOne($query); 765 766 if ($max != null) { 767 $db->createSequence('spip_articles', true); 768 $query = "UPDATE ".$GLOBALS['table_prefix']."_articles_seq SET id=$max"; 769 $result = $db->query($query); 770 if (DB::isError($result)) { 771 echo '<font color=red>'.$query.'<br>'.$result->getMessage().'</font><br><br>'; 772 } 773 } 774 775 $query = "SELECT MAX(id_auteur) AS max FROM ".$GLOBALS['table_prefix']."_auteurs"; 776 $max = $db->getOne($query); 777 778 if ($max != null) { 779 $db->createSequence('spip_auteurs', true); 780 $query = "UPDATE ".$GLOBALS['table_prefix']."_auteurs_seq SET id=$max"; 781 $result = $db->query($query); 782 if (DB::isError($result)) { 783 echo '<font color=red>'.$query.'<br>'.$result->getMessage().'</font><br><br>'; 784 } 785 } 786 787 $query = "SELECT MAX(id_breve) AS max FROM ".$GLOBALS['table_prefix']."_breves"; 788 $max = $db->getOne($query); 789 790 if ($max != null) { 791 $db->createSequence('spip_breves', true); 792 $query = "UPDATE ".$GLOBALS['table_prefix']."_breves_seq SET id=$max"; 793 $result = $db->query($query); 794 if (DB::isError($result)) { 795 echo '<font color=red>'.$query .'<br>'.$result->getMessage().'</font><br><br>'; 796 } 797 } 798 799 $query = "SELECT MAX(id_document) AS max FROM ".$GLOBALS['table_prefix']."_documents"; 800 $max = $db->getOne($query); 801 802 if ($max != null) { 803 $db->createSequence('spip_documents', true); 804 $query = "UPDATE ".$GLOBALS['table_prefix']."_documents_seq SET id=$max"; 805 $result = $db->query($query); 806 if (DB::isError($result)) { 807 echo '<font color=red>'.$query.'<br>'.$result->getMessage().'</font><br><br>'; 808 } 809 } 810 811 $query = "SELECT MAX(id_forum) AS max FROM ".$GLOBALS['table_prefix']."_forum"; 812 $max = $db->getOne($query); 813 814 if ($max != null) { 815 $db->createSequence('spip_forum', true); 816 $query = "UPDATE ".$GLOBALS['table_prefix']."_forum_seq SET id=$max"; 817 $result = $db->query($query); 818 if (DB::isError($result)) { 819 echo '<font color=red>'.$query.'<br>'.$result->getMessage().'</font><br><br>'; 820 } 821 } 822 823 $query = "SELECT MAX(id_groupe) AS max FROM ".$GLOBALS['table_prefix']."_groupes_mots"; 824 $max = $db->getOne($query); 825 826 if ($max != null) { 827 $db->createSequence('spip_groupes_mots', true); 828 $query = "UPDATE ".$GLOBALS['table_prefix']."_groupes_mots_seq SET id=$max"; 829 $result = $db->query($query); 830 if (DB::isError($result)) { 831 echo '<font color=red>'.$query.'<br>'.$result->getMessage().'</font><br><br>'; 832 } 833 } 834 835 $query = "SELECT MAX(id_message) AS max FROM ".$GLOBALS['table_prefix']."_messages"; 836 $max = $db->getOne($query); 837 838 if ($max != null) { 839 $db->createSequence('spip_messages', true); 840 $query = "UPDATE ".$GLOBALS['table_prefix']."_messages_seq SET id=$max"; 841 $result = $db->query($query); 842 if (DB::isError($result)) { 843 echo '<font color=red>'.$query.'<br>'.$result->getMessage().'</font><br><br>'; 844 } 845 } 846 847 $query = "SELECT MAX(id_mot) AS max FROM ".$GLOBALS['table_prefix']."_mots"; 848 $max = $db->getOne($query); 849 850 if ($max != null) { 851 $db->createSequence('tb_nodes_id_mot', true); 852 $query = "UPDATE tb_nodes_id_mot_seq SET id=$max"; 853 $result = $db->query($query); 854 if (DB::isError($result)) { 855 echo '<font color=red>'.$query.'<br>'.$result->getMessage().'</font><br><br>'; 856 } 857 } 858 859 $query = "SELECT MAX(id_article) AS max FROM ".$GLOBALS['table_prefix']."_petitions"; 860 $max = $db->getOne($query); 861 862 if ($max != null) { 863 $string_prefix = $GLOBALS['table_prefix']."_petitions"; 864 $db->createSequence($string_prefix, true); 865 $query = "UPDATE ".$GLOBALS['table_prefix']."_petitions_seq SET id=$max"; 866 $result = $db->query($query); 867 if (DB::isError($result)) { 868 echo '<font color=red>'.$query.'<br>'.$result->getMessage().'</font><br><br>'; 869 } 870 } 871 872 $query = "SELECT MAX(id_rubrique) AS max FROM ".$GLOBALS['table_prefix']."_rubriques"; 873 $max = $db->getOne($query); 874 875 if ($max != null) { 876 $db->createSequence('spip_rubriques', true); 877 $query = "UPDATE ".$GLOBALS['table_prefix']."_rubriques_seq SET id=$max"; 878 $result = $db->query($query); 879 if (DB::isError($result)) { 880 echo '<font color=red>'.$query.'<br>'.$result->getMessage().'</font><br><br>'; 881 } 882 } 883 884 $query = "SELECT MAX(id_syndic) AS max FROM ".$GLOBALS['table_prefix']."_syndic"; 885 $max = $db->getOne($query); 886 887 if ($max != null) { 888 $db->createSequence('spip_syndic', true); 889 $query = "UPDATE ".$GLOBALS['table_prefix']."_syndic_seq SET id=$max"; 890 $result = $db->query($query); 891 if (DB::isError($result)) { 892 echo '<font color=red>'.$query.'<br>'.$result->getMessage().'</font><br><br>'; 893 } 894 } 895 896 $query = "SELECT MAX(id_syndic_article) AS max FROM ".$GLOBALS['table_prefix']."_syndic_articles"; 897 $max = $db->getOne($query); 898 899 if ($max != null) { 900 $db->createSequence('spip_syndic_articles', true); 901 $query = "UPDATE ".$GLOBALS['table_prefix']."_syndic_articles_seq SET id=$max"; 902 $result = $db->query($query); 903 if (DB::isError($result)) { 904 echo '<font color=red>'.$query.'<br>'.$result->getMessage().'</font><br><br>'; 905 } 906 } 907 908 $query = "SELECT MAX(id_type) AS max FROM ".$GLOBALS['table_prefix']."_types_documents"; 909 $max = $db->getOne($query); 910 911 if ($max != null) { 912 $db->createSequence('spip_types_documents', true); 913 $query = "UPDATE ".$GLOBALS['table_prefix']."_types_documents_seq SET id=$max"; 914 $result = $db->query($query); 915 if (DB::isError($result)) { 916 echo '<font color=red>'.$query.'<br>'.$result->getMessage().'</font><br><br>'; 917 } 918 } 919 920 $query = "SELECT MAX(id_signature) AS max FROM ".$GLOBALS['table_prefix']."_signatures"; 921 $max = $db->getOne($query); 922 923 if ($max != null) { 924 $db->createSequence('spip_signatures', true); 925 $query = "UPDATE ".$GLOBALS['table_prefix']."_signatures_seq SET id=$max"; 926 $result = $db->query($query); 927 if (DB::isError($result)) { 928 echo '<font color=red>'.$query .'<br>'.$result->getMessage().'</font><br><br>'; 929 } 930 } 931 932 // Cree le fichier de connexion bdd (migration) 933 if ($result_ok) { 934 $conn = "<"."?php\n"; 935 $conn .= "require_once(dirname(__FILE__).\"/parameters.php\");\n"; 936 $conn .= "global \$bd_params;\nglobal \$bd_params_ldap;\nglobal \$bd_options;\n"; 937 $conn .= "\$dbType = '$type_bd';\n"; 938 $conn .= "\$dbLogin = '$login_db';\n"; 939 $conn .= "\$dbPassword = '$pass_db';\n"; 940 $conn .= "\$dbHost = '$adresse_db';\n"; 941 $conn .= "\$dbName = '$nom_instance_db';\n"; 942 $conn .= "\$bd_options = array();\n\$bd_options = array();\n\$bd_options['optimize'] = 'portability';\n"; 943 $conn .= "\$bd_options['persistent'] = 'false';\n//\$bd_options['autofree'] = true;\n"; 944 $conn .= "\$bd_params = new BD_parameters(\$dbType, \$dbLogin, \$dbPassword, \$dbHost, \$dbName);\n"; 945 $conn .= "\$GLOBALS['db_ok'] = 1;\n"; 946 $conn .= "?".">"; 947 948 $myFile = fopen(dirname(__FILE__)."/include/bd/inc_config_metier_install.php", "wb"); 949 fputs($myFile, $conn); 950 fclose($myFile); 951 952 echo "<B>"._T('info_base_migree')."</B><P>"._T('info_etape_suivante_1'); 953 954 echo "<FORM ACTION='install.php' METHOD='post'>"; 955 echo "<INPUT TYPE='hidden' NAME='etape' VALUE='migration2'>"; 956 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='". 957 _T('bouton_suivant')." >>'>"; 958 echo "</FORM>"; 959 } 960 else { 961 echo "<B>"._T('avis_operation_echec')."</B> "._T('texte_operation_echec'); 962 } 963 install_fin_html(); 964 } 965 else if ($etape == 'migration2') { 966 // Cas d'une migration BDD, deuxieme etape 967 // finalise le fichier de connexion inc_config_metier.php 968 install_debut_html(); 969 include_ecrire ("inc_meta.php"); 970 @unlink("data/inc_meta_cache.php"); 971 if (!@rename(dirname(__FILE__)."/include/bd/inc_config_metier_install.php", dirname(__FILE__). 972 "/include/bd/inc_config_metier.php")) { 973 copy(dirname(__FILE__)."/include/bd/inc_config_metier_install.php", dirname(__FILE__) 974 ."/include/bd/inc_config_metier.php"); 975 @unlink(dirname(__FILE__)."/include/bd/inc_config_metier_install.php"); 976 } 977 978 echo "<FORM ACTION='index.php' METHOD='post'>"; 979 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' ". 980 "VALUE='"._T('bouton_suivant')." >>'>"; 981 echo "</FORM></DIV>"; 982 echo "<BR><font face='Verdana,Arial,Sans,sans-serif' size='4' color='#970038'><B>". 983 _T('info_install_data_supplementaires')."</b></font>"; 984 echo "<P>"._T('detail_install_data_supplementaires'); 985 echo "<FORM ACTION='install_data.php' METHOD='post'>"; 986 echo "<DIV align='$spip_lang_right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' ". 987 "VALUE='"._T('bouton_installer_data')." >>'>"; 988 echo "</FORM>"; 989 990 ecrire_metas(); 991 992 $adresse_site = "http://$HTTP_HOST".substr($REQUEST_URI, 0, strpos($REQUEST_URI, "/ecrire")); 993 ecrire_meta("adresse_site", $adresse_site); 994 995 install_fin_html(); 996 } 997 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Feb 24 14:40:03 2007 | par Balluche grâce à PHPXref 0.7 |