From 29c8a65f8b2b66052452f4e06cf383720573e6f2 Mon Sep 17 00:00:00 2001 From: ms Date: Sat, 11 Nov 2006 16:23:31 +0000 Subject: [PATCH] Uptime-CGI vom gruenen Testfire kopiert. git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@345 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- html/cgi-bin/uptime.cgi | 154 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 html/cgi-bin/uptime.cgi diff --git a/html/cgi-bin/uptime.cgi b/html/cgi-bin/uptime.cgi new file mode 100644 index 0000000000..65af6527ba --- /dev/null +++ b/html/cgi-bin/uptime.cgi @@ -0,0 +1,154 @@ +#!/usr/bin/perl +# +# IPFire CGIs +# +# This code is distributed under the terms of the GPL +# +# (c) The IPFire Team +# + +use strict; +# enable only the following on debugging purpose +use warnings; +use CGI::Carp 'fatalsToBrowser'; + +require '/var/ipfire/general-functions.pl'; +require "${General::swroot}/lang.pl"; +require "${General::swroot}/header.pl"; + +my %uptimesettings = (); +my %proxysettings = (); +my %checked = (); +my $message = ""; +my $errormessage = ""; +my %selected= () ; +my $uptimefile = "/var/ipfire/uptime/yasuc.conf"; +&General::readhash("${General::swroot}/proxy/advanced/settings", \%proxysettings); + +&Header::showhttpheaders(); + +$uptimesettings{'ENABLE'} = 'off'; +$uptimesettings{'USER'} = ''; +$uptimesettings{'PASS'} = ''; +$uptimesettings{'PROXY'} = $proxysettings{'ENABLE'}; +### Values that have to be initialized +$uptimesettings{'ACTION'} = ''; + +&General::readhash("${General::swroot}/uptime/settings", \%uptimesettings); +&Header::getcgihash(\%uptimesettings); + +&Header::openpage('Uptime Client', 1, ''); +&Header::openbigbox('100%', 'left', '', $errormessage); + +############################################################################################################################ +############################################################################################################################ + +if ($uptimesettings{'ACTION'} eq $Lang::tr{'save'}) +{ + &save_configuration(); +} +elsif ($uptimesettings{'ACTION'} eq $Lang::tr{'uptime enable'}) +{ + &save_configuration(); + system("/bin/touch ${General::swroot}/uptime/enabled"); + system("/usr/local/bin/yasucctrl enable"); +} +elsif ($uptimesettings{'ACTION'} eq $Lang::tr{'uptime disable'}) +{ + unlink "${General::swroot}/uptime/enabled"; + system("/usr/local/bin/yasucctrl disable"); +} +elsif ($uptimesettings{'ACTION'} eq $Lang::tr{'uptime update now'}) +{ + &save_configuration(); + system("/usr/local/bin/yasucctrl"); +} + +&General::readhash("${General::swroot}/uptime/settings", \%uptimesettings); + +if ($errormessage) { + &Header::openbox('100%', 'left', $Lang::tr{'error messages'}); + print "$errormessage\n"; + print " \n"; + &Header::closebox(); +} + +$checked{'PROXY'}{'on'} = ''; +$checked{'PROXY'}{'off'} = ''; +$checked{'PROXY'}{"$uptimesettings{'PROXY'}"} = 'checked'; + +############################################################################################################################ +############################################################################################################################ + +&Header::openbox('100%', 'center', 'Uptime Client'); +print < +END +; + if ( $message ne "" ) { + print "$message"; + } + + my $status = ""; + my $status_color = ""; + if ( -e "${General::swroot}/uptime/enabled" ){ + $status_color = $Header::colourgreen; + $status = $Lang::tr{'running'}; + } else { + $status_color = $Header::colourred; + $status = $Lang::tr{'stopped'}; + } + + print < + Uptime Client: + + + + + $status + +
+
+ +
Basisoptionen +
Username: +
Password: + +
Proxyeinstellungen +
Use proxy: +
+
+
+END +; +&Header::closebox(); +&Header::closebigbox(); +&Header::closepage(); + +############################################################################################################################ +############################################################################################################################ + +sub save_configuration { + # A small helper to create our configurationfile + &General::writehash("${General::swroot}/uptime/settings", \%uptimesettings); + if ($uptimesettings{'PROXY'} == "on"){ $uptimesettings{'PROXY'} = "yes";} + if ($uptimesettings{'PROXY'} == "off"){ $uptimesettings{'PROXY'} = "no";} + open( FILE, "> $uptimefile" ) or die "Unable to write $uptimefile"; + print FILE <