public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
DNS: add link for downloading zonefile (#3633)
* DNS: add link for downloading zonefile * DNS zonefile: add placeholders for optional entries
bae250cc
data/web/inc/ajax/dns_diagnostics.php | 35 ++++++++++++++++++++++++++++++++++-
1 file changed, 34 insertions(+), 1 deletion(-)
Diff
diff --git a/data/web/inc/ajax/dns_diagnostics.php b/data/web/inc/ajax/dns_diagnostics.php
index 4ee6f92e..b84d01b4 100644
--- a/data/web/inc/ajax/dns_diagnostics.php
+++ b/data/web/inc/ajax/dns_diagnostics.php
@@ -302,7 +302,7 @@ $data_field = array(
<th><?=$lang['diagnostics']['dns_records_status'];?></th>
</tr>
<?php
-foreach ($records as $record) {
+foreach ($records as &$record) {
$record[1] = strtoupper($record[1]);
$state = state_missing;
if ($record[1] == 'TLSA') {
@@ -416,9 +416,42 @@ foreach ($records as $record) {
<td class="dns-found">%s</td>
<td class="dns-recommended">%s</td>
</tr>', $record[0], $record[1], $record[2], $state);
+ $record[3] = explode('<br />', $state);
}
+unset($record);
?>
</table>
+<?php
+$data = sprintf("\$ORIGIN %s.\n", $domain);
+foreach ($records as $record) {
+ if ($domain == substr($record[0], -strlen($domain))) {
+ $label = substr($record[0], 0, -strlen($domain)-1);
+ $val = $record[2];
+ if (strlen($label) == 0)
+ $label = "@";
+ $vals = array();
+ if(strpos($val, "<a") !== FALSE) {
+ if(is_array($record[3]) && count($record[3]) == 1 && $record[3][0] == state_optional)
+ {
+ $record[3][0] = "**TODO**";
+ $label = ';' . $label;
+ }
+ foreach ($record[3] as $val) {
+ $val = str_replace(state_optional, '', $val);
+ $val = str_replace(state_good, '', $val);
+ if (strlen($val) > 0)
+ $vals[] = sprintf("%s\tIN\t%s\t%s\n", $label, $record[1], $val);
+ }
+ } else {
+ $vals[] = sprintf("%s\tIN\t%s\t%s\n", $label, $record[1], $val);
+ }
+ foreach ($vals as $val) {
+ $data .= str_replace($domain, $domain . '.', $val);
+ }
+ }
+}
+echo '<a target="_blank" href="data:text/plain;base64,' . base64_encode($data) .'">Download</a>';
+?>
</div>
<p class="help-block">
<sup>1</sup> <?=$lang['diagnostics']['cname_from_a'];?><br />