Skip to content

Commit 9c4512b

Browse files
author
Kristan Kenney
committed
Merge branch 'feature/package-management' into feature/user-roles
2 parents b4f262a + a1922a5 commit 9c4512b

File tree

5 files changed

+41
-19
lines changed

5 files changed

+41
-19
lines changed

bin/v-delete-user-package

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
#
66
# example: v-delete-user-package admin palegreen
77
#
8-
# The function for deleting user package. It does not allow to delete package
9-
# if it is in use.
8+
# The function for deleting user package.
9+
#
10+
# If the package is in use, users will be updated to
11+
# use the default package.
1012

1113

1214
#----------------------------------------------------------#
@@ -24,11 +26,11 @@ source $HESTIA/conf/hestia.conf
2426

2527
# Functions
2628
is_package_in_use() {
27-
check_package=$(grep "PACKAGE='$package'" $USER_DATA/*/user.conf)
29+
check_package=$(grep "PACKAGE='$package" $HESTIA/data/users/*/user.conf | cut -d'/' -f7)
2830
if [ ! -z "$check_package" ]; then
29-
echo "Error: package $package is in use"
30-
log_event "$E_INUSE" "$ARGUMENTS"
31-
exit $E_INUSE
31+
for user in $check_package; do
32+
$BIN/v-change-user-package "$user" 'default'
33+
done
3234
fi
3335
}
3436

install/upgrade/versions/1.4.0.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,14 @@ if [ "$api" = "yes" ]; then
123123
else
124124
$HESTIA/bin/v-change-sys-api disable
125125
fi
126+
127+
128+
##### COMMANDS FOR V1.5.X
129+
130+
# Back up default package and install latest version
131+
if [ -d $HESTIA/data/packages/ ]; then
132+
echo "[ * ] Migrating legacy default package for all users..."
133+
$HESTIA/bin/v-rename-user-package default custom >/dev/null 2>&1
134+
echo "[ * ] Replacing default package..."
135+
cp -f $HESTIA_INSTALL_DIR/packages/default.pkg $HESTIA/data/packages/
136+
fi

web/delete/package/index.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@
1111
exit();
1212
}
1313

14+
// Prevent editing of default package
15+
if ($_GET['package'] === 'default') {
16+
header("Location: /list/package/");
17+
exit;
18+
}
19+
1420
if ($_SESSION['userContext'] === 'admin') {
1521
if (!empty($_GET['package'])) {
1622
$v_package = escapeshellarg($_GET['package']);

web/edit/package/index.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919
exit;
2020
}
2121

22+
// Prevent editing of default package
23+
if ($_GET['package'] === 'default') {
24+
header("Location: /list/package/");
25+
exit;
26+
}
2227

2328
// List package
2429
$v_package = escapeshellarg($_GET['package']);

web/templates/admin/list_packages.html

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,25 +68,23 @@
6868
<div class="clearfix l-unit__stat-col--left super-compact">
6969
<input id="check<?=$i?>" class="ch-toggle" type="checkbox" title="<?=_('Select')?>" name="user[]" value="<?=$key?>">
7070
</div>
71-
<div class="clearfix l-unit__stat-col--left wide-2 truncate">
72-
<b>
73-
<? if (($_SESSION['userContext'] === "admin") && ($_SESSION['user'] === 'admin')) {?>
74-
<a href="/edit/package/?package=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Package')?>: <?=$key?>"><?=$key?></a>
75-
<? } else { ?>
76-
<?=$key?>
77-
<? } ?>
78-
</b>
79-
</div>
71+
<? if ($key == 'default') { ?>
72+
<div class="clearfix l-unit__stat-col--left wide-2 truncate"><b><?=$key?></b></div>
73+
<? } else {?>
74+
<div class="clearfix l-unit__stat-col--left wide-2 truncate"><b><a href="/edit/package/?package=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Package')?>: <?=$key?>"><?=$key?></b></a></div>
75+
<? } ?>
8076
<!-- START QUICK ACTION TOOLBAR AREA -->
8177
<div class="clearfix l-unit__stat-col--left text-right compact-3">
8278
<div class="l-unit-toolbar__col l-unit-toolbar__col--right noselect">
8379
<div class="actions-panel clearfix">
84-
<? if (($_SESSION['userContext'] === "admin") && ($_SESSION['user'] === 'admin')) {?>
85-
<div class="actions-panel__col actions-panel__edit shortcut-enter" key-action="href"><a href="/edit/package/?package=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Package')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
80+
<? if ($key == 'default') { ?>
81+
<!-- Restrict editing default package -->
82+
<? } else {?>
83+
<div class="actions-panel__col actions-panel__edit shortcut-enter" key-action="href"><a href="/edit/package/?package=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Editing Package')?>"><i class="fas fa-pencil-alt status-icon orange status-icon dim"></i></a></div>
8684
<? } ?>
8785
<div class="actions-panel__col actions-panel__edit" key-action="href"><a href="/copy/package/?package=<?=$key?>&token=<?=$_SESSION['token']?>" title="<?=_('Copy')?>"><i class="fas fa-clone status-icon teal status-icon dim"></i></a></div>
88-
<? if ($key == 'default') {?>
89-
<!-- Hide option to delete the default package -->
86+
<? if ($key == 'default') { ?>
87+
<!-- Restrict deleting default package -->
9088
<? } else {?>
9189
<div class="actions-panel__col actions-panel__delete shortcut-delete" key-action="js">
9290
<a id="delete_link_<?=$i?>" class="data-controls do_delete" title="<?=_('Delete')?>">

0 commit comments

Comments
 (0)