Initial Commit

This commit is contained in:
David Stone
2024-11-30 18:24:12 -07:00
commit e8f7955c1c
5432 changed files with 1397750 additions and 0 deletions

131
views/domain/dns-table.php Normal file
View File

@ -0,0 +1,131 @@
<?php
/**
* DNS table view.
*
* @since 2.0.0
*/
?>
<div id="wu-dns-table" class="wu-widget-list-table wu-advanced-filters wu--m-3 wu-mt-2 wu--mb-3 wu-border-0 wu-border-t wu-border-solid wu-border-gray-400">
<table class="wp-list-table widefat fixed striped wu-border-t-0" v-cloak>
<thead>
<tr>
<th class="wu-w-4/12"><?php _e('Host', 'wp-ultimo'); ?></th>
<th class="wu-w-2/12"><?php _e('Type', 'wp-ultimo'); ?></th>
<th class="wu-w-4/12"><?php _e('IP / Target', 'wp-ultimo'); ?></th>
<th class="wu-w-2/12"><?php _e('TTL', 'wp-ultimo'); ?></th>
</tr>
</thead>
<tbody v-if="loading">
<tr>
<td colspan="4">
<?php _e('Loading DNS entries...', 'wp-ultimo'); ?>
</td>
</tr>
</tbody>
<tbody v-if="!loading && error">
<tr>
<td colspan="4">
<div class="wu-mt-0 wu-p-4 wu-bg-red-100 wu-border wu-border-solid wu-border-red-200 wu-rounded-sm wu-text-red-500" v-html="error[0].message"></div>
</td>
</tr>
</tbody>
<tbody v-if="!loading && !error">
<tr v-for="dns in results.entries">
<td>{{ dns.host }}<span v-html="dns.tag" v-if="dns.tag"></span></td>
<td>{{ dns.type }}</td>
<td>{{ dns.data }}</td>
<td>{{ dns.ttl }}</td>
</tr>
<tr v-for="dns in results.auth">
<td>{{ dns.host }}<span v-html="dns.tag" v-if="dns.tag"></span></td>
<td>{{ dns.type }}</td>
<td>{{ dns.data }}</td>
<td>{{ dns.ttl }}</td>
</tr>
<tr v-for="dns in results.additional">
<td>{{ dns.host }}<span v-html="dns.tag" v-if="dns.tag"></span></td>
<td>{{ dns.type }}</td>
<td>{{ dns.data }}</td>
<td>{{ dns.ttl }}</td>
</tr>
<tr>
<td colspan="2"><?php _e('Your Network IP', 'wp-ultimo'); ?></td>
<td colspan="2" class="wu-text-left">{{ results.network_ip }}</td>
</tr>
</tbody>
</table>
</div>
<script>
(function($) {
wu_dns_table = new Vue({
el: '#wu-dns-table',
data: {
error: null,
results: {},
loading: true,
},
updated() {
this.$nextTick(function() {
window.wu_initialize_tooltip();
});
}
})
$(document).ready(function() {
$.ajax({
url: ajaxurl,
data: {
action: 'wu_get_dns_records',
domain: '<?php echo esc_js($domain->get_domain()); ?>',
},
success: function(data) {
Vue.set(wu_dns_table, 'loading', false);
if (data.success) {
Vue.set(wu_dns_table, 'results', data.data);
} else {
Vue.set(wu_dns_table, 'error', data.data);
} // end if;
},
})
});
})(jQuery);
</script>