gpl.cgi: Fix proper redirection so that the agreement has only to be accepted once.
[people/teissler/ipfire-2.x.git] / html / cgi-bin / gpl.cgi
CommitLineData
9d386698
AM
1#!/usr/bin/perl
2###############################################################################
3# #
4# IPFire.org - A linux based firewall #
5# Copyright (C) 2007-2012 IPFire Team <info@ipfire.org> #
6# #
7# This program is free software: you can redistribute it and/or modify #
8# it under the terms of the GNU General Public License as published by #
9# the Free Software Foundation, either version 3 of the License, or #
10# (at your option) any later version. #
11# #
12# This program is distributed in the hope that it will be useful, #
13# but WITHOUT ANY WARRANTY; without even the implied warranty of #
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15# GNU General Public License for more details. #
16# #
17# You should have received a copy of the GNU General Public License #
18# along with this program. If not, see <http://www.gnu.org/licenses/>. #
19# #
20###############################################################################
21
22use strict;
23# enable only the following on debugging purpose
24#use warnings;
25#use CGI::Carp 'fatalsToBrowser';
26
27require '/var/ipfire/general-functions.pl';
28require "${General::swroot}/lang.pl";
29require "${General::swroot}/header.pl";
30require "/opt/pakfire/lib/functions.pl";
31
91dd042b 32# If the license has already been accepted.
9d386698 33if ( -e "/var/ipfire/main/gpl_accepted" ) {
91dd042b 34 &redirect();
9d386698 35}
9d386698 36
91dd042b 37my %cgiparams;
9d386698 38$cgiparams{'ACTION'} = '';
91dd042b 39
9d386698
AM
40&Header::getcgihash(\%cgiparams);
41
91dd042b
MT
42# Check if the license agreement has been accepted.
43if ($cgiparams{'ACTION'} eq "$Lang::tr{'yes'}" && $cgiparams{'gpl_accepted'} eq '1') {
44 open(FILE, ">/var/ipfire/main/gpl_accepted");
45 close(FILE);
9d386698 46
91dd042b 47 &redirect();
9d386698
AM
48}
49
91dd042b
MT
50&Header::showhttpheaders();
51
52&Header::openpage($Lang::tr{'main page'}, 1);
53&Header::openbigbox('', 'center');
54
9d386698
AM
55&Header::openbox('100%', 'left', $Lang::tr{'gpl license agreement'});
56print <<END;
57 $Lang::tr{'gpl please read carefully the general public license and accept it below'}.
58 <br /><br />
59END
60;
61if ( -e "/usr/share/doc/licenses/GPLv3" ) {
153cf640 62 print '<textarea rows=\'25\' cols=\'75\' readonly=\'readonly\'>';
9d386698
AM
63 print `cat /usr/share/doc/licenses/GPLv3`;
64 print '</textarea>';
65}
66else {
67 print '<br /><a href=\'http://www.gnu.org/licenses/gpl-3.0.txt\' target=\'_blank\'>GNU GENERAL PUBLIC LICENSE</a><br />';
68}
69print <<END;
70 <p>
71 <form method='post' action='$ENV{'SCRIPT_NAME'}'>
72 <input type='checkbox' name='gpl_accepted' value='1'/> $Lang::tr{'gpl i accept these terms and conditions'}.
73 <br/ >
74 <input type='submit' name='ACTION' value=$Lang::tr{'yes'} />
75 </form>
76 </p>
77 <a href='http://www.gnu.org/licenses/translations.html' target='_blank'>$Lang::tr{'gpl unofficial translation of the general public license v3'}</a>
78
79END
80
81&Header::closebox();
82&Header::closebigbox();
83&Header::closepage();
91dd042b
MT
84
85sub redirect {
86 print "Status: 302 Moved Temporarily\n";
87 print "Location: index.cgi\n\n";
88 exit (0);
89}