Subversion Repositories Applications.papyrus

Rev

Rev 1082 | Rev 1338 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1082 Rev 1337
Line 30... Line 30...
30
// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY                                |
30
// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY                                |
31
// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT                                  |
31
// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT                                  |
32
// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF                             |
32
// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF                             |
33
// | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                                    |
33
// | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                                    |
34
// +------------------------------------------------------------------------------------------------------+
34
// +------------------------------------------------------------------------------------------------------+
35
// CVS : $Id: instal_base_de_donnees.inc.php,v 1.29 2006-12-01 14:05:57 alexandre_tb Exp $
35
// CVS : $Id: instal_base_de_donnees.inc.php,v 1.30 2007-04-19 16:18:05 neiluj Exp $
36
/**
36
/**
37
* Page de création de la base de données de Papyrus.
37
* Page de création de la base de données de Papyrus.
38
*
38
*
39
* Page permettant de créer la base de données de Papyrus.
39
* Page permettant de créer la base de données de Papyrus.
40
*
40
*
Line 45... Line 45...
45
*@author        David DELON
45
*@author        David DELON
46
*@author        Patrick PAUL
46
*@author        Patrick PAUL
47
*@author        Eric FELDSTEIN
47
*@author        Eric FELDSTEIN
48
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
48
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
49
*@copyright     Tela-Botanica 2000-2004
49
*@copyright     Tela-Botanica 2000-2004
50
*@version       $Revision: 1.29 $ $Date: 2006-12-01 14:05:57 $
50
*@version       $Revision: 1.30 $ $Date: 2007-04-19 16:18:05 $
51
// +------------------------------------------------------------------------------------------------------+
51
// +------------------------------------------------------------------------------------------------------+
52
**/
52
**/
Line 53... Line 53...
53
 
53
 
54
// +------------------------------------------------------------------------------------------------------+
54
// +------------------------------------------------------------------------------------------------------+
Line 67... Line 67...
67
    } else {
67
    } else {
68
        $bdd[$cle] = '';
68
        $bdd[$cle] = '';
69
    }
69
    }
70
}
70
}
Line 71... Line 71...
71
 
71
 
