]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - html/cgi-bin/ddns.cgi
Merge branch 'master' into fifteen
[people/teissler/ipfire-2.x.git] / html / cgi-bin / ddns.cgi
index 69b9838e68e37574b6ba98005812fb44b1a8fd06..ae4de6cd55380aeaccfefdae5251e0f4a30ba2c9 100644 (file)
@@ -1,13 +1,23 @@
 #!/usr/bin/perl
-#
-# SmoothWall CGIs
-#
-# This code is distributed under the terms of the GPL
-#
-# (c) The SmoothWall Team
-#
-# $Id: ddns.cgi,v 1.7.2.41 2006/02/07 01:29:47 franck78 Exp $
-#
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2011  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# 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;
 
@@ -15,7 +25,7 @@ use strict;
 #use warnings;
 #use CGI::Carp 'fatalsToBrowser';
 
-require 'CONFIG_ROOT/general-functions.pl';
+require '/var/ipfire/general-functions.pl';
 require "${General::swroot}/lang.pl";
 require "${General::swroot}/header.pl";
 
@@ -26,6 +36,11 @@ undef (@dummy);
 my $ddnsprefix = $Lang::tr{'ddns noip prefix'};
 $ddnsprefix =~ s/%/$General::noipprefix/;
 
+my %color = ();
+my %mainsettings = ();
+&General::readhash("${General::swroot}/main/settings", \%mainsettings);
+&General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color);
+
 # Files used
 my $setting = "${General::swroot}/ddns/settings";
 our $datafile = "${General::swroot}/ddns/config";
@@ -124,11 +139,13 @@ if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
        }
        
        # Permit an empty HOSTNAME for the nsupdate, regfish, dyndns, enom, ovh, zoneedit, no-ip, easydns
