]>
git.ipfire.org Git - people/amarx/ipfire-2.x.git/blob - html/cgi-bin/uptime.cgi
ab6eaf2ecb8cf1c2c5b915bd26370ff126d8fe32
5 # This code is distributed under the terms of the GPL
11 # enable only the following on debugging purpose
13 use CGI
::Carp
'fatalsToBrowser';
15 require '/var/ipfire/general-functions.pl';
16 require "${General::swroot}/lang.pl";
17 require "${General::swroot}/header.pl";
19 my %uptimesettings = ();
20 my %proxysettings = ();
23 my $errormessage = "";
25 my $uptimefile = "/var/ipfire/uptime/yasuc.conf";
26 &General
::readhash
("${General::swroot}/proxy/advanced/settings", \
%proxysettings);
28 &Header
::showhttpheaders
();
30 $uptimesettings{'ENABLE'} = 'off';
31 $uptimesettings{'USER'} = '';
32 $uptimesettings{'PASS'} = '';
33 $uptimesettings{'PROXY'} = $proxysettings{'ENABLE'};
34 ### Values that have to be initialized
35 $uptimesettings{'ACTION'} = '';
37 &General
::readhash
("${General::swroot}/uptime/settings", \
%uptimesettings);
38 &Header
::getcgihash
(\
%uptimesettings);
40 &Header
::openpage
('Uptime Client', 1, '');
41 &Header
::openbigbox
('100%', 'left', '', $errormessage);
43 ############################################################################################################################
44 ############################################################################################################################
46 if ($uptimesettings{'ACTION'} eq $Lang::tr
{'save'})
48 &save_configuration
();
50 elsif ($uptimesettings{'ACTION'} eq $Lang::tr
{'uptime enable'})
52 &save_configuration
();
53 system("/usr/bin/touch ${General::swroot}/uptime/enabled");
54 system("/usr/local/bin/yasucctrl enable");
56 elsif ($uptimesettings{'ACTION'} eq $Lang::tr
{'uptime disable'})
58 unlink "${General::swroot}/uptime/enabled";
59 system("/usr/local/bin/yasucctrl disable");
61 elsif ($uptimesettings{'ACTION'} eq $Lang::tr
{'uptime update now'})
63 &save_configuration
();
64 system("/usr/local/bin/yasucctrl");
67 &General
::readhash
("${General::swroot}/uptime/settings", \
%uptimesettings);
70 &Header
::openbox
('100%', 'left', $Lang::tr
{'error messages'});
71 print "<class name='base'>$errormessage\n";
72 print " </class>\n";
76 $checked{'PROXY'}{'on'} = '';
77 $checked{'PROXY'}{'off'} = '';
78 $checked{'PROXY'}{"$uptimesettings{'PROXY'}"} = 'checked';
80 ############################################################################################################################
81 ############################################################################################################################
83 &Header
::openbox
('100%', 'center', 'Uptime Client');
85 <table width='300px' cellspacing='0'>
88 if ( $message ne "" ) {
89 print "<tr><td colspan='3' align='center'><font color='red'>$message</font>";
93 my $status_color = "";
94 if ( -e
"${General::swroot}/uptime/enabled" ){
95 $status_color = $Header::colourgreen
;
96 $status = $Lang::tr
{'running'};
98 $status_color = $Header::colourred
;
99 $status = $Lang::tr
{'stopped'};
103 <form method='post' action='$ENV{'SCRIPT_NAME'}'>
104 <tr><td><b>Uptime Client:</b></td><td colspan='2'>
105 <input type='submit' name='ACTION' value='$Lang::tr{'uptime enable'}' />
106 <input type='submit' name='ACTION' value='$Lang::tr{'uptime disable'}' />
107 <input type='submit' name='ACTION' value='$Lang::tr{'uptime update now'}' />
109 <tr><td colspan='2' bgcolor=$status_color align='center'><font color='white'<b>$status</b></font></td></tr>
112 <form method='post' action='$ENV{'SCRIPT_NAME'}'>
113 <table width='500px'>
114 <tr><td colspan='2' align='left'><b>Basisoptionen</b>
115 <tr><td align='left'>Username:<td><input type='text' name='USER' value='$uptimesettings{'USER'}'>
116 <tr><td align='left'>Password:<td><input type='password' name='PASS' value='$uptimesettings{'PASS'}'>
118 <tr><td colspan='2' align='left'><b>Proxyeinstellungen</b>
119 <tr><td align='left'>Use proxy:<td><input type='checkbox' name='PROXY' $checked{'PROXY'}{'on'}>
120 <tr><td colspan='2' align='right'><input type='submit' name='ACTION' value=$Lang::tr{'save'}>
126 &Header
::closebigbox
();
127 &Header
::closepage
();
129 ############################################################################################################################
130 ############################################################################################################################
132 sub save_configuration
{
133 # A small helper to create our configurationfile
134 &General
::writehash
("${General::swroot}/uptime/settings", \
%uptimesettings);
135 if ($uptimesettings{'PROXY'} == "on"){ $uptimesettings{'PROXY'} = "yes";}
136 if ($uptimesettings{'PROXY'} == "off"){ $uptimesettings{'PROXY'} = "no";}
137 open( FILE
, "> $uptimefile" ) or die "Unable to write $uptimefile";
140 user = $uptimesettings{'USER'}
141 password= $uptimesettings{'PASS'}
142 proxy = $uptimesettings{'PROXY'}
147 port = $proxysettings{'PROXY_PORT'}
150 path = /var/log/yasuc.log