main.tpl 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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', 'dashboard', 'label')}</li>
  4. </ul>
  5. {if $tutorial}
  6. <div class="alert alert-info">
  7. {$MGLANG->T('freshly_installed_module_needs_to_be_configured')}<br />
  8. 1. {$MGLANG->T('configure_client_area_template')}<br />
  9. 2. {$MGLANG->T('set_up_cron_job')}<br />
  10. 3. {$MGLANG->T('configure_cron_jobs_settings_and_time_interval')}<br />
  11. 4. {$MGLANG->T('configure_dns_servers_used')}<br />
  12. 5. {$MGLANG->T('configure_packages')}<br />
  13. <br />
  14. {$MGLANG->T('for_more_information_visit')} <a href='https://www.docs.modulesgarden.com/DNS_Manager_For_WHMCS'>{$MGLANG->T('wiki')}</a>.<br />
  15. <br />
  16. <a class="btn btn-info btn-inverse" data-act="disableTutorial" data-confirm-body="{$MGLANG->T('are_you_sure_that_you_want_to_hide_this_guide')}">Hide Guide</a>
  17. </div>
  18. {/if}
  19. <div class="row">
  20. <div class="col-md-6">
  21. <div class="panel panel-primary">
  22. <div class="panel-heading">
  23. <h3 class="panel-title">{$MGLANG->T('servers')} <small>{$MGLANG->T('zones_used')}</small></h3>
  24. </div>
  25. <div class="panel-body">
  26. <table class="table table-striped">
  27. <tbody>
  28. {foreach from=$zones_used item="zone"}
  29. <tr>
  30. <td class="mg-firstDashbordColumn">{$zone.name}</td>
  31. <td><span class="badge badge-info">{$zone.c}</span></td>
  32. </tr>
  33. {foreachelse}
  34. <tr>
  35. <td colspan="2">{$MGLANG->T('no_zone_in_use')}</td>
  36. </tr>
  37. {/foreach}
  38. </tbody>
  39. </table>
  40. </div>
  41. </div>
  42. </div>
  43. <div class="col-md-6">
  44. <div class="panel panel-primary">
  45. <div class="panel-heading">
  46. <h3 class="panel-title">{$MGLANG->T('email_send')} <small>{$MGLANG->T('last_week')}</small></h3>
  47. </div>
  48. <div class="panel-body">
  49. <table class="table table-striped">
  50. <tbody>
  51. <tr>
  52. <td class="mg-firstDashbordColumn">{$MGLANG->T('zone_created')}</td>
  53. <td><span class="badge badge-info">{$email_zone_created}</span></td>
  54. </tr>
  55. <tr>
  56. <td>{$MGLANG->T('zone_edited')}</td>
  57. <td><span class="badge badge-info">{$email_zone_edited}</span></td>
  58. </tr>
  59. <tr>
  60. <td>{$MGLANG->T('zone_removed')}</td>
  61. <td><span class="badge badge-info">{$email_zone_removed}</span></td>
  62. </tr>
  63. </tbody>
  64. </table>
  65. </div>
  66. </div>
  67. </div>
  68. </div>
  69. <div class="row">
  70. <div class="col-md-12">
  71. <div class="panel panel-primary">
  72. <div class="panel-heading">
  73. <h3 class="panel-title">{$MGLANG->T('notifications')}</h3>
  74. </div>
  75. <div class="panel-body">
  76. <table class="table table-hover table-striped" id="notifications-table">
  77. <thead>
  78. <tr>
  79. <th>{$MGLANG->T('notification')}</th>
  80. <th>{$MGLANG->T('typeh')}</th>
  81. <th>{$MGLANG->T('date')}</th>
  82. </tr>
  83. </thead>
  84. <tbody>
  85. </tbody>
  86. </table>
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. {literal}
  92. <script data-cfasync="false" type="text/javascript">
  93. jQuery(document).ready(function(){
  94. var last;
  95. jQuery('#table-filters').change(function() {
  96. jQuery('#notifications-table').DataTable().ajax.reload();
  97. });
  98. jQuery('#notifications-table').dataTable({
  99. drawCallback:replaceEmptyRowDataTable,
  100. serverSide: true,
  101. // searching: false,
  102. autoWidth: false,
  103. ajax: function(data, callback, settings){
  104. if(last != data.length) {
  105. data.start = 0;
  106. }
  107. last = data.length;
  108. var filters = $('#table-filters :input').serializeArray();
  109. JSONParser.request(
  110. 'refreshNotificationTable'
  111. , $.merge(filters, [
  112. {name: 'order[column]', value: data.columns[data.order[0].column].name},
  113. {name: 'order[dir]', value: data.order[0].dir},
  114. {name: 'limit', value: data.length},
  115. {name: 'offset', value: data.start},
  116. {name: 'search', value: data.search.value},
  117. ])
  118. , function(data) {
  119. callback(data);
  120. jQuery('[data-toggle="tooltip"]').tooltip();
  121. }
  122. );
  123. },
  124. columns: [
  125. {name: 'value'}
  126. ,{name: 'type'}
  127. ,{name: 'date'}
  128. ],
  129. paging: 3,
  130. pagingType: "simple_numbers",
  131. aLengthMenu: [
  132. [5, 10, 25],
  133. [5, 10, 25]
  134. ],
  135. pageLength: 10,
  136. length: 3,
  137. iDisplayLength: -1,
  138. // sDom: 't<"table-bottom"<"row"<"col-sm-6"p><"col-sm-6"L>>>',
  139. order: [[2, "desc"]],
  140. "oLanguage": {
  141. "oPaginate" : {
  142. "sNext": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sNext')}{literal}",
  143. "sFirst": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sFirst')}{literal}",
  144. "sLast ": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sLast')}{literal}",
  145. "sPrevious": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sPrevious')}{literal}",
  146. },
  147. "sEmptyTable": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sEmptyTable')}{literal}",
  148. "sPrevious": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sPrevious')}{literal}",
  149. "sNext": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sNext')}{literal}",
  150. "sZeroRecords": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sZeroRecords')}{literal}",
  151. "sInfoEmpty": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sInfoEmpty')}{literal}",
  152. "sSearch": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sSearch')}{literal}",
  153. "sLengthMenu": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sLengthMenu')}{literal}",
  154. "sInfoFiltered": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sInfoFiltered')}{literal}",
  155. "sInfo": "{/literal}{$MGLANG->absoluteT('addonAA','datatables','sInfo')}{literal}",
  156. }
  157. });
  158. $('.dataTables_info').parent().attr('class', 'col-md-6');
  159. $('.dataTables_paginate').parent().attr('class', 'col-md-6');
  160. });
  161. </script>
  162. {/literal}