Преглед изворни кода

Merge branch 'feature/user-roles' into feature/user-auth-log

Kristan Kenney пре 5 година
родитељ
комит
0419871a24

+ 28 - 17
web/templates/admin/list_backup.html

@@ -1,10 +1,10 @@
     <div class="l-center">
       <div class="l-sort clearfix noselect">
         <div class="l-unit-toolbar__buttonstrip">
-          <a href="/schedule/backup/?token=<?=$_SESSION['token']?>" class="ui-button cancel" dir="ltr"><i class="fas fa-plus-circle status-icon green"></i><?=_('Create Backup')?></a>
           <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
-            <!-- Restrict ability to edit backup exclusions when impersonating 'admin' account -->
+            <!-- Hide item creation button when impersonating 'admin' account -->
           <? } else { ?>
+            <a href="/schedule/backup/?token=<?=$_SESSION['token']?>" class="ui-button cancel" dir="ltr"><i class="fas fa-plus-circle status-icon green"></i><?=_('Create Backup')?></a>
             <a href="/list/backup/exclusions/" class="ui-button cancel" dir="ltr"><i class="fas fa-folder-minus status-icon orange"></i><?=_('backup exclusions')?></a>
           <? } ?> 
         </div>
@@ -18,17 +18,21 @@
                   <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value=""><i class="fas fa-search"></i></button>
                 </form>
               </td>
-              <td>
-                <form action="/bulk/backup/" method="post" id="objects">
-                <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
-                <div class="l-select">
-                  <select name="action" id="">
-                    <option value=""><?=_('apply to selected')?></option>
-                    <option value="delete"><?php print _('delete') ?></option>
-                  </select>
-                </div>
-                <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
-              </td>
+              <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                <!-- Hide bulk actions for domain items when impersonating 'admin' account-->
+              <? } else { ?>
+                <td>
+                  <form action="/bulk/backup/" method="post" id="objects">
+                  <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
+                  <div class="l-select">
+                    <select name="action" id="">
+                      <option value=""><?=_('apply to selected')?></option>
+                      <option value="delete"><?php print _('delete') ?></option>
+                    </select>
+                  </div>
+                  <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
+                </td>
+              <? } ?>
             </tr>
           </table>
         </div>
@@ -78,16 +82,23 @@
                   <div class="clearfix l-unit__stat-col--left super-compact">
                     <input id="check<?php echo $i ?>" class="ch-toggle" type="checkbox" name="backup[]" value="<?php echo $key ?>">
                   </div>
-                  <div class="clearfix l-unit__stat-col--left wide-3 truncate"><b><a href="/list/backup/?backup=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('restore')?>"><?=$key?></a></b></div>
+                  <div class="clearfix l-unit__stat-col--left wide-3 truncate">
+                    <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                      <b><?=$key?></b>
+                    <? } else { ?>
+                      <b><a href="/list/backup/?backup=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('restore')?>"><?=$key?></a></b>
+                    <? } ?>
+                  </div>
                   <!-- START QUICK ACTION TOOLBAR AREA -->
                   <div class="clearfix l-unit__stat-col--left compact-4 text-right">
                     <div class="l-unit-toolbar__col l-unit-toolbar__col--right noselect">
                       <div class="actions-panel clearfix">
-                        <div class="actions-panel__col actions-panel__download shortcut-d" key-action="href"><a href="/download/backup/?backup=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('download')?>"><i class="fas fa-file-download status-icon lightblue status-icon dim"></i></a></div>
-                        <div class="actions-panel__col actions-panel__list shortcut-enter" key-action="href"><a href="/list/backup/?backup=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('restore')?>"><i class="fas fa-undo status-icon green status-icon dim"></i></a></div>
                         <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
