Skip to content

Commit ebe9841

Browse files
committed
Add support renaming packages via WebUI
1 parent 0abfedd commit ebe9841

File tree

4 files changed

+27
-6
lines changed

4 files changed

+27
-6
lines changed

bin/v-copy-user-package

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ if [ ! -z $1 ]; then
3838
if [ ! -z $2 ]; then
3939
# Copy package
4040
cp -f $HESTIA/data/packages/$package.pkg $HESTIA/data/packages/$new_package.pkg
41+
# Don't leave the .sh file behind
42+
if [ ! -f $HESTIA/data/packages/$package.sh ]; then
43+
cp $HESTIA/data/packages/$package.sh $HESTIA/data/packages/$new_package.sh
44+
fi
4145
else
4246
echo "Error: new package name not specified."
4347
fi

bin/v-rename-user-package

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22
# info: change package name
3-
# options: OLD_NAME NEW_NAME
3+
# options: OLD_NAME NEW_NAME [mode]
44
# labels: hestia
55
#
66
# example: v-rename-package package package2
@@ -15,6 +15,7 @@
1515
# Argument definition
1616
old_name=$1
1717
new_name=$2
18+
mode=$3
1819

1920
# Includes
2021
# shellcheck source=/usr/local/hestia/func/main.sh
@@ -29,6 +30,7 @@ source $HESTIA/conf/hestia.conf
2930
# Verifications #
3031
#----------------------------------------------------------#
3132

33+
3234
# Ensure that package names have been passed to the script.
3335
if [ -z "$old_name" ]; then
3436
echo "ERROR: Current package name not specified."
@@ -49,17 +51,24 @@ check_hestia_demo_mode
4951

5052
if [ -e $HESTIA/data/packages/$old_name.pkg ]; then
5153
mv $HESTIA/data/packages/$old_name.pkg $HESTIA/data/packages/$new_name.pkg
52-
54+
# Don't leave the .sh file behind
55+
if [ -e $HESTIA/data/packages/$old_name.sh ]; then
56+
mv $HESTIA/data/packages/$old_name.sh $HESTIA/data/packages/$new_name.sh
57+
fi
5358

5459
# Update package for existing users
5560
for user in `ls $HESTIA/data/users/`; do
5661
OLD_PACKAGE=$(v-get-user-value $user PACKAGE)
5762
if [ "$old_name" = "$OLD_PACKAGE" ]; then
58-
echo "Updating package for user: $user..."
63+
if [ "$mode" == "yes" ]; then
64+
echo "Successfully renamed package $old_name to $new_name."
65+
fi
5966
v-change-user-package $user $new_name
6067
fi
6168
done
62-
echo "Successfully renamed package $old_name to $new_name."
69+
if [ "$mode" == "yes" ]; then
70+
echo "Successfully renamed package $old_name to $new_name."
71+
fi
6372
else
6473
echo "ERROR: Specified package not found."
6574
fi

web/edit/package/index.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333

3434
// Parse package
3535
$v_package = $_GET['package'];
36+
$v_package_new = $_GET['package'];
3637
$v_web_template = $data[$v_package]['WEB_TEMPLATE'];
3738
$v_backend_template = $data[$v_package]['BACKEND_TEMPLATE'];
3839
$v_proxy_template = $data[$v_package]['PROXY_TEMPLATE'];
@@ -104,6 +105,7 @@
104105

105106
// Check empty fields
106107
if (empty($_POST['v_package'])) $errors[] = _('package');
108+
if (empty($_POST['v_package_new'])) $errors[] = _('package_new');
107109
if (empty($_POST['v_web_template'])) $errors[] = _('web template');
108110
if (!empty($_SESSION['WEB_BACKEND'])) {
109111
if (empty($_POST['v_backend_template'])) $errors[] = _('backend template');
@@ -144,6 +146,7 @@
144146

145147
// Protect input
146148
$v_package = escapeshellarg($_POST['v_package']);
149+
$v_package_new = escapeshellarg($_POST['v_package_new']);
147150
$v_web_template = escapeshellarg($_POST['v_web_template']);
148151
if (!empty($_SESSION['WEB_BACKEND'])) {
149152
$v_backend_template = escapeshellarg($_POST['v_backend_template']);
@@ -225,7 +228,12 @@
225228
exec (HESTIA_CMD."v-update-user-package ".$v_package." 'json'", $output, $return_var);
226229
check_return_code($return_var,$output);
227230
unset($output);
228-
231+
232+
if($v_package_new != $v_package){
233+
exec (HESTIA_CMD."v-rename-user-package " . $v_package . " " . $v_package_new, $output, $return_var);
234+
check_return_code($return_var,$output);
235+
unset($output);
236+
}
229237
// Set success message
230238
if (empty($_SESSION['error_msg'])) {
231239
$_SESSION['ok_msg'] = _('Changes has been saved.');

web/templates/pages/edit_package.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
</tr>
6262
<tr>
6363
<td>
64-
<input type="text" size="20" class="vst-input" name="v_package" value="<?=htmlentities(trim($v_package, "'"))?>" disabled>
64+
<input type="text" size="20" class="vst-input" name="v_package_new" value="<?=htmlentities(trim($v_package_new, "'"))?>">
6565
<input type="hidden" name="v_package" value="<?=htmlentities(trim($v_package, "'"))?>">
6666
</td>
6767
</tr>

0 commit comments

Comments
 (0)