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_fichier.inc.php,v 1.27 2007-04-19 16:53:57 neiluj Exp $
|
35 |
// CVS : $Id: instal_fichier.inc.php,v 1.28 2007-04-20 09:05:46 alexandre_tb Exp $
|
36 |
/**
|
36 |
/**
|
37 |
* Page de création des fichiers nécessaire à l'installation de Papyrus.
|
37 |
* Page de creation des fichiers necessaire a l'installation de Papyrus.
|
38 |
*
|
38 |
*
|
39 |
* Page permettant de créer le fichier de configuration de Papyrus.
|
39 |
* Page permettant de creer le fichier de configuration de Papyrus.
|
40 |
*
|
40 |
*
|
41 |
*@package Installateur
|
41 |
*@package Installateur
|
42 |
//Auteur original :
|
42 |
//Auteur original :
|
43 |
*@author Hendrik MANS <hendrik@mans.de>
|
43 |
*@author Hendrik MANS <hendrik@mans.de>
|
44 |
//Autres auteurs :
|
44 |
//Autres auteurs :
|
45 |
*@author David DELON
|
45 |
*@author David DELON
|
46 |
*@author Patrick PAUL
|
46 |
*@author Patrick PAUL
|
47 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
47 |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
48 |
*@copyright Tela-Botanica 2000-2004
|
48 |
*@copyright Tela-Botanica 2000-2004
|
49 |
*@version $Revision: 1.27 $ $Date: 2007-04-19 16:53:57 $
|
49 |
*@version $Revision: 1.28 $ $Date: 2007-04-20 09:05:46 $
|
50 |
// +------------------------------------------------------------------------------------------------------+
|
50 |
// +------------------------------------------------------------------------------------------------------+
|
51 |
**/
|
51 |
**/
|
Line 52... |
Line 52... |
52 |
|
52 |
|
53 |
// +------------------------------------------------------------------------------------------------------+
|
53 |
// +------------------------------------------------------------------------------------------------------+
|
Line 87... |
Line 87... |
87 |
|
87 |
|
88 |
// +------------------------------------------------------------------------------------------------------+
|
88 |
// +------------------------------------------------------------------------------------------------------+
|
89 |
// | CORPS du PROGRAMME |
|
89 |
// | CORPS du PROGRAMME |
|
90 |
// +------------------------------------------------------------------------------------------------------+
|
90 |
// +------------------------------------------------------------------------------------------------------+
|
91 |
// Affichage d'informations...
|
91 |
// Affichage d'informations...
|
Line 92... |
Line 92... |
92 |
$sortie .= '<br /><h1>Etape n°'.$num_etape.' sur '.INSTAL_NBRE_ETAPE.'.</h1>'."\n";
|
92 |
$sortie .= '<br /><h1>Etape n°'.$num_etape.' sur '.INSTAL_NBRE_ETAPE.'.</h1>'."\n";
|
93 |
|
93 |
|
94 |
// Correction éventuelle des informations saisies par l'utilisateur
|
94 |
// Correction éventuelle des informations saisies par l'utilisateur
|
95 |
if (ereg('^[\/\\]', $fichier['PAP_FTP_RACINE']) == false) {
|
95 |
if (ereg('^[\/\\]', $fichier['PAP_FTP_RACINE']) == false) {
|
Line 103... |
Line 103... |
103 |
if ($_GET['installation'] == 'verif_fichier') {
|
103 |
if ($_GET['installation'] == 'verif_fichier') {
|
104 |
// Test de la configuration du FTP
|
104 |
// Test de la configuration du FTP
|
105 |
$sortie_verif .= ' <br /><h2>Test de la connexion FTP</h2>'."\n";
|
105 |
$sortie_verif .= ' <br /><h2>Test de la connexion FTP</h2>'."\n";
|
106 |
$erreur = testerConfig($sortie_verif, 'Test connexion FTP ...', $ftp = @ftp_connect($fichier['PAP_FTP_SERVEUR'], $fichier['PAP_FTP_PORT']), '', 1, $erreur);
|
106 |
$erreur = testerConfig($sortie_verif, 'Test connexion FTP ...', $ftp = @ftp_connect($fichier['PAP_FTP_SERVEUR'], $fichier['PAP_FTP_PORT']), '', 1, $erreur);
|
107 |
$erreur = testerConfig($sortie_verif, 'Test identification sur le serveur FTP ...', @ftp_login($ftp, $fichier['PAP_FTP_UTILISATEUR'],
|
107 |
$erreur = testerConfig($sortie_verif, 'Test identification sur le serveur FTP ...', @ftp_login($ftp, $fichier['PAP_FTP_UTILISATEUR'],
|
108 |
$fichier['PAP_FTP_MOT_DE_PASSE']), 'Les paramètres FTP saisies ne permettent pas l\'identification !', 1, $erreur);
|
108 |
$fichier['PAP_FTP_MOT_DE_PASSE']), 'Les paramêtres FTP saisies ne permettent pas l\'identification !', 1, $erreur);
|
109 |
$sortie_verif .= '<br />'."\n";
|
109 |
$sortie_verif .= '<br />'."\n";
|
Line 110... |
Line 110... |
110 |
|
110 |
|
111 |
$configCode = "<?php\n// pap_config.inc.php construit le ".strftime("%c")."\n// ne changez pas la version de Papyrus manuellement!\n\n";
|
111 |
$configCode = "<?php\n// pap_config.inc.php construit le ".strftime("%c")."\n// ne changez pas la version de Papyrus manuellement!\n\n";
|
112 |
$entries[] = 'define(\''.INSTAL_VERSION_NOUVELLE_NOM.'\',\''.INSTAL_VERSION_NOUVELLE.'\');'."\n";
|
112 |
$entries[] = 'define(\''.INSTAL_VERSION_NOUVELLE_NOM.'\',\''.INSTAL_VERSION_NOUVELLE.'\');'."\n";
|
Line 116... |
Line 116... |
116 |
$entries[] = "define('PAP_DSN', 'mysql://'.PAP_BDD_UTILISATEUR.':'.PAP_BDD_MOT_DE_PASSE.'@'.PAP_BDD_SERVEUR.'/'.PAP_BDD_NOM);"."\n";
|
116 |
$entries[] = "define('PAP_DSN', 'mysql://'.PAP_BDD_UTILISATEUR.':'.PAP_BDD_MOT_DE_PASSE.'@'.PAP_BDD_SERVEUR.'/'.PAP_BDD_NOM);"."\n";
|
117 |
foreach ($fichier as $cle => $val) {
|
117 |
foreach ($fichier as $cle => $val) {
|
118 |
$entries[] = 'define(\''.$cle.'\',\''.$val.'\');'."\n";
|
118 |
$entries[] = 'define(\''.$cle.'\',\''.$val.'\');'."\n";
|
119 |
}
|
119 |
}
|
120 |
foreach ($pref as $cle => $val) {
|
120 |
foreach ($pref as $cle => $val) {
|
121 |
// Nous récupérons uniquement les constantes à stocker dans le fichier de config (leur nom commence par PAP_)
|
121 |
// Nous recuperons uniquement les constantes a stocker dans le fichier de config (leur nom commence par PAP_)
|
122 |
if (preg_match('/^PAP_/', $cle)) {
|
122 |
if (preg_match('/^PAP_/', $cle)) {
|
123 |
if (preg_match('/^[0-9]+|(?i:true|false)$/', $val)) {
|
123 |
if (preg_match('/^[0-9]+|(?i:true|false)$/', $val)) {
|
124 |
$entries[] = 'define(\''.$cle.'\','.$val.');'."\n";
|
124 |
$entries[] = 'define(\''.$cle.'\','.$val.');'."\n";
|
125 |
} else {
|
125 |
} else {
|
126 |
$entries[] = 'define(\''.$cle.'\',\''.$val.'\');'."\n";
|
126 |
$entries[] = 'define(\''.$cle.'\',\''.$val.'\');'."\n";
|
127 |
}
|
127 |
}
|
128 |
}
|
128 |
}
|
129 |
}
|
129 |
}
|
130 |
$configCode .= implode("\n", $entries)."\n\n?>";
|
130 |
$configCode .= implode("\n", $entries)."\n\n?>";
|
131 |
if ($erreur==0) {
|
131 |
if ($erreur==0) {
|
132 |
// Tentative d'écriture du fichier de config
|
132 |
// Tentative d'ecriture du fichier de config
|
133 |
$sortie_verif .= ' <h2>Ecriture des fichiers sur le serveur par FTP</h2>'."\n";
|
133 |
$sortie_verif .= ' <h2>Ecriture des fichiers sur le serveur par FTP</h2>'."\n";
|
134 |
$chemin_fpt_absolu = $fichier['PAP_FTP_RACINE'].INSTAL_CHEMIN_CONFIG;
|
134 |
$chemin_fpt_absolu = $fichier['PAP_FTP_RACINE'].INSTAL_CHEMIN_CONFIG;
|
135 |
$url_ftp = 'ftp://'.$fichier['PAP_FTP_UTILISATEUR'].':'.$fichier['PAP_FTP_MOT_DE_PASSE'].
|
135 |
$url_ftp = 'ftp://'.$fichier['PAP_FTP_UTILISATEUR'].':'.$fichier['PAP_FTP_MOT_DE_PASSE'].
|
136 |
'@'.$fichier['PAP_FTP_SERVEUR'].$chemin_fpt_absolu;
|
136 |
'@'.$fichier['PAP_FTP_SERVEUR'].$chemin_fpt_absolu;
|
Line 137... |
Line 137... |
137 |
|
137 |
|
138 |
// Dans le cas, où nous mettons à jour Papyrus, il faut supprimer l'ancien fichier de config
|
138 |
// Dans le cas, ou nous mettons a jour Papyrus, il faut supprimer l'ancien fichier de config
|
139 |
if (INSTAL_VERSION_ANCIENNE != '') {
|
139 |
if (INSTAL_VERSION_ANCIENNE != '') {
|
140 |
$txt_suppression = 'Suppression de <tt>'.$chemin_fpt_absolu.'</tt>...';
|
140 |
$txt_suppression = 'Suppression de <tt>'.$chemin_fpt_absolu.'</tt>...';
|
141 |
$txt_suppression_erreur = '<p>Le fichier <tt>'.$chemin_fpt_absolu.'</tt> ne peut être supprimer automatiquement. '.
|
141 |
$txt_suppression_erreur = '<p>Le fichier <tt>'.$chemin_fpt_absolu.'</tt> ne peut être supprimer automatiquement. '.
|
142 |
'Veuillez utiliser un logiciel de transfert de fichier par FTP pour le supprimer.</p>';
|
142 |
'Veuillez utiliser un logiciel de transfert de fichier par FTP pour le supprimer.</p>';
|
Line 150... |
Line 150... |
150 |
fclose($temp);
|
150 |
fclose($temp);
|
151 |
$fichier_config_source = $tempfn;
|
151 |
$fichier_config_source = $tempfn;
|
152 |
$fichier_config_cible = substr($fichier['PAP_FTP_RACINE']."/papyrus/configuration/pap_config.inc.php", 1) ;
|
152 |
$fichier_config_cible = substr($fichier['PAP_FTP_RACINE']."/papyrus/configuration/pap_config.inc.php", 1) ;
|
Line 153... |
Line 153... |
153 |
|
153 |
|
154 |
|
- |
|
- |
|
154 |
|
155 |
// Nous écrivons le fichier de config sur le disque
|
155 |
// Nous ecrivons le fichier de config sur le disque
|
156 |
// $fp = @fopen($url_ftp, 'w');
|
156 |
|
157 |
$txt_ecriture_conf = 'Écriture sur le serveur de <tt>'.$chemin_fpt_absolu.'</tt>...';
|
157 |
$txt_ecriture_conf = 'Écriture sur le serveur de <tt>'.$chemin_fpt_absolu.'</tt>...';
|
158 |
$txt_ecriture_conf_erreur = '<span class="failed">AVERTISSEMENT:</span> Le fichier de configuration <tt>'.$chemin_fpt_absolu.
|
158 |
$txt_ecriture_conf_erreur = '<span class="failed">AVERTISSEMENT:</span> Le fichier de configuration <tt>'.$chemin_fpt_absolu.
|
159 |
'</tt> n\'a pu être créé. Veuillez vous assurez que votre serveur a les droits '.
|
159 |
'</tt> n\'a pu être créé. Veuillez vous assurez que votre serveur a les droits '.
|
Line 280... |
Line 280... |
280 |
$sortie .= '<li><input type="hidden" name="bdd_serial" value="'.htmlentities(serialize($bdd)).'" /></li>'."\n";
|
280 |
$sortie .= '<li><input type="hidden" name="bdd_serial" value="'.htmlentities(serialize($bdd)).'" /></li>'."\n";
|
281 |
$sortie .= '<li><input type="submit" value="Tester" /></li>'."\n";
|
281 |
$sortie .= '<li><input type="submit" value="Tester" /></li>'."\n";
|
282 |
$sortie .= ' </ul>'."\n";
|
282 |
$sortie .= ' </ul>'."\n";
|
283 |
$sortie .= ' </form>';
|
283 |
$sortie .= ' </form>';
|
284 |
} else if ($erreur == 2 && !empty($sortie_verif)) {
|
284 |
} else if ($erreur == 2 && !empty($sortie_verif)) {
|
285 |
// Vérification du fichier avec interuption...
|
285 |
// Verification du fichier avec interuption...
|
286 |
$sortie .= creerFormulaire($fichier);
|
286 |
$sortie .= creerFormulaire($fichier);
|
287 |
$sortie .= '<li><input type="hidden" name="pref_serial" value="'.htmlentities(serialize($pref)).'" /></li>'."\n";
|
287 |
$sortie .= '<li><input type="hidden" name="pref_serial" value="'.htmlentities(serialize($pref)).'" /></li>'."\n";
|
288 |
$sortie .= '<li><input type="hidden" name="bdd_serial" value="'.htmlentities(serialize($bdd)).'" /></li>'."\n";
|
288 |
$sortie .= '<li><input type="hidden" name="bdd_serial" value="'.htmlentities(serialize($bdd)).'" /></li>'."\n";
|
289 |
$sortie .= '<li><input type="submit" value="Tester à nouveau" /></li>'."\n";
|
289 |
$sortie .= '<li><input type="submit" value="Tester à nouveau" /></li>'."\n";
|
290 |
$sortie .= ' </ul>'."\n";
|
290 |
$sortie .= ' </ul>'."\n";
|
291 |
$sortie .= ' </form>';
|
291 |
$sortie .= ' </form>';
|
292 |
$sortie .= $sortie_verif;
|
292 |
$sortie .= $sortie_verif;
|
293 |
} else if (($erreur == 0 || $erreur == 1) && !empty($sortie_verif)) {
|
293 |
} else if (($erreur == 0 || $erreur == 1) && !empty($sortie_verif)) {
|
294 |
// Vérification du fichier sans interuption... passage à l'étape suivante
|
294 |
// Verification du fichier sans interuption... passage a l'etape suivante
|
295 |
$sortie .= creerFormulaire($fichier, true);
|
295 |
$sortie .= creerFormulaire($fichier, true);
|
296 |
$sortie .= ' </ul>'."\n";
|
296 |
$sortie .= ' </ul>'."\n";
|
297 |
$sortie .= ' </form>';
|
297 |
$sortie .= ' </form>';
|
298 |
$sortie .= $sortie_verif;
|
298 |
$sortie .= $sortie_verif;
|
299 |
// Ecriture du fichier...
|
299 |
// Ecriture du fichier...
|
Line 306... |
Line 306... |
306 |
|
306 |
|
307 |
// +------------------------------------------------------------------------------------------------------+
|
307 |
// +------------------------------------------------------------------------------------------------------+
|
308 |
// | LISTE DES FONCTIONS |
|
308 |
// | LISTE DES FONCTIONS |
|
Line 309... |
Line 309... |
309 |
// +------------------------------------------------------------------------------------------------------+
|
309 |
// +------------------------------------------------------------------------------------------------------+
|
310 |
|
310 |
|
311 |
// Création du formulaire de configuration de la base de données
|
311 |
// Creation du formulaire de configuration de la base de donnees
|
312 |
function creerFormulaire($fichier, $bln_lecture = false) {
|
312 |
function creerFormulaire($fichier, $bln_lecture = false) {
|
313 |
$disabled = '';
|
313 |
$disabled = '';
|
314 |
if ($bln_lecture) {
|
314 |
if ($bln_lecture) {
|
Line 354... |
Line 354... |
354 |
|
354 |
|
355 |
|
355 |
|
356 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
356 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
- |
|
357 |
*
|
- |
|
358 |
* $Log: not supported by cvs2svn $
|
- |
|
359 |
* Revision 1.27 2007/04/19 16:53:57 neiluj
|
357 |
*
|
360 |
* fix de l'upload des fichiers de conf (ftp_put)
|
358 |
* $Log: not supported by cvs2svn $
|
361 |
*
|
359 |
* Revision 1.26 2007/04/19 15:34:35 neiluj
|
362 |
* Revision 1.26 2007/04/19 15:34:35 neiluj
|
360 |
* préparration release (livraison) "Narmer" - v0.25
|
363 |
* préparration release (livraison) "Narmer" - v0.25
|
361 |
*
|
364 |
*
|