Browse Source

Fix regressions, remove tables (#3042)

Alec Rust 3 years ago
parent
commit
42106885e8

+ 9 - 11
web/css/src/themes/default.css

@@ -866,15 +866,14 @@ div.l-content > div.l-separator:nth-of-type(4) {
 }
 
 .context-menu.sort-order {
-  display: inline-block;
   position: absolute;
+  top: 35px;
+  left: 0;
   z-index: 3;
-  left: 397px;
   overflow: hidden;
-  top: 42px;
+  border-radius: 4px;
   background-color: rgb(255 255 255 / 95%);
   box-shadow: 0 2px 14px 0 rgb(20 20 20 / 35%);
-  border-radius: 4px;
   border: 1px solid rgb(255 255 255 / 100%);
 }
 
@@ -892,14 +891,14 @@ div.l-content > div.l-separator:nth-of-type(4) {
 
 .context-menu.sort-order span.name {
   display: inline-block;
-  padding: 12px;
+  padding: 11px;
   width: 141px;
   font-weight: 500;
 }
 
 .context-menu.sort-order span.up {
   display: inline-block;
-  padding: 12px 14px;
+  padding: 11px 14px;
   width: 44px;
 }
 
@@ -943,7 +942,7 @@ div.l-content > div.l-separator:nth-of-type(4) {
 
 .l-sort-toolbar {
   display: flex;
-  text-transform: uppercase;
+  position: relative;
   font-size: 0.8rem;
 }
 
@@ -954,8 +953,8 @@ div.l-content > div.l-separator:nth-of-type(4) {
 
 .l-sort-toolbar .sort-by {
   cursor: pointer;
-  padding-top: 7px;
-  padding-left: 10px;
+  text-transform: uppercase;
+  padding: 6px 12px 0;
 }
 
 .l-sort-toolbar .sort-by:hover {
@@ -2963,8 +2962,7 @@ form#vstobjects.suspended {
 }
 
 .l-sort-toolbar__search-box {
-  float: right !important;
-  padding-right: 0 !important;
+  margin-left: 12px;
 }
 
 .ui-dialog .ui-dialog-buttonpane {

File diff suppressed because it is too large
+ 0 - 0
web/css/themes/default.min.css


+ 1 - 1
web/templates/includes/panel.html

@@ -15,7 +15,7 @@
       <a href="<?=htmlspecialchars($home_url)?>" class="l-logo" title="<?=_('Hestia Control Panel');?>"></a>
 
       <!-- Left Menu -->
-      <div class="l-menu clearfix u-noselect">
+      <div class="l-menu u-noselect">
         <!-- Records tab -->
         <div class="l-menu__item <?php if(in_array($TAB, ['WEB', 'DNS', 'MAIL', 'DB', 'BACKUP', 'CRON', 'PACKAGE', 'USER', 'LOG'])) echo 'l-menu__item--active' ?>"><a href="<?=htmlspecialchars($home_url)?>"><i class="fas fa-tasks panel-icon"></i><?=_('Records');?></a></div>
 

+ 21 - 26
web/templates/pages/list_access_keys.html

@@ -5,32 +5,27 @@
       <a class="button button-secondary" id="btn-back" href="/edit/user/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
       <a href="/add/access-key/" class="button button-secondary" id="btn-create"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add Access Key');?></a>
     </div>
-
-    <ul class="context-menu sort-order animated fadeIn" style="display:none;">
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-key"><span class="name"><?=_('Access Key');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-comment"><span class="name"><?=_('Comment');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="sort-by" title="<?=_('Sort items');?>">
-            <?=_('sort by');?>: <span><b><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></b></span>
-          </td>
-          <td>
-            <form action="/bulk/access-key/" 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"><?=_('delete');?></option>
-                </select>
-              </div>
-              <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-            </form>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display:none;">
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-key"><span class="name"><?=_('Access Key');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-comment"><span class="name"><?=_('Comment');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span><b><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></b></span>
+      </div>
+      <form action="/bulk/access-key/" 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"><?=_('delete');?></option>
+          </select>
+        </div>
+        <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>">
+          <i class="fas fa-arrow-right"></i>
+        </button>
+      </form>
     </div>
   </div>
 </div>

+ 24 - 26
web/templates/pages/list_backup.html

@@ -7,32 +7,30 @@
         <a href="/list/backup/exclusions/" class="button button-secondary"><i class="fas fa-folder-minus status-icon orange"></i><?=_('backup exclusions');?></a>
       <?php } ?>
     </div>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="l-sort-toolbar__search-box">
-            <form action="/search/" method="get">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
-              <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-            </form>
-          </td>
-          <?php if ($read_only !== 'true') {?>
-            <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"><?=_('delete') ?></option>
-                  </select>
-                </div>
-                <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-              </form>
-            </td>
-          <?php } ?>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <?php if ($read_only !== 'true') {?>
+        <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"><?=_('delete') ?></option>
+            </select>
+          </div>
+          <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>">
+            <i class="fas fa-arrow-right"></i>
+          </button>
+        </form>
+      <?php } ?>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
     </div>
   </div>
 </div>

+ 19 - 25
web/templates/pages/list_backup_detail.html

@@ -5,31 +5,25 @@
       <a class="button button-secondary" id="btn-back" href="/list/backup/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
       <a href="/schedule/restore/?token=<?=$_SESSION['token']?>&backup=<?=htmlentities($_GET['backup'])?>" class="button button-secondary"><i class="fas fa-undo status-icon green"></i><?=_('Restore All');?></a>
     </div>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="l-sort-toolbar__search-box">
-            <form action="/search/" method="get">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>">
-              <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/restore/" method="post" id="objects">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="hidden" name="backup" value="<?=htmlentities($_GET['backup']); ?>">
-              <div class="l-select">
-                <select name="action">
-                  <option value=""><?=_('apply to selected');?></option>
-                  <option value="restore"><?=_('restore') ?></option>
-                </select>
-              </div>
-              <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
-            </form>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <form action="/bulk/restore/" method="post" id="objects">
+        <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+        <input type="hidden" name="backup" value="<?=htmlentities($_GET['backup']); ?>">
+        <div class="l-select">
+          <select name="action" id="">
+            <option value=""><?=_('apply to selected');?></option>
+            <option value="restore"><?=_('restore') ?></option>
+          </select>
+        </div>
+        <button type="submit" class="l-sort-toolbar__filter-apply" value=""><i class="fas fa-arrow-right"></i></button>
+      </form>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value=""><i class="fas fa-search"></i></button>
+        </form>
+      </div>
     </div>
   </div>
 </div>

+ 10 - 12
web/templates/pages/list_backup_exclusions.html

@@ -5,18 +5,16 @@
       <a class="button button-secondary" id="btn-back" href="/list/backup/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
       <a href="/edit/backup/exclusions/" class="button button-secondary"><i class="fas fa-pencil-alt status-icon orange"></i><?=_('Editing Backup Exclusions');?></a>
     </div>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="l-sort-toolbar__search-box">
-            <form action="/search/" method="get">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
-              <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-            </form>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
     </div>
   </div>
 </div>

+ 40 - 42
web/templates/pages/list_cron.html

@@ -11,48 +11,46 @@
         <?php } ?>
       <?php } ?>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display:none;">
-      <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Command');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="sort-by" title="<?=_('Sort items');?>">
-            <?=_('sort by');?>: <span>
-              <b>
-                <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
-                <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
-              </b>
-            </span>
-          </td>
-          <td class="l-sort-toolbar__search-box">
-            <form action="/search/" method="get">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
-              <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-            </form>
-          </td>
-          <?php if ($read_only !== 'true') {?>
-            <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>
-                    <?php if($panel[$user_plain]['CRON_REPORTS'] == 'yes') echo '<option value="delete-cron-reports">'._('turn off notifications').'</option>'; ?>
-                    <?php if($panel[$user_plain]['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="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-              </form>
-            </td>
-          <?php } ?>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display:none;">
+        <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Command');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span>
+          <b>
+            <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
+            <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
+          </b>
+        </span>
+      </div>
+      <?php if ($read_only !== 'true') {?>
+        <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>
+              <?php if($panel[$user_plain]['CRON_REPORTS'] == 'yes') echo '<option value="delete-cron-reports">'._('turn off notifications').'</option>'; ?>
+              <?php if($panel[$user_plain]['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="" title="<?=_('apply to selected');?>">
+            <i class="fas fa-arrow-right"></i>
+          </button>
+        </form>
+      <?php } ?>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
     </div>
   </div>
 </div>

+ 45 - 47
web/templates/pages/list_db.html

@@ -30,53 +30,51 @@
         }?>
       <?php } ?>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display:none;">
-      <li entity="sort-charset"><span class="name"><?=_('Charset');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-disk" sort_as_int="1"><span class="name"><?=_('Disk');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-server"><span class="name"><?=_('Host');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-user"><span class="name"><?=_('Username');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="sort-by" title="<?=_('Sort items');?>">
-            <?=_('sort by');?>: <span>
-              <b>
-                <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
-                <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
-              </b>
-            </span>
-          </td>
-          <td class="l-sort-toolbar__search-box">
-            <form action="/search/" method="get">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
-              <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-            </form>
-          </td>
-          <?php if ($read_only !== 'true') {?>
-            <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>
-                    <?php if ($_SESSION['userContext'] === 'admin') {?>
-                      <option value="rebuild"><?=_('rebuild');?></option>
-                      <option value="suspend"><?=_('suspend');?></option>
-                      <option value="unsuspend"><?=_('unsuspend');?></option>
-                    <?php } ?>
-                    <option value="delete"><?=_('delete');?></option>
-                  </select>
-                </div>
-                <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-              </form>
-            </td>
-          <?php } ?>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display:none;">
+        <li entity="sort-charset"><span class="name"><?=_('Charset');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-disk" sort_as_int="1"><span class="name"><?=_('Disk');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-server"><span class="name"><?=_('Host');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-user"><span class="name"><?=_('Username');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span>
+          <b>
+            <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
+            <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
+          </b>
+        </span>
+      </div>
+      <?php if ($read_only !== 'true') {?>
+        <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>
+              <?php if ($_SESSION['userContext'] === 'admin') {?>
+                <option value="rebuild"><?=_('rebuild');?></option>
+                <option value="suspend"><?=_('suspend');?></option>
+                <option value="unsuspend"><?=_('unsuspend');?></option>
+              <?php } ?>
+              <option value="delete"><?=_('delete');?></option>
+            </select>
+          </div>
+          <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>">
+            <i class="fas fa-arrow-right"></i>
+          </button>
+        </form>
+      <?php } ?>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
     </div>
   </div>
 </div>

+ 44 - 47
web/templates/pages/list_dns.html

@@ -6,54 +6,51 @@
         <a href="/add/dns/" class="button button-secondary" id="btn-create"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add DNS Domain');?></a>
       <?php } ?>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display: none;">
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-expire" sort_as_int="1"><span class="name"><?=_('Expire');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-ip"><span class="name"><?=_('IP address');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-records"><span class="name"><?=_('Records');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>">
-      <div class="l-sort-toolbar clearfix">
-        <table>
-          <tr>
-            <td class="sort-by" title="<?=_('Sort items');?>">
-              <?=_('sort by');?>: <span>
-                <b>
-                  <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
-                  <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
-                </b>
-              </span>
-            </td>
-            <td class="l-sort-toolbar__search-box">
-              <form action="/search/" method="get">
-                <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-                <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
-                <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-              </form>
-            </td>
-            <?php if ($read_only !== 'true') {?>
-              <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>
-                      <?php if ($_SESSION['userContext'] === 'admin') {?>
-                        <option value="rebuild"><?=_('rebuild');?></option>
-                      <?php } ?>
-                      <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="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-                </form>
-              </td>
-            <?php } ?>
-          </tr>
-        </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display: none;">
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-expire" sort_as_int="1"><span class="name"><?=_('Expire');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-ip"><span class="name"><?=_('IP address');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-records"><span class="name"><?=_('Records');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span>
+          <b>
+            <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
+            <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
+          </b>
+        </span>
       </div>
+      <?php if ($read_only !== 'true') {?>
+        <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>
+              <?php if ($_SESSION['userContext'] === 'admin') {?>
+                <option value="rebuild"><?=_('rebuild');?></option>
+              <?php } ?>
+              <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="" title="<?=_('apply to selected');?>">
+            <i class="fas fa-arrow-right"></i>
+          </button>
+        </form>
+      <?php } ?>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
+    </div>
   </div>
 </div>
 <!-- End toolbar -->

+ 44 - 47
web/templates/pages/list_dns_public.html

@@ -6,54 +6,51 @@
         <a href="/add/dns/" class="button button-secondary" id="btn-create"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add DNS Domain');?></a>
       <?php } ?>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display: none;">
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-expire" sort_as_int="1"><span class="name"><?=_('Expire');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-ip"><span class="name"><?=_('IP address');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-records"><span class="name"><?=_('Records');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>">
-      <div class="l-sort-toolbar clearfix">
-        <table>
-          <tr>
-            <td class="sort-by" title="<?=_('Sort items');?>">
-              <?=_('sort by');?>: <span>
-                <b>
-                  <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
-                  <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
-                </b>
-              </span>
-            </td>
-            <td class="l-sort-toolbar__search-box">
-              <form action="/search/" method="get">
-                <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
-                <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
-                <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-              </form>
-            </td>
-            <?php if ($read_only !== 'true') {?>
-              <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>
-                      <?php if ($_SESSION['userContext'] === 'admin') {?>
-                        <option value="rebuild"><?=_('rebuild');?></option>
-                      <?php } ?>
-                      <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="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-                </form>
-              </td>
-            <?php } ?>
-          </tr>
-        </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display: none;">
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-expire" sort_as_int="1"><span class="name"><?=_('Expire');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-ip"><span class="name"><?=_('IP address');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-records"><span class="name"><?=_('Records');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span>
+          <b>
+            <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
+            <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
+          </b>
+        </span>
       </div>
+      <?php if ($read_only !== 'true') {?>
+        <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>
+              <?php if ($_SESSION['userContext'] === 'admin') {?>
+                <option value="rebuild"><?=_('rebuild');?></option>
+              <?php } ?>
+              <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="" title="<?=_('apply to selected');?>">
+            <i class="fas fa-arrow-right"></i>
+          </button>
+        </form>
+      <?php } ?>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
+    </div>
   </div>
 </div>
 <!-- End toolbar -->

+ 42 - 44
web/templates/pages/list_dns_rec.html

@@ -8,50 +8,48 @@
         <a href="/edit/dns/?domain=<?=htmlentities($_GET['domain'])?>" class="button button-secondary" id="btn-create"><i class="fas fa-pencil-alt status-icon blue"></i> <?=_('Editing DNS Domain');?></a>
       <?php } ?>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display:none;">
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-value"><span class="name"><?=_('IP or Value');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-record"><span class="name"><?=_('Record');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-ttl" sort_as_int="1"><span class="name"><?=_('TTL');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-type"><span class="name"><?=_('Type');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="sort-by" title="<?=_('Sort items');?>">
-            <?=_('sort by');?>: <span>
-              <b>
-                <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Record'); } else { $label = _('Date'); } ?>
-                <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
-              </b>
-            </span>
-          </td>
-          <td class="l-sort-toolbar__search-box">
-            <form action="/search/" method="get">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
-              <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-            </form>
-          </td>
-          <?php if ($read_only !== 'true') {?>
-            <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"><?=_('suspend');?></option>
-                    <option value="unsuspend"><?=_('unsuspend');?></option>
-                    <option value="delete"><?=_('delete');?></option>
-                  </select>
-                </div>
-                <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-              </form>
-            </td>
-          <?php } ?>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display:none;">
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-value"><span class="name"><?=_('IP or Value');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-record"><span class="name"><?=_('Record');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-ttl" sort_as_int="1"><span class="name"><?=_('TTL');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-type"><span class="name"><?=_('Type');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span>
+          <b>
+            <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Record'); } else { $label = _('Date'); } ?>
+            <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
+          </b>
+        </span>
+      </div>
+      <?php if ($read_only !== 'true') {?>
+        <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"><?=_('suspend');?></option>
+              <option value="unsuspend"><?=_('unsuspend');?></option>
+              <option value="delete"><?=_('delete');?></option>
+            </select>
+          </div>
+          <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>">
+            <i class="fas fa-arrow-right"></i>
+          </button>
+        </form>
+      <?php } ?>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
     </div>
   </div>
 </div>

+ 23 - 27
web/templates/pages/list_firewall.html

@@ -9,33 +9,29 @@
         <a class="button button-secondary" href="/list/firewall/ipset/"><i class="fas fa-list status-icon blue"></i><?=_('list ipset');?></a>
       <?php endif; ?>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display:none;">
-      <li entity="sort-action"><span class="name"><?=_('Action');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up active"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-protocol"><span class="name"><?=_('Protocol');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-port"><span class="name"><?=_('Port');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-ip" sort_as_int="1"><span class="name"><?=_('IP address');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-comment"><span class="name"><?=_('Comment');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="sort-by" title="<?=_('Sort items');?>">
-            <?=_('sort by');?>: <span><b><?=_('Action');?> <i class="fas fa-sort-alpha-up"></i></b></span>
-          </td>
-          <td>
-            <form action="/bulk/firewall/" 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"><?=_('delete') ?></option>
-                </select>
-              </div>
-              <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-            </form>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display:none;">
+        <li entity="sort-action"><span class="name"><?=_('Action');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up active"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-protocol"><span class="name"><?=_('Protocol');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-port"><span class="name"><?=_('Port');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-ip" sort_as_int="1"><span class="name"><?=_('IP address');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-comment"><span class="name"><?=_('Comment');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span><b><?=_('Action');?> <i class="fas fa-sort-alpha-up"></i></b></span>
+      </div>
+      <form action="/bulk/firewall/" 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"><?=_('delete') ?></option>
+          </select>
+        </div>
+        <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>">
+          <i class="fas fa-arrow-right"></i>
+        </button>
+      </form>
     </div>
   </div>
 </div>

+ 13 - 17
web/templates/pages/list_firewall_banlist.html

@@ -5,23 +5,19 @@
       <a class="button button-secondary" id="btn-back" href="/list/firewall/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
       <a href="/add/firewall/banlist/" class="button button-secondary" id="btn-create"><i class="fas fa-plus-circle status-icon green"></i><?=_('Ban IP Address');?></a>
     </div>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td>
-            <form action="/bulk/firewall/banlist/" 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"><?=_('delete') ?></option>
-                </select>
-              </div>
-              <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-            </form>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <form action="/bulk/firewall/banlist/" 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"><?=_('delete') ?></option>
+          </select>
+        </div>
+        <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>">
+          <i class="fas fa-arrow-right"></i>
+        </button>
+      </form>
     </div>
   </div>
 </div>

+ 13 - 17
web/templates/pages/list_firewall_ipset.html

@@ -5,23 +5,19 @@
       <a class="button button-secondary" id="btn-back" href="/list/firewall/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
       <a href="/add/firewall/ipset/" class="button button-secondary" id="btn-create"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add IP list');?></a>
     </div>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td>
-            <form action="/bulk/firewall/ipset/" 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"><?=_('delete') ?></option>
-                </select>
-              </div>
-              <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-            </form>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <form action="/bulk/firewall/ipset/" 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"><?=_('delete') ?></option>
+          </select>
+        </div>
+        <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>">
+          <i class="fas fa-arrow-right"></i>
+        </button>
+      </form>
     </div>
   </div>
 </div>

+ 25 - 29
web/templates/pages/list_ip.html

@@ -5,35 +5,31 @@
       <a class="button button-secondary" id="btn-back" href="/edit/server/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
       <a href="/add/ip/" class="button button-secondary" id="btn-create"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add IP');?></a>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display:none;">
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-ip"><span class="name"><?=_('ip');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-netmask"><span class="name"><?=_('Netmask');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-interface"><span class="name"><?=_('Interface');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-domains" sort_as_int="1"><span class="name"><?=_('Domains');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-owner"><span class="name"><?=_('Owner');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="sort-by" title="<?=_('Sort items');?>">
-            <?=_('sort by');?>: <span><b><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></b></span>
-          </td>
-          <td>
-            <form action="/bulk/ip/" 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="reread IP"><?=_('reread IP');?></option>
-                  <option value="delete"><?=_('delete');?></option>
-                </select>
-              </div>
-              <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-            </form>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display:none;">
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-ip"><span class="name"><?=_('ip');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-netmask"><span class="name"><?=_('Netmask');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-interface"><span class="name"><?=_('Interface');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-domains" sort_as_int="1"><span class="name"><?=_('Domains');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-owner"><span class="name"><?=_('Owner');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span><b><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></b></span>
+      </div>
+      <form action="/bulk/ip/" 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="reread IP"><?=_('reread IP');?></option>
+            <option value="delete"><?=_('delete');?></option>
+          </select>
+        </div>
+        <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>">
+          <i class="fas fa-arrow-right"></i>
+        </button>
+      </form>
     </div>
   </div>
 </div>

+ 43 - 45
web/templates/pages/list_mail.html

@@ -6,51 +6,49 @@
         <a href="/add/mail/" class="button button-secondary" id="btn-create"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add Mail Domain');?></a>
       <?php } ?>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display:none;">
