Skip to content

Commit e988155

Browse files
authored
Migrate more tables to .units-table (hestiacp#3680)
* Migrate List SSH Keys to .units-table * Migrate List Databases to .units-table * Fix list sorting JS * Remove dead .truncate usage
1 parent 219dbf7 commit e988155

File tree

8 files changed

+171
-135
lines changed

8 files changed

+171
-135
lines changed

web/css/src/utilities.css

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,16 @@
5959
font-weight: bold !important;
6060
}
6161

62-
.u-truncate {
62+
.u-text-truncate {
6363
overflow: hidden !important;
6464
text-overflow: ellipsis !important;
6565
white-space: nowrap !important;
6666
}
6767

68+
.u-text-break {
69+
word-break: break-word !important;
70+
}
71+
6872
.u-overflow {
6973
overflow: auto !important;
7074
}
@@ -133,12 +137,6 @@
133137
width: 100% !important;
134138
}
135139

136-
.u-text-ellipsis {
137-
overflow: hidden !important;
138-
text-overflow: ellipsis !important;
139-
white-space: nowrap !important;
140-
}
141-
142140
.u-min-height100 {
143141
min-height: 100px !important;
144142
}

web/js/src/listSorting.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export default function handleListSorting() {
5050
state.sort_direction = span.classList.contains('up') ? 1 : -1;
5151

5252
// Update toggle button text and icon
53-
toggleButton.querySelector('b').innerHTML = parentLi.querySelector('.name').innerHTML;
53+
toggleButton.querySelector('span').innerHTML = parentLi.querySelector('.name').innerHTML;
5454
const faIcon = toggleButton.querySelector('.fas');
5555
faIcon.classList.remove('fa-arrow-up-a-z', 'fa-arrow-down-a-z');
5656
faIcon.classList.add(span.classList.contains('up') ? 'fa-arrow-up-a-z' : 'fa-arrow-down-a-z');

web/templates/pages/list_db.php

Lines changed: 122 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -99,20 +99,18 @@
9999

100100
<div class="container">
101101

102-
<div class="units js-units-container">
103-
<div class="header units-header">
104-
<div class="l-unit__col l-unit__col--right">
105-
<div class="clearfix l-unit__stat-col--left super-compact">
106-
<input type="checkbox" class="js-toggle-all-checkbox" title="<?= _("Select all") ?>" <?= $display_mode ?>>
107-
</div>
108-
<div class="clearfix l-unit__stat-col--left wide-3"><b><?= _("Name") ?></b></div>
109-
<div class="clearfix l-unit__stat-col--left u-text-right"><b>&nbsp;</b></div>
110-
<div class="clearfix l-unit__stat-col--left u-text-center"><b><?= _("Disk") ?></b></div>
111-
<div class="clearfix l-unit__stat-col--left u-text-center compact"><b><?= _("Type") ?></b></div>
112-
<div class="clearfix l-unit__stat-col--left u-text-center wide"><b><?= _("Username") ?></b></div>
113-
<div class="clearfix l-unit__stat-col--left u-text-center"><b><?= _("Hostname") ?></b></div>
114-
<div class="clearfix l-unit__stat-col--left u-text-center"><b><?= _("Charset") ?></b></div>
102+
<div class="units-table js-units-container">
103+
<div class="units-table-header">
104+
<div class="units-table-cell">
105+
<input type="checkbox" class="js-toggle-all-checkbox" title="<?= _("Select all") ?>" <?= $display_mode ?>>
115106
</div>
107+
<div class="units-table-cell"><?= _("Name") ?></div>
108+
<div class="units-table-cell"></div>
109+
<div class="units-table-cell u-text-center"><?= _("Disk") ?></div>
110+
<div class="units-table-cell u-text-center"><?= _("Type") ?></div>
111+
<div class="units-table-cell u-text-center"><?= _("Username") ?></div>
112+
<div class="units-table-cell u-text-center"><?= _("Hostname") ?></div>
113+
<div class="units-table-cell u-text-center"><?= _("Charset") ?></div>
116114
</div>
117115

118116
<!-- Begin database list item loop -->
@@ -125,12 +123,14 @@
125123
$spnd_action = 'unsuspend';
126124
$spnd_action_title = _('Unsuspend');
127125
$spnd_icon = 'fa-play';
126+
$spnd_icon_class = 'icon-green';
128127
$spnd_confirmation = _('Are you sure you want to unsuspend database %s?') ;
129128
} else {
130129
$status = 'active';
131130
$spnd_action = 'suspend';
132131
$spnd_action_title = _('Suspend');
133132
$spnd_icon = 'fa-pause';
133+
$spnd_icon_class = 'icon-highlight';
134134
$spnd_confirmation = _('Are you sure you want to suspend database %s?') ;
135135
}
136136
if ($data[$key]['HOST'] != 'localhost' ) $http_host = $data[$key]['HOST'];
@@ -141,84 +141,118 @@
141141
if ($data[$key]['TYPE'] == 'pgsql') $db_admin_link = "https://".$http_host."/phppgadmin/";
142142
if (($data[$key]['TYPE'] == 'pgsql') && (!empty($_SESSION['DB_PGA_ALIAS']))) $db_admin_link = $_SESSION['DB_PGA_ALIAS'];
143143
?>
144-
<div class="l-unit <?php if($status == 'suspended') echo 'l-unit--suspended'; ?> animate__animated animate__fadeIn js-unit"
145-
data-sort-date="<?=strtotime($data[$key]['DATE'].' '.$data[$key]['TIME'])?>"
146-
data-sort-name="<?=$key?>"
147-
data-sort-disk="<?=$data[$key]['U_DISK']?>"
148-
data-sort-user="<?=$data[$key]['DBUSER']?>"
149-
data-sort-server="<?=$data[$key]['HOST']?>"
150-
data-sort-charset="<?=$data[$key]['CHARSET']?>">
151-
<div class="l-unit__col l-unit__col--right">
144+
<div class="units-table-row <?php if ($data[$key]['SUSPENDED'] == 'yes') echo 'disabled'; ?> animate__animated animate__fadeIn js-unit"
145+
data-sort-date="<?= strtotime($data[$key]['DATE'].' '.$data[$key]['TIME']) ?>"
146+
data-sort-name="<?= $key ?>"
147+
data-sort-disk="<?= $data[$key]['U_DISK'] ?>"
148+
data-sort-user="<?= $data[$key]['DBUSER'] ?>"
149+
data-sort-server="<?= $data[$key]['HOST'] ?>"
150+
data-sort-charset="<?= $data[$key]['CHARSET'] ?>">
151+
<div class="units-table-cell">
152152
<div>
153-
<div class="clearfix l-unit__stat-col--left super-compact">
154-
<input id="check<?= $i ?>" class="js-unit-checkbox" type="checkbox" title="<?= _("Select") ?>" name="database[]" value="<?= $key ?>" <?= $display_mode ?>>
155-
</div>
156-
<div class="clearfix l-unit__stat-col--left wide-3 truncate">
157-
<?php if ($read_only === "true" || $data[$key]["SUSPENDED"] == "yes") { ?>
158-
<b><?= $key ?></b>
159-
<?php } else { ?>
160-
<b><a href="/edit/db/?database=<?= $key ?>&token=<?= $_SESSION["token"] ?>" title="<?= _("Edit Database") ?>: <?= $key ?>"><?= $key ?></a></b>
161-
<?php } ?>
162-
</div>
163-
<!-- START QUICK ACTION TOOLBAR AREA -->
164-
<div class="clearfix l-unit__stat-col--left u-text-right">
165-
<div class="l-unit-toolbar__col l-unit-toolbar__col--right u-noselect">
166-
<div class="actions-panel clearfix">
167-
<?php if ($read_only === "true") { ?>
168-
<!-- Restrict the ability to edit, delete, or suspend domain items when impersonating 'admin' user -->
169-
&nbsp;
170-
<?php } else { ?>
171-
<?php if ($data[$key]['SUSPENDED'] == 'no') {?>
172-
<div class="actions-panel__col actions-panel__logs shortcut-enter" data-key-action="href">
173-
<a href="/edit/db/?database=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?= _("Edit Database") ?>">
174-
<i class="fas fa-pencil icon-orange icon-dim"></i>
175-
</a>
176-
</div>
177-
<?php } ?>
178-
<?php if ($data[$key]['TYPE'] == 'mysql' && isset($_SESSION['PHPMYADMIN_KEY']) && $_SESSION['PHPMYADMIN_KEY'] != '' && !ipUsed()) { $time = time(); ?>
179-
<div class="actions-panel__col actions-panel__logs shortcut-enter" data-key-action="href">
180-
<a target="_blank" href="<?=$db_myadmin_link?>hestia-sso.php?database=<?=$key?>&user=<?=$user_plain?>&exp=<?=$time?>&hestia_token=<?=password_hash($key.$user_plain.$_SESSION['user_combined_ip'].$time.$_SESSION['PHPMYADMIN_KEY'], PASSWORD_DEFAULT)?>" title="phpMyAdmin">
181-
<i class="fas fa-right-to-bracket icon-orange icon-dim"></i>
182-
</a>
183-
</div>
184-
<?php } ?>
185-
<div class="actions-panel__col actions-panel__logs shortcut-enter" data-key-action="href">
186-
<a href="/download/database/?database=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?= _("Download Database") ?>">
187-
<i class="fas fa-download icon-orange icon-dim"></i>
188-
</a>
189-
</div>
190-
<div class="actions-panel__col actions-panel__suspend shortcut-s" data-key-action="js">
191-
<a
192-
class="data-controls js-confirm-action"
193-
href="/<?= $spnd_action ?>/db/?database=<?=$key?>&token=<?=$_SESSION['token']?>"
194-
data-confirm-title="<?= $spnd_action_title ?>"
195-
data-confirm-message="<?= sprintf($spnd_confirmation, $key) ?>"
196-
>
197-
<i class="fas <?= $spnd_icon ?> icon-highlight icon-dim"></i>
198-
</a>
199-
</div>
200-
<div class="actions-panel__col actions-panel__delete shortcut-delete" data-key-action="js">
201-
<a
202-
class="data-controls js-confirm-action"
203-
href="/delete/db/?database=<?= $key ?>&token=<?= $_SESSION["token"] ?>"
204-
data-confirm-title="<?= _("Delete") ?>"
205-
data-confirm-message="<?= sprintf(_("Are you sure you want to delete database %s?"), $key) ?>"
206-
>
207-
<i class="fas fa-trash icon-red icon-dim"></i>
208-
</a>
209-
</div>
210-
<?php } ?>
211-
</div>
212-
</div>
213-
</div>
214-
<!-- END QUICK ACTION TOOLBAR AREA -->
215-
<div class="clearfix l-unit__stat-col--left u-text-center"><b><?= humanize_usage_size($data[$key]["U_DISK"]) ?></b> <span class="u-text-small"><?= humanize_usage_measure($data[$key]["U_DISK"]) ?></span></div>
216-
<div class="clearfix l-unit__stat-col--left u-text-center compact"><?= $data[$key]["TYPE"] ?></div>
217-
<div class="clearfix l-unit__stat-col--left u-text-center wide"><b><?= $data[$key]["DBUSER"] ?></b></div>
218-
<div class="clearfix l-unit__stat-col--left u-text-center"><b><?= $data[$key]["HOST"] ?></b></div>
219-
<div class="clearfix l-unit__stat-col--left u-text-center"><?= $data[$key]["CHARSET"] ?></div>
153+
<input id="check<?= $i ?>" class="js-unit-checkbox" type="checkbox" title="<?= _("Select") ?>" name="database[]" value="<?= $key ?>" <?= $display_mode ?>>
154+
<label for="check<?= $i ?>" class="u-hide-desktop"><?= _("Select") ?></label>
220155
</div>
221156
</div>
157+
<div class="units-table-cell units-table-heading-cell u-text-bold">
158+
<span class="u-hide-desktop"><?= _("Name") ?>:</span>
159+
<?php if ($read_only === "true" || $data[$key]["SUSPENDED"] == "yes") { ?>
160+
<?= $key ?>
161+
<?php } else { ?>
162+
<a href="/edit/db/?database=<?= $key ?>&token=<?= $_SESSION["token"] ?>" title="<?= _("Edit Database") ?>: <?= $key ?>">
163+
<?= $key ?>
164+
</a>
165+
<?php } ?>
166+
</div>
167+
<div class="units-table-cell">
168+
<?php if (!$read_only) { ?>
169+
<ul class="units-table-row-actions">
170+
<?php if ($data[$key]["SUSPENDED"] == "no") { ?>
171+
<li class="units-table-row-action shortcut-enter" data-key-action="href">
172+
<a
173+
class="units-table-row-action-link"
174+
href="/edit/db/?database=<?=$key?>&token=<?=$_SESSION['token']?>"
175+
title="<?= _("Edit Database") ?>"
176+
>
177+
<i class="fas fa-pencil icon-orange"></i>
178+
<span class="u-hide-desktop"><?= _("Edit Database") ?></span>
179+
</a>
180+
</li>
181+
<?php } ?>
182+
<?php if ($data[$key]['TYPE'] == 'mysql' && isset($_SESSION['PHPMYADMIN_KEY']) && $_SESSION['PHPMYADMIN_KEY'] != '' && !ipUsed()) { $time = time(); ?>
183+
<li class="units-table-row-action shortcut-enter" data-key-action="href">
184+
<a
185+
class="units-table-row-action-link"
186+
href="<?=$db_myadmin_link?>hestia-sso.php?database=<?=$key?>&user=<?=$user_plain?>&exp=<?=$time?>&hestia_token=<?=password_hash($key.$user_plain.$_SESSION['user_combined_ip'].$time.$_SESSION['PHPMYADMIN_KEY'], PASSWORD_DEFAULT)?>"
187+
title="phpMyAdmin"
188+
>
189+
<i class="fas fa-right-to-bracket icon-orange"></i>
190+
<span class="u-hide-desktop">phpMyAdmin</span>
191+
</a>
192+
</li>
193+
<?php } ?>
194+
<li class="units-table-row-action shortcut-enter" data-key-action="href">
195+
<a
196+
class="units-table-row-action-link"
197+
href="/download/database/?database=<?=$key?>&token=<?=$_SESSION['token']?>"
198+
title="<?= _("Download Database") ?>"
199+
>
200+
<i class="fas fa-download icon-orange"></i>
201+
<span class="u-hide-desktop"><?= _("Download Database") ?></span>
202+
</a>
203+
</li>
204+
<li class="units-table-row-action shortcut-s" data-key-action="js">
205+
<a
206+
class="units-table-row-action-link data-controls js-confirm-action"
207+
href="/<?= $spnd_action ?>/db/?database=<?=$key?>&token=<?=$_SESSION['token']?>"
208+
title="<?= $spnd_action_title ?>"
209+
data-confirm-title="<?= $spnd_action_title ?>"
210+
data-confirm-message="<?= sprintf($spnd_confirmation, $key) ?>"
211+
>
212+
<i class="fas <?= $spnd_icon ?> <?= $spnd_icon_class ?>"></i>
213+
<span class="u-hide-desktop"><?= $spnd_action_title ?></span>
214+
</a>
215+
</li>
216+
<li class="units-table-row-action shortcut-delete" data-key-action="js">
217+
<a
218+
class="units-table-row-action-link data-controls js-confirm-action"
219+
href="/delete/db/?database=<?= $key ?>&token=<?= $_SESSION["token"] ?>"
220+
title="<?= _("Delete") ?>"
221+
data-confirm-title="<?= _("Delete") ?>"
222+
data-confirm-message="<?= sprintf(_("Are you sure you want to delete database %s?"), $key) ?>"
223+
>
224+
<i class="fas fa-trash icon-red"></i>
225+
<span class="u-hide-desktop"><?= _("Delete") ?></span>
226+
</a>
227+
</li>
228+
</ul>
229+
<?php } ?>
230+
</div>
231+
<div class="units-table-cell u-text-center-desktop">
232+
<span class="u-hide-desktop u-text-bold"><?= _("Disk") ?>:</span>
233+
<span class="u-text-bold">
234+
<?= humanize_usage_size($data[$key]["U_DISK"]) ?>
235+
</span>
236+
<span class="u-text-small">
237+
<?= humanize_usage_measure($data[$key]["U_DISK"]) ?>
238+
</span>
239+
</div>
240+
<div class="units-table-cell u-text-center-desktop">
241+
<span class="u-hide-desktop u-text-bold"><?= _("Type") ?>:</span>
242+
<?= $data[$key]["TYPE"] ?>
243+
</div>
244+
<div class="units-table-cell u-text-bold u-text-center-desktop">
245+
<span class="u-hide-desktop"><?= _("Username") ?>:</span>
246+
<?= $data[$key]["DBUSER"] ?>
247+
</div>
248+
<div class="units-table-cell u-text-bold u-text-center-desktop">
249+
<span class="u-hide-desktop"><?= _("Hostname") ?>:</span>
250+
<?= $data[$key]["HOST"] ?>
251+
</div>
252+
<div class="units-table-cell u-text-center-desktop">
253+
<span class="u-hide-desktop u-text-bold"><?= _("Charset") ?>:</span>
254+
<?= $data[$key]["CHARSET"] ?>
255+
</div>
222256
</div>
223257
<?php } ?>
224258
</div>

