Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 1491 → Rev 1492

/trunk/papyrus/applications/installateur/instal_base_de_donnees.inc.php
32,7 → 32,7
// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
// | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: instal_base_de_donnees.inc.php,v 1.33 2007-06-25 12:15:07 alexandre_tb Exp $
// CVS : $Id: instal_base_de_donnees.inc.php,v 1.34 2007-06-26 12:08:18 jp_milcent Exp $
/**
* Page de création de la base de données de Papyrus.
*
47,7 → 47,7
*@author Eric FELDSTEIN
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.33 $ $Date: 2007-06-25 12:15:07 $
*@version $Revision: 1.34 $ $Date: 2007-06-26 12:08:18 $
// +------------------------------------------------------------------------------------------------------+
**/
 
54,7 → 54,7
// +------------------------------------------------------------------------------------------------------+
// | ENTÊTE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
// Numero de l'etape d'installation :
// Numéro de l'étape d'installation :
$num_etape = 2;
 
// Initialisation du tableau contenant les valeurs de configuration de la base de données
69,7 → 69,7
}
}
 
// Récupération des paramètres de configuration du formulaire précédent
// Récupération des paramêtres de configuration du formulaire précédent
if (isset($_POST['pref'])) {
$pref = $_POST['pref'];
} else if (isset($_POST['pref_serial'])) {
91,7 → 91,7
$sortie_test .= ' <br /><h2>Test de la configuration de la base de donn&eacute;es</h2>'."\n";
$dblink = @mysql_connect($bdd['PAP_BDD_SERVEUR'], $bdd['PAP_BDD_UTILISATEUR'], $bdd['PAP_BDD_MOT_DE_PASSE']);
$erreur = testerConfig($sortie_test, 'Test connexion au serveur MySQL, recherche base de donn&eacute;es ...', @mysql_select_db($bdd['PAP_BDD_NOM'], $dblink),
'<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);
'<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);
$sortie .= '<br />'."\n";
if ($erreur==0) {
// L'exécution du SQL peut commencer...
184,7 → 184,7
}
//Insertion des requêtes dàpendant du formulaire d'installation
//Insertion des requêtes dépendant du formulaire d'installation
$sortie_verif .= '<h2>Insertion des donn&eacute;es d&eacute;pendant du formulaire pr&eacute;c&eacute;dent</h2>';
$requete_admin = 'INSERT INTO gen_annuaire VALUES (1, "'.$pref['ADMIN_I18N'].'", "'.$pref['ADMIN_NOM'].
196,7 → 196,7
$bdd['PAP_BDD_UTILISATEUR'].':'.$bdd['PAP_BDD_MOT_DE_PASSE'].'@'.$bdd['PAP_BDD_SERVEUR'].'/'.$bdd['PAP_BDD_NOM'].'", "gen_annuaire", "ga_mail", '.
'"ga_mot_de_passe", "md5","chp_personne_prenom=ga_prenom chp_personne_nom=ga_nom");';
$erreur = testerConfig($sortie_verif, 'Insertion de l\'authentification...', @mysql_query($requete_auth, $dblink),
'Donn°es déjà présente ?', 0, $erreur);
'Données déjà présente ?', 0, $erreur);
$url_inscription = preg_replace ('/papyrus\.php/', 'inscription', $pref['PAP_URL']);
$requete_auth = 'INSERT INTO gen_site_auth_bdd VALUES (2, "mysql://'.
$bdd['PAP_BDD_UTILISATEUR'].':'.$bdd['PAP_BDD_MOT_DE_PASSE'].'@'.$bdd['PAP_BDD_SERVEUR'].'/'.$bdd['PAP_BDD_NOM'].'", "annuaire", "a_mail", '.
291,6 → 291,9
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.33 2007-06-25 12:15:07 alexandre_tb
* merge from narmer
*
* Revision 1.32 2007/04/20 09:05:46 alexandre_tb
* correction pb encodage
*
/trunk/papyrus/applications/installateur/instal_fichier.inc.php
32,7 → 32,7
// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
// | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: instal_fichier.inc.php,v 1.34 2007-04-20 14:55:24 alexandre_tb Exp $
// CVS : $Id: instal_fichier.inc.php,v 1.35 2007-06-26 12:08:18 jp_milcent Exp $
/**
* Page de creation des fichiers necessaire a l'installation de Papyrus.
*
46,7 → 46,7
*@author Patrick PAUL
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.34 $ $Date: 2007-04-20 14:55:24 $
*@version $Revision: 1.35 $ $Date: 2007-06-26 12:08:18 $
// +------------------------------------------------------------------------------------------------------+
**/
 
75,7 → 75,7
}
}
 