-      <li entity="sort-accounts" sort_as_int="1"><span class="name"><?=_('Accounts');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-disk" sort_as_int="1"><span class="name"><?=_('Disk');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="sort-by" title="<?=_('Sort items');?>">
-            <?=_('sort by');?>: <span>
-              <b>
-                <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
-                <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
-              </b>
-            </span>
-          </td>
-          <td class="l-sort-toolbar__search-box">
-            <form action="/search/" method="get">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
-              <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-            </form>
-          </td>
-          <?php if ($read_only !== 'true') {?>
-            <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>
-                    <?php if ($_SESSION['userContext'] === 'admin') {?>
-                      <option value="rebuild"><?=_('rebuild');?></option>
-                    <?php } ?>
-                    <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="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-              </form>
-            </td>
-          <?php } ?>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display:none;">
+        <li entity="sort-accounts" sort_as_int="1"><span class="name"><?=_('Accounts');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-disk" sort_as_int="1"><span class="name"><?=_('Disk');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span>
+          <b>
+            <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
+            <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
+          </b>
+        </span>
+      </div>
+      <?php if ($read_only !== 'true') {?>
+        <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>
+              <?php if ($_SESSION['userContext'] === 'admin') {?>
+                <option value="rebuild"><?=_('rebuild');?></option>
+              <?php } ?>
+              <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="" title="<?=_('apply to selected');?>">
+            <i class="fas fa-arrow-right"></i>
+          </button>
+        </form>
+      <?php } ?>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
     </div>
   </div>
 </div>

