template.html 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="google" content="notranslate" />
  6. <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
  7. <title><?=__($system->getPageTitle()); ?></title>
  8. <style>
  9. #loader {
  10. transition: all 0.3s ease-in-out;
  11. opacity: 1;
  12. visibility: visible;
  13. position: fixed;
  14. height: 100vh;
  15. width: 100%;
  16. background: #fff;
  17. z-index: 90000;
  18. }
  19. #loader.fadeOut {
  20. opacity: 0;
  21. visibility: hidden;
  22. }
  23. .spinner {
  24. width: 40px;
  25. height: 40px;
  26. position: absolute;
  27. top: calc(50% - 20px);
  28. left: calc(50% - 20px);
  29. background-color: #333;
  30. border-radius: 100%;
  31. -webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
  32. animation: sk-scaleout 1.0s infinite ease-in-out;
  33. }
  34. @-webkit-keyframes sk-scaleout {
  35. 0% { -webkit-transform: scale(0) }
  36. 100% {
  37. -webkit-transform: scale(1.0);
  38. opacity: 0;
  39. }
  40. }
  41. @keyframes sk-scaleout {
  42. 0% {
  43. -webkit-transform: scale(0);
  44. transform: scale(0);
  45. } 100% {
  46. -webkit-transform: scale(1.0);
  47. transform: scale(1.0);
  48. opacity: 0;
  49. }
  50. }
  51. </style>
  52. <script defer="defer" src="<?=$system->getSkinPath(); ?>main.js"></script><link href="<?=$system->getSkinPath(); ?>style.css" rel="stylesheet">
  53. <!-- Ubilling custom styles -->
  54. <link href="<?=$system->getSkinPath(); ?>ubilling.css" rel="stylesheet" />
  55. <script src="modules/jsc/jquery/jquery.min.js"></script>
  56. </head>
  57. <body class="app">
  58. <div id="loader">
  59. <div class="spinner"></div>
  60. </div>
  61. <script>
  62. window.addEventListener('load', function load() {
  63. const loader = document.getElementById('loader');
  64. setTimeout(function() {
  65. loader.classList.add('fadeOut');
  66. }, 300);
  67. });
  68. </script>
  69. <div>
  70. <!-- #Left Sidebar ==================== -->
  71. <div class="sidebar">
  72. <div class="sidebar-inner">
  73. <!-- ### $Sidebar Header ### -->
  74. <div class="sidebar-logo">
  75. <div class="peers ai-c fxw-nw">
  76. <div class="peer peer-greed">
  77. <a class="sidebar-link td-n" href="index.php">
  78. <div class="peers ai-c fxw-nw">
  79. <div class="peer">
  80. <div class="logo">
  81. <img src="skins/oflow.png" alt="">
  82. </div>
  83. </div>
  84. <div class="peer peer-greed">
  85. <h5 class="lh-1 mB-0 logo-text"> <?=__($system->getPageTitle()); ?></h5>
  86. </div>
  87. </div>
  88. </a>
  89. </div>
  90. <div class="peer">
  91. <div class="mobile-toggle sidebar-toggle">
  92. <a href="" class="td-n">
  93. <i class="ti-arrow-circle-left"></i>
  94. </a>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. <!-- ### $Sidebar Menu ### -->
  100. <?php
  101. if ($system->getAuthEnabled()) {
  102. if ($system->getLoggedInState()) {
  103. ?>
  104. <ul class="sidebar-menu scrollable pos-r">
  105. <li class="nav-item mT-30">
  106. <a class="sidebar-link" href="index.php">
  107. <span class="icon-holder">
  108. <i class="c-blue-500 ti-home"></i>
  109. </span>
  110. <span class="title">Dashboard</span>
  111. </a>
  112. </li>
  113. <li class="nav-item">
  114. <a class="sidebar-link" href="?module=protofilter">
  115. <span class="icon-holder">
  116. <i class="c-indigo-500 ti-bar-chart"></i>
  117. </span>
  118. <span class="title">Filter by protocols</span>
  119. </a>
  120. </li>
  121. <li class="nav-item">
  122. <a class="sidebar-link" href="?module=settings">
  123. <span class="icon-holder">
  124. <i class="c-orange-500 ti-layout-list-thumb"></i>
  125. </span>
  126. <span class="title">Settings</span>
  127. </a>
  128. </li>
  129. <li class="nav-item">
  130. <a class="sidebar-link" href="?module=processmon">
  131. <span class="icon-holder">
  132. <i class="c-red-500 ti-share"></i>
  133. </span>
  134. <span class="title">Background processes</span>
  135. </a>
  136. </li>
  137. </ul>
  138. <?php
  139. }
  140. }
  141. ?>
  142. </div>
  143. </div>
  144. <!-- #Main ============================ -->
  145. <div class="page-container">
  146. <!-- ### $Topbar ### -->
  147. <div class="header navbar">
  148. <div class="header-container">
  149. <ul class="nav-left">
  150. <li>
  151. <a id="sidebar-toggle" class="sidebar-toggle" href="javascript:void(0);">
  152. <i class="ti-menu"></i>
  153. </a>
  154. </li>
  155. </ul>
  156. <ul class="nav-right">
  157. <li class="notifications dropdown">
  158. <?php
  159. if ($system->getAuthEnabled()) {
  160. if ($system->getLoggedInState()) {
  161. ?>
  162. <li class="dropdown">
  163. <a href="" class="dropdown-toggle no-after peers fxw-nw ai-c lh-1" id="dropdownMenuLink" data-bs-toggle="dropdown" aria-expanded="false">
  164. <div class="peer mR-10">
  165. <?php
  166. $adminEmail = gravatar_GetUserEmail(whoami());
  167. $avatarUrl=gravatar_GetAvatar($adminEmail, 64,'w-2r bdrs-50p');
  168. print($avatarUrl);
  169. ?>
  170. </div>
  171. <div class="peer">
  172. <span class="fsz-sm c-grey-900"><?= whoami(); ?></span>
  173. </div>
  174. </a>
  175. <ul class="dropdown-menu fsz-sm" aria-labelledby="dropdownMenuLink">
  176. <li>
  177. <a href="?module=usermanager&edituserdata=<?= whoami(); ?>" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
  178. <i class="ti-user mR-10"></i>
  179. <span>My profile</span>
  180. </a>
  181. </li>
  182. <li>
  183. <a href="?module=usermanager" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
  184. <i class="ti-thumb-up mR-10"></i>
  185. <span>User manager</span>
  186. </a>
  187. </li>
  188. <li>
  189. <a href="?module=settings" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
  190. <i class="ti-menu-alt mR-10"></i>
  191. <span>Settings</span>
  192. </a>
  193. </li>
  194. <li>
  195. <a href="?module=sysconf" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
  196. <i class="ti-settings mR-10"></i>
  197. <span>System configs</span>
  198. </a>
  199. </li>
  200. <li role="separator" class="divider"></li>
  201. <li>
  202. <a href="?forceLogout=true" class="d-b td-n pY-5 bgcH-grey-100 c-grey-700">
  203. <i class="ti-power-off mR-10"></i>
  204. <span>Logout</span>
  205. </a>
  206. </li>
  207. </ul>
  208. </li>
  209. </ul>
  210. </div>
  211. <?php
  212. }
  213. }
  214. ?>
  215. </div>
  216. <!-- ### $App Screen Content ### -->
  217. <main class="main-content bgc-grey-100">
  218. <div id="mainContent">
  219. <div class="container-fluid">
  220. <div class="row">
  221. <div class="col-md-12">
  222. <div class="bgc-white bd bdrs-3 p-20 mB-20">
  223. <?=$contentContainer ?>
  224. </div>
  225. </div>
  226. </div>
  227. </div>
  228. </div>
  229. </main>
  230. <!-- ### $App Screen Footer ### -->
  231. <footer class="bdT ta-c p-30 lh-0 fsz-sm c-grey-600">
  232. <span>
  233. <a href="https://github.com/nightflyza/OphanimFlow">OphanimFlow</a>
  234. <?php
  235. print(file_get_contents('RELEASE'));
  236. ?>
  237. |
  238. <?php
  239. if ($system->isLocaleSwitchable()) {
  240. print(YalfLangSwitch::render());
  241. }
  242. ?>
  243. <?php
  244. // Page generation time end
  245. $mtime = explode(' ', microtime());
  246. $totaltime = $mtime[0] + $mtime[1] - $starttime;
  247. print('GT: ' . round($totaltime, 4));
  248. print(' QC: ' . $query_counter);
  249. ?>
  250. <? if (XHPROF) { print($xhprof_link); } ?>
  251. <? if (defined('SQL_DEBUG')) { print(web_SqlDebugIconShow()); }?>
  252. </span>
  253. </footer>
  254. </div>
  255. </div>
  256. <!-- JUI -->
  257. <link type="text/css" href="modules/jsc/jui/css/smoothness/jquery-ui-1.8.23.custom.css" rel="stylesheet" />
  258. <script type="text/javascript" language="javascript" src="modules/jsc/jui/js/jquery-ui-1.8.23.custom.min.js"></script>
  259. </body>
  260. </html>