logs.php 13 KB

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