web/templates/pages/list_dns_rec.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@
109109
<div class="clearfix l-unit__stat-col--left super-compact">
110110
<input id="check<?= $data[$key]["ID"] ?>" class="js-unit-checkbox" type="checkbox" title="<?= _("Select") ?>" name="record[]" value="<?= $data[$key]["ID"] ?>" <?= $display_mode ?>>
111111
</div>
112-
<div class="clearfix l-unit__stat-col--left u-truncate">
112+
<div class="clearfix l-unit__stat-col--left u-text-truncate">
113113
<b>
114114
<?php if (($read_only === 'true') || ($data[$key]['SUSPENDED'] == 'yes')) {?>
115115
<?=substr($data[$key]['RECORD'], 0, 12); if(strlen($data[$key]['RECORD']) > 12 ) echo '...'; ?>
@@ -148,7 +148,7 @@ class="data-controls js-confirm-action"
148148
<div class="clearfix l-unit__stat-col--left compact u-text-center"><?=$data[$key]['PRIORITY']?>&nbsp;</div>
149149
<div class="clearfix l-unit__stat-col--left compact u-text-center"><?php if($data[$key]['TTL'] == ''){ echo _('Default'); }else{ echo $data[$key]['TTL'];} ?></div>
150150
<div class="clearfix l-unit__stat-col--left super-compact"><b>&nbsp;</b></div>
151-
<div class="clearfix l-unit__stat-col--left wide-6 truncate" style="word-break: break-word;"><?= htmlspecialchars($data[$key]["VALUE"], ENT_QUOTES, "UTF-8") ?></div>
151+
<div class="clearfix l-unit__stat-col--left wide-6 u-text-break"><?= htmlspecialchars($data[$key]["VALUE"], ENT_QUOTES, "UTF-8") ?></div>
152152
</div>
153153
</div>
154154
<?php } ?>