-                          <!-- Restrict ability to delete backups when impersonating 'admin' account -->
+                          <!-- Restrict ability to restore or delete backups when impersonating 'admin' account -->
+                          &nbsp;
                         <? } else { ?>
+                          <div class="actions-panel__col actions-panel__download shortcut-d" key-action="href"><a href="/download/backup/?backup=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('download')?>"><i class="fas fa-file-download status-icon lightblue status-icon dim"></i></a></div>
+                          <div class="actions-panel__col actions-panel__list shortcut-enter" key-action="href"><a href="/list/backup/?backup=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('restore')?>"><i class="fas fa-undo status-icon green status-icon dim"></i></a></div>
                           <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
                             <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
                               <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>

+ 21 - 16
web/templates/admin/list_cron.html

@@ -2,7 +2,7 @@
       <div class="l-sort clearfix noselect">
         <div class="l-unit-toolbar__buttonstrip">
           <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
-            <!-- Restrict ability to add cron jobs or disable/enable cron job notifications when impersonating 'admin' account -->
+            <!-- Hide item creation button when impersonating 'admin' account -->
           <? } else { ?>
             <a href="/add/cron/" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add Cron Job')?></a>
             <? if($panel[$user]['CRON_REPORTS'] == 'yes') { ?>
@@ -29,21 +29,25 @@
                   <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value=""><i class="fas fa-search"></i></button>
                 </form>
               </td>
-              <td class="">
-                <form action="/bulk/cron/" method="post" id="objects">
-                <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
-                <div class="l-select">
-                  <select name="action" id="">
-                    <option value=""><?=_('apply to selected')?></option>
-                    <? if($panel[$user]['CRON_REPORTS'] == 'yes') echo '<option value="delete-cron-reports">'._('turn off notifications').'</option>'; ?>
-                    <? if($panel[$user]['CRON_REPORTS'] == 'no') echo '<option value="add-cron-reports">'._('turn on notifications').'</option>'; ?>
-                    <option value="suspend"><?=_('suspend')?></option>
-                    <option value="unsuspend"><?=_('unsuspend')?></option>
-                    <option value="delete"><?=_('delete')?></option>
-                  </select>
-                </div>
-                <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
-              </td>
+              <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                <!-- Hide bulk actions for domain items when impersonating 'admin' account-->
+              <? } else { ?>
+                <td class="">
+                  <form action="/bulk/cron/" method="post" id="objects">
+                  <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
+                  <div class="l-select">
+                    <select name="action" id="">
+                      <option value=""><?=_('apply to selected')?></option>
+                      <? if($panel[$user]['CRON_REPORTS'] == 'yes') echo '<option value="delete-cron-reports">'._('turn off notifications').'</option>'; ?>
+                      <? if($panel[$user]['CRON_REPORTS'] == 'no') echo '<option value="add-cron-reports">'._('turn on notifications').'</option>'; ?>
+                      <option value="suspend"><?=_('suspend')?></option>
+                      <option value="unsuspend"><?=_('unsuspend')?></option>
+                      <option value="delete"><?=_('delete')?></option>
+                    </select>
+                  </div>
+                  <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
+                </td>
+              <? } ?>
             </tr>
           </table>
         </div>
@@ -103,6 +107,7 @@ sort-star="<? if($_SESSION['favourites']['CRON'][$key] == 1) echo '1'; else echo
             <div class="actions-panel clearfix">
               <? if (($_SESSION['userContext'] === 'admin') && (isset($_SESSION['look'])) && ($_SESSION['look'] === 'admin')) {?>
                 <!-- Restrict other administrators from editing, deleting, or suspending 'admin' user cron jobs -->
+                &nbsp;
               <? } else { ?>
                 <div class="actions-panel__col actions-panel__download shortcut-enter" key-action="href"><a href="/edit/cron/?job=<?=$data[$key]['JOB']?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Cron Job')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
                 <div class="actions-panel__col actions-panel__suspend shortcut-s" key-action="js">

+ 76 - 65
web/templates/admin/list_db.html

@@ -1,29 +1,29 @@
+<?
+  list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"].":");
+
+  $db_myadmin_link = "//".$http_host."/phpmyadmin/";
+  $db_pgadmin_link = "//".$http_host."/phppgadmin/";
+
+  if (!empty($_SESSION['DB_PMA_ALIAS'])) {
+    $db_myadmin_link = "//".$http_host."/".$_SESSION['DB_PMA_ALIAS']."/";
+  }
+  if (!empty($_SESSION['DB_PGA_ALIAS'])) {
+    $db_pgadmin_link = "//".$http_host."/".$_SESSION['DB_PGA_ALIAS']."/";
+  }
+?>
     <div class="l-center">
       <div class="l-sort clearfix noselect">
         <div class="l-unit-toolbar__buttonstrip">
-          <? if (($_SESSION['user'] === 'admin') && (!isset($_SESSION['look'])) || ($_SESSION['look'] === 'admin')) {?>
-            <!-- Hide item creation button from 'admin' account unless impersonating another user -->
+          <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+            <!-- Hide item creation button when impersonating 'admin' account -->
           <? } else {?>
             <a href="/add/db/" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add Database')?></a>
-          <? } ?>
-          <?
-            list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"].":");
-
-            $db_myadmin_link = "//".$http_host."/phpmyadmin/";
-            $db_pgadmin_link = "//".$http_host."/phppgadmin/";
-
-            if (!empty($_SESSION['DB_PMA_ALIAS'])) {
-              $db_myadmin_link = "//".$http_host."/".$_SESSION['DB_PMA_ALIAS']."/";
-            }
-            if (!empty($_SESSION['DB_PGA_ALIAS'])) {
-              $db_pgadmin_link = "//".$http_host."/".$_SESSION['DB_PGA_ALIAS']."/";
-            }
-          ?>
-          <? if (($_SESSION['DB_SYSTEM'] === 'mysql') || ($_SESSION['DB_SYSTEM'] === 'mysql,pgsql') || ($_SESSION['DB_SYSTEM'] === 'pgsql,mysql')) {?>
-            <a class="ui-button cancel" dir="ltr" href="<?php echo $db_myadmin_link; ?>" target="_blank"><i class="fas fa-database status-icon orange"></i>phpMyAdmin</a>
-          <? } ?>
-          <? if (($_SESSION['DB_SYSTEM'] === 'pgsql') || ($_SESSION['DB_SYSTEM'] === 'mysql,pgsql') || ($_SESSION['DB_SYSTEM'] === 'pgsql,mysql')) {?>
-            <a class="ui-button cancel" dir="ltr" href="<?php echo $db_pgadmin_link; ?>" target="_blank"><i class="fas fa-database status-icon orange"></i>phpPgAdmin</a>
+            <? if (($_SESSION['DB_SYSTEM'] === 'mysql') || ($_SESSION['DB_SYSTEM'] === 'mysql,pgsql') || ($_SESSION['DB_SYSTEM'] === 'pgsql,mysql')) {?>
+              <a class="ui-button cancel" dir="ltr" href="<?php echo $db_myadmin_link; ?>" target="_blank"><i class="fas fa-database status-icon orange"></i>phpMyAdmin</a>
+            <? } ?>
+            <? if (($_SESSION['DB_SYSTEM'] === 'pgsql') || ($_SESSION['DB_SYSTEM'] === 'mysql,pgsql') || ($_SESSION['DB_SYSTEM'] === 'pgsql,mysql')) {?>
+              <a class="ui-button cancel" dir="ltr" href="<?php echo $db_pgadmin_link; ?>" target="_blank"><i class="fas fa-database status-icon orange"></i>phpPgAdmin</a>
+            <? } ?>
           <? } ?>
         </div>
         <ul class="context-menu sort-order animated fadeIn" style="display:none;">
@@ -46,20 +46,24 @@
                   <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value=""><i class="fas fa-search"></i></button>
                 </form>
               </td>
-              <td>
-                <form action="/bulk/db/" method="post" id="objects">
-                <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
-                <div class="l-select">
-                  <select name="action" id="">
-                    <option value=""><?=_('apply to selected')?></option>
-                    <option value="rebuild"><?=_('rebuild')?></option>
-                    <option value="suspend"><?=_('suspend')?></option>
-                    <option value="unsuspend"><?=_('unsuspend')?></option>
-                    <option value="delete"><?=_('delete')?></option>
-                  </select>
-                </div>
-                <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
-              </td>
+              <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                <!-- Hide bulk actions for domain items when impersonating 'admin' account-->
+              <? } else { ?>
+                <td>
+                  <form action="/bulk/db/" method="post" id="objects">
+                  <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
+                  <div class="l-select">
+                    <select name="action" id="">
+                      <option value=""><?=_('apply to selected')?></option>
+                      <option value="rebuild"><?=_('rebuild')?></option>
+                      <option value="suspend"><?=_('suspend')?></option>
+                      <option value="unsuspend"><?=_('unsuspend')?></option>
+                      <option value="delete"><?=_('delete')?></option>
+                    </select>
+                  </div>
+                  <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
+                </td>
+              <? } ?>
             </tr>
           </table>
         </div>
@@ -117,39 +121,46 @@ sort-user="<?=$data[$key]['DBUSER']?>" sort-server="<?=$data[$key]['HOST']?>" so
                 <div class="clearfix l-unit__stat-col--left super-compact">
                   <input id="check<?php echo $i ?>" class="ch-toggle" type="checkbox" name="database[]" value="<?php echo $key ?>">
                 </div>
-                <div class="clearfix l-unit__stat-col--left wide-3 truncate"><b><a href="/edit/db/?database=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Database')?>"><?=$key?></a></b></div>
+                <div class="clearfix l-unit__stat-col--left wide-3 truncate">
+                  <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                    <b><?=$key?></b>
+                  <? } else { ?>
+                    <b><a href="/edit/db/?database=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Database')?>"><?=$key?></a></b>
+                  <? } ?>
+                </div>
                 <!-- START QUICK ACTION TOOLBAR AREA -->
                 <div class="clearfix l-unit__stat-col--left text-right compact-3">
