source: spip-zone/_plugins_/_stable_/mutualisation/mutualiser_gerer_img.php @ 26070

Last change on this file since 26070 was 16864, checked in by fil@…, 13 years ago

une scorie

File size: 1.8 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5/*
6 * Creer les rewrite rules
7 *
8 * Dans /IMG, on arrive avec (http://naya/IMG/jpg/photo.jpg) :
9 *  %{HTTP_HOST} = 'naya'
10 *  %{SCRIPT_NAME} = '/chemin/http/jusqu/a/spip/spip.php'
11 *  %{REQUEST_URI} = '/IMG/jpg/photo.jpg'
12 *
13 */
14// sur le repertoire $dir (sites/truc/local/)
15function mutualisation_verifier_htaccess($url, $dir) {
16        // lire le .htaccess existant
17        lire_fichier($url._ACCESS_FILE_NAME, $htaccess);
18        $source = $htaccess;
19
20        // verifier notre bloc init
21        $bloc = '####
22## ce fichier .htaccess est gere par le plugin *mutualisation*
23##
24## ne le modifiez pas : en cas de besoin editez ce plugin,
25## puis effacez ce fichier, il sera recree
26##
27
28RewriteEngine On
29RewriteBase /
30';
31
32        if (strpos($htaccess, $bloc) === false)
33                $htaccess = $bloc;
34
35        $host = $_SERVER['HTTP_HOST'];
36        $racine = dirname($_SERVER['SCRIPT_NAME']); // profondeur_url();
37        if ($racine == '/') $racine='';
38        $site = basename(dirname($dir));
39        $bloc = "
40
41#### 'http://$host$racine/' = 'sites/$site/'
42RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^".preg_quote("$host$racine/",',')."
43RewriteRule .* $racine/$dir\$0 [L]
44";
45
46        if (strpos($htaccess, $bloc) === false)
47                $htaccess .= $bloc;
48
49
50        return ($htaccess === $source
51                OR ecrire_fichier($url._ACCESS_FILE_NAME, $htaccess)
52                );
53}
54
55
56/*
57 *
58 * Transformer les liens
59 * sites/nom_site/(IMG|local).* en (IMG|local).*
60 *
61 */
62function mutualisation_traiter_url_img_courtes($flux) {
63        // IMG
64        if (!defined('_URL_IMG'))
65                define('_URL_IMG', _DIR_RACINE . _NOM_PERMANENTS_ACCESSIBLES);
66        // local
67        if (!defined('_URL_VAR'))
68                define('_URL_VAR', _DIR_RACINE . _NOM_TEMPORAIRES_ACCESSIBLES);
69
70        if (mutualisation_verifier_htaccess(_URL_VAR, _DIR_VAR)
71        AND mutualisation_verifier_htaccess(_URL_IMG, _DIR_IMG)) {
72                return str_replace(
73                        array(_DIR_VAR, _DIR_IMG),
74                        array(_URL_VAR, _URL_IMG),
75                $flux);
76        } else
77                return $flux;
78}
79
80?>
Note: See TracBrowser for help on using the repository browser.