Subversion Repositories Applications.papyrus

Rev

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

Rev 1340 Rev 1347
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&deg;'.$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&ecirc;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 = '&Eacute;criture sur le serveur de <tt>'.$chemin_fpt_absolu.'</tt>...';
157
	    $txt_ecriture_conf = '&Eacute;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 &ecirc;tre cr&eacute;&eacute;. Veuillez vous assurez que votre serveur a les droits '.
159
			'</tt> n\'a pu &ecirc;tre cr&eacute;&eacute;. 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
*