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 | ?> |