Skip to content

Commit 6e631c3

Browse files
committed
i18n + service manager + web updater
1 parent 3612d08 commit 6e631c3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+1790
-1442
lines changed

bin/v-list-sys-vesta-updates

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
#!/bin/bash
2+
# info: list system updates
3+
# options: [FORMAT]
4+
#
5+
# The function checks available updates for vesta packages.
6+
7+
8+
#----------------------------------------------------------#
9+
# Variable&Function #
10+
#----------------------------------------------------------#
11+
12+
# Argument defenition
13+
format=${1-shell}
14+
15+
# Includes
16+
source $VESTA/func/main.sh
17+
18+
19+
#----------------------------------------------------------#
20+
# Action #
21+
#----------------------------------------------------------#
22+
23+
# Remove upd_flag
24+
rm -f $VESTA/web/.update
25+
26+
# Create tmp file
27+
tmp_file=$(mktemp)
28+
29+
# Check latest version
30+
wget -q -T 1 -t 1 http://c.vestacp.com/latest.txt -O $tmp_file
31+
32+
# Define rpm query format
33+
rpm_format="VERSION='%{VERSION}'"
34+
rpm_format="$rpm_format RELEASE='%{RELEASE}'"
35+
rpm_format="$rpm_format ARCH='%{ARCH}'"
36+
rpm_format="$rpm_format UTIME='%{INSTALLTIME}'\n"
37+
38+
# Check vesta version
39+
eval $(rpm --queryformat="$rpm_format" -q vesta)
40+
DATE=$(date -d @$UTIME +%F)
41+
TIME=$(date -d @$UTIME +%T)
42+
latest=$(grep vesta $tmp_file)
43+
UPDATED='yes'
44+
if [ ! -z "$latest" ] && [ "$latest" != "vesta-$VERSION-$RELEASE" ]; then
45+
UPDATED='no'
46+
set_upd_flag='yes'
47+
fi
48+
str="NAME='vesta' VERSION='$VERSION' RELEASE='$RELEASE' ARCH='$ARCH'"
49+
str="$str UPDATED='$UPDATED' DESCR='core package' TIME='$TIME' DATE='$DATE'"
50+
51+
# Check vesta-php version
52+
eval $(rpm --queryformat="$rpm_format" -q vesta-php)
53+
DATE=$(date -d @$UTIME +%F)
54+
TIME=$(date -d @$UTIME +%T)
55+
latest=$(grep php $tmp_file)
56+
UPDATED='yes'
57+
if [ ! -z "$latest" ] && [ "$latest" != "php-$VERSION-$RELEASE" ]; then
58+
UPDATED='no'
59+
set_upd_flag='yes'
60+
fi
61+
str="$str\nNAME='vesta-php' VERSION='$VERSION' RELEASE='$RELEASE' ARCH='$ARCH'"
62+
str="$str UPDATED='$UPDATED' DESCR='php interpreter' TIME='$TIME'"
63+
str="$str DATE='$DATE'"
64+
65+
# Check vesta-nginx version
66+
eval $(rpm --queryformat="$rpm_format" -q vesta-nginx)
67+
DATE=$(date -d @$UTIME +%F)
68+
TIME=$(date -d @$UTIME +%T)
69+
latest=$(grep nginx $tmp_file)
70+
UPDATED='yes'
71+
if [ ! -z "$latest" ] && [ "$latest" != "nginx-$VERSION-$RELEASE" ]; then
72+
UPDATED='no'
73+
set_upd_flag='yes'
74+
fi
75+
str="$str\nNAME='vesta-nginx' VERSION='$VERSION' RELEASE='$RELEASE'"
76+
str="$str ARCH='$ARCH' UPDATED='$UPDATED' DESCR='internal web server'"
77+
str="$str TIME='$TIME' DATE='$DATE'"
78+
79+
# Create flag if updates avaiable
80+
if [ "$set_upd_flag" == 'yes' ]; then
81+
touch $VESTA/web/.update
82+
chmod a+r $VESTA/web/.update
83+
fi
84+
85+
# Defining config
86+
echo -e "$str" > $tmp_file
87+
conf=$tmp_file
88+
89+
# Defining fileds to select
90+
fields="\$NAME \$VERSION \$RELEASE \$ARCH \$UPDATED \$DESCR \$TIME \$DATE"
91+
92+
# Listing services
93+
case $format in
94+
json) json_list ;;
95+
plain) nohead=1; shell_list ;;
96+
shell) fields='$NAME $VERSION $RELEASE $ARCH $UPDATED $TIME $DATE'
97+
shell_list | column -t ;;
98+
*) check_args '1' '0' 'USER [FORMAT]'
99+
esac
100+
101+
rm -f $tmp_file
102+
103+
#----------------------------------------------------------#
104+
# Vesta #
105+
#----------------------------------------------------------#
106+
107+
exit

