\ No newline at end of file
diff --git a/interface/web/sites/domain_verification_del.php b/interface/web/sites/domain_verification_del.php
new file mode 100644
index 0000000000000000000000000000000000000000..f924c1b757e1f509eae49d8e1722b1c813ebb3e3
--- /dev/null
+++ b/interface/web/sites/domain_verification_del.php
@@ -0,0 +1,113 @@
+
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+$list_def_file = "list/domain_verification.list.php";
+$tform_def_file = "form/domain_verification.tform.php";
+
+/******************************************
+ * End Form configuration
+ ******************************************/
+
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
+
+//* Check permissions for module
+$app->auth->check_module_permissions('sites');
+
+$app->uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+
+class page_action extends tform_actions {
+ function onBeforeDelete() {
+ if (!$app->tform->checkPerm($this->id, 'd')) {
+ $app->error($app->lng('error_no_delete_permission'));
+ }
+ }
+}
+
+
+if (isset($_GET["deldomain_id"])) { //delete the domain from domain table
+
+ global $app;
+ global $conf;
+
+
+ $domain_id = $_GET["deldomain_id"];
+ if (!is_numeric($domain_id)) {
+ die("Domain ID not numeric"); //should never happen...
+ }
+
+ $clientGroupId = $_SESSION["s"]["user"]["default_group"];
+ $sql = "SELECT domain FROM domain WHERE domain_id = ? AND sys_groupid = ? AND (domain_type_flag = 'y' OR domain_type_flag = 's')";
+ $res = $app->db->queryOneRecord($sql, $domain_id, $clientGroupId);
+ if (is_array($res)) {
+ $domain = $res['domain'];
+ } else {
+ die("Domain with ID " . $domain_id . " not found or no permission or not external"); //should never happen...
+ }
+
+ //* load language file for error msg
+ $lngFile = 'lib/lang/' . $app->functions->check_language($_SESSION['s']['language']) . '_domain_verification_list.lng';
+ include $lngFile;
+
+ //Domain in use code from client/domain_del.php
+ $sql = "SELECT id FROM dns_soa WHERE origin = ?";
+ $res = $app->db->queryOneRecord($sql, $domain . ".");
+ if (is_array($res)) {
+ $app->error($wb['error_domain_in dnsuse']);
+ }
+
+ $sql = "SELECT id FROM dns_slave WHERE origin = ?";
+ $res = $app->db->queryOneRecord($sql, $domain . ".");
+ if (is_array($res)) {
+ $app->error($wb['error_domain_in dnsslaveuse']);
+ }
+
+ $sql = "SELECT domain_id FROM mail_domain WHERE domain = ?";
+ $res = $app->db->queryOneRecord($sql, $domain);
+ if (is_array($res)) {
+ $app->error($wb['error_domain_in mailuse']);
+ }
+
+ $sql = "SELECT domain_id FROM web_domain WHERE (domain = ? AND type IN ('alias', 'vhost', 'vhostalias')) OR (domain LIKE ? AND type IN ('subdomain', 'vhostsubdomain'))";
+ $res = $app->db->queryOneRecord($sql, $domain, '%.' . $domain);
+ if (is_array($res)) {
+ $app->error($wb['error_domain_in webuse']);
+ }
+
+ //delete the domain - recheck permission and external flag
+ $app->db->query("DELETE FROM domain WHERE domain_id = ? AND sys_groupid = ? AND (domain_type_flag = 'y' OR domain_type_flag = 's')", $domain_id, $clientGroupId);
+
+ header("Location: /sites/domain_verification_list.php"); //because onDelete don't get called we do it here
+
+} else { //delete the open domain verification
+ $app->tform_actions->onDelete();
+}
+
+
diff --git a/interface/web/sites/domain_verification_edit.php b/interface/web/sites/domain_verification_edit.php
new file mode 100644
index 0000000000000000000000000000000000000000..41a2bb387f835ec53b8c1fbe11f80742d9806bf6
--- /dev/null
+++ b/interface/web/sites/domain_verification_edit.php
@@ -0,0 +1,81 @@
+
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// Set the path to the form definition file.
+$tform_def_file = 'form/domain_verification.tform.php';
+
+// include the core configuration and application classes
+require_once('../../lib/config.inc.php');
+require_once('../../lib/app.inc.php');
+
+// Load the templating and form classes
+$app->uses('tpl,tform,tform_actions,tools_sites');
+$app->load('tform_actions');
+
+//* Check permissions for module
+$app->auth->check_module_permissions('sites');
+
+// Create a class page_action that extends the tform_actions base class
+class page_action extends tform_actions {
+ function onBeforeInsert() {
+ global $app;
+
+ //If domain already in system than exit with error message
+ $rec = $app->db->queryOneRecord("SELECT domain FROM domain WHERE domain = ?",$this->dataRecord['domain']);
+ if(!is_null($rec)) {
+ $app->tform->errorMessage .= $app->lng('Domain already exists in domain module');
+ }
+ unset($rec);
+
+ //If domain validation already in progress than exit with error message
+ $rec = $app->db->queryOneRecord("SELECT domain FROM domain_verification WHERE domain = ?",$this->dataRecord['domain']);
+ if(!is_null($rec)) {
+ $app->tform->errorMessage .= $app->lng('Domain already added - delete if first if you want restart the process');
+ }
+ $app->uses('getconf');
+ $global_domain_config = $app->getconf->get_global_config('domains');
+ $prefix = $global_domain_config['domain_verification_prefix'];
+ if(strlen($prefix) < 2) {
+ $prefix = 'ISP';
+ }
+ $randStr = $prefix.'-'.rand(100000,999999); //Create Validations string
+ $this->dataRecord['dns_auth_record']=$randStr;
+ }
+ public function onAfterInsert() {
+ global $app;
+ $newurl = 'domain_verification_info.php?newid='.$app->db->insertID();
+ $_SESSION['s']['form']['return_to_url'] = $newurl;
+ parent::onAfterInsert();
+ }
+}
+
+// Create the new page object
+$page = new page_action();
+
+// Start the page rendering and action handling
+$page->onLoad();
+?>
diff --git a/interface/web/sites/domain_verification_info.php b/interface/web/sites/domain_verification_info.php
new file mode 100644
index 0000000000000000000000000000000000000000..cd688719e5db1b7e3ccd90a8ac61f63161c7d7bd
--- /dev/null
+++ b/interface/web/sites/domain_verification_info.php
@@ -0,0 +1,105 @@
+
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+// include the core configuration and application classes
+require_once('../../lib/config.inc.php');
+require_once('../../lib/app.inc.php');
+
+// Load the templating and form classes
+$app->uses('tpl,tform,tools_sites');
+
+//* Check permissions for module
+$app->auth->check_module_permissions('sites');
+
+
+if (isset($_GET['newid'])) {
+ $app->tpl->newTemplate("templates/domain_verification_info.htm");
+ $lngFile = 'lib/lang/' . $app->functions->check_language($_SESSION['s']['language']) . '_domain_verification_info.lng';
+ include $lngFile;
+ $app->tpl->setVar($wb);
+
+ if (!is_numeric($_GET['newid'])) {
+ die ('External Domain - ID not numeric');
+ }
+ $rec = $app->db->queryOneRecord("SELECT * FROM domain_verification WHERE domain_id = ?", $_GET['newid']);
+
+ $app->tpl->setVar('dns_auth_record', $rec['dns_auth_record']);
+ $app->tpl->setVar('domain', $rec['domain']);
+ $app->tpl->setVar('domain_id', $rec['domain_id']);
+ $app->tpl->setVar('task_done', 'no');
+
+ $rrArray = dns_get_record($rec['domain'], DNS_NS); //get Auth nameserver from the domain to avoid DNS Cache waiting
+ $TXTFound = FALSE;
+ foreach ($rrArray as $rr) { //Ask every Auth Nameserver
+ //$execStr = 'dig @'.$rr['target'].' '.$rec['domain'].' TXT +short';
+ //exec($execStr, $arrTXT); //theres no way to do a dig @x.x.x.x with pure PHP
+ $digAuthServerStr = '@' . $rr['target'];
+ $app->system->exec_safe('dig ? ? ? ?', $digAuthServerStr, $rec['domain'], 'TXT', '+short');
+ $arrTXT = [];
+ if ($app->system->last_exec_retcode() == 0) {
+ $arrTXT = $app->system->last_exec_out();
+ }
+
+ foreach ($arrTXT as $txtRecord) { //every TXT record
+ $txtRecord = str_replace('"', '', $txtRecord); //Remove the " at begin and end of string
+ if ($txtRecord == $rec['dns_auth_record']) {
+ $TXTFound = TRUE;
+ break 2;
+ }
+ }
+ }
+
+ //Fallback with dns_get_record because dig could fail if it is a subdomain or maybe subdelegation of NS records...
+ If ($TXTFound === FALSE) {
+ $arrTXT = dns_get_record($rec['domain'], DNS_TXT);
+ foreach($arrTXT as $txtRecord) { //every TXT record
+ if ($txtRecord['txt'] == $rec['dns_auth_record']) {
+ $TXTFound = TRUE;
+ break;
+ }
+ }
+ }
+
+ if ($TXTFound === TRUE) {
+ $tempRec = $app->db->queryOneRecord("SELECT sys_userid FROM sys_user WHERE username = 'admin'"); //get sys_userid from admin. Should be 1
+ $sql = "INSERT INTO domain (sys_userid, sys_groupid, sys_perm_user, sys_perm_group, domain, domain_type_flag) VALUES (?, ?, 'riud', 'ru', ?, 'y')";
+ $app->db->query($sql, $tempRec['sys_userid'], $rec['sys_groupid'], $rec['domain']); //Insert into domain table
+
+ $sql = "DELETE FROM domain_verification WHERE domain_id = ?";
+ $app->db->query($sql, $rec['domain_id']); //delete from domain_verification
+ $app->tpl->setVar('task_done', 'yes');
+ }
+
+ if (isset($_GET['refreshbutton'])) {
+ sleep(1); //simple delay to prevent refresh button abuse..
+ }
+
+ $app->tpl_defaults();
+ $app->tpl->pparse();
+}
+?>
diff --git a/interface/web/sites/domain_verification_list.php b/interface/web/sites/domain_verification_list.php
new file mode 100644
index 0000000000000000000000000000000000000000..8e59896afeeeb668d7445da6232e77a388df0e26
--- /dev/null
+++ b/interface/web/sites/domain_verification_list.php
@@ -0,0 +1,82 @@
+
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+// include the core configuration and application classes
+require_once('../../lib/config.inc.php');
+require_once('../../lib/app.inc.php');
+
+//* Check permissions for module
+$app->auth->check_module_permissions('sites');
+
+$app->load('listform_actions');
+
+// Path to the list definition file
+$list_def_file = 'list/domain_verification.list.php';
+
+class list_action extends listform_actions {
+
+
+
+ function onShow() {
+
+ global $app;
+ $globalDomainConfig = $app->getconf->get_global_config('domains');
+
+ $clientGroupId = $_SESSION["s"]["user"]["default_group"];
+ //Internal Domain List
+ $sql = "SELECT * FROM domain WHERE sys_groupid = ? AND domain_type_flag = 'n'";
+ $records = $app->db->queryAllRecords($sql, $clientGroupId);
+ $app->tpl->setLoop('domain_records', $records);
+
+ if($globalDomainConfig['use_domain_verification'] == 'y') {
+ //External Domain List
+ $sql = "SELECT * FROM domain WHERE sys_groupid = ? AND domain_type_flag = 'y'";
+ $records = $app->db->queryAllRecords($sql, $clientGroupId);
+ $app->tpl->setLoop('domain_records_ex', $records);
+ $app->tpl->setVar('use_domain_verification','yes');
+ }
+ if($globalDomainConfig['use_domain_subdomain'] == 'y') {
+ //Subdomain (as Maindomain) List
+ $sql = "SELECT * FROM domain WHERE sys_groupid = ? AND domain_type_flag = 's'";
+ $records = $app->db->queryAllRecords($sql, $clientGroupId);
+ $app->tpl->setLoop('domain_records_subdomain', $records);
+ $app->tpl->setVar('use_domain_subdomain','yes');
+ }
+ //* SET csrf token
+ $csrf_token = $app->auth->csrf_token_get('domain_verification');
+ $app->tpl->setVar('_csrf_id',$csrf_token['csrf_id']);
+ $app->tpl->setVar('_csrf_key',$csrf_token['csrf_key']);
+ parent::onShow();
+ }
+
+
+}
+$list = new list_action;
+$list->SQLOrderBy = 'ORDER BY domain';
+$list->onLoad();
+?>
diff --git a/interface/web/sites/domain_verification_subdomain.php b/interface/web/sites/domain_verification_subdomain.php
new file mode 100644
index 0000000000000000000000000000000000000000..bc6286a0339b86eb2cc8cef2e9985c0fd96fdc08
--- /dev/null
+++ b/interface/web/sites/domain_verification_subdomain.php
@@ -0,0 +1,83 @@
+
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+// include the core configuration and application classes
+require_once('../../lib/config.inc.php');
+require_once('../../lib/app.inc.php');
+
+// Load the templating and form classes
+$app->uses('tpl,tform,tools_sites');
+
+//* Check permissions for module
+$app->auth->check_module_permissions('sites');
+
+$app->tpl->newTemplate("templates/domain_verification_subdomain.htm");
+$lngFile = 'lib/lang/' . $app->functions->check_language($_SESSION['s']['language']) . '_domain_verification_subdomain.lng';
+include $lngFile;
+$app->tpl->setVar($wb);
+
+$domains = $app->tools_sites->getDomainModuleDomains(); //get Users Domains
+$userDomains = array_column($domains,'domain','domain_id'); //remove the first array
+
+if (isset($_POST['domain_id']) && isset($_POST['host'])) {
+ $domain_id = $_POST['domain_id'];
+ $host = $_POST['host'];
+
+ if (! in_array($domain_id, array_column($domains, 'domain_id'))){
+ die ("Domain ID ".$domain_id." not found or no permission");
+ }
+
+ $newDomain = $host.".".$userDomains[$domain_id];
+
+ if (! filter_var($newDomain, FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME)) {
+ $app->error($wb['subdomain_name_not_allowed_txt']);
+ }
+ if (in_array($newDomain, array_column($domains, 'domain'))){
+ $app->error($wb['subdomain_exist_txt']);
+ }
+ $rec = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain = ?",$newDomain);
+ if(!is_null($rec)) {
+ $app->error($wb['subdomain_exist_as_web_txt']);
+ }
+
+ //Subdomain should be ok to add
+ $sys_groupid = $_SESSION["s"]["user"]["default_group"];
+ $tempRec = $app->db->queryOneRecord("SELECT sys_userid FROM sys_user WHERE username = 'admin'"); //get sys_userid from admin. Should be 1
+ $sql = "INSERT INTO domain (sys_userid, sys_groupid, sys_perm_user, sys_perm_group, domain, domain_type_flag) VALUES (?, ?, 'riud', 'ru', ?, 's')";
+ $app->db->query($sql, $tempRec['sys_userid'], $sys_groupid, $newDomain); //Insert into domain table
+
+ header("Location: /sites/domain_verification_list.php");
+
+} else {
+ foreach( $domains as $domain) {
+ $domain_select .= "\r\n";
+ }
+ $app->tpl->setVar("domain_option", $domain_select);
+ $app->tpl_defaults();
+ $app->tpl->pparse();
+}
diff --git a/interface/web/sites/form/domain_verification.tform.php b/interface/web/sites/form/domain_verification.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..33b9f327e608456427071f864fbaf4ae2795cce8
--- /dev/null
+++ b/interface/web/sites/form/domain_verification.tform.php
@@ -0,0 +1,61 @@
+ 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+
+$form['tabs']['domain_verification'] = array(
+ 'title' => 'External domain', // Title of the Tab
+ 'width' => 100, // Tab width
+ 'template' => 'templates/domain_verification_edit.htm', // Template file name
+ 'fields' => array(
+ 'domain' => array(
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'filters' => array(0 => array('event' => 'SAVE',
+ 'type' => 'IDNTOASCII'),
+ 1 => array('event' => 'SHOW',
+ 'type' => 'IDNTOUTF8'),
+ 2 => array('event' => 'SAVE',
+ 'type' => 'TOLOWER')
+ ),
+ 'validators' => array(0 => array('type' => 'NOTEMPTY',
+ 'errmsg' => 'domain_error_empty'),
+ 1 => array('type' => 'UNIQUE',
+ 'errmsg' => 'domain_error_unique'),
+ 2 => array('type' => 'ISDOMAIN',
+ 'errmsg' => 'domain_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255',
+ 'searchable' => 1
+ ),
+ 'dns_auth_record' => array(
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '50',
+ 'maxlength' => '255'
+ ),
+ )
+);
+?>
diff --git a/interface/web/sites/lib/lang/ar_domain_verification.lng b/interface/web/sites/lib/lang/ar_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/ar_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/ar_domain_verification_info.lng b/interface/web/sites/lib/lang/ar_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/ar_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/ar_domain_verification_list.lng b/interface/web/sites/lib/lang/ar_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/ar_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/ar_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/ar_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/ar_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/bg_domain_verification.lng b/interface/web/sites/lib/lang/bg_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/bg_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/bg_domain_verification_info.lng b/interface/web/sites/lib/lang/bg_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/bg_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/bg_domain_verification_list.lng b/interface/web/sites/lib/lang/bg_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/bg_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/bg_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/bg_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/bg_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/br_domain_verification.lng b/interface/web/sites/lib/lang/br_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/br_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/br_domain_verification_info.lng b/interface/web/sites/lib/lang/br_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/br_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/br_domain_verification_list.lng b/interface/web/sites/lib/lang/br_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/br_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/br_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/br_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/br_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/ca_domain_verification.lng b/interface/web/sites/lib/lang/ca_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/ca_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/ca_domain_verification_info.lng b/interface/web/sites/lib/lang/ca_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/ca_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/ca_domain_verification_list.lng b/interface/web/sites/lib/lang/ca_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/ca_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/ca_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/ca_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/ca_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/cn_domain_verification.lng b/interface/web/sites/lib/lang/cn_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/cn_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/cn_domain_verification_info.lng b/interface/web/sites/lib/lang/cn_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/cn_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/cn_domain_verification_list.lng b/interface/web/sites/lib/lang/cn_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/cn_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/cn_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/cn_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/cn_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/cz_domain_verification.lng b/interface/web/sites/lib/lang/cz_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/cz_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/cz_domain_verification_info.lng b/interface/web/sites/lib/lang/cz_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/cz_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/cz_domain_verification_list.lng b/interface/web/sites/lib/lang/cz_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/cz_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/cz_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/cz_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/cz_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/de_domain_verification.lng b/interface/web/sites/lib/lang/de_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/de_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/de_domain_verification_info.lng b/interface/web/sites/lib/lang/de_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/de_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/de_domain_verification_list.lng b/interface/web/sites/lib/lang/de_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/de_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/de_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/de_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/de_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/dk_domain_verification.lng b/interface/web/sites/lib/lang/dk_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/dk_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/dk_domain_verification_info.lng b/interface/web/sites/lib/lang/dk_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/dk_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/dk_domain_verification_list.lng b/interface/web/sites/lib/lang/dk_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/dk_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/dk_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/dk_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/dk_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/el_domain_verification.lng b/interface/web/sites/lib/lang/el_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/el_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/el_domain_verification_info.lng b/interface/web/sites/lib/lang/el_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/el_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/el_domain_verification_list.lng b/interface/web/sites/lib/lang/el_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/el_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/el_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/el_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/el_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/en_domain_verification.lng b/interface/web/sites/lib/lang/en_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/en_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/en_domain_verification_info.lng b/interface/web/sites/lib/lang/en_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/en_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/en_domain_verification_list.lng b/interface/web/sites/lib/lang/en_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/en_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/en_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/en_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/en_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/es_domain_verification.lng b/interface/web/sites/lib/lang/es_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/es_domain_verification_info.lng b/interface/web/sites/lib/lang/es_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/es_domain_verification_list.lng b/interface/web/sites/lib/lang/es_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/es_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/es_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/fi_domain_verification.lng b/interface/web/sites/lib/lang/fi_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/fi_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/fi_domain_verification_info.lng b/interface/web/sites/lib/lang/fi_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/fi_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/fi_domain_verification_list.lng b/interface/web/sites/lib/lang/fi_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/fi_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/fi_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/fi_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/fi_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/fr_domain_verification.lng b/interface/web/sites/lib/lang/fr_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/fr_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/fr_domain_verification_info.lng b/interface/web/sites/lib/lang/fr_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/fr_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/fr_domain_verification_list.lng b/interface/web/sites/lib/lang/fr_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/fr_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/fr_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/fr_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/fr_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/hr_domain_verification.lng b/interface/web/sites/lib/lang/hr_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/hr_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/hr_domain_verification_info.lng b/interface/web/sites/lib/lang/hr_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/hr_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/hr_domain_verification_list.lng b/interface/web/sites/lib/lang/hr_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/hr_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/hr_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/hr_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/hr_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/hu_domain_verification.lng b/interface/web/sites/lib/lang/hu_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/hu_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/hu_domain_verification_info.lng b/interface/web/sites/lib/lang/hu_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/hu_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/hu_domain_verification_list.lng b/interface/web/sites/lib/lang/hu_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/hu_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/hu_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/hu_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/hu_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/id_domain_verification.lng b/interface/web/sites/lib/lang/id_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/id_domain_verification_info.lng b/interface/web/sites/lib/lang/id_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/id_domain_verification_list.lng b/interface/web/sites/lib/lang/id_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/id_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/id_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/it_domain_verification.lng b/interface/web/sites/lib/lang/it_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/it_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/it_domain_verification_info.lng b/interface/web/sites/lib/lang/it_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/it_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/it_domain_verification_list.lng b/interface/web/sites/lib/lang/it_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/it_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/it_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/it_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/it_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/ja_domain_verification.lng b/interface/web/sites/lib/lang/ja_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/ja_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/ja_domain_verification_info.lng b/interface/web/sites/lib/lang/ja_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/ja_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/ja_domain_verification_list.lng b/interface/web/sites/lib/lang/ja_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/ja_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/ja_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/ja_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/ja_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/nl_domain_verification.lng b/interface/web/sites/lib/lang/nl_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/nl_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/nl_domain_verification_info.lng b/interface/web/sites/lib/lang/nl_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/nl_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/nl_domain_verification_list.lng b/interface/web/sites/lib/lang/nl_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/nl_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/nl_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/nl_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/nl_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/pl_domain_verification.lng b/interface/web/sites/lib/lang/pl_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/pl_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/pl_domain_verification_info.lng b/interface/web/sites/lib/lang/pl_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/pl_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/pl_domain_verification_list.lng b/interface/web/sites/lib/lang/pl_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/pl_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/pl_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/pl_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/pl_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/pt_domain_verification.lng b/interface/web/sites/lib/lang/pt_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/pt_domain_verification_info.lng b/interface/web/sites/lib/lang/pt_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/pt_domain_verification_list.lng b/interface/web/sites/lib/lang/pt_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/pt_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/pt_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/ro_domain_verification.lng b/interface/web/sites/lib/lang/ro_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/ro_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/ro_domain_verification_info.lng b/interface/web/sites/lib/lang/ro_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/ro_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/ro_domain_verification_list.lng b/interface/web/sites/lib/lang/ro_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/ro_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/ro_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/ro_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/ro_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/ru_domain_verification.lng b/interface/web/sites/lib/lang/ru_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/ru_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/ru_domain_verification_info.lng b/interface/web/sites/lib/lang/ru_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/ru_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/ru_domain_verification_list.lng b/interface/web/sites/lib/lang/ru_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/ru_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/ru_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/ru_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/ru_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/se_domain_verification.lng b/interface/web/sites/lib/lang/se_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/se_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/se_domain_verification_info.lng b/interface/web/sites/lib/lang/se_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/se_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/se_domain_verification_list.lng b/interface/web/sites/lib/lang/se_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/se_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/se_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/se_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/se_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/sk_domain_verification.lng b/interface/web/sites/lib/lang/sk_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/sk_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/sk_domain_verification_info.lng b/interface/web/sites/lib/lang/sk_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/sk_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/sk_domain_verification_list.lng b/interface/web/sites/lib/lang/sk_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/sk_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/sk_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/sk_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/sk_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/lang/tr_domain_verification.lng b/interface/web/sites/lib/lang/tr_domain_verification.lng
new file mode 100644
index 0000000000000000000000000000000000000000..20caad3f5b271b6caa380e9e7610850269c47a6a
--- /dev/null
+++ b/interface/web/sites/lib/lang/tr_domain_verification.lng
@@ -0,0 +1,4 @@
+
diff --git a/interface/web/sites/lib/lang/tr_domain_verification_info.lng b/interface/web/sites/lib/lang/tr_domain_verification_info.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f09f71d320950bc2c018af4aba402cfa4066dc8a
--- /dev/null
+++ b/interface/web/sites/lib/lang/tr_domain_verification_info.lng
@@ -0,0 +1,11 @@
+TXT entry';
+$wb['domain_verification_info3_txt'] = 'Validations is done, domain';
+$wb['domain_verification_info4_txt'] = 'was added. You can now use it';
+$wb['domain_verification_desc_txt'] = 'No entry found. (It may take some time for a DNS change to propagate)';
+?>
diff --git a/interface/web/sites/lib/lang/tr_domain_verification_list.lng b/interface/web/sites/lib/lang/tr_domain_verification_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..be6f407ed452ced5aca46300bc8b7524a8d5e8dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/tr_domain_verification_list.lng
@@ -0,0 +1,25 @@
+
diff --git a/interface/web/sites/lib/lang/tr_domain_verification_subdomain.lng b/interface/web/sites/lib/lang/tr_domain_verification_subdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c9fffab39bbbf6a949da1f6a30aa2a3cdeca3199
--- /dev/null
+++ b/interface/web/sites/lib/lang/tr_domain_verification_subdomain.lng
@@ -0,0 +1,10 @@
+
diff --git a/interface/web/sites/lib/module.conf.php b/interface/web/sites/lib/module.conf.php
index 80a034819cf54139e4555389a0f9f6c67193daeb..eef10957b6a8f105330a1b8b44adf7513af18a4c 100644
--- a/interface/web/sites/lib/module.conf.php
+++ b/interface/web/sites/lib/module.conf.php
@@ -63,6 +63,24 @@ if(count($items))
'items' => $items);
}
+//Domain Menu
+$items=[];
+$app->uses('getconf');
+$global_domain_config = $app->getconf->get_global_config('domains');
+if($_SESSION['s']['user']['typ'] == 'user') {
+ if($global_domain_config['use_domain_verification'] == 'y' || $global_domain_config['use_domain_subdomain'] == 'y') {
+ $items[] = ['title' => "Domains",
+ 'target' => 'content',
+ 'link' => 'sites/domain_verification_list.php',
+ 'html_id' => 'domain_verification_list'];
+ }
+}
+if(count($items)) {
+ $module["nav"][] = array( 'title' => 'Domains',
+ 'open' => 1,
+ 'items' => $items);
+}
+
// Databases menu
if($app->auth->get_client_limit($userid, 'database') != 0 && $app->system->has_service($userid, 'db'))
{
diff --git a/interface/web/sites/list/domain_verification.list.php b/interface/web/sites/list/domain_verification.list.php
new file mode 100644
index 0000000000000000000000000000000000000000..17149e928ea53ab11a2768f65c65e7c06025d19e
--- /dev/null
+++ b/interface/web/sites/list/domain_verification.list.php
@@ -0,0 +1,40 @@
+
diff --git a/interface/web/sites/templates/domain_verification_edit.htm b/interface/web/sites/templates/domain_verification_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..24e40ceb6b9f6c4ce5abf34885045deb1b440047
--- /dev/null
+++ b/interface/web/sites/templates/domain_verification_edit.htm
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/interface/web/sites/templates/domain_verification_info.htm b/interface/web/sites/templates/domain_verification_info.htm
new file mode 100644
index 0000000000000000000000000000000000000000..e45ac36e41fce05730f9952db520883bb7006d72
--- /dev/null
+++ b/interface/web/sites/templates/domain_verification_info.htm
@@ -0,0 +1,44 @@
+
+
\ No newline at end of file
diff --git a/interface/web/sites/templates/domain_verification_subdomain.htm b/interface/web/sites/templates/domain_verification_subdomain.htm
new file mode 100644
index 0000000000000000000000000000000000000000..2ece167324c1b0badd39c8e25df31c9273532f7d
--- /dev/null
+++ b/interface/web/sites/templates/domain_verification_subdomain.htm
@@ -0,0 +1,27 @@
+