add_supermaster.php
author peter
Wed, 12 Mar 2008 20:45:56 +0000
changeset 81 c72d6d51f3d3
parent 79 0c0aa144356a
child 82 c255196bc447
permissions -rw-r--r--
[feladat @ 159] Bugfix for ticket:16: A minor glitch in the query caused partially owned records not to be shown.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
     1
<?php
47
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
     2
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
     3
/*  PowerAdmin, a friendly web-based admin tool for PowerDNS.
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
     4
 *  See <https://rejo.zenger.nl/poweradmin> for more details.
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
     5
 *
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
     6
 *  Copyright 2007, 2008  Rejo Zenger <rejo@zenger.nl>
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
     7
 *
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
     8
 *  This program is free software: you can redistribute it and/or modify
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
     9
 *  it under the terms of the GNU General Public License as published by
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
    10
 *  the Free Software Foundation, either version 3 of the License, or
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
    11
 *  (at your option) any later version.
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
    12
 *
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
    13
 *  This program is distributed in the hope that it will be useful,
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
    14
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
    15
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
    16
 *  GNU General Public License for more details.
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
    17
 *
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
    18
 *  You should have received a copy of the GNU General Public License
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
    19
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
    20
 */
ae140472d97c [feladat @ 94]
rejo
parents: 13
diff changeset
    21
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    22
require_once("inc/toolkit.inc.php");
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    23
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    24
if (!level(5))
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    25
{
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    26
	 error(ERR_LEVEL_5);
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    27
}
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    28
79
0c0aa144356a [feladat @ 156]
peter
parents: 71
diff changeset
    29
if(isset($_POST["submit"]))
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    30
{
79
0c0aa144356a [feladat @ 156]
peter
parents: 71
diff changeset
    31
	$master_ip = (isset($_POST['master_ip']) ? $_POST["master_ip"] : '');
0c0aa144356a [feladat @ 156]
peter
parents: 71
diff changeset
    32
	$ns_name = (isset($_POST['ns_name']) ? $_POST["ns_name"] : '');
0c0aa144356a [feladat @ 156]
peter
parents: 71
diff changeset
    33
	$account = (isset($_POST["account"]) ? $_POST['account'] : '');
0c0aa144356a [feladat @ 156]
peter
parents: 71
diff changeset
    34
	if (!isset($error))
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    35
	{
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    36
		if (!is_valid_ip($master_ip) && !is_valid_ip6($master_ip))
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    37
		{
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    38
			$error = _('Given master IP address is not valid IPv4 or IPv6.');
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    39
		}
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    40
		elseif (!is_valid_hostname($ns_name))
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    41
		{
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    42
			$error = _('Given hostname for NS record not valid.');
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    43
		}
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    44
		elseif (!validate_account($account))
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    45
		{
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    46
			$error = _('Account name is not valid (may contain only alpha chars).');
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    47
		}
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    48
		else    
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    49
		{
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    50
			if(add_supermaster($master_ip, $ns_name, $account))
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    51
			{
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    52
				$success = _('Successfully added supermaster.');
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    53
			}
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    54
		}
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    55
	}
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    56
}
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    57
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    58
include_once("inc/header.inc.php");
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    59
    
79
0c0aa144356a [feladat @ 156]
peter
parents: 71
diff changeset
    60
    if ((isset($error)) && ($error != ""))
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    61
    {
71
e1b918eaf69a [feladat @ 118]
peter
parents: 50
diff changeset
    62
    	?><div class="error"><?php echo _('Error'); ?>: <?php echo $error; ?></div><?php
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    63
    }
79
0c0aa144356a [feladat @ 156]
peter
parents: 71
diff changeset
    64
    elseif ((isset($success)) && ($success != ""))
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    65
    {
71
e1b918eaf69a [feladat @ 118]
peter
parents: 50
diff changeset
    66
    	?><div class="success"><?php echo $success; ?></div><?php
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    67
    }
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    68
    
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    69
    ?>
71
e1b918eaf69a [feladat @ 118]
peter
parents: 50
diff changeset
    70
    <h2><?php echo _('Add supermaster'); ?></h2>
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    71
    <form method="post" action="add_supermaster.php">
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    72
     <table>
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    73
      <tr>
71
e1b918eaf69a [feladat @ 118]
peter
parents: 50
diff changeset
    74
       <td class="n"><?php echo _('IP address of supermaster'); ?>:</td>
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    75
       <td class="n">
79
0c0aa144356a [feladat @ 156]
peter
parents: 71
diff changeset
    76
        <input type="text" class="input" name="master_ip" value="<?php if (isset($error)) print $_POST["master_ip"]; ?>">
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    77
       </td>
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    78
      </tr>
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    79
      <tr>
71
e1b918eaf69a [feladat @ 118]
peter
parents: 50
diff changeset
    80
       <td class="n"><?php echo _('Hostname in NS record'); ?>:</td>
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    81
       <td class="n">
79
0c0aa144356a [feladat @ 156]
peter
parents: 71
diff changeset
    82
        <input type="text" class="input" name="ns_name" value="<?php if (isset($error)) print $_POST["ns_name"]; ?>">
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    83
       </td>
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    84
      </tr>
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    85
      <tr>
71
e1b918eaf69a [feladat @ 118]
peter
parents: 50
diff changeset
    86
       <td class="n"><?php echo _('Account'); ?>:</td>
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    87
       <td class="n">
79
0c0aa144356a [feladat @ 156]
peter
parents: 71
diff changeset
    88
        <input type="text" class="input" name="account" value="<?php if (isset($error)) print $_POST["account"]; ?>">
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    89
       </td>
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    90
      </tr>
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    91
      <tr>
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    92
       <td class="n">&nbsp;</td>
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    93
       <td class="n">
71
e1b918eaf69a [feladat @ 118]
peter
parents: 50
diff changeset
    94
        <input type="submit" class="button" name="submit" value="<?php echo _('Add supermaster'); ?>">
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    95
       </td>
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    96
      </tr>
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    97
     </table>
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
    98
    </form>
71
e1b918eaf69a [feladat @ 118]
peter
parents: 50
diff changeset
    99
<?php
13
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
   100
include_once("inc/footer.inc.php");
2ff220cfde13 [feladat @ 60]
rejo
parents:
diff changeset
   101
?>