bin/v-update-sys-vesta

Lines changed: 17 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/bin/bash
2-
# info: update vesta after rpm update
3-
# options: VERSION
2+
# info: update vesta package/configs
3+
# options: PACKAGE [VERSION]
44
#
5-
# The function is runs as rpm update trigger. It pulls shell script from vesta
5+
# The function runs as rpm update trigger. It pulls shell script from vesta
66
# server and runs it.
77

88

@@ -11,8 +11,9 @@
1111
#----------------------------------------------------------#
1212

1313
# Argument defenition
14-
version=$1
15-
updates=''
14+
package=$1
15+
version=$2
16+
release=$3
1617

1718
# Importing system enviroment
1819
source /etc/profile
@@ -27,79 +28,27 @@ source $VESTA/func/main.sh
2728
#----------------------------------------------------------#
2829

2930
# Checking arg number
30-
check_args '1' "$#" 'VERSION'
31+
check_args '1' "$#" 'PACKAGE [VERSION] [RELEASE]'
3132

3233

3334
#----------------------------------------------------------#
3435
# Action #
3536
#----------------------------------------------------------#
3637

37-
# Compare versions
38-
if [ "$version" != "$VERSION" ]; then
39-
# Downloading version tree
40-
upd_host="yum.vestacp.com"
41-
wget -O "/tmp/versions" http://$V_UPD_HOST/upd_scripts/version_tree.txt \
42-
&>/dev/null
38+
# Clean yum chache
39+
yum -q clean all
4340

44-
# Checking download result
45-
if [ "$?" -ne "0" ]; then
46-
echo "Error: version tree update failed"
41+
# Define yum cmd
42+
yum="yum -q -y --noplugins --disablerepo=* --enablerepo=vesta"
43+
44+
# Update vesta package
45+
if [ -z "$version" ]; then
46+
$yum update $package > /dev/null 2>&1
47+
if [ $? -ne 0 ]; then
48+
echo "Error: $package update failed"
4749
log_event "$E_UPDATE" "$EVENT"
4850
exit $E_UPDATE
4951
fi
50-
51-
# Deviding version
52-
v1=$(echo "$version" |cut -f 1 -d '.')
53-
v2=$(echo "$version" |cut -f 2 -d '.')
54-
v3=$(echo "$version" |cut -f 3 -d '.')
55-
V1=$(echo "$VERSION" |cut -f 1 -d '.')
56-
V2=$(echo "$VERSION" |cut -f 2 -d '.')
57-
V3=$(echo "$VERSION" |cut -f 3 -d '.')
58-
59-
60-
# Checking difference between versions
61-
# Too nested tests, sory about complexity
62-
if [ "$V1" -lt "$v1" ]; then
63-
for ver in $(seq $V1 $v1); do
64-
updates="$updates $(grep "^$ver." /tmp/versions|grep ":1$"|\
65-
cut -f 1 -d :)"
66-
done
67-
else
68-
if [ "$V2" -lt "$v2" ]; then
69-
for ver in $(seq $V2 $v2); do
70-
updates="$updates $(grep "^$v1.$ver." /tmp/versions |\
71-
grep ":1$"|cut -f 1 -d :)"
72-
done
73-
else
74-
V4=$((V3 + 1))
75-
for ver in $(seq $V4 $v3); do
76-
updates="$updates $(grep "^$v1.$v2.$ver" /tmp/versions |\
77-
grep ":1$"|cut -f 1 -d :)"
78-
done
79-
fi
80-
fi
81-
82-
# Executing update scripts
83-
if [ ! -z "$updates" ]; then
84-
mkdir $BIN/updates &>/dev/null
85-
86-
for update in $updates; do
87-
wget -O $BIN/updates/$update.sh \
88-
http://$V_UPD_HOST/upd_scripts/$update.sh &>/dev/null
89-
90-
# Checking download result
91-
if [ "$?" -ne "0" ]; then
92-
echo "Error: version tree update failed"
93-
log_event "$E_UPDATE" "$EVENT"
94-
exit $E_UPDATE
95-
fi
96-
bash $BIN/updates/$update.sh
97-
done
98-
rm -rf $BIN/updates
99-
fi
100-
101-
# Updating config version
102-
sed -i "s/VERSION='$VERSION'/VERSION='$version'/g" $VESTA/conf/vesta.conf
10352
fi
10453

