logs.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. <?php
  2. // Some PHP config stuff
  3. ini_set("display_errors", 1);
  4. ini_set("error_reporting", E_ALL | E_STRICT);
  5. // Include functions if not already included
  6. require_once('functions.php');
  7. // Upgrade environment
  8. upgradeCheck();
  9. // Lazyload settings
  10. $databaseConfig = configLazy('config/config.php');
  11. // Load USER
  12. require_once("user.php");
  13. qualifyUser("admin", true);
  14. $USER = new User("registration_callback");
  15. // Load Colours/Appearance
  16. foreach(loadAppearance() as $key => $value) {
  17. $$key = $value;
  18. }
  19. $logs = getLogs();
  20. ?>
  21. <!DOCTYPE html>
  22. <html lang="en" class="no-js">
  23. <head>
  24. <meta charset="UTF-8">
  25. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  26. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  27. <meta name="msapplication-tap-highlight" content="no" />
  28. <title><?=$title;?> Logs</title>
  29. <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css?v=<?php echo INSTALLEDVERSION; ?>">
  30. <link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.min.css">
  31. <link rel="stylesheet" href="bower_components/mdi/css/materialdesignicons.min.css">
  32. <link rel="stylesheet" href="bower_components/metisMenu/dist/metisMenu.min.css">
  33. <link rel="stylesheet" href="bower_components/Waves/dist/waves.min.css">
  34. <link rel="stylesheet" href="bower_components/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css">
  35. <link rel="stylesheet" href="js/selects/cs-select.css">
  36. <link rel="stylesheet" href="js/selects/cs-skin-elastic.css">
  37. <link href="bower_components/iconpick/dist/css/fontawesome-iconpicker.min.css" rel="stylesheet">
  38. <link rel="stylesheet" href="bower_components/google-material-color/dist/palette.css">
  39. <link rel="stylesheet" href="bower_components/sweetalert/dist/sweetalert.css">
  40. <link rel="stylesheet" href="bower_components/smoke/dist/css/smoke.min.css">
  41. <script src="js/menu/modernizr.custom.js"></script>
  42. <script type="text/javascript" src="js/sha1.js"></script>
  43. <script type="text/javascript" src="js/user.js"></script>
  44. <link rel="stylesheet" href="bower_components/animate.css/animate.min.css">
  45. <link rel="stylesheet" href="bower_components/DataTables/media/css/jquery.dataTables.css">
  46. <link rel="stylesheet" href="bower_components/datatables-tabletools/css/dataTables.tableTools.css">
  47. <link rel="stylesheet" href="bower_components/numbered/jquery.numberedtextarea.css">
  48. <link rel="stylesheet" href="css/style.css?v=<?php echo INSTALLEDVERSION; ?>">
  49. <link rel="stylesheet" href="css/settings.css?v=<?php echo INSTALLEDVERSION; ?>">
  50. <link rel="stylesheet" href="bower_components/summernote/dist/summernote.css">
  51. <link href="css/jquery.filer.css" rel="stylesheet">
  52. <link href="css/jquery.filer-dragdropbox-theme.css" rel="stylesheet">
  53. <!--[if lt IE 9]>
  54. <script src="bower_components/html5shiv/dist/html5shiv.min.js"></script>
  55. <script src="bower_components/respondJs/dest/respond.min.js"></script>
  56. <![endif]-->
  57. <!--Scripts-->
  58. <script src="bower_components/jquery/dist/jquery.min.js"></script>
  59. <script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
  60. <script src="bower_components/metisMenu/dist/metisMenu.min.js"></script>
  61. <script src="bower_components/Waves/dist/waves.min.js"></script>
  62. <script src="bower_components/moment/min/moment.min.js"></script>
  63. <script src="bower_components/jquery.nicescroll/jquery.nicescroll.min.js"></script>
  64. <script src="bower_components/slimScroll/jquery.slimscroll.min.js"></script>
  65. <script src="bower_components/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.js"></script>
  66. <script src="bower_components/cta/dist/cta.min.js"></script>
  67. <!--Menu-->
  68. <script src="js/menu/classie.js"></script>
  69. <script src="bower_components/iconpick/dist/js/fontawesome-iconpicker.js"></script>
  70. <!--Selects-->
  71. <script src="js/selects/selectFx.js"></script>
  72. <script src="js/jscolor.js"></script>
  73. <script src="bower_components/sweetalert/dist/sweetalert.min.js"></script>
  74. <script src="bower_components/smoke/dist/js/smoke.min.js"></script>
  75. <script src="bower_components/numbered/jquery.numberedtextarea.js"></script>
  76. <!--Other-->
  77. <script src="js/ajax.js?v=<?php echo INSTALLEDVERSION; ?>"></script>
  78. <!--Notification-->
  79. <script src="js/notifications/notificationFx.js"></script>
  80. <script src="js/jqueri_ui_custom/jquery-ui.min.js"></script>
  81. <script src="js/jquery.filer.min.js" type="text/javascript"></script>
  82. <script src="js/custom.js?v=<?php echo INSTALLEDVERSION; ?>" type="text/javascript"></script>
  83. <script src="js/jquery.mousewheel.min.js" type="text/javascript"></script>
  84. <!--Data Tables-->
  85. <script src="bower_components/DataTables/media/js/jquery.dataTables.js"></script>
  86. <script src="bower_components/datatables.net-responsive/js/dataTables.responsive.js"></script>
  87. <script src="bower_components/datatables-tabletools/js/dataTables.tableTools.js"></script>
  88. <!--Summernote-->
  89. <script src="bower_components/summernote/dist/summernote.min.js"></script>
  90. <style><?php customCSS(); ?></style>
  91. </head>
  92. <body class="scroller-body" style="padding: 0; overflow: hidden">
  93. <div id="main-wrapper" class="main-wrapper">
  94. <!--Content-->
  95. <div id="content" style="margin:0 10px; overflow:hidden">
  96. <div class="big-box">
  97. <div class="row">
  98. <div class="col-lg-12">
  99. <?php if( count($logs) < 5){?>
  100. <div class="btn-group btn-group-justified gray-bg">
  101. <?php foreach($logs as $k => $v){ ?>
  102. <div class="btn-group" role="group">
  103. <button type="button" data-name="<?php echo $k; ?>" class="btn waves btn-info waves-effect waves-float log-link gray-bg"><?php echo $k; ?></button>
  104. </div>
  105. <?php } ?>
  106. <div class="btn-group" role="group">
  107. <button type="button" data-name="All" class="btn waves btn-info waves-effect waves-float log-link gray-bg">Combined</button>
  108. </div>
  109. <div class="btn-group" role="group">
  110. <button type="button" data-name="All" class="btn waves btn-info waves-effect waves-float all-link gray-bg">Show All Logs</button>
  111. </div>
  112. </div>
  113. <?php } ?>
  114. <?php if( count($logs) >= 5){?>
  115. <div class="btn-group pull-right" role="group" aria-label="...">
  116. <div class="btn-group" role="group">
  117. <button type="button" class="btn waves btn-default dropdown-toggle waves-effect waves-float green-bg" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  118. Choose Log <span class="caret"></span>
  119. </button>
  120. <ul class="dropdown-menu pull-right" style="position: fixed;right: 20px;top: 50px;">
  121. <?php foreach($logs as $k => $v){ ?>
  122. <li data-name="<?php echo $k; ?>" class="log-link"><a href="#"><?php echo $k; ?></a></li>
  123. <?php } ?>
  124. <li class="divider"></li>
  125. <li data-name="All" class="log-link"><a href="#">Combined</a></li>
  126. <li data-name="All" class="all-link"><a href="#">Show All Logs</a></li>
  127. </ul>
  128. </div>
  129. </div>
  130. <?php } ?>
  131. </div>
  132. </div>
  133. <br/>
  134. <div class="row">
  135. <div class="col-lg-12">
  136. <?php foreach($logs as $k => $v){ ?>
  137. <div id="<?php echo $k;?>-table" class="table-responsive content-box" style="padding: 10px; display: none">
  138. <h2><?php echo $k;?></h2>
  139. <table id="datatable" class="datatable display">
  140. <thead>
  141. <tr>
  142. <th><?php echo $language->translate("LOG");?></th>
  143. </tr>
  144. </thead>
  145. <tbody>
  146. <?php readExternalLog('single',$v); ?>
  147. </tbody>
  148. </table>
  149. </div>
  150. <?php }?>
  151. </div>
  152. </div>
  153. <div class="row">
  154. <div class="col-lg-12">
  155. <div id="All-table" class="table-responsive" style="padding: 10px; display: none">
  156. <h2>All Logs</h2>
  157. <table id="datatable" class="datatable display">
  158. <thead>
  159. <tr>
  160. <th><?php echo $language->translate("SOURCE");?></th>
  161. <th><?php echo $language->translate("LOG");?></th>
  162. </tr>
  163. </thead>
  164. <tbody>
  165. <?php foreach($logs as $k => $v){
  166. readExternalLog('all',$v,$k);
  167. }?>
  168. </tbody>
  169. </table>
  170. </div>
  171. </div>
  172. </div>
  173. </div>
  174. </div>
  175. </div>
  176. </body>
  177. <script>
  178. $(function () {
  179. //Data Tables
  180. $('.datatable').DataTable({
  181. displayLength: 10,
  182. dom: 'T<"clear">lfrtip',
  183. responsive: true,
  184. "order": [[ 0, 'desc' ]],
  185. "language": {
  186. "info": "<?php echo explosion($language->translate('SHOW_ENTRY_CURRENT'), 0);?> _START_ <?php echo explosion($language->translate('SHOW_ENTRY_CURRENT'), 1);?> _END_ <?php echo explosion($language->translate('SHOW_ENTRY_CURRENT'), 2);?> _TOTAL_ <?php echo explosion($language->translate('SHOW_ENTRY_CURRENT'), 3);?>",
  187. "infoEmpty": "<?php echo $language->translate('NO_ENTRIES');?>",
  188. "infoFiltered": "<?php echo explosion($language->translate('FILTERED'), 0);?> _MAX_ <?php echo explosion($language->translate('FILTERED'), 1);?>",
  189. "lengthMenu": "<?php echo $language->translate('SHOW');?> _MENU_ <?php echo $language->translate('ENTRIES');?>",
  190. "search": "",
  191. "searchPlaceholder": "<?php echo $language->translate('SEARCH');?>",
  192. "searchClass": "<?php echo $language->translate('SEARCH');?>",
  193. "zeroRecords": "<?php echo $language->translate('NO_MATCHING');?>",
  194. "paginate": {
  195. "next": "<?php echo $language->translate('NEXT');?>",
  196. "previous": "<?php echo $language->translate('PREVIOUS');?>",
  197. }
  198. }
  199. });
  200. });
  201. $(".scroller-body").niceScroll({
  202. railpadding: {top:0,right:0,left:0,bottom:0}
  203. });
  204. $('.log-link').click(function(e){
  205. var target = $(this).attr('data-name')+'-table';
  206. $('.table-responsive').hide();
  207. $('#'+target).show();
  208. console.log(target);
  209. e.preventDefault();
  210. });
  211. $('.all-link').click(function(e){
  212. $('.table-responsive').show();
  213. $('#All-table').hide();
  214. e.preventDefault();
  215. });
  216. $('#All-table').show();
  217. </script>
  218. </html>