From 905663d6c12c0ccad01ca80d50c3b83fb1f9466c Mon Sep 17 00:00:00 2001
From: wichu <wichu@ispconfig3>
Date: Thu, 10 May 2012 21:29:20 +0000
Subject: [PATCH] Changed the UI for the DNS SRV records to help the user
 (instead of giving him 1 field which have to have 3 texts, now there are 3
 fields which will be concated for the database and splitted for the user).

data --> weight port target
---
 interface/web/dns/dns_srv_edit.php           | 63 ++++++++++++++------
 interface/web/dns/form/dns_srv.tform.php     |  6 +-
 interface/web/dns/lib/lang/ar_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/bg_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/br_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/cz_dns_srv.lng    | 22 +++----
 interface/web/dns/lib/lang/de_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/el_dns_srv.lng    | 26 ++++----
 interface/web/dns/lib/lang/en_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/es_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/fi_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/fr_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/hr_dns_srv.lng    | 10 ++--
 interface/web/dns/lib/lang/hu_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/id_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/it_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/ja_dns_srv.lng    | 28 +++++----
 interface/web/dns/lib/lang/nl_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/pl_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/pt_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/ro_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/ru_dns_srv.lng    | 28 +++++----
 interface/web/dns/lib/lang/se_dns_srv.lng    |  4 +-
 interface/web/dns/lib/lang/sk_dns_srv.lng    | 22 +++----
 interface/web/dns/lib/lang/tr_dns_srv.lng    |  4 +-
 interface/web/dns/templates/dns_srv_edit.htm | 30 ++++++----
 26 files changed, 193 insertions(+), 110 deletions(-)

