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 ê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 = 'É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 = 'É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 être créé. Veuillez vous assurez que votre serveur a les droits '. |
'd\'accès en écriture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '. |
'faire ça vous devez copier les informations suivantes dans un fichier et les transfé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é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é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éecriture d\'url pour les sites de Papyrus : à modifier si les valeurs par défaut ont été changées'."\n". |
'RewriteRule ^site:.+$ 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:.+$ 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é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é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éecriture d\'url pour les sites de Papyrus : à modifier si les valeurs par défaut ont été changées'."\n". |
'RewriteRule ^site:.+$ 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:.+$ 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éjà présent sur le serveur.'. |
209,17 → 211,12 |
'<br />Veillez à le configurer correctement<br /><br />'. |
'Contenu par dé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 être créé. Veuillez vous assurez que votre serveur a les droits '. |
'd\'accès en é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 = 'É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 |
* |