+ 41 - 43
web/templates/pages/list_mail_acc.html

@@ -12,49 +12,47 @@
         <a href="/edit/mail/?domain=<?=htmlentities($_GET['domain'])?>" class="button button-secondary" id="btn-create"><i class="fas fa-pencil-alt status-icon blue"></i><?=_('Editing Mail Domain');?></a>
       <?php } ?>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display:none;">
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-disk" sort_as_int="1"><span class="name"><?=_('Disk');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-quota" sort_as_int="1"><span class="name"><?=_('Quota');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="sort-by" title="<?=_('Sort items');?>">
-            <?=_('sort by');?>: <span>
-              <b>
-                <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
-                <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
-              </b>
-            </span>
-          </td>
-          <td class="l-sort-toolbar__search-box">
-            <form action="/search/" method="get">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
-              <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-            </form>
-          </td>
-          <?php if ($read_only !== 'true') { ?>
-            <td>
-              <form action="/bulk/mail/" method="post" id="objects">
-                <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-                <input type="hidden" value="<?=htmlspecialchars($_GET['domain']); ?>" name="domain">
-                <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="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-              </form>
-            </td>
-          <?php } ?>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display:none;">
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-disk" sort_as_int="1"><span class="name"><?=_('Disk');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-quota" sort_as_int="1"><span class="name"><?=_('Quota');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span>
+          <b>
+            <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
+            <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
+          </b>
+        </span>
+      </div>
+      <?php if ($read_only !== 'true') { ?>
+        <form action="/bulk/mail/" method="post" id="objects">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="hidden" value="<?=htmlspecialchars($_GET['domain']); ?>" name="domain">
+          <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="" title="<?=_('apply to selected');?>">
+            <i class="fas fa-arrow-right"></i>
+          </button>
+        </form>
+      <?php } ?>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
     </div>
   </div>
 </div>

