Skip to content

Commit 11cd539

Browse files
author
Kristan Kenney
committed
Add PREF_UI_SORT to user.conf
1 parent 4463e7d commit 11cd539

17 files changed

+153
-29
lines changed

bin/v-add-user

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ U_BACKUPS='0'
237237
LANGUAGE=''
238238
THEME=''
239239
NOTIFICATIONS='no'
240+
PREF_UI_SORT='name'
240241
TIME='$time'
241242
DATE='$date'" > $USER_DATA/user.conf
242243
chmod 660 $USER_DATA/user.conf

bin/v-change-user-sort-order

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#!/bin/bash
2+
# info: updates user role
3+
# options: USER SORT_ORDER
4+
# labels: hestia
5+
#
6+
# example: v-change-user-sort-order user date
7+
#
8+
# Changes web UI display sort order for specified user.
9+
10+
#----------------------------------------------------------#
11+
# Variable&Function #
12+
#----------------------------------------------------------#
13+
14+
# Argument definition
15+
user=$1
16+
sort_order=$2
17+
18+
19+
# Includes
20+
# shellcheck source=/usr/local/hestia/func/main.sh
21+
source $HESTIA/func/main.sh
22+
# shellcheck source=/usr/local/hestia/conf/hestia.conf
23+
source $HESTIA/conf/hestia.conf
24+
# Unset THEME variable from $HESTIA/conf/hestia.conf
25+
unset THEME
26+
27+
28+
#----------------------------------------------------------#
29+
# Verifications #
30+
#----------------------------------------------------------#
31+
32+
# Reading user values
33+
source $USER_DATA/user.conf
34+
35+
is_format_valid 'user' 'theme'
36+
is_object_valid 'user' 'USER' "$user"
37+
38+
is_object_unsuspended 'user' 'USER' "$user"
39+
40+
# Perform verification if read-only mode is enabled
41+
check_hestia_demo_mode
42+
43+
#----------------------------------------------------------#
44+
# Action #
45+
#----------------------------------------------------------#
46+
47+
# Set theme value
48+
check_ckey=$(grep "PREF_UI_SORT" $USER_DATA/user.conf)
49+
if [ -z "$check_ckey" ]; then
50+
# Rebuild user configuration to repair missing value
51+
$BIN/v-rebuild-user $user
52+
fi
53+
update_user_value "$user" '$PREF_UI_SORT' "$sort_order"
54+
55+
#----------------------------------------------------------#
56+
# Hestia #
57+
#----------------------------------------------------------#
58+
59+
exit

