[geeklog-hg] geeklog: log parameters for 404 errors & make filtering in 404.l...
geeklog-cvs at lists.geeklog.net
geeklog-cvs at lists.geeklog.net
Thu Oct 1 15:41:58 EDT 2015
changeset 9626:36abc9942837
url: http://project.geeklog.net/cgi-bin/hgwebdir.cgi/geeklog/rev/36abc9942837
user: Dirk Haun <dirk at haun-online.de>
date: Thu Oct 01 21:41:51 2015 +0200
description:
log parameters for 404 errors & make filtering in 404.log work like in error.log
diffstat:
public_html/lib-common.php | 34 +++++++++++++++-------------------
1 files changed, 15 insertions(+), 19 deletions(-)
diffs (66 lines):
diff -r 276ffb7db1bf -r 36abc9942837 public_html/lib-common.php
--- a/public_html/lib-common.php Tue Sep 29 08:57:58 2015 +0200
+++ b/public_html/lib-common.php Thu Oct 01 21:41:51 2015 +0200
@@ -8158,7 +8158,6 @@
{
global $_CONF, $_USER, $LANG_404;
-
if (function_exists('CUSTOM_handle404')) {
CUSTOM_handle404($alternate_url);
exit;
@@ -8168,31 +8167,27 @@
header('HTTP/1.1 404 Not Found');
header('Status: 404 Not Found');
- $display .= COM_startBlock($LANG_404[1]);
- if (isset($_SERVER['SCRIPT_URI'])) {
- $url = strip_tags($_SERVER['SCRIPT_URI']);
- } else {
- $request = $_SERVER['REQUEST_URI'];
- $url = 'http://' . $_SERVER['HTTP_HOST'] . strip_tags($request);
- }
-
// Add log stuff
+ $url = COM_getCurrentURL();
if (isset($_USER['uid'])) {
$byuser = $_USER['uid'] . '@' . $_SERVER['REMOTE_ADDR'];
} else {
$byuser = 'anon@' . $_SERVER['REMOTE_ADDR'];
}
$refurl = $_SERVER['HTTP_REFERER'];
- $remoteaddress = $_SERVER['REMOTE_ADDR'];
- $timestamp = @strftime( '%c' );
- $logentry = "404 Error generated by $byuser for url: $url - Referring url: $refurl";
+ $timestamp = @strftime('%c');
+ $logentry = "404 Error generated by $byuser for url: $url";
+ if (! empty($refurl)) {
+ $logentry .= " - Referring url: $refurl";
+ }
+ $logentry = str_replace(array('<?', '?>'), array('(@', '@)'), $logentry);
+
$logfile = $_CONF['path_log'] . '404.log';
- if (!$file = fopen($logfile, 'a')) {
-
- } else {
- fputs( $file, "$timestamp - $logentry \n" );
- }
-
+ if ($file = fopen($logfile, 'a')) {
+ fputs($file, "$timestamp - $logentry \n");
+ }
+
+ $display = COM_startBlock($LANG_404[1]);
$display .= sprintf($LANG_404[2], $url);
if ($alternate_url != '') {
$display .= sprintf($LANG_404[4], $alternate_url);
@@ -8200,7 +8195,8 @@
$display .= $LANG_404[3];
}
$display .= COM_endBlock();
- $display = COM_createHTMLDocument($display, array('pagetitle' => $LANG_404[1]));
+ $display = COM_createHTMLDocument($display,
+ array('pagetitle' => $LANG_404[1]));
COM_output($display);
exit; // Do not want to go any further
More information about the geeklog-cvs
mailing list