header.inc.php 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  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 - <?php echo gethostname() ?></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. </style>
  116. <?php
  117. if (preg_match("/mailbox.php/i", $_SERVER['REQUEST_URI'])):
  118. ?>
  119. <style>
  120. .panel-heading div {
  121. margin-top: -18px;
  122. font-size: 15px;
  123. }
  124. .panel-heading div span {
  125. margin-left:5px;
  126. }
  127. .panel-body {
  128. display: none;
  129. }
  130. .clickable {
  131. cursor: pointer;
  132. }
  133. .progress {
  134. margin-bottom: 0px;
  135. }
  136. </style>
  137. <?php
  138. endif;
  139. ?>
  140. </head>
  141. <body style="padding-top:70px">
  142. <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
  143. <div class="container-fluid">
  144. <div class="navbar-header">
  145. <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
  146. <span class="sr-only">Toggle navigation</span>
  147. <span class="icon-bar"></span>
  148. <span class="icon-bar"></span>
  149. <span class="icon-bar"></span>
  150. </button>
  151. <a class="navbar-brand" href="/"><img height="32" alt="mailcow-logo" style="margin-top:-5px;" src="/img/cow_mailcow.svg" /></a>
  152. </div>
  153. <div id="navbar" class="navbar-collapse collapse">
  154. <ul class="nav navbar-nav navbar-right">
  155. <?php
  156. if (isset($_SESSION['mailcow_locale'])) {
  157. ?>
  158. <li class="dropdown">
  159. <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>
  160. <ul class="dropdown-menu" role="menu">
  161. <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>
  162. <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>
  163. <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>
  164. <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>
  165. </ul>
  166. </li>
  167. <?php
  168. }
  169. if (isset($_SESSION['mailcow_cc_role'])) {
  170. ?>
  171. <li class="dropdown">
  172. <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><?=$lang['header']['mailcow_settings'];?><span class="caret"></span></a>
  173. <ul class="dropdown-menu" role="menu">
  174. <?php
  175. if (isset($_SESSION['mailcow_cc_role'])) {
  176. if ($_SESSION['mailcow_cc_role'] == "admin") {
  177. ?>
  178. <li <?=(preg_match("/admin/i", $_SERVER['REQUEST_URI'])) ? 'class="active"' : ''?>><a href="/admin.php"><?=$lang['header']['administration'];?></a></li>
  179. <?php
  180. }
  181. if ($_SESSION['mailcow_cc_role'] == "admin" || $_SESSION['mailcow_cc_role'] == "domainadmin") {
  182. ?>
  183. <li <?=(preg_match("/mailbox/i", $_SERVER['REQUEST_URI'])) ? 'class="active"' : ''?>><a href="/mailbox.php"><?=$lang['header']['mailboxes'];?></a></li>
  184. <?php
  185. }
  186. if ($_SESSION['mailcow_cc_role'] == "user") {
  187. ?>
  188. <li <?=(preg_match("/user/i", $_SERVER['REQUEST_URI'])) ? 'class="active"' : ''?>><a href="/user.php"><?=$lang['header']['user_settings'];?></a></li>
  189. <?php
  190. }
  191. }
  192. ?>
  193. </ul>
  194. </li>
  195. <?php
  196. }
  197. if (isset($_SESSION['mailcow_cc_username'])):
  198. ?>
  199. <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>
  200. <?php
  201. endif;
  202. ?>
  203. </ul>
  204. </div><!--/.nav-collapse -->
  205. </div><!--/.container-fluid -->
  206. </nav>
  207. <form action="/" method="post" id="logout"><input type="hidden" name="logout"></form>