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.19 2006-11-30 15:50:25 ddelon Exp $
|
35 |
// CVS : $Id: instal_fichier.inc.php,v 1.20 2006-11-30 16:41:42 alexandre_tb Exp $
|
36 |
/**
|
36 |
/**
|
37 |
* Page de création des fichiers nécessaire à l'installation de Papyrus.
|
37 |
* Page de création des fichiers nécessaire à l'installation de Papyrus.
|
38 |
*
|
38 |
*
|
39 |
* Page permettant de créer le fichier de configuration de Papyrus.
|
39 |
* Page permettant de créer 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.19 $ $Date: 2006-11-30 15:50:25 $
|
49 |
*@version $Revision: 1.20 $ $Date: 2006-11-30 16:41:42 $
|
50 |
// +------------------------------------------------------------------------------------------------------+
|
50 |
// +------------------------------------------------------------------------------------------------------+
|
51 |
**/
|
51 |
**/
|
Line 52... |
Line 52... |
52 |
|
52 |
|
53 |
// +------------------------------------------------------------------------------------------------------+
|
53 |
// +------------------------------------------------------------------------------------------------------+
|
Line 144... |
Line 144... |
144 |
}
|
144 |
}
|
Line 145... |
Line 145... |
145 |
|
145 |
|
146 |
// Nous écrivons le fichier de config sur le disque
|
146 |
// Nous écrivons le fichier de config sur le disque
|
147 |
$fp = @fopen($url_ftp, 'w');
|
147 |
$fp = @fopen($url_ftp, 'w');
|
148 |
$txt_ecriture_conf = 'Écriture sur le serveur de <tt>'.$chemin_fpt_absolu.'</tt>...';
|
148 |
$txt_ecriture_conf = 'Écriture sur le serveur de <tt>'.$chemin_fpt_absolu.'</tt>...';
|
149 |
$txt_ecriture_conf_erreur = '<p><span class="failed">AVERTISSEMENT:</span> Le fichier de configuration <tt>'.$chemin_fpt_absolu.
|
149 |
$txt_ecriture_conf_erreur = '<span class="failed">AVERTISSEMENT:</span> Le fichier de configuration <tt>'.$chemin_fpt_absolu.
|
150 |
'</tt> n\'a pu être créé. Veuillez vous assurez que votre serveur a les droits '.
|
150 |
'</tt> n\'a pu être créé. Veuillez vous assurez que votre serveur a les droits '.
|
151 |
'd\'accès en écriture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
|
151 |
'd\'accès en écriture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
|
152 |
'faire ça vous devez copier les informations suivantes dans un fichier et les transférer '.
|
152 |
'faire ça vous devez copier les informations suivantes dans un fichier et les transférer '.
|
153 |
'au moyen d\'un logiciel de transfert de fichier (ftp) sur le serveur dans un fichier '.
|
153 |
'au moyen d\'un logiciel de transfert de fichier (ftp) sur le serveur dans un fichier '.
|
154 |
'<tt>pap_config.inc.php</tt> directement dans le répertoire <tt>configuration</tt> du répertoire '.
|
154 |
'<tt>pap_config.inc.php</tt> directement dans le répertoire <tt>configuration</tt> du répertoire '.
|
155 |
'<tt>papyrus</tt> de Papyrus. Une fois que vous aurez fait cela, votre site Papyrus devrait fonctionner '.
|
155 |
'<tt>papyrus</tt> de Papyrus. Une fois que vous aurez fait cela, votre site Papyrus devrait fonctionner '.
|
156 |
'correctement.</p>';
|
156 |
'correctement.';
|
157 |
$txt_ecriture_conf_erreur .= '<div class="code"><code>'.htmlentities($configCode).'</code></div>'."\n";
|
157 |
$txt_ecriture_conf_erreur .= '<div class="code"><code>'.htmlentities($configCode).'</code></div>'."\n";
|
Line 158... |
Line 158... |
158 |
$erreur = testerConfig($sortie_verif, $txt_ecriture_conf, $fp, $txt_ecriture_conf_erreur, 1, $erreur);
|
158 |
$erreur = testerConfig($sortie_verif, $txt_ecriture_conf, $fp, $txt_ecriture_conf_erreur, 1, $erreur);
|
159 |
|
159 |
|
Line 165... |
Line 165... |
165 |
$sortie_verif .='<p>Attention: Un fichier .htaccess est déjà présent sur le serveur.'.
|
165 |
$sortie_verif .='<p>Attention: Un fichier .htaccess est déjà présent sur le serveur.'.
|
166 |
'<br />Veillez à le configurer correctement<br /><br />'.
|
166 |
'<br />Veillez à le configurer correctement<br /><br />'.
|
167 |
'Contenu par défaut: <br /><br /> ErrorDocument 404 /erreur_404.php';
|
167 |
'Contenu par défaut: <br /><br /> ErrorDocument 404 /erreur_404.php';
|
168 |
} else {
|
168 |
} else {
|
169 |
$prefixe = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
|
169 |
$prefixe = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
|
170 |
$host = parse_url($_SERVER['REQUEST_URI'], PHP_URL_HOST);
|
- |
|
171 |
$prot = parse_url($_SERVER['REQUEST_URI'], PHP_URL_SCHEME);
|
- |
|
172 |
$url = $prot.'://'.$host.$prefixe;
|
170 |
$url = 'http://'.$_SERVER['HTTP_HOST'].$prefixe;
|
173 |
$handle =fopen ($url_ftp_htaccess, 'w');
|
171 |
$handle =fopen ($url_ftp_htaccess, 'w');
|
174 |
|
- |
|
- |
|
172 |
$txt_ecriture_conf = 'Écriture sur le serveur du fichier .htaccess...';
|
175 |
$txt_ecriture_conf_erreur = '<p><span class="failed">AVERTISSEMENT:</span> Le fichier .htaccess <tt>'.$url_ftp_htaccess.
|
173 |
$txt_ecriture_conf_erreur = 'AVERTISSEMENT: Le fichier .htaccess <tt>'.$url_ftp_htaccess.
|
176 |
'</tt> n\'a pu être créé. Veuillez vous assurez que votre serveur a les droits '.
|
174 |
'</tt> n\'a pu être créé. Veuillez vous assurez que votre serveur a les droits '.
|
177 |
'd\'accès en écriture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
|
175 |
'd\'accès en écriture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
|
178 |
'faire ça vous devez copier les informations suivantes dans un fichier et les transférer '.
|
176 |
'faire ça vous devez copier les informations suivantes dans un fichier et les transférer '.
|
179 |
'au moyen d\'un logiciel de transfert de fichier (ftp) sur le serveur dans un fichier '.
|
177 |
'au moyen d\'un logiciel de transfert de fichier (ftp) sur le serveur dans un fichier '.
|
180 |
'<tt>.htaccess</tt> directement à la racine de '.
|
178 |
'<tt>.htaccess</tt> directement à la racine de '.
|
181 |
'<tt>papyrus</tt> de Papyrus.</p>';
|
179 |
'<tt>papyrus</tt> de Papyrus.';
|
182 |
$contenu_htaccess = '# Raccourci pour les menus et sites de Papyrus
|
180 |
$contenu_htaccess = '# Raccourci pour les menus et sites de Papyrus'."\n".
|
183 |
RewriteEngine on
|
181 |
'RewriteEngine on'."\n".
|
184 |
# si le fichier ou le dossier existe dans le système de fichier on l\'utilise directement
|
182 |
'# si le fichier ou le dossier existe dans le système de fichier on l\'utilise directement'."\n".
|
185 |
RewriteCond %{REQUEST_FILENAME} !-d
|
183 |
'RewriteCond %{REQUEST_FILENAME} !-d'."\n".
|
186 |
RewriteCond %{REQUEST_FILENAME} !-f
|
184 |
'RewriteCond %{REQUEST_FILENAME} !-f'."\n\n".
|
187 |
|
- |
|
188 |
# ATTENTION : remplace localhoste par votre nom de domaine !
|
185 |
'# ATTENTION : remplace localhoste par votre nom de domaine !'."\n".
|
189 |
# Réecriture d\'url pour les applications de Papyrus n\'utilisant pas correctement Pap_URL
|
186 |
'# Réecriture d\'url pour les applications de Papyrus n\'utilisant pas correctement Pap_URL'."\n".
|
190 |
# ATTENTION : ne marche pas pour les formulaires en mode POST !
|
187 |
'# ATTENTION : ne marche pas pour les formulaires en mode POST !'."\n".
|
191 |
RewriteRule ^([^\/]+)&(.*)$ '.$url.'/$1?$2 [QSA,L,R=301]
|
188 |
'RewriteRule ^([^\/]+)&(.*)$ '.$url.'/$1?$2 [QSA,L,R=301]'."\n".
|
192 |
# Réecriture d\'url pour les vieux permaliens
|
189 |
'# Réecriture d\'url pour les vieux permaliens'."\n".
|
193 |
RewriteCond %{REQUEST_FILENAME}/ !-d
|
190 |
'RewriteCond %{REQUEST_FILENAME}/ !-d'."\n".
|
194 |
RewriteRule ^([^\/\?:.]+)$ '.$url.'/page:$1 [QSA,L,R=301]
|
191 |
'RewriteRule ^([^\/\?:.]+)$ '.$url.'/page:$1 [QSA,L,R=301]'."\n".
|
195 |
# Redirection d\'url pour le sélecteur de site
|
192 |
'# Redirection d\'url pour le sélecteur de site'."\n".
|
196 |
# Le point d\'interrogation sans rien après, vide la QUERY_STRING sinon elle est concacténée à l\'url et cela plante...
|
193 |
'# Le point d\'interrogation sans rien après, vide la QUERY_STRING sinon elle est concacténée à l\'url et cela plante...'."_n".
|
197 |
# Le "/" initial dans la RewriteCond est obligatoire!
|
194 |
'# Le "/" initial dans la RewriteCond est obligatoire!'."\n".
|
198 |
RewriteCond %{REQUEST_URI}?%{QUERY_STRING} ^/papyrus\.php\?site=([^&]+)$
|
195 |
'RewriteCond %{REQUEST_URI}?%{QUERY_STRING} ^/papyrus\.php\?site=([^&]+)$'."\n".
|
199 |
RewriteRule ^papyrus.php$ '.$url.'/site:%1? [L,R=301]
|
196 |
'RewriteRule ^papyrus.php$ '.$url.'/site:%1? [L,R=301]'."\n\n".
|
200 |
|
- |
|
201 |
# Réecriture d\'url pour les sites de Papyrus : à modifier si les valeurs par défaut ont été changées
|
197 |
'# Réecriture d\'url pour les sites de Papyrus : à modifier si les valeurs par défaut ont été changées'."\n".
|
202 |
RewriteRule ^site:.+$ papyrus.php [QSA,L]
|
198 |
'RewriteRule ^site:.+$ papyrus.php [QSA,L]'."\n".
|
203 |
# Réecriture d\'url pour les menus de Papyrus : à modifier si les valeurs par défaut ont été changées
|
199 |
'# Réecriture d\'url pour les menus de Papyrus : à modifier si les valeurs par défaut ont été changées'."\n".
|
204 |
RewriteRule ^page:.+$ papyrus.php [QSA,L]
|
200 |
'RewriteRule ^page:.+$ papyrus.php [QSA,L]'."\n\n".
|
205 |
|
- |
|
206 |
# Gestion des erreurs 404
|
201 |
'# Gestion des erreurs 404'."\n".
|
207 |
ErrorDocument 404 '.$prefixe.'/erreur_http.php?erreur=404';
|
202 |
'ErrorDocument 404 '.$prefixe.'/erreur_http.php?erreur=404';
|
- |
|
203 |
$txt_ecriture_conf_erreur .= '<div class="code"><code><pre>'.htmlentities($contenu_htaccess).'</pre></code></div>'."\n";
|
208 |
$erreur = testerConfig($sortie_verif, $txt_ecriture_conf, $handle, $txt_ecriture_conf_erreur, 1, $erreur);
|
204 |
$erreur = testerConfig($sortie_verif, $txt_ecriture_conf, $handle, $txt_ecriture_conf_erreur, 1, 0);
|
209 |
if ($handle) {
|
205 |
if ($handle) {
|
Line 210... |
Line 206... |
210 |
|
206 |
|
211 |
fwrite ($handle, $contenu_htaccess);
|
207 |
fwrite ($handle, $contenu_htaccess);
|
212 |
fclose($handle);
|
208 |
fclose($handle);
|
213 |
} else {
|
- |
|
- |
|
209 |
} else {
|
214 |
$txt_ecriture_conf_erreur .= '<div class="code"><code>'.htmlentities($contenu_htaccess).'</code></div>'."\n";
|
210 |
|
215 |
}
|
211 |
}
|
216 |
}
|
212 |
}
|
217 |
}
|
213 |
}
|
Line 336... |
Line 332... |
336 |
|
332 |
|
337 |
|
333 |
|
338 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
334 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
- |
|
335 |
*
|
- |
|
336 |
* $Log: not supported by cvs2svn $
|
- |
|
337 |
* Revision 1.19 2006/11/30 15:50:25 ddelon
|
339 |
*
|
338 |
* installation fichier
|
340 |
* $Log: not supported by cvs2svn $
|
339 |
*
|
341 |
* Revision 1.18 2006/11/30 15:34:51 alexandre_tb
|
340 |
* Revision 1.18 2006/11/30 15:34:51 alexandre_tb
|
342 |
* ecriture htaccess
|
341 |
* ecriture htaccess
|
343 |
*
|
342 |
*
|