panel.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. <div class="hidden" id="token" token="<?=$_SESSION['token']?>"></div>
  2. <a href="#" class="to-top" title="<?=_('Top')?>">
  3. <i class="fas fa-arrow-up"></i>
  4. </a>
  5. <a href="#" class="to-shortcuts" title="<?=_('Shortcuts')?>">
  6. <i class="fas fa-keyboard"></i>
  7. </a>
  8. <div class="l-header">
  9. <div class="l-center">
  10. <a href="<?=htmlspecialchars($home_url)?>" class="l-logo" title="<?=_('Hestia Control Panel');?>"></a>
  11. <div class="l-menu clearfix noselect">
  12. <div class="l-menu__item <?php if($TAB == 'WEB' ) echo 'l-menu__item--active' ?> <?php if($TAB == 'DNS' ) echo 'l-menu__item--active' ?> <?php if($TAB == 'MAIL' ) echo 'l-menu__item--active' ?> <?php if($TAB == 'DB' ) echo 'l-menu__item--active' ?> <?php if($TAB == 'BACKUP' ) echo 'l-menu__item--active' ?> <?php if($TAB == 'CRON' ) echo 'l-menu__item--active' ?><?php if($TAB == 'PACKAGE' ) echo 'l-menu__item--active' ?> <?php if($TAB == 'USER' ) echo 'l-menu__item--active' ?><?php if($TAB == 'LOG' ) echo 'l-menu__item--active' ?>"><a href="<?=htmlspecialchars($home_url)?>"><i class="fas fa-tasks panel-icon"></i><?=_('Records')?></a></div>
  13. <?php if ((isset($_SESSION['FILE_MANAGER'])) && (!empty($_SESSION['FILE_MANAGER'])) && ($_SESSION['FILE_MANAGER'] == "true")) {?>
  14. <? if (($_SESSION['userContext'] === 'admin') && (isset($_SESSION['look']) && ($_SESSION['look'] === 'admin') && ($_SESSION['POLICY_SYSTEM_PROTECTED_ADMIN'] == 'yes'))) {?>
  15. <!-- Hide file manager when impersonating admin-->
  16. <? } else { ?>
  17. <div class="l-menu__item <?php if($TAB == 'FM' ) echo 'l-menu__item--active' ?>"><a href="/fm/"><i class="fas fa-folder-open panel-icon"></i><?=_('Files')?></a></div>
  18. <? } ?>
  19. <?php } ?>
  20. <div class="l-menu__item <?php if($TAB == 'STATS' ) echo 'l-menu__item--active' ?>"><a href="/list/stats/"><i class="fas fa-chart-line panel-icon"></i><?=_('Statistics')?></a></div>
  21. </div>
  22. <div class="l-profile noselect">
  23. <div class="l-menu__item">
  24. <span class="pill usage">
  25. <span class="label-space-right"><i class="fas
  26. <? if (isset($_SESSION['look'])) {?>
  27. fa-binoculars
  28. <? } else if ($_SESSION['userContext'] === 'admin') { ?>
  29. fa-user-tie
  30. <? } else { ?>
  31. fa-user
  32. <? } ?> icon-pad-right" title="<?=_('Statistics')?>: <?=htmlspecialchars($panel[$user]['NAME'])?>"></i><b><?=htmlspecialchars($user)?></b></span>
  33. <span class="label-space-right"><i class="fas fa-hdd icon-pad-right" title="<?=_('Disk')?>: <?=humanize_usage_size($panel[$user]['U_DISK'])?> <?=humanize_usage_measure($panel[$user]['U_DISK'])?>"></i><b><?=humanize_usage_size($panel[$user]['U_DISK'])?></b> <?=humanize_usage_measure($panel[$user]['U_DISK'])?></span>
  34. <span><i class="fas fa-exchange-alt icon-pad-right" title="<?=_('Bandwidth')?>: <?=humanize_usage_size($panel[$user]['U_DISK'])?> <?=humanize_usage_measure($panel[$user]['U_DISK'])?>"></i><b><?=humanize_usage_size($panel[$user]['U_BANDWIDTH'])?></b> <?=humanize_usage_measure($panel[$user]['U_BANDWIDTH'])?></span>
  35. </span>
  36. </div>
  37. <!-- Show update notifier for administrators
  38. <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['UPDATE_AVAILABLE'])) {?>
  39. <div class="l-menu__item <?php if($TAB == 'UPDATES' ) echo 'l-menu__item--active' ?>"><a href="/list/updates/" title="<?_('Updates')?>" class="l-profile__username "><i class="fas fa-star status-icon orange"></i></a></div>
  40. <?}?>-->
  41. <? if (($_SESSION['userContext'] === 'admin') && (isset($_SESSION['look']) && ($user == 'admin'))) {?>
  42. <!-- Do not show notifications panel when impersonating 'admin' user -->
  43. <? } else { ?>
  44. <div class="l-menu__item">
  45. <a title="<?=_('Notifications')?>" class="l-profile__notifications <? if($panel[$user]['NOTIFICATIONS'] == 'yes') echo " updates"; ?>">
  46. <i class="fas fa-bell <?if($panel[$user]['NOTIFICATIONS'] == 'yes') echo " animated extended swing status-icon orange"; ?>"></i>
  47. </a>
  48. </div>
  49. <? } ?>
  50. <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['POLICY_SYSTEM_HIDE_SERVICES'] !== 'yes') || ($_SESSION['user'] === 'admin')) {?>
  51. <? if (($_SESSION['userContext'] === 'admin') && (!empty($_SESSION['look']))) {?>
  52. <!-- Hide 'Server Settings' button when impersonating 'admin' or other users -->
  53. <? } else { ?>
  54. <div class="l-menu__item <?php if($TAB == 'SERVER' ) echo 'l-menu__item--active' ?> <?php if($TAB == 'IP' ) echo 'l-menu__item--active' ?> <?php if($TAB == 'RRD' ) echo 'l-menu__item--active' ?> <?php if($TAB == 'FIREWALL' ) echo 'l-menu__item--active' ?>"><a href="/list/server/" class="l-profile__serversettings" title="<?=_('Server')?>"><i class="fas fa-cog"></i></a></div>
  55. <? } ?>
  56. <? } ?>
  57. <? if (($_SESSION['userContext'] === 'admin') && (isset($_SESSION['look']) && ($user == 'admin'))) {?>
  58. <!-- Hide 'edit user' entry point from other administrators for default 'admin' account-->
  59. <div class="l-menu__item"><a href="/list/log/" title="<?_('Logs')?>" class="l-profile__username"><i class="fas fa-history"></i></a></div>
  60. <? } else { ?>
  61. <div class="l-menu__item"><a href="/edit/user/?user=<?php echo $user; ?>&token=<?=$_SESSION['token']?>" title="<?=htmlspecialchars($user)?> (<?=htmlspecialchars($panel[$user]['NAME'])?>)" class="l-profile__username"><i class="fas fa-user-circle"></i></a></div>
  62. <? } ?>
  63. <div class="l-menu__item"><a href="https://docs.hestiacp.com/" rel="noopener" title="<?=_('Help')?>" class="l-profile__help" target="_blank"><i class="fas fa-question-circle"></i></a></div>
  64. <? if(isset($_SESSION['look']) && (!empty($_SESSION['look']))){ ?>
  65. <div class="l-menu__item"><a href="/logout/" title="<?=_('Log out')?> (<?=$user?>)" class="l-profile__logout"><i class="fas fa-arrow-alt-circle-up"></i></a></div>
  66. <? } else {?>
  67. <div class="l-menu__item"><a href="/logout/" title="<?=_('Log out')?>" class="l-profile__logout"><i class="fas fa-sign-out-alt"></i></a></div>
  68. <? } ?>
  69. </div>
  70. </div>
  71. </div>
  72. <ul class="notification-container hidden animated fadeIn"></ul>
  73. <div class="l-content">
  74. <div class="l-center">
  75. <div class="l-stat">
  76. <?php if (($_SESSION['userContext'] === 'admin') && (!isset($_SESSION['look']))) {?>
  77. <div class="l-stat__col <?php if($TAB == 'USER' ) echo 'l-stat__col--active' ?><?php if($TAB == 'LOG' ) echo 'l-stat__col--active' ?>">
  78. <a href="/list/user/">
  79. <div class="l-stat__col-title"><?=_('USER')?>&nbsp;&nbsp;<i class="fas fa-users"></i></div>
  80. <ul>
  81. <li><?=_('users')?>: <span>
  82. <? if (($_SESSION['user'] !== 'admin') && ($_SESSION['POLICY_SYSTEM_HIDE_ADMIN'] === 'yes')) {
  83. $user_count = $panel[$user]['U_USERS'] - 1;
  84. } else {
  85. $user_count = $panel[$user]['U_USERS'];
  86. } ?>
  87. <?=htmlspecialchars($user_count);?></span></li>
  88. <li><?=_('spnd');?>: <span><?=$panel[$user]['SUSPENDED_USERS']?></span></li>
  89. </ul>
  90. </a>
  91. </div>
  92. <?php } ?>
  93. <?php if ((isset($_SESSION['WEB_SYSTEM'])) && (!empty($_SESSION['WEB_SYSTEM']))) {?>
  94. <?php if($panel[$user]['WEB_DOMAINS'] != "0") { ?>
  95. <div class="l-stat__col <?php if($TAB == 'WEB' ) echo 'l-stat__col--active' ?>">
  96. <a href="/list/web/">
  97. <div class="l-stat__col-title"><?=_('WEB')?>&nbsp;&nbsp;<i class="fas fa-globe-americas"></i></div>
  98. <ul>
  99. <li><?=_('domains')?>: <span><?=$panel[$user]['U_WEB_DOMAINS']?> / <?=$panel[$user]['WEB_DOMAINS']=='unlimited' ? "<b>∞</b>" : $panel[$user]['WEB_DOMAINS']?> (<?=$panel[$user]['SUSPENDED_WEB']?>)</span></li>
  100. <li><?=_('aliases')?>: <span><?=$panel[$user]['U_WEB_ALIASES']?> / <?=$panel[$user]['WEB_ALIASES']=='unlimited' ? "<b>∞</b>" : $panel[$user]['WEB_ALIASES'] * $panel[$user]['WEB_DOMAINS']?></span></li>
  101. </ul>
  102. </a>
  103. </div>
  104. <?php } ?>
  105. <?php } ?>
  106. <?php if ((isset($_SESSION['DNS_SYSTEM'])) && (!empty($_SESSION['DNS_SYSTEM']))) {?>
  107. <?php if($panel[$user]['DNS_DOMAINS'] != "0") { ?>
  108. <div class="l-stat__col <?php if($TAB == 'DNS' ) echo 'l-stat__col--active' ?>">
  109. <a href="/list/dns/">
  110. <div class="l-stat__col-title"><?=_('DNS')?>&nbsp;&nbsp;<i class="fas fa-atlas"></i></div>
  111. <ul>
  112. <li><?=_('zones')?>: <span><?=$panel[$user]['U_DNS_DOMAINS']?> / <?=$panel[$user]['DNS_DOMAINS']=='unlimited' ? "<b>∞</b>" : $panel[$user]['DNS_DOMAINS']?> (<?=$panel[$user]['SUSPENDED_DNS']?>)</span></li>
  113. <li><?=_('records')?>: <span><?=$panel[$user]['U_DNS_RECORDS']?> / <?=$panel[$user]['DNS_RECORDS']=='unlimited' ? "<b>∞</b>" : $panel[$user]['DNS_RECORDS'] * $panel[$user]['DNS_DOMAINS']?></span></li>
  114. </ul>
  115. </a>
  116. </div>
  117. <?php } ?>
  118. <?php } ?>
  119. <?php if ((isset($_SESSION['MAIL_SYSTEM'])) && (!empty($_SESSION['MAIL_SYSTEM']))) {?>
  120. <?php if($panel[$user]['MAIL_DOMAINS'] != "0") { ?>
  121. <div class="l-stat__col <?php if($TAB == 'MAIL' ) echo 'l-stat__col--active' ?>">
  122. <a href="/list/mail/">
  123. <div class="l-stat__col-title"><?=_('MAIL')?>&nbsp;&nbsp;<i class="fas fa-mail-bulk"></i></div>
  124. <ul>
  125. <li><?=_('domains')?>: <span><?=$panel[$user]['U_MAIL_DOMAINS']?> / <?=$panel[$user]['MAIL_DOMAINS']=='unlimited' ? "<b>∞</b>" : $panel[$user]['MAIL_DOMAINS']?> (<?=$panel[$user]['SUSPENDED_MAIL']?>)</span></li>
  126. <li><?=_('accounts')?>: <span><?=$panel[$user]['U_MAIL_ACCOUNTS']?> / <?=$panel[$user]['MAIL_ACCOUNTS']=='unlimited' ? "<b>∞</b>" : $panel[$user]['MAIL_ACCOUNTS'] * $panel[$user]['MAIL_DOMAINS']?></span></li>
  127. </ul>
  128. </a>
  129. </div>
  130. <?php } ?>
  131. <?php } ?>
  132. <?php if ((isset($_SESSION['DB_SYSTEM'])) && (!empty($_SESSION['DB_SYSTEM']))) {?>
  133. <?php if($panel[$user]['DATABASES'] != "0") { ?>
  134. <div class="l-stat__col <?php if($TAB == 'DB' ) echo 'l-stat__col--active' ?>">
  135. <a href="/list/db/">
  136. <div class="l-stat__col-title"><?=_('DB')?>&nbsp;&nbsp;<i class="fas fa-database"></i></div>
  137. <ul>
  138. <li><?=_('databases')?>: <span><?=$panel[$user]['U_DATABASES']?> / <?=$panel[$user]['DATABASES']=='unlimited' ? "<b>∞</b>" : $panel[$user]['DATABASES']?> (<?=$panel[$user]['SUSPENDED_DB']?>)</span></li>
  139. </ul>
  140. </a>
  141. </div>
  142. <?php } ?>
  143. <?php } ?>
  144. <?php if ((isset($_SESSION['CRON_SYSTEM'])) && (!empty($_SESSION['CRON_SYSTEM']))) {?>
  145. <?php if($panel[$user]['CRON_JOBS'] != "0") { ?>
  146. <div class="l-stat__col <?php if($TAB == 'CRON' ) echo 'l-stat__col--active' ?>">
  147. <a href="/list/cron/">
  148. <div class="l-stat__col-title"><?=_('CRON')?>&nbsp;&nbsp;<i class="fas fa-clock"></i></div>
  149. <ul>
  150. <li><?=_('jobs')?>: <span><?=$panel[$user]['U_CRON_JOBS']?> / <?=$panel[$user]['CRON_JOBS']=='unlimited' ? "<b>∞</b>" : $panel[$user]['CRON_JOBS']?> (<?=$panel[$user]['SUSPENDED_CRON']?>)</span></li>
  151. </ul>
  152. </a>
  153. </div>
  154. <?php } ?>
  155. <?php } ?>
  156. <?php if ((isset($_SESSION['BACKUP_SYSTEM'])) && (!empty($_SESSION['BACKUP_SYSTEM']))) {?>
  157. <?php if($panel[$user]['BACKUPS'] != "0") { ?>
  158. <div class="l-stat__col <?php if($TAB == 'BACKUP' ) echo 'l-stat__col--active' ?>">
  159. <a href="/list/backup/">
  160. <div class="l-stat__col-title"><?=_('BACKUP')?>&nbsp;&nbsp;<i class="fas fa-file-archive"></i></div>
  161. <ul>
  162. <li><?=_('backups')?>: <span><?=$panel[$user]['U_BACKUPS']?> / <?=$panel[$user]['BACKUPS']=='unlimited' ? "<b>∞</b>" : $panel[$user]['BACKUPS']?></span></li>
  163. </ul>
  164. </a>
  165. </div>
  166. <?php } ?>
  167. <?php } ?>
  168. </div>
  169. </div>
  170. <div class="l-separator"></div>