Skip to content
......@@ -3,4 +3,5 @@ $wb['domain_error_empty'] = 'Домен пустой.';
$wb['domain_error_unique'] = 'Имя должно быть уникальным.';
$wb['domain_error_regex'] = 'Некорректное имя домена.';
$wb['Domain'] = 'Домен';
$wb['domain_txt'] = 'Domain';
?>
......@@ -3,4 +3,5 @@ $wb['domain_error_empty'] = 'Domännamnet är tomt';
$wb['domain_error_unique'] = 'Domänen finns redan';
$wb['domain_error_regex'] = 'Denna domän är ogiltig';
$wb['Domain'] = 'Domän';
$wb['domain_txt'] = 'Domain';
?>
......@@ -3,4 +3,5 @@ $wb['domain_error_empty'] = 'The domain-name is empty';
$wb['domain_error_unique'] = 'The domain already exists';
$wb['domain_error_regex'] = 'This domain-name is not allowed';
$wb['Domain'] = 'Domain';
$wb['domain_txt'] = 'Domain';
?>
......@@ -3,4 +3,5 @@ $wb['domain_error_empty'] = 'Etki alanı boş olamaz';
$wb['domain_error_unique'] = 'Aynı etki alanı zaten var';
$wb['domain_error_regex'] = 'Bu etki alanına izin verilmiyor';
$wb['Domain'] = 'Etki Alanı';
$wb['domain_txt'] = 'Domain';
?>
......@@ -19,7 +19,11 @@
<input type="hidden" name="id" value="{tmpl_var name='id'}">
<input type="hidden" name="type" value="local">
<div class="clear"><div class="right">
<div class="clear">
<tmpl_if name='id'><tmpl_if name='show_delete_on_forms' op="==" value="y">
<a class="btn btn-default formbutton-danger formbutton-narrow" href="javascript: ISPConfig.confirm_action('client/domain_del.php?id={tmpl_var name='id'}&_csrf_id={tmpl_var name='_csrf_id'}&_csrf_key={tmpl_var name='_csrf_key'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span class="icon icon-delete"></span></a>
</tmpl_if></tmpl_if>
<div class="right">
<button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="client/domain_edit.php">{tmpl_var name='btn_save_txt'}</button>
<button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="client/domain_list.php">{tmpl_var name='btn_cancel_txt'}</button>
</div></div>
\ No newline at end of file
......@@ -54,6 +54,9 @@ if($type == 'globalsearch'){
// resellers
$result[] = _search('client', 'reseller', "AND limit_client != 0");
// client domains
$result[] = _search('client', 'domain');
// web sites
$result[] = _search('sites', 'web_vhost_domain', "AND type = 'vhost'");
......
......@@ -129,6 +129,12 @@ class dns_page_action extends tform_actions {
if($this->checkDuplicate()) $app->tform->errorMessage .= $app->tform->lng("data_error_duplicate")."<br>";
// Remove accidental quotes around a record.
$matches = array();
if(preg_match('/^"(.*)"$/', $this->dataRecord["data"], $matches)) {
$this->dataRecord["data"] = $matches[1];
}
// Set the server ID of the rr record to the same server ID as the parent record.
$this->dataRecord["server_id"] = $soa["server_id"];
......
......@@ -64,6 +64,8 @@ if (isset($_POST['client_group_id'])) {
$sys_groupid = $_SESSION["s"]["user"]["default_group"];
}
$domain = (isset($_POST['domain'])&&!empty($_POST['domain']))?$_POST['domain']:NULL;
$settings = $app->getconf->get_global_config('dns');
$external_slave_servers = $settings['dns_external_slave_fqdn'];
// get the correct server_id
if (isset($_POST['server_id'])) {
......@@ -73,11 +75,11 @@ if (isset($_POST['server_id'])) {
$server_id = $app->functions->intval($_POST['server_id_value']);
$post_server_id = true;
} else {
$settings = $app->getconf->get_global_config('dns');
$server_id = $app->functions->intval($settings['default_dnsserver']);
$post_server_id = false;
}
$ignore_ns_records = (isset($_POST['ignore_ns_records']))?$app->functions->intval($_POST['ignore_ns_records']):0;
// Load the templates
$records = $app->db->queryAllRecords("SELECT * FROM dns_template WHERE visible = 'Y'");
......@@ -190,16 +192,17 @@ if ($settings['use_domain_module'] == 'y') {
/* We have domains in the list, so create the drop-down-list */
foreach( $domains as $domain) {
$domain_select .= "<option value=" . $domain['domain_id'] ;
if ($domain['domain'] == $_POST['domain']) {
if ($domain['domain_id'] == $_POST['domain']) {
$domain_select .= " selected";
$selected_domain = $domain['domain'];
}
$domain_select .= ">" . $app->functions->idn_decode($domain['domain']) . ".</option>\r\n";
}
}
$app->tpl->setVar("domain_option", $domain_select);
/* check if the selected domain can be used! */
if ($domain) {
$domain_check = $app->tools_sites->checkDomainModuleDomain($domain);
if ($selected_domain) {
$domain_check = $app->tools_sites->checkDomainModuleDomain($selected_domain);
if(!$domain_check) {
// invalid domain selected
$domain = NULL;
......@@ -207,6 +210,7 @@ if ($settings['use_domain_module'] == 'y') {
$domain = $domain_check;
}
}
$domain = $selected_domain;
}
$lng_file = 'lib/lang/'.$app->functions->check_language($_SESSION['s']['language']).'_dns_import.lng';
......@@ -261,6 +265,13 @@ if(isset($_FILES['file']['name']) && is_uploaded_file($_FILES['file']['tmp_name'
$servers[$i]['server_name'] .= ".";
}
}
if (!empty($external_slave_servers)) {
$external_servers = preg_split('/[\s,]+/', $external_slave_servers);
foreach($external_servers as $e) {
$servers[]['server_name'] = rtrim($e, '.') . '.';
}
}
$lines = file($_FILES['file']['tmp_name']);
// Remove empty lines, comments, whitespace, tabs, etc.
......@@ -322,7 +333,7 @@ if(isset($_FILES['file']['name']) && is_uploaded_file($_FILES['file']['tmp_name'
$owner = $name;
$r = 0;
$dns_rr = array();
$add_default_ns = TRUE;
$ns_record_included = FALSE;
$found_soa = FALSE;
foreach($lines as $line){
......@@ -570,7 +581,12 @@ if(isset($_FILES['file']['name']) && is_uploaded_file($_FILES['file']['tmp_name'
$dns_rr[$r]['type'] = strtoupper($resource_type);
if($dns_rr[$r]['type'] == 'NS' && fqdn_name( $dns_rr[$r]['name'], $soa['name'] ) == $soa['name']){
$add_default_ns = FALSE;
if ($ignore_ns_records) {
unset($dns_rr[$r]);
continue;
} else {
$ns_record_included = TRUE;
}
}
$dns_rr[$r]['ttl'] = $app->functions->intval($dns_rr[$r]['ttl']);
......@@ -601,7 +617,7 @@ if(isset($_FILES['file']['name']) && is_uploaded_file($_FILES['file']['tmp_name'
$i++;
}
if ( $add_default_ns ) {
if ( $ignore_ns_records || !$ns_record_included ) {
foreach ($servers as $server){
$dns_rr[$r]['name'] = $soa['name'];
$dns_rr[$r]['type'] = 'NS';
......
......@@ -227,6 +227,14 @@ class page_action extends tform_actions {
}
}
$csrf_token = $app->auth->csrf_token_get('dns_soa_del');
$app->tpl->setVar('_csrf_id', $csrf_token['csrf_id']);
$app->tpl->setVar('_csrf_key', $csrf_token['csrf_key']);
$global_config = $app->getconf->get_global_config();
$app->tpl->setVar('show_delete_on_forms', $global_config['misc']['show_delete_on_forms']);
} else {
$app->tpl->setVar("edit_disabled", 0);
}
......
......@@ -51,7 +51,7 @@ $form['tabs']['dns'] = array (
'type' => 'TOLOWER')
),
'validators' => array ( 0 => array ( 'type' => 'REGEX',
'regex' => '/^[a-zA-Z0-9\.\-\_]{0,255}$/',
'regex' => '/^[a-zA-Z0-9\.\-\_\*]{0,255}$/',
'errmsg'=> 'name_error_regex'),
),
'default' => '',
......
......@@ -22,4 +22,5 @@ $wb['ignore_record_not_class_in'] = 'Ignoring DNS record, not class IN.';
$wb['ignore_record_unknown_type'] = 'Ignoring DNS record, unknown type.';
$wb['ignore_record_invalid_owner'] = 'Ignoring DNS record, not able to validate owner name.';
$wb['zone_file_import_fail'] = 'The zone file did not import.';
$wb['ignore_ns_records_txt'] = 'Ignore NS records';
?>
......@@ -73,7 +73,7 @@
<td><input class="form-control" type="text" name="search_aux" value="{tmpl_var name='search_aux'}" /></td>
<td><input class="form-control" type="text" name="search_ttl" value="{tmpl_var name='search_ttl'}" /></td>
<td class="text-right">
<button type="button" class="btn btn-default formbutton-default formbutton-narrow" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="return ISPConfig.changeTab('dns_records','dns/dns_soa_edit.php');" data-form-action="dns/dns_a_list.php"><span class="icon icon-filter"></span></button>
<button type="button" class="btn btn-default formbutton-default formbutton-narrow" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="return ISPConfig.changeTab('dns_records','dns/dns_soa_edit.php',true);" data-form-action="dns/dns_a_list.php"><span class="icon icon-filter"></span></button>
</td>
</tr>
</thead>
......
......@@ -46,6 +46,13 @@
<div class="col-sm-9 col-text">
<tmpl_var name='domain_field_desc_txt' }</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">{tmpl_var name=ignore_ns_records_txt'}</label>
<div class="col-sm-9">
<input type="checkbox" id="ignore_ns_records" value="1" checked name="ignore_ns_records" />
</div>
</div>
<div class="form-group">
<label for="file" class="col-sm-3 control-label">{tmpl_var name='zonefile_to_import_txt'}</label>
<div class="col-sm-9 col-text"><input name="file" id="file" size="30" type="file" class="fileUpload" /></div>
......@@ -59,7 +66,7 @@
</div>
</tmpl_if>
<tmpl_if name="error">
<div class='alert alert-danger clear'>
<div id='errorMsg' class='alert alert-danger clear'>
<div class='alert-label'>
<strong>
<tmpl_var name="error_txt">
......
......@@ -173,6 +173,10 @@
<input type="hidden" name="id" value="{tmpl_var name='id'}">
<input name="serial" type="hidden" value="{tmpl_var name='serial'}">
<div class="clear">
<tmpl_if name='id'><tmpl_if name='show_delete_on_forms' op="==" value="y">
<a class="btn btn-default formbutton-danger formbutton-narrow" href="javascript: ISPConfig.confirm_action('dns/dns_soa_del.php?id={tmpl_var name='id'}&_csrf_id={tmpl_var name='_csrf_id'}&_csrf_key={tmpl_var name='_csrf_key'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name
='delete_confirmation'}');"><span class="icon icon-delete"></span></a>
</tmpl_if></tmpl_if>
<div class="right">
<button class="btn btn-default formbutton-success" type="button" value="{tmpl_var name='btn_save_txt'}" data-submit-form="pageForm" data-form-action="dns/dns_soa_edit.php">{tmpl_var name='btn_save_txt'}</button>
<button class="btn btn-default formbutton-default" type="button" value="{tmpl_var name='btn_cancel_txt'}" data-load-content="dns/dns_soa_list.php">{tmpl_var name='btn_cancel_txt'}</button>
......
......@@ -34,8 +34,10 @@ require_once '../../lib/app.inc.php';
//* Check permissions for module
$app->auth->check_module_permissions('mail');
$app->uses('functions');
$type = $_GET['type'];
$domain_id = $_GET['domain_id'];
$domain_id = $app->functions->idn_encode($_GET['domain_id']);
if($type == 'create_dkim' && $domain_id != ''){
$dkim_public = $_GET['dkim_public'];
......@@ -51,7 +53,7 @@ if($type == 'create_dkim' && $domain_id != ''){
unset($rec);
$mail_config = $app->getconf->get_server_config($server_id, 'mail');
$dkim_strength = $app->functions->intval($mail_config['dkim_strength']);
if ($dkim_strength=='') $dkim_strength = 2048;
if ($dkim_strength == '' || $dkim_strength == 0 ) $dkim_strength = 2048;
$rnd_val = $dkim_strength * 10;
$app->system->exec_safe('openssl rand -out ../../temp/random-data.bin '.$rnd_val.' 2> /dev/null');
......
......@@ -68,7 +68,7 @@ $wb['monthly_backup_txt'] = 'monatlich';
$wb['cc_note_txt'] = '(Mehrere E-Mail-Adressen mit Kommas trennen)';
$wb['sender_cc_txt'] = 'Kopie ausgehender Emails senden an (BCC)';
$wb['sender_cc_error_isemail'] = '-Kopie ausgehender Emails senden an- Feld enthält keine gültige Emailadresse';
$wb['sender_cc_note_txt'] = '(Mehrere E-Mail-Adressen mit Kommas trennen)';
$wb['sender_cc_note_txt'] = '(Nur eine E-Mail-Adresse)';
$wb['password_click_to_set_txt'] = 'Passwort erzeugen';
$wb['purge_trash_days_txt'] = 'Papierkorb automatisch nach X Tagen leeren';
$wb['tooltip_purge_trash_days_txt'] = '0 = deaktiviert';
......
......@@ -50,7 +50,7 @@
<tmpl_loop name="records">
<tr>
<td><a href="#" data-load-content="mail/mail_forward_edit.php?id={tmpl_var name='id'}">{tmpl_var name="active"}</a></td>
<td><a href="#" data-load-content="mail/mail_forward_edit.php?id={tmpl_var name='id'}">{tmpl_var name="source"}</a></td>
<td class="copy-to-clipboard"><a class="copy-to-clipboard-icon-helper" href="#" data-load-content="mail/mail_forward_edit.php?id={tmpl_var name='id'}">{tmpl_var name="source"}</a></td>
<td><a href="#" data-load-content="mail/mail_forward_edit.php?id={tmpl_var name='id'}">{tmpl_var name="destination"}</a></td>
<td class="text-right">
<a class="btn btn-default formbutton-danger formbutton-narrow" href="javascript: ISPConfig.confirm_action('mail/mail_forward_del.php?id={tmpl_var name='id'}&_csrf_id={tmpl_var name='csrf_id'}&_csrf_key={tmpl_var name='csrf_key'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span class="icon icon-delete"></span></a>
......
......@@ -61,7 +61,7 @@
<tbody>
<tmpl_loop name="records">
<tr>
<td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='email'}">{tmpl_var name="email"}</a></td>
<td class="copy-to-clipboard"><a class="copy-to-clipboard-icon-helper" href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='email'}">{tmpl_var name="email"}</a></td>
<tmpl_if name="enable_custom_login"><td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="login"}</a></td></tmpl_if>
<td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="name"}</a></td>
<td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="autoresponder"}</a></td>
......
......@@ -21,7 +21,7 @@
<tr>
<td><input class="form-control" type="text" name="search_rulename" value="{tmpl_var name='search_rulename'}" /></td>
<td class="text-right">
<button type="button" class="btn btn-default formbutton-default formbutton-narrow" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" data-submit-form="pageForm" data-form-action="mail/mail_user_edit.php"><span class="icon icon-filter"></span></button>
<button type="button" class="btn btn-default formbutton-default formbutton-narrow" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" data-submit-form="pageForm" data-form-action="mailuser/mail_user_filter_list.php"><span class="icon icon-filter"></span></button>
</td>
</tr>
</thead>
......
......@@ -388,6 +388,16 @@ class page_action extends tform_actions {
}
}
}
} else {
if(!empty($global_config['default_remote_dbserver'])) {
// Add default remote_ips from Main Configuration.
$remote_ips = explode(",", $global_config['default_remote_dbserver']);
if($this->dataRecord['remote_access'] != 'y'){
$this->dataRecord['remote_ips'] = implode(',', $remote_ips);
$this->dataRecord['remote_access'] = 'y';
}
}
}
if ($app->tform->errorMessage == '') {
......@@ -478,6 +488,16 @@ class page_action extends tform_actions {
}
}
}
} else {
if(!empty($global_config['default_remote_dbserver'])) {
// Add default remote_ips from Main Configuration.
$remote_ips = explode(",", $global_config['default_remote_dbserver']);
if($this->dataRecord['remote_access'] != 'y'){
$this->dataRecord['remote_ips'] = implode(',', $remote_ips);
$this->dataRecord['remote_access'] = 'y';
}
}
}
if ($app->tform->errorMessage == '') {
......