Projet

Général

Profil

Paste
Statistiques
| Branche: | Révision:

ryxeo-glpi-git / front / pluginimage.send.php @ b67d8923

Historique | Voir | Annoter | Télécharger (2,51 ko)

1 b67d8923 Eric Seigne
<?php
2
/*
3
 * @version $Id: pluginimage.send.php 7763 2009-01-06 18:44:50Z moyo $
4
 -------------------------------------------------------------------------
5
 GLPI - Gestionnaire Libre de Parc Informatique
6
 Copyright (C) 2003-2009 by the INDEPNET Development Team.
7

8
 http://indepnet.net/   http://glpi-project.org
9
 -------------------------------------------------------------------------
10

11
 LICENSE
12

13
 This file is part of GLPI.
14

15
 GLPI is free software; you can redistribute it and/or modify
16
 it under the terms of the GNU General Public License as published by
17
 the Free Software Foundation; either version 2 of the License, or
18
 (at your option) any later version.
19

20
 GLPI is distributed in the hope that it will be useful,
21
 but WITHOUT ANY WARRANTY; without even the implied warranty of
22
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23
 GNU General Public License for more details.
24

25
 You should have received a copy of the GNU General Public License
26
 along with GLPI; if not, write to the Free Software
27
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
28
 --------------------------------------------------------------------------
29
 */
30
31
/* ----------------------------------------------------------------------
32
        Purpose of file: Send image generated by a plugin to browser
33
        
34
        Argument :
35
        - plugin : name of the plugin, also the subdir in files/_plugins
36
        - name : of the image in the files/_plugins/xxxx dir
37
        - clean : delete the image after send it
38
   ---------------------------------------------------------------------- */
39
40
        define('GLPI_ROOT', '..'); 
41
        include (GLPI_ROOT . "/inc/includes.php");
42
        
43
        if (!isset($_GET["name"]) || !isset($_GET["plugin"])) {
44
                logEvent("-1", "system", 2, "security", $_SESSION["glpiname"]." bad usage.");
45
                die("security");
46
        }
47
        if (basename($_GET["name"]) != $_GET["name"] || basename($_GET["plugin"]) != $_GET["plugin"])  {
48
                logEvent("-1", "system", 1, "security", $_SESSION["glpiname"]." try to use a non standard path.");
49
                die("security");
50
        }
51
        $Path = GLPI_PLUGIN_DOC_DIR."/".$_GET["plugin"]."/";
52
        
53
        // Now send the file with header() magic
54
        header("Expires: Sun, 30 Jan 1966 06:30:00 GMT");
55
        header('Pragma: private'); /// IE BUG + SSL
56
        header('Cache-control: private, must-revalidate'); /// IE BUG + SSL
57
        header('Content-disposition: filename="' . $_GET["name"] . '"');
58
        header("Content-type: image/png");
59
        
60
        if (file_exists($Path.$_GET["name"])){
61
                readfile($Path.$_GET["name"]);
62
                if (isset($_GET["clean"])) unlink($Path.$_GET["name"]);
63
        }
64
        else        readfile(GLPI_ROOT . "/pics/warning.png");
65
?>
Redmine Appliance - Powered by TurnKey Linux