logs.tpl 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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', 'logs')}</li>
  4. </ul>
  5. <table class="table table-hover table-striped" id="logslist">
  6. <thead>
  7. <tr>
  8. <th>{$MGLANG->T('table','name')}</th>
  9. <th>{$MGLANG->T('table','client')}</th>
  10. <th>{$MGLANG->T('table','action')}</th>
  11. <th>{$MGLANG->T('table','status')}</th>
  12. <th>{$MGLANG->T('table','value')}</th>
  13. <th>{$MGLANG->T('table','date')}</th>
  14. </tr>
  15. </thead>
  16. <tbody>
  17. </tbody>
  18. </table>
  19. <div class="well">
  20. <a class="btn btn-danger btn-inverse" data-act="removeAllLogs" data-confirm-body="{$MGLANG->T('remove_all_logs_confirmation')}">{$MGLANG->T('delete_all_logs')}</a>
  21. </div>
  22. {literal}
  23. <script data-cfasync="false" type="text/javascript">
  24. jQuery(document).ready(function(){
  25. var last;
  26. jQuery('#table-filters').change(function() {
  27. jQuery('#logslist').DataTable().ajax.reload();
  28. });
  29. jQuery('#logslist').dataTable({
  30. drawCallback: replaceEmptyRowDataTable,
  31. serverSide: true,
  32. // searching: true,
  33. searchDelay: 800,
  34. autoWidth: false,
  35. ajax: function(data, callback, settings){
  36. if(last != data.length) {
  37. data.start = 0;
  38. }
  39. last = data.length;
  40. var filters = [];//$('#table-filters :input').serializeArray();
  41. JSONParser.request(
  42. 'refreshLogTable'
  43. , $.merge(filters, [
  44. {name: 'order[column]', value: data.columns[data.order[0].column].name},
  45. {name: 'order[dir]', value: data.order[0].dir},
  46. {name: 'limit', value: data.length},
  47. {name: 'offset', value: data.start},
  48. {name: 'search', value: data.search.value},
  49. ])
  50. , function(data) {
  51. callback(data);
  52. jQuery('.mg-wrapper [title]').bstooltip();
  53. // addCustomPagination('logslist');
  54. }
  55. );
  56. },
  57. columns: [
  58. {name: 'name'}
  59. ,{name: 'client'}
  60. ,{name: 'action'}
  61. ,{name: 'status'}
  62. ,{name: 'value'}
  63. ,{name: 'date'}
  64. ],
  65. order: [[5, "desc"]],
  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}