header.inc.php 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. <!DOCTYPE html>
  2. <html lang="<?= $_SESSION['mailcow_locale'] ?>">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <title>mailcow UI</title>
  8. <!--[if lt IE 9]>
  9. <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  10. <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  11. <![endif]-->
  12. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.0/jquery.min.js" integrity="sha384-XxcvoeNF5V0ZfksTnV+bejnCsJjOOIzN6UVwF85WBsAnU3zeYh5bloN+L4WLgeNE" crossorigin="anonymous"></script>
  13. <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css">
  14. <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.6/<?=strtolower(trim($DEFAULT_THEME));?>/bootstrap.min.css">
  15. <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.9.4/css/bootstrap-select.min.css">
  16. <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/7.0.2/css/bootstrap-slider.min.css">
  17. <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.2/css/bootstrap3/bootstrap-switch.min.css">
  18. <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700&subset=latin,latin-ext">
  19. <link rel="stylesheet" href="/inc/languages.min.css">
  20. <link rel="shortcut icon" href="/favicon.png" type="image/png">
  21. <link rel="icon" href="/favicon.png" type="image/png">
  22. <style>
  23. #maxmsgsize { min-width: 80px; }
  24. ul[id*="sortable"] { word-wrap: break-word; list-style-type: none; float: left; padding: 0 15px 0 0; width: 48%; cursor:move}
  25. ul[id$="sortable-active"] li {cursor:move; }
  26. ul[id$="sortable-inactive"] li {cursor:move }
  27. .list-heading { cursor:default !important}
  28. .ui-state-disabled { cursor:no-drop; color:#ccc; }
  29. .ui-state-highlight {background: #F5F5F5 !important; height: 41px !important; cursor:move }
  30. #slider1 .slider-selection {
  31. background: #FFD700;
  32. }
  33. #slider1 .slider-track-high {
  34. background: #FF4500;
  35. }
  36. #slider1 .slider-track-low {
  37. background: #66CD00;
  38. }
  39. table[data-sortable] {
  40. border-collapse: collapse;
  41. border-spacing: 0;
  42. }
  43. table[data-sortable] th {
  44. vertical-align: bottom;
  45. font-weight: bold;
  46. }
  47. table[data-sortable] th, table[data-sortable] td {
  48. text-align: left;
  49. padding: 10px;
  50. }
  51. table[data-sortable] th:not([data-sortable="false"]) {
  52. -webkit-user-select: none;
  53. -moz-user-select: none;
  54. -ms-user-select: none;
  55. -o-user-select: none;
  56. user-select: none;
  57. -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  58. -webkit-touch-callout: none;
  59. cursor: pointer;
  60. }
  61. table[data-sortable] th:after {
  62. content: "";
  63. visibility: hidden;
  64. display: inline-block;
  65. vertical-align: inherit;
  66. height: 0;
  67. width: 0;
  68. border-width: 5px;
  69. border-style: solid;
  70. border-color: transparent;
  71. margin-right: 1px;
  72. margin-left: 10px;
  73. float: right;
  74. }
  75. table[data-sortable] th[data-sortable="false"]:after {
  76. display: none;
  77. }
  78. table[data-sortable] th[data-sorted="true"]:after {
  79. visibility: visible;
  80. }
  81. table[data-sortable] th[data-sorted-direction="descending"]:after {
  82. border-top-color: inherit;
  83. margin-top: 8px;
  84. }
  85. table[data-sortable] th[data-sorted-direction="ascending"]:after {
  86. border-bottom-color: inherit;
  87. margin-top: 3px;
  88. }
  89. table[data-sortable].sortable-theme-bootstrap thead th {
  90. border-bottom: 2px solid #e0e0e0;
  91. }
  92. table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"] {
  93. color: #3a87ad;
  94. background: #d9edf7;
  95. border-bottom-color: #bce8f1;
  96. }
  97. table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"][data-sorted-direction="descending"]:after {
  98. border-top-color: #3a87ad;
  99. }
  100. table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"][data-sorted-direction="ascending"]:after {
  101. border-bottom-color: #3a87ad;
  102. }
  103. table[data-sortable].sortable-theme-bootstrap.sortable-theme-bootstrap-striped tbody > tr:nth-child(odd) > td {
  104. background-color: #f9f9f9;
  105. }
  106. .btn {
  107. text-transform: none;
  108. }
  109. #data td, #no-data td {
  110. vertical-align: middle;
  111. }
  112. .sort-table:hover {
  113. border-bottom-color: #00B7DC !important;
  114. }
  115. .striped:nth-child(odd) {
  116. background-color: #fff;
  117. }
  118. .striped:nth-child(even) {
  119. background-color: #fafafa;
  120. border:1px solid white;
  121. }
  122. </style>
  123. <?php
  124. if (preg_match("/mailbox.php/i", $_SERVER['REQUEST_URI'])):
  125. ?>
  126. <style>
  127. .panel-heading div {
  128. margin-top: -18px;
  129. font-size: 15px;
  130. }
  131. .panel-heading div span {
  132. margin-left:5px;
  133. }
  134. .panel-body {
  135. display: none;
  136. }
  137. .clickable {
  138. cursor: pointer;
  139. }
  140. .progress {
  141. margin-bottom: 0px;
  142. }
  143. </style>
  144. <?php
  145. endif;
  146. ?>
  147. </head>
  148. <body style="padding-top:70px">
  149. <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
  150. <div class="container-fluid">
  151. <div class="navbar-header">
  152. <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
  153. <span class="sr-only">Toggle navigation</span>
  154. <span class="icon-bar"></span>
  155. <span class="icon-bar"></span>
  156. <span class="icon-bar"></span>
  157. </button>
  158. <a class="navbar-brand" href="/"><img height="32" alt="mailcow-logo" style="margin-top:-5px;" src="/img/cow_mailcow.svg" /></a>
  159. </div>
  160. <div id="navbar" class="navbar-collapse collapse">
  161. <ul class="nav navbar-nav navbar-right">
  162. <?php
  163. if (isset($_SESSION['mailcow_locale'])) {
  164. ?>
  165. <li class="dropdown">
  166. <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><span class="lang-sm lang-lbl" lang="<?=$_SESSION['mailcow_locale'];?>"></span><span class="caret"></span></a>
  167. <ul class="dropdown-menu" role="menu">
  168. <li <?=($_SESSION['mailcow_locale'] == 'de') ? 'class="active"' : ''?>> <a href="?<?= http_build_query(array_merge($_GET, array("lang" => "de"))) ?>"><span class="lang-xs lang-lbl-full" lang="de"></span></a></li>
  169. <li <?=($_SESSION['mailcow_locale'] == 'en') ? 'class="active"' : ''?>> <a href="?<?= http_build_query(array_merge($_GET, array("lang" => "en"))) ?>"><span class="lang-xs lang-lbl-full" lang="en"></span></a></li>
  170. <li <?=($_SESSION['mailcow_locale'] == 'nl') ? 'class="active"' : ''?>> <a href="?<?= http_build_query(array_merge($_GET, array("lang" => "nl"))) ?>"><span class="lang-xs lang-lbl-full" lang="nl"></span></a></li>
  171. <li <?=($_SESSION['mailcow_locale'] == 'pt') ? 'class="active"' : ''?>> <a href="?<?= http_build_query(array_merge($_GET, array("lang" => "pt"))) ?>"><span class="lang-xs lang-lbl-full" lang="pt"></span></a></li>
  172. </ul>
  173. </li>
  174. <?php
  175. }
  176. if (isset($_SESSION['mailcow_cc_role'])) {
  177. ?>
  178. <li class="dropdown">
  179. <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><?=$lang['header']['mailcow_settings'];?><span class="caret"></span></a>
  180. <ul class="dropdown-menu" role="menu">
  181. <?php
  182. if (isset($_SESSION['mailcow_cc_role'])) {
  183. if ($_SESSION['mailcow_cc_role'] == "admin") {
  184. ?>
  185. <li <?=(preg_match("/admin/i", $_SERVER['REQUEST_URI'])) ? 'class="active"' : ''?>><a href="/admin.php"><?=$lang['header']['administration'];?></a></li>
  186. <?php
  187. }
  188. if ($_SESSION['mailcow_cc_role'] == "admin" || $_SESSION['mailcow_cc_role'] == "domainadmin") {
  189. ?>
  190. <li <?=(preg_match("/mailbox/i", $_SERVER['REQUEST_URI'])) ? 'class="active"' : ''?>><a href="/mailbox.php"><?=$lang['header']['mailboxes'];?></a></li>
  191. <?php
  192. }
  193. if ($_SESSION['mailcow_cc_role'] == "user") {
  194. ?>
  195. <li <?=(preg_match("/user/i", $_SERVER['REQUEST_URI'])) ? 'class="active"' : ''?>><a href="/user.php"><?=$lang['header']['user_settings'];?></a></li>
  196. <?php
  197. }
  198. }
  199. ?>
  200. </ul>
  201. </li>
  202. <?php
  203. if ($_SESSION['mailcow_cc_role'] == "admin"):
  204. ?>
  205. <li><a href data-toggle="modal" data-target="#RestartSOGo"><span style="font-size:12px" class="glyphicon glyphicon-refresh" aria-hidden="true"></span> Restart SOGo</a></li>
  206. <?php
  207. endif;
  208. ?>
  209. <?php
  210. }
  211. if (isset($_SESSION['mailcow_cc_username'])):
  212. ?>
  213. <li><a style="border-left:1px solid #E7E7E7" href="#" onclick="logout.submit()"><?=sprintf($lang['header']['logged_in_as_logout'], $_SESSION['mailcow_cc_username']);?></a></li>
  214. <?php
  215. endif;
  216. ?>
  217. </ul>
  218. </div><!--/.nav-collapse -->
  219. </div><!--/.container-fluid -->
  220. </nav>
  221. <form action="/" method="post" id="logout"><input type="hidden" name="logout"></form>