fooRequestElementBar() functions renamed, adding of request parameters added:
[mailer.git] / inc / modules / admin / what-logs.php
index 14ab44f1151343e44e64cff93e56d3b5ebbec1e0..93a38da324f25b7af74d4b7ab5415f4564e31d61 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-logs.php                                    *
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Management fuer Zugriffslogbuecher               *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $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                           *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  ************************************************************************/
 
 // Some security stuff...
-if ((!defined('__SECURITY')) || (!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", __FILE__);
+addMenuDescription('admin', __FILE__);
 
-if (!empty($_GET['access'])) {
+if (isGetRequestParameterSet('access')) {
        // Secure input and construct FQFN
-       $access = SQL_ESCAPE(strip_tags($_GET['access']));
-       $target = sprintf("%slogs/%s", PATH, $access);
+       $access = SQL_ESCAPE(secureString(getRequestParameter('access')));
+       $target = sprintf("%slogs/%s", getConfig('PATH'), $access);
 
        // Is the file valid and readable?
-       if (FILE_READABLE($target)) {
+       if (isFileReadable($target)) {
                // Load it directly
-               $content = implode("", file($target));
+               $content = readFromFile($target);
+
+               // Save old content
+               $OUTPUT = ob_get_contents();
+
+               // Clean content
+               clearOutputBuffer();
 
                // Set header
-               if (substr($access, -3, 3) == "log") {
-                       header("Content-Type: text/plain");
-               } elseif (substr($access, -3, 3) == ".gz") {
-                       header("Content-Type: text/plain");
+               if (substr($access, -3, 3) == 'log') {
+                       // Output header
+                       sendHeader('Content-Type: text/plain');
+               } elseif (substr($access, -3, 3) == '.gz') {
+                       // @TODO Fix content-type here
+                       sendHeader('Content-Type: text/plain');
+               } elseif (substr($access, -3, 3) == '.bz2') {
+                       // @TODO Fix content-type here
+                       sendHeader('Content-Type: text/plain');
                } else {
-                       LOAD_TEMPLATE("admin_settings_saved", false, UNKNOWN_LOGFILE_FORMAT_1.$access.UNKNOWN_LOGFILE_FORMAT_2);
+                       // Restore old content
+                       outputHtml($OUTPUT);
+
+                       // Output message
+                       loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_UNKNOWN_LOGFILE_FORMAT', $access));
                        return;
                }
 
-               // Clean content
-               ob_end_clean();
-
                // Output the logfile's content and exit
                print($content);
-               exit;
+               shutdown();
        } else {
                // Not readable!
-               LOAD_TEMPLATE("admin_settings_saved", false, LOGFILE_NOT_READABLE_1.$access.LOGFILE_NOT_READABLE_2);
+               loadTemplate('admin_settings_saved', false, getMaskedMessage('LOGFILE_NOT_READABLE', $access));
        }
 } else {
-       // List access logfiles
-       $dir = PATH.LOGS_BASE."/";
-       if (is_dir($dir)) {
-               // logs directory does exist
-               OUTPUT_HTML("<OL>");
-               $handle = @opendir($dir) or mxchange_die("Cannot open directory ".LOGS_BASE."!");
-               while($file = @readdir($handle)) {
-                       // We currenly only like files with "access" as prefix, should be more flexible!
-                       if (substr($file, 0, 6) == "access") {
-                               // Okay, let us print it out
-                               OUTPUT_HTML("<LI><A href=\"".URL."/modules.php?module=admin&amp;what=".$GLOBALS['what']."&access=".urlencode($file)."\">".$file."</A></LI>");
-                       }
-               }
-               @closedir($handle);
-               OUTPUT_HTML("</OL>");
-       }
-        else
-       {
+       // Is the directory there?
+       if (isDirectory(getConfig('PATH') . getConfig('logs_base'))) {
+               // Logs directory does exist so begin the list
+               outputHtml('<ol>');
+
+               // Read all files
+               $files = getArrayFromDirectory(getConfig('logs_base'), 'access');
+
+               // And walk through them
+               foreach ($files as $file) {
+                       // Cut dirname away
+                       $file = basename($file);
+
+                       // Okay, add it
+                       outputHtml('<li><a href="{%url=modules.php?module=admin&amp;what=' . getWhat() . '&amp;access=' . urlencode($file) . '%}">' . $file . '</a></li>');
+               } // END - foreach
+
+               // Finish list
+               outputHtml('</ol>');
+       } else {
                // logs directory does not exist
-               LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_LOGS_DIR_404_1.LOGS_BASE.ADMIN_LOGS_DIR_404_2);
+               loadTemplate('admin_settings_saved', false, getMessage('ADMIN_LOGS_DIR_404'));
        }
 }
 
-//
+// [EOF]
 ?>