10 files added
11 files modified
New file |
| | |
| | | <?php |
| | | |
| | | /* |
| | | Copyright (c) 2007, Till Brehm, projektfarm Gmbh |
| | | 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. |
| | | * Neither the name of ISPConfig nor the names of its contributors |
| | | may be used to endorse or promote products derived from this software without |
| | | specific prior written permission. |
| | | |
| | | 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 OWNER 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. |
| | | */ |
| | | |
| | | /****************************************** |
| | | * Begin Form configuration |
| | | ******************************************/ |
| | | |
| | | $tform_def_file = "form/dns_ds.tform.php"; |
| | | |
| | | /****************************************** |
| | | * End Form configuration |
| | | ******************************************/ |
| | | |
| | | require_once '../../lib/config.inc.php'; |
| | | require_once '../../lib/app.inc.php'; |
| | | require_once './dns_edit_base.php'; |
| | | |
| | | // Loading classes |
| | | class page_action extends dns_page_action { |
| | | |
| | | } |
| | | |
| | | $page = new page_action; |
| | | $page->onLoad(); |
| | | |
| | | ?> |
New file |
| | |
| | | <?php |
| | | |
| | | /* |
| | | Copyright (c) 2007, Till Brehm, projektfarm Gmbh |
| | | 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. |
| | | * Neither the name of ISPConfig nor the names of its contributors |
| | | may be used to endorse or promote products derived from this software without |
| | | specific prior written permission. |
| | | |
| | | 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 OWNER 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. |
| | | */ |
| | | |
| | | /****************************************** |
| | | * Begin Form configuration |
| | | ******************************************/ |
| | | |
| | | $tform_def_file = "form/dns_loc.tform.php"; |
| | | |
| | | /****************************************** |
| | | * End Form configuration |
| | | ******************************************/ |
| | | |
| | | require_once '../../lib/config.inc.php'; |
| | | require_once '../../lib/app.inc.php'; |
| | | require_once './dns_edit_base.php'; |
| | | |
| | | // Loading classes |
| | | class page_action extends dns_page_action { |
| | | |
| | | } |
| | | |
| | | $page = new page_action; |
| | | $page->onLoad(); |
| | | |
| | | ?> |
| | |
| | | <?php |
| | | |
| | | /* |
| | | Copyright (c) 2014, Florian Schaal, info@schaal-24.de |
| | | Copyright (c) 2007, Till Brehm, projektfarm Gmbh |
| | | All rights reserved. |
| | | |
| | | Redistribution and use in source and binary forms, with or without modification, |
| | |
| | | |
| | | require_once '../../lib/config.inc.php'; |
| | | require_once '../../lib/app.inc.php'; |
| | | |
| | | //* Check permissions for module |
| | | $app->auth->check_module_permissions('dns'); |
| | | require_once './dns_edit_base.php'; |
| | | |
| | | // Loading classes |
| | | $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 = intval($_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); |
| | | if($tmp["number"] >= $client["limit_dns_record"]) { |
| | | $app->error($app->tform->wordbook["limit_dns_record_txt"]); |
| | | } |
| | | } |
| | | } |
| | | |
| | | parent::onShowNew(); |
| | | } |
| | | |
| | | function onShowEnd() { |
| | | global $app, $conf; |
| | | |
| | | $zone = $app->functions->intval($_GET['zone']); |
| | | |
| | | //* check for an existing spf-record |
| | | $sql = "SELECT data, active FROM dns_rr WHERE data LIKE 'v=spf1%' AND zone = ? AND " . $app->tform->getAuthSQL('r'); |
| | | $rec = $app->db->queryOneRecord($sql, $zone); |
| | | if ( isset($rec) && !empty($rec) ) { |
| | | $this->id = 1; |
| | | $old_data = strtolower($rec['data']); |
| | | |
| | | $app->tpl->setVar("data", $old_data); |
| | | if ($rec['active'] == 'Y') $app->tpl->setVar("active", "CHECKED"); else $app->tpl->setVar("active", "UNCHECKED"); |
| | | |
| | | $spf_hostname = ''; |
| | | $spf_ip = ''; |
| | | $spf_domain = ''; |
| | | $spf_mechanism = ''; |
| | | |
| | | // browse through data |
| | | $temp = explode(' ', $old_data); |
| | | foreach ($temp as $part) { |
| | | if ($part == 'a') $app->tpl->setVar("spf_a_active", "CHECKED"); |
| | | if ($part == 'mx') $app->tpl->setVar("spf_mx_active", "CHECKED"); |
| | | if (preg_match("/^ip(4|6):/", $part)) $spf_ip .= str_replace(array('ip4:','ip6:'), '', $part) . ' '; |
| | | if (preg_match("/^a:/", $part)) $spf_hostname .= str_replace('a:', '', $part) . ' '; |
| | | if (preg_match("/^\\??include/", $part)) $spf_domain .= str_replace(array('include:', '?'), '', $part) . ' '; |
| | | } |
| | | unset($temp); |
| | | $spf_ip = rtrim($spf_ip); |
| | | $spf_hostname = rtrim($spf_hostname); |
| | | $spf_domain = rtrim($spf_domain); |
| | | $spf_mechanism = substr($rec['data'], -4, 1); |
| | | } |
| | | |
| | | //set html-values |
| | | $app->tpl->setVar("spf_ip", $spf_ip); |
| | | $app->tpl->setVar("spf_hostname", $spf_hostname); |
| | | $app->tpl->setVar("spf_domain", $spf_domain); |
| | | //create spf-mechanism-list |
| | | $spf_mechanism_value = array( |
| | | '+' => 'spf_mechanism_pass_txt', |
| | | '-' => 'spf_mechanism_fail_txt', |
| | | '~' => 'spf_mechanism_softfail_txt', |
| | | '?' => 'spf_mechanism_neutral_txt' |
| | | ); |
| | | $spf_mechanism_list=''; |
| | | foreach($spf_mechanism_value as $value => $txt) { |
| | | $selected = @($spf_mechanism == $value)?' selected':''; |
| | | $spf_mechanism_list .= "<option value='$value'$selected>".$app->tform->wordbook[$txt]."</option>\r\n"; |
| | | } |
| | | $app->tpl->setVar('spf_mechanism', $spf_mechanism_list); |
| | | |
| | | parent::onShowEnd(); |
| | | |
| | | } |
| | | |
| | | function onSubmit() { |
| | | global $app, $conf; |
| | | |
| | | |
| | | // Get the parent soa record of the domain |
| | | $soa = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = ? AND " . $app->tform->getAuthSQL('r'), $app->functions->intval($_POST["zone"])); |
| | | |
| | | // 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 = intval($_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); |
| | | if($tmp["number"] >= $client["limit_dns_record"]) { |
| | | $app->error($app->tform->wordbook["limit_dns_record_txt"]); |
| | | } |
| | | } |
| | | } // end if user is not admin |
| | | |
| | | //create spf-record |
| | | if (!empty($this->dataRecord['spf_mx'])) { |
| | | $spf_record[] = 'mx'; |
| | | } |
| | | if (!empty($this->dataRecord['spf_a'])) { |
| | | $spf_record[] = 'a'; |
| | | } |
| | | $spf_ip = trim($this->dataRecord['spf_ip']); |
| | | if (!empty($spf_ip)) { |
| | | $rec = split(' ', $spf_ip); |
| | | foreach ($rec as $ip) { |
| | | $temp_ip = explode('/', $ip); |
| | | if (filter_var($temp_ip[0], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) { |
| | | $temp = 'ip4:' . $temp_ip[0]; |
| | | if (isset($temp_ip[1])) $temp .= '/' . $temp_ip[1]; |
| | | $spf_record[] = $temp; |
| | | unset($temp); |
| | | } |
| | | elseif (filter_var($temp_ip[0], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) { |
| | | $temp = 'ip6:' . $temp_ip[0]; |
| | | if (isset($temp_ip[1])) $temp .= '/' . $temp_ip[1]; |
| | | $spf_record[] = $temp; |
| | | unset($temp); |
| | | } |
| | | else { |
| | | if (isset($app->tform->errorMessage )) $app->tform->errorMessage = '<br/>' . $app->tform->errorMessage; |
| | | $app->tform->errorMessage .= $app->tform->wordbook["spf_invalid_ip_txt"]. $temp_ip[0]; |
| | | if (isset( $temp_ip[1])) $app->tform->errorMessage .= "/".$temp_ip[1]; |
| | | } |
| | | } |
| | | } |
| | | $spf_hostname = trim($this->dataRecord['spf_hostname']); |
| | | if (!empty($spf_hostname)) { |
| | | $rec = split(' ', $spf_hostname); |
| | | foreach ($rec as $hostname) { |
| | | if (preg_match('/^[a-zA-Z0-9\\.\\-\\*]{0,64}$/', $hostname)) |
| | | $spf_record[] = 'a:' . $hostname; |
| | | else { |
| | | if (isset($app->tform->errorMessage )) $app->tform->errorMessage .= '<br/>' . $app->tform->wordbook["spf_invalid_hostname_txt"]. $hostname; |
| | | $app->tform->errorMessage .= $app->tform->wordbook["spf_invalid_hostname_txt"]. $hostname; |
| | | } |
| | | } |
| | | unset($rec); |
| | | } |
| | | $spf_domain = trim($this->dataRecord['spf_domain']); |
| | | if (!empty($spf_domain)) { |
| | | $rec = split(' ', $spf_domain); |
| | | foreach ($rec as $domain) { |
| | | if (preg_match('/^[_a-zA-Z0-9\\.\\-\\*]{0,64}$/', $domain)) |
| | | $spf_record[] = 'include:' . $domain; |
| | | else { |
| | | if (isset($app->tform->errorMessage )) $app->tform->errorMessage .= '<br/>' . $app->tform->wordbook["spf_invalid_domain_txt"]. $domain; |
| | | $app->tform->errorMessage .= $app->tform->wordbook["spf_invalid_domain_txt"]. $domain; |
| | | } |
| | | } |
| | | } |
| | | |
| | | $temp = implode(' ', $spf_record);unset($spf_record); |
| | | if (!empty($temp)) |
| | | $this->dataRecord['data'] = 'v=spf1 ' . $temp . ' ' . $this->dataRecord['spf_mechanism'] . 'all'; |
| | | else $this->dataRecord['data'] = 'v=spf1 ' . $this->dataRecord['spf_mechanism'] . 'all'; |
| | | unset($temp); |
| | | |
| | | $this->dataRecord['name'] = $soa['origin']; |
| | | if (isset($this->dataRecord['active'])) $this->dataRecord['active'] = 'Y'; |
| | | |
| | | // 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'); |
| | | |
| | | // always update an existing entry |
| | | $check=$app->db->queryOneRecord("SELECT * FROM dns_rr WHERE zone = ? AND type = ? AND data LIKE 'v=spf1%' AND name = ?", $this->dataRecord["zone"], $this->dataRecord["type"], $this->dataRecord['name']); |
| | | $this->id = $check['id']; |
| | | |
| | | if (!isset($this->dataRecord['active'])) $this->dataRecord['active'] = 'N'; |
| | | |
| | | 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 = ? AND " . $app->tform->getAuthSQL('r'), $app->functions->intval($this->dataRecord["zone"])); |
| | | $app->db->datalogUpdate('dns_rr', array("sys_groupid" => $soa['sys_groupid']), 'id', $this->id); |
| | | |
| | | //* Update the serial number of the SOA record |
| | | $soa_id = $app->functions->intval($_POST["zone"]); |
| | | $serial = $app->validate_dns->increase_serial($soa["serial"]); |
| | | $app->db->datalogUpdate('dns_soa', array("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 = ? AND " . $app->tform->getAuthSQL('r'), $app->functions->intval($this->dataRecord["zone"])); |
| | | $soa_id = $app->functions->intval($_POST["zone"]); |
| | | $serial = $app->validate_dns->increase_serial($soa["serial"]); |
| | | $app->db->datalogUpdate('dns_soa', array("serial" => $serial), 'id', $soa_id); |
| | | } |
| | | class page_action extends dns_page_action { |
| | | |
| | | } |
| | | |
New file |
| | |
| | | <?php |
| | | |
| | | /* |
| | | Form Definition |
| | | |
| | | Tabledefinition |
| | | |
| | | Datatypes: |
| | | - INTEGER (Forces the input to Int) |
| | | - DOUBLE |
| | | - CURRENCY (Formats the values to currency notation) |
| | | - VARCHAR (no format check, maxlength: 255) |
| | | - TEXT (no format check) |
| | | - DATE (Dateformat, automatic conversion to timestamps) |
| | | |
| | | Formtype: |
| | | - TEXT (Textfield) |
| | | - TEXTAREA (Textarea) |
| | | - PASSWORD (Password textfield, input is not shown when edited) |
| | | - SELECT (Select option field) |
| | | - RADIO |
| | | - CHECKBOX |
| | | - CHECKBOXARRAY |
| | | - FILE |
| | | |
| | | VALUE: |
| | | - Wert oder Array |
| | | |
| | | Hint: |
| | | The ID field of the database table is not part of the datafield definition. |
| | | The ID field must be always auto incement (int or bigint). |
| | | |
| | | |
| | | */ |
| | | global $app; |
| | | |
| | | $form["title"] = "DNS DS Record"; |
| | | $form["description"] = ""; |
| | | $form["name"] = "dns_ds"; |
| | | $form["action"] = "dns_ds_edit.php"; |
| | | $form["db_table"] = "dns_rr"; |
| | | $form["db_table_idx"] = "id"; |
| | | $form["db_history"] = "yes"; |
| | | $form["tab_default"] = "dns"; |
| | | $form["list_default"] = "dns_a_list.php"; |
| | | $form["auth"] = 'yes'; // yes / no |
| | | |
| | | $form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 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"]['dns'] = array ( |
| | | 'title' => "DNS DS", |
| | | 'width' => 100, |
| | | 'template' => "templates/dns_ds_edit.htm", |
| | | 'fields' => array ( |
| | | //################################# |
| | | // Begin Datatable fields |
| | | //################################# |
| | | 'server_id' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'SELECT', |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'zone' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'TEXT', |
| | | 'default' => @$app->functions->intval($_REQUEST["zone"]), |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'name' => 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' => 'REGEX', |
| | | 'regex' => '/^[a-zA-Z0-9\.\-\_]{0,255}$/', |
| | | 'errmsg'=> 'name_error_regex'), |
| | | ), |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'type' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | | 'default' => 'DS', |
| | | 'value' => '', |
| | | 'width' => '5', |
| | | 'maxlength' => '5' |
| | | ), |
| | | 'data' => array ( //TODO Regex validation does not take place obviously |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | | 'validators' => array ( |
| | | 0 => array ( |
| | | 'type' => 'REGEX', |
| | | 'regex' => "/^\d{1,5}\s\d{1,2}\s\d{1,2}\s.+$/s", |
| | | 'errmsg'=> 'invalid_type_ds' |
| | | ) |
| | | ), |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'ttl' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'TEXT', |
| | | 'validators' => array ( 0 => array ( 'type' => 'RANGE', |
| | | 'range' => '60:', |
| | | 'errmsg'=> 'ttl_range_error'), |
| | | ), |
| | | 'default' => '3600', |
| | | 'value' => '', |
| | | 'width' => '10', |
| | | 'maxlength' => '10' |
| | | ), |
| | | 'active' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'CHECKBOX', |
| | | 'default' => 'Y', |
| | | 'value' => array(0 => 'N', 1 => 'Y') |
| | | ), |
| | | 'stamp' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'serial' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'TEXT', |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '10', |
| | | 'maxlength' => '10' |
| | | ), |
| | | //################################# |
| | | // ENDE Datatable fields |
| | | //################################# |
| | | ) |
| | | ); |
| | | |
| | | if($_SESSION["s"]["user"]["typ"] == 'admin') { |
| | | unset($form["tabs"]['dns']['fields']['data']['validators']); |
| | | $form["tabs"]['dns']['fields']['data']['validators'][0]['type'] = 'NOTEMPTY'; |
| | | $form["tabs"]['dns']['fields']['data']['validators'][0]['errmsg'] = 'data_error_empty'; |
| | | $form["tabs"]['dns']['fields']['data']['maxlength'] = 512; |
| | | } |
| | | ?> |
New file |
| | |
| | | <?php |
| | | |
| | | /* |
| | | Form Definition |
| | | |
| | | Tabledefinition |
| | | |
| | | Datatypes: |
| | | - INTEGER (Forces the input to Int) |
| | | - DOUBLE |
| | | - CURRENCY (Formats the values to currency notation) |
| | | - VARCHAR (no format check, maxlength: 255) |
| | | - TEXT (no format check) |
| | | - DATE (Dateformat, automatic conversion to timestamps) |
| | | |
| | | Formtype: |
| | | - TEXT (Textfield) |
| | | - TEXTAREA (Textarea) |
| | | - PASSWORD (Password textfield, input is not shown when edited) |
| | | - SELECT (Select option field) |
| | | - RADIO |
| | | - CHECKBOX |
| | | - CHECKBOXARRAY |
| | | - FILE |
| | | |
| | | VALUE: |
| | | - Wert oder Array |
| | | |
| | | Hint: |
| | | The ID field of the database table is not part of the datafield definition. |
| | | The ID field must be always auto incement (int or bigint). |
| | | |
| | | |
| | | */ |
| | | global $app; |
| | | |
| | | $form["title"] = "DNS LOC Record"; |
| | | $form["description"] = ""; |
| | | $form["name"] = "dns_loc"; |
| | | $form["action"] = "dns_loc_edit.php"; |
| | | $form["db_table"] = "dns_rr"; |
| | | $form["db_table_idx"] = "id"; |
| | | $form["db_history"] = "yes"; |
| | | $form["tab_default"] = "dns"; |
| | | $form["list_default"] = "dns_a_list.php"; |
| | | $form["auth"] = 'yes'; // yes / no |
| | | |
| | | $form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 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"]['dns'] = array ( |
| | | 'title' => "DNS LOC", |
| | | 'width' => 100, |
| | | 'template' => "templates/dns_loc_edit.htm", |
| | | 'fields' => array ( |
| | | //################################# |
| | | // Begin Datatable fields |
| | | //################################# |
| | | 'server_id' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'SELECT', |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'zone' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'TEXT', |
| | | 'default' => @$app->functions->intval($_REQUEST["zone"]), |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'name' => 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' => 'REGEX', |
| | | 'regex' => '/^[a-zA-Z0-9\.\-\_]{0,255}$/', |
| | | 'errmsg'=> 'name_error_regex'), |
| | | ), |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'type' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | | 'default' => 'LOC', |
| | | 'value' => '', |
| | | 'width' => '5', |
| | | 'maxlength' => '5' |
| | | ), |
| | | 'data' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | | 'validators' => array ( |
| | | 0 => array ( |
| | | 'type' => 'NOTEMPTY', |
| | | 'errmsg'=> 'data_error_empty' |
| | | ), |
| | | 1 => array ( |
| | | 'type' => 'REGEX', |
| | | 'regex' => "/^(\d+\s)(\d+\s)?(\d+\s)?[NS]{1}\s(\d\s)(\d+\s)?(\d+\s)?[EW]{1}(\s\d+m?)(\s\d+m?)?(\s\d+m?)?(\s\d+m?)?$/s", |
| | | 'errmsg'=> 'invalid_type_dkim' |
| | | ), |
| | | ), |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'ttl' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'TEXT', |
| | | 'validators' => array ( 0 => array ( 'type' => 'RANGE', |
| | | 'range' => '60:', |
| | | 'errmsg'=> 'ttl_range_error'), |
| | | ), |
| | | 'default' => '3600', |
| | | 'value' => '', |
| | | 'width' => '10', |
| | | 'maxlength' => '10' |
| | | ), |
| | | 'active' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'CHECKBOX', |
| | | 'default' => 'Y', |
| | | 'value' => array(0 => 'N', 1 => 'Y') |
| | | ), |
| | | 'stamp' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'serial' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'TEXT', |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '10', |
| | | 'maxlength' => '10' |
| | | ), |
| | | //################################# |
| | | // ENDE Datatable fields |
| | | //################################# |
| | | ) |
| | | ); |
| | | |
| | | if($_SESSION["s"]["user"]["typ"] == 'admin') { |
| | | unset($form["tabs"]['dns']['fields']['data']['validators']); |
| | | $form["tabs"]['dns']['fields']['data']['validators'][0]['type'] = 'NOTEMPTY'; |
| | | $form["tabs"]['dns']['fields']['data']['validators'][0]['errmsg'] = 'data_error_empty'; |
| | | $form["tabs"]['dns']['fields']['data']['maxlength'] = 512; |
| | | } |
| | | ?> |
| | |
| | | 'type' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | | 'default' => 'TXT', |
| | | 'default' => 'SPF', |
| | | 'value' => '', |
| | | 'width' => '5', |
| | | 'maxlength' => '5' |
| | |
| | | 'data' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | | 'validators' => array ( |
| | | 0 => array ( |
| | | 'type' => 'NOTEMPTY', |
| | | 'errmsg'=> 'data_error_empty' |
| | | ), |
| | | ), |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | /* |
| | | 'aux' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'TEXT', |
| | | 'default' => '0', |
| | | 'value' => '', |
| | | 'width' => '10', |
| | | 'maxlength' => '10' |
| | | ), |
| | | */ |
| | | 'ttl' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'TEXT', |
| | |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'CHECKBOX', |
| | | 'default' => 'Y', |
| | | 'value' => array(0 => 'N', 1 => 'Y') |
| | | ), |
| | | 'stamp' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | |
| | | 'maxlength' => '10' |
| | | ), |
| | | //################################# |
| | | // End Datatable fields |
| | | // ENDE Datatable fields |
| | | //################################# |
| | | ) |
| | | ); |
| | | |
| | | |
| | | |
| | | if($_SESSION["s"]["user"]["typ"] == 'admin') { |
| | | unset($form["tabs"]['dns']['fields']['data']['validators']); |
| | | $form["tabs"]['dns']['fields']['data']['validators'][0]['type'] = 'NOTEMPTY'; |
| | | $form["tabs"]['dns']['fields']['data']['validators'][0]['errmsg'] = 'data_error_empty'; |
| | | $form["tabs"]['dns']['fields']['data']['maxlength'] = 512; |
| | | } |
| | | ?> |
New file |
| | |
| | | <?php |
| | | $wb['server_id_txt'] = 'Server'; |
| | | $wb['zone_txt'] = 'Zone'; |
| | | $wb['name_txt'] = 'Hostname'; |
| | | $wb['type_txt'] = 'Typ'; |
| | | $wb['data_txt'] = 'Daten'; |
| | | $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.'; |
| | | $wb['no_zone_perm'] = 'Sie haben nicht die Berechtigung, einen Eintrag zu dieser DNS Zone hinzuzufügen.'; |
| | | $wb['name_error_empty'] = 'Der Hostname ist leer.'; |
| | | $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.'; |
| | | $wb['data_error_empty'] = 'Text ist leer'; |
| | | $wb['data_error_regex'] = 'Textformat ungültig'; |
| | | $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; |
| | | $wb['invalid_type_ds'] = 'Der DS-Record hat das falsche Format.'; |
| | | ?> |
New file |
| | |
| | | <?php |
| | | $wb['server_id_txt'] = 'Server'; |
| | | $wb['zone_txt'] = 'Zone'; |
| | | $wb['name_txt'] = 'Hostname'; |
| | | $wb['type_txt'] = 'Typ'; |
| | | $wb['data_txt'] = 'Daten'; |
| | | $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.'; |
| | | $wb['no_zone_perm'] = 'Sie haben nicht die Berechtigung, einen Eintrag zu dieser DNS Zone hinzuzufügen.'; |
| | | $wb['name_error_empty'] = 'Der Hostname ist leer.'; |
| | | $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.'; |
| | | $wb['data_error_empty'] = 'Text ist leer'; |
| | | $wb['data_error_regex'] = 'Textformat ungültig'; |
| | | $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['data_txt'] = 'SPF Record'; |
| | | $wb['spf_mechanism_txt'] = 'SPF Mechanismus'; |
| | | $wb['spf_mechanism_pass_txt'] = 'Pass - Mails von anderen Sendern zulassen'; |
| | | $wb['spf_mechanism_fail_txt'] = 'Fail - Mails von anderen Sendern abweisen'; |
| | | $wb['spf_mechanism_softfail_txt'] = 'SoftFail - Mails von anderen Sendern zulassen aber markieren'; |
| | | $wb['spf_mechanism_neutral_txt'] = 'Neutral - nichts unternehmen'; |
| | | $wb['spf_mx_txt'] = 'Von allen MX-Servern dürfen Mails für diese Domain verschicken'; |
| | | $wb['spf_a_txt'] = 'Von allen eingetragenen IP-Adressen dürfen Mails für diese Domain verschickt werden'; |
| | | $wb['spf_ip_txt'] = '(Zusätzliche) IP-Adressen im CIDR Format, die Mails für diese Domain verschicken dürfen'; |
| | | $wb['spf_ip_note_txt'] = '(mehrere IPs mit Leerzeichen trennen)'; |
| | | $wb['spf_invalid_ip_txt'] = 'Ungültige IP-Adresse'; |
| | | $wb['spf_hostname_txt'] = '(Zusätzliche) Hostnamen, die für diese Domain Mails verschicken dürfen oder als Relay arbeiten.'; |
| | | $wb['spf_hostname_note_txt'] = '(mehrere Hostnamen mit Leerzeichen trennen)'; |
| | | $wb['spf_invalid_hostname_txt'] = 'Ungültiger Hostname'; |
| | | $wb['spf_domain_txt'] = 'Zusätzliche Domains, die Mails verschicken dürfen oder als Relay arbeiten'; |
| | | $wb['spf_domain_note_txt'] = '(mehrerer Domains mit Leerzeichen trennen)'; |
| | | $wb['spf_invalid_domain_txt'] = 'Ungültiger Domainname'; |
| | | $wb['server_id_txt'] = 'Server'; |
| | | $wb['zone_txt'] = 'Zone'; |
| | | $wb['name_txt'] = 'Hostname'; |
| | | $wb['type_txt'] = 'Typ'; |
| | | $wb['data_txt'] = 'Daten'; |
| | | $wb['ttl_txt'] = 'TTL'; |
| | | $wb['active_txt'] = 'Aktiv'; |
| | | $wb["record_exists_txt"] = 'DNS-Eintrag existiert bereits'; |
| | | $wb['ttl_range_error'] = 'Min. TTL time ist 60 Sekunden.'; |
| | | $wb['limit_dns_record_txt'] = 'Die maximale Anzahl an DNS Einträgen für Ihr Konto wurde erreicht.'; |
| | | $wb['no_zone_perm'] = 'Sie haben nicht die Berechtigung, einen Eintrag zu dieser DNS Zone hinzuzufügen.'; |
| | | $wb['name_error_empty'] = 'Der Hostname ist leer.'; |
| | | $wb['name_error_regex'] = 'Der Hostname hat das falsche Format.'; |
| | | $wb['data_error_empty'] = 'Text ist leer'; |
| | | $wb['data_error_regex'] = 'Textformat ungültig'; |
| | | $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; |
| | | $wb['info_txt'] = 'Im Nameserver wird zusätzlich ein identischer TXT-Record angelegt. Ihnen wird jedoch nur der SPF-Record angezeigt und auch nur ein Record berechnet.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['server_id_txt'] = 'Server'; |
| | | $wb['zone_txt'] = 'Zone'; |
| | | $wb['name_txt'] = 'Hostname'; |
| | | $wb['name_txt'] = 'Service-Descriptor'; |
| | | $wb['type_txt'] = 'Typ'; |
| | | $wb['data_txt'] = 'TLSA-Daten'; |
| | | $wb['ttl_txt'] = 'TTL'; |
| | |
| | | $wb['name_error_empty'] = 'Der Hostname ist leer.'; |
| | | $wb['name_error_regex'] = 'Der Hostname hat das falsche Format. Korrekt: _<port>._(tcp|udp).<hostname>'; |
| | | $wb['data_error_empty'] = 'TLSA-Daten sind leer'; |
| | | $wb['data_error_regex'] = 'TLSA-Datenformat ist ungültig. Korrekt: n n n DATEN'; |
| | | $wb['data_error_regex'] = 'TLSA-Datenformat ist ungültig. Korrekt: n n n HASH'; |
| | | $wb['ttl_range_error'] = 'Min. TTL ist 60 Sekunden.'; |
| | | ?> |
New file |
| | |
| | | <?php |
| | | $wb["server_id_txt"] = 'Server'; |
| | | $wb["zone_txt"] = 'Zone'; |
| | | $wb["name_txt"] = 'Hostname'; |
| | | $wb["type_txt"] = 'type'; |
| | | $wb["data_txt"] = 'Data'; |
| | | $wb["ttl_txt"] = 'TTL'; |
| | | $wb["active_txt"] = 'Active'; |
| | | $wb["limit_dns_record_txt"] = 'The max. number of DNS records for your account is reached.'; |
| | | $wb["no_zone_perm"] = 'You do not have the permission to add a record to this DNS zone.'; |
| | | $wb["name_error_empty"] = 'The hostname is empty.'; |
| | | $wb["name_error_regex"] = 'The hostname has the wrong format.'; |
| | | $wb["data_error_empty"] = 'Text empty'; |
| | | $wb["data_error_regex"] = 'Text format invalid'; |
| | | $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; |
| | | $wb['invalid_type_ds'] = 'DS-Record has a wrong format.'; |
| | | |
| | | ?> |
New file |
| | |
| | | <?php |
| | | $wb["server_id_txt"] = 'Server'; |
| | | $wb["zone_txt"] = 'Zone'; |
| | | $wb["name_txt"] = 'Hostname'; |
| | | $wb["type_txt"] = 'type'; |
| | | $wb["data_txt"] = 'Data'; |
| | | $wb["ttl_txt"] = 'TTL'; |
| | | $wb["active_txt"] = 'Active'; |
| | | $wb["limit_dns_record_txt"] = 'The max. number of DNS records for your account is reached.'; |
| | | $wb["no_zone_perm"] = 'You do not have the permission to add a record to this DNS zone.'; |
| | | $wb["name_error_empty"] = 'The hostname is empty.'; |
| | | $wb["name_error_regex"] = 'The hostname has the wrong format.'; |
| | | $wb["data_error_empty"] = 'Text empty'; |
| | | $wb["data_error_regex"] = 'Text format invalid'; |
| | | $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb['data_txt'] = 'SPF-Record'; |
| | | $wb['spf_mechanism_txt'] = 'SPF Mechanism'; |
| | | $wb['spf_mechanism_pass_txt'] = 'Pass - allow mail from other senders'; |
| | | $wb['spf_mechanism_fail_txt'] = 'Fail - reject mail from other senders'; |
| | | $wb['spf_mechanism_softfail_txt'] = 'SoftFail - allow mail from other senders but mark the email'; |
| | | $wb['spf_mechanism_neutral_txt'] = 'Neutral - do nothing'; |
| | | $wb['spf_mx_txt'] = 'Allow servers listed as MX to send email for this domain'; |
| | | $wb['spf_a_txt'] = 'Allow current IP address of the domain to send email for this domain'; |
| | | $wb['spf_ip_txt'] = 'Additional IP addresses in CIDR format that deliver or relay mail for this domain'; |
| | | $wb['spf_ip_note_txt'] = '(Sepearate IPs with whitespaces)'; |
| | | $wb['spf_invalid_ip_txt'] = 'Invalid IP-address'; |
| | | $wb['spf_hostname_txt'] = 'Any other server hostname that may deliver or relay mail for this domain'; |
| | | $wb['spf_hostname_note_txt'] = '(Sepearate hostnames with whitespaces)'; |
| | | $wb['spf_invalid_hostname_txt'] = 'Invalid hostname'; |
| | | $wb['spf_domain_txt'] = 'Any domains that may deliver or relay mail for this domain'; |
| | | $wb['spf_domain_note_txt'] = '(Sepearate domains with whitespaces)'; |
| | | $wb['spf_invalid_domain_txt'] = 'Invalid domainname'; |
| | | $wb["server_id_txt"] = 'Server'; |
| | | $wb["zone_txt"] = 'Zone'; |
| | | $wb["name_txt"] = 'Hostname'; |
| | | $wb["type_txt"] = 'type'; |
| | | $wb["data_txt"] = 'Daten'; |
| | | $wb["ttl_txt"] = 'TTL'; |
| | | $wb["active_txt"] = 'Active'; |
| | | $wb["record_exists_txt"] = 'DNS-Record already exists'; |
| | | $wb["limit_dns_record_txt"] = 'The max. number of DNS records for your account is reached.'; |
| | | $wb["no_zone_perm"] = 'You do not have the permission to add a record to this DNS zone.'; |
| | | $wb["name_error_empty"] = 'The hostname is empty.'; |
| | | $wb["name_error_regex"] = 'The hostname has the wrong format.'; |
| | | $wb["data_error_empty"] = 'Text empty'; |
| | | $wb["data_error_regex"] = 'Text format invalid'; |
| | | $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; |
| | | $wb['info_txt'] = 'This will also create an identic TXT record within the nameserver. You will only see the SPF record and you will also only be charged for one record.'; |
| | | ?> |
| | |
| | | <?php |
| | | $wb["server_id_txt"] = 'Server'; |
| | | $wb["zone_txt"] = 'Zone'; |
| | | $wb["name_txt"] = 'Hostname'; |
| | | $wb['name_txt'] = 'Service-Descriptor'; |
| | | $wb["type_txt"] = 'type'; |
| | | $wb["data_txt"] = 'TLSA-Data'; |
| | | $wb["ttl_txt"] = 'TTL'; |
| | |
| | | $wb["name_error_empty"] = 'The hostname is empty.'; |
| | | $wb["name_error_regex"] = 'The hostname has the wrong format. Correct: _<port>._(tcp|udp).<hostname>'; |
| | | $wb["data_error_empty"] = 'TLSA-Data empty'; |
| | | $wb["data_error_regex"] = 'TLSA dataformat is wrong. Correct: n n n DATA'; |
| | | $wb["data_error_regex"] = 'TLSA dataformat is wrong. Correct: n n n HASH'; |
| | | $wb['ttl_range_error'] = 'Min. TTL time is 60 seconds.'; |
| | | ?> |
| | |
| | | 'prefix' => "", |
| | | 'suffix' => "", |
| | | 'width' => "", |
| | | 'value' => array('A'=>'A', 'AAAA' => 'AAAA', 'ALIAS'=>'ALIAS', 'CNAME'=>'CNAME', 'HINFO'=>'HINFO', 'MX'=>'MX', 'NS'=>'NS', 'PTR'=>'PTR', 'RP'=>'RP', 'SPF'=>'SPF', 'SRV'=>'SRV', 'TLSA'=>'TLSA', 'TXT'=>'TXT')); |
| | | 'value' => array('A'=>'A', 'AAAA' => 'AAAA', 'ALIAS'=>'ALIAS', 'CNAME'=>'CNAME', 'DS'=>'DS', 'HINFO'=>'HINFO', 'LOC'=>'LOC', 'MX'=>'MX', 'NS'=>'NS', 'PTR'=>'PTR', 'RP'=>'RP', 'SPF'=>'SPF', 'SRV'=>'SRV', 'TLSA'=>'TLSA', 'TXT'=>'TXT')); |
| | | |
| | | |
| | | ?> |
| | |
| | | <button class="btn btn-default formbutton-success" type="button" data-load-content="dns/dns_alias_edit.php?zone={tmpl_var name='parent_id'}">ALIAS</button> |
| | | <button class="btn btn-default formbutton-success" type="button" data-load-content="dns/dns_cname_edit.php?zone={tmpl_var name='parent_id'}">CNAME</button> |
| | | <button class="btn btn-default formbutton-success" type="button" data-load-content="dns/dns_dkim_edit.php?zone={tmpl_var name='parent_id'}">DKIM</button> |
| | | <button class="btn btn-default formbutton-success" type="button" data-load-content="dns/dns_ds_edit.php?zone={tmpl_var name='parent_id'}">DS</button> |
| | | <button class="btn btn-default formbutton-success" type="button" data-load-content="dns/dns_dmarc_edit.php?zone={tmpl_var name='parent_id'}">DMARC</button> |
| | | <button class="btn btn-default formbutton-success" type="button" data-load-content="dns/dns_hinfo_edit.php?zone={tmpl_var name='parent_id'}">HINFO</button> |
| | | <button class="btn btn-default formbutton-success" type="button" data-load-content="dns/dns_loc_edit.php?zone={tmpl_var name='parent_id'}">LOC</button> |
| | | <button class="btn btn-default formbutton-success" type="button" data-load-content="dns/dns_mx_edit.php?zone={tmpl_var name='parent_id'}">MX</button> |
| | | <button class="btn btn-default formbutton-success" type="button" data-load-content="dns/dns_ns_edit.php?zone={tmpl_var name='parent_id'}">NS</button> |
| | | <button class="btn btn-default formbutton-success" type="button" data-load-content="dns/dns_ptr_edit.php?zone={tmpl_var name='parent_id'}">PTR</button> |
New file |
| | |
| | | <div class='page-header'> |
| | | <h1><tmpl_var name="list_head_txt"></h1> |
| | | </div> |
| | | <p><tmpl_var name="list_desc_txt"></p> |
| | | |
| | | |
| | | |
| | | <div class="form-group"> |
| | | <label for="name" class="col-sm-3 control-label">{tmpl_var name='name_txt'}</label> |
| | | <div class="col-sm-9"><input type="text" name="name" id="name" value="{tmpl_var name='name'}" class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label for="data" class="col-sm-3 control-label">{tmpl_var name='data_txt'}</label> |
| | | <div class="col-sm-9"><input type="text" name="data" id="data" value="{tmpl_var name='data'}" class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label for="ttl" class="col-sm-3 control-label">{tmpl_var name='ttl_txt'}</label> |
| | | <div class="col-sm-9"><input type="text" name="ttl" id="ttl" value="{tmpl_var name='ttl'}" class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">{tmpl_var name='active_txt'}</label> |
| | | <div class="col-sm-9"> |
| | | {tmpl_var name='active'} |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <input type="hidden" name="id" value="{tmpl_var name='id'}"> |
| | | <input type="hidden" name="zone" value="{tmpl_var name='zone'}"> |
| | | <input type="hidden" name="type" value="{tmpl_var name='type'}"> |
| | | |
| | | <div class="clear"><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_ds_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_edit.php?id={tmpl_var name='zone'}">{tmpl_var name='btn_cancel_txt'}</button> |
| | | </div></div> |
New file |
| | |
| | | <div class='page-header'> |
| | | <h1><tmpl_var name="list_head_txt"></h1> |
| | | </div> |
| | | <p><tmpl_var name="list_desc_txt"></p> |
| | | |
| | | |
| | | |
| | | <div class="form-group"> |
| | | <label for="name" class="col-sm-3 control-label">{tmpl_var name='name_txt'}</label> |
| | | <div class="col-sm-9"><input type="text" name="name" id="name" value="{tmpl_var name='name'}" class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label for="data" class="col-sm-3 control-label">{tmpl_var name='data_txt'}</label> |
| | | <div class="col-sm-9"><input type="text" name="data" id="data" value="{tmpl_var name='data'}" class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label for="ttl" class="col-sm-3 control-label">{tmpl_var name='ttl_txt'}</label> |
| | | <div class="col-sm-9"><input type="text" name="ttl" id="ttl" value="{tmpl_var name='ttl'}" class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">{tmpl_var name='active_txt'}</label> |
| | | <div class="col-sm-9"> |
| | | {tmpl_var name='active'} |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <input type="hidden" name="id" value="{tmpl_var name='id'}"> |
| | | <input type="hidden" name="zone" value="{tmpl_var name='zone'}"> |
| | | <input type="hidden" name="type" value="{tmpl_var name='type'}"> |
| | | |
| | | <div class="clear"><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_loc_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_edit.php?id={tmpl_var name='zone'}">{tmpl_var name='btn_cancel_txt'}</button> |
| | | </div></div> |
| | |
| | | |
| | | |
| | | <div class="form-group"> |
| | | <label for="name" class="col-sm-3 control-label">{tmpl_var name='name_txt'}</label> |
| | | <div class="col-sm-9"><input type="text" name="name" id="name" value="{tmpl_var name='name'}" class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label for="data" class="col-sm-3 control-label">{tmpl_var name='data_txt'}</label> |
| | | <div class="col-sm-9"><input type="text" name="data" id="data" value="{tmpl_var name='data'}" readonly class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label for="spf_mechanism" class="col-sm-3 control-label">{tmpl_var name='spf_mechanism_txt'}</label> |
| | | <div class="col-sm-9"><select name="spf_mechanism" id="spf_mechanism" class="form-control"> |
| | | {tmpl_var name='spf_mechanism'} |
| | | </select></div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">{tmpl_var name='spf_mx_txt'}</label> |
| | | <div class="col-sm-9"><input type="checkbox" value="1" id="spf_mx" name="spf_mx" {tmpl_var name = 'spf_mx_active'} /></div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">{tmpl_var name='spf_a_txt'}</label> |
| | | <div class="col-sm-9"><input type="checkbox" value="1" id="spf_a" name="spf_a" {tmpl_var name = 'spf_a_active'} /></div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label for="spf_ip" class="col-sm-3 control-label">{tmpl_var name='spf_ip_txt'}</label> |
| | | <div class="col-sm-6"><input type="text" name="spf_ip" id="spf_ip" value="{tmpl_var name='spf_ip'}" class="form-control" /></div><div class="col-sm-3 input-sm"> |
| | | {tmpl_var name='spf_ip_note_txt'} |
| | | </div></div> |
| | | <div class="form-group"> |
| | | <label for="spf_hostname" class="col-sm-3 control-label">{tmpl_var name='spf_hostname_txt'}</label> |
| | | <div class="col-sm-6"><input type="text" name="spf_hostname" id="spf_hostname" value="{tmpl_var name='spf_hostname'}" class="form-control" /></div><div class="col-sm-3 input-sm"> |
| | | {tmpl_var name='spf_hostname_note_txt'} |
| | | </div></div> |
| | | <div class="form-group"> |
| | | <label for="spf_domain" class="col-sm-3 control-label">{tmpl_var name='spf_domain_txt'}</label> |
| | | <div class="col-sm-6"><input type="text" name="spf_domain" id="spf_domain" value="{tmpl_var name='spf_domain'}" class="form-control" /></div><div class="col-sm-3 input-sm"> |
| | | {tmpl_var name='spf_domain_note_txt'} |
| | | </div></div> |
| | | <div class="col-sm-9"><input type="text" name="data" id="data" value="{tmpl_var name='data'}" class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label for="ttl" class="col-sm-3 control-label">{tmpl_var name='ttl_txt'}</label> |
| | | <div class="col-sm-9"><input type="text" name="ttl" id="ttl" value="{tmpl_var name='ttl'}" class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">{tmpl_var name='active_txt'}</label> |
| | | <div class="col-sm-9"> |
| | | <input type="checkbox" value="1" id="active" name="active" {tmpl_var name='active'} /> |
| | | <div class="col-sm-9"> |
| | | {tmpl_var name='active'}<br />{tmpl_var name='info_txt'} |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | |
| | | <input type="hidden" name="id" value="{tmpl_var name='id'}"> |
| | | <input type="hidden" name="zone" value="{tmpl_var name='zone'}" id="zone"> |
| | | <input type="hidden" name="zone" value="{tmpl_var name='zone'}"> |
| | | <input type="hidden" name="type" value="{tmpl_var name='type'}"> |
| | | <input type="hidden" name="name" value="{tmpl_var name='name'}"> |
| | | </div> |
| | | |
| | | <div class="clear"><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_spf_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_edit.php?id={tmpl_var name='zone'}">{tmpl_var name='btn_cancel_txt'}</button> |
| | | </div></div> |
| | | |
| | | </div></div> |
| | |
| | | <h2><tmpl_var name="list_head_txt"></h2> |
| | | <div class='page-header'> |
| | | <h1><tmpl_var name="list_head_txt"></h1> |
| | | </div> |
| | | <p><tmpl_var name="list_desc_txt"></p> |
| | | |
| | | <div class="panel panel_dns_tlsa"> |
| | | |
| | | <div class="pnl_formsarea"> |
| | | <fieldset class="inlineLabels"> |
| | | <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 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> |
| | | <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 class="ctrlHolder"> |
| | | <p class="label">{tmpl_var name='active_txt'}</p> |
| | | <div class="multiField"> |
| | | |
| | | <div class="form-group"> |
| | | <label for="name" class="col-sm-3 control-label">{tmpl_var name='name_txt'}</label> |
| | | <div class="col-sm-9"><input type="text" name="name" id="name" value="{tmpl_var name='name'}" class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label for="data" class="col-sm-3 control-label">{tmpl_var name='data_txt'}</label> |
| | | <div class="col-sm-9"><input type="text" name="data" id="data" value="{tmpl_var name='data'}" class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label for="ttl" class="col-sm-3 control-label">{tmpl_var name='ttl_txt'}</label> |
| | | <div class="col-sm-9"><input type="text" name="ttl" id="ttl" value="{tmpl_var name='ttl'}" class="form-control" /></div></div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">{tmpl_var name='active_txt'}</label> |
| | | <div class="col-sm-9"> |
| | | {tmpl_var name='active'} |
| | | </div> |
| | | </div> |
| | | <div class="ctrlHolder"> |
| | | <label for="dnssec_info">{tmpl_var name='dnssec_info_txt'}</label> |
| | | <textarea readonly name="dnssec_info" id="dnssec_info" lines=5 cols=30>{tmpl_var name='dnssec_info'}</textarea> |
| | | </div> |
| | | </fieldset> |
| | | |
| | | |
| | | <input type="hidden" name="id" value="{tmpl_var name='id'}"> |
| | | <input type="hidden" name="zone" value="{tmpl_var name='zone'}"> |
| | | <input type="hidden" name="type" value="{tmpl_var name='type'}"> |
| | | |
| | | <div class="buttonHolder buttons"> |
| | | <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','dns/dns_tlsa_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button> |
| | | <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('dns/dns_soa_edit.php?id={tmpl_var name='zone'}');"><span>{tmpl_var name='btn_cancel_txt'}</span></button> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | <div class="clear"><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_tlsa_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_edit.php?id={tmpl_var name='zone'}">{tmpl_var name='btn_cancel_txt'}</button> |
| | | </div></div> |
| | |
| | | {tmpl_var name='name'} {tmpl_var name='ttl'} RP {tmpl_var name='data'} |
| | | </tmpl_if> |
| | | <tmpl_if name="type" op='==' value='SPF'> |
| | | {tmpl_var name='name'} {tmpl_var name='ttl'} SPF {tmpl_var name='data'} |
| | | {tmpl_var name='name'} {tmpl_var name='ttl'} TXT "{tmpl_var name='data'}" |
| | | {tmpl_var name='name'} {tmpl_var name='ttl'} SPF "{tmpl_var name='data'}" |
| | | </tmpl_if> |
| | | <tmpl_if name="type" op='==' value='SRV'> |
| | | {tmpl_var name='name'} {tmpl_var name='ttl'} SRV {tmpl_var name='aux'} {tmpl_var name='data'} |