Even more rewrites/fixes from EL branch (please report any broken part after you...
[mailer.git] / inc / modules / admin / what-usage.php
index c235fc02eec3a3c867c41a85e980825539931597..069171dd7126c82688c3cd0661d757ef9cdd13ab 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 11/15/2003 *
- * ===============                              Last change: 04/02/2004 *
+ * Mailer v0.2.1-FINAL                                Start: 11/15/2003 *
+ * ===================                          Last change: 04/02/2004 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : what-usage.php                                   *
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Automatische Erkennung der Aufrufstatistiken     *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * Needs to be in all Files and every File needs "svn propset           *
+ * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  ************************************************************************/
 
 // Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))
-{
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
-       require($INC);
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+       die();
 }
+
 // Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
+addMenuDescription('admin', __FILE__);
 
-OPEN_TABLE("100%", "admin_content admin_content_align", "");
-$usage = "usage/";
-if (!empty($_GET['image']))
-{
-       if ($_GET['type'] == "usage")
-       {
-               $file = PATH.$usage."usage.png";
-       }
-        else
-       {
-               if (strpos($_GET['image'], "\\") > 0) $_GET['image'] = substr($_GET['image'], 0, strpos($_GET['image'], "\\"));
-               $file = PATH.$usage.$_GET['type']."_usage_".$_GET['image'].".png";
+// Base directory (should be moved to database)
+$usage = getConfig('usage_base') . '/';
+
+if (isGetRequestParameterSet('image')) {
+       if (getRequestParameter('type') == 'usage') {
+               $FQFN = sprintf("%s%s/usage.png",
+                       getConfig('PATH'),
+                       getConfig('usage_base')
+               );
+       } else {
+               if (strpos(getRequestParameter('image'), "\\") > 0) setGetRequestParameter('image', substr(getRequestParameter('image'), 0, strpos(getRequestParameter('image'), "\\")));
+               $FQFN = sprintf("%s%s/%s_usage_%s.png",
+                       getConfig('PATH'),
+                       getConfig('usage_base'),
+                       getRequestParameter('type'),
+                       getRequestParameter('image')
+               );
        }
-       if (file_exists($file))
-       {
-               $image = imagecreatefrompng($file);
-               header("Content-type: image/png");
+
+       if (isFileReadable($FQFN)) {
+               $image = imagecreatefrompng($FQFN);
+               sendHeader('Content-Type: image/png');
                imagepng($image);
                imagedestroy($image);
        }
-       exit();
-}
- elseif (empty($_GET['usage']))
-{
-       $file = PATH.$usage."index.html";
-}
- else
-{
-       $file = sprintf("%s%susage_%s.html",
-               PATH,
-               $usage,
-               SQL_ESCAPE($_GET['usage'])
+       shutdown();
+} elseif (!isGetRequestParameterSet('usage')) {
+       $FQFN = sprintf("%s%s/index.html",
+               getConfig('PATH'),
+               getConfig('usage_base')
+       );
+} else {
+       $FQFN = sprintf("%s%s/usage_%s.html",
+               getConfig('PATH'),
+               getConfig('usage_base'),
+               getRequestParameter('usage')
        );
 }
-if ($file !="")
-{
-       if (file_exists($file) && is_readable($file))
-       {
-                       $tmpl_file = implode("", file($file));
-                       $tmpl_file = addslashes($tmpl_file);
-                       $tmpl_file = "\$content=\"".$tmpl_file."\";";
-                       eval($tmpl_file);
-                       $content = str_replace("usage.png", URL."/modules.php?module=admin&amp;what=".$GLOBALS['what']."&type=usage&image=usage", $content);
-                       $content = str_replace("daily_usage_", URL."/modules.php?module=admin&amp;what=".$GLOBALS['what']."&type=daily&image=", $content);
-                       $content = str_replace("hourly_usage_", URL."/modules.php?module=admin&amp;what=".$GLOBALS['what']."&type=hourly&image=", $content);
-                       $content = str_replace("ctry_usage_", URL."/modules.php?module=admin&amp;what=".$GLOBALS['what']."&type=ctry&image=", $content);
-                       $content = str_replace("usage_", URL."/modules.php?module=admin&amp;what=".$GLOBALS['what']."&usage=", str_replace(".html", "", $content));
-                       // Disabled due to too much trouble
-                       //$content = str_replace("HREF=\"http://", "href=\"".URL."/modules.php?module=loader&amp;url=http://", $content);
-                       $test = strtolower($content);
-                       $body_start = strpos($test, "<body");
-                       $body_end   = strpos($test, "</body>");
-                       if (($body_start > 0) && ($body_end > 0))
-                       {
-                               $content = substr(substr($content, 0, $body_end), $body_start);
-                               $content = substr($content, strpos($content, ">") + 1);
-                               OUTPUT_HTML ("<DIV align=\"left\">
-  ".$content."
-</DIV>");
-                       }
-       }
+
+if ((!empty($FQFN)) && (isFileReadable($FQFN))) {
+       // @TODO This code is double, see loadTemplate() and loadEmailTemplate() in functions.php
+       eval('$content="' . SQL_ESCAPE(readFromFile($FQFN)) . '";');
+       // Until here...
+
+       // Replace URLs
+       $content = str_replace('usage.png'    , '{?URL?}/modules.php?module=admin&amp;what=' . getWhat() . '&amp;type=usage&amp;image=usage', $content);
+       $content = str_replace('daily_usage_' , '{?URL?}/modules.php?module=admin&amp;what=' . getWhat() . '&amp;type=daily&amp;image='     , $content);
+       $content = str_replace('hourly_usage_', '{?URL?}/modules.php?module=admin&amp;what=' . getWhat() . '&amp;type=hourly&amp;image='    , $content);
+       $content = str_replace('ctry_usage_'  , '{?URL?}/modules.php?module=admin&amp;what=' . getWhat() . '&amp;type=ctry&amp;image='      , $content);
+       $content = str_replace('usage_'       , '{?URL?}/modules.php?module=admin&amp;what=' . getWhat() . '&amp;usage='                , str_replace('.html', '', $content));
+       $test = strtolower($content);
+
+       // Do we need to strip out above and including <body> plus trailing </html> tag?
+       if ((strpos($test, '<body') > 0) && (strpos($test, '</body>') > 0)) {
+               // Okay, then do so.
+               $content = substr(substr($content, 0, $body_end), $body_start);
+               $content = substr($content, strpos($content, '>') + 1);
+       } // END - if
+
+       // Output code
+       outputHtml($content);
+} else {
+       // Nothing to load, then we have no directory 'usage'
+       loadTemplate('admin_settings_saved', false, getMessage('ADMIN_USAGE_DIRECTORY_404'));
 }
-CLOSE_TABLE();
-//
+
+// [EOF]
 ?>