X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-logs.php;h=711ad3edc1e7b87435f1aa07d72db220f89eb89f;hp=55d0bb06e3b86ade13f0859120acbc1d3f5c7e94;hb=f3e4c2c048761589836fdbe6bd2e46599a1833a7;hpb=4ef4c88fc481335dc0631b223111c15a84cccb51 diff --git a/inc/modules/admin/what-logs.php b/inc/modules/admin/what-logs.php index 55d0bb06e3..711ad3edc1 100644 --- a/inc/modules/admin/what-logs.php +++ b/inc/modules/admin/what-logs.php @@ -10,7 +10,12 @@ * -------------------------------------------------------------------- * * 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 * @@ -32,65 +37,75 @@ ************************************************************************/ // 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_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("
    "); - $handle = @opendir($dir) or mxchange_die("Cannot open directory ".LOGS_BASE."!"); - while($file = @readdir($handle)) { + OUTPUT_HTML("
      "); + $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("
    1. ".$file."
    2. "); + OUTPUT_HTML("
    3. ".$file."
    4. "); } } - @closedir($handle); - OUTPUT_HTML("
    "); - } - else - { + closedir($handle); + OUTPUT_HTML("
"); + } 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'))); } }