72
// Récupération des paramêtres de configuration du formulaire précédent
72
// Récupération des paramètres de configuration du formulaire précédent
73
if (isset($_POST['pref'])) {
73
if (isset($_POST['pref'])) {
74
    $pref = $_POST['pref'];
74
    $pref = $_POST['pref'];
75
} else if (isset($_POST['pref_serial'])) {
75
} else if (isset($_POST['pref_serial'])) {
76
    $pref = unserialize(stripslashes($_POST['pref_serial']));
76
    $pref = unserialize(stripslashes($_POST['pref_serial']));
Line 89... Line 89...
89
if ($_GET['installation'] == 'verif_bdd') {
89
if ($_GET['installation'] == 'verif_bdd') {
90
    // Test de la configuration à la base de données
90
    // Test de la configuration à la base de données
91
    $sortie_test .= '    <br /><h2>Test de la configuration de la base de données</h2>'."\n";
91
    $sortie_test .= '    <br /><h2>Test de la configuration de la base de données</h2>'."\n";
92
    $dblink = @mysql_connect($bdd['PAP_BDD_SERVEUR'], $bdd['PAP_BDD_UTILISATEUR'], $bdd['PAP_BDD_MOT_DE_PASSE']);
92
    $dblink = @mysql_connect($bdd['PAP_BDD_SERVEUR'], $bdd['PAP_BDD_UTILISATEUR'], $bdd['PAP_BDD_MOT_DE_PASSE']);
93
    $erreur = testerConfig($sortie_test, 'Test connexion au serveur MySQL, recherche base de donn&eacute;es ...', @mysql_select_db($bdd['PAP_BDD_NOM'], $dblink), 
93
    $erreur = testerConfig($sortie_test, 'Test connexion au serveur MySQL, recherche base de donn&eacute;es ...', @mysql_select_db($bdd['PAP_BDD_NOM'], $dblink), 
94
                    '<br />La base de donn&eacute;es, le serveur MySQL, ou votre identifiant / mot de passe sont invalides, veuillez vérifer vos paramêtres.', 1, $erreur);
94
                    '<br />La base de donn&eacute;es, le serveur MySQL, ou votre identifiant / mot de passe sont invalides, veuillez Vérifier vos paramètres.', 1, $erreur);
95
    $sortie .= '<br />'."\n";
95
    $sortie .= '<br />'."\n";
96
    if ($erreur==0) {
96
    if ($erreur==0) {
97
	    // L'exécution du SQL peut commencer...
97
	    // L'exécution du SQL peut commencer...
98
	    if (!defined('PAP_VERSION')) {
98
	    if (!defined('PAP_VERSION')) {
99
		    $version_actuelle = 0.1;
99
		    $version_actuelle = 0.1;
Line 108... Line 108...
108
	    }
108
	    }
Line 109... Line 109...
109
	    
109
	    
Line 110... Line 110...
110
	    $sortie_test .= '<h2>Insertion des informations dans la base de données</h2>';
110
	    $sortie_test .= '<h2>Insertion des informations dans la base de données</h2>';
-
 
111
	    
-
 
112
	    for ( $version = $version_actuelle; $version <= $version_maj; $version = $version + 0.01) {
-
 
113
	    	
111
	    
114
	    	unset($sql_contenu);
112
	    for ( $version = $version_actuelle; $version <= $version_maj; $version = $version + 0.01) {
115
	    	
-
 
116
			//Insertion des requêtes présentes dans le fichier sql
113
		//Insertion des requêtes présentes dans le fichier sql
117
			$file_sql_contenu = INSTAL_CHEMIN_SQL.'papyrus_v'.$version.'.sql';
114
		$file_sql_contenu = INSTAL_CHEMIN_SQL.'papyrus_v'.$version.'.sql';
118
			
115
		if (file_exists($file_sql_contenu)) {
119
			if (file_exists($file_sql_contenu)) {
116
			$sortie_verif .= '<h2>Insertion des données du fichier sql version '.$version.'</h2>';
120
				$sortie_verif .= '<h2>Insertion des données du fichier sql version '.$version.'</h2>';
117
			$sql_contenu = PMA_readFile($file_sql_contenu);
-
 
118
		}
-
 
119
	
-
 
120
		
121
				$sql_contenu = PMA_readFile($file_sql_contenu);
121
		
122
			}
122
		
123
			
123
		$tab_requete_sql = array();
124
			$tab_requete_sql = array();
124
		PMA_splitSqlFile($tab_requete_sql, $sql_contenu, '');
125
			PMA_splitSqlFile($tab_requete_sql, $sql_contenu, '');
125
		foreach ($tab_requete_sql as $value) {
126
			foreach ($tab_requete_sql as $value) {
126
		    $table_nom = '';
127
			    $table_nom = '';
127
		    if (!empty($value['table_nom'])) {
128
			    if (!empty($value['table_nom'])) {
128
			$table_nom = $value['table_nom'];
129
				$table_nom = $value['table_nom'];
129
		    }
130
			    }
130
		    $requete_type = '';
131
			    $requete_type = '';
131
		    if (!empty($value['type'])) {
132
			    if (!empty($value['type'])) {
132
			$requete_type = $value['type'];
133
				$requete_type = $value['type'];
133
		    }
134
			    }
134
		    if ($requete_type == 'create') {
135
			    if ($requete_type == 'create') {
135
			$erreur = testerConfig( $sortie_verif, 'Création table '.$table_nom.'...', @mysql_query($value['query'], $dblink), 
136
				$erreur = testerConfig( $sortie_verif, 'Création table '.$table_nom.'...', @mysql_query($value['query'], $dblink), 
136
						'Déjà créée ?', 0, $erreur);
137
							'Déjà créée ?', 0, $erreur);
137
		    } else if ($requete_type == 'alter') {
138
			    } else if ($requete_type == 'alter') {
138
			$erreur = testerConfig( $sortie_verif, 'Modification structure table '.$table_nom.'...', @mysql_query($value['query'], $dblink), 
139
				$erreur = testerConfig( $sortie_verif, 'Modification structure table '.$table_nom.'...', @mysql_query($value['query'], $dblink), 
139
						'Déjà modifiée ?', 0, $erreur);
140
							'Déjà modifiée ?', 0, $erreur);
140
		    } else if ($requete_type == 'insert') {
141
			    } else if ($requete_type == 'insert') {
141
			$erreur = testerConfig( $sortie_verif, 'Insertion table '.$table_nom.'...', @mysql_query($value['query'], $dblink), 
142
				$erreur = testerConfig( $sortie_verif, 'Insertion table '.$table_nom.'...', @mysql_query($value['query'], $dblink), 
142
						'Données déjà présente ?', 0, $erreur);
143
							'Donn°es déjà présente ?', 0, $erreur);
143
		    }
-
 
Line 144... Line -...
144
		}
-
 
145
		
-
 
146
		
-
 
147
		// Chargement des hooks sql : fichier sql de configuration spécifiques à chaque application
-
 
148
 
-
 
149
		$d = dir(GEN_CHEMIN_CLIENT);
-
 
150
		
-
 
151
		$sql_contenu_hook = '';
-
 
152
	 	while (false !== ($repertoire = $d->read())) {
-
 
153
				$hook=GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.'documentation'.GEN_SEP.$repertoire.'_v'.$version.'.sql';
-
 
Line -... Line 144...
-
 
144
			    }
-
 
145
			}
-
 
146
		
-
 
147
		
-
 
148
			// Chargement des hooks sql : fichier sql de configuration spécifiques à chaque application
-
 
149
	
-
 
150
			$d = dir(GEN_CHEMIN_CLIENT);
-
 
151
			
-
 
152
			$sql_contenu_hook = '';
-
 
153
		 	while (false !== ($repertoire = $d->read())) {
-
 
154
					$hook=GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.'documentation'.GEN_SEP.$repertoire.'_v'.$version.'.sql';
154
				if (file_exists($hook)) {
155
					if (file_exists($hook)) {
155
				    $sortie_verif .= '<h2>Insertion des informations dans la base de données, fichier : '.$hook.'  </h2>';
156
					    $sortie_verif .= '<h2>Insertion des informations dans la base de données, fichier : '.$hook.'  </h2>';
156
					$sql_contenu_hook = PMA_readFile($hook);
157
						$sql_contenu_hook = PMA_readFile($hook);
157
		
158
	
158
					$tab_requete_sql = array();
159
						$tab_requete_sql = array();
159
					PMA_splitSqlFile($tab_requete_sql, $sql_contenu_hook, '');
160
						PMA_splitSqlFile($tab_requete_sql, $sql_contenu_hook, '');
160
					foreach ($tab_requete_sql as $value) {
161
						foreach ($tab_requete_sql as $value) {
161
					    $table_nom = '';
162
						    $table_nom = '';
162
					    if (!empty($value['table_nom'])) {
163
						    if (!empty($value['table_nom'])) {
163
						$table_nom = $value['table_nom'];
164
							$table_nom = $value['table_nom'];
164
					    }
165
						    }
165
					    $requete_type = '';
166
						    $requete_type = '';
166
					    if (!empty($value['type'])) {
167
						    if (!empty($value['type'])) {
167
						$requete_type = $value['type'];
168
							$requete_type = $value['type'];
168
					    }
169
						    }
169
					    if ($requete_type == 'create') {
170
						    if ($requete_type == 'create') {
170
						$erreur = testerConfig( $sortie_verif, 'Création table '.$table_nom.'...', @mysql_query($value['query'], $dblink), 
171
							$erreur = testerConfig( $sortie_verif, 'Création table '.$table_nom.'...', @mysql_query($value['query'], $dblink), 
171
									'Déjà créée ?', 0, $erreur);
172
										'Déjà créée ?', 0, $erreur);
172
					    } else if ($requete_type == 'alter') {
173
						    } else if ($requete_type == 'alter') {
173
						$erreur = testerConfig( $sortie_verif, 'Modification structure table '.$table_nom.'...', @mysql_query($value['query'], $dblink), 
174
							$erreur = testerConfig( $sortie_verif, 'Modification structure table '.$table_nom.'...', @mysql_query($value['query'], $dblink), 
174
									'Déjà modifiée ?', 0, $erreur);
175
										'Déjà modifiée ?', 0, $erreur);
-
 
176
						    } else if ($requete_type == 'insert') {
175
					    } else if ($requete_type == 'insert') {
177
							$erreur = testerConfig( $sortie_verif, 'Insertion table '.$table_nom.'...', @mysql_query($value['query'], $dblink), 
176
						$erreur = testerConfig( $sortie_verif, 'Insertion table '.$table_nom.'...', @mysql_query($value['query'], $dblink), 
178
										'Donn°es déjà présente ?', 0, $erreur);
177
									'Données déjà présente ?', 0, $erreur);
-
 
Line 178... Line 179...
178
					    }
179
						    }
Line 179... Line 180...
179
					}
180
						}
Line 180... Line 181...
180
				}
181
					}
181
	 	}
182
		 	}
182
						
183
						
183
	    }
184
	    }
184
	    
185
	    
185
    
186
    
186
		//Insertion des requêtes dépendant du formulaire d'installation
187
		//Insertion des requêtes dàpendant du formulaire d'installation
187
		
188
		
188
		$sortie_verif .= '<h2>Insertion des données dépendant du formulaire précédent</h2>';
189
		$sortie_verif .= '<h2>Insertion des données dàpendant du formulaire précédent</h2>';
189
		$requete_admin =    'INSERT INTO gen_annuaire VALUES (1, "'.$pref['ADMIN_I18N'].'", "'.$pref['ADMIN_NOM'].
190
		$requete_admin =    'INSERT INTO gen_annuaire VALUES (1, "'.$pref['ADMIN_I18N'].'", "'.$pref['ADMIN_NOM'].
190
				    '", "'.$pref['ADMIN_PRENOM'].'", "'.md5($pref['ADMIN_MDP_01']).'", "'.
191
				    '", "'.$pref['ADMIN_PRENOM'].'", "'.md5($pref['ADMIN_MDP_01']).'", "'.
191
				    $pref['ADMIN_MAIL'].'");';
192
				    $pref['ADMIN_MAIL'].'");';
192
		$erreur = testerConfig($sortie_verif, 'Insertion de l\'administrateur...', @mysql_query($requete_admin, $dblink), 
193
		$erreur = testerConfig($sortie_verif, 'Insertion de l\'administrateur...', @mysql_query($requete_admin, $dblink), 
193
					'Données déjà présente ?', 0, $erreur);
194
					'Donn°es déjà présente ?', 0, $erreur);
194
		$requete_auth = 'INSERT INTO gen_site_auth_bdd VALUES (1, "mysql://'.
195
		$requete_auth = 'INSERT INTO gen_site_auth_bdd VALUES (1, "mysql://'.
195
				    $bdd['PAP_BDD_UTILISATEUR'].':'.$bdd['PAP_BDD_MOT_DE_PASSE'].'@'.$bdd['PAP_BDD_SERVEUR'].'/'.$bdd['PAP_BDD_NOM'].'", "gen_annuaire", "ga_mail", '.
196
				    $bdd['PAP_BDD_UTILISATEUR'].':'.$bdd['PAP_BDD_MOT_DE_PASSE'].'@'.$bdd['PAP_BDD_SERVEUR'].'/'.$bdd['PAP_BDD_NOM'].'", "gen_annuaire", "ga_mail", '.
Line 196... Line 197...
196
				    '"ga_mot_de_passe", "md5","chp_personne_prenom=ga_prenom chp_personne_nom=ga_nom");';
197
				    '"ga_mot_de_passe", "md5","chp_personne_prenom=ga_prenom chp_personne_nom=ga_nom");';
197
		$erreur = testerConfig($sortie_verif, 'Insertion de l\'authentification...', @mysql_query($requete_auth, $dblink), 
198
		$erreur = testerConfig($sortie_verif, 'Insertion de l\'authentification...', @mysql_query($requete_auth, $dblink), 
Line 198... Line 199...
198
					'Données déjà présente ?', 0, $erreur);
199
					'Donn°es déjà présente ?', 0, $erreur);
Line 247... Line 248...
247
}
248
}
248
// +------------------------------------------------------------------------------------------------------+
249
// +------------------------------------------------------------------------------------------------------+
249
// |                                            LISTE DES FONCTIONS                                       |
250
// |                                            LISTE DES FONCTIONS                                       |
250
// +------------------------------------------------------------------------------------------------------+
251
// +------------------------------------------------------------------------------------------------------+
Line 251... Line 252...
251
 
252
 
252
// Création du formulaire de configuration de la base de donneés
253
// Création du formulaire de configuration de la base de données
253
function creerFormulaire($bdd, $bln_lecture = false) {
254
function creerFormulaire($bdd, $bln_lecture = false) {
254
    $disabled = '';
255
    $disabled = '';
255
    if ($bln_lecture) {
256
    if ($bln_lecture) {
256
        $disabled = ' disabled="disabled" ';
257
        $disabled = ' disabled="disabled" ';
Line 288... Line 289...
288
 
289
 
289
 
290
 
290
/* +--Fin du code ----------------------------------------------------------------------------------------+
291
/* +--Fin du code ----------------------------------------------------------------------------------------+
-
 
292
*
-
 
293
* $Log: not supported by cvs2svn $
-
 
294
* Revision 1.29  2006/12/01 14:05:57  alexandre_tb
291
*
295
* affichage des mesages d erreurs quand on se trompe dans les parametres mysql
292
* $Log: not supported by cvs2svn $
296
*
293
* Revision 1.28  2006/10/06 15:23:00  florian
297
* Revision 1.28  2006/10/06 15:23:00  florian
294
* amelioration graphique de l'installateur
298
* amelioration graphique de l'installateur
295
*
299
*