web/templates/pages/list_key.php

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,11 @@
2121

2222
<div class="container">
2323

24-
<div class="units js-units-container">
25-
<div class="header units-header">
26-
<div class="l-unit__col l-unit__col--right">
27-
<div class="clearfix l-unit__stat-col--left wide-3"><b><?= _("SSH ID") ?></b></div>
28-
<div class="clearfix l-unit__stat-col--left compact-2">
29-
&nbsp;
30-
</div>
31-
<div class="clearfix l-unit__stat-col--left wide-7"><b><?= _("SSH Key") ?></b></div>
32-
</div>
24+
<div class="units-table js-units-container">
25+
<div class="units-table-header">
26+
<div class="units-table-cell"><?= _("SSH ID") ?></div>
27+
<div class="units-table-cell"></div>
28+
<div class="units-table-cell"><?= _("SSH Key") ?></div>
3329
</div>
3430

3531
<!-- Begin SSH key list item loop -->
@@ -38,30 +34,38 @@
3834
foreach ($data as $key => $value) {
3935
++$i;
4036
?>
41-
<div class="l-unit header animate__animated animate__fadeIn js-unit" style="<?php if ($data[$key]['ID'] === 'filemanager.ssh.key') { echo 'display: none;'; } ?>">
42-
<div class="l-unit__col l-unit__col--right">
43-
<div class="clearfix l-unit__stat-col--left wide-3"><b><?= htmlspecialchars($data[$key]["ID"]) ?></b></div>
44-
<div class="clearfix l-unit__stat-col--left text-left compact-2">
45-
<div class="l-unit-toolbar__col l-unit-toolbar__col--right u-noselect">
46-
<div class="actions-panel clearfix">
47-
<div class="actions-panel__col actions-panel__delete shortcut-delete" data-key-action="js">
48-
<a
49-
class="data-controls js-confirm-action"
50-
<?php if ($_SESSION["userContext"] === "admin" && isset($_GET["user"]) && $_GET["user"] !== "admin") { ?>
51-
href="/delete/key/?user=<?= htmlentities($_GET["user"]) ?>&key=<?= $key ?>&token=<?= $_SESSION["token"] ?>"
52-
<?php } else { ?>
53-
href="/delete/key/?key=<?= $key ?>&token=<?= $_SESSION["token"] ?>"
54-
<?php } ?>
55-
data-confirm-title="<?= _("Delete") ?>"
56-
data-confirm-message="<?= sprintf(_("Are you sure you want to delete SSH key %s?"), $key) ?>"
57-
>
58-
<i class="fas fa-trash icon-red icon-dim"></i>
59-
</a>
60-
</div>
61-
</div>
62-
</div>
63-
</div>
64-
<div class="clearfix l-unit__stat-col--left wide-7"><b><?= htmlspecialchars($data[$key]["KEY"], ENT_QUOTES) ?></b></div>
37+
<div class="units-table-row animate__animated animate__fadeIn js-unit" style="<?php if ($data[$key]['ID'] === 'filemanager.ssh.key') { echo 'display: none;'; } ?>">
38+
<div class="units-table-cell units-table-heading-cell u-text-bold">
39+
<span class="u-hide-desktop"><?= _("SSH ID") ?>:</span>
40+
<span class="u-text-break">
41+
<?= htmlspecialchars($data[$key]["ID"]) ?>
42+
</span>
43+
</div>
44+
<div class="units-table-cell">
45+
<ul class="units-table-row-actions">
46+
<li class="units-table-row-action shortcut-delete" data-key-action="js">
47+
<a
48+
class="units-table-row-action-link data-controls js-confirm-action"
49+
<?php if ($_SESSION["userContext"] === "admin" && isset($_GET["user"]) && $_GET["user"] !== "admin") { ?>
50+
href="/delete/key/?user=<?= htmlentities($_GET["user"]) ?>&key=<?= $key ?>&token=<?= $_SESSION["token"] ?>"
51+
<?php } else { ?>
52+
href="/delete/key/?key=<?= $key ?>&token=<?= $_SESSION["token"] ?>"
53+
<?php } ?>
54+
title="<?= _("Delete") ?>"
55+
data-confirm-title="<?= _("Delete") ?>"
56+
data-confirm-message="<?= sprintf(_("Are you sure you want to delete SSH key %s?"), $key) ?>"
57+
>
58+
<i class="fas fa-trash icon-red"></i>
59+
<span class="u-hide-desktop"><?= _("Delete") ?></span>
60+
</a>
61+
</li>
62+
</ul>
63+
</div>
64+
<div class="units-table-cell u-text-bold">
65+
<span class="u-hide-desktop"><?= _("SSH Key") ?>:</span>
66+
<span class="u-text-break">
67+
<?= htmlspecialchars($data[$key]["KEY"], ENT_QUOTES) ?>
68+
</span>
6569
</div>
6670
</div>
6771
<?php } ?>

web/templates/pages/list_packages.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@
8282
<input id="check<?= $i ?>" class="js-unit-checkbox" type="checkbox" title="<?= _("Select") ?>" name="package[]" value="<?= $key ?>">
8383
</div>
8484
<?php if ($key == "system") { ?>
85-
<div class="clearfix l-unit__stat-col--left wide truncate"><b><?= $key ?></b></div>
85+
<div class="clearfix l-unit__stat-col--left wide"><b><?= $key ?></b></div>
8686
<?php } else { ?>
87-
<div class="clearfix l-unit__stat-col--left wide truncate">
87+
<div class="clearfix l-unit__stat-col--left wide">
8888
<b><a href="/edit/package/?package=<?= $key ?>&token=<?= $_SESSION["token"] ?>" title="<?= _("Edit Package") ?>: <?= $key ?>"><?= $key ?></a></b>
8989
</div>
9090
<?php } ?>

0 commit comments

Comments
 (0)