list_dns_rec.html 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <!-- Begin toolbar -->
  2. <div class="l-center">
  3. <div class="l-sort clearfix noselect">
  4. <div class="l-unit-toolbar__buttonstrip">
  5. <a class="ui-button cancel" dir="ltr" id="btn-back" href="/list/dns/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
  6. <?php if ($read_only !== 'true') {?>
  7. <a href="/add/dns/?domain=<?=htmlentities($_GET['domain'])?>" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-plus-circle status-icon green"></i> <?=_('Add Record');?></a>
  8. <a href="/edit/dns/?domain=<?=htmlentities($_GET['domain'])?>" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-pencil-alt status-icon blue"></i> <?=_('Editing DNS Domain');?></a>
  9. <?php } ?>
  10. </div>
  11. <ul class="context-menu sort-order animated fadeIn" style="display:none;">
  12. <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
  13. <li entity="sort-value"><span class="name"><?=_('IP or Value');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
  14. <li entity="sort-record"><span class="name"><?=_('Record');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
  15. <li entity="sort-ttl" sort_as_int="1"><span class="name"><?=_('TTL');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
  16. <li entity="sort-type"><span class="name"><?=_('Type');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
  17. </ul>
  18. <div class="l-sort-toolbar clearfix">
  19. <table>
  20. <tr>
  21. <td class="sort-by" title="<?=_('Sort items');?>">
  22. <?=_('sort by');?>: <span>
  23. <b>
  24. <?php if ($_SESSION['userSortOrder'] === 'name') { $label = 'Record'; } else { $label = 'Date'; } ?>
  25. <?=_($label)?> <i class="fas fa-sort-alpha-down"></i>
  26. </b>
  27. </span>
  28. </td>
  29. <td class="l-sort-toolbar__search-box">
  30. <form action="/search/" method="get">
  31. <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
  32. <input type="text" name="q" class="search-input" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>" />
  33. <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
  34. </form>
  35. </td>
  36. <?php if ($read_only !== 'true') {?>
  37. <td>
  38. <form action="/bulk/dns/" method="post" id="objects">
  39. <input type="hidden" name="domain" value="<?=htmlentities($_GET['domain'])?>" />
  40. <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
  41. <div class="l-select">
  42. <select name="action" id="">
  43. <option value=""><?=_('apply to selected');?></option>
  44. <option value="suspend"><?=_('suspend');?></option>
  45. <option value="unsuspend"><?=_('unsuspend');?></option>
  46. <option value="delete"><?=_('delete');?></option>
  47. </select>
  48. </div>
  49. <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
  50. </form>
  51. </td>
  52. <?php } ?>
  53. </tr>
  54. </table>
  55. </div>
  56. </div>
  57. </div>
  58. <!-- End toolbar -->
  59. <div class="l-separator"></div>
  60. <div class="l-center units">
  61. <div class="header table-header">
  62. <div class="l-unit__col l-unit__col--right">
  63. <div class="clearfix l-unit__stat-col--left super-compact">
  64. <input id="toggle-all" type="checkbox" name="toggle-all" value="toggle-all" title="<?=_('Select all');?>" onChange="checkedAll('objects');" <?=$display_mode;?>>
  65. </div>
  66. <div class="clearfix l-unit__stat-col--left small"><b><?=_('Record');?></b></div>
  67. <div class="clearfix l-unit__stat-col--left super-compact text-right"><b>&nbsp;</b></div>
  68. <div class="clearfix l-unit__stat-col--left compact text-center" style="padding-left: 32px;"><b><?=_('Type');?></b></div>
  69. <div class="clearfix l-unit__stat-col--left compact text-center"><b><?=_('Priority');?></b></div>
  70. <div class="clearfix l-unit__stat-col--left compact text-center"><b><?=_('TTL');?></b></div>
  71. <div class="clearfix l-unit__stat-col--left super-compact"><b>&nbsp;</b></div>
  72. <div class="clearfix l-unit__stat-col--left wide-6"><b><?=_('IP or Value');?></b></div>
  73. </div>
  74. </div>
  75. <!-- Begin DNS record list item loop -->
  76. <?php
  77. foreach ($data as $key => $value) {
  78. ++$i;
  79. ?>
  80. <div class="l-unit<?php if ($status == 'suspended') echo ' l-unit--suspended'; if($_SESSION['favourites']['DNS_REC'][$key] == 1) echo ' l-unit--starred';?> animated fadeIn"
  81. v_unit_id="<?=htmlentities($key);?>" v_section="dns_rec" sort-date="<?=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>" sort-record="<?=$data[$key]['RECORD']?>" sort-type="<?=$data[$key]['TYPE']?>" sort-ttl="<?=$data[$key]['TTL']?>" sort-value="<?=$data[$key]['VALUE']?>">
  82. <div class="l-unit__col l-unit__col--right">
  83. <div class="clearfix l-unit__stat-col--left super-compact">
  84. <input id="check<?=$data[$key]['ID']?>" class="ch-toggle" type="checkbox" title="<?=_('Select');?>" name="record[]" value="<?=$data[$key]['ID']?>" <?=$display_mode;?>>
  85. </div>
  86. <div class="clearfix l-unit__stat-col--left small truncate">
  87. <b>
  88. <?php if (($read_only === 'true') || ($data[$key]['SUSPENDED'] == 'yes')) {?>
  89. <?=substr($data[$key]['RECORD'], 0, 12); if(strlen($data[$key]['RECORD']) > 12 ) echo '...'; ?>
  90. <?php } else { ?>
  91. <a href="/edit/dns/?domain=<?=htmlspecialchars($_GET['domain'])?>&record_id=<?=$data[$key]['ID']?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing DNS Record').': '.htmlspecialchars($data[$key]['RECORD'])?>"><? echo substr($data[$key]['RECORD'], 0, 12); if(strlen($data[$key]['RECORD']) > 12 ) echo '...'; ?></a>
  92. <?php } ?>
  93. </b>
  94. </div>
  95. <!-- START QUICK ACTION TOOLBAR AREA -->
  96. <div class="clearfix l-unit__stat-col--left super-compact text-right">
  97. <div class="l-unit-toolbar__col l-unit-toolbar__col--right noselect">
  98. <div class="actions-panel clearfix">
  99. <?php if ($read_only === 'true') {?>
  100. <!-- Restrict editing of DNS records when impersonating 'admin' account -->
  101. &nbsp;
  102. <?php } else { ?>
  103. <?php if ($data[$key]['SUSPENDED'] == 'no') {?>
  104. <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="/edit/dns/?domain=<?=htmlspecialchars($_GET['domain'])?>&record_id=<?=$data[$key]['ID']?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing DNS Record');?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
  105. <?php } ?>
  106. <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
  107. <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete');?>">
  108. <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
  109. <input type="hidden" name="delete_url" value="/delete/dns/?domain=<?=htmlspecialchars($_GET['domain'])?>&record_id=<?=$data[$key]['ID']?>&token=<?=$_SESSION['token']?>" />
  110. <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation');?>">
  111. <p class="confirmation"><?=sprintf(_('DELETE_RECORD_CONFIRMATION'),$key)?></p>
  112. </div>
  113. </a>
  114. </div>
  115. <?php } ?>
  116. </div>
  117. </div>
  118. </div>
  119. <!-- END QUICK ACTION TOOLBAR AREA -->
  120. <div class="clearfix l-unit__stat-col--left compact text-center" style="padding-left: 32px;"><b><?=$data[$key]['TYPE']?></b></div>
  121. <div class="clearfix l-unit__stat-col--left compact text-center"><?=$data[$key]['PRIORITY']?>&nbsp;</div>
  122. <div class="clearfix l-unit__stat-col--left compact text-center"><?php if($data[$key]['TTL'] == ''){ echo _('Default'); }else{ echo $data[$key]['TTL'];} ?></div>
  123. <div class="clearfix l-unit__stat-col--left super-compact"><b>&nbsp;</b></div>
  124. <div class="clearfix l-unit__stat-col--left wide-6 truncate" style="word-break: break-word;"><?=htmlspecialchars($data[$key]['VALUE'], ENT_QUOTES, 'UTF-8');?></div>
  125. </div>
  126. </div>
  127. <?php } ?>
  128. </div>
  129. <div id="vstobjects">
  130. <div class="l-separator"></div>
  131. <div class="l-center">
  132. <div class="l-unit-ft">
  133. <table class='data'></table>
  134. <div class="data-count l-unit__col l-unit__col--right total clearfix">
  135. <?php printf(ngettext('%d DNS record', '%d DNS records', $i),$i); ?>
  136. </div>
  137. <div class="data-count l-unit__col l-unit__col--right back clearfix">
  138. </div>
  139. </div>
  140. </div>
  141. </div>