13
+ − 1
<?php
47
+ − 2
119
+ − 3
/* Poweradmin, a friendly web-based admin tool for PowerDNS.
47
+ − 4
* See <https://rejo.zenger.nl/poweradmin> for more details.
+ − 5
*
+ − 6
* Copyright 2007, 2008 Rejo Zenger <rejo@zenger.nl>
+ − 7
*
+ − 8
* This program is free software: you can redistribute it and/or modify
+ − 9
* it under the terms of the GNU General Public License as published by
+ − 10
* the Free Software Foundation, either version 3 of the License, or
+ − 11
* (at your option) any later version.
+ − 12
*
+ − 13
* This program is distributed in the hope that it will be useful,
+ − 14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
+ − 15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ − 16
* GNU General Public License for more details.
+ − 17
*
+ − 18
* You should have received a copy of the GNU General Public License
+ − 19
* along with this program. If not, see <http://www.gnu.org/licenses/>.
+ − 20
*/
+ − 21
13
+ − 22
require_once ( "inc/toolkit.inc.php" );
82
+ − 23
include_once ( "inc/header.inc.php" );
13
+ − 24
82
+ − 25
$owner = "-1" ;
+ − 26
if (( isset ( $_POST [ 'owner' ])) && ( v_num ( $_POST [ 'owner' ]))) {
+ − 27
$owner = $_POST [ 'owner' ];
+ − 28
}
13
+ − 29
82
+ − 30
$dom_type = "NATIVE" ;
+ − 31
if ( isset ( $_POST [ "dom_type" ]) && ( in_array ( $_POST [ 'dom_type' ], $server_types ))) {
+ − 32
$dom_type = $_POST [ "dom_type" ];
13
+ − 33
}
+ − 34
187
+ − 35
if ( isset ( $_POST [ 'domain' ])) {
+ − 36
$domain = trim ( $_POST [ 'domain' ]);
+ − 37
} else {
+ − 38
$domain = "" ;
+ − 39
}
+ − 40
+ − 41
if ( isset ( $_POST [ 'webip' ])) {
+ − 42
$webip = $_POST [ 'webip' ];
+ − 43
} else {
+ − 44
$webip = "" ;
+ − 45
}
+ − 46
+ − 47
if ( isset ( $_POST [ 'mailip' ])) {
+ − 48
$mailip = $_POST [ 'mailip' ];
+ − 49
} else {
+ − 50
$mailip = "" ;
+ − 51
}
+ − 52
+ − 53
if ( isset ( $_POST [ 'empty' ])) {
+ − 54
$empty = $_POST [ 'empty' ];
+ − 55
}
82
+ − 56
126
+ − 57
( verify_permission ( 'zone_master_add' )) ? $zone_master_add = "1" : $zone_master_add = "0" ;
82
+ − 58
187
+ − 59
if ( isset ( $_POST [ 'submit' ]) && $zone_master_add == "1" ) {
82
+ − 60
+ − 61
// Boy. I will be happy when I have found the time to replace
+ − 62
// this "template wanabee" code with something that is really
+ − 63
// worth to be called "templating". Whoever wrote this should
+ − 64
// be... should be... how can I say this politicaly correct?
+ − 65
// 20080303/RZ
+ − 66
+ − 67
if ( ! $empty ) {
13
+ − 68
$empty = 0 ;
161
+ − 69
if ( ! eregi ( 'in-addr.arpa' , $domain ) && ( ! is_valid_ipv4 ( $webip ) || ! is_valid_ipv4 ( $mailip )) ) {
110
+ − 70
error ( _ ( 'IP address of web- or mailserver is invalid.' ));
82
+ − 71
$error = "1" ;
13
+ − 72
}
+ − 73
}
82
+ − 74
+ − 75
if ( ! $error ) {
174
+ − 76
if ( ! is_valid_hostname_fqdn ( $domain , 0 )) {
110
+ − 77
error ( ERR_DOMAIN_INVALID );
82
+ − 78
$error = "1" ;
+ − 79
} elseif ( domain_exists ( $domain )) {
110
+ − 80
error ( ERR_DOMAIN_EXISTS );
82
+ − 81
$error = "1" ;
+ − 82
} else {
+ − 83
if ( add_domain ( $domain , $owner , $webip , $mailip , $empty , $dom_type , '' )) {
+ − 84
success ( SUC_ZONE_ADD );
+ − 85
unset ( $domain , $owner , $webip , $mailip , $empty , $dom_type );
+ − 86
} else {
+ − 87
$error = "1" ;
+ − 88
}
13
+ − 89
}
+ − 90
}
+ − 91
}
+ − 92
110
+ − 93
if ( $zone_master_add != "1" ) {
+ − 94
error ( ERR_PERM_ADD_ZONE_MASTER );
+ − 95
} else {
+ − 96
echo " <h2>" . _ ( 'Add master zone' ) . "</h2> \n " ;
13
+ − 97
179
+ − 98
$available_zone_types = array ( "NATIVE" , "MASTER" );
82
+ − 99
$users = show_users ();
13
+ − 100
82
+ − 101
echo " <form method= \" post \" action= \" add_zone_master.php \" > \n " ;
+ − 102
echo " <table> \n " ;
+ − 103
echo " <tr> \n " ;
+ − 104
echo " <td class= \" n \" >" . _ ( 'Zone name' ) . ":</td> \n " ;
+ − 105
echo " <td class= \" n \" > \n " ;
+ − 106
echo " <input type= \" text \" class= \" input \" name= \" domain \" value= \" " . $domain . " \" > \n " ;
+ − 107
echo " </td> \n " ;
+ − 108
echo " </tr> \n " ;
+ − 109
echo " <tr> \n " ;
110
+ − 110
echo " <td class= \" n \" >" . _ ( 'IP address of webserver' ) . ":</td> \n " ;
82
+ − 111
echo " <td class= \" n \" > \n " ;
+ − 112
echo " <input type= \" text \" class= \" input \" name= \" webip \" value= \" " . $webip . " \" > \n " ;
+ − 113
echo " </td> \n " ;
+ − 114
echo " </tr> \n " ;
+ − 115
echo " <tr> \n " ;
110
+ − 116
echo " <td class= \" n \" >" . _ ( 'IP address of mailserver' ) . ":</td> \n " ;
82
+ − 117
echo " <td class= \" n \" > \n " ;
+ − 118
echo " <input type= \" text \" class= \" input \" name= \" mailip \" value= \" " . $mailip . " \" > \n " ;
+ − 119
echo " </td> \n " ;
+ − 120
echo " </tr> \n " ;
+ − 121
echo " <tr> \n " ;
+ − 122
echo " <td class= \" n \" >" . _ ( 'Owner' ) . ":</td> \n " ;
+ − 123
echo " <td class= \" n \" > \n " ;
+ − 124
echo " <select name= \" owner \" > \n " ;
+ − 125
foreach ( $users as $user ) {
+ − 126
echo " <option value= \" " . $user [ 'id' ] . " \" >" . $user [ 'fullname' ] . "</option> \n " ;
13
+ − 127
}
82
+ − 128
echo " </select> \n " ;
+ − 129
echo " </td> \n " ;
+ − 130
echo " </tr> \n " ;
+ − 131
echo " <tr> \n " ;
111
+ − 132
echo " <td class= \" n \" >" . _ ( 'Type' ) . ":</td> \n " ;
82
+ − 133
echo " <td class= \" n \" > \n " ;
+ − 134
echo " <select name= \" dom_type \" > \n " ;
+ − 135
foreach ( $available_zone_types as $type ) {
+ − 136
echo " <option value= \" " . $type . " \" >" . strtolower ( $type ) . "</option> \n " ;
13
+ − 137
}
82
+ − 138
echo " </select> \n " ;
+ − 139
echo " </td> \n " ;
+ − 140
echo " </tr> \n " ;
+ − 141
echo " <tr> \n " ;
+ − 142
echo " <td class= \" n \" >" . _ ( 'Create zone without applying records-template' ) . "</td> \n " ;
+ − 143
echo " <td class= \" n \" ><input type= \" checkbox \" name= \" empty \" value= \" 1 \" ></td> \n " ;
+ − 144
echo " </tr> \n " ;
+ − 145
echo " <tr> \n " ;
+ − 146
echo " <td class= \" n \" > </td> \n " ;
+ − 147
echo " <td class= \" n \" > \n " ;
+ − 148
echo " <input type= \" submit \" class= \" button \" name= \" submit \" value= \" " . _ ( 'Add zone' ) . " \" > \n " ;
+ − 149
echo " </td> \n " ;
+ − 150
echo " </tr> \n " ;
+ − 151
echo " </table> \n " ;
+ − 152
echo " </form> \n " ;
+ − 153
}
13
+ − 154
+ − 155
include_once ( "inc/footer.inc.php" );