tbrehm
2011-08-29 e615265d3b51e27f0f664cea193b6353975d6f7d
interface/web/dns/dns_wizard.php
@@ -72,7 +72,7 @@
if($_SESSION['s']['user']['typ'] == 'admin') {
   
   // Load the list of servers
   $records = $app->db->queryAllRecords("SELECT server_id, server_name FROM server WHERE dns_server = 1 ORDER BY server_name");
   $records = $app->db->queryAllRecords("SELECT server_id, server_name FROM server WHERE mirror_server_id = 0 AND dns_server = 1 ORDER BY server_name");
   $server_id_option = '';
   foreach($records as $rec){
      $checked = ($rec['server_id'] == $server_id)?' SELECTED':'';
@@ -81,7 +81,7 @@
   $app->tpl->setVar("server_id",$server_id_option);
   
   // load the list of clients
   $sql = "SELECT groupid, name FROM sys_group WHERE client_id > 0";
   $sql = "SELECT groupid, name FROM sys_group WHERE client_id > 0 ORDER BY name";
   $clients = $app->db->queryAllRecords($sql);
   $client_select = '';
   if($_SESSION["s"]["user"]["typ"] == 'admin') $client_select .= "<option value='0'></option>";
@@ -105,7 +105,8 @@
   // load the list of clients
   $sql = "SELECT groupid, name FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$client['client_id'];
   $clients = $app->db->queryAllRecords($sql);
   $client_select = '<option value="'.$client['client_id'].'">'.$client['contact_name'].'</option>';
   $tmp = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ".$client['client_id']);
   $client_select = '<option value="'.$tmp['groupid'].'">'.$client['contact_name'].'</option>';
   if(is_array($clients)) {
      foreach( $clients as $client) {
         $selected = ($client["groupid"] == $sys_groupid)?'SELECTED':'';
@@ -137,11 +138,31 @@
   if(isset($_POST['ns2']) && $_POST['ns2'] == '') $error .= $app->lng('error_ns2_empty').'<br />';
   if(isset($_POST['email']) && $_POST['email'] == '') $error .= $app->lng('error_email_empty').'<br />';
   
   if(!$app->tform->checkClientLimit('limit_dns_zone')) {
      $error .= $app->tform->wordbook["limit_dns_zone_txt"];
   if(isset($_POST['domain']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z0-9\-]{2,30}[\.]{0,1}$/',$_POST['domain'])) $error .= $app->lng('error_domain_regex').'<br />';
   if(isset($_POST['ns1']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z0-9]{2,30}[\.]{0,1}$/',$_POST['ns1'])) $error .= $app->lng('error_ns1_regex').'<br />';
   if(isset($_POST['ns2']) && !preg_match('/^[\w\.\-]{2,64}\.[a-zA-Z0-9]{2,30}[\.]{0,1}$/',$_POST['ns2'])) $error .= $app->lng('error_ns2_regex').'<br />';
   if(isset($_POST['email']) && !preg_match('/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z0-9\-]{2,30}$/i',$_POST['email'])) $error .= $app->lng('error_email_regex').'<br />';
   // make sure that the record belongs to the clinet group and not the admin group when a dmin inserts it
   if($_SESSION["s"]["user"]["typ"] == 'admin' && isset($_POST['client_group_id'])) {
      $sys_groupid = intval($_POST['client_group_id']);
   } elseif($app->auth->has_clients($_SESSION['s']['user']['userid']) && isset($_POST['client_group_id'])) {
      $sys_groupid = intval($_POST['client_group_id']);
   } else {
      $sys_groupid = $_SESSION["s"]["user"]["default_group"];
   }
   if(!$app->tform->checkResellerLimit('limit_dns_zone')) {
      $error .= $app->tform->wordbook["limit_dns_zone_txt"];
   $tform_def_file = "form/dns_soa.tform.php";
   $app->uses('tform');
   $app->tform->loadFormDef($tform_def_file);
   if($_SESSION['s']['user']['typ'] != 'admin') {
      if(!$app->tform->checkClientLimit('limit_dns_zone')) {
         $error .= $app->tform->wordbook["limit_dns_zone_txt"];
      }
      if(!$app->tform->checkResellerLimit('limit_dns_zone')) {
         $error .= $app->tform->wordbook["limit_dns_zone_txt"];
      }
   }
   
   
@@ -214,10 +235,12 @@
      $minimum = $app->db->quote($vars['minimum']);
      $ttl = $app->db->quote($vars['ttl']);
      $xfer = $app->db->quote($vars['xfer']);
      $also_notify = $app->db->quote($vars['also_notify']);
      $update_acl = $app->db->quote($vars['update_acl']);
      $serial = $app->validate_dns->increase_serial(0);
      
      $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `origin`, `ns`, `mbox`, `serial`, `refresh`, `retry`, `expire`, `minimum`, `ttl`, `active`, `xfer`) VALUES
      ('$sys_userid', '$sys_groupid', 'riud', 'riud', '', '$server_id', '$origin', '$ns', '$mbox', '$serial', '$refresh', '$retry', '$expire', '$minimum', '$ttl', 'Y', '$xfer')";
      $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `origin`, `ns`, `mbox`, `serial`, `refresh`, `retry`, `expire`, `minimum`, `ttl`, `active`, `xfer`, `also_notify`, `update_acl`) VALUES
      ('$sys_userid', '$sys_groupid', 'riud', 'riud', '', '$server_id', '$origin', '$ns', '$mbox', '$serial', '$refresh', '$retry', '$expire', '$minimum', '$ttl', 'Y', '$xfer', '$also_notify', '$update_acl')";
      $dns_soa_id = $app->db->datalogInsert('dns_soa', $insert_data, 'id');
      
      // Insert the dns_rr records