[PATCH] logs.dat: cosmetical upgrade

Matthias Fischer matthias.fischer at ipfire.org
Sun Sep 25 07:56:13 CEST 2016


Hi,

It has always bothered me that the 'Section' list under "System Logs / Settings" was
unsorted and you had to search for the wanted entry. You always get the wrong one first
or look at the wrong place or both...

So I took a deep look at http://perlmaven.com/how-to-sort-a-hash-in-perl.

What I did:
- Sorted 'section' and 'trsection' for better readibility.
- Corrected some typos. Not all...
- Changed 'section' output to an alphabetically sorted list.
- Added an entry for URLFilter Blacklist update.

Just cosmetics... ;-)

Best,
Matthias

Signed-off-by: Matthias Fischer <matthias.fischer at ipfire.org>
---
 html/cgi-bin/logs.cgi/log.dat | 64 ++++++++++++++++++++++---------------------
 1 file changed, 33 insertions(+), 31 deletions(-)

diff --git a/html/cgi-bin/logs.cgi/log.dat b/html/cgi-bin/logs.cgi/log.dat
index 82b6aa0..243b7ab 100644
--- a/html/cgi-bin/logs.cgi/log.dat
+++ b/html/cgi-bin/logs.cgi/log.dat
@@ -49,50 +49,52 @@ $cgiparams{'ACTION'} = '';
 $cgiparams{'SECTION'} = 'ipfire';
 
 my %sections = (
-        'ipfire' => '(ipfire: )',
-        'red' => '(red:|pppd\[.*\]: |chat\[.*\]|pppoe\[.*\]|pptp\[.*\]|pppoa\[.*\]|pppoa3\[.*\]|pppoeci\[.*\]|ipppd|ipppd\[.*\]|kernel: ippp\d|kernel: isdn.*|ibod\[.*\]|dhcpcd\[.*\]|modem_run\[.*\])',
-        'ddns' => '(ddns\[\d+\]:)',
-        'dns' => '(dnsmasq\[.*\]: |unbound\[.*\]: )',
-        'dma' => '(dma\[.*\]: )',
-        'dhcp' => '(dhcpd: )',
+        'auth' => '(\w+\(pam_unix\)\[.*\]: )',
         'clamav' => '(clamd\[.*\]: |freshclam\[.*\]: )',
         'collectd' => '(collectd\[.*\]: )',
         'cron' => '(fcron\[.*\]: )',
-        'ntp' => '(ntpd(?:ate)?\[.*\]: )',
-        'ssh' => '(sshd(?:\(.*\))?\[.*\]: )',
-        'auth' => '(\w+\(pam_unix\)\[.*\]: )',
-        'kernel' => '(kernel: (?!DROP_))',
+        'ddns' => '(ddns\[\d+\]:)',
+        'dhcp' => '(dhcpd: )',
+        'dma' => '(dma\[.*\]: )',
+        'dns' => '(dnsmasq\[.*\]: )',
+        'guardian' => '(guardian\[.*\]: )',
+        'ipfire' => '(ipfire: )',
         'ipsec' => '(ipsec_[\w_]+: |pluto\[.*\]: |charon: |vpnwatch: )',
+        'kernel' => '(kernel: (?!DROP_))',
+        'ntp' => '(ntpd(?:ate)?\[.*\]: )',
         'openvpn' => '(openvpnserver\[.*\]: |.*n2n\[.*\]: )',
-        'pakfire' => '(pakfire:) ',
-        'wireless' => '(hostapd:|kernel: ath.*:|kernel: wifi[0-9]:) ',
-        'squid' => '(squid\[.*\]: |squid: )',
+        'pakfire' => '(pakfire:)',
+        'red' => '(red:|pppd\[.*\]: |chat\[.*\]|pppoe\[.*\]|pptp\[.*\]|pppoa\[.*\]|pppoa3\[.*\]|pppoeci\[.*\]|ipppd|ipppd\[.*\]|kernel: ippp\d|kernel: isdn.*|ibod\[.*\]|dhcpcd\[.*\]|modem_run\[.*\])',
         'snort' => '(snort\[.*\]: )',
-        'guardian' => '(guardian\[.*\]: )'
+        'squid' => '(squid\[.*\]: |squid: )',
+        'ssh' => '(sshd(?:\(.*\))?\[.*\]: )',
+        'urlfilter bl' => '(installpackage\[urlfilter\]: )',
+        'wireless' => '(hostapd:|kernel: ath.*:|kernel: wifi[0-9]:)'
 	 );
 
 # Translations for the %sections array.
 my %trsections = (
-        'ipfire' => 'IPFire',
-        'red' => 'RED',
+        'auth' => "$Lang::tr{'loginlogout'}",
+        'clamav' => 'ClamAV',
+        'collectd' => 'Collectd',
+        'cron' => 'Cron',
         'ddns' => "$Lang::tr{'dynamic dns'}",
-        'dns' => 'DNS',
-        'dma' => 'Mail',
         'dhcp' => "$Lang::tr{'dhcp server'}",
-        'cron' => 'Cron',
-        'collectd' => 'Collectd',
-        'clamav' => 'ClamAV',
-        'ntp' => 'NTP',
-        'ssh' => 'SSH',
-        'auth' => "$Lang::tr{'loginlogout'}",
-        'kernel' => "$Lang::tr{'kernel'}",
+        'dma' => 'Mail',
+        'dns' => 'DNS',
+        'guardian' => "$Lang::tr{'guardian'}",
+        'ipfire' => 'IPFire',
         'ipsec' => 'IPSec',
+        'kernel' => "$Lang::tr{'kernel'}",
+        'ntp' => 'NTP',
         'openvpn' => 'OpenVPN',
         'pakfire' => 'Pakfire',
-        'wireless' => 'Wireless',
-        'squid' => "$Lang::tr{'web proxy'}",
+        'red' => 'RED',
         'snort' => "$Lang::tr{'intrusion detection'}",
-        'guardian' => "$Lang::tr{'guardian'}"
+        'squid' => "$Lang::tr{'web proxy'}",
+        'ssh' => 'SSH',
+        'urlfilter bl' => 'URLFilter Blacklist',
+        'wireless' => 'Wireless'
 	);
 
 
@@ -212,7 +214,7 @@ while ($gzindex >=0 && $loop) {
 	    READ:while (<FILE>) {
 		my $line = $_;
 	 	if ($line =~ /^${monthstr} ${daystr} ..:..:.. [\w\-]+ ${section}(.*)/) {
-		    # when standart viewing, just keep in memory the correct slice
+		    # when standard viewing, just keep in memory the correct slice
 		    # it starts a '$start' and size is $viewport
 		    # If export, then keep all lines...
 		    if ($cgiparams{'ACTION'} eq $Lang::tr{'export'}){
@@ -223,7 +225,7 @@ while ($gzindex >=0 && $loop) {
 			    if (@log > $Header::viewsize) {
 			        shift (@log);
 			    }
-			#} else { dont do this optimisation, need to count lines !
+			#} else { don't do this optimisation, need to count lines !
 			    #    $datetime = $maxtime; # we have read viewsize lines, stop main loop
 			    #    last READ;           # exit read file
 			}
@@ -288,7 +290,7 @@ print <<END
 	<select name='SECTION'>
 END
 ;
-foreach $section (keys %sections) {
+foreach $section (sort {$trsections{$a} cmp $trsections{$b}} keys %sections) {
 	print "\t<option ";
 	if ($section eq $cgiparams{'SECTION'}) {
 		print "selected='selected' "; }
-- 
2.9.3



More information about the Development mailing list