+ 1 - 6
web/templates/pages/list_mail_dns.html

@@ -7,12 +7,7 @@
     <div class="l-unit-toolbar__buttonstrip">
       <a class="button button-secondary" id="btn-back" href="/list/mail/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
     </div>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td></td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
     </div>
   </div>
 </div>

+ 25 - 29
web/templates/pages/list_packages.html

@@ -5,35 +5,31 @@
       <a class="button button-secondary" id="btn-back" href="/list/user/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
       <a href="/add/package/" class="button button-secondary" id="btn-create"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add Package');?></a>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display:none;">
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="sort-by" title="<?=_('Sort items');?>">
-            <?=_('sort by');?>: <span>
-              <b>
-                <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
-                <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
-              </b>
-            </span>
-          </td>
-          <td>
-            <form action="/bulk/package/" method="post" id="objects">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <div class="l-select">
-                <select class="" name="action">
-                  <option value=""><?=_('apply to selected');?></option>
-                  <option value="delete"><?=_('delete');?></option>
-                </select>
-              </div>
-              <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-            </form>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display:none;">
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span>
+          <b>
+            <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
+            <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
+          </b>
+        </span>
+      </div>
+      <form action="/bulk/package/" method="post" id="objects">
+        <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+        <div class="l-select">
+          <select class="" name="action">
+            <option value=""><?=_('apply to selected');?></option>
+            <option value="delete"><?=_('delete');?></option>
+          </select>
+        </div>
+        <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>">
+          <i class="fas fa-arrow-right"></i>
+        </button>
+      </form>
     </div>
   </div>
 </div>

