<?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 *
+ * 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 ((!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", getPath(), $access);
// Is the file valid and readable?
- if (FILE_READABLE($target)) {
+ if (isFileReadable($target)) {
// Load it directly
- $content = implode("", file($target));
+ $content = readFromFile($target);
// 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');
+
+ // Clean content
+ clearOutputBuffer();
+ } elseif (substr($access, -3, 3) == '.gz') {
+ // @TODO Fix content-type here
+ sendHeader('Content-Type: text/plain');
+
+ // Clean content
+ clearOutputBuffer();
+ } elseif (substr($access, -3, 3) == '.bz2') {
+ // @TODO Fix content-type here
+ sendHeader('Content-Type: text/plain');
+
+ // Clean content
+ clearOutputBuffer();
} else {
- LOAD_TEMPLATE("admin_settings_saved", false, UNKNOWN_LOGFILE_FORMAT_1.$access.UNKNOWN_LOGFILE_FORMAT_2);
+ // 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&what=".$GLOBALS['what']."&access=".urlencode($file)."\">".$file."</A></LI>");
- }
- }
- @closedir($handle);
- OUTPUT_HTML("</OL>");
- }
- else
- {
+ // Is the directory there?
+ if (isDirectory(getPath() . getConfig('logs_base'))) {
+ // Logs directory does exist so begin the list
+ outputHtml('<ol>');
+
+ // Read all files
+ foreach (getArrayFromDirectory(getConfig('logs_base'), 'access') as $file) {
+ // Cut dirname away
+ $file = basename($file);
+
+ // Okay, add it
+ outputHtml('<li><a href="{%url=modules.php?module=admin&what=' . getWhat() . '&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, '{--ADMIN_LOGS_DIR_404--}');
}
}
-//
+// [EOF]
?>