]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - html/cgi-bin/time.cgi
Merge branch 'master' of ssh://arne_f@ipfire.org/pub/git/ipfire-2.x
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / time.cgi
index 9b599453b583daf6d5a2e1ee4c0265a450a17765..988a1484cc10fdb6a77180b120d55bf4c9cda6e1 100644 (file)
@@ -1,17 +1,23 @@
 #!/usr/bin/perl
-#
-# IPFire CGIs
-#
-# This file is part of the IPFire Project
-# 
-# This code is distributed under the terms of the GPL
-#
-# (c) Eric Oberlander June 2002
-#
-# (c) Darren Critchley June 2003 - added real time clock setting, etc
-#
-# $Id: time.cgi,v 1.4.2.11 2005/05/28 12:16:18 eoberlander Exp $
-#
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
 
 use strict;
 
@@ -38,11 +44,6 @@ $timesettings{'UPDATE_METHOD'} = 'manually';
 $timesettings{'UPDATE_VALUE'} = '0';
 $timesettings{'UPDATE_PERIOD'} = '';
 $timesettings{'ENABLECLNTP'} = 'off';
-$timesettings{'SETHOUR'} = '';
-$timesettings{'SETMINUTES'} = '';
-$timesettings{'SETDAY'} = '';
-$timesettings{'SETMONTH'} = '';
-$timesettings{'SETYEAR'} = '';
 
 &Header::getcgihash(\%timesettings);
 
@@ -123,19 +124,20 @@ ERROR:
 
        if ($timesettings{'ENABLENTP'} eq 'on' && $timesettings{'VALID'} eq 'yes')
        {
-               system ('/bin/touch', "${General::swroot}/time/enable");
+               system ('/usr/bin/touch', "${General::swroot}/time/enable");
+               system ('/usr/local/bin/timectrl enable >/dev/null 2>&1');
                &General::log($Lang::tr{'ntp syncro enabled'});
-               unlink "${General::swroot}/time/counter";
+               unlink "/var/lock/time/counter";
                if ($timesettings{'UPDATE_METHOD'} eq 'periodically')
                {
-                       open(FILE, ">/${General::swroot}/time/counter") or die "Unable to write counter file";
+                       open(FILE, ">/var/lock/time/counter") or die "Unable to write counter file";
                        flock(FILE, 2);
                        print FILE "$updateperiod\n";
                        close FILE;
                }
                if ($timesettings{'ENABLECLNTP'} eq 'on') # DPC added to 1.3.1
                {
-                       system ('/bin/touch', "${General::swroot}/time/allowclients"); # DPC added to 1.3.1
+                       system ('/usr/bin/touch', "${General::swroot}/time/allowclients"); # DPC added to 1.3.1
                        &General::log($Lang::tr{'ntpd restarted'}); # DPC added to 1.3.1
                } else {
                        unlink "${General::swroot}/time/allowclients";
@@ -145,12 +147,13 @@ ERROR:
        else
        {
                unlink "${General::swroot}/time/enable";
-               unlink "${General::swroot}/time/settimenow";
+               unlink "/var/lock/time/settimenow";
                unlink "${General::swroot}/time/allowclients"; # DPC added to 1.3.1
+               system ('/usr/local/bin/timectrl disable >/dev/null 2>&1');
                &General::log($Lang::tr{'ntp syncro disabled'})
        }
        if (! $errormessage) {
-               system ('/usr/local/bin/restartntpd'); # DPC added to 1.3.1
+               system ('/usr/local/bin/timectrl restart >/dev/null 2>&1'); # DPC added to 1.3.1
        }
 }
 
@@ -159,8 +162,7 @@ ERROR:
 $timesettings{'ACTION'} = &Header::cleanhtml ($timesettings{'ACTION'});
 if ($timesettings{'ACTION'} eq $Lang::tr{'set time now'} && $timesettings{'ENABLENTP'} eq 'on')
 {
-       system ('/bin/touch', "${General::swroot}/time/settimenow");
-       system ('/usr/local/bin/timecheckctrl >& /dev/null');
+       system ('/usr/bin/touch', "/var/lock/time/settimenow");
 }
 
 &General::readhash("${General::swroot}/time/settings", \%timesettings);
@@ -208,7 +210,7 @@ $selected{'UPDATE_PERIOD'}{$timesettings{'UPDATE_PERIOD'}} = "selected='selected
 
 # added to v0.0.4 to refresh screen if syncro event queued 
 my $refresh = '';
-if ( -e "${General::swroot}/time/settimenow") {
+if ( -e "/var/lock/time/settimenow") {
        $refresh = "<meta http-equiv='refresh' content='60;' />";
 }
 
@@ -238,10 +240,12 @@ print <<END
 END
 ;
 
-if ( -e "${General::swroot}/time/lastset")
+if ( -e "/var/lock/time/lastset")
 {
        print "$Lang::tr{'clock last synchronized at'}\n";
-       my $output = `cat ${General::swroot}/time/lastset`;
+       open(FILE, "</var/lock/time/lastset") or die "Unable to read lastset";
+       my $output = <FILE>;
+       close FILE;
        print $output;
 }
 else
@@ -290,7 +294,7 @@ print <<END
 END
 ;
 
-if ( -e "${General::swroot}/time/settimenow") {
+if ( -e "/var/lock/time/settimenow") {
        print "<tr>\n<td align='center'><img src='/images/clock.gif' alt='' /></td>\n";
        print "<td colspan='2'><font color='red'>$Lang::tr{'waiting to synchronize clock'}...</font></td></tr>\n";
 }