+ 15 - 22
web/templates/pages/list_rrd.html

@@ -5,28 +5,21 @@
       <a class="button button-secondary" id="btn-back" href="/list/server/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
       <a href="/list/server/?cpu" class="button button-secondary"><i class="fas fa-chart-pie status-icon green"></i><?=_('show: CPU / MEM / NET / DISK');?></a>
     </div>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td>
-            <a class="vst<?php if ((empty($period)) || ($period == 'daily')) echo " selected" ?>" href="?period=daily"><?=_('Daily');?></a>
-            <a class="vst<?php if ((!empty($period)) && ($period == 'weekly')) echo " selected" ?>" href="?period=weekly"><?=_('Weekly');?></a>
-            <a class="vst<?php if ((!empty($period)) && ($period == 'monthly')) echo " selected" ?>" href="?period=monthly"><?=_('Monthly');?></a>
-            <a class="vst<?php if ((!empty($period)) && ($period == 'yearly')) echo " selected" ?>" href="?period=yearly"><?=_('Yearly');?></a>
-          </td>
-
-          <td>
-            <div class="timer-container" style="float:right;">
-              <span class="timer-button pause-stop" onclick="stopTimer()"><i class="fas fa-pause"></i></span>
-              <div class="timer-button spinner">
-                <div class="spinner-inner"></div>
-                <div class="spinner-mask"></div>
-                <div class="spinner-mask-two"></div>
-              </div>
-            </div>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <div>
+        <a class="vst<?php if ((empty($period)) || ($period == 'daily')) echo " selected" ?>" href="?period=daily"><?=_('Daily');?></a>
+        <a class="vst<?php if ((!empty($period)) && ($period == 'weekly')) echo " selected" ?>" href="?period=weekly"><?=_('Weekly');?></a>
+        <a class="vst<?php if ((!empty($period)) && ($period == 'monthly')) echo " selected" ?>" href="?period=monthly"><?=_('Monthly');?></a>
+        <a class="vst<?php if ((!empty($period)) && ($period == 'yearly')) echo " selected" ?>" href="?period=yearly"><?=_('Yearly');?></a>
+      </div>
+      <div class="timer-container" style="float:right;">
+        <span class="timer-button pause-stop" onclick="stopTimer()"><i class="fas fa-pause"></i></span>
+        <div class="timer-button spinner">
+          <div class="spinner-inner"></div>
+          <div class="spinner-mask"></div>
+          <div class="spinner-mask-two"></div>
+        </div>
+      </div>
     </div>
   </div>
 </div>

+ 17 - 19
web/templates/pages/list_search.html

