Marius Cramer
2015-04-15 3a11d23a2f32a1b9b2ec43429917c000017c5eff
interface/lib/classes/remote.d/dns.inc.php
@@ -50,9 +50,9 @@
         return false;
      }
      $client = $app->db->queryOneRecord("SELECT default_dnsserver FROM client WHERE client_id = ".$app->functions->intval($client_id));
      $client = $app->db->queryOneRecord("SELECT default_dnsserver FROM client WHERE client_id = ?", $client_id);
      $server_id = $client["default_dnsserver"];
      $template_record = $app->db->queryOneRecord("SELECT * FROM dns_template WHERE template_id = '$template_id'");
      $template_record = $app->db->queryOneRecord("SELECT * FROM dns_template WHERE template_id = ?", $template_id);
      $fields = explode(',', $template_record['fields']);
      $tform_def_file = "../../web/dns/form/dns_soa.tform.php";
      $app->uses('tform');
@@ -95,11 +95,11 @@
               if($section == 'dns_records') {
                  $parts = explode('|', $row);
                  $dns_rr[] = array(
                     'name' => $app->db->quote($parts[1]),
                     'type' => $app->db->quote($parts[0]),
                     'data' => $app->db->quote($parts[2]),
                     'aux'  => $app->db->quote($parts[3]),
                     'ttl'  => $app->db->quote($parts[4])
                     'name' => $parts[1],
                     'type' => $parts[0],
                     'data' => $parts[2],
                     'aux'  => $parts[3],
                     'ttl'  => $parts[4]
                  );
               }
            }
@@ -117,30 +117,62 @@
      if($error == '') {
         // Insert the soa record
         $tmp = $app->db->queryOneRecord("SELECT userid,default_group FROM sys_user WHERE client_id = ".$app->functions->intval($client_id));
         $tmp = $app->db->queryOneRecord("SELECT userid,default_group FROM sys_user WHERE client_id = ?", $client_id);
         $sys_userid = $tmp['userid'];
         $sys_groupid = $tmp['default_group'];
         unset($tmp);
         $origin = $app->db->quote($vars['origin']);
         $ns = $app->db->quote($vars['ns']);
         $mbox = $app->db->quote(str_replace('@', '.', $vars['mbox']));
         $refresh = $app->db->quote($vars['refresh']);
         $retry = $app->db->quote($vars['retry']);
         $expire = $app->db->quote($vars['expire']);
         $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']);
         $origin = $vars['origin'];
         $ns = $vars['ns'];
         $mbox = str_replace('@', '.', $vars['mbox']);
         $refresh = $vars['refresh'];
         $retry = $vars['retry'];
         $expire = $vars['expire'];
         $minimum = $vars['minimum'];
         $ttl = $vars['ttl'];
         $xfer = $vars['xfer'];
         $also_notify = $vars['also_notify'];
         $update_acl = $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`, `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')";
         $insert_data = array(
            "sys_userid" => $sys_userid,
            "sys_groupid" => $sys_groupid,
            "sys_perm_user" => 'riud',
            "sys_perm_group" => 'riud',
            "sys_perm_other" => '',
            "server_id" => $server_id,
            "origin" => $origin,
            "ns" => $ns,
            "mbox" => $mbox,
            "serial" => $serial,
            "refresh" => $refresh,
            "retry" => $retry,
            "expire" => $expire,
            "minimum" => $minimum,
            "ttl" => $ttl,
            "active" => 'Y',
            "xfer" => $xfer,
            "also_notify" => $also_notify,
            "update_acl" => $update_acl
         );
         $dns_soa_id = $app->db->datalogInsert('dns_soa', $insert_data, 'id');
         // Insert the dns_rr records
         if(is_array($dns_rr) && $dns_soa_id > 0) {
            foreach($dns_rr as $rr) {
               $insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `zone`, `name`, `type`, `data`, `aux`, `ttl`, `active`) VALUES
               ('$sys_userid', '$sys_groupid', 'riud', 'riud', '', '$server_id', '$dns_soa_id', '$rr[name]', '$rr[type]', '$rr[data]', '$rr[aux]', '$rr[ttl]', 'Y')";
               $insert_data = array(
                  "sys_userid" => $sys_userid,
                  "sys_groupid" => $sys_groupid,
                  "sys_perm_user" => 'riud',
                  "sys_perm_group" => 'riud',
                  "sys_perm_other" => '',
                  "server_id" => $server_id,
                  "zone" => $dns_soa_id,
                  "name" => $rr['name'],
                  "type" => $rr['type'],
                  "data" => $rr['data'],
                  "aux" => $rr['aux'],
                  "ttl" => $rr['ttl'],
                  "active" => 'Y'
               );
               $dns_rr_id = $app->db->datalogInsert('dns_rr', $insert_data, 'id');
            }
         }
@@ -180,7 +212,7 @@
         return false;
      }
      $rec = $app->db->queryOneRecord("SELECT id FROM dns_soa WHERE origin like '".$origin."%'");
      $rec = $app->db->queryOneRecord("SELECT id FROM dns_soa WHERE origin like ?", $origin."%");
      if(isset($rec['id'])) {
         return $app->functions->intval($rec['id']);
      } else {
@@ -764,8 +796,8 @@
      if (!empty($client_id) && !empty($server_id)) {
         $server_id      = $app->functions->intval($server_id);
         $client_id      = $app->functions->intval($client_id);
         $sql            = "SELECT id, origin FROM dns_soa d INNER JOIN sys_user s on(d.sys_groupid = s.default_group) WHERE client_id = $client_id AND server_id = $server_id";
         $result         = $app->db->queryAllRecords($sql);
         $sql            = "SELECT id, origin FROM dns_soa d INNER JOIN sys_user s on(d.sys_groupid = s.default_group) WHERE client_id = ? AND server_id = ?";
         $result         = $app->db->queryAllRecords($sql, $client_id, $server_id);
         return          $result;
      }
      return false;
@@ -785,8 +817,8 @@
         throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
         return false;
      }
      $sql    = "SELECT * FROM dns_rr WHERE zone = ".$app->functions->intval($zone_id);;
      $result = $app->db->queryAllRecords($sql);
      $sql    = "SELECT * FROM dns_rr WHERE zone = ?";
      $result = $app->db->queryAllRecords($sql, $zone_id);
      return $result;
   }
@@ -809,8 +841,8 @@
         } else {
            $status = 'N';
         }
         $sql = "UPDATE dns_soa SET active = '$status' WHERE id = ".$app->functions->intval($primary_id);
         $app->db->query($sql);
         $sql = "UPDATE dns_soa SET active = ? WHERE id = ?";
         $app->db->query($sql, $status, $primary_id);
         $result = $app->db->affectedRows();
         return $result;
      } else {