-                      <div class="l-unit-toolbar__col l-unit-toolbar__col--right noselect">
-                          <div class="actions-panel clearfix">
-                            <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="/edit/db/?database=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Database')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
-                            <div class="actions-panel__col actions-panel__suspend shortcut-s" key-action="js">
-                              <a id="<?=$spnd_action ?>_link_<?=$i?>" class="data-controls do_<?=$spnd_action?>" title="<?=_($spnd_action)?>">
-                                <i class="fas <?=$spnd_icon?> status-icon highlight status-icon dim do_<?=$spnd_action?>"></i>
-                                <input type="hidden" name="<?=$spnd_action?>_url" value="/<?=$spnd_action?>/db/?database=<?=$key?>&token=<?=$_SESSION['token']?>" />
-                                <div id="<?=$spnd_action?>_dialog_<?=$i?>" class="confirmation-text-suspention hidden" title="<?=_('Confirmation')?>">
-                                  <p class="confirmation"><?=sprintf($spnd_confirmation,$key)?></p>
-                                </div>
-                              </a>
-                            </div>
-                            <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
-                              <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
-                                <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
-                                <input type="hidden" name="delete_url" value="/delete/db/?database=<?=$key?>&token=<?=$_SESSION['token']?>" />
-                                <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation')?>">
-                                  <p class="confirmation"><?=sprintf(_('DELETE_DATABASE_CONFIRMATION'),$key)?></p>
-                                </div>
-                              </a>
-                            </div>
-                            <?php if ($data[$key]['TYPE'] == 'mysql' && isset($_SESSION['PHPMYADMIN_KEY']) && $_SESSION['PHPMYADMIN_KEY'] != '') {
-                            $time = time();
-                            ?>
-                                <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="<?=$db_myadmin_link;?>/hestia-sso.php?database=<?=$key;?>&user=<?=$user;?>&exp=<?=$time;?>&hestia_token=<?=password_hash($key.$user.$_SESSION['user_combined_ip'].$time.$_SESSION['PHPMYADMIN_KEY'], PASSWORD_DEFAULT)?>" title="<?=_('Editing Database')?>"><i class="fas fa-sign-in-alt status-icon orange status-icon dim"></i></a></div>
-                            <?php
-                            }
-                            ?>
+                  <div class="l-unit-toolbar__col l-unit-toolbar__col--right noselect">
+                    <div class="actions-panel clearfix">
+                      <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                        <!-- Restrict the ability to edit, delete, or suspend domain items when impersonating 'admin' user -->
+                        &nbsp;
+                      <? } else { ?>
+                        <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="/edit/db/?database=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Database')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
+                        <?php if ($data[$key]['TYPE'] == 'mysql' && isset($_SESSION['PHPMYADMIN_KEY']) && $_SESSION['PHPMYADMIN_KEY'] != '') { $time = time(); ?>
+                          <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="<?=$db_myadmin_link;?>/hestia-sso.php?database=<?=$key;?>&user=<?=$user;?>&exp=<?=$time;?>&hestia_token=<?=password_hash($key.$user.$_SESSION['user_combined_ip'].$time.$_SESSION['PHPMYADMIN_KEY'], PASSWORD_DEFAULT)?>" title="<?=_('Editing Database')?>"><i class="fas fa-sign-in-alt status-icon orange status-icon dim"></i></a></div>
+                        <? } ?>
+                          <div class="actions-panel__col actions-panel__suspend shortcut-s" key-action="js">
+                            <a id="<?=$spnd_action ?>_link_<?=$i?>" class="data-controls do_<?=$spnd_action?>" title="<?=_($spnd_action)?>">
+                              <i class="fas <?=$spnd_icon?> status-icon highlight status-icon dim do_<?=$spnd_action?>"></i>
+                              <input type="hidden" name="<?=$spnd_action?>_url" value="/<?=$spnd_action?>/db/?database=<?=$key?>&token=<?=$_SESSION['token']?>" />
+                              <div id="<?=$spnd_action?>_dialog_<?=$i?>" class="confirmation-text-suspention hidden" title="<?=_('Confirmation')?>">
+                                <p class="confirmation"><?=sprintf($spnd_confirmation,$key)?></p>
+                              </div>
+                            </a>
+                          </div>
+                          <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
+                            <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
+                              <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
+                              <input type="hidden" name="delete_url" value="/delete/db/?database=<?=$key?>&token=<?=$_SESSION['token']?>" />
+                              <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation')?>">
+                                <p class="confirmation"><?=sprintf(_('DELETE_DATABASE_CONFIRMATION'),$key)?></p>
+                              </div>
+                            </a>
                           </div>
-                        </div>
+                      <? } ?>
+                    </div>
+                  </div>
                   </div>
                   <!-- END QUICK ACTION TOOLBAR AREA -->
                   <div class="clearfix l-unit__stat-col--left text-center compact"><?=$data[$key]['TYPE']?></div>

+ 46 - 39
web/templates/admin/list_dns.html

@@ -1,8 +1,8 @@
     <div class="l-center">
       <div class="l-sort clearfix noselect">
         <div class="l-unit-toolbar__buttonstrip">
-          <? if (($_SESSION['user'] === 'admin') && (!isset($_SESSION['look'])) || ($_SESSION['look'] === 'admin')) {?>
-            <!-- Hide item creation button from 'admin' account unless impersonating another user -->
+          <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+            <!-- Hide item creation button when impersonating 'admin' account -->
           <? } else {?>
             <a href="/add/dns/" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add DNS Domain')?></a>
           <? } ?>
@@ -27,20 +27,24 @@
                   <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value=""><i class="fas fa-search"></i></button>
                 </form>
               </td>
-              <td>
-                <form action="/bulk/dns/" method="post" id="objects">
-                <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
-                <div class="l-select">
-                  <select name="action" id="">
-                    <option value=""><?=_('apply to selected')?></option>
-                    <option value="rebuild"><?=_('rebuild')?></option>
-                    <option value="suspend"><?php print _('suspend');?></option>
-                    <option value="unsuspend"><?php print _('unsuspend');?></option>
-                    <option value="delete"><?php print _('delete');?></option>
-                  </select>
-                </div>
-                <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
-              </td>
+              <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                <!-- Hide bulk actions for domain items when impersonating 'admin' account-->
+              <? } else { ?>
+                <td>
+                  <form action="/bulk/dns/" method="post" id="objects">
+                  <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
+                  <div class="l-select">
+                    <select name="action" id="">
+                      <option value=""><?=_('apply to selected')?></option>
+                      <option value="rebuild"><?=_('rebuild')?></option>
+                      <option value="suspend"><?php print _('suspend');?></option>
+                      <option value="unsuspend"><?php print _('unsuspend');?></option>
+                      <option value="delete"><?php print _('delete');?></option>
+                    </select>
+                  </div>
+                  <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
+                </td>
+              <? } ?>
             </tr>
           </table>
         </div>
@@ -96,32 +100,35 @@ sort-expire="<?=strtotime($data[$key]['EXP'])?>" sort-records="<?=(int)$data[$ke
               <div class="clearfix l-unit__stat-col--left text-right">
                   <div class="l-unit-toolbar__col l-unit-toolbar__col--right noselect">
                   <div class="actions-panel clearfix">
