source: spip-zone/_plugins_/centre_image/trunk/action/centre_image_forcer.php @ 106921

Last change on this file since 106921 was 106921, checked in by tofulm@…, 3 years ago

pour utiliser centre image dans une mutu, il faut considerer si on est dans l'espace prive ou public.
test_espace_prive() ne fonctionne pas dans la fonction centre_image de centre_image_fonctions.php
on fait un test sur l'url en js, pour determiner la présence de la chaine : ecrire/?exec

File size: 938 bytes
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5
6function action_centre_image_forcer() {
7        $fichier = $_GET["url"];
8
9        // Gérer le plugin mutualisation si on est pas dans le prive
10        if (defined('_DIR_SITE') and !test_espace_prive() ){
11                $fichier = _DIR_SITE.$fichier;
12        }
13
14        include_spip('centre_image_fonctions');
15        $fichier = centre_image_preparer_fichier($fichier);
16        // pas de ../
17        $fichier = str_replace('../', '', $fichier);
18
19        // image uniquement présente dans _DIR_IMG
20        if (strpos(_DIR_RACINE . $fichier, _DIR_IMG) === 0) {
21                if (file_exists(_DIR_RACINE . $fichier)) {
22                        $md5 = md5($fichier);
23                        $forcer = sous_repertoire(_DIR_IMG, "cache-centre-image");
24
25                        $fichier_json = "$forcer$md5.json";
26                        $res = array("x" => $_GET["x"], "y" => $_GET["y"]);
27
28                        @touch(_DIR_RACINE . $fichier);
29                        file_put_contents($fichier_json, json_encode($res, TRUE));
30                        include_spip('inc/invalideur');
31                        suivre_invalideur('centre_image');
32                }
33        }
34}
Note: See TracBrowser for help on using the repository browser.