diff --git a/bin/v-add-user-package b/bin/v-add-user-package
index e4f7883ba..ea82411c8 100755
--- a/bin/v-add-user-package
+++ b/bin/v-add-user-package
@@ -29,16 +29,39 @@ is_package_new() {
is_package_consistent() {
source $pkg_dir/$package.pkg
- validate_format_int $WEB_DOMAINS 'WEB_DOMAINS'
- validate_format_int $WEB_ALIASES 'WEB_ALIASES'
- validate_format_int $DNS_DOMAINS 'DNS_DOMAINS'
- validate_format_int $DNS_RECORDS 'DNS_RECORDS'
- validate_format_int $MAIL_DOMAINS 'MAIL_DOMAINS'
- validate_format_int $MAIL_ACCOUNTS 'MAIL_ACCOUNTS'
- validate_format_int $DATABASES 'DATABASES'
- validate_format_int $CRON_JOBS 'CRON_JOBS'
- validate_format_int $DISK_QUOTA 'DISK_QUOTA'
- validate_format_int $BACKUPS 'BACKUPS'
+ if [ "$WEB_DOMAINS" != 'unlimited' ]; then
+ validate_format_int $WEB_DOMAINS 'WEB_DOMAINS'
+ fi
+ if [ "$WEB_ALIASES" != 'unlimited' ]; then
+ validate_format_int $WEB_ALIASES 'WEB_ALIASES'
+ fi
+ if [ "$DNS_DOMAINS" != 'unlimited' ]; then
+ validate_format_int $DNS_DOMAINS 'DNS_DOMAINS'
+ fi
+ if [ "$DNS_RECORDS" != 'unlimited' ]; then
+ validate_format_int $DNS_RECORDS 'DNS_RECORDS'
+ fi
+ if [ "$MAIL_DOMAINS" != 'unlimited' ]; then
+ validate_format_int $MAIL_DOMAINS 'MAIL_DOMAINS'
+ fi
+ if [ "$MAIL_ACCOUNTS" != 'unlimited' ]; then
+ validate_format_int $MAIL_ACCOUNTS 'MAIL_ACCOUNTS'
+ fi
+ if [ "$DATABASES" != 'unlimited' ]; then
+ validate_format_int $DATABASES 'DATABASES'
+ fi
+ if [ "$CRON_JOBS" != 'unlimited' ]; then
+ validate_format_int $CRON_JOBS 'CRON_JOBS'
+ fi
+ if [ "$DISK_QUOTA" != 'unlimited' ]; then
+ validate_format_int $DISK_QUOTA 'DISK_QUOTA'
+ fi
+ if [ "$BANDWIDTH" != 'unlimited' ]; then
+ validate_format_int $BANDWIDTH 'BANDWIDTH'
+ fi
+ if [ "$BACKUPS" != 'unlimited' ]; then
+ validate_format_int $BACKUPS 'BACKUPS'
+ fi
validate_format_shell $SHELL
}
diff --git a/bin/v-change-user-package b/bin/v-change-user-package
index 1e9a046df..d9b0b756d 100755
--- a/bin/v-change-user-package
+++ b/bin/v-change-user-package
@@ -19,7 +19,7 @@ source $VESTA/func/main.sh
source $VESTA/conf/vesta.conf
is_package_avalable() {
- # Parsing user data
+
usr_data=$(cat $USER_DATA/user.conf)
IFS=$'\n'
for key in $usr_data; do
@@ -37,17 +37,55 @@ is_package_avalable() {
grep -v DATE)
eval $pkg_data
- # Comparing user data with package
- if [[ "$WEB_DOMAINS" -lt "$U_WEB_DOMAINS" ]] ||\
- [[ "$DNS_DOMAINS" -lt "$U_DNS_DOMAINS" ]] ||\
- [[ "$MAIL_DOMAINS" -lt "$U_MAIL_DOMAINS" ]] ||\
- [[ "$DATABASES" -lt "$U_DATABASES" ]] ||\
- [[ "$CRON_JOBS" -lt "$U_CRON_JOBS" ]] ||\
- [[ "$DISK_QUOTA" -lt "$U_DISK" ]] ||\
- [[ "$BANDWIDTH" -lt "$U_BANDWIDTH" ]]; then
- echo "Error: Package not cover current usage"
- log_event "$E_LIMIT" "$EVENT"
- exit $E_LIMIT
+ # Checking usage agains package limits
+ if [ "$WEB_DOMAINS" != 'unlimited' ]; then
+ if [ "$WEB_DOMAINS" -lt "$U_WEB_DOMAINS" ]; then
+ echo "Error: Package doesn't cover WEB_DOMAIN usage"
+ log_event "$E_LIMIT" "$EVENT"
+ exit $E_LIMIT
+ fi
+ fi
+ if [ "$DNS_DOMAINS" ! = 'unlimited' ]; then
+ if [ "$DNS_DOMAINS" -lt "$U_DNS_DOMAINS" ]; then
+ echo "Error: Package doesn't cover DNS_DOMAIN usage"
+ log_event "$E_LIMIT" "$EVENT"
+ exit $E_LIMIT
+ fi
+ fi
+ if [ "$MAIL_DOMAINS" != 'unlimited' ]; then
+ if [ "$MAIL_DOMAINS" -lt "$U_MAIL_DOMAINS" ]; then
+ echo "Error: Package doesn't cover MAIL_DOMAIN usage"
+ log_event "$E_LIMIT" "$EVENT"
+ exit $E_LIMIT
+ fi
+ fi
+ if [ "$DATABASES" != 'unlimited' ]; then
+ if [ "$DATABASES" -lt "$U_DATABASES" ]; then
+ echo "Error: Package doesn't cover DATABASE usage"
+ log_event "$E_LIMIT" "$EVENT"
+ exit $E_LIMIT
+ fi
+ fi
+ if [ "$CRON_JOBS" != 'unlimited' ]; then
+ if [ "$CRON_JOBS" -lt "$U_CRON_JOBS" ]; then
+ echo "Error: Package doesn't cover CRON usage"
+ log_event "$E_LIMIT" "$EVENT"
+ exit $E_LIMIT
+ fi
+ fi
+ if [ "$DISK_QUOTA" != 'unlimited' ]; then
+ if [ "$DISK_QUOTA" -lt "$U_DISK" ]; then
+ echo "Error: Package doesn't cover DISK usage"
+ log_event "$E_LIMIT" "$EVENT"
+ exit $E_LIMIT
+ fi
+ fi
+ if [ "$BANDWIDTH" != 'unlimited' ]; then
+ if [ "$BANDWIDTH" -lt "$U_BANDWIDTH" ]; then
+ echo "Error: Package doesn't cover BANDWIDTH usage"
+ log_event "$E_LIMIT" "$EVENT"
+ exit $E_LIMIT
+ fi
fi
}
@@ -145,6 +183,12 @@ if [ -x "$VESTA/data/packages/$package.sh" ]; then
$VESTA/data/packages/$package.sh "$user" "$CONTACT" "$FNAME" "$LNAME"
fi
+# Update disk quota
+source $VESTA/conf/vesta.conf
+if [ "$DISK_QUOTA" = 'yes' ]; then
+ $BIN/v-update-user-quota $user
+fi
+
#----------------------------------------------------------#
# Vesta #
diff --git a/bin/v-list-user-packages b/bin/v-list-user-packages
index 17f7a1c34..eefac443f 100755
--- a/bin/v-list-user-packages
+++ b/bin/v-list-user-packages
@@ -19,7 +19,7 @@ source $VESTA/func/main.sh
json_list_pkgs() {
echo '{'
fileds_count=$(echo "$fields" | wc -w)
- for package in $(ls -t $VESTA/data/packages); do
+ for package in $(ls -t $VESTA/data/packages |grep .pkg); do
PACKAGE=${package/.pkg/}
pkg_data=$(cat $VESTA/data/packages/$package)
eval $pkg_data
@@ -51,7 +51,7 @@ json_list_pkgs() {
# Shell fnction
shell_list_pkgs() {
- for package in $(ls -t $VESTA/data/packages); do
+ for package in $(ls -t $VESTA/data/packages |grep .pkg); do
PACKAGE=${package/.pkg/}
pkg_descr=$(cat $VESTA/data/packages/$package)
eval $pkg_descr
diff --git a/func/main.sh b/func/main.sh
index 8d309f368..9cfdc6085 100644
--- a/func/main.sh
+++ b/func/main.sh
@@ -113,8 +113,8 @@ is_package_full() {
CRON_JOBS) used=$(wc -l $USER_DATA/cron.conf |cut -f1 -d \ );;
esac
limit=$(grep "^$1=" $USER_DATA/user.conf | cut -f 2 -d \' )
- if [ "$used" -ge "$limit" ]; then
- echo "Error: Limit reached / Upgrade package"
+ if [ "$limit" != 'unlimited' ] && [ "$used" -ge "$limit" ]; then
+ echo "Error: Limit is reached, please upgrade hosting package"
log_event "$E_LIMIT" "$EVENT"
exit $E_LIMIT
fi
diff --git a/web/js/app.js b/web/js/app.js
index 4b4dfa182..3d95304eb 100644
--- a/web/js/app.js
+++ b/web/js/app.js
@@ -710,8 +710,8 @@ var App = {
Core: {},
// CONSTANT VALUES
Constants: {
- UNLIM_VALUE: 'Unlim',
- UNLIM_TRANSLATED_VALUE: 'Unlim'
+ UNLIM_VALUE: 'unlimited',
+ UNLIM_TRANSLATED_VALUE: 'unlimited'
},
// Actions. More widly used funcs
Actions: {
diff --git a/web/templates/admin/list_packages.html b/web/templates/admin/list_packages.html
index 05ca162bc..512d03d04 100644
--- a/web/templates/admin/list_packages.html
+++ b/web/templates/admin/list_packages.html
@@ -69,27 +69,27 @@
: |
- |
+ |
: |
- |
+ |
: |
- |
+ |
: |
- |
+ |
: |
- |
+ |
: |
- |
+ |
@@ -97,34 +97,34 @@
: |
- |
+ |
: |
- |
+ |
: |
- |
+ |
: |
- |
+ |
: |
- |
+ |
: |
- |
+ |
|