Merge pull request #206 from bartvanhalder/master

Add support to load templates from json files
This commit is contained in:
Tuxis B.V. 2025-03-11 09:17:49 +01:00 committed by GitHub
commit 7a18c00a24
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 50 additions and 0 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
includes/config.inc.php includes/config.inc.php
nsedit.sublime* nsedit.sublime*
etc etc
templates.d/*.json

View file

@ -255,6 +255,27 @@ function jtable_respond($records, $method = 'multiple', $msg = 'Undefined errorm
function user_template_list() { function user_template_list() {
global $templates; global $templates;
if (is_dir("templates.d")) {
if ($templdir=opendir("templates.d")) {
while ($entry = readdir($templdir)) {
if (!str_ends_with($entry, ".json")) {
continue;
}
$f=file_get_contents("templates.d/$entry");
if ($f === false) {
error_log("Error reading file templates.d/$entry", 0);
continue;
}
$t = json_decode($f, true);
if ($t === null) {
error_log("Error decoding templates.d/$entry", 0);
continue;
}
array_push($templates, $t);
}
}
}
$templatelist = array(); $templatelist = array();
foreach ($templates as $template) { foreach ($templates as $template) {
if (is_adminuser() if (is_adminuser()

View file

@ -0,0 +1,28 @@
{
"name": "Example Template",
"owner": "public",
"records": [
{
"name": "",
"type": "NS",
"content": "ns1.example.com.",
"label": "ns1"
},
{
"name": "",
"type": "NS",
"content": "ns2.example.com.",
"label": "ns2"
},
{
"name": "example-txt",
"type": "TXT",
"content": "This is an example txt record"
},
{
"name": "localhost",
"type": "A",
"content": "127.0.0.1"
}
]
}