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_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 #
|
||||
|
|
|
@ -31,9 +31,6 @@ is_user_valid
|
|||
# Checking user is active
|
||||
is_user_suspended
|
||||
|
||||
# Checking reports existance
|
||||
is_user_key_empty '$REPORTS'
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
|
|
|
@ -30,7 +30,6 @@ format_validation 'user' 'domain'
|
|||
|
||||
# Checking web system is enabled
|
||||
is_system_enabled 'web'
|
||||
check_func_result $?
|
||||
|
||||
# Checking user
|
||||
is_user_valid "$user"
|
||||
|
|
|
@ -14,6 +14,89 @@ source $VESTA/conf/vars.conf
|
|||
source $V_CONF/vesta.conf
|
||||
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 #
|
||||
|
|
|
@ -40,7 +40,7 @@ is_user_suspended
|
|||
update_user_value "$user" '$SHELL' "$shell"
|
||||
|
||||
# Get shell full path
|
||||
shell_path=$(get_shell_path)
|
||||
shell_path=$(/usr/bin/chsh --list-shells | grep -w "$shell" )
|
||||
|
||||
# Changing passwd file
|
||||
/usr/bin/chsh -s "$shell_path" "$user" >/dev/null 2>&1
|
||||
|
|
|
@ -31,9 +31,6 @@ is_user_valid
|
|||
# Checking user is active
|
||||
is_user_suspended
|
||||
|
||||
# Checking reports existance
|
||||
is_user_value_exist '$REPORTS'
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
|
|
172
func/shared.func
172
func/shared.func
|
@ -25,17 +25,6 @@ log_history() {
|
|||
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
|
||||
check_args() {
|
||||
|
||||
|
@ -432,7 +421,7 @@ is_system_enabled() {
|
|||
# System user check
|
||||
is_user_valid() {
|
||||
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
|
||||
echo "Error: user not found"
|
||||
log_event 'debug' "$E_USER_NOTEXIST $V_EVENT"
|
||||
|
@ -553,44 +542,6 @@ is_package_full() {
|
|||
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() {
|
||||
stype="$1"
|
||||
|
||||
|
@ -676,18 +627,6 @@ restart_schedule() {
|
|||
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() {
|
||||
if [ ! -e "$V_PKG/$package.pkg" ]; then
|
||||
echo "Error: package is not exist"
|
||||
|
@ -696,28 +635,6 @@ is_package_valid() {
|
|||
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() {
|
||||
USER="$1"
|
||||
key="$2"
|
||||
|
@ -797,76 +714,6 @@ is_type_valid() {
|
|||
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() {
|
||||
USER="$1"
|
||||
key="$2"
|
||||
|
@ -1024,23 +871,6 @@ get_usr_traff() {
|
|||
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() {
|
||||
BACKUPS=$(grep "BACKUPS='" $V_USERS/$user/user.conf |cut -f 2 -d \')
|
||||
if [ -z "$BACKUPS" ] || [[ "$BACKUPS" -le '0' ]]; then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue