Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 1353 → Rev 1354

/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.30 2007-04-20 09:18:09 alexandre_tb Exp $
// CVS : $Id: instal_fichier.inc.php,v 1.31 2007-04-20 10:15:15 alexandre_tb 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.30 $ $Date: 2007-04-20 09:18:09 $
*@version $Revision: 1.31 $ $Date: 2007-04-20 10:15:15 $
// +------------------------------------------------------------------------------------------------------+
**/
 
138,7 → 138,7
// Dans le cas, ou nous mettons a 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 être supprimer automatiquement. '.
$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);
}
154,8 → 154,8
// Nous ecrivons le fichier de config sur le disque
 
$txt_ecriture_conf = '&Eacute;criture sur le serveur de <tt>'.$chemin_fpt_absolu.'</tt>...';
$txt_ecriture_conf_erreur = '<span class="failed">AVERTISSEMENT:</span> Le fichier de configuration <tt>'.$chemin_fpt_absolu.
$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 '.
'd\'acc&egrave;s en &eacute;criture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
'faire &ccedil;a vous devez copier les informations suivantes dans un fichier et les transf&eacute;rer '.
164,44 → 164,46
'<tt>papyrus</tt> de Papyrus. Une fois que vous aurez fait cela, votre site Papyrus devrait fonctionner '.
'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);
$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
$url_ftp_htaccess = 'ftp://'.$fichier['PAP_FTP_UTILISATEUR'].':'.$fichier['PAP_FTP_MOT_DE_PASSE'].
'@'.$fichier['PAP_FTP_SERVEUR'].$fichier['PAP_FTP_RACINE'].'/.htaccess';
$url_parse = parse_url('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
$prefixe = dirname($url_parse['path']);
$url_parse = parse_url('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
$prefixe = dirname($url_parse['path']);
 
$url = 'http://'.$_SERVER['HTTP_HOST'].$prefixe;
if (isset($pref['PAP_URL_REECRITURE']) && $pref['PAP_URL_RRECRITURE'] == 1) {
$on_off = 'on';
} else {
$on_off = 'off';
}
$contenu_htaccess = '# Raccourci pour les menus et sites de Papyrus'."\n".
'RewriteEngine '.$on_off."\n".
'# si le fichier ou le dossier existe dans le système de fichier on l\'utilise directement'."\n".
'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".
'# 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".
'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 "/" initial dans la RewriteCond est obligatoire!'."\n".
'RewriteCond %{REQUEST_URI}?%{QUERY_STRING} ^/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".
'# Gestion des erreurs 404'."\n".
'ErrorDocument 404 '.$prefixe.'/erreur_http.php?erreur=404';
$url = 'http://'.$_SERVER['HTTP_HOST'].$prefixe;
if (isset($pref['PAP_URL_REECRITURE']) && $pref['PAP_URL_RRECRITURE'] == 1) {
$on_off = 'on';
} else {
$on_off = 'off';
}
$contenu_htaccess = '# Raccourci pour les menus et sites de Papyrus'."\n".
'RewriteEngine '.$on_off."\n".
'# si le fichier ou le dossier existe dans le système de fichier on l\'utilise directement'."\n".
'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".
'# 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".
'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 "/" initial dans la RewriteCond est obligatoire!'."\n".
'RewriteCond %{REQUEST_URI}?%{QUERY_STRING} ^/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".
'# Gestion des erreurs 404'."\n".
'ErrorDocument 404 '.$prefixe.'/erreur_http.php?erreur=404';
if (file_exists($fichier['PAP_FTP_RACINE'].'/.htaccess')) {
$sortie_verif .='<p>Attention: Un fichier .htaccess est d&eacute;j&agrave; pr&eacute;sent sur le serveur.'.
209,17 → 211,12
'<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");
 
fwrite($temp, $contenu_htaccess);
fclose($temp);
fclose($temp);
$fichier_config_source = $tempfn;
$fichier_config_cible = substr($fichier['PAP_FTP_RACINE']."/.htaccess", 1) ;
$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,8 → 226,9
'<tt>papyrus</tt> de Papyrus.';
$txt_ecriture_conf_erreur .= '<div class="code"><code><pre>'.htmlentities($contenu_htaccess).'</pre></code></div>'."\n";
$txt_ecriture_conf = '&Eacute;criture sur le serveur du fichier .htaccess... <tt>'.$fichier_config_cible.'</tt>'."\n";
$erreur = testerConfig($sortie_verif, $txt_ecriture_conf, ftp_put($ftp, $fichier_config_cible,$fichier_config_source, FTP_ASCII), $txt_ecriture_conf_erreur, 1, 0);
$erreur = testerConfig($sortie_verif, $txt_ecriture_conf,
ftp_put($ftp, $fichier_config_cible,$fichier_config_source, FTP_ASCII),
$txt_ecriture_conf_erreur, 1, 0);
}
}
}
356,6 → 354,9
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.30 2007/04/20 09:18:09 alexandre_tb
* correction pb encodage
*
* Revision 1.29 2007/04/20 09:13:37 alexandre_tb
* correction pb encodage
*