mirror of
https://github.com/loewexy/pdnsmanager.git
synced 2025-01-16 03:02:22 +01:00
Added edit-master.php, currently only input for soa and validation working
This commit is contained in:
parent
3fb0a6b073
commit
c540d4a76b
2 changed files with 180 additions and 0 deletions
109
edit-master.php
Normal file
109
edit-master.php
Normal file
|
@ -0,0 +1,109 @@
|
|||
<!DOCTYPE html>
|
||||
<!--
|
||||
Copyright 2016 Lukas Metzger <developer@lukas-metzger.com>.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<?php
|
||||
require_once 'lib/session.php';
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<title>PDNS Manager - Domains</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link href="include/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="include/bootstrap/css/bootstrap-theme.min.css" rel="stylesheet">
|
||||
<link href="include/custom.css" rel="stylesheet">
|
||||
|
||||
<script src="include/jquery.js"></script>
|
||||
<script src="include/bootstrap/js/bootstrap.min.js"></script>
|
||||
|
||||
<script src="js/edit-master.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar navbar-inverse navbar-static-top">
|
||||
<div class="container">
|
||||
<div class="navbar-brand">
|
||||
PDNS Manager
|
||||
</div>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="domains.php">Domains</a></li>
|
||||
<li><a href="logout.php">Logout</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<row>
|
||||
<h2 id="domain-name">example.com</h2>
|
||||
</row>
|
||||
|
||||
<div id="soa" class="container">
|
||||
<row>
|
||||
<h3>SOA</h3>
|
||||
</row>
|
||||
<row>
|
||||
<form>
|
||||
<div class="col-md-3">
|
||||
<div class="form-group">
|
||||
<label for="soa-primary" class="control-label">Primary</label>
|
||||
<input type="text" class="form-control" id="soa-primary" placeholder="Primary" autocomplete="off" data-regex="^([^.]+\.)*[^.]+$" tabindex="1">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="soa-mail" class="control-label">Email</label>
|
||||
<input type="text" class="form-control" id="soa-mail" placeholder="Email" autocomplete="off" data-regex="^.+\@.+\.[^.]+$" tabindex="2">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary" tabindex="7">Save</button>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 col-md-offset-1">
|
||||
<div class="form-group">
|
||||
<label for="soa-refresh" class="control-label">Refresh</label>
|
||||
<input type="text" class="form-control" id="soa-refresh" placeholder="Refresh" autocomplete="off" data-regex="^[0-9]+$" tabindex="3">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="soa-retry" class="control-label">Retry</label>
|
||||
<input type="text" class="form-control" id="soa-retry" placeholder="Retry" autocomplete="off" data-regex="^[0-9]+$" tabindex="4">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 col-md-offset-1">
|
||||
<div class="form-group">
|
||||
<label for="soa-expire" class="control-label">Expire</label>
|
||||
<input type="text" class="form-control" id="soa-expire" placeholder="Expire" autocomplete="off" data-regex="^[0-9]+$" tabindex="5">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="soa-ttl" class="control-label">TTL</label>
|
||||
<input type="text" class="form-control" id="soa-ttl" placeholder="TTL" autocomplete="off" data-regex="^[0-9]+$" tabindex="6">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 col-md-offset-1">
|
||||
<div class="form-group">
|
||||
<label for="soa-serial" class="control-label">Serial</label>
|
||||
<input type="text" class="form-control" id="soa-serial" placeholder="Serial" disabled data-regex=".*">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</row>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
71
js/edit-master.js
Normal file
71
js/edit-master.js
Normal file
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
* Copyright 2016 Lukas Metzger <developer@lukas-metzger.com>.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#soa button[type=submit]').click(function(){
|
||||
if(validateSoaData()) {
|
||||
$('#soa button[type=submit]').prop("disabled", "true");
|
||||
}
|
||||
});
|
||||
|
||||
$('#soa form input').bind("paste keyup change", function() {
|
||||
var regex = new RegExp($(this).attr('data-regex'));
|
||||
if(!regex.test($(this).val()) && $(this).val().length > 0) {
|
||||
$(this).parent().addClass("has-error");
|
||||
} else {
|
||||
$(this).parent().removeClass("has-error");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
function validateSoaData() {
|
||||
|
||||
var error = 0;
|
||||
|
||||
$('#soa form input:not(#soa-serial)').each(function() {
|
||||
if($(this).val().length <= 0 || $(this).parent().hasClass('has-error')) {
|
||||
error++;
|
||||
$(this).parent().addClass('has-error');
|
||||
}
|
||||
});
|
||||
|
||||
return error<=0;
|
||||
}
|
||||
|
||||
function recreateTable(data) {
|
||||
$('#table-domains>tbody').empty();
|
||||
|
||||
$.each(data, function(index,item) {
|
||||
$('<tr></tr>').appendTo('#table-domains>tbody')
|
||||
.append('<td>' + item.id + '</td>')
|
||||
.append('<td>' + item.name + '</td>')
|
||||
.append('<td>' + item.type + '</td>')
|
||||
.append('<td>' + item.records + '</td>');
|
||||
|
||||
});
|
||||
|
||||
$('#table-domains>tbody>tr').click(function() {
|
||||
var id = $(this).children('td').first().text();
|
||||
var type = $(this).children('td').eq(2).text();
|
||||
|
||||
if(type == 'MASTER') {
|
||||
location.assign('edit-master.php#' + id);
|
||||
}
|
||||
});
|
||||
}
|
Loading…
Reference in a new issue