-
-                    <div class="actions-panel__col actions-panel__logs shortcut-n" key-action="href"><a href="/add/dns/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Add DNS Record')?>"><i class="fas fa-plus-circle status-icon green status-icon dim"></i></a></div>
-                    <div class="actions-panel__col actions-panel__edit shortcut-l" key-action="href"><a href="/list/dns/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('DNS records')?>"><i class="fas fa-list status-icon lightblue status-icon dim"></i></a></div>
-                    <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="/edit/dns/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing DNS Domain')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
-
-                    <div class="actions-panel__col actions-panel__suspend shortcut-s" key-action="js">
-                      <a id="<?=$spnd_action ?>_link_<?=$i?>" class="data-controls do_<?=$spnd_action?>" title="<?=_($spnd_action)?>">
-                        <i class="fas <?=$spnd_icon?> status-icon highlight status-icon dim do_<?=$spnd_action?>"></i>
-                        <input type="hidden" name="<?=$spnd_action?>_url" value="/<?=$spnd_action?>/dns/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" />
-                        <div id="<?=$spnd_action?>_dialog_<?=$i?>" class="confirmation-text-suspention hidden" title="<?=_('Confirmation')?>">
-                          <p class="confirmation"><?=sprintf($spnd_confirmation,$key)?></p>
-                        </div>
-                      </a>
-                    </div>
-                    <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
-                      <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
-                        <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
+                    <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                      <!-- Restrict administrators from editing domain items when impersonating the 'admin' user -->
+                      &nbsp;
+                    <? } else { ?>
+                      <div class="actions-panel__col actions-panel__logs shortcut-n" key-action="href"><a href="/add/dns/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Add DNS Record')?>"><i class="fas fa-plus-circle status-icon green status-icon dim"></i></a></div>
+                      <div class="actions-panel__col actions-panel__edit shortcut-l" key-action="href"><a href="/list/dns/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('DNS records')?>"><i class="fas fa-list status-icon lightblue status-icon dim"></i></a></div>
+                      <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="/edit/dns/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing DNS Domain')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
+                      <div class="actions-panel__col actions-panel__suspend shortcut-s" key-action="js">
+                        <a id="<?=$spnd_action ?>_link_<?=$i?>" class="data-controls do_<?=$spnd_action?>" title="<?=_($spnd_action)?>">
+                          <i class="fas <?=$spnd_icon?> status-icon highlight status-icon dim do_<?=$spnd_action?>"></i>
+                          <input type="hidden" name="<?=$spnd_action?>_url" value="/<?=$spnd_action?>/dns/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" />
+                          <div id="<?=$spnd_action?>_dialog_<?=$i?>" class="confirmation-text-suspention hidden" title="<?=_('Confirmation')?>">
+                            <p class="confirmation"><?=sprintf($spnd_confirmation,$key)?></p>
+                          </div>
+                        </a>
+                      </div>
+                      <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
+                        <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
+                          <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
                           <input type="hidden" name="delete_url" value="/delete/dns/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" />
-                            <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation')?>">
-                              <p class="confirmation"><?=sprintf(_('DELETE_DOMAIN_CONFIRMATION'),$key)?></p>
-                            </div>
-                          </a>
-                        </div>
-                    </div>
+                          <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation')?>">
+                            <p class="confirmation"><?=sprintf(_('DELETE_DOMAIN_CONFIRMATION'),$key)?></p>
+                          </div>
+                        </a>
+                      </div>
+                    <? } ?>
                   </div>
                 </div>
+              </div>
               <!-- END QUICK ACTION TOOLBAR AREA -->
               <div class="clearfix l-unit__stat-col--left text-center compact"><? if($data[$key]['RECORDS']) echo '<span>'.$data[$key]['RECORDS'].'</span>';?></div>
               <div class="clearfix l-unit__stat-col--left text-center"><b><?=$data[$key]['TPL']?></b></div>

+ 45 - 27
web/templates/admin/list_dns_rec.html

@@ -2,8 +2,12 @@
       <div class="l-sort clearfix noselect">
         <div class="l-unit-toolbar__buttonstrip">
           <a class="ui-button cancel" dir="ltr" id="btn-back" href="/list/dns/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back')?></a>
-          <a href="/add/dns/?domain=<?=htmlentities($_GET['domain'])?>" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-plus-circle status-icon green"></i> <?=_('Add Record')?></a>
-          <a href="/edit/dns/?domain=<?=htmlentities($_GET['domain'])?>" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-pencil-alt status-icon blue"></i> <?=_('Editing DNS Domain')?></a>
+          <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+            <!-- Hide item creation button when impersonating 'admin' account -->
+          <? } else { ?>
+            <a href="/add/dns/?domain=<?=htmlentities($_GET['domain'])?>" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-plus-circle status-icon green"></i> <?=_('Add Record')?></a>
+            <a href="/edit/dns/?domain=<?=htmlentities($_GET['domain'])?>" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-pencil-alt status-icon blue"></i> <?=_('Editing DNS Domain')?></a>
+          <? } ?>
         </div>
         <div class="l-sort-toolbar clearfix">
           <table>
@@ -15,20 +19,24 @@
                   <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value=""><i class="fas fa-search"></i></button>
                 </form>
               </td>
-              <td>
-                <form action="/bulk/dns/" method="post" id="objects">
-                <input type="hidden" name="domain" value="<?=htmlentities($_GET['domain'])?>" />
-                <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
-                <div class="l-select">
-                  <select name="action" id="">
-                    <option value=""><?=_('apply to selected')?></option>
-                    <option value="suspend"><?php print _('suspend');?></option>
-                    <option value="unsuspend"><?php print _('unsuspend');?></option>
-                    <option value="delete"><?php print _('delete');?></option>
-                  </select>
-                </div>
-                <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
-              </td>
+              <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                <!-- Hide bulk actions for domain items when impersonating 'admin' account-->
+              <? } else { ?>
+                <td>
+                  <form action="/bulk/dns/" method="post" id="objects">
+                  <input type="hidden" name="domain" value="<?=htmlentities($_GET['domain'])?>" />
+                  <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
+                  <div class="l-select">
+                    <select name="action" id="">
+                      <option value=""><?=_('apply to selected')?></option>
+                      <option value="suspend"><?php print _('suspend');?></option>
+                      <option value="unsuspend"><?php print _('unsuspend');?></option>
+                      <option value="delete"><?php print _('delete');?></option>
+                    </select>
+                  </div>
+                  <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
+                </td>
+              <? } ?>
             </tr>
           </table>
         </div>
@@ -64,21 +72,31 @@ v_unit_id="<?=$key?>" v_section="dns_rec">
             <div class="clearfix l-unit__stat-col--left super-compact">
               <input id="check<?=$data[$key]['ID']?>" class="ch-toggle" type="checkbox" name="record[]" value="<?=$data[$key]['ID']?>">
             </div>
-            <div class="clearfix l-unit__stat-col--left small truncate"><b><a href="/edit/dns/?domain=<?=htmlspecialchars($_GET['domain'])?>&record_id=<?=$data[$key]['ID']?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing DNS Record').': '.htmlspecialchars($data[$key]['RECORD'])?>"><? echo substr($data[$key]['RECORD'], 0, 12); if(strlen($data[$key]['RECORD']) > 12 ) echo '...'; ?></a></b></div>
+            <div class="clearfix l-unit__stat-col--left small truncate">
+              <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                <b><? echo substr($data[$key]['RECORD'], 0, 12); if(strlen($data[$key]['RECORD']) > 12 ) echo '...'; ?></b></div>
+              <? } else { ?>
+                <b><a href="/edit/dns/?domain=<?=htmlspecialchars($_GET['domain'])?>&record_id=<?=$data[$key]['ID']?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing DNS Record').': '.htmlspecialchars($data[$key]['RECORD'])?>"><? echo substr($data[$key]['RECORD'], 0, 12); if(strlen($data[$key]['RECORD']) > 12 ) echo '...'; ?></a></b></div>
+              <? } ?>
             <!-- START QUICK ACTION TOOLBAR AREA -->
             <div class="clearfix l-unit__stat-col--left super-compact text-right">
               <div class="l-unit-toolbar__col l-unit-toolbar__col--right noselect">
                 <div class="actions-panel clearfix">