+       #and namecheap
         unless ($settings{'SERVICE'} eq 'zoneedit.com' || $settings{'SERVICE'} eq 'nsupdate' || 
                $settings{'SERVICE'} eq 'dyndns-custom'|| $settings{'SERVICE'} eq 'regfish.com' || 
                $settings{'SERVICE'} eq 'enom.com' || $settings{'SERVICE'} eq 'dnspark.com' ||
                $settings{'SERVICE'} eq 'ovh.com' || $settings{'HOSTNAME'} ne '' ||
-               $settings{'SERVICE'} eq 'no-ip.com' || $settings{'SERVICE'} eq 'easydns.com' ) {
+               $settings{'SERVICE'} eq 'no-ip.com' || $settings{'SERVICE'} eq 'easydns.com'  ||
+               $settings{'SERVICE'} eq 'namecheap.com' )       {
            $errormessage = $Lang::tr{'hostname not set'};
        }
        unless ($settings{'HOSTNAME'} eq '' || $settings{'HOSTNAME'} =~ /^[a-zA-Z_0-9-]+$/) {
@@ -215,9 +232,11 @@ if ($settings{'ACTION'} eq '')
 &Header::openbigbox('100%', 'left', '', $errormessage);
 
 my %checked =();     # Checkbox manipulations
+$checked{'SERVICE'}{'all-inkl.com'} = '';
 $checked{'SERVICE'}{'cjb.net'} = '';
 $checked{'SERVICE'}{'dhs.org'} = '';
 $checked{'SERVICE'}{'dnspark.com'} = '';
+$checked{'SERVICE'}{'dns.lightningwirelabs.com'} = '';
 $checked{'SERVICE'}{'dtdns.com'} = '';
 $checked{'SERVICE'}{'dyndns.org'} = '';
 $checked{'SERVICE'}{'dyndns-custom'} = '';
@@ -228,13 +247,16 @@ $checked{'SERVICE'}{'easydns.com'} = '';
 $checked{'SERVICE'}{'enom.com'} = '';
 $checked{'SERVICE'}{'freedns.afraid.org'} = '';
 $checked{'SERVICE'}{'hn.org'} = '';
+$checked{'SERVICE'}{'namecheap.com'} = '';
 $checked{'SERVICE'}{'no-ip.com'} = '';
 $checked{'SERVICE'}{'nsupdate'} = '';
 $checked{'SERVICE'}{'ovh.com'} = '';
 $checked{'SERVICE'}{'regfish.com'} = '';
 $checked{'SERVICE'}{'selfhost.de'} = '';
+$checked{'SERVICE'}{'strato.com'} = '';
 $checked{'SERVICE'}{'tzo.com'} = '';
 $checked{'SERVICE'}{'zoneedit.com'} = '';
+$checked{'SERVICE'}{'udmedia.de'} = '';
 $checked{'SERVICE'}{$settings{'SERVICE'}} = "selected='selected'";
 
 $checked{'BEHINDROUTER'}{'RED_IP'} = '';
@@ -263,7 +285,7 @@ print <<END
         <td class='base'>$Lang::tr{'dyn dns source choice'}</td>
 </tr><tr>
     <td class='base'><input type='radio' name='BEHINDROUTER' value='RED_IP' $checked{'BEHINDROUTER'}{'RED_IP'} />
-    $Lang::tr{'use ipcop red ip'}</td>
+    $Lang::tr{'use ipfire red ip'}</td>
 </tr><tr>
     <td class='base'><input type='radio' name='BEHINDROUTER' value='FETCH_IP' $checked{'BEHINDROUTER'}{'FETCH_IP'} />
     $Lang::tr{'fetch ip from'} <img src='/blob.gif' alt='*' /></td>
@@ -307,9 +329,11 @@ print <<END
 <tr>
     <td width='25%' class='base'>$Lang::tr{'service'}:</td>
     <td width='25%'><select size='1' name='SERVICE'>
+    <option $checked{'SERVICE'}{'all-inkl.com'}>all-inkl.com</option>
     <option $checked{'SERVICE'}{'cjb.net'}>cjb.net</option>
     <option $checked{'SERVICE'}{'dhs.org'}>dhs.org</option>
     <option $checked{'SERVICE'}{'dnspark.com'}>dnspark.com</option>
+    <option $checked{'SERVICE'}{'dns.lightningwirelabs.com'}>dns.lightningwirelabs.com</option>
     <option $checked{'SERVICE'}{'dtdns.com'}>dtdns.com</option>
     <option $checked{'SERVICE'}{'dyndns.org'}>dyndns.org</option>
     <option $checked{'SERVICE'}{'dyndns-custom'}>dyndns-custom</option>
@@ -320,12 +344,15 @@ print <<END
     <option $checked{'SERVICE'}{'enom.com'}>enom.com</option>
     <option $checked{'SERVICE'}{'freedns.afraid.org'}>freedns.afraid.org</option>
     <option $checked{'SERVICE'}{'hn.org'}>hn.org</option>
+       <option $checked{'SERVICE'}{'namecheap.com'}>namecheap.com</option>
     <option $checked{'SERVICE'}{'no-ip.com'}>no-ip.com</option>
     <option $checked{'SERVICE'}{'nsupdate'}>nsupdate</option>
     <option $checked{'SERVICE'}{'ovh.com'}>ovh.com</option>
     <option $checked{'SERVICE'}{'regfish.com'}>regfish.com</option>
     <option $checked{'SERVICE'}{'selfhost.de'}>selfhost.de</option>
+    <option $checked{'SERVICE'}{'strato.com'}>strato.com</option>
 <!--    <option $checked{'SERVICE'}{'tzo.com'}>tzo.com</option>        comment this service out until a working fix is developed -->
+    <option $checked{'SERVICE'}{'udmedia.de'}>udmedia.de</option>
     <option $checked{'SERVICE'}{'zoneedit.com'}>zoneedit.com</option>
     </select></td>
     <td width='20%' class='base'>$Lang::tr{'hostname'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
@@ -432,9 +459,9 @@ foreach my $line (@current) {
     if ($settings{'KEY1'} eq $key) {
        print "<tr bgcolor='${Header::colouryellow}'>";
     } elsif ($key % 2) {
-       print "<tr bgcolor='${Header::table2colour}'>";
+       print "<tr bgcolor='$color{'color22'}'>";
     } else {
-       print "<tr bgcolor='${Header::table1colour}'>"; 
+       print "<tr bgcolor='$color{'color20'}'>"; 
     }
     
     #if a field is empty, replace it with a '---' to see colorized info!