// Récupération des paramètres de configuration du formulaire précédent
// Récupération des paramêtres de configuration du formulaire précédent
if (isset($_POST['pref_serial'])) {
$pref = unserialize(stripslashes($_POST['pref_serial']));
}
89,7 → 89,7
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
// Affichage d'informations...
$sortie .= '<br /><h1>Etape n&deg;'.$num_etape.' sur '.INSTAL_NBRE_ETAPE.'.</h1>'."\n";
$sortie .= '<br /><h1>Étape n&deg;'.$num_etape.' sur '.INSTAL_NBRE_ETAPE.'.</h1>'."\n";
 
// Correction éventuelle des informations saisies par l'utilisateur
if (ereg('^[\/\\]', $fichier['PAP_FTP_RACINE']) == false) {
128,32 → 128,31
}
}
$configCode .= implode("\n", $entries)."\n\n?>";
if ($erreur==0) {
// Tentative d'ecriture du fichier de config
if ($erreur == 0) {
// +-----------------------------------------------------------------------------------------------------------+
// Tentative d'écriture du fichier de config
$sortie_verif .= ' <h2>Ecriture des fichiers sur le serveur par FTP</h2>'."\n";
$chemin_fpt_absolu = $fichier['PAP_FTP_RACINE'].INSTAL_CHEMIN_CONFIG;
$url_ftp = 'ftp://'.$fichier['PAP_FTP_UTILISATEUR'].':'.$fichier['PAP_FTP_MOT_DE_PASSE'].
'@'.$fichier['PAP_FTP_SERVEUR'].$chemin_fpt_absolu;
// Dans le cas, ou nous mettons a jour Papyrus, il faut supprimer l'ancien fichier de config
// Dans le cas, ou nous mettons à jour Papyrus, il faut supprimer l'ancien fichier de config
if (INSTAL_VERSION_ANCIENNE != '') {
$txt_suppression = 'Suppression de <tt>'.$chemin_fpt_absolu.'</tt>...';
$txt_suppression_erreur = '<p>Le fichier <tt>'.$chemin_fpt_absolu.'</tt> ne peut &ecirc;tre supprimer automatiquement. '.
'Veuillez utiliser un logiciel de transfert de fichier par FTP pour le supprimer.</p>';
$erreur = testerConfig($sortie_verif, $txt_suppression, unlink($url_ftp), $txt_suppression_erreur, 1, $erreur);
$txt_suppression = 'Suppression de <tt>'.$chemin_fpt_absolu.'</tt>...';
$txt_suppression_erreur = '<p>Le fichier <tt>'.$chemin_fpt_absolu.'</tt> ne peut &ecirc;tre supprimer automatiquement. '.
'Veuillez utiliser un logiciel de transfert de fichier par FTP pour le supprimer.</p>';
$erreur = testerConfig($sortie_verif, $txt_suppression, unlink($url_ftp), $txt_suppression_erreur, 1, $erreur);
}
$tempfn = tempnam("","");
$temp = fopen($tempfn, "w");
$tempfn = tempnam('','');
$temp = fopen($tempfn, 'w');
 
fwrite($temp, $configCode);
fclose($temp);
$fichier_config_source = $tempfn;
$fichier_config_cible = substr($fichier['PAP_FTP_RACINE']."/papyrus/configuration/pap_config.inc.php", 1) ;
// Nous ecrivons le fichier de config sur le disque
 
$fichier_config_cible = $fichier['PAP_FTP_RACINE'].'papyrus/configuration/pap_config.inc.php';
// Nous écrivons le fichier de config sur le disque
$txt_ecriture_conf = '&Eacute;criture sur le serveur de <tt>'.$fichier_config_cible.'</tt>...';
$txt_ecriture_conf_erreur = '<span class="failed">AVERTISSEMENT:</span> Le fichier de configuration <tt>'.$fichier_config_cible.
'</tt> n\'a pu &ecirc;tre cr&eacute;&eacute;. Veuillez vous assurez que votre serveur a les droits '.
165,18 → 164,30
'correctement.';
$txt_ecriture_conf_erreur .= '<div class="code"><code><pre>'.htmlentities($configCode).'</pre></code></div>'."\n";
$erreur = testerConfig($sortie_verif, $txt_ecriture_conf,
ftp_put($ftp, $fichier_config_cible,$fichier_config_source, FTP_ASCII),
$txt_ecriture_conf_erreur, 1, $erreur);
// tentative d ecriture du fichier .htaccess
ftp_put($ftp, $fichier_config_cible, $fichier_config_source, FTP_ASCII),
$txt_ecriture_conf_erreur, 1, $erreur);
 
// +-----------------------------------------------------------------------------------------------------------+
// Tentative d'écriture du fichier .htaccess
$fichier_htaccess_chemin = $fichier['PAP_FTP_RACINE'].'.htaccess';
$url_ftp_htaccess = 'ftp://'.$fichier['PAP_FTP_UTILISATEUR'].':'.$fichier['PAP_FTP_MOT_DE_PASSE'].
'@'.$fichier['PAP_FTP_SERVEUR'].$fichier['PAP_FTP_RACINE'].'/.htaccess';
if (isset($pref['PAP_HTACCESS_REGENERATION']) && $pref['PAP_HTACCESS_REGENERATION'] == 1) {
$txt_suppression_htaccess = 'Suppression de <tt>'.$fichier_htaccess_chemin.'</tt>...';
$txt_suppression_htaccess_erreur = '<p>Le fichier <tt>'.$fichier_htaccess_chemin.'</tt> ne peut &ecirc;tre supprimer automatiquement. '.
'Veuillez utiliser un logiciel de transfert de fichier par FTP pour le supprimer.</p>';
$erreur = testerConfig($sortie_verif, $txt_suppression_htaccess, unlink($url_ftp_htaccess), $txt_suppression_htaccess_erreur, 1, $erreur);
}
$url_parse = parse_url('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
$prefixe = dirname($url_parse['path']);
 
// Gestion des urls du style : http://www.tela-botanica.org/~mon_home/
$prefixe_tilde = '';
if (preg_match('/^\/~/', $prefixe)) {
$prefixe_tilde = $prefixe.'/';
}
$url = 'http://'.$_SERVER['HTTP_HOST'].$prefixe;
if (isset($pref['PAP_URL_REECRITURE']) && $pref['PAP_URL_RRECRITURE'] == 1) {
if (isset($pref['PAP_URL_REECRITURE']) && $pref['PAP_URL_REECRITURE'] == 1) {
$on_off = 'on';
} else {
$on_off = 'off';
187,36 → 198,36
'RewriteCond %{REQUEST_FILENAME} !-d'."\n".
'RewriteCond %{REQUEST_FILENAME} !-f'."\n\n".
'# ATTENTION : remplace localhost par votre nom de domaine !'."\n".
'# R&eacute;ecriture d\'url pour les applications de Papyrus n\'utilisant pas correctement Pap_URL'."\n".
'# Réecriture d\'url pour les applications de Papyrus n\'utilisant pas correctement Pap_URL'."\n".
'# ATTENTION : ne marche pas pour les formulaires en mode POST !'."\n".
'RewriteRule ^([^\/]+)&(.*)$ '.$url.'/$1?$2 [QSA,L,R=301]'."\n".
'# R&eacute;ecriture d\'url pour les vieux permaliens'."\n".
'# Réecriture d\'url pour les vieux permaliens'."\n".
'RewriteCond %{REQUEST_FILENAME}/ !-d'."\n".
'RewriteRule ^([^\/\?:.]+)$ '.$url.'/page:$1 [QSA,L,R=301]'."\n".
'# Redirection d\'url pour le sélecteur de site'."\n".
'# Le point d\'interrogation sans rien après, vide la QUERY_STRING sinon elle est concaténée à l\'url et cela plante...'."_n".
'# Le point d\'interrogation sans rien aprés, vide la QUERY_STRING sinon elle est concacténée à l\'url et cela plante...'."_n".
'# Le "/" initial dans la RewriteCond est obligatoire!'."\n".
'RewriteCond %{REQUEST_URI}?%{QUERY_STRING} ^/papyrus\.php\?site=([^&]+)$'."\n".
'RewriteCond %{REQUEST_URI}?%{QUERY_STRING} ^'.$prefixe.'/papyrus\.php\?site=([^&]+)$'."\n".
'RewriteRule ^papyrus.php$ '.$url.'/site:%1? [L,R=301]'."\n\n".
'# R&eacute;ecriture d\'url pour les sites de Papyrus : &agrave; modifier si les valeurs par d&eacute;faut ont &eacute;t&eacute; chang&eacute;es'."\n".
'RewriteRule ^site:.+$ papyrus.php [QSA,L]'."\n".
'# R&eacute;ecriture d\'url pour les menus de Papyrus : &agrave; modifier si les valeurs par d&eacute;faut ont &eacute;t&eacute; chang&eacute;es'."\n".
'RewriteRule ^page:.+$ papyrus.php [QSA,L]'."\n\n".
'# Réecriture d\'url pour les sites de Papyrus : à modifier si les valeurs par défaut ont été changées'."\n".
'RewriteRule ^site:.+$ '.$prefixe_tilde.'papyrus.php [QSA,L]'."\n".
'# Réecriture d\'url pour les menus de Papyrus : à modifier si les valeurs par défaut ont été changées'."\n".
'RewriteRule ^page:.+$ '.$prefixe_tilde.'papyrus.php [QSA,L]'."\n\n".
'# Gestion des erreurs 404'."\n".
'ErrorDocument 404 '.$prefixe.'/erreur_http.php?erreur=404';
if (file_exists($fichier['PAP_FTP_RACINE'].'/.htaccess')) {
if (file_exists($fichier_htaccess_chemin)) {
$sortie_verif .='<p>Attention: Un fichier .htaccess est d&eacute;j&agrave; pr&eacute;sent sur le serveur.'.
'<br />'.$fichier['PAP_FTP_RACINE'].'/.htaccess'.
'<br />'.$fichier_htaccess_chemin.
'<br />Veillez &agrave; le configurer correctement<br /><br />'.
'Contenu par d&eacute;faut: <br /><br /> ErrorDocument 404 /erreur_404.php';
} else {
$tempfn = tempnam("","");
$temp = fopen($tempfn, "w");
$tempfn = tempnam('', '');
$temp = fopen($tempfn, 'w');
fwrite($temp, $contenu_htaccess);
fclose($temp);
$fichier_config_source = $tempfn;
$fichier_config_cible = substr($fichier['PAP_FTP_RACINE']."/.htaccess", 1) ;
$fichier_config_cible = $fichier_htaccess_chemin;
$txt_ecriture_conf_erreur = 'AVERTISSEMENT: Le fichier .htaccess <tt>'.$fichier_config_cible.
'</tt> n\'a pu &ecirc;tre cr&eacute;&eacute;. Veuillez vous assurez que votre serveur a les droits '.
'd\'acc&egrave;s en &eacute;criture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
229,7 → 240,6
$erreur = testerConfig($sortie_verif, $txt_ecriture_conf, ftp_put($ftp, $fichier_config_cible,$fichier_config_source, FTP_ASCII), $txt_ecriture_conf_erreur, 1, 0);
 
}
// maj_fichier_config_appli($ftp,$fichier,'api/fckeditor/editor/filemanager/browser/default/connectors/php/config.php',array("Caldeira"=>"DDDDD"));
}
}
236,36 → 246,28
 
 
// Mise à jour des fichiers de configuration de chaque application :
 
function maj_fichier_config_appli($ftp,$fichier, $fichierconfig, $elements) {
 
 
$tempfn = tempnam("","");
ftp_get($ftp,$tempfn,$fichier['PAP_FTP_RACINE'].GEN_SEP.$fichierconfig,FTP_ASCII);
$fp = fopen($tempfn, 'r');
if ($fp) {
while (!feof($fp)) {
$cont .= fread($fp, 500);
}
fclose($fp);
function maj_fichier_config_appli($ftp, $fichier, $fichierconfig, $elements) {
$tempfn = tempnam('', '');
ftp_get($ftp,$tempfn,$fichier['PAP_FTP_RACINE'].$fichierconfig,FTP_ASCII);
$fp = fopen($tempfn, 'r');
if ($fp) {
while (!feof($fp)) {
$cont .= fread($fp, 500);
}
fclose($fp);
$fp = fopen($tempfn, 'w');
if ($fp) {
foreach ($elements as $element) {
if ($fp) {
foreach ($elements as $element) {
list($expr,$rempl)=$elements;
preg_replace('/'.$expr.'/',$rempl,$cont);
}
fwrite($fp, $cont);
fclose($fp);
ftp_put($ftp,$fichier['PAP_FTP_RACINE'].GEN_SEP.$fichierconfig,$tempfn,FTP_ASCII);
}
}
ftp_put($ftp, $fichier['PAP_FTP_RACINE'].$fichierconfig, $tempfn, FTP_ASCII);
}
}
}
 
 
// Gestion de l'affichage
if ($erreur == 0 && empty($sortie_verif)) {
// Premier appel du fichier...
339,6 → 341,12
'<label for="ftp_racine">Racine d&eacute;p&ocirc;t FTP :</label>'.
'<input id="ftp_racine"'.$disabled.'type="text" size="60" name="fichier[PAP_FTP_RACINE]" value="'.$fichier['PAP_FTP_RACINE'].'" />'.
'</li>'."\n";
$sortie_form .= '<li>Si vous voulez générer un nouveau fichier .htaccess, cochez cette case (si vous ne savez pas ce qu\'est un fichier .htaccess '.
'n\'activez pas cette option).</li>'."\n";
$sortie_form .= '<li>'."\n".
'<label for="htaccess_regeneration">Remplacer mon fichier .htacces :</label>'.
'<input id="htaccess_regeneration"'.$disabled.'type="checkbox" name="pref[PAP_HTACCESS_REGENERATION]" value="1" />'.
'Activation'.'</li>'."\n";
return $sortie_form;
}
 
350,6 → 358,9
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.34 2007-04-20 14:55:24 alexandre_tb
* charset
*
* Revision 1.33 2007/04/20 12:55:07 ddelon
* config fckeditor
*
420,7 → 431,7
* ecriture du fichier .htaccess
*
* Revision 1.10 2005/09/23 14:20:23 florian
* nouvel habillage installateur, plus correction de quelques bugs
* Nouvel habillage installateur, plus correction de quelques bugs
*
* Revision 1.9 2005/04/12 16:09:45 jpm
* Amélioration de la gestion de la constante de redirection des urls et de la gestion des constantes de type entier et booléen.