Fixed logfile writing in installation phase, .revision is now ignored
[mailer.git] / inc / modules / admin / what-logs.php
index 85844bb..711ad3e 100644 (file)
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Management fuer Zugriffslogbuecher               *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision:: 856                                                    $ *
+ * $Date:: 2009-03-06 20:24:32 +0100 (Fr, 06. Mär 2009)              $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author:: stelzi                                                   $ *
+ * 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                           *
  * For more information visit: http://www.mxchange.org                  *
  ************************************************************************/
 
 // Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))
-{
+if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
        $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
        require($INC);
 }
+
 // Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
+ADD_DESCR("admin", __FILE__);
 
-if (!empty($_GET['access'])) {
+if (REQUEST_ISSET_GET(('access'))) {
        // Secure input and construct FQFN
-       $access = SQL_ESCAPE(strip_tags($_GET['access']));
-       $target = sprintf("%slogs/%s", PATH, $access);
+       $access = SQL_ESCAPE(strip_tags(REQUEST_GET('access')));
+       $target = sprintf("%slogs/%s", constant('PATH'), $access);
 
        // Is the file valid and readable?
-       if ((file_exists($target)) && (is_readable($target))) {
+       if (FILE_READABLE($target)) {
                // Load it directly
-               $content = implode("", file($target));
+               $content = READ_FILE($target);
+
+               // Save old content
+               $OUTPUT = ob_get_contents();
+
+               // Clean content
+               clearOutputBuffer();
 
                // Set header
                if (substr($access, -3, 3) == "log") {
+                       // Output header
                        header("Content-Type: text/plain");
                } elseif (substr($access, -3, 3) == ".gz") {
+                       // @TODO Fix content-type here
+                       header("Content-Type: text/plain");
+               } elseif (substr($access, -3, 3) == ".bz2") {
+                       // @TODO Fix content-type here
                        header("Content-Type: text/plain");
                } else {
-                       LOAD_TEMPLATE("admin_settings_saved", false, UNKNOWN_LOGFILE_FORMAT_1.$access.UNKNOWN_LOGFILE_FORMAT_2);
+                       // Restore old content
+                       OUTPUT_HTML($OUTPUT);
+
+                       // Output message
+                       LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('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);
+               LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('LOGFILE_NOT_READABLE'), $access));
        }
 } else {
        // List access logfiles
-       $dir = PATH.LOGS_BASE."/";
+       $dir = constant('PATH') . getConfig('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)) {
+               OUTPUT_HTML("<ol>");
+               $handle = opendir($dir) or mxchange_die("Cannot open directory ".getConfig('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>");
+                               OUTPUT_HTML("<li><a href=\"{!URL!}/modules.php?module=admin&amp;what=".$GLOBALS['what']."&amp;access=".urlencode($file)."\">".$file."</a></li>");
                        }
                }
-               @closedir($handle);
-               OUTPUT_HTML ("</OL>");
-       }
-        else
-       {
+               closedir($handle);
+               OUTPUT_HTML("</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);
+               LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_LOGS_DIR_404'), getConfig('logs_base')));
        }
 }