diff --git a/interface/web/dns/dns_srv_edit.php b/interface/web/dns/dns_srv_edit.php
index 9941ed1cc3..a9d77fdb28 100644
--- a/interface/web/dns/dns_srv_edit.php
+++ b/interface/web/dns/dns_srv_edit.php
@@ -49,17 +49,17 @@ $app->uses('tpl,tform,tform_actions,validate_dns');
 $app->load('tform_actions');
 
 class page_action extends tform_actions {
-	
+
 	function onShowNew() {
 		global $app, $conf;
-		
+
 		// we will check only users, not admins
 		if($_SESSION["s"]["user"]["typ"] == 'user') {
-			
+
 			// Get the limits of the client
 			$client_group_id = $_SESSION["s"]["user"]["default_group"];
 			$client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-			
+
 			// Check if the user may add another mailbox.
 			if($client["limit_dns_record"] >= 0) {
 				$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
@@ -68,25 +68,54 @@ class page_action extends tform_actions {
 				}
 			}
 		}
-		
+
 		parent::onShowNew();
 	}
-	
+
+	function onShowEnd() {
+		global $app, $conf;
+
+		// Split the 3 parts of the SRV Record apart
+		$split = explode(' ', $this->dataRecord['data']);
+
+		// Weight
+		$this->dataRecord['weight'] = $split[0];
+
+		// Port
+		$this->dataRecord['port'] = $split[1];
+
+		// Target
+		$this->dataRecord['target'] = $split[2];
+
+		// Bind the new datarecord to the template
+		$app->tpl->setVar($this->dataRecord);
+
+		parent::onShowEnd();
+	}
+
+	function onBeforeInsert() {
+		$this->dataRecord['data'] = $this->dataRecord['weight'] .' '. $this->dataRecord['port'] .' '. $this->dataRecord['target'];
+	}
+
+	function onBeforeUpdate() {
+		$this->dataRecord['data'] = $this->dataRecord['weight'] .' '. $this->dataRecord['port'] .' '. $this->dataRecord['target'];
+	}
+
 	function onSubmit() {
 		global $app, $conf;
-		
+
 		// Get the parent soa record of the domain
 		$soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = '".intval($_POST["zone"])."' AND ".$app->tform->getAuthSQL('r'));
 
 		// Check if Domain belongs to user
 		if($soa["id"] != $_POST["zone"]) $app->tform->errorMessage .= $app->tform->wordbook["no_zone_perm"];
-		
+
 		// Check the client limits, if user is not the admin
 		if($_SESSION["s"]["user"]["typ"] != 'admin') { // if user is not admin
 			// Get the limits of the client
 			$client_group_id = $_SESSION["s"]["user"]["default_group"];
 			$client = $app->db->queryOneRecord("SELECT limit_dns_record FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
-			
+
 			// Check if the user may add another mailbox.
 			if($this->id == 0 && $client["limit_dns_record"] >= 0) {
 				$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_rr WHERE sys_groupid = $client_group_id");
@@ -95,22 +124,22 @@ class page_action extends tform_actions {
 				}
 			}
 		} // end if user is not admin
-		
-		
+
+
 		// Set the server ID of the rr record to the same server ID as the parent record.
 		$this->dataRecord["server_id"] = $soa["server_id"];
-		
+
 		// Update the serial number  and timestamp of the RR record
 		$soa = $app->db->queryOneRecord("SELECT serial FROM dns_rr WHERE id = ".$this->id);
 		$this->dataRecord["serial"] = $app->validate_dns->increase_serial($soa["serial"]);
 		$this->dataRecord["stamp"] = date('Y-m-d H:i:s');
-		
+
 		parent::onSubmit();
 	}
-	
+
 	function onAfterInsert() {
 		global $app, $conf;
-		
+
 		//* Set the sys_groupid of the rr record to be the same then the sys_groupid of the soa record
 		$soa = $app->db->queryOneRecord("SELECT sys_groupid,serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
 		$app->db->datalogUpdate('dns_rr', "sys_groupid = ".$soa['sys_groupid'], 'id', $this->id);
@@ -120,10 +149,10 @@ class page_action extends tform_actions {
 		$serial = $app->validate_dns->increase_serial($soa["serial"]);
 		$app->db->datalogUpdate('dns_soa', "serial = $serial", 'id', $soa_id);
 	}
-	
+
 	function onAfterUpdate() {
 		global $app, $conf;
-		
+
 		//* Update the serial number of the SOA record
 		$soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = '".intval($this->dataRecord["zone"])."' AND ".$app->tform->getAuthSQL('r'));
 		$soa_id = intval($_POST["zone"]);
diff --git a/interface/web/dns/form/dns_srv.tform.php b/interface/web/dns/form/dns_srv.tform.php
index a30f6f32bf..0891c92fa7 100644
--- a/interface/web/dns/form/dns_srv.tform.php
+++ b/interface/web/dns/form/dns_srv.tform.php
@@ -99,9 +99,9 @@ $form["tabs"]['dns'] = array (
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
 														'errmsg'=> 'data_error_empty'),
-										1 => array (	'type'	=> 'REGEX',
-														'regex' => '/^[\w\.\-]{0,64}\s[\w\.\-]{0,64}\s[\w\.\-]{0,64}$/',
-														'errmsg'=> 'srv_error_regex'),
+ 										1 => array (	'type'	=> 'REGEX',
+ 														'regex' => '/^[\w\.\-]{0,64}\s[\w\.\-]{0,64}\s[\w\.\-]{0,64}$/',
+ 														'errmsg'=> 'srv_error_regex'),
 									),
 			'default'	=> '',
 			'value'		=> '',
diff --git a/interface/web/dns/lib/lang/ar_dns_srv.lng b/interface/web/dns/lib/lang/ar_dns_srv.lng
index c8f5e5f54b..e34203092b 100644
--- a/interface/web/dns/lib/lang/ar_dns_srv.lng
+++ b/interface/web/dns/lib/lang/ar_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Server';
 $wb['zone_txt'] = 'Zone';
 $wb['name_txt'] = 'Hostname';
 $wb['type_txt'] = 'type';
-$wb['data_txt'] = 'Server Record';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Active';
 $wb['limit_dns_record_txt'] = 'The max. number of DNS records for your account is reached.';
diff --git a/interface/web/dns/lib/lang/bg_dns_srv.lng b/interface/web/dns/lib/lang/bg_dns_srv.lng
index c8f5e5f54b..e34203092b 100644
--- a/interface/web/dns/lib/lang/bg_dns_srv.lng
+++ b/interface/web/dns/lib/lang/bg_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Server';
 $wb['zone_txt'] = 'Zone';
 $wb['name_txt'] = 'Hostname';
 $wb['type_txt'] = 'type';
-$wb['data_txt'] = 'Server Record';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Active';
 $wb['limit_dns_record_txt'] = 'The max. number of DNS records for your account is reached.';
diff --git a/interface/web/dns/lib/lang/br_dns_srv.lng b/interface/web/dns/lib/lang/br_dns_srv.lng
index f67e0ca1b8..07f7a6cf0e 100644
--- a/interface/web/dns/lib/lang/br_dns_srv.lng
+++ b/interface/web/dns/lib/lang/br_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Servidor';
 $wb['zone_txt'] = 'Zona';
 $wb['name_txt'] = 'Hostname';
 $wb['type_txt'] = 'tipo';
-$wb['data_txt'] = 'Registro do Servidor';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Ativo';
 $wb['limit_dns_record_txt'] = 'O número máximo de zonas DNS para sua conta foi atingido.';
diff --git a/interface/web/dns/lib/lang/cz_dns_srv.lng b/interface/web/dns/lib/lang/cz_dns_srv.lng
index 27ab107495..d696f736b3 100644
--- a/interface/web/dns/lib/lang/cz_dns_srv.lng
+++ b/interface/web/dns/lib/lang/cz_dns_srv.lng
@@ -1,17 +1,19 @@
 <?php
 $wb['server_id_txt'] = 'Server';
-$wb['zone_txt'] = 'Zóna';
+$wb['zone_txt'] = 'Zóna';
 $wb['name_txt'] = 'Hostname';
 $wb['type_txt'] = 'Typ';
-$wb['data_txt'] = 'Záznam serveru';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
-$wb['active_txt'] = 'Aktivní';
-$wb['limit_dns_record_txt'] = 'Dosažen maximální počet DNS záznamů pro Váš účet.';
-$wb['no_zone_perm'] = 'Nemáte oprávnění přidat záznam do této zóny.';
-$wb['name_error_empty'] = 'Hostname je prázdný.';
-$wb['name_error_regex'] = 'Hostname má chybný formát.';
-$wb['data_error_empty'] = 'Záznam serveru je prázdný';
-$wb['data_error_regex'] = 'Záznam serveru má chybný formát';
-$wb['srv_error_regex'] = 'Neplatný formát záznau serveru. Záznam serveru musí obsahovat 3 textové řetězce oddělené mezerami.';
+$wb['active_txt'] = 'Aktivní';
+$wb['limit_dns_record_txt'] = 'Dosažen maximální po�et DNS záznamů pro Váš ú�et.';
+$wb['no_zone_perm'] = 'Nemáte oprávnění přidat záznam do této zóny.';
+$wb['name_error_empty'] = 'Hostname je prázdný.';
+$wb['name_error_regex'] = 'Hostname má chybný formát.';
+$wb['data_error_empty'] = 'Záznam serveru je prázdný';
+$wb['data_error_regex'] = 'Záznam serveru má chybný formát';
+$wb['srv_error_regex'] = 'Neplatný formát záznau serveru. Záznam serveru musí obsahovat 3 textové řetězce oddělené mezerami.';
 $wb['aux_txt'] = 'Priority';
 ?>
diff --git a/interface/web/dns/lib/lang/de_dns_srv.lng b/interface/web/dns/lib/lang/de_dns_srv.lng
index f637e8a730..c322a87623 100644
--- a/interface/web/dns/lib/lang/de_dns_srv.lng
+++ b/interface/web/dns/lib/lang/de_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Server';
 $wb['zone_txt'] = 'Zone';
 $wb['name_txt'] = 'Hostname';
 $wb['type_txt'] = 'Typ';
-$wb['data_txt'] = 'Servereintrag';
+$wb["target_txt"] = 'Ziel';
+$wb["weight_txt"] = 'Gewicht';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Aktiv';
 $wb['limit_dns_record_txt'] = 'Die maximale Anzahl an DNS Einträgen für ihr Konto wurde erreicht.';
diff --git a/interface/web/dns/lib/lang/el_dns_srv.lng b/interface/web/dns/lib/lang/el_dns_srv.lng
index 01901ce6a3..9ca7552149 100644
--- a/interface/web/dns/lib/lang/el_dns_srv.lng
+++ b/interface/web/dns/lib/lang/el_dns_srv.lng
@@ -1,17 +1,19 @@
 <?php
 $wb['server_id_txt'] = 'Server';
-$wb['zone_txt'] = 'Ζώνη';
+$wb['zone_txt'] = 'Ζώνη';
 $wb['name_txt'] = 'Hostname';
-$wb['type_txt'] = 'τύπος';
-$wb['data_txt'] = 'Εγγραφή Server';
+$wb['type_txt'] = 'τ�πος';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
-$wb['active_txt'] = 'Ενεργή';
-$wb['aux_txt'] = 'Προτεραιότητα';
-$wb['limit_dns_record_txt'] = 'Έχετε φτάσει το μέγιστο πλήθος των εγγραφών DNS για τον λογαριασμό σας.';
-$wb['no_zone_perm'] = 'Δεν έχετε δικαίωμα να προσθέσετε εγγραφές σε αυτή τη ζώνη.';
-$wb['name_error_empty'] = 'Το hostname δεν έχει οριστεί.';
-$wb['name_error_regex'] = 'Το hostname δεν έχει σωστή μορφοποίηση.';
-$wb['data_error_empty'] = 'Η εγγραφή Server είναι κενή';
-$wb['data_error_regex'] = 'Εγγραφή  Server με μη έγκυρη μορφοποίηση';
-$wb['srv_error_regex'] = 'Εγγραφή  Server με μη έγκυρη μορφοποίηση. Η εγγραφή Server πρέπει να περιέχει 3 λέξεις χωρισμένες με κενά.';
+$wb['active_txt'] = 'Ενε�γή';
+$wb['aux_txt'] = 'Π�οτε�αιότητα';
+$wb['limit_dns_record_txt'] = 'Έχετε φτάσει το μέγιστο πλήθος των εγγ�αφών DNS για τον λογα�ιασμό σας.';
+$wb['no_zone_perm'] = 'Δεν έχετε δικαίωμα να π�οσθέσετε εγγ�αφές σε αυτή τη ζώνη.';
+$wb['name_error_empty'] = 'Το hostname δεν έχει ο�ιστεί.';
+$wb['name_error_regex'] = 'Το hostname δεν έχει σωστή μο�φοποίηση.';
+$wb['data_error_empty'] = 'Η εγγ�αφή Server είναι κενή';
+$wb['data_error_regex'] = 'Εγγ�αφή  Server με μη έγκυ�η μο�φοποίηση';
+$wb['srv_error_regex'] = 'Εγγ�αφή  Server με μη έγκυ�η μο�φοποίηση. Η εγγ�αφή Server π�έπει να πε�ιέχει 3 λέξεις χω�ισμένες με κενά.';
 ?>
diff --git a/interface/web/dns/lib/lang/en_dns_srv.lng b/interface/web/dns/lib/lang/en_dns_srv.lng
index ccd9eeb56e..c50b721983 100644
--- a/interface/web/dns/lib/lang/en_dns_srv.lng
+++ b/interface/web/dns/lib/lang/en_dns_srv.lng
@@ -3,7 +3,9 @@ $wb["server_id_txt"] = 'Server';
 $wb["zone_txt"] = 'Zone';
 $wb["name_txt"] = 'Hostname';
 $wb["type_txt"] = 'type';
-$wb["data_txt"] = 'Server Record';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb["ttl_txt"] = 'TTL';
 $wb["active_txt"] = 'Active';
 $wb["aux_txt"] = 'Priority';
diff --git a/interface/web/dns/lib/lang/es_dns_srv.lng b/interface/web/dns/lib/lang/es_dns_srv.lng
index 3a511080ca..9cbb239bcc 100644
--- a/interface/web/dns/lib/lang/es_dns_srv.lng
+++ b/interface/web/dns/lib/lang/es_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Servidor';
 $wb['zone_txt'] = 'Zona';
 $wb['name_txt'] = 'Nombre de la máquina';
 $wb['type_txt'] = 'tipo';
-$wb['data_txt'] = 'Registro del servidor';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Activar';
 $wb['limit_dns_record_txt'] = 'Se ha alcanzado el número máximo de registros DNS de esta cuenta.';
diff --git a/interface/web/dns/lib/lang/fi_dns_srv.lng b/interface/web/dns/lib/lang/fi_dns_srv.lng
index 5bb6cb0a43..a3968ab027 100755
--- a/interface/web/dns/lib/lang/fi_dns_srv.lng
+++ b/interface/web/dns/lib/lang/fi_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Palvelin';
 $wb['zone_txt'] = 'Alue (Zone)';
 $wb['name_txt'] = 'Verkkotunnus';
 $wb['type_txt'] = 'Tyyppi';
-$wb['data_txt'] = 'Palvelintietue';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'Elinaika (TTL)';
 $wb['active_txt'] = 'Käytössä';
 $wb['limit_dns_record_txt'] = 'Käyttäjätunnuksella on jo sallittu määrä DNS-tietueita.';
diff --git a/interface/web/dns/lib/lang/fr_dns_srv.lng b/interface/web/dns/lib/lang/fr_dns_srv.lng
index 597e99263e..ae6d1985f1 100644
--- a/interface/web/dns/lib/lang/fr_dns_srv.lng
+++ b/interface/web/dns/lib/lang/fr_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Serveur';
 $wb['zone_txt'] = 'Zone';
 $wb['name_txt'] = 'Nom d\'hôte';
 $wb['type_txt'] = 'type';
-$wb['data_txt'] = 'Enregistrement serveur';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Actif';
 $wb['aux_txt'] = 'Priorité';
diff --git a/interface/web/dns/lib/lang/hr_dns_srv.lng b/interface/web/dns/lib/lang/hr_dns_srv.lng
index 964bfe9188..f124ec6079 100644
--- a/interface/web/dns/lib/lang/hr_dns_srv.lng
+++ b/interface/web/dns/lib/lang/hr_dns_srv.lng
@@ -3,15 +3,17 @@ $wb['server_id_txt'] = 'Server';
 $wb['zone_txt'] = 'Zona';
 $wb['name_txt'] = 'Naziv hosta';
 $wb['type_txt'] = 'Vrsta';
-$wb['data_txt'] = 'Server zapis';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Aktivno';
 $wb['aux_txt'] = 'Prioritet';
-$wb['limit_dns_record_txt'] = 'Iskorišten je maksimalan broj DNS zapisa za vaš račun.';
+$wb['limit_dns_record_txt'] = 'Iskorišten je maksimalan broj DNS zapisa za vaš ra�un.';
 $wb['no_zone_perm'] = 'Nemate dozvolu za dodavanja zapisa ovoj domeni.';
 $wb['name_error_empty'] = 'Naziv hosta nije upisan.';
-$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
+$wb['name_error_regex'] = 'Naziv hosta je u pogrešnom formatu.';
 $wb['data_error_empty'] = 'Polje serverski zapis je prazno';
 $wb['data_error_regex'] = 'Neispravan format serverskog zapisa';
-$wb['srv_error_regex'] = 'Neispravan format serverskog zapisa. Mora sadržavati barem 3 tekstualne riječi odvojene razmakom.';
+$wb['srv_error_regex'] = 'Neispravan format serverskog zapisa. Mora sadržavati barem 3 tekstualne rije�i odvojene razmakom.';
 ?>
diff --git a/interface/web/dns/lib/lang/hu_dns_srv.lng b/interface/web/dns/lib/lang/hu_dns_srv.lng
index 540b8b63c3..6eb3b20675 100644
--- a/interface/web/dns/lib/lang/hu_dns_srv.lng
+++ b/interface/web/dns/lib/lang/hu_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Szerver';
 $wb['zone_txt'] = 'Zóna';
 $wb['name_txt'] = 'Hosztnév';
 $wb['type_txt'] = 'Típus';
-$wb['data_txt'] = 'Adat';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Aktív';
 $wb['limit_dns_record_txt'] = 'The max. number of DNS records for your account is reached.';
diff --git a/interface/web/dns/lib/lang/id_dns_srv.lng b/interface/web/dns/lib/lang/id_dns_srv.lng
index 88db376ec9..2be73dddb7 100644
--- a/interface/web/dns/lib/lang/id_dns_srv.lng
+++ b/interface/web/dns/lib/lang/id_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Server';
 $wb['zone_txt'] = 'Zona';
 $wb['name_txt'] = 'Nama Host';
 $wb['type_txt'] = 'Tipe';
-$wb['data_txt'] = 'Record Server';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Aktif';
 $wb['limit_dns_record_txt'] = 'Akun anda telah mencapai jumlah maksimum record DNS.';
diff --git a/interface/web/dns/lib/lang/it_dns_srv.lng b/interface/web/dns/lib/lang/it_dns_srv.lng
index c8f5e5f54b..e34203092b 100644
--- a/interface/web/dns/lib/lang/it_dns_srv.lng
+++ b/interface/web/dns/lib/lang/it_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Server';
 $wb['zone_txt'] = 'Zone';
 $wb['name_txt'] = 'Hostname';
 $wb['type_txt'] = 'type';
-$wb['data_txt'] = 'Server Record';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Active';
 $wb['limit_dns_record_txt'] = 'The max. number of DNS records for your account is reached.';
diff --git a/interface/web/dns/lib/lang/ja_dns_srv.lng b/interface/web/dns/lib/lang/ja_dns_srv.lng
index ea286d5565..37a18a6519 100644
--- a/interface/web/dns/lib/lang/ja_dns_srv.lng
+++ b/interface/web/dns/lib/lang/ja_dns_srv.lng
@@ -1,17 +1,19 @@
 <?php
-$wb['server_id_txt'] = 'サーバー';
-$wb['zone_txt'] = 'ゾーン';
-$wb['name_txt'] = 'ホスト名';
-$wb['type_txt'] = '種別';
-$wb['data_txt'] = 'SRV(サービス)レコード';
+$wb['server_id_txt'] = 'サー�ー';
+$wb['zone_txt'] = 'ゾーン';
+$wb['name_txt'] = 'ホスト�';
+$wb['type_txt'] = '種別';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
-$wb['active_txt'] = '有効';
-$wb['limit_dns_record_txt'] = 'DNSレコードが最大数に達しました。';
-$wb['no_zone_perm'] = 'このDNSゾーンにレコードを追加する権限がありません。';
-$wb['name_error_empty'] = 'ホスト名を入力してください。';
-$wb['name_error_regex'] = 'ホスト名の形式が不正です。';
-$wb['data_error_empty'] = 'SRVレコードを入力してください。';
-$wb['data_error_regex'] = 'SRVレコードの形式が不正です。';
-$wb['srv_error_regex'] = 'SRVレコードの形式が不正です。SRVレコードはスペースで区切られた3つの文字列で記述してください。';
+$wb['active_txt'] = '有効';
+$wb['limit_dns_record_txt'] = 'DNSレコード�最大数������。';
+$wb['no_zone_perm'] = '��DNSゾーン�レコードを追加�る権���り��ん。';
+$wb['name_error_empty'] = 'ホスト�を入力������。';
+$wb['name_error_regex'] = 'ホスト��形���正��。';
+$wb['data_error_empty'] = 'SRVレコードを入力������。';
+$wb['data_error_regex'] = 'SRVレコード�形���正��。';
+$wb['srv_error_regex'] = 'SRVレコード�形���正��。SRVレコード�スペース�区切られ�3��文字列�記述������。';
 $wb['aux_txt'] = 'Priority';
 ?>
diff --git a/interface/web/dns/lib/lang/nl_dns_srv.lng b/interface/web/dns/lib/lang/nl_dns_srv.lng
index 4de22937a1..8b02227e2c 100644
--- a/interface/web/dns/lib/lang/nl_dns_srv.lng
+++ b/interface/web/dns/lib/lang/nl_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Server';
 $wb['zone_txt'] = 'Zone';
 $wb['name_txt'] = 'Hostnaam';
 $wb['type_txt'] = 'type';
-$wb['data_txt'] = 'Server record';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Actief';
 $wb['aux_txt'] = 'Prioriteit';
diff --git a/interface/web/dns/lib/lang/pl_dns_srv.lng b/interface/web/dns/lib/lang/pl_dns_srv.lng
index 3e93bc299c..9547696ad9 100644
--- a/interface/web/dns/lib/lang/pl_dns_srv.lng
+++ b/interface/web/dns/lib/lang/pl_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Serwer';
 $wb['zone_txt'] = 'Strefa';
 $wb['name_txt'] = 'Nazwa serwera';
 $wb['type_txt'] = 'typ';
-$wb['data_txt'] = 'Wpis serwera';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Aktywny';
 $wb['limit_dns_record_txt'] = 'Maksymalna ilość wpisów DNS dla Twojego konta została przekroczona.';
diff --git a/interface/web/dns/lib/lang/pt_dns_srv.lng b/interface/web/dns/lib/lang/pt_dns_srv.lng
index 470245ae8d..aced035709 100644
--- a/interface/web/dns/lib/lang/pt_dns_srv.lng
+++ b/interface/web/dns/lib/lang/pt_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Servidor';
 $wb['zone_txt'] = 'Zona';
 $wb['name_txt'] = 'Hostname';
 $wb['type_txt'] = 'tipo';
-$wb['data_txt'] = 'Registo do Servidor';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Activo';
 $wb['limit_dns_record_txt'] = 'O número máximo de zonas DNS para a conta foi atingido.';
diff --git a/interface/web/dns/lib/lang/ro_dns_srv.lng b/interface/web/dns/lib/lang/ro_dns_srv.lng
index 7348b2f8e0..4bb67939d8 100644
--- a/interface/web/dns/lib/lang/ro_dns_srv.lng
+++ b/interface/web/dns/lib/lang/ro_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Server';
 $wb['zone_txt'] = 'Zone';
 $wb['name_txt'] = 'Hostname';
 $wb['type_txt'] = 'type';
-$wb['data_txt'] = 'Inregistrare Server ';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Active';
 $wb['limit_dns_record_txt'] = 'Numarul maxim de inregistrari DNS pentru contul dumneavoastra a fost atins';
diff --git a/interface/web/dns/lib/lang/ru_dns_srv.lng b/interface/web/dns/lib/lang/ru_dns_srv.lng
index e3a6c13927..e72896cf22 100644
--- a/interface/web/dns/lib/lang/ru_dns_srv.lng
+++ b/interface/web/dns/lib/lang/ru_dns_srv.lng
@@ -1,17 +1,19 @@
 <?php
-$wb['server_id_txt'] = 'Сервер';
-$wb['zone_txt'] = 'Зона';
-$wb['name_txt'] = 'Имя узла';
-$wb['type_txt'] = 'тип';
-$wb['data_txt'] = 'Сервер Record';
+$wb['server_id_txt'] = 'Сервер';
+$wb['zone_txt'] = 'Зона';
+$wb['name_txt'] = 'Им� узла';
+$wb['type_txt'] = 'тип';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
-$wb['active_txt'] = 'Активна?';
-$wb['limit_dns_record_txt'] = 'Максимальное число DNS записей, достигнуто';
-$wb['no_zone_perm'] = 'Вы не имеет прав для добавления записи в DNS зону.';
-$wb['name_error_empty'] = 'Имя узла пустое';
-$wb['name_error_regex'] = 'Имя узла имеет неправильный формат.';
-$wb['data_error_empty'] = 'Сервер record пустой';
-$wb['data_error_regex'] = 'Сервер record имеет неправильный формат';
-$wb['srv_error_regex'] = 'Неверный формат сервера record. Сервер record должен содержать 3 текстовые строки разделенные пробелом.';
+$wb['active_txt'] = '�ктивна?';
+$wb['limit_dns_record_txt'] = 'Мак�имальное чи�ло DNS запи�ей, до�тигнуто';
+$wb['no_zone_perm'] = 'Вы не имеет прав дл� добавлени� запи�и в DNS зону.';
+$wb['name_error_empty'] = 'Им� узла пу�тое';
+$wb['name_error_regex'] = 'Им� узла имеет неправильный формат.';
+$wb['data_error_empty'] = 'Сервер record пу�той';
+$wb['data_error_regex'] = 'Сервер record имеет неправильный формат';
+$wb['srv_error_regex'] = '�еверный формат �ервера record. Сервер record должен �одержать 3 тек�товые �троки разделенные пробелом.';
 $wb['aux_txt'] = 'Priority';
 ?>
diff --git a/interface/web/dns/lib/lang/se_dns_srv.lng b/interface/web/dns/lib/lang/se_dns_srv.lng
index c8f5e5f54b..e34203092b 100644
--- a/interface/web/dns/lib/lang/se_dns_srv.lng
+++ b/interface/web/dns/lib/lang/se_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Server';
 $wb['zone_txt'] = 'Zone';
 $wb['name_txt'] = 'Hostname';
 $wb['type_txt'] = 'type';
-$wb['data_txt'] = 'Server Record';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Active';
 $wb['limit_dns_record_txt'] = 'The max. number of DNS records for your account is reached.';
diff --git a/interface/web/dns/lib/lang/sk_dns_srv.lng b/interface/web/dns/lib/lang/sk_dns_srv.lng
index 2ba45b22e5..d1ebdeba1a 100644
--- a/interface/web/dns/lib/lang/sk_dns_srv.lng
+++ b/interface/web/dns/lib/lang/sk_dns_srv.lng
@@ -1,17 +1,19 @@
 <?php
 $wb['server_id_txt'] = 'Server';
-$wb['zone_txt'] = 'Zóna';
+$wb['zone_txt'] = 'Zóna';
 $wb['name_txt'] = 'Hostname';
 $wb['type_txt'] = 'typ';
-$wb['data_txt'] = 'Záznam o servery';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
-$wb['active_txt'] = 'Aktivovať';
-$wb['limit_dns_record_txt'] = 'Max. počet záznamov DNS pre váš účet je dosiahnutý.';
-$wb['no_zone_perm'] = 'Nemáte oprávnenie Pridať záznam do tejto zóny DNS.';
-$wb['name_error_empty'] = 'Hostname je prázdny.';
-$wb['name_error_regex'] = 'Hostname má zlý formát.';
-$wb['data_error_empty'] = 'Server záznam je prázdny';
-$wb['data_error_regex'] = 'Server záznam má zlý formát';
-$wb['srv_error_regex'] = 'Server má zlý formát záznamu. Server záznam musí obsahovať 3 textové reťazcov oddelených medzerami.';
+$wb['active_txt'] = 'AktivovaÃ…Â¥';
+$wb['limit_dns_record_txt'] = 'Max. po�et záznamov DNS pre váš ú�et je dosiahnutý.';
+$wb['no_zone_perm'] = 'Nemáte oprávnenie Pridať záznam do tejto zóny DNS.';
+$wb['name_error_empty'] = 'Hostname je prázdny.';
+$wb['name_error_regex'] = 'Hostname má zlý formát.';
+$wb['data_error_empty'] = 'Server záznam je prázdny';
+$wb['data_error_regex'] = 'Server záznam má zlý formát';
+$wb['srv_error_regex'] = 'Server má zlý formát záznamu. Server záznam musí obsahovať 3 textové reťazcov oddelených medzerami.';
 $wb['aux_txt'] = 'Priority';
 ?>
diff --git a/interface/web/dns/lib/lang/tr_dns_srv.lng b/interface/web/dns/lib/lang/tr_dns_srv.lng
index 91a8227e12..8457cf3eb7 100644
--- a/interface/web/dns/lib/lang/tr_dns_srv.lng
+++ b/interface/web/dns/lib/lang/tr_dns_srv.lng
@@ -3,7 +3,9 @@ $wb['server_id_txt'] = 'Sunucu';
 $wb['zone_txt'] = 'Zone';
 $wb['name_txt'] = 'Hostname';
 $wb['type_txt'] = 'çeşit';
-$wb['data_txt'] = 'Sunucu Kayıdı';
+$wb["target_txt"] = 'Target';
+$wb["weight_txt"] = 'Weight';
+$wb["port_txt"] = 'Port';
 $wb['ttl_txt'] = 'TTL';
 $wb['active_txt'] = 'Aktif';
 $wb['limit_dns_record_txt'] = 'Hesabınıdaki max. DNS kaydı limitine ulaştınız.';
diff --git a/interface/web/dns/templates/dns_srv_edit.htm b/interface/web/dns/templates/dns_srv_edit.htm
index 7f86aa6808..d359c1a432 100644
--- a/interface/web/dns/templates/dns_srv_edit.htm
+++ b/interface/web/dns/templates/dns_srv_edit.htm
@@ -8,25 +8,33 @@
       <div class="ctrlHolder">
       	<label for="name">{tmpl_var name='name_txt'}</label>
         <input name="name" id="name" value="{tmpl_var name='name'}" size="30" maxlength="255" type="text" class="textInput" />
-			</div>
+      </div>
       <div class="ctrlHolder">
-      	<label for="data">{tmpl_var name='data_txt'}</label>
-        <input name="data" id="data" value="{tmpl_var name='data'}" size="30" maxlength="255" type="text" class="textInput" />
-			</div>
+      	<label for="target">{tmpl_var name='target_txt'}</label>
+        <input name="target" id="target" value="{tmpl_var name='target'}" size="30" maxlength="255" type="text" class="textInput" />
+      </div>
+      <div class="ctrlHolder">
+      	<label for="weight">{tmpl_var name='weight_txt'}</label>
+        <input name="weight" id="weight" value="{tmpl_var name='weight'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
+      </div>
+      <div class="ctrlHolder">
+      	<label for="port">{tmpl_var name='port_txt'}</label>
+        <input name="port" id="port" value="{tmpl_var name='port'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
+      </div>
 	  <div class="ctrlHolder">
       	<label for="aux">{tmpl_var name='aux_txt'}</label>
         <input name="aux" id="aux" value="{tmpl_var name='aux'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
-			</div>
+      </div>
       <div class="ctrlHolder">
       	<label for="ttl">{tmpl_var name='ttl_txt'}</label>
         <input name="ttl" id="ttl" value="{tmpl_var name='ttl'}" size="10" maxlength="10" type="text" class="textInput" />
-			</div>
+      </div>
       <div class="ctrlHolder">
-				<p class="label">{tmpl_var name='active_txt'}</p>
-					<div class="multiField">
-						{tmpl_var name='active'}
-					</div>
-			</div>
+      	<p class="label">{tmpl_var name='active_txt'}</p>
+      	<div class="multiField">
+      	  {tmpl_var name='active'}
+      	</div>
+      </div>
     </fieldset>
 
     <input type="hidden" name="id" value="{tmpl_var name='id'}">
-- 
GitLab