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 (!empty($_GET['image'])) {
47 if ($_GET['type'] == "usage") {
48 $file = sprintf("%s%s/usage.png", PATH, getConfig('usage_base'));
50 if (strpos($_GET['image'], "\\") > 0) $_GET['image'] = substr($_GET['image'], 0, strpos($_GET['image'], "\\"));
51 $file = sprintf("%s%s/%s_usage_%s.png",
53 getConfig('usage_base'),
54 SQL_ESCAPE($_GET['type']),
55 SQL_ESCAPE($_GET['image'])
59 if (FILE_READABLE($file)) {
60 $image = imagecreatefrompng($file);
61 header("Content-type: image/png");
66 } elseif (empty($_GET['usage'])) {
67 $file = sprintf("%s%s/index.html", PATH, getConfig('usage_base'));
69 $file = sprintf("%s%s/usage_%s.html",
71 getConfig('usage_base'),
72 SQL_ESCAPE($_GET['usage'])
76 if ((!empty($file)) && (FILE_READABLE($file) {
77 // @TODO This code is double, see LOAD_TEMPLATE and LOAD_EMAIL_TEMPLATE in functions.php
78 $tmpl_file = READ_FILE($file);
79 $tmpl_file = addslashes($tmpl_file);
80 $tmpl_file = "\$content=\"".$tmpl_file."\";";
85 $content = str_replace("usage.png", URL."/modules.php?module=admin&what=".$GLOBALS['what']."&type=usage&image=usage", $content);
86 $content = str_replace("daily_usage_", URL."/modules.php?module=admin&what=".$GLOBALS['what']."&type=daily&image=", $content);
87 $content = str_replace("hourly_usage_", URL."/modules.php?module=admin&what=".$GLOBALS['what']."&type=hourly&image=", $content);
88 $content = str_replace("ctry_usage_", URL."/modules.php?module=admin&what=".$GLOBALS['what']."&type=ctry&image=", $content);
89 $content = str_replace("usage_", URL."/modules.php?module=admin&what=".$GLOBALS['what']."&usage=", str_replace(".html", "", $content));
91 // Disabled due to too much trouble
92 //$content = str_replace("HREF=\"http://", "href=\"".URL."/modules.php?module=loader&url=http://", $content);
93 $test = strtolower($content);
95 // Do we need to strip out above and including <body> plus trailing </html> tag?
96 if ((strpos($test, "<body") > 0) && (strpos($test, "</body>") > 0)) {
98 $content = substr(substr($content, 0, $body_end), $body_start);
99 $content = substr($content, strpos($content, ">") + 1);
103 OUTPUT_HTML("<div align=\"left\">
107 // Nothing to load, then we have no directory "usage"
108 LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_USAGE_DIRECTORY_404, getConfig('usage_base')));