@@ -5,25 +5,23 @@
       <a href="javascript:window.history.back();" class="button button-secondary" id="btn-back"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
       <a href="javascript:location.reload();" class="button button-secondary"><i class="fas fa-sync status-icon green"></i> <?=_('Refresh');?></a>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display:none;">
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="sort-by" title="<?=_('Sort items');?>">
-            <?=_('sort by');?>: <span><b><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></b></span>
-          </td>
-          <td class="l-sort-toolbar__search-box">
-            <form action="/search/" method="get">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="text" class="search-input" name="q" value="<? echo isset($_GET['q']) ? htmlspecialchars($_GET['q']) : '' ?>" title="<?=_('Search');?>">
-              <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-            </form>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display:none;">
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span><b><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></b></span>
+      </div>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_GET['q']) ? htmlspecialchars($_GET['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
     </div>
   </div>
 </div>

+ 14 - 12
web/templates/pages/list_server_info.html

@@ -29,18 +29,20 @@
     <i class="fas fa-arrow-up"></i>
   </a>
   <div class="l-header">
-    <div class="l-center">
-      <a href="/list/web/" class="l-logo"></a>
-      <div class="l-menu clearfix">
-        <div class="l-menu__item"><a href="/list/rrd/" title="<?=_('Back');?>" class="no-hide"><i class="fas fa-arrow-alt-circle-left"></i></a></div>
-        <div class="l-menu__item <?php if(isset($_GET['cpu'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?cpu"><i class="fas fa-microchip panel-icon"></i><?=_('CPU');?></a></div>
-        <div class="l-menu__item <?php if(isset($_GET['mem'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?mem"><i class="fas fa-memory panel-icon"></i><?=_('RAM');?></a></div>
-        <div class="l-menu__item <?php if(isset($_GET['disk'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?disk"><i class="fas fa-hdd panel-icon"></i><?=_('Disk');?></a></div>
-        <div class="l-menu__item <?php if(isset($_GET['net'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?net"><i class="fas fa-ethernet panel-icon"></i><?=_('Network');?></a></div>
-        <?php if ((isset($_SESSION['WEB_SYSTEM'])) && (!empty($_SESSION['WEB_SYSTEM']))) {?><div class="l-menu__item <?php if(isset($_GET['web'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?web"><i class="fas fa-globe-europe panel-icon"></i><?=_('Web');?></a></div><?php }?>
-        <?php if ((isset($_SESSION['DNS_SYSTEM'])) && (!empty($_SESSION['DNS_SYSTEM']))) {?><div class="l-menu__item <?php if(isset($_GET['dns'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?dns"><i class="fas fa-atlas panel-icon"></i><?=_('DNS');?></a></div><?php }?>
-        <?php if ((isset($_SESSION['MAIL_SYSTEM'])) && (!empty($_SESSION['MAIL_SYSTEM']))) {?><div class="l-menu__item <?php if(isset($_GET['mail'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?mail"><i class="fas fa-mail-bulk panel-icon"></i><?=_('Mail');?></a></div><?php }?>
-        <?php if ((isset($_SESSION['DB_SYSTEM'])) && (!empty($_SESSION['DB_SYSTEM']))) {?><div class="l-menu__item <?php if(isset($_GET['db'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?db"><i class="fas fa-database panel-icon"></i><?=_('DB');?></a></div><?php }?>
+    <div class="l-center l-header__inner">
+      <div class="l-header__left">
+        <a href="/list/web/" class="l-logo" title="<?=_('Hestia Control Panel');?>"></a>
+        <div class="l-menu">
+          <div class="l-menu__item"><a href="/list/rrd/" title="<?=_('Back');?>" class="no-hide"><i class="fas fa-arrow-alt-circle-left"></i></a></div>
+          <div class="l-menu__item <?php if(isset($_GET['cpu'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?cpu"><i class="fas fa-microchip panel-icon"></i><?=_('CPU');?></a></div>
+          <div class="l-menu__item <?php if(isset($_GET['mem'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?mem"><i class="fas fa-memory panel-icon"></i><?=_('RAM');?></a></div>
+          <div class="l-menu__item <?php if(isset($_GET['disk'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?disk"><i class="fas fa-hdd panel-icon"></i><?=_('Disk');?></a></div>
+          <div class="l-menu__item <?php if(isset($_GET['net'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?net"><i class="fas fa-ethernet panel-icon"></i><?=_('Network');?></a></div>
+          <?php if ((isset($_SESSION['WEB_SYSTEM'])) && (!empty($_SESSION['WEB_SYSTEM']))) {?><div class="l-menu__item <?php if(isset($_GET['web'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?web"><i class="fas fa-globe-europe panel-icon"></i><?=_('Web');?></a></div><?php }?>
+          <?php if ((isset($_SESSION['DNS_SYSTEM'])) && (!empty($_SESSION['DNS_SYSTEM']))) {?><div class="l-menu__item <?php if(isset($_GET['dns'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?dns"><i class="fas fa-atlas panel-icon"></i><?=_('DNS');?></a></div><?php }?>
+          <?php if ((isset($_SESSION['MAIL_SYSTEM'])) && (!empty($_SESSION['MAIL_SYSTEM']))) {?><div class="l-menu__item <?php if(isset($_GET['mail'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?mail"><i class="fas fa-mail-bulk panel-icon"></i><?=_('Mail');?></a></div><?php }?>
+          <?php if ((isset($_SESSION['DB_SYSTEM'])) && (!empty($_SESSION['DB_SYSTEM']))) {?><div class="l-menu__item <?php if(isset($_GET['db'])) echo 'l-menu__item--active' ?>"><a href="/list/server/?db"><i class="fas fa-database panel-icon"></i><?=_('DB');?></a></div><?php }?>
+        </div>
       </div>
       <div class="l-profile u-noselect">
         <div class="l-menu__item"><a href="javascript:location.reload();" title="<?=_('Refresh');?>"><i class="fas fa-redo"></i></a></div>

+ 15 - 19
web/templates/pages/list_services.html

@@ -19,25 +19,21 @@
         </a>
       </div>
     </div>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td>
-            <form action="/bulk/service/" method="post" id="objects">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <div class="l-select">
-                <select class="" name="action">
-                  <option value=""><?=_('apply to selected');?></option>
-                  <option value="stop"><?=_('stop');?></option>
-                  <option value="start"><?=_('start');?></option>
-                  <option value="restart"><?=_('restart');?></option>
-                </select>
-              </div>
-              <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-            </form>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <form action="/bulk/service/" method="post" id="objects">
+        <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+        <div class="l-select">
+          <select class="" name="action">
+            <option value=""><?=_('apply to selected');?></option>
+            <option value="stop"><?=_('stop');?></option>
+            <option value="start"><?=_('start');?></option>
+            <option value="restart"><?=_('restart');?></option>
+          </select>
+        </div>
+        <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>">
+          <i class="fas fa-arrow-right"></i>
+        </button>
+      </form>
     </div>
   </div>
 </div>

+ 1 - 1
web/templates/pages/list_ssl.html

@@ -1,7 +1,7 @@
 <!-- Begin toolbar -->
 <div class="l-center">
   <div class="l-sort">
-    <div class="l-sort-toolbar clearfix">
+    <div class="l-sort-toolbar">
 
     </div>
   </div>

+ 35 - 40
web/templates/pages/list_stats.html

@@ -6,48 +6,42 @@
         <a class="button button-secondary" href='/list/stats/'><i class="fas fa-binoculars status-icon lightblue"></i><?=_('Overall Statistics');?></a>
       <?php } ?>
     </div>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="l-sort-toolbar__search-box">
-            <form action="/search/" method="get">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
-              <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-            </form>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
       <?php if (($_SESSION['userContext'] === 'admin') && (!isset($_SESSION['look']))) { ?>
-        <table>
-          <tr>
-            <td>
-              <form action="/list/stats/" method="get" id="objects">
-                <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-                <div class="l-select">
-                  <select class="" name="user">
-                    <option value=""><?=_('show per user');?></option>
-                    <?php
-                      foreach ($users as $key => $value) {
-                        if (($_SESSION['POLICY_SYSTEM_HIDE_ADMIN'] === 'yes') && ($value === 'admin')) {
-                          // Hide admin user from statistics list
-                        } else {
-                        echo "\t\t\t\t<option value=\"".$value."\"";
-                        if ((!empty($v_user)) && ( $value == $_GET['user'])){
-                          echo ' selected';
-                        }
-                          echo ">".$value."</option>\n";
-                        }
-                      }
-                    ?>
-                  </select>
-                </div>
-                <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-              </form>
-            </td>
-          </tr>
-        </table>
+        <form action="/list/stats/" method="get" id="objects">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <div class="l-select">
+            <select class="" name="user">
+              <option value=""><?=_('show per user');?></option>
+              <?php
+                foreach ($users as $key => $value) {
+                  if (($_SESSION['POLICY_SYSTEM_HIDE_ADMIN'] === 'yes') && ($value === 'admin')) {
+                    // Hide admin user from statistics list
+                  } else {
+                  echo "\t\t\t\t<option value=\"".$value."\"";
+                  if ((!empty($v_user)) && ( $value == $_GET['user'])){
+                    echo ' selected';
+                  }
+                    echo ">".$value."</option>\n";
+                  }
+                }
+              ?>
+            </select>
+          </div>
+          <button type="submit" class="l-sort-toolbar__filter-apply" value="" title="<?=_('apply to selected');?>">
+            <i class="fas fa-arrow-right"></i>
+          </button>
+        </form>
       <?php } ?>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
     </div>
   </div>
 </div>
@@ -96,6 +90,7 @@
                     <div class="l-percent">
                       <div class="l-percent__fill" style="width: <?=get_percentage($data[$key]['U_BANDWIDTH'],$data[$key]['BANDWIDTH'])?>%"></div>
                     </div>
+                  </div>
                 </td>
                 <td>
                   <div class="l-unit__stat-cols clearfix">

+ 46 - 48
web/templates/pages/list_user.html

@@ -5,54 +5,52 @@
       <a href="/add/user/" class="button button-secondary" id="btn-create"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add User');?></a>
       <a href="/list/package/" class="button button-secondary"><i class="fas fa-box-open status-icon orange"></i><?=_('Packages');?></a>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display:none;">
-      <li entity="sort-bandwidth" sort_as_int="1"><span class="name"><?=_('Bandwidth');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-disk" sort_as_int="1"><span class="name"><?=_('Disk');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="sort-by" title="<?=_('Sort items');?>">
-            <?=_('sort by');?>: <span>
-              <b>
-                <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
-                <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
-              </b>
-            </span>
-          </td>
-          <td class="l-sort-toolbar__search-box">
-            <form action="/search/" method="get">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
-              <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-            </form>
-          </td>
-          <td>
-            <form action="/bulk/user/" method="post" id="objects">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <div class="l-select">
-                <select class="" name="action">
-                  <option value=""><?=_('apply to selected');?></option>
-                  <option value="rebuild"><?=_('rebuild');?></option>
-                  <option value="rebuild user"><?=_('rebuild user');?></option>
-                  <option value="rebuild web"><?=_('rebuild web');?></option>
-                  <option value="rebuild dns"><?=_('rebuild dns');?></option>
-                  <option value="rebuild mail"><?=_('rebuild mail');?></option>
-                  <option value="rebuild db"><?=_('rebuild db');?></option>
-                  <option value="rebuild cron"><?=_('rebuild cron');?></option>
-                  <option value="update counters"><?=_('update counters');?></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="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-            </form>
-          </td>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display:none;">
+        <li entity="sort-bandwidth" sort_as_int="1"><span class="name"><?=_('Bandwidth');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-disk" sort_as_int="1"><span class="name"><?=_('Disk');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span>
+          <b>
+            <?php if ($_SESSION['userSortOrder'] === 'name') { $label = _('Name'); } else { $label = _('Date'); } ?>
+            <?=$label;?> <i class="fas fa-sort-alpha-down"></i>
+          </b>
+        </span>
+      </div>
+      <form action="/bulk/user/" method="post" id="objects">
+        <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+        <div class="l-select">
+          <select class="" name="action">
+            <option value=""><?=_('apply to selected');?></option>
+            <option value="rebuild"><?=_('rebuild');?></option>
+            <option value="rebuild user"><?=_('rebuild user');?></option>
+            <option value="rebuild web"><?=_('rebuild web');?></option>
+            <option value="rebuild dns"><?=_('rebuild dns');?></option>
+            <option value="rebuild mail"><?=_('rebuild mail');?></option>
+            <option value="rebuild db"><?=_('rebuild db');?></option>
+            <option value="rebuild cron"><?=_('rebuild cron');?></option>
+            <option value="update counters"><?=_('update counters');?></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="" title="<?=_('apply to selected');?>">
+          <i class="fas fa-arrow-right"></i>
+        </button>
+      </form>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
     </div>
   </div>
 </div>

+ 44 - 46
web/templates/pages/list_web.html

@@ -6,52 +6,50 @@
         <a href="/add/web/" class="button button-secondary" id="btn-create"><i class="fas fa-plus-circle status-icon green"></i><?=_('Add Web Domain');?></a>
       <?php } ?>
     </div>
