#!/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("/usr/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 <