Optimized shard function file.

This commit is contained in:
Serghey Rodin 2011-12-17 22:08:54 +02:00
commit 496c3f5cfb
7 changed files with 97 additions and 179 deletions

View file

@ -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 #

View file

@ -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 #

View file

@ -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"

View file

@ -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 #

View file

@ -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

View file

@ -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 #

View file

@ -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