-    <ul class="context-menu sort-order animated fadeIn" style="display:none;">
-      <li entity="sort-bandwidth" sort_as_int="1"><span class="name"><?=_('Bandwidth');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-disk" sort_as_int="1"><span class="name"><?=_('Disk');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-      <li entity="sort-ip" sort_as_int="1"><span class="name"><?=_('IP address');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
-    </ul>
-    <div class="l-sort-toolbar clearfix">
-      <table>
-        <tr>
-          <td class="sort-by" title="<?=_('Sort items');?>">
-            <?=_('sort by');?>: <span>
-              <b>
-                <?php if ($_SESSION['userSortOrder'] === 'name') { $label = ('Name'); } else { $label = _('Date'); } ?>
-                <?=$label?> <i class="fas fa-sort-alpha-down"></i>
-              </b>
-            </span>
-          </td>
-          <td class="l-sort-toolbar__search-box">
-            <form action="/search/" method="get">
-              <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
-              <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
-              <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>"><i class="fas fa-search"></i></button>
-            </form>
-          </td>
-          <?php if ($read_only !== 'true') {?>
-            <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>
-                    <?php if ($_SESSION['userContext'] === 'admin') {?>
-                      <option value="rebuild"><?=_('rebuild');?></option>
-                    <?php } ?>
-                    <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="" title="<?=_('apply to selected');?>"><i class="fas fa-arrow-right"></i></button>
-              </form>
-            </td>
-          <?php } ?>
-        </tr>
-      </table>
+    <div class="l-sort-toolbar">
+      <ul class="context-menu sort-order animated fadeIn" style="display:none;">
+        <li entity="sort-bandwidth" sort_as_int="1"><span class="name"><?=_('Bandwidth');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-date" sort_as_int="1"><span class="name <?php if ($_SESSION['userSortOrder'] === 'date') { echo 'active'; } ?>"><?=_('Date');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-disk" sort_as_int="1"><span class="name"><?=_('Disk');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-name"><span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?=_('Name');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+        <li entity="sort-ip" sort_as_int="1"><span class="name"><?=_('IP address');?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
+      </ul>
+      <div class="sort-by" title="<?=_('Sort items');?>">
+        <?=_('sort by');?>: <span>
+          <b>
+            <?php if ($_SESSION['userSortOrder'] === 'name') { $label = ('Name'); } else { $label = _('Date'); } ?>
+            <?=$label?> <i class="fas fa-sort-alpha-down"></i>
+          </b>
+        </span>
+      </div>
+      <?php if ($read_only !== 'true') {?>
+        <form action="/bulk/web/" 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>
+              <?php if ($_SESSION['userContext'] === 'admin') {?>
+                <option value="rebuild"><?=_('rebuild');?></option>
+              <?php } ?>
+              <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="" title="<?=_('apply to selected');?>">
+            <i class="fas fa-arrow-right"></i>
+          </button>
+        </form>
+      <?php } ?>
+      <div class="l-sort-toolbar__search-box">
+        <form action="/search/" method="get">
+          <input type="hidden" name="token" value="<?=$_SESSION['token']?>">
+          <input type="text" class="search-input" name="q" value="<? echo isset($_POST['q']) ? htmlspecialchars($_POST['q']) : '' ?>" title="<?=_('Search');?>">
+          <button type="submit" class="l-sort-toolbar__filter-apply" onclick="return doSearch('/search/')" value="" title="<?=_('Search');?>">
+            <i class="fas fa-search"></i>
+          </button>
+        </form>
+      </div>
     </div>
   </div>
 </div>

+ 8 - 6
web/templates/pages/list_weblog.html

@@ -29,12 +29,14 @@
     <i class="fas fa-arrow-up"></i>
   </a>
   <div class="l-header">
-    <div class="l-center">
-      <a href="/" class="l-logo"></a>
-      <div class="l-menu clearfix">
-        <div class="l-menu__item"><a href="/list/web/"><i class="fas fa-arrow-alt-circle-left"></i>&nbsp;&nbsp;&nbsp;<?=_('Back');?></a></div>
-        <div class="l-menu__item <?php if($_GET['type'] == 'access') echo 'l-menu__item--active' ?>"><a href="/list/web-log/?domain=<?=htmlentities($_GET['domain'])?>&type=access&token=<?=$_SESSION['token']?>"><i class="fas fa-eye"></i>&nbsp;&nbsp;&nbsp;<?=_('Access Log');?></a><a href="/download/web-log/?domain=<?=htmlentities($_GET['domain'])?>&type=access&&token=<?=$_SESSION['token']?>" title="<?=_('Download');?>"><i class="fas fa-download"></i></a></div>
-        <div class="l-menu__item <?php if($_GET['type'] == 'error') echo 'l-menu__item--active' ?>"><a href="/list/web-log/?domain=<?=htmlentities($_GET['domain'])?>&type=error&token=<?=$_SESSION['token']?>"><i class="fas fa-exclamation-circle"></i>&nbsp;&nbsp;&nbsp;<?=_('Error Log');?></a><a href="/download/web-log/?domain=<?=htmlentities($_GET['domain'])?>&type=error&token=<?=$_SESSION['token']?>" title="<?=_('Download');?>"><i class="fas fa-download"></i></a></div>
+    <div class="l-center l-header__inner">
+      <div class="l-header__left">
+        <a href="/" class="l-logo" title="<?=_('Hestia Control Panel');?>"></a>
+        <div class="l-menu">
+          <div class="l-menu__item"><a href="/list/web/"><i class="fas fa-arrow-alt-circle-left"></i>&nbsp;&nbsp;&nbsp;<?=_('Back');?></a></div>
+          <div class="l-menu__item <?php if($_GET['type'] == 'access') echo 'l-menu__item--active' ?>"><a href="/list/web-log/?domain=<?=htmlentities($_GET['domain'])?>&type=access&token=<?=$_SESSION['token']?>"><i class="fas fa-eye"></i>&nbsp;&nbsp;&nbsp;<?=_('Access Log');?></a><a href="/download/web-log/?domain=<?=htmlentities($_GET['domain'])?>&type=access&&token=<?=$_SESSION['token']?>" title="<?=_('Download');?>"><i class="fas fa-download"></i></a></div>
+          <div class="l-menu__item <?php if($_GET['type'] == 'error') echo 'l-menu__item--active' ?>"><a href="/list/web-log/?domain=<?=htmlentities($_GET['domain'])?>&type=error&token=<?=$_SESSION['token']?>"><i class="fas fa-exclamation-circle"></i>&nbsp;&nbsp;&nbsp;<?=_('Error Log');?></a><a href="/download/web-log/?domain=<?=htmlentities($_GET['domain'])?>&type=error&token=<?=$_SESSION['token']?>" title="<?=_('Download');?>"><i class="fas fa-download"></i></a></div>
+        </div>
       </div>
       <div class="l-profile">
         <div class="l-menu__item"><a href="javascript:location.reload();" title="<?=_('Refresh');?>"><i class="fas fa-redo"></i></a></div>

Some files were not shown because too many files changed in this diff