-                  <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="/edit/dns/?domain=<?=htmlspecialchars($_GET['domain'])?>&record_id=<?=$data[$key]['ID']?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing DNS Record')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
-                  <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
-                    <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
-                      <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
-                      <input type="hidden" name="delete_url" value="/delete/dns/?domain=<?=htmlspecialchars($_GET['domain'])?>&record_id=<?=$data[$key]['ID']?>&token=<?=$_SESSION['token']?>" />
-                      <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation')?>">
-                        <p class="confirmation"><?=sprintf(_('DELETE_RECORD_CONFIRMATION'),$key)?></p>
-                      </div>
-                    </a>
-                  </div>
+                  <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                    <!-- Restrict editing of DNS records when impersonating 'admin' account -->
+                    &nbsp;
+                  <? } else { ?>
+                    <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="/edit/dns/?domain=<?=htmlspecialchars($_GET['domain'])?>&record_id=<?=$data[$key]['ID']?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing DNS Record')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
+                    <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
+                      <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
+                        <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
+                        <input type="hidden" name="delete_url" value="/delete/dns/?domain=<?=htmlspecialchars($_GET['domain'])?>&record_id=<?=$data[$key]['ID']?>&token=<?=$_SESSION['token']?>" />
+                        <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation')?>">
+                          <p class="confirmation"><?=sprintf(_('DELETE_RECORD_CONFIRMATION'),$key)?></p>
+                        </div>
+                      </a>
+                    </div>
+                  <? } ?>
                 </div>
               </div>
             </div>

+ 51 - 40
web/templates/admin/list_mail.html

@@ -1,8 +1,8 @@
     <div class="l-center">
       <div class="l-sort clearfix noselect">
         <div class="l-unit-toolbar__buttonstrip">
-          <? if (($_SESSION['user'] === 'admin') && (!isset($_SESSION['look'])) || ($_SESSION['look'] === 'admin')) {?>
-            <!-- Hide item creation button from 'admin' account unless impersonating another user -->
+          <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+            <!-- Hide item creation button when impersonating 'admin' account -->
           <? } else {?>
             <a href="/add/mail/" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add Mail Domain')?></a>
           <? } ?>
@@ -26,21 +26,24 @@
                   <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value=""><i class="fas fa-search"></i></button>
                 </form>
               </td>
-              <td>
-                <form action="/bulk/mail/" method="post" id="objects">
-                <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
-                <div class="l-select">
-                  <select name="action" id="">
-                    <option value=""><?=_('apply to selected')?></option>
-                    <option value="rebuild"><?=_('rebuild')?></option>
-                    <option value="suspend"><?=_('suspend')?></option>
-                    <option value="unsuspend"><?=_('unsuspend')?></option>
-                    <option value="delete"><?=_('delete')?></option>
-                  </select>
-                </div>
-                <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
-              </td>
-
+              <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                <!-- Hide bulk actions for domain items when impersonating 'admin' account-->
+                <? } else { ?>
+                  <td>
+                    <form action="/bulk/mail/" method="post" id="objects">
+                    <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
+                    <div class="l-select">
+                      <select name="action" id="">
+                        <option value=""><?=_('apply to selected')?></option>
+                        <option value="rebuild"><?=_('rebuild')?></option>
+                        <option value="suspend"><?=_('suspend')?></option>
+                        <option value="unsuspend"><?=_('unsuspend')?></option>
+                        <option value="delete"><?=_('delete')?></option>
+                      </select>
+                    </div>
+                    <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
+                  </td>
+                <? } ?>
             </tr>
           </table>
         </div>
@@ -103,30 +106,38 @@ sort-accounts="<?=$data[$key]['ACCOUNTS']?>" sort-star="<? if($_SESSION['favouri
                   <div class="clearfix l-unit__stat-col--left text-right compact-5">
                       <div class="l-unit-toolbar__col l-unit-toolbar__col--right noselect">
                           <div class="actions-panel clearfix">
-                            <div class="actions-panel__col actions-panel__logs shortcut-n" key-action="href"><a href="/add/mail/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Add Mail Account')?>"><i class="fas fa-plus-circle status-icon green status-icon dim"></i></a></div>
-                            <div class="actions-panel__col actions-panel__edit shortcut-l" key-action="href"><a href="?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('mail accounts')?>"><i class="fas fa-users status-icon blue status-icon dim"></i></a></div>
-                            <div class="actions-panel__col actions-panel__edit shortcut-l" key-action="href"><a href="?domain=<?=$key?>&dns=1&token=<?=$_SESSION['token']?>" title="<?=_('DNS records mail')?>"><i class="fas fa-atlas status-icon blue status-icon dim"></i></a></div>
-                            <div class="actions-panel__col actions-panel__edit" key-action="href"><a href="http://<?=$webmail;?>.<?=$key?>/" target="_blank" title="<?=_('open webmail')?>"><i class="fas fa-paper-plane status-icon lightblue status-icon dim"></i></a></div>
-                            <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="/edit/mail/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Mail Domain')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
 
