header.inc.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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. <meta name="theme-color" content="#F5D76E"/>
  8. <meta http-equiv="Referrer-Policy" content="same-origin">
  9. <title><?=$UI_TEXTS['title_name'];?></title>
  10. <!--[if lt IE 9]>
  11. <script src="/js/html5shiv.min.js"></script>
  12. <script src="/js/respond.min.js"></script>
  13. <![endif]-->
  14. <script src="/js/jquery-1.12.4.min.js"></script>
  15. <style><?=$css_header;?></style>
  16. <?php if (strtolower(trim($DEFAULT_THEME)) != "lumen"): ?>
  17. <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/<?= strtolower(trim($DEFAULT_THEME)); ?>/bootstrap.min.css">
  18. <?php endif; ?>
  19. <?= (preg_match("/mailbox/i", $_SERVER['REQUEST_URI'])) ? '<link rel="stylesheet" href="/css/site/mailbox.css">' : null; ?>
  20. <?= (preg_match("/admin/i", $_SERVER['REQUEST_URI'])) ? '<link rel="stylesheet" href="/css/site/admin.css">' : null; ?>
  21. <?= (preg_match("/user/i", $_SERVER['REQUEST_URI'])) ? '<link rel="stylesheet" href="/css/site/user.css">' : null; ?>
  22. <?= (preg_match("/edit/i", $_SERVER['REQUEST_URI'])) ? '<link rel="stylesheet" href="/css/site/edit.css">' : null; ?>
  23. <?= (preg_match("/quarantine/i", $_SERVER['REQUEST_URI'])) ? '<link rel="stylesheet" href="/css/site/quarantine.css">' : null; ?>
  24. <?= (preg_match("/debug/i", $_SERVER['REQUEST_URI'])) ? '<link rel="stylesheet" href="/css/site/debug.css">' : null; ?>
  25. <link rel="shortcut icon" href="/favicon.png" type="image/png">
  26. <link rel="icon" href="/favicon.png" type="image/png">
  27. </head>
  28. <body id="top">
  29. <div class="overlay"></div>
  30. <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
  31. <div class="container-fluid">
  32. <div class="navbar-header">
  33. <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
  34. <span class="icon-bar"></span>
  35. <span class="icon-bar"></span>
  36. <span class="icon-bar"></span>
  37. </button>
  38. <a class="navbar-brand" href="/"><img alt="mailcow-logo" src="<?=($main_logo = customize('get', 'main_logo')) ? $main_logo : '/img/cow_mailcow.svg';?>"></a>
  39. </div>
  40. <div id="navbar" class="navbar-collapse collapse">
  41. <ul class="nav navbar-nav navbar-right">
  42. <?php
  43. if (isset($_SESSION['mailcow_locale'])) {
  44. ?>
  45. <li class="dropdown<?=(isset($_SESSION['mailcow_locale']) && count($AVAILABLE_LANGUAGES) === 1) ? ' lang-link-disabled"' : '' ?>">
  46. <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>
  47. <ul class="dropdown-menu" role="menu">
  48. <?php
  49. foreach ($AVAILABLE_LANGUAGES as $language) {
  50. ?>
  51. <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>
  52. <?php
  53. }
  54. ?>
  55. </ul>
  56. </li>
  57. <?php
  58. }
  59. if (isset($_SESSION['mailcow_cc_role'])) {
  60. ?>
  61. <li class="dropdown">
  62. <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><?= $lang['header']['mailcow_settings']; ?> <span class="caret"></span></a>
  63. <ul class="dropdown-menu" role="menu">
  64. <?php
  65. if (isset($_SESSION['mailcow_cc_role'])) {
  66. if ($_SESSION['mailcow_cc_role'] == 'admin') {
  67. ?>
  68. <li<?= (preg_match("/admin/i", $_SERVER['REQUEST_URI'])) ? ' class="active"' : ''; ?>><a href="/admin"><?= $lang['header']['administration']; ?></a></li>
  69. <li<?= (preg_match("/debug/i", $_SERVER['REQUEST_URI'])) ? ' class="active"' : ''; ?>><a href="/debug"><?= $lang['header']['debug']; ?></a></li>
  70. <?php
  71. }
  72. if ($_SESSION['mailcow_cc_role'] == 'admin' || $_SESSION['mailcow_cc_role'] == 'domainadmin') {
  73. ?>
  74. <li<?= (preg_match("/mailbox/i", $_SERVER['REQUEST_URI'])) ? ' class="active"' : ''; ?>><a href="/mailbox"><?= $lang['header']['mailboxes']; ?></a></li>
  75. <?php
  76. }
  77. if ($_SESSION['mailcow_cc_role'] != 'admin') {
  78. ?>
  79. <li<?= (preg_match("/user/i", $_SERVER['REQUEST_URI'])) ? ' class="active"' : ''; ?>><a href="/user"><?= $lang['header']['user_settings']; ?></a></li>
  80. <?php
  81. }
  82. }
  83. ?>
  84. </ul>
  85. </li>
  86. <?php
  87. if (isset($_SESSION['mailcow_cc_role'])) {
  88. ?>
  89. <li<?= (preg_match("/quarantine/i", $_SERVER['REQUEST_URI'])) ? ' class="active"' : ''; ?>><a href="/quarantine"><span class="glyphicon glyphicon-briefcase"></span> <?= $lang['header']['quarantine']; ?></a></li>
  90. <?php
  91. }
  92. if ($_SESSION['mailcow_cc_role'] == 'admin') {
  93. ?>
  94. <li><a href data-toggle="modal" data-container="sogo-mailcow" data-target="#RestartContainer"><span class="glyphicon glyphicon-refresh"></span> <?= $lang['header']['restart_sogo']; ?></a></li>
  95. <?php
  96. }
  97. ?>
  98. <li class="dropdown">
  99. <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><span class="glyphicon glyphicon-link"></span> <?= $lang['header']['apps']; ?> <span class="caret"></span></a>
  100. <ul class="dropdown-menu" role="menu">
  101. <?php
  102. foreach ($MAILCOW_APPS as $app):
  103. ?>
  104. <li title="<?= htmlspecialchars($app['description']); ?>"><a href="<?= htmlspecialchars($app['link']); ?>"><?= htmlspecialchars($app['name']); ?></a></li>
  105. <?php
  106. endforeach;
  107. $app_links = customize('get', 'app_links');
  108. foreach ($app_links as $row) {
  109. foreach ($row as $key => $val):
  110. ?>
  111. <li><a href="<?= htmlspecialchars($val); ?>"><?= htmlspecialchars($key); ?></a></li>
  112. <?php
  113. endforeach;
  114. }
  115. ?>
  116. </ul>
  117. </li>
  118. <?php
  119. }
  120. if (!isset($_SESSION['dual-login']) && isset($_SESSION['mailcow_cc_username'])):
  121. ?>
  122. <li class="logged-in-as"><a href="#" onclick="logout.submit()"><b class="username-lia"><?= htmlspecialchars($_SESSION['mailcow_cc_username']); ?></b> <span class="glyphicon glyphicon-log-out"></span></a></li>
  123. <?php
  124. elseif (isset($_SESSION['dual-login'])):
  125. ?>
  126. <li class="logged-in-as"><a href="#" onclick="logout.submit()"><b class="username-lia"><?= htmlspecialchars($_SESSION['mailcow_cc_username']); ?> <span class="text-info">(<?= htmlspecialchars($_SESSION['dual-login']['username']); ?>)</span> </b><span class="glyphicon glyphicon-log-out"></span></a></li>
  127. <?php
  128. endif;
  129. ?>
  130. </ul>
  131. </div><!--/.nav-collapse -->
  132. </div><!--/.container-fluid -->
  133. </nav>
  134. <form action="/" method="post" id="logout"><input type="hidden" name="logout"></form>