10554

web/add/cron/index.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22
// Init
3-
//error_reporting(NULL);
3+
error_reporting(NULL);
44
ob_start();
55
session_start();
66
$TAB = 'CRON';
@@ -40,20 +40,20 @@
4040
$error_msg = $error_msg.", ".$error;
4141
}
4242
}
43-
$_SESSION['error_msg'] = _('Error: field "%s" can not be blank.',$error_msg);
43+
$_SESSION['error_msg'] = _('Field "%s" can not be blank.',$error_msg);
4444
} else {
4545
// Add Cron Job
4646
exec (VESTA_CMD."v-add-cron-job ".$user." ".$v_min." ".$v_hour." ".$v_day." ".$v_month." ".$v_wday." ".$v_cmd, $output, $return_var);
4747
$v_type = $_POST['v_type'];
4848
$v_charset = $_POST['v_charset'];
4949
if ($return_var != 0) {
5050
$error = implode('<br>', $output);
51-
if (empty($error)) $error = _('Error: vesta did not return any output.');
51+
if (empty($error)) $error = _('Error code:',$return_var);
5252
$_SESSION['error_msg'] = $error;
5353
unset($v_password);
5454
unset($output);
5555
} else {
56-
$_SESSION['ok_msg'] = _("OK: cron job has been created successfully.");
56+
$_SESSION['ok_msg'] = _('CRON_CREATED_OK');
5757
unset($v_min);
5858
unset($v_hour);
5959
unset($v_day);

web/add/db/index.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@
2323
if (empty($_POST['v_charset'])) $errors[] = _('charset');
2424

2525
// Check for errors
26-
if (empty($errors[0])) {
26+
if (!empty($errors[0])) {
2727
foreach ($errors as $i => $error) {
2828
if ( $i == 0 ) {
2929
$error_msg = $error;
3030
} else {
3131
$error_msg = $error_msg.", ".$error;
3232
}
3333
}
34-
$_SESSION['error_msg'] = _('Error: field "%s" can not be blank.',$error_msg);
34+
$_SESSION['error_msg'] = _('Field "%s" can not be blank.',$error_msg);
3535
}
3636

3737
// Validate email
@@ -59,7 +59,7 @@
5959
$v_charset = $_POST['v_charset'];
6060
if ($return_var != 0) {
6161
$error = implode('<br>', $output);
62-
if (empty($error)) $error = _('Error: vesta did not return any output.');
62+
if (empty($error)) $error = _('Error code:',$return_var);
6363
$_SESSION['error_msg'] = $error;
6464
unset($v_password);
6565
unset($output);
@@ -72,9 +72,7 @@
7272
$subject = _("Database Credentials");
7373
$hostname = exec('hostname');
7474
$from = _('MAIL_FROM',$hostname);
75-
$mailtext = _('DATABASE_READY',$user,$_POST['v_database'],$user,$_POST['v_dbuser'],$_POST['v_password']);
76-
$mailtext .= $db_admin_link."\n\n";
77-
$mailtext .= "--\n"._('Vesta Control Panel')."\n";
75+
$mailtext = _('DATABASE_READY',$user."_".$_POST['v_database'],$user."_".$_POST['v_dbuser'],$_POST['v_password'],$db_admin_link);
7876
send_email($to, $subject, $mailtext, $from);
7977
}
8078
$_SESSION['ok_msg'] = _('DATABASE_CREATED_OK',$user."_".$_POST['v_database'],$user."_".$_POST['v_database']);

web/add/dns/index.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@
4141
$error_msg = $error_msg.", ".$error;
4242
}
4343
}
44-
$_SESSION['error_msg'] = _('Error: field "%s" can not be blank.',$error_msg);
44+
$_SESSION['error_msg'] = _('Field "%s" can not be blank.',$error_msg);
4545
} else {
4646
// Add DNS
4747
exec (VESTA_CMD."v-add-dns-domain ".$user." ".$v_domain." ".$v_ip." ".$v_template." ".$v_ns1." ".$v_ns2." ".$v_ns3." ".$ns4, $output, $return_var);
4848
if ($return_var != 0) {
4949
$error = implode('<br>', $output);
50-
if (empty($error)) $error = _('Error: vesta did not return any output.');
50+
if (empty($error)) $error = _('Error code:',$return_var);
5151
$_SESSION['error_msg'] = $error;
5252
}
5353
unset($output);
@@ -58,7 +58,7 @@
5858
exec (VESTA_CMD."v-change-dns-domain-exp ".$user." ".$v_domain." ".$v_exp, $output, $return_var);
5959
if ($return_var != 0) {
6060
$error = implode('<br>', $output);
61-
if (empty($error)) $error = _('Error: vesta did not return any output.');
61+
if (empty($error)) $error = _('Error code:',$return_var);
6262
$_SESSION['error_msg'] = $error;
6363
}
6464
unset($output);
@@ -70,14 +70,14 @@
7070
exec (VESTA_CMD."v-change-dns-domain-ttl ".$user." ".$v_domain." ".$v_ttl, $output, $return_var);
7171
if ($return_var != 0) {
7272
$error = implode('<br>', $output);
73-
if (empty($error)) $error = _('Error: vesta did not return any output.');
73+
if (empty($error)) $error = _('Error code:',$return_var);
7474
$_SESSION['error_msg'] = $error;
7575
}
7676
unset($output);
7777
}
7878