bin/v-list-user

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ json_list() {
8080
"LANGUAGE": "'$LANGUAGE'",
8181
"THEME": "'$THEME'",
8282
"NOTIFICATIONS": "'$NOTIFICATIONS'",
83+
"PREF_UI_SORT": "'$PREF_UI_SORT'",
8384
"PHPCLI": "'$PHPCLI'",
8485
"TIME": "'$TIME'",
8586
"DATE": "'$DATE'"

func/rebuild.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ rebuild_user_conf() {
3939
if [ -z "${THEME+x}" ]; then
4040
sed -i "/LANGUAGE/a THEME=''" $USER_DATA/user.conf
4141
fi
42+
if [ -z "${PREF_UI_SORT+x}" ]; then
43+
sed -i "/NOTIFICATIONS/a PREF_UI_SORT='name'" $USER_DATA/user.conf
44+
fi
4245
# Run template trigger
4346
if [ -x "$HESTIA/data/packages/$PACKAGE.sh" ]; then
4447
$HESTIA/data/packages/$PACKAGE.sh "$user" "$CONTACT" "$NAME"

func/syshealth.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ function syshealth_update_user_config_format() {
9595
# USER CONFIGURATION
9696
# Create array of known keys in configuration file
9797
system="user"
98-
known_keys=(NAME PACKAGE CONTACT CRON_REPORTS MD5 RKEY TWOFA QRCODE PHPCLI ROLE SUSPENDED SUSPENDED_USERS SUSPENDED_WEB SUSPENDED_DNS SUSPENDED_MAIL SUSPENDED_DB SUSPENDED_CRON IP_AVAIL IP_OWNED U_USERS U_DISK U_DISK_DIRS U_DISK_WEB U_DISK_MAIL U_DISK_DB U_BANDWIDTH U_WEB_DOMAINS U_WEB_SSL U_WEB_ALIASES U_DNS_DOMAINS U_DNS_RECORDS U_MAIL_DKIM U_MAIL_DKIM U_MAIL_ACCOUNTS U_MAIL_DOMAINS U_MAIL_SSL U_DATABASES U_CRON_JOBS U_BACKUPS LANGUAGE THEME NOTIFICATIONS TIME DATE)
98+
known_keys=(NAME PACKAGE CONTACT CRON_REPORTS MD5 RKEY TWOFA QRCODE PHPCLI ROLE SUSPENDED SUSPENDED_USERS SUSPENDED_WEB SUSPENDED_DNS SUSPENDED_MAIL SUSPENDED_DB SUSPENDED_CRON IP_AVAIL IP_OWNED U_USERS U_DISK U_DISK_DIRS U_DISK_WEB U_DISK_MAIL U_DISK_DB U_BANDWIDTH U_WEB_DOMAINS U_WEB_SSL U_WEB_ALIASES U_DNS_DOMAINS U_DNS_RECORDS U_MAIL_DKIM U_MAIL_DKIM U_MAIL_ACCOUNTS U_MAIL_DOMAINS U_MAIL_SSL U_DATABASES U_CRON_JOBS U_BACKUPS LANGUAGE THEME NOTIFICATIONS PREF_UI_SORT TIME DATE)
9999
write_kv_config_file
100100
unset system
101101
unset known_keys

web/edit/user/index.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
$v_package = $data[$v_username]['PACKAGE'];
4747
$v_language = $data[$v_username]['LANGUAGE'];
4848
$v_user_theme = $data[$v_username]['THEME'];
49+
$v_sort_order = $data[$v_username]['PREF_UI_SORT'];
4950
$v_name = $data[$v_username]['NAME'];
5051
$v_shell = $data[$v_username]['SHELL'];
5152
$v_twofa = $data[$v_username]['TWOFA'];
@@ -165,6 +166,15 @@
165166
$v_qrcode = '';
166167
}
167168

169+
// Change default sort order
170+
if (($v_sort_order != $_POST['v_sort_order']) && (empty($_SESSION['error_msg']))) {
171+
$v_sort_order = escapeshellarg($_POST['v_sort_order']);
172+
exec (HESTIA_CMD."v-change-user-sort-order ".escapeshellarg($v_username)." ".$v_sort_order, $output, $return_var);
173+
check_return_code($return_var,$output);
174+
unset($output);
175+
}
176+
177+
168178
// Change package (admin only)
169179
if (($v_package != $_POST['v_package']) && ($_SESSION['userContext'] === 'admin') && (empty($_SESSION['error_msg']))) {
170180
$v_package = escapeshellarg($_POST['v_package']);

web/templates/admin/edit_user.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,19 @@
209209
</td>
210210
</tr>
211211
<?}?>
212+
<tr>
213+
<td class="vst-text input-label">
214+
<?php print _('Default sort order');?>
215+
</td>
216+
</tr>
217+
<tr>
218+
<td>
219+
<select class="vst-list" name="v_sort_order">
220+
<option value='date'><?php print _('Date'); ?></option>
221+
<option value='name' <?php if($data[$user]['PREF_UI_SORT'] !== 'date') echo 'selected' ?>><?php print _('Name'); ?></option>
222+
</select>
223+
</td>
224+
</tr>
212225
<tr>
213226
<td class="vst-text input-label">
214227
<?php print _('Package');?>

web/templates/admin/list_cron.html

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,19 @@
1313
<? } ?>
1414
</div>
1515
<ul class="context-menu sort-order animated fadeIn" style="display:none;">
16-
<li entity="sort-name"><span class="name" id="default-sort"><?=_('Cron Job')?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
17-
<li entity="sort-date" sort_as_int="1"><span class="name active"><?=_('Date')?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
16+
<li entity="sort-name"><span class="name" id="<?php if ($panel[$user]['PREF_UI_SORT'] === 'name') { echo 'default-sort'; }?>"><?=_('Command')?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
17+
<li entity="sort-date" sort_as_int="1"><span class="name active" id="<?php if ($panel[$user]['PREF_UI_SORT'] === 'date') { echo 'default-sort'; }?>"><?=_('Date')?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
1818
</ul>
1919
<div class="l-sort-toolbar clearfix">
2020
<table>
2121
<tr>
2222
<td class="sort-by" title="<?=_('Sort items');?>">
23-
<?=_('sort by');?>: <span><b><?=_('Command')?> <i class="fas fa-sort-alpha-down"></i></b></span>
23+
<?=_('sort by');?>: <span>
24+
<b>
25+
<? if ($panel[$user]['PREF_UI_SORT'] === 'name') { $label = 'Command'; } else { $label = 'Date'; } ?>
26+
<?=_($label)?><i class="fas fa-sort-alpha-down"></i>
27+
</b>
28+
</span>
2429
</td>
2530
<td class="l-sort-toolbar__search-box">
2631
<form action="/search/" method="get">

web/templates/admin/list_db.html

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
</div>
2929
<ul class="context-menu sort-order animated fadeIn" style="display:none;">
3030
<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>
31-
<li entity="sort-name"><span class="name" id="default-sort"><?=_('Database')?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
32-
<li entity="sort-date" sort_as_int="1"><span class="name active"><?=_('Date')?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
31+
<li entity="sort-name"><span class="name" id="<?php if ($panel[$user]['PREF_UI_SORT'] === 'name') { echo 'default-sort'; }?>"><?=_('Database')?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
32+
<li entity="sort-date" sort_as_int="1"><span class="name active" id="<?php if ($panel[$user]['PREF_UI_SORT'] === 'date') { echo 'default-sort'; }?>"><?=_('Date')?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
3333
<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>
3434
<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>
3535
<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>
@@ -38,7 +38,12 @@
3838
<table>
3939
<tr>
4040
<td class="sort-by" title="<?=_('Sort items');?>">
41-
<?=_('sort by');?>: <span><b><?=_('Database')?> <i class="fas fa-sort-alpha-down"></i></b></span>
41+
<?=_('sort by');?>: <span>
42+
<b>
43+
<? if ($panel[$user]['PREF_UI_SORT'] === 'name') { $label = 'Database'; } else { $label = 'Date'; } ?>
44+
<?=_($label)?><i class="fas fa-sort-alpha-down"></i>
45+
</b>
46+
</span>
4247
</td>
4348
<td class="l-sort-toolbar__search-box">
4449
<form action="/search/" method="get">

web/templates/admin/list_dns.html

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
<? } ?>
99
</div>
1010
<ul class="context-menu sort-order animated fadeIn" style="display: none;">
11-
<li entity="sort-date" sort_as_int="1"><span class="name active"><?=_('Date')?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
12-
<li entity="sort-name"><span class="name" id="default-sort"><?=_('Domain')?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
11+
<li entity="sort-date" sort_as_int="1"><span class="name active" id="<?php if ($panel[$user]['PREF_UI_SORT'] === 'date') { echo 'default-sort'; }?>"><?=_('Date')?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
12+
<li entity="sort-name"><span class="name" id="<?php if ($panel[$user]['PREF_UI_SORT'] === 'name') { echo 'default-sort'; }?>"><?=_('Domain')?> <i class="fas fa-sort-alpha-down"></i></span><span class="up"><i class="fas fa-sort-alpha-up"></i></span></li>
1313
<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>
1414
<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>
1515
<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>
@@ -18,7 +18,12 @@
1818
<table>
1919
<tr>
2020
<td class="sort-by" title="<?=_('Sort items');?>">
21-
<?=_('sort by');?>: <span><b><?=_('Domain')?> <i class="fas fa-sort-alpha-down"></i></b></span>
21+
<?=_('sort by');?>: <span>
22+
<b>
23+
<? if ($panel[$user]['PREF_UI_SORT'] === 'name') { $label = 'Domain'; } else { $label = 'Date'; } ?>
24+
<?=_($label)?><i class="fas fa-sort-alpha-down"></i>
25+
</b>
26+
</span>
2227
</td>
2328
<td class="l-sort-toolbar__search-box">
2429
<form action="/search/" method="get">

0 commit comments

Comments
 (0)