Subversion Repositories Applications.papyrus

Rev

Rev 1068 | Rev 1071 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1068 Rev 1069
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 = '&Eacute;criture sur le serveur de <tt>'.$chemin_fpt_absolu.'</tt>...';
148
	    $txt_ecriture_conf = '&Eacute;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 &ecirc;tre cr&eacute;&eacute;. Veuillez vous assurez que votre serveur a les droits '.
150
			'</tt> n\'a pu &ecirc;tre cr&eacute;&eacute;. Veuillez vous assurez que votre serveur a les droits '.
151
			'd\'acc&egrave;s en &eacute;criture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
151
			'd\'acc&egrave;s en &eacute;criture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
152
			'faire &ccedil;a vous devez copier les informations suivantes dans un fichier et les transf&eacute;rer '.
152
			'faire &ccedil;a vous devez copier les informations suivantes dans un fichier et les transf&eacute;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&eacute;pertoire <tt>configuration</tt> du répertoire '.
154
			'<tt>pap_config.inc.php</tt> directement dans le r&eacute;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 = '&Eacute;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 &ecirc;tre cr&eacute;&eacute;. Veuillez vous assurez que votre serveur a les droits '.
174
			'</tt> n\'a pu &ecirc;tre cr&eacute;&eacute;. Veuillez vous assurez que votre serveur a les droits '.
177
			'd\'acc&egrave;s en &eacute;criture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
175
			'd\'acc&egrave;s en &eacute;criture pour ce fichier. Si pour une raison quelconque vous ne pouvez pas '.
178
			'faire &ccedil;a vous devez copier les informations suivantes dans un fichier et les transf&eacute;rer '.
176
			'faire &ccedil;a vous devez copier les informations suivantes dans un fichier et les transf&eacute;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 &agrave la racine de '.
178
			'<tt>.htaccess</tt> directement &agrave 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
*