7979
if (empty($_SESSION['error_msg'])) {
80-
$_SESSION['ok_msg'] = _('DOMAIN_CREATED_OK',$_POST[v_domain],$_POST[v_domain]);
80+
$_SESSION['ok_msg'] = _('DNS_DOMAIN_CREATED_OK',$_POST[v_domain],$_POST[v_domain]);
8181
unset($v_domain);
8282
}
8383
}
@@ -107,19 +107,19 @@
107107
$error_msg = $error_msg.", ".$error;
108108
}
109109
}
110-
$_SESSION['error_msg'] = _('Error: field "%s" can not be blank.',$error_msg);
110+
$_SESSION['error_msg'] = _('Field "%s" can not be blank.',$error_msg);
111111
} else {
112112
// Add DNS Record
113113
exec (VESTA_CMD."v-add-dns-domain-record ".$user." ".$v_domain." ".$v_rec." ".$v_type." ".$v_val." ".$v_priority, $output, $return_var);
114114
$v_type = $_POST['v_type'];
115115
if ($return_var != 0) {
116116
$error = implode('<br>', $output);
117-
if (empty($error)) $error = _('Error: vesta did not return any output.');
117+
if (empty($error)) $error = _('Error code:',$return_var);
118118
$_SESSION['error_msg'] = $error;
119119
}
120120
unset($output);
121121
if (empty($_SESSION['error_msg'])) {
122-
$_SESSION['ok_msg'] = _('RECORD_CREATED_OK',$_POST[v_rec],$_POST[v_domain]);
122+
$_SESSION['ok_msg'] = _('DNS_RECORD_CREATED_OK',$_POST[v_rec],$_POST[v_domain]);
123123
unset($v_domain);
124124
unset($v_rec);
125125
unset($v_val);

web/add/ip/index.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
$error_msg = $error_msg.", ".$error;
4747
}
4848
}
49-
$_SESSION['error_msg'] = _('Error: field "%s" can not be blank.',$error_msg);
49+
$_SESSION['error_msg'] = _('Field "%s" can not be blank.',$error_msg);
5050
} else {
5151
// Add IP
5252
$v_interface = escapeshellarg($_POST['v_interface']);
@@ -56,7 +56,7 @@
5656
$v_interface = $_POST['v_interface'];
5757
if ($return_var != 0) {
5858
$error = implode('<br>', $output);
59-
if (empty($error)) $error = _('Error: vesta did not return any output.');
59+
if (empty($error)) $error = _('Error code:',$return_var);
6060
$_SESSION['error_msg'] = $error;
6161
unset($v_password);
6262
unset($output);

0 commit comments

Comments
 (0)