X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-logs.php;h=6d244e9656a9866efe8595bac7e1c5a3c9cf43fe;hp=85844bb5c00ca09b0a84a24ba63ab01c3f07e335;hb=841656d70d60cbd5f0768e12cf73a62aa643cf35;hpb=75ad748a68473ace540251427a74fb781b1145e9 diff --git a/inc/modules/admin/what-logs.php b/inc/modules/admin/what-logs.php index 85844bb5c0..6d244e9656 100644 --- a/inc/modules/admin/what-logs.php +++ b/inc/modules/admin/what-logs.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * 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 * @@ -32,67 +37,80 @@ ************************************************************************/ // 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__); -if (!empty($_GET['access'])) { +if (isGetRequestElementSet('access')) { // Secure input and construct FQFN - $access = SQL_ESCAPE(strip_tags($_GET['access'])); - $target = sprintf("%slogs/%s", PATH, $access); + $access = SQL_ESCAPE(secureString(getRequestElement('access'))); + $target = sprintf("%slogs/%s", getConfig('PATH'), $access); // Is the file valid and readable? - if ((file_exists($target)) && (is_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, 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); + loadTemplate('admin_settings_saved', false, sprintf(getMessage('LOGFILE_NOT_READABLE'), $access)); } } else { - // List access logfiles - $dir = PATH.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)) { - // 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. "); - } - } - @closedir($handle); - OUTPUT_HTML ("
"); - } - else - { + // Is the directory there? + if (isDirectory(getConfig('PATH') . getConfig('logs_base'))) { + // Logs directory does exist so begin the list + outputHtml('
    '); + + // 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('
  1. ' . $file . '
  2. '); + } // END - foreach + + // Finish list + outputHtml('
'); + } 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, sprintf(getMessage('ADMIN_LOGS_DIR_404'), getConfig('logs_base'))); } } -// +// [EOF] ?>