mirror of
https://github.com/myvesta/vesta
synced 2025-08-21 05:44:08 -07:00
Optimized shard function file.
This commit is contained in:
parent
8140eae24b
commit
496c3f5cfb
7 changed files with 97 additions and 179 deletions
|
@ -18,6 +18,18 @@ source $VESTA/conf/vars.conf
|
||||||
source $V_CONF/vesta.conf
|
source $V_CONF/vesta.conf
|
||||||
source $V_FUNC/shared.func
|
source $V_FUNC/shared.func
|
||||||
|
|
||||||
|
is_user_free() {
|
||||||
|
# Parsing domain values
|
||||||
|
check_sysuser=$(cut -f 1 -d : /etc/passwd | grep -w "$user" )
|
||||||
|
|
||||||
|
# Checking result
|
||||||
|
if [ ! -z "$check_sysuser" ] || [ -e "$V_USERS/$user" ]; then
|
||||||
|
echo "Error: user $user exist"
|
||||||
|
log_event 'debug' "$E_USER_EXIST $V_EVENT"
|
||||||
|
exit $E_USER_EXIST
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
# Verifications #
|
# Verifications #
|
||||||
|
|
|
@ -31,9 +31,6 @@ is_user_valid
|
||||||
# Checking user is active
|
# Checking user is active
|
||||||
is_user_suspended
|
is_user_suspended
|
||||||
|
|
||||||
# Checking reports existance
|
|
||||||
is_user_key_empty '$REPORTS'
|
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
# Action #
|
# Action #
|
||||||
|
|
|
@ -30,7 +30,6 @@ format_validation 'user' 'domain'
|
||||||
|
|
||||||
# Checking web system is enabled
|
# Checking web system is enabled
|
||||||
is_system_enabled 'web'
|
is_system_enabled 'web'
|
||||||
check_func_result $?
|
|
||||||
|
|
||||||
# Checking user
|
# Checking user
|
||||||
is_user_valid "$user"
|
is_user_valid "$user"
|
||||||
|
|
|
@ -14,6 +14,89 @@ source $VESTA/conf/vars.conf
|
||||||
source $V_CONF/vesta.conf
|
source $V_CONF/vesta.conf
|
||||||
source $V_FUNC/shared.func
|
source $V_FUNC/shared.func
|
||||||
|
|
||||||
|
is_package_avalable() {
|
||||||
|
# Parsing user data
|
||||||
|
usr_data=$(cat $V_USERS/$user/user.conf)
|
||||||
|
for key in $usr_data; do
|
||||||
|
eval ${key%%=*}=${key#*=}
|
||||||
|
done
|
||||||
|
|
||||||
|
# Clearing vars
|
||||||
|
WEB_DOMAINS='0'
|
||||||
|
WEB_SSL='0'
|
||||||
|
DATABASES='0'
|
||||||
|
MAIL_DOMAINS='0'
|
||||||
|
MAIL_BOXES='0'
|
||||||
|
MAIL_FORWARDERS='0'
|
||||||
|
DNS_DOMAINS='0'
|
||||||
|
DISK_QUOTA='0'
|
||||||
|
BANDWIDTH='0'
|
||||||
|
|
||||||
|
# Parsing package
|
||||||
|
pkg_data=$(cat $V_PKG/$package.pkg)
|
||||||
|
for key in $pkg_data; do
|
||||||
|
eval ${key%%=*}=${key#*=}
|
||||||
|
done
|
||||||
|
|
||||||
|
# Comparing user data with package
|
||||||
|
if [ "$WEB_DOMAINS" -lt "$U_WEB_DOMAINS" ] ||\
|
||||||
|
[ "$WEB_SSL" -lt "$U_WEB_SSL" ] ||\
|
||||||
|
[ "$DATABASES" -lt "$U_DATABASES" ] ||\
|
||||||
|
[ "$MAIL_DOMAINS" -lt "$U_MAIL_DOMAINS" ] ||\
|
||||||
|
[ "$DNS_DOMAINS" -lt "$U_DNS_DOMAINS" ] ||\
|
||||||
|
[ "$DISK_QUOTA" -lt "$U_DISK" ] ||\
|
||||||
|
[ "$BANDWIDTH" -lt "$U_BANDWIDTH" ]; then
|
||||||
|
echo "Error: Upgrade package"
|
||||||
|
log_event 'debug' "$E_PKG_UPGRADE $v_log"
|
||||||
|
exit $E_PKG_UPGRADE
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
change_user_package() {
|
||||||
|
# Parsing user data
|
||||||
|
usr_data=$(cat $V_USERS/$user/user.conf)
|
||||||
|
for key in $usr_data; do
|
||||||
|
eval ${key%%=*}=${key#*=}
|
||||||
|
done
|
||||||
|
|
||||||
|
# Parsing package
|
||||||
|
pkg_data=$(cat $V_PKG/$package.pkg)
|
||||||
|
for key in $pkg_data; do
|
||||||
|
eval ${key%%=*}=${key#*=}
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "FNAME='$FNAME'
|
||||||
|
LNAME='$LNAME'
|
||||||
|
PACKAGE='$package'
|
||||||
|
WEB_DOMAINS='$WEB_DOMAINS'
|
||||||
|
WEB_SSL='$WEB_SSL'
|
||||||
|
WEB_ALIASES='$WEB_ALIASES'
|
||||||
|
DATABASES='$DATABASES'
|
||||||
|
MAIL_DOMAINS='$MAIL_DOMAINS'
|
||||||
|
MAIL_BOXES='$MAIL_BOXES'
|
||||||
|
MAIL_FORWARDERS='$MAIL_FORWARDERS'
|
||||||
|
DNS_DOMAINS='$DNS_DOMAINS'
|
||||||
|
DISK_QUOTA='$DISK_QUOTA'
|
||||||
|
BANDWIDTH='$BANDWIDTH'
|
||||||
|
NS='$NS'
|
||||||
|
SHELL='$SHELL'
|
||||||
|
BACKUPS='$BACKUPS'
|
||||||
|
WEB_TPL='$WEB_TPL'
|
||||||
|
SUSPENDED='$SUSPENDED'
|
||||||
|
CONTACT='$CONTACT'
|
||||||
|
REPORTS='$REPORTS'
|
||||||
|
IP_OWNED='$IP_OWNED'
|
||||||
|
U_DIR_DISK='$U_DIR_DISK'
|
||||||
|
U_DISK='$U_DISK'
|
||||||
|
U_BANDWIDTH='$U_BANDWIDTH'
|
||||||
|
U_WEB_DOMAINS='$U_WEB_DOMAINS'
|
||||||
|
U_WEB_SSL='$U_WEB_SSL'
|
||||||
|
U_DNS_DOMAINS='$U_DNS_DOMAINS'
|
||||||
|
U_DATABASES='$U_DATABASES'
|
||||||
|
U_MAIL_DOMAINS='$U_MAIL_DOMAINS'
|
||||||
|
DATE='$DATE'" > $V_USERS/$user/user.conf
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
# Verifications #
|
# Verifications #
|
||||||
|
|
|
@ -40,7 +40,7 @@ is_user_suspended
|
||||||
update_user_value "$user" '$SHELL' "$shell"
|
update_user_value "$user" '$SHELL' "$shell"
|
||||||
|
|
||||||
# Get shell full path
|
# Get shell full path
|
||||||
shell_path=$(get_shell_path)
|
shell_path=$(/usr/bin/chsh --list-shells | grep -w "$shell" )
|
||||||
|
|
||||||
# Changing passwd file
|
# Changing passwd file
|
||||||
/usr/bin/chsh -s "$shell_path" "$user" >/dev/null 2>&1
|
/usr/bin/chsh -s "$shell_path" "$user" >/dev/null 2>&1
|
||||||
|
|
|
@ -31,9 +31,6 @@ is_user_valid
|
||||||
# Checking user is active
|
# Checking user is active
|
||||||
is_user_suspended
|
is_user_suspended
|
||||||
|
|
||||||
# Checking reports existance
|
|
||||||
is_user_value_exist '$REPORTS'
|
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
# Action #
|
# Action #
|
||||||
|
|
172
func/shared.func
172
func/shared.func
|
@ -25,17 +25,6 @@ log_history() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# External function result checker
|
|
||||||
check_func_result() {
|
|
||||||
|
|
||||||
return_code="$1"
|
|
||||||
|
|
||||||
if [[ "$return_code" -ne "$OK" ]]; then
|
|
||||||
log_event 'debug' "$return_code $V_EVENT"
|
|
||||||
exit $return_code
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Argument list checker
|
# Argument list checker
|
||||||
check_args() {
|
check_args() {
|
||||||
|
|
||||||
|
@ -432,7 +421,7 @@ is_system_enabled() {
|
||||||
# System user check
|
# System user check
|
||||||
is_user_valid() {
|
is_user_valid() {
|
||||||
search_user="${1-$user}"
|
search_user="${1-$user}"
|
||||||
check_user=$(cut -f 1 -d : /etc/passwd | grep -w "$search_user" )
|
check_user=$(grep -w "$search_user" /etc/passwd )
|
||||||
if [ -z "$check_user" ]; then
|
if [ -z "$check_user" ]; then
|
||||||
echo "Error: user not found"
|
echo "Error: user not found"
|
||||||
log_event 'debug' "$E_USER_NOTEXIST $V_EVENT"
|
log_event 'debug' "$E_USER_NOTEXIST $V_EVENT"
|
||||||
|
@ -553,44 +542,6 @@ is_package_full() {
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
is_package_avalable() {
|
|
||||||
# Parsing user data
|
|
||||||
usr_data=$(cat $V_USERS/$user/user.conf)
|
|
||||||
for key in $usr_data; do
|
|
||||||
eval ${key%%=*}=${key#*=}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Clearing vars
|
|
||||||
WEB_DOMAINS='0'
|
|
||||||
WEB_SSL='0'
|
|
||||||
DATABASES='0'
|
|
||||||
MAIL_DOMAINS='0'
|
|
||||||
MAIL_BOXES='0'
|
|
||||||
MAIL_FORWARDERS='0'
|
|
||||||
DNS_DOMAINS='0'
|
|
||||||
DISK_QUOTA='0'
|
|
||||||
BANDWIDTH='0'
|
|
||||||
|
|
||||||
# Parsing package
|
|
||||||
pkg_data=$(cat $V_PKG/$package.pkg)
|
|
||||||
for key in $pkg_data; do
|
|
||||||
eval ${key%%=*}=${key#*=}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Comparing user data with package
|
|
||||||
if [ "$WEB_DOMAINS" -lt "$U_WEB_DOMAINS" ] ||\
|
|
||||||
[ "$WEB_SSL" -lt "$U_WEB_SSL" ] ||\
|
|
||||||
[ "$DATABASES" -lt "$U_DATABASES" ] ||\
|
|
||||||
[ "$MAIL_DOMAINS" -lt "$U_MAIL_DOMAINS" ] ||\
|
|
||||||
[ "$DNS_DOMAINS" -lt "$U_DNS_DOMAINS" ] ||\
|
|
||||||
[ "$DISK_QUOTA" -lt "$U_DISK" ] ||\
|
|
||||||
[ "$BANDWIDTH" -lt "$U_BANDWIDTH" ]; then
|
|
||||||
echo "Error: Upgrade package"
|
|
||||||
log_event 'debug' "$E_PKG_UPGRADE $v_log"
|
|
||||||
exit $E_PKG_UPGRADE
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
is_template_valid() {
|
is_template_valid() {
|
||||||
stype="$1"
|
stype="$1"
|
||||||
|
|
||||||
|
@ -676,18 +627,6 @@ restart_schedule() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
is_user_free() {
|
|
||||||
# Parsing domain values
|
|
||||||
check_sysuser=$(cut -f 1 -d : /etc/passwd | grep -w "$user" )
|
|
||||||
|
|
||||||
# Checking result
|
|
||||||
if [ ! -z "$check_sysuser" ] || [ -e "$V_USERS/$user" ]; then
|
|
||||||
echo "Error: user $user exist"
|
|
||||||
log_event 'debug' "$E_USER_EXIST $V_EVENT"
|
|
||||||
exit $E_USER_EXIST
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
is_package_valid() {
|
is_package_valid() {
|
||||||
if [ ! -e "$V_PKG/$package.pkg" ]; then
|
if [ ! -e "$V_PKG/$package.pkg" ]; then
|
||||||
echo "Error: package is not exist"
|
echo "Error: package is not exist"
|
||||||
|
@ -696,28 +635,6 @@ is_package_valid() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
is_user_key_empty() {
|
|
||||||
key="$1"
|
|
||||||
|
|
||||||
# Parsing ip
|
|
||||||
string=$(cat $V_USERS/$user/user.conf )
|
|
||||||
|
|
||||||
# Parsing key=value
|
|
||||||
for keys in $string; do
|
|
||||||
eval ${keys%%=*}=${keys#*=}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Self reference
|
|
||||||
eval value="$key"
|
|
||||||
|
|
||||||
# Checkng key
|
|
||||||
if [ ! -z "$value" ] && [ "$value" != 'no' ] && [ "$value" != '0' ]; then
|
|
||||||
echo "Error: value is not empty = $value "
|
|
||||||
log_event 'debug' "$E_VALUE_EXIST $V_EVENT"
|
|
||||||
exit $E_VALUE_EXIST
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
update_user_value() {
|
update_user_value() {
|
||||||
USER="$1"
|
USER="$1"
|
||||||
key="$2"
|
key="$2"
|
||||||
|
@ -797,76 +714,6 @@ is_type_valid() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
change_user_package() {
|
|
||||||
# Parsing user data
|
|
||||||
usr_data=$(cat $V_USERS/$user/user.conf)
|
|
||||||
for key in $usr_data; do
|
|
||||||
eval ${key%%=*}=${key#*=}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Parsing package
|
|
||||||
pkg_data=$(cat $V_PKG/$package.pkg)
|
|
||||||
for key in $pkg_data; do
|
|
||||||
eval ${key%%=*}=${key#*=}
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "FNAME='$FNAME'
|
|
||||||
LNAME='$LNAME'
|
|
||||||
PACKAGE='$package'
|
|
||||||
WEB_DOMAINS='$WEB_DOMAINS'
|
|
||||||
WEB_SSL='$WEB_SSL'
|
|
||||||
WEB_ALIASES='$WEB_ALIASES'
|
|
||||||
DATABASES='$DATABASES'
|
|
||||||
MAIL_DOMAINS='$MAIL_DOMAINS'
|
|
||||||
MAIL_BOXES='$MAIL_BOXES'
|
|
||||||
MAIL_FORWARDERS='$MAIL_FORWARDERS'
|
|
||||||
DNS_DOMAINS='$DNS_DOMAINS'
|
|
||||||
DISK_QUOTA='$DISK_QUOTA'
|
|
||||||
BANDWIDTH='$BANDWIDTH'
|
|
||||||
NS='$NS'
|
|
||||||
SHELL='$SHELL'
|
|
||||||
BACKUPS='$BACKUPS'
|
|
||||||
WEB_TPL='$WEB_TPL'
|
|
||||||
SUSPENDED='$SUSPENDED'
|
|
||||||
CONTACT='$CONTACT'
|
|
||||||
REPORTS='$REPORTS'
|
|
||||||
IP_OWNED='$IP_OWNED'
|
|
||||||
U_DIR_DISK='$U_DIR_DISK'
|
|
||||||
U_DISK='$U_DISK'
|
|
||||||
U_BANDWIDTH='$U_BANDWIDTH'
|
|
||||||
U_WEB_DOMAINS='$U_WEB_DOMAINS'
|
|
||||||
U_WEB_SSL='$U_WEB_SSL'
|
|
||||||
U_DNS_DOMAINS='$U_DNS_DOMAINS'
|
|
||||||
U_DATABASES='$U_DATABASES'
|
|
||||||
U_MAIL_DOMAINS='$U_MAIL_DOMAINS'
|
|
||||||
DATE='$DATE'" > $V_USERS/$user/user.conf
|
|
||||||
}
|
|
||||||
|
|
||||||
get_shell_path() {
|
|
||||||
check_shell=$(/usr/bin/chsh --list-shells | grep -w "$shell" )
|
|
||||||
echo "$check_shell"
|
|
||||||
}
|
|
||||||
|
|
||||||
is_user_value_exist() {
|
|
||||||
key="$1"
|
|
||||||
string=$(cat $V_USERS/$user/user.conf )
|
|
||||||
|
|
||||||
# Parsing key=value
|
|
||||||
for keys in $string; do
|
|
||||||
eval ${keys%%=*}=${keys#*=}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Self reference
|
|
||||||
eval value="$key"
|
|
||||||
|
|
||||||
# Checking result
|
|
||||||
if [ -z "$value" ] || [ "$value" = 'no' ]; then
|
|
||||||
echo "Error: ${key//$/} is empty"
|
|
||||||
log_event 'debug' "$E_VALUE_EMPTY $V_EVENT"
|
|
||||||
exit $E_VALUE_EMPTY
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
decrease_user_value() {
|
decrease_user_value() {
|
||||||
USER="$1"
|
USER="$1"
|
||||||
key="$2"
|
key="$2"
|
||||||
|
@ -1024,23 +871,6 @@ get_usr_traff() {
|
||||||
echo "$size"
|
echo "$size"
|
||||||
}
|
}
|
||||||
|
|
||||||
get_config_value() {
|
|
||||||
key="$1"
|
|
||||||
# Parsing config
|
|
||||||
string=$(cat $V_CONF/vesta.conf)
|
|
||||||
|
|
||||||
# Parsing key=value
|
|
||||||
for keys in $string; do
|
|
||||||
eval ${keys%%=*}=${keys#*=}
|
|
||||||
done
|
|
||||||
|
|
||||||
# Self reference
|
|
||||||
eval value="$key"
|
|
||||||
|
|
||||||
# Print value
|
|
||||||
echo "$value"
|
|
||||||
}
|
|
||||||
|
|
||||||
is_backup_enabled() {
|
is_backup_enabled() {
|
||||||
BACKUPS=$(grep "BACKUPS='" $V_USERS/$user/user.conf |cut -f 2 -d \')
|
BACKUPS=$(grep "BACKUPS='" $V_USERS/$user/user.conf |cut -f 2 -d \')
|
||||||
if [ -z "$BACKUPS" ] || [[ "$BACKUPS" -le '0' ]]; then
|
if [ -z "$BACKUPS" ] || [[ "$BACKUPS" -le '0' ]]; then
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue