2 /************************************************************************
3 * MXChange v0.2.1 Start: 11/15/2003 *
4 * =============== Last change: 04/02/2004 *
6 * -------------------------------------------------------------------- *
7 * File : what-usage.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Auto-detection of usage statistics *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Automatische Erkennung der Aufrufstatistiken *
12 * -------------------------------------------------------------------- *
14 * -------------------------------------------------------------------- *
15 * Copyright (c) 2003 - 2008 by Roland Haeder *
16 * For more information visit: http://www.mxchange.org *
18 * This program is free software; you can redistribute it and/or modify *
19 * it under the terms of the GNU General Public License as published by *
20 * the Free Software Foundation; either version 2 of the License, or *
21 * (at your option) any later version. *
23 * This program is distributed in the hope that it will be useful, *
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
26 * GNU General Public License for more details. *
28 * You should have received a copy of the GNU General Public License *
29 * along with this program; if not, write to the Free Software *
30 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
32 ************************************************************************/
34 // Some security stuff...
35 if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
36 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
40 // Add description as navigation point
41 ADD_DESCR("admin", __FILE__);
43 // Base directory (should be moved to database)
44 $usage = getConfig('usage_base')."/";
46 if (REQUEST_ISSET_GET(('image'))) {
47 if (REQUEST_GET('type') == "usage") {
48 $FQFN = sprintf("%s%s/usage.png",
50 getConfig('usage_base')
53 if (strpos(REQUEST_GET('image'), "\\") > 0) REQUEST_SET_GET('image', substr(REQUEST_GET('image'), 0, strpos(REQUEST_GET('image'), "\\")));
54 $FQFN = sprintf("%s%s/%s_usage_%s.png",
56 getConfig('usage_base'),
57 REQUEST_GET(('type')),
58 REQUEST_GET(('image'))
62 if (FILE_READABLE($FQFN)) {
63 $image = imagecreatefrompng($FQFN);
64 header("Content-type: image/png");
69 } elseif (!REQUEST_ISSET_GET(('usage'))) {
70 $FQFN = sprintf("%s%s/index.html",
72 getConfig('usage_base')
75 $FQFN = sprintf("%s%s/usage_%s.html",
77 getConfig('usage_base'),
78 REQUEST_GET(('usage'))
82 if ((!empty($FQFN)) && (FILE_READABLE($FQFN))) {
83 // @TODO This code is double, see LOAD_TEMPLATE and LOAD_EMAIL_TEMPLATE in functions.php
84 $tmpl_file = READ_FILE($FQFN);
85 $tmpl_file = SQL_ESCAPE($tmpl_file);
86 $tmpl_file = "\$content=\"".$tmpl_file."\";";
91 $content = str_replace("usage.png", "{!URL!}/modules.php?module=admin&what=".$GLOBALS['what']."&type=usage&image=usage", $content);
92 $content = str_replace("daily_usage_", "{!URL!}/modules.php?module=admin&what=".$GLOBALS['what']."&type=daily&image=", $content);
93 $content = str_replace("hourly_usage_", "{!URL!}/modules.php?module=admin&what=".$GLOBALS['what']."&type=hourly&image=", $content);
94 $content = str_replace("ctry_usage_", "{!URL!}/modules.php?module=admin&what=".$GLOBALS['what']."&type=ctry&image=", $content);
95 $content = str_replace("usage_", "{!URL!}/modules.php?module=admin&what=".$GLOBALS['what']."&usage=", str_replace(".html", "", $content));
97 // Disabled due to too much trouble
98 //$content = str_replace("HREF=\"http://", "href=\"{!URL!}/modules.php?module=loader&url=http://", $content);
99 $test = strtolower($content);
101 // Do we need to strip out above and including <body> plus trailing </html> tag?
102 if ((strpos($test, "<body") > 0) && (strpos($test, "</body>") > 0)) {
104 $content = substr(substr($content, 0, $body_end), $body_start);
105 $content = substr($content, strpos($content, ">") + 1);
109 OUTPUT_HTML("<div align=\"left\">
113 // Nothing to load, then we have no directory "usage"
114 LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_USAGE_DIRECTORY_404'), getConfig('usage_base')));