1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
<?php
/**
* Copyright 2009-2017 Christoph Brill <egore911@gmail.com>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* @category Web
* @package DRI\HTML
* @author Christoph Brill <egore911@gmail.com>
* @copyright 2012-2017 Christoph Brill <egore911@gmail.com>
* @license MIT https://opensource.org/licenses/MIT
* @link https://people.freedesktop.org/~cbrill/
*/
$filename = 'dri-devel-'.$date.'.log';
$pattern = '#(^|[^\"=]{1})(http://|ftp://|https://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
$timehashes = array();
$lines = file(LOG_DIR.$filename);
$anything_displayed = false;
foreach ($lines as $line_num => $line) {
if (isFromChannel($line, $channel)) {
if (!filterJoin($line)) {
$user = getUser($line);
$user_clean = substr($user, 2, -1);
if (in_array($user_clean, $ignore)) {
continue;
}
$anything_displayed = true;
$user = htmlentities($user, ENT_QUOTES);
$time = getTime($line);
echo '<span class="user_'.preg_replace('/[^A-Za-z0-9]/', '_', $user_clean).'">';
$line = htmlentities($line, ENT_QUOTES);
if ($show_html == 'true') {
$line = preg_replace($pattern, "\\1<a target=\"_blank\" href=\"\\2\\3\">\\2\\3</a>\\4", $line);
}
$user_link = '<a class="username inherit" href="javascript:toggleUser(\''.$user_clean.'\');"';
if (isset($realname[$user_clean])) {
$user_link .= ' title="'.$realname[$user_clean].'"';
}
$user_link .= '>'.$user_clean.'</a>:';
$line = preg_replace('/([0-9:]{5}) #'.$channel.':/', '\\1', $line);
if (!in_array($time, $timehashes)) {
$time_link = '<a class="time inherit" name="t-'.str_replace(':', '', $time).'">'.$time.'</a>';
$line = str_replace($time, $time_link, $line);
array_push($timehashes, $time);
} else {
$time_link = '<span class="time">'.$time.'</span>';
$line = str_replace($time, $time_link, $line);
}
echo str_replace($user, $user_link, $line),'<br/>';
echo '</span>';
}
}
}
if (!$anything_displayed) {
echo 'No logs found';
}
|