Add CGI args parser
authorJamie Cameron <jcameron@webmin.com>
Tue, 9 Jun 2009 01:16:17 +0000 (01:16 +0000)
committerJamie Cameron <jcameron@webmin.com>
Tue, 9 Jun 2009 01:16:17 +0000 (01:16 +0000)
syslog/cgi_args.pl [new file with mode: 0644]

diff --git a/syslog/cgi_args.pl b/syslog/cgi_args.pl
new file mode 100644 (file)
index 0000000..3530946
--- /dev/null
@@ -0,0 +1,30 @@
+
+do 'syslog-lib.pl';
+
+sub cgi_args
+{
+my ($cgi) = @_;
+if ($cgi eq 'edit_log.cgi' && $access{'syslog'}) {
+       # Link to editor for first log
+       my $conf = &get_config();
+       my @logs = grep { !$_->{'tag'} && &can_edit_log($_) } @$conf;
+       return @logs ? 'idx='.$logs[0]->{'index'} :
+              $access{'noedit'} ? 'none' : 'new=1';
+       }
+elsif ($cgi eq 'save_log.cgi') {
+       if ($access{'syslog'}) {
+               # View first system log
+               my $conf = &get_config();
+               my @logs = grep { !$_->{'tag'} && &can_edit_log($_) &&
+                                 $_->{'file'} && -f $_->{'file'} } @$conf;
+               if (@logs) {
+                       return 'view=1&idx='.$logs[0]->{'index'};
+                       }
+               }
+       # View first individual log
+       my @extras = grep { &can_edit_log($_) } &extra_log_files();
+       return @extras ? 'view=1&extra='.&urlize($extras[0]->{'file'})
+                      : 'none';
+       }
+return undef;
+}