servers.tpl 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <ul class="breadcrumb">
  2. <li><a href="addonmodules.php?module=DNSManager2"><i class="fa fa-home"></i></a></li>
  3. <li class="active">{$MGLANG->absoluteT('addonAA', 'pagesLabels', 'settings', 'servers')}</li>
  4. </ul>
  5. <table class="table table-striped" id="serverlist">
  6. <thead>
  7. <tr>
  8. <th>{$MGLANG->T('table','name')}</th>
  9. <th>{$MGLANG->T('table','type')}</th>
  10. <th>{$MGLANG->T('table','default_ip')}</th>
  11. <th>{$MGLANG->T('table','rdns')}</th>
  12. <th>{$MGLANG->T('table','multiple_ptr')}</th>
  13. <th>{$MGLANG->T('table','status')}</th>
  14. <th></th>
  15. </tr>
  16. </thead>
  17. <tbody>
  18. </tbody>
  19. </table>
  20. <div class="well">
  21. <a class="btn btn-success btn-inverse" data-act="addServer">{$MGLANG->T('add_server')}</a>
  22. </div>
  23. {literal}
  24. <script data-cfasync="false" type="text/javascript">
  25. jQuery(document).ready(function(){
  26. var last;
  27. jQuery('#table-filters').change(function() {
  28. jQuery('#serverlist').DataTable().ajax.reload();
  29. });
  30. jQuery('#serverlist').dataTable({
  31. drawCallback:replaceEmptyRowDataTable,
  32. serverSide: true,
  33. // searching: true,
  34. searchDelay: 800,
  35. autoWidth: false,
  36. ajax: function(data, callback, settings){
  37. if(last != data.length) {
  38. data.start = 0;
  39. }
  40. last = data.length;
  41. var filters = $('#table-filters :input').serializeArray();
  42. JSONParser.request(
  43. 'refreshServersTable'
  44. , $.merge(filters, [
  45. {name: 'order[column]', value: data.columns[data.order[0].column].name},
  46. {name: 'order[dir]', value: data.order[0].dir},
  47. {name: 'limit', value: data.length},
  48. {name: 'offset', value: data.start},
  49. {name: 'search', value: data.search.value},
  50. ])
  51. , function(data) {
  52. callback(data);
  53. jQuery('.mg-wrapper [title]').bstooltip();
  54. }
  55. );
  56. },
  57. columns: [
  58. {name: 'name'}
  59. ,{name: 'module'}
  60. ,{name: 'default_ip', orderable: false}
  61. ,{name: 'allow_rdns', orderable: false}
  62. ,{name: 'multiple_ptr', orderable: false}
  63. ,{name: 'status', orderable: false}
  64. ,{ orderable: false, targets: 0}
  65. ],
  66. pagingType: "simple_numbers",
  67. aLengthMenu: [
  68. [5, 10, 25, 50, 75, 100],
  69. [5, 10, 25, 50, 75, 100]
  70. ],
  71. iDisplayLength: 10,
  72. //sDom: 't<"table-bottom"<"row"<"col-sm-6"p><"col-sm-6"L>>>',
  73. "oLanguage": {
  74. "oPaginate" : {
  75. "sNext": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sNext')}{literal}",
  76. "sFirst": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sFirst')}{literal}",
  77. "sLast ": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sLast')}{literal}",
  78. "sPrevious": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sPrevious')}{literal}",
  79. },
  80. "sEmptyTable": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sEmptyTable')}{literal}",
  81. "sPrevious": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sPrevious')}{literal}",
  82. "sNext": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sNext')}{literal}",
  83. "sZeroRecords": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sZeroRecords')}{literal}",
  84. "sInfoEmpty": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sInfoEmpty')}{literal}",
  85. "sSearch": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sSearch')}{literal}",
  86. "sLengthMenu": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sLengthMenu')}{literal}",
  87. "sInfoFiltered": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sInfoFiltered')}{literal}",
  88. "sInfo": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sInfo')}{literal}",
  89. }
  90. });
  91. });
  92. </script>
  93. {/literal}
  94. {literal}
  95. <script data-cfasync="false" type="text/javascript">
  96. function getModuleConfigurationCallback(data, $obj) {
  97. var $modal = $obj.parents('.modal').first();
  98. $modal.find('.module-configuration').html(data.html);
  99. $modal.find('.nav-tabs [href="#configuration-tab"]').show();
  100. $modal.find('.nav-tabs [href="#nameservers-tab"]').show();
  101. }
  102. function getAdditionalConfigurationCallback(data,$obj)
  103. {
  104. var $modal = $obj.parents('.modal').first();
  105. $modal.find('.additional-configuration').html(data.html);
  106. }
  107. function refreshServerTable() {
  108. jQuery('#serverlist').DataTable().ajax.reload();
  109. }
  110. function turnOffServerCallback(data, obj) {
  111. refreshServerTable();
  112. }
  113. function turnOnServerCallback(data, obj) {
  114. refreshServerTable();
  115. }
  116. function deleteServerCallback(data, obj) {
  117. refreshServerTable();
  118. }
  119. function serverSaveCallback(data, obj) {
  120. refreshServerTable();
  121. }
  122. </script>
  123. {/literal}