[SPIP] +2.1.12
[velocampus/web/www.git] / www / ecrire / install / etape_sup2.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2011 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 include_spip('inc/headers');
16 include_spip('base/abstract_sql');
17
18 // http://doc.spip.org/@install_bases_sup
19 function install_bases_sup($adresse_db, $login_db, $pass_db, $server_db, $sup_db){
20
21 if (!($GLOBALS['connexions'][$server_db] = spip_connect_db($adresse_db, 0, $login_db, $pass_db, '', $server_db)))
22
23 return "<!-- connection perdue -->";
24
25 $GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
26 = $GLOBALS['spip_' . $server_db .'_functions_' . $GLOBALS['spip_sql_version']];
27
28 if (!sql_selectdb($sup_db, $server_db))
29 return "<!-- base inaccessible -->";
30
31 $tables = sql_alltable('%', $server_db);
32
33 if (!$tables)
34 $res = _T('install_pas_table');
35 else {
36 $res = _T('install_tables_base')
37 . "<ol style='text-align: left'>\n<li>"
38 . join("</li>\n<li>", $tables)
39 . "</li>\n</ol>\n";
40 }
41
42 if (preg_match(',(.*):(.*),', $adresse_db, $r))
43 list(,$adresse_db, $port) = $r;
44 else
45 $port = '';
46
47 $adresse_db = addcslashes($adresse_db,"'\\");
48 $port = addcslashes($port,"'\\");
49 $login_db = addcslashes($login_db,"'\\");
50 $pass_db = addcslashes($pass_db,"'\\");
51 $sup_db = addcslashes($sup_db,"'\\");
52 $server_db = addcslashes($server_db,"'\\");
53
54 $conn = install_mode_appel($server_db)
55 . "spip_connect_db("
56 . "'$adresse_db','$port','$login_db',"
57 . "'$pass_db','$sup_db'"
58 . ",'$server_db', '');\n";
59
60 install_fichier_connexion(_DIR_CONNECT . $sup_db . '.php', $conn);
61
62 return '<div style="background-color: #eeeeee">' . $res . '</div>';
63 }
64
65 // http://doc.spip.org/@install_etape_sup2_dist
66 function install_etape_sup2_dist()
67 {
68 $adresse_db = _request('adresse_db');
69 if (!$adresse_db AND defined('_INSTALL_HOST_DB'))
70 $adresse_db =_INSTALL_HOST_DB;
71
72 $login_db = _request('login_db');
73 if (!$login_db AND defined('_INSTALL_USER_DB'))
74 $login_db = _INSTALL_USER_DB;
75
76 $pass_db = _request('pass_db');
77 if (!$pass_db AND defined('_INSTALL_PASS_DB'))
78 $pass_db = _INSTALL_PASS_DB;
79
80 $server_db =_request('server_db');
81 if (!$server_db AND defined('_INSTALL_SERVER_DB'))
82 $server_db = _INSTALL_SERVER_DB;
83
84 // Ceci indique la base principale (passe en hidden)
85 // pour qu'on la refuse comme choix de base secondaire a chaque tour.
86
87 $sel_db =_request('sel_db');
88 if (!$sel_db AND defined('_INSTALL_NAME_DB'))
89 $sel_db = _INSTALL_NAME_DB;
90
91 // le choix
92 $choix_db = _request('choix_db');
93 if (is_numeric($choix_db))
94 $choix_db = _request('table_new');
95
96 if (!$choix_db)
97 $res = "<!-- il ne sait pas ce qu'il veut -->";
98 else {
99 $res = install_bases_sup($adresse_db, $login_db, $pass_db, $server_db, $choix_db);
100
101 if ($res[1]=='!')
102 $res .= "<p class='resultat'><b>"._T('avis_operation_echec')."</b></p>";
103
104 else {
105 $res = "<p class='resultat'><b>"
106 . _T('install_base_ok',
107 array('base' => $choix_db))
108 . "</b></p>"
109 . $res;
110 }
111 }
112
113 $res .= generer_form_ecrire('admin_declarer',
114 (defined('_INSTALL_NAME_DB') ? ''
115 : ("\n<input type='hidden' name='sel_db' value='"
116 . $sel_db
117 . "' />"))
118 . predef_ou_cache($adresse_db,$login_db,$pass_db, $server_db)
119 . bouton_suivant());
120
121 echo install_debut_html(_T('config_titre_base_sup'));
122 echo $res;
123 echo install_fin_html();
124 }
125
126 ?>