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.30 2007-04-20 09:18:09 alexandre_tb Exp $
|
35 |
// CVS : $Id: instal_fichier.inc.php,v 1.31 2007-04-20 10:15:15 alexandre_tb Exp $
|
36 |
/**
|
36 |
/**
|
37 |
* Page de creation des fichiers necessaire a l'installation de Papyrus.
|
37 |
* Page de creation des fichiers necessaire a l'installation de Papyrus.
|
38 |
*
|
38 |
*
|
39 |
* Page permettant de creer le fichier de configuration de Papyrus.
|
39 |
* Page permettant de creer le fichier de configuration de Papyrus.
|
40 |
*
|
40 |
*
|
Line 44... |
Line 44... |
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.30 $ $Date: 2007-04-20 09:18:09 $
|
49 |
*@version $Revision: 1.31 $ $Date: 2007-04-20 10:15:15 $
|
50 |
// +------------------------------------------------------------------------------------------------------+
|
50 |
// +------------------------------------------------------------------------------------------------------+
|
51 |
**/
|
51 |
**/
|
Line 52... |
Line 52... |
52 |
|
52 |
|
53 |
// +------------------------------------------------------------------------------------------------------+
|
53 |
// +------------------------------------------------------------------------------------------------------+
|
Line 136... |
Line 136... |
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, ou nous mettons a 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>';
|
143 |
$erreur = testerConfig($sortie_verif, $txt_suppression, unlink($url_ftp), $txt_suppression_erreur, 1, $erreur);
|
143 |
$erreur = testerConfig($sortie_verif, $txt_suppression, unlink($url_ftp), $txt_suppression_erreur, 1, $erreur);
|
Line 144... |
Line 144... |
144 |
}
|
144 |
}
|
Line 152... |
Line 152... |
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 |
|
Line 154... |
Line 154... |
154 |
|
154 |
|
155 |
// Nous ecrivons le fichier de config sur le disque
|
155 |
// Nous ecrivons le fichier de config sur le disque
|
156 |
|
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>'.$fichier_config_cible.'</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>'.$fichier_config_cible.
|
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 '.
|
160 |
'd\'accès en écriture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
|
160 |
'd\'accès en écriture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
|
161 |
'faire ça vous devez copier les informations suivantes dans un fichier et les transférer '.
|
161 |
'faire ça vous devez copier les informations suivantes dans un fichier et les transférer '.
|
162 |
'au moyen d\'un logiciel de transfert de fichier (ftp) sur le serveur dans un fichier '.
|
162 |
'au moyen d\'un logiciel de transfert de fichier (ftp) sur le serveur dans un fichier '.
|
163 |
'<tt>pap_config.inc.php</tt> directement dans le répertoire <tt>configuration</tt> du répertoire '.
|
163 |
'<tt>pap_config.inc.php</tt> directement dans le répertoire <tt>configuration</tt> du répertoire '.
|
- |
|
164 |
'<tt>papyrus</tt> de Papyrus. Une fois que vous aurez fait cela, votre site Papyrus devrait fonctionner '.
|
164 |
'<tt>papyrus</tt> de Papyrus. Une fois que vous aurez fait cela, votre site Papyrus devrait fonctionner '.
|
165 |
'correctement.';
|
- |
|
166 |
$txt_ecriture_conf_erreur .= '<div class="code"><code><pre>'.htmlentities($configCode).'</pre></code></div>'."\n";
|
Line 165... |
Line 167... |
165 |
'correctement.';
|
167 |
$erreur = testerConfig($sortie_verif, $txt_ecriture_conf,
|
166 |
$txt_ecriture_conf_erreur .= '<div class="code"><code><pre>'.htmlentities($configCode).'</pre></code></div>'."\n";
|
168 |
ftp_put($ftp, $fichier_config_cible,$fichier_config_source, FTP_ASCII),
|
167 |
$erreur = testerConfig($sortie_verif, $txt_ecriture_conf, ftp_put($ftp, $fichier_config_cible,$fichier_config_source, FTP_ASCII), $txt_ecriture_conf_erreur, 1, $erreur);
|
169 |
$txt_ecriture_conf_erreur, 1, $erreur);
|
Line 168... |
Line 170... |
168 |
|
170 |
|
169 |
// tentative d ecriture du fichier .htaccess
|
171 |
// tentative d ecriture du fichier .htaccess
|
Line 170... |
Line 172... |
170 |
$url_ftp_htaccess = 'ftp://'.$fichier['PAP_FTP_UTILISATEUR'].':'.$fichier['PAP_FTP_MOT_DE_PASSE'].
|
172 |
$url_ftp_htaccess = 'ftp://'.$fichier['PAP_FTP_UTILISATEUR'].':'.$fichier['PAP_FTP_MOT_DE_PASSE'].
|
171 |
'@'.$fichier['PAP_FTP_SERVEUR'].$fichier['PAP_FTP_RACINE'].'/.htaccess';
|
173 |
'@'.$fichier['PAP_FTP_SERVEUR'].$fichier['PAP_FTP_RACINE'].'/.htaccess';
|
172 |
|
174 |
|
173 |
$url_parse = parse_url('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
|
175 |
$url_parse = parse_url('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
|
174 |
$prefixe = dirname($url_parse['path']);
|
176 |
$prefixe = dirname($url_parse['path']);
|
175 |
|
177 |
|
176 |
$url = 'http://'.$_SERVER['HTTP_HOST'].$prefixe;
|
178 |
$url = 'http://'.$_SERVER['HTTP_HOST'].$prefixe;
|
177 |
if (isset($pref['PAP_URL_REECRITURE']) && $pref['PAP_URL_RRECRITURE'] == 1) {
|
179 |
if (isset($pref['PAP_URL_REECRITURE']) && $pref['PAP_URL_RRECRITURE'] == 1) {
|
178 |
$on_off = 'on';
|
180 |
$on_off = 'on';
|
179 |
} else {
|
181 |
} else {
|
180 |
$on_off = 'off';
|
182 |
$on_off = 'off';
|
181 |
}
|
183 |
}
|
182 |
$contenu_htaccess = '# Raccourci pour les menus et sites de Papyrus'."\n".
|
184 |
$contenu_htaccess = '# Raccourci pour les menus et sites de Papyrus'."\n".
|
183 |
'RewriteEngine '.$on_off."\n".
|
185 |
'RewriteEngine '.$on_off."\n".
|
184 |
'# si le fichier ou le dossier existe dans le système de fichier on l\'utilise directement'."\n".
|
186 |
'# si le fichier ou le dossier existe dans le système de fichier on l\'utilise directement'."\n".
|
185 |
'RewriteCond %{REQUEST_FILENAME} !-d'."\n".
|
187 |
'RewriteCond %{REQUEST_FILENAME} !-d'."\n".
|
186 |
'RewriteCond %{REQUEST_FILENAME} !-f'."\n\n".
|
188 |
'RewriteCond %{REQUEST_FILENAME} !-f'."\n\n".
|
187 |
'# ATTENTION : remplace localhost par votre nom de domaine !'."\n".
|
189 |
'# ATTENTION : remplace localhost par votre nom de domaine !'."\n".
|
188 |
'# Réecriture d\'url pour les applications de Papyrus n\'utilisant pas correctement Pap_URL'."\n".
|
190 |
'# Réecriture d\'url pour les applications de Papyrus n\'utilisant pas correctement Pap_URL'."\n".
|
189 |
'# ATTENTION : ne marche pas pour les formulaires en mode POST !'."\n".
|
191 |
'# ATTENTION : ne marche pas pour les formulaires en mode POST !'."\n".
|
190 |
'RewriteRule ^([^\/]+)&(.*)$ '.$url.'/$1?$2 [QSA,L,R=301]'."\n".
|
192 |
'RewriteRule ^([^\/]+)&(.*)$ '.$url.'/$1?$2 [QSA,L,R=301]'."\n".
|
191 |
'# Réecriture d\'url pour les vieux permaliens'."\n".
|
193 |
'# Réecriture d\'url pour les vieux permaliens'."\n".
|
192 |
'RewriteCond %{REQUEST_FILENAME}/ !-d'."\n".
|
194 |
'RewriteCond %{REQUEST_FILENAME}/ !-d'."\n".
|
193 |
'RewriteRule ^([^\/\?:.]+)$ '.$url.'/page:$1 [QSA,L,R=301]'."\n".
|
195 |
'RewriteRule ^([^\/\?:.]+)$ '.$url.'/page:$1 [QSA,L,R=301]'."\n".
|
194 |
'# Redirection d\'url pour le sélecteur de site'."\n".
|
196 |
'# Redirection d\'url pour le sélecteur de site'."\n".
|
195 |
'# Le point d\'interrogation sans rien après, vide la QUERY_STRING sinon elle est concaténée à l\'url et cela plante...'."_n".
|
197 |
'# Le point d\'interrogation sans rien après, vide la QUERY_STRING sinon elle est concaténée à l\'url et cela plante...'."_n".
|
196 |
'# Le "/" initial dans la RewriteCond est obligatoire!'."\n".
|
198 |
'# Le "/" initial dans la RewriteCond est obligatoire!'."\n".
|
197 |
'RewriteCond %{REQUEST_URI}?%{QUERY_STRING} ^/papyrus\.php\?site=([^&]+)$'."\n".
|
199 |
'RewriteCond %{REQUEST_URI}?%{QUERY_STRING} ^/papyrus\.php\?site=([^&]+)$'."\n".
|
198 |
'RewriteRule ^papyrus.php$ '.$url.'/site:%1? [L,R=301]'."\n\n".
|
200 |
'RewriteRule ^papyrus.php$ '.$url.'/site:%1? [L,R=301]'."\n\n".
|
Line 199... |
Line 201... |
199 |
'# Réecriture d\'url pour les sites de Papyrus : à modifier si les valeurs par défaut ont été changées'."\n".
|
201 |
'# Réecriture d\'url pour les sites de Papyrus : à modifier si les valeurs par défaut ont été changées'."\n".
|
200 |
'RewriteRule ^site:.+$ papyrus.php [QSA,L]'."\n".
|
202 |
'RewriteRule ^site:.+$ papyrus.php [QSA,L]'."\n".
|
201 |
'# Réecriture d\'url pour les menus de Papyrus : à modifier si les valeurs par défaut ont été changées'."\n".
|
203 |
'# Réecriture d\'url pour les menus de Papyrus : à modifier si les valeurs par défaut ont été changées'."\n".
|
202 |
'RewriteRule ^page:.+$ papyrus.php [QSA,L]'."\n\n".
|
204 |
'RewriteRule ^page:.+$ papyrus.php [QSA,L]'."\n\n".
|
203 |
'# Gestion des erreurs 404'."\n".
|
205 |
'# Gestion des erreurs 404'."\n".
|
204 |
'ErrorDocument 404 '.$prefixe.'/erreur_http.php?erreur=404';
|
206 |
'ErrorDocument 404 '.$prefixe.'/erreur_http.php?erreur=404';
|
205 |
|
- |
|
206 |
if (file_exists($fichier['PAP_FTP_RACINE'].'/.htaccess')) {
|
- |
|
207 |
$sortie_verif .='<p>Attention: Un fichier .htaccess est déjà présent sur le serveur.'.
|
207 |
|
208 |
'<br />'.$fichier['PAP_FTP_RACINE'].'/.htaccess'.
|
208 |
if (file_exists($fichier['PAP_FTP_RACINE'].'/.htaccess')) {
|
209 |
'<br />Veillez à le configurer correctement<br /><br />'.
|
- |
|
210 |
'Contenu par défaut: <br /><br /> ErrorDocument 404 /erreur_404.php';
|
209 |
$sortie_verif .='<p>Attention: Un fichier .htaccess est déjà présent sur le serveur.'.
|
211 |
} else {
|
210 |
'<br />'.$fichier['PAP_FTP_RACINE'].'/.htaccess'.
|
212 |
|
211 |
'<br />Veillez à le configurer correctement<br /><br />'.
|
213 |
|
212 |
'Contenu par défaut: <br /><br /> ErrorDocument 404 /erreur_404.php';
|
214 |
$tempfn = tempnam("","");
|
- |
|
215 |
$temp = fopen($tempfn, "w");
|
- |
|
216 |
|
213 |
} else {
|
217 |
fwrite($temp, $contenu_htaccess);
|
214 |
$tempfn = tempnam("","");
|
218 |
fclose($temp);
|
215 |
$temp = fopen($tempfn, "w");
|
219 |
$fichier_config_source = $tempfn;
|
216 |
fwrite($temp, $contenu_htaccess);
|
220 |
$fichier_config_cible = substr($fichier['PAP_FTP_RACINE']."/.htaccess", 1) ;
|
217 |
fclose($temp);
|
221 |
|
218 |
$fichier_config_source = $tempfn;
|
222 |
|
219 |
$fichier_config_cible = substr($fichier['PAP_FTP_RACINE']."/.htaccess", 1) ;
|
223 |
$txt_ecriture_conf_erreur = 'AVERTISSEMENT: Le fichier .htaccess <tt>'.$fichier_config_cible.
|
220 |
$txt_ecriture_conf_erreur = 'AVERTISSEMENT: Le fichier .htaccess <tt>'.$fichier_config_cible.
|
224 |
'</tt> n\'a pu être créé. Veuillez vous assurez que votre serveur a les droits '.
|
221 |
'</tt> n\'a pu être créé. Veuillez vous assurez que votre serveur a les droits '.
|
- |
|
222 |
'd\'accès en écriture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
|
225 |
'd\'accès en écriture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
|
223 |
'faire ça vous devez copier les informations suivantes dans un fichier et les transférer '.
|
226 |
'faire ça vous devez copier les informations suivantes dans un fichier et les transférer '.
|
- |
|
- |
|
224 |
'au moyen d\'un logiciel de transfert de fichier (ftp) sur le serveur dans un fichier '.
|
227 |
'au moyen d\'un logiciel de transfert de fichier (ftp) sur le serveur dans un fichier '.
|
225 |
'<tt>.htaccess</tt> directement à la racine de '.
|
228 |
'<tt>.htaccess</tt> directement à la racine de '.
|
226 |
'<tt>papyrus</tt> de Papyrus.';
|
229 |
'<tt>papyrus</tt> de Papyrus.';
|
227 |
$txt_ecriture_conf_erreur .= '<div class="code"><code><pre>'.htmlentities($contenu_htaccess).'</pre></code></div>'."\n";
|
Line 354... |
Line 352... |
354 |
|
352 |
|
355 |
|
353 |
|
356 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
354 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
- |
|
355 |
*
|
- |
|
356 |
* $Log: not supported by cvs2svn $
|
- |
|
357 |
* Revision 1.30 2007/04/20 09:18:09 alexandre_tb
|
357 |
*
|
358 |
* correction pb encodage
|
358 |
* $Log: not supported by cvs2svn $
|
359 |
*
|
359 |
* Revision 1.29 2007/04/20 09:13:37 alexandre_tb
|
360 |
* Revision 1.29 2007/04/20 09:13:37 alexandre_tb
|
360 |
* correction pb encodage
|
361 |
* correction pb encodage
|
361 |
*
|
362 |
*
|