header.inc.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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="/js/html5shiv.min.js"></script>
  10. <script src="/js/respond.min.js"></script>
  11. <![endif]-->
  12. <script src="/js/jquery-1.12.4.min.js"></script>
  13. <?php if (strtolower(trim($DEFAULT_THEME)) != "lumen"): ?>
  14. <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/<?= strtolower(trim($DEFAULT_THEME)); ?>/bootstrap.min.css">
  15. <?php else: ?>
  16. <link rel="stylesheet" href="/css/bootstrap.min.css">
  17. <?php endif; ?>
  18. <link rel="stylesheet" href="/css/bootstrap-select.min.css">
  19. <link rel="stylesheet" href="/css/bootstrap-slider.min.css">
  20. <link rel="stylesheet" href="/css/bootstrap-switch.min.css">
  21. <link rel="stylesheet" href="/css/footable.bootstrap.min.css">
  22. <link rel="stylesheet" href="/inc/languages.min.css">
  23. <link rel="stylesheet" href="/css/mailcow.css">
  24. <link rel="stylesheet" href="/css/animate.min.css">
  25. <link rel="stylesheet" href="/css/numberedtextarea.min.css">
  26. <?= (preg_match("/mailbox.php/i", $_SERVER['REQUEST_URI'])) ? '<link rel="stylesheet" href="/css/mailbox.css">' : null; ?>
  27. <?= (preg_match("/admin.php/i", $_SERVER['REQUEST_URI'])) ? '<link rel="stylesheet" href="/css/admin.css">' : null; ?>
  28. <?= (preg_match("/user.php/i", $_SERVER['REQUEST_URI'])) ? '<link rel="stylesheet" href="/css/user.css">' : null; ?>
  29. <?= (preg_match("/edit.php/i", $_SERVER['REQUEST_URI'])) ? '<link rel="stylesheet" href="/css/edit.css">' : null; ?>
  30. <link rel="shortcut icon" href="/favicon.png" type="image/png">
  31. <link rel="icon" href="/favicon.png" type="image/png">
  32. </head>
  33. <body style="padding-top: 70px;" id="top">
  34. <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
  35. <div class="container-fluid">
  36. <div class="navbar-header">
  37. <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
  38. <span class="sr-only">Toggle navigation</span>
  39. <span class="icon-bar"></span>
  40. <span class="icon-bar"></span>
  41. <span class="icon-bar"></span>
  42. </button>
  43. <a class="navbar-brand" href="/"><img alt="mailcow-logo" src="<?=($main_logo = customize('get', 'main_logo')) ? $main_logo : '/img/cow_mailcow.svg';?>"></a>
  44. </div>
  45. <div id="navbar" class="navbar-collapse collapse">
  46. <ul class="nav navbar-nav navbar-right">
  47. <?php
  48. if (isset($_SESSION['mailcow_locale'])) {
  49. ?>
  50. <li class="dropdown">
  51. <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>
  52. <ul class="dropdown-menu" role="menu">
  53. <?php
  54. foreach ($AVAILABLE_LANGUAGES as $language) {
  55. ?>
  56. <li<?= ($_SESSION['mailcow_locale'] == $language) ? ' class="active"' : ''; ?>><a href="?<?= http_build_query(array_merge($_GET, array('lang' => $language))); ?>"><span class="lang-xs lang-lbl-full" lang="<?= $language; ?>"></span></a></li>
  57. <?php
  58. }
  59. ?>
  60. </ul>
  61. </li>
  62. <?php
  63. }
  64. if (isset($_SESSION['mailcow_cc_role'])) {
  65. ?>
  66. <li class="dropdown">
  67. <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><?= $lang['header']['mailcow_settings']; ?> <span class="caret"></span></a>
  68. <ul class="dropdown-menu" role="menu">
  69. <?php
  70. if (isset($_SESSION['mailcow_cc_role'])) {
  71. if ($_SESSION['mailcow_cc_role'] == 'admin') {
  72. ?>
  73. <li<?= (preg_match("/admin/i", $_SERVER['REQUEST_URI'])) ? ' class="active"' : ''; ?>><a href="/admin.php"><?= $lang['header']['administration']; ?></a></li>
  74. <?php
  75. }
  76. if ($_SESSION['mailcow_cc_role'] == 'admin' || $_SESSION['mailcow_cc_role'] == 'domainadmin') {
  77. ?>
  78. <li<?= (preg_match("/mailbox/i", $_SERVER['REQUEST_URI'])) ? ' class="active"' : ''; ?>><a href="/mailbox.php"><?= $lang['header']['mailboxes']; ?></a></li>
  79. <?php
  80. }
  81. if ($_SESSION['mailcow_cc_role'] == 'admin') {
  82. ?>
  83. <li<?= (preg_match("/diagnostics/i", $_SERVER['REQUEST_URI'])) ? ' class="active"' : ''; ?>><a href="/diagnostics.php"><?= $lang['header']['diagnostics']; ?></a></li>
  84. <?php
  85. }
  86. if ($_SESSION['mailcow_cc_role'] != 'admin') {
  87. ?>
  88. <li<?= (preg_match("/user/i", $_SERVER['REQUEST_URI'])) ? ' class="active"' : ''; ?>><a href="/user.php"><?= $lang['header']['user_settings']; ?></a></li>
  89. <?php
  90. }
  91. }
  92. ?>
  93. </ul>
  94. </li>
  95. <?php
  96. if ($_SESSION['mailcow_cc_role'] == 'admin') {
  97. ?>
  98. <li><a href data-toggle="modal" data-target="#RestartSOGo"><span style="font-size: 12px;" class="glyphicon glyphicon-refresh" aria-hidden="true"></span> <?= $lang['header']['restart_sogo']; ?></a></li>
  99. <?php
  100. }
  101. ?>
  102. <li class="dropdown">
  103. <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><span class="glyphicon glyphicon-link" aria-hidden="true"></span> Apps <span class="caret"></span></a>
  104. <ul class="dropdown-menu" role="menu">
  105. <?php
  106. foreach ($MAILCOW_APPS as $app):
  107. ?>
  108. <li title="<?= htmlspecialchars($app['description']); ?>"><a href="<?= htmlspecialchars($app['link']); ?>"><?= htmlspecialchars($app['name']); ?></a></li>
  109. <?php
  110. endforeach;
  111. $app_links = customize('get', 'app_links');
  112. foreach ($app_links as $row) {
  113. foreach ($row as $key => $val):
  114. ?>
  115. <li><a href="<?= htmlspecialchars($val); ?>"><?= htmlspecialchars($key); ?></a></li>
  116. <?php
  117. endforeach;
  118. }
  119. ?>
  120. </ul>
  121. </li>
  122. <?php
  123. }
  124. if (!isset($_SESSION['dual-login']) && isset($_SESSION['mailcow_cc_username'])):
  125. ?>
  126. <li><a href="#" style="border-left: 1px solid #E7E7E7;" onclick="logout.submit()"><?= sprintf($lang['header']['logged_in_as_logout'], $_SESSION['mailcow_cc_username']); ?></a></li>
  127. <?php
  128. elseif (isset($_SESSION['dual-login'])):
  129. ?>
  130. <li><a href="#" style="border-left: 1px solid #E7E7E7;" onclick="logout.submit()"><?= sprintf($lang['header']['logged_in_as_logout_dual'], $_SESSION['mailcow_cc_username'], $_SESSION['dual-login']['username']); ?></a></li>
  131. <?php
  132. endif;
  133. ?>
  134. </ul>
  135. </div><!--/.nav-collapse -->
  136. </div><!--/.container-fluid -->
  137. </nav>
  138. <form action="/" method="post" id="logout"><input type="hidden" name="logout"></form>