-                            <div class="actions-panel__col actions-panel__suspend shortcut-s" key-action="js">
-                              <a id="<?=$spnd_action ?>_link_<?=$i?>" class="data-controls do_<?=$spnd_action?>" title="<?=_($spnd_action)?>">
-                                <i class="fas <?=$spnd_icon?> status-icon highlight status-icon dim do_<?=$spnd_action?>"></i>
-                                <input type="hidden" name="<?=$spnd_action?>_url" value="/<?=$spnd_action?>/mail/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" />
-                                <div id="<?=$spnd_action?>_dialog_<?=$i?>" class="confirmation-text-suspention hidden" title="<?=_('Confirmation')?>">
-                                  <p class="confirmation"><?=sprintf($spnd_confirmation,$key)?></p>
-                                </div>
-                              </a>
-                            </div>
-                            <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
-                              <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
-                                <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
-                                <input type="hidden" name="delete_url" value="/delete/mail/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" />
-                                <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation')?>">
-                                  <p class="confirmation"><?=sprintf(_('DELETE_DOMAIN_CONFIRMATION'),$key)?></p>
-                                </div>
-                              </a>
-                            </div>
+                            <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                              <!-- Restrict ability to edit, delete, or suspend domain items when impersonating 'admin' account -->
+                              <div class="actions-panel__col actions-panel__edit shortcut-l" key-action="href"><a href="?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('mail accounts')?>"><i class="fas fa-users status-icon blue status-icon dim"></i></a></div>
+                              <div class="actions-panel__col actions-panel__edit shortcut-l" key-action="href"><a href="?domain=<?=$key?>&dns=1&token=<?=$_SESSION['token']?>" title="<?=_('DNS records mail')?>"><i class="fas fa-atlas status-icon blue status-icon dim"></i></a></div>
+                              <div class="actions-panel__col actions-panel__edit" key-action="href"><a href="http://<?=$webmail;?>.<?=$key?>/" target="_blank" title="<?=_('open webmail')?>"><i class="fas fa-paper-plane status-icon lightblue status-icon dim"></i></a></div>
+                            <? } else { ?>
+                              <div class="actions-panel__col actions-panel__logs shortcut-n" key-action="href"><a href="/add/mail/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Add Mail Account')?>"><i class="fas fa-plus-circle status-icon green status-icon dim"></i></a></div>
+                              <div class="actions-panel__col actions-panel__edit shortcut-l" key-action="href"><a href="?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('mail accounts')?>"><i class="fas fa-users status-icon blue status-icon dim"></i></a></div>
+                              <div class="actions-panel__col actions-panel__edit shortcut-l" key-action="href"><a href="?domain=<?=$key?>&dns=1&token=<?=$_SESSION['token']?>" title="<?=_('DNS records mail')?>"><i class="fas fa-atlas status-icon blue status-icon dim"></i></a></div>
+                              <div class="actions-panel__col actions-panel__edit" key-action="href"><a href="http://<?=$webmail;?>.<?=$key?>/" target="_blank" title="<?=_('open webmail')?>"><i class="fas fa-paper-plane status-icon lightblue status-icon dim"></i></a></div>
+                              <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="/edit/mail/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Mail Domain')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
+
+                              <div class="actions-panel__col actions-panel__suspend shortcut-s" key-action="js">
+                                <a id="<?=$spnd_action ?>_link_<?=$i?>" class="data-controls do_<?=$spnd_action?>" title="<?=_($spnd_action)?>">
+                                  <i class="fas <?=$spnd_icon?> status-icon highlight status-icon dim do_<?=$spnd_action?>"></i>
+                                  <input type="hidden" name="<?=$spnd_action?>_url" value="/<?=$spnd_action?>/mail/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" />
+                                  <div id="<?=$spnd_action?>_dialog_<?=$i?>" class="confirmation-text-suspention hidden" title="<?=_('Confirmation')?>">
+                                    <p class="confirmation"><?=sprintf($spnd_confirmation,$key)?></p>
+                                  </div>
+                                </a>
+                              </div>
+                              <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
+                                <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
+                                  <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
+                                  <input type="hidden" name="delete_url" value="/delete/mail/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" />
+                                  <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation')?>">
+                                    <p class="confirmation"><?=sprintf(_('DELETE_DOMAIN_CONFIRMATION'),$key)?></p>
+                                  </div>
+                                </a>
+                              </div>
+                            <? } ?>                          
                           </div>
                         </div>
                   </div>

+ 60 - 43
web/templates/admin/list_mail_acc.html

@@ -6,8 +6,12 @@
       <div class="l-sort clearfix noselect">
         <div class="l-unit-toolbar__buttonstrip">
           <a class="ui-button cancel" dir="ltr" id="btn-back" href="/list/mail/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back')?></a>
-          <a href="/add/mail/?domain=<?=htmlentities($_GET['domain'])?>" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add Mail Account')?></a>
-          <a href="/edit/mail/?domain=<?=htmlentities($_GET['domain'])?>" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-pencil-alt status-icon blue"></i><?=_('Editing Mail Domain')?></a>
+          <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+            <!-- Hide item creation button when impersonating 'admin' account -->
+          <? } else { ?>
+            <a href="/add/mail/?domain=<?=htmlentities($_GET['domain'])?>" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add Mail Account')?></a>
+            <a href="/edit/mail/?domain=<?=htmlentities($_GET['domain'])?>" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-pencil-alt status-icon blue"></i><?=_('Editing Mail Domain')?></a>
+          <? } ?>
         </div>
         <ul class="context-menu sort-order animated fadeIn" style="display:none;">
           <li entity="sort-date" sort_as_int="1"><span class="name active"><?=_('Date')?> <i class="fas fa-sort-amount-down"></i></span><span class="up"><i class="fas fa-sort-amount-up"></i></span></li>
@@ -27,19 +31,23 @@
                   <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value=""><i class="fas fa-search"></i></button>
                 </form>
               </td>
-              <td>
-                <form action="/bulk/mail/" method="post" id="objects">
-                <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
-                <div class="l-select">
-                  <select name="action" id="">
-                    <option value=""><?=_('apply to selected')?></option>
-                    <option value="suspend"><?=_('suspend')?></option>
-                    <option value="unsuspend"><?=_('unsuspend')?></option>
-                    <option value="delete"><?=_('delete')?></option>
-                  </select>
-                </div>
-                <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
-              </td>
+              <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                <!-- Hide bulk actions for domain items when impersonating 'admin' account-->
+              <? } else { ?>
+                <td>
+                  <form action="/bulk/mail/" method="post" id="objects">
+                  <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
+                  <div class="l-select">
+                    <select name="action" id="">
+                      <option value=""><?=_('apply to selected')?></option>
+                      <option value="suspend"><?=_('suspend')?></option>
+                      <option value="unsuspend"><?=_('unsuspend')?></option>
+                      <option value="delete"><?=_('delete')?></option>
+                    </select>
+                  </div>
+                  <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
+                </td>
+              <? } ?>
             </tr>
           </table>
         </div>
@@ -91,39 +99,48 @@ sort-star="<? if($_SESSION['favourites']['MAIL_ACC'][$key."@".$_GET['domain']] =
                 <input id="check<?php echo $i ?>" class="ch-toggle" type="checkbox" name="account[]" value="<?php echo $key ?>">
                 <input type="hidden" value="<?php echo $_GET['domain'] ?>" name="domain" />
               </div>
-              <div class="clearfix l-unit__stat-col--left wide-3 truncate"><b><a href="/edit/mail/?domain=<?=htmlspecialchars($_GET['domain'])?>&account=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Mail Account')?>: <?=$key?>@<?=htmlspecialchars($_GET['domain'])?>"><?=$key."@".$_GET['domain']?></a></b></div>
-
+              <div class="clearfix l-unit__stat-col--left wide-3 truncate">
+                <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                  <b><?=$key."@".$_GET['domain']?></b>
+                <? } else { ?>
+                  <b><a href="/edit/mail/?domain=<?=htmlspecialchars($_GET['domain'])?>&account=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Mail Account')?>: <?=$key?>@<?=htmlspecialchars($_GET['domain'])?>"><?=$key."@".$_GET['domain']?></a></b>
+                <? } ?>
+              </div>
               <!-- START QUICK ACTION TOOLBAR AREA -->
               <div class="clearfix l-unit__stat-col--left text-right compact-4">
                 <div class="l-unit-toolbar__col l-unit-toolbar__col--right noselect">
                   <div class="actions-panel clearfix">
-                    <div class="actions-panel__col actions-panel__edit" key-action="href"><a href="http://<?=$v_webmail_alias;?>.<?=htmlspecialchars($_GET['domain'])?>/?_user=<?=$key?>@<?=htmlspecialchars($_GET['domain'])?>" target="_blank" title="<?=_('open webmail')?>"><i class="fas fa-envelope-open-text status-icon maroon status-icon dim"></i></a></div>
-                    <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="/edit/mail/?domain=<?=htmlspecialchars($_GET['domain'])?>&account=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Mail Account')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
-
-                    <div class="actions-panel__col actions-panel__suspend shortcut-s" key-action="js">
-                      <a id="<?=$spnd_action ?>_link_<?=$i?>" class="data-controls do_<?=$spnd_action?>" title="<?=_($spnd_action)?>">
-                        <i class="fas <?=$spnd_icon?> status-icon highlight status-icon dim do_<?=$spnd_action?>"></i>
-                        <input type="hidden" name="<?=$spnd_action?>_url" value="/<?=$spnd_action?>/mail/?domain=<?=htmlspecialchars($_GET['domain'])?>&account=<?php echo $key ?>&token=<?=$_SESSION['token']?>" />
-                        <div id="<?=$spnd_action?>_dialog_<?=$i?>" class="confirmation-text-suspention hidden" title="<?=_('Confirmation')?>">
-                          <p class="confirmation"><?=sprintf($spnd_confirmation,$key)?></p>
-                        </div>
-                      </a>
-                    </div>
-                    <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
-                    <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
-                      <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
-                        <input type="hidden" name="delete_url" value="/delete/mail/?domain=<?=htmlspecialchars($_GET['domain'])?>&account=<?=$key?>&token=<?=$_SESSION['token']?>" />
-                        <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation')?>">
-                          <p class="confirmation"><?=sprintf(_('DELETE_MAIL_ACCOUNT_CONFIRMATION'),$key)?></p>
-                        </div>
-                      </a>
-                    </div>
+                    <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                      <!-- Restrict the ability to edit, delete, or suspend domain items when impersonating 'admin' account -->
+                      <div class="actions-panel__col actions-panel__edit" key-action="href"><a href="http://<?=$v_webmail_alias;?>.<?=htmlspecialchars($_GET['domain'])?>/?_user=<?=$key?>@<?=htmlspecialchars($_GET['domain'])?>" target="_blank" title="<?=_('open webmail')?>"><i class="fas fa-envelope-open-text status-icon maroon status-icon dim"></i></a></div>
+                    <? } else { ?>
+                      <div class="actions-panel__col actions-panel__edit" key-action="href"><a href="http://<?=$v_webmail_alias;?>.<?=htmlspecialchars($_GET['domain'])?>/?_user=<?=$key?>@<?=htmlspecialchars($_GET['domain'])?>" target="_blank" title="<?=_('open webmail')?>"><i class="fas fa-envelope-open-text status-icon maroon status-icon dim"></i></a></div>
+                      <div class="actions-panel__col actions-panel__logs shortcut-enter" key-action="href"><a href="/edit/mail/?domain=<?=htmlspecialchars($_GET['domain'])?>&account=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Mail Account')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
+  
+                      <div class="actions-panel__col actions-panel__suspend shortcut-s" key-action="js">
+                        <a id="<?=$spnd_action ?>_link_<?=$i?>" class="data-controls do_<?=$spnd_action?>" title="<?=_($spnd_action)?>">
+                          <i class="fas <?=$spnd_icon?> status-icon highlight status-icon dim do_<?=$spnd_action?>"></i>
+                          <input type="hidden" name="<?=$spnd_action?>_url" value="/<?=$spnd_action?>/mail/?domain=<?=htmlspecialchars($_GET['domain'])?>&account=<?php echo $key ?>&token=<?=$_SESSION['token']?>" />
+                          <div id="<?=$spnd_action?>_dialog_<?=$i?>" class="confirmation-text-suspention hidden" title="<?=_('Confirmation')?>">
+                            <p class="confirmation"><?=sprintf($spnd_confirmation,$key)?></p>
+                          </div>
+                        </a>
+                      </div>
+                      <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
+                        <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
+                          <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
+                          <input type="hidden" name="delete_url" value="/delete/mail/?domain=<?=htmlspecialchars($_GET['domain'])?>&account=<?=$key?>&token=<?=$_SESSION['token']?>" />
+                          <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation')?>">
+                            <p class="confirmation"><?=sprintf(_('DELETE_MAIL_ACCOUNT_CONFIRMATION'),$key)?></p>
+                          </div>
+                        </a>
+                      </div>
+                    <? } ?>
                   </div>
-                </div>
-             </div>
-
-            <!-- END QUICK ACTION TOOLBAR AREA -->
-
+            </div>
+              <!-- END QUICK ACTION TOOLBAR AREA -->
+            </div>
+            
             <div class="clearfix l-unit__stat-col--left text-center compact"><b><?=humanize_usage_size($data[$key]['U_DISK'])?></b> <span class="text-small"><?=humanize_usage_measure($data[$key]['U_DISK'])?></span></div>
             <div class="clearfix l-unit__stat-col--left text-center"><b><?=_(humanize_usage_size($data[$key]['QUOTA'])) ?></b> <span class="text-small"><?=_(humanize_usage_measure($data[$key]['QUOTA'])) ?></span></div>
             <div class="clearfix l-unit__stat-col--left text-center"><b>

+ 52 - 37
web/templates/admin/list_web.html

@@ -1,8 +1,8 @@
     <div class="l-center">
       <div class="l-sort clearfix noselect">
         <div class="l-unit-toolbar__buttonstrip">
-          <? if (($_SESSION['user'] === 'admin') && (!isset($_SESSION['look'])) || ($_SESSION['look'] === 'admin')) {?>
-            <!-- Hide item creation button from 'admin' account unless impersonating another user -->
+          <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+            <!-- Hide item creation button when impersonating 'admin' account -->
           <? } else {?>
             <a href="/add/web/" id="btn-create" class="ui-button cancel" dir="ltr"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add Web Domain')?></a>
           <? } ?>
@@ -27,20 +27,24 @@
                   <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value=""><i class="fas fa-search"></i></button>
                 </form>
               </td>
-              <td>
-                <form action="/bulk/web/" method="post" id="objects">
-                <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
-                <div class="l-select">
-                  <select name="action">
-                    <option value=""><?=_('apply to selected')?></option>
-                    <option value="rebuild"><?=_('rebuild')?></option>
-                    <option value="suspend"><?=_('suspend')?></option>
-                    <option value="unsuspend"><?=_('unsuspend')?></option>
-                    <option value="delete"><?=_('delete')?></option>
-                  </select>
-                </div>
-                <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
-              </td>
+              <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                <!-- Hide bulk actions for domain items when impersonating 'admin' account-->
+              <? } else { ?>
+                <td>
+                  <form action="/bulk/web/" method="post" id="objects">
+                  <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
+                  <div class="l-select">
+                    <select name="action">
+                      <option value=""><?=_('apply to selected')?></option>
+                      <option value="rebuild"><?=_('rebuild')?></option>
+                      <option value="suspend"><?=_('suspend')?></option>
+                      <option value="unsuspend"><?=_('unsuspend')?></option>
+                      <option value="delete"><?=_('delete')?></option>
+                    </select>
+                  </div>
+                  <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
+                </td>
+              <? } ?>
             </tr>
           </table>
         </div>
@@ -135,7 +139,13 @@ sort-name="<?=$key?>"  sort-bandwidth="<?=$data[$key]['U_BANDWIDTH']?>" sort-dis
           <div class="clearfix l-unit__stat-col--left super-compact">
               <input id="check<?=$i?>" class="ch-toggle" type="checkbox" name="domain[]" value="<?=$key?>">
           </div>
-          <div class="clearfix l-unit__stat-col--left wide-4 truncate"><b><a href="/edit/web/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Domain')?>: <?=$key?>"><?=$key?></a></b></div>
+          <div class="clearfix l-unit__stat-col--left wide-4 truncate">
+            <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+              <b><?=$key?></b>
+            <? } else { ?>
+              <b><a href="/edit/web/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Domain')?>: <?=$key?>"><?=$key?></a></b>
+            <? } ?>
+          </div>
           <!-- START QUICK ACTION TOOLBAR AREA -->
           <div class="clearfix l-unit__stat-col--left compact-4 text-right">
             <div class="l-unit-toolbar__col l-unit-toolbar__col--right noselect">
@@ -144,26 +154,31 @@ sort-name="<?=$key?>"  sort-bandwidth="<?=$data[$key]['U_BANDWIDTH']?>" sort-dis
                   <div class="actions-panel__col actions-panel__logs shortcut-w" key-action="href"><a href="http://<?=$key?>/vstats/"  target="_blank" title="<?=_('Statistics')?>"><i class="fas fa-chart-bar status-icon maroon status-icon dim"></i></a></div>
                 <? } ?>
                 <div class="actions-panel__col actions-panel__view" key-action="href"><a href="http://<?=$key?>/" target="_blank"><i class="fas fa-external-link-square-alt status-icon lightblue status-icon dim"></i></a></div>
-                <div class="actions-panel__col actions-panel__edit shortcut-enter" key-action="href"><a href="/edit/web/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Domain')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
-                <div class="actions-panel__col actions-panel__logs shortcut-l" key-action="href"><a href="/list/web-log/?domain=<?php echo $key ?>&type=access#" title="<?=_('AccessLog')?>"><i class="fas fa-binoculars status-icon purple status-icon dim"></i></a></div>
-                <div class="actions-panel__col actions-panel__suspend shortcut-s" key-action="js">
-                  <a id="<?=$spnd_action ?>_link_<?=$i?>" class="data-controls do_<?=$spnd_action?>" title="<?=_($spnd_action)?>">
-                    <i class="fas <?=$spnd_icon?> status-icon highlight status-icon dim do_<?=$spnd_action?>"></i>
-                    <input type="hidden" name="<?=$spnd_action?>_url" value="/<?=$spnd_action?>/web/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" />
-                    <div id="<?=$spnd_action?>_dialog_<?=$i?>" class="confirmation-text-suspention hidden" title="<?=_('Confirmation')?>">
-                      <p class="confirmation"><?=sprintf($spnd_confirmation,$key)?></p>
-                    </div>
-                  </a>
-                </div>
-                <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
-                  <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
-                    <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
-                    <input type="hidden" name="delete_url" value="/delete/web/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" />
-                    <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation')?>">
-                      <p class="confirmation"><?=sprintf(_('DELETE_DOMAIN_CONFIRMATION'),$key)?></p>
-                    </div>
-                  </a>
-                </div>
+                <? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+                  <!-- Restrict ability to edit, delete, or suspend web domains when impersonating the 'admin' account -->
+                  &nbsp;
+                <? } else { ?>
+                  <div class="actions-panel__col actions-panel__edit shortcut-enter" key-action="href"><a href="/edit/web/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Domain')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
+                  <div class="actions-panel__col actions-panel__logs shortcut-l" key-action="href"><a href="/list/web-log/?domain=<?php echo $key ?>&type=access#" title="<?=_('AccessLog')?>"><i class="fas fa-binoculars status-icon purple status-icon dim"></i></a></div>
+                  <div class="actions-panel__col actions-panel__suspend shortcut-s" key-action="js">
+                    <a id="<?=$spnd_action ?>_link_<?=$i?>" class="data-controls do_<?=$spnd_action?>" title="<?=_($spnd_action)?>">
+                      <i class="fas <?=$spnd_icon?> status-icon highlight status-icon dim do_<?=$spnd_action?>"></i>
+                      <input type="hidden" name="<?=$spnd_action?>_url" value="/<?=$spnd_action?>/web/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" />
+                      <div id="<?=$spnd_action?>_dialog_<?=$i?>" class="confirmation-text-suspention hidden" title="<?=_('Confirmation')?>">
+                        <p class="confirmation"><?=sprintf($spnd_confirmation,$key)?></p>
+                      </div>
+                    </a>
+                  </div>
+                  <div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
+                    <a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('delete')?>">
+                      <i class="fas fa-trash status-icon red status-icon dim do_delete"></i>
+                      <input type="hidden" name="delete_url" value="/delete/web/?domain=<?=$key?>&token=<?=$_SESSION['token']?>" />
+                      <div id="delete_dialog_<?=$i?>" class="confirmation-text-delete hidden" title="<?=_('Confirmation')?>">
+                        <p class="confirmation"><?=sprintf(_('DELETE_DOMAIN_CONFIRMATION'),$key)?></p>
+                      </div>
+                    </a>
+                  </div>
+                <? } ?> 
               </div>
             </div>
           </div>

+ 13 - 8
web/templates/admin/panel.html

@@ -29,15 +29,20 @@
 					<i class="fas fa-exchange-alt" title="<?=_('Bandwidth')?>: <?=humanize_usage_size($panel[$user]['U_DISK'])?> <?=humanize_usage_measure($panel[$user]['U_DISK'])?>"></i>&nbsp;&nbsp;<b><?=humanize_usage_size($panel[$user]['U_BANDWIDTH'])?></b> <?=humanize_usage_measure($panel[$user]['U_BANDWIDTH'])?>
 				</span>
 			</div>
-			<div class="l-menu__item">
-				<a title="<?=_('Notifications')?>" class="l-profile__notifications <? if($panel[$user]['NOTIFICATIONS'] == 'yes') echo " updates"; ?>">
-					<i class="fas fa-bell <?if($panel[$user]['NOTIFICATIONS'] == 'yes') echo " animated extended swing status-icon orange"; ?>"></i>
-				</a>
-			</div>
-			<?php if ((isset($panel[$user]['ROLE'])) && (!empty($panel[$user]['ROLE'])) && ($panel[$user]['ROLE'] === "admin")) {?>
+			<? if (($_SESSION['userContext'] === 'admin') && (isset($_SESSION['look']) && ($user == 'admin'))) {?>
+				<!-- Do not show notifications panel when impersonating 'admin' user -->
+			<? } else { ?>
+				<div class="l-menu__item">
+					<a title="<?=_('Notifications')?>" class="l-profile__notifications <? if($panel[$user]['NOTIFICATIONS'] == 'yes') echo " updates"; ?>">
+						<i class="fas fa-bell <?if($panel[$user]['NOTIFICATIONS'] == 'yes') echo " animated extended swing status-icon orange"; ?>"></i>
+					</a>
+				</div>
+			<? } ?>
+			<? if (($_SESSION['userContext'] === 'admin') && ($_SESSION['look'] === 'admin')) {?>
+				<!-- Hide 'Server Settings' button when impersonating 'admin' or other users -->
+			<? } else if (($_SESSION['userContext'] === 'admin') && (!isset($_SESSION['look']))) { ?>
 				<div class="l-menu__item <?php if($TAB == 'SERVER' ) echo 'l-menu__item--active' ?> <?php if($TAB == 'UPDATES' ) 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>
-			<?php } ?>
-
+			<? } ?>
 			<? if (($_SESSION['userContext'] === 'admin') && (isset($_SESSION['look']) && ($user == 'admin'))) {?>
 				<!-- Hide 'edit user' entry point from other administrators for default 'admin' account-->
 			<? } else { ?>