Skip to content

Commit 496c3f5

Browse files
committed
Optimized shard function file.
1 parent 8140eae commit 496c3f5

File tree

7 files changed

+97
-179
lines changed

7 files changed

+97
-179
lines changed

bin/v_add_sys_user

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,18 @@ source $VESTA/conf/vars.conf
1818
source $V_CONF/vesta.conf
1919
source $V_FUNC/shared.func
2020

21+
is_user_free() {
22+
# Parsing domain values
23+
check_sysuser=$(cut -f 1 -d : /etc/passwd | grep -w "$user" )
24+
25+
# Checking result
26+
if [ ! -z "$check_sysuser" ] || [ -e "$V_USERS/$user" ]; then
27+
echo "Error: user $user exist"
28+
log_event 'debug' "$E_USER_EXIST $V_EVENT"
29+
exit $E_USER_EXIST
30+
fi
31+
}
32+
2133

2234
#----------------------------------------------------------#
2335
# Verifications #

bin/v_add_sys_user_reports

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ is_user_valid
3131
# Checking user is active
3232
is_user_suspended
3333

34-
# Checking reports existance
35-
is_user_key_empty '$REPORTS'
36-
3734

3835
#----------------------------------------------------------#
3936
# Action #

bin/v_add_web_domain_stat

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ format_validation 'user' 'domain'
3030

3131
# Checking web system is enabled
3232
is_system_enabled 'web'
33-
check_func_result $?
3433

3534
# Checking user
3635
is_user_valid "$user"

bin/v_change_sys_user_package

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,89 @@ source $VESTA/conf/vars.conf
1414
source $V_CONF/vesta.conf
1515
source $V_FUNC/shared.func
1616

17+
is_package_avalable() {
18+
# Parsing user data
19+
usr_data=$(cat $V_USERS/$user/user.conf)
20+
for key in $usr_data; do
21+
eval ${key%%=*}=${key#*=}
22+
done
23+
24+
# Clearing vars
25+
WEB_DOMAINS='0'
26+
WEB_SSL='0'
27+
DATABASES='0'
28+
MAIL_DOMAINS='0'
29+
MAIL_BOXES='0'
30+
MAIL_FORWARDERS='0'
31+
DNS_DOMAINS='0'
32+
DISK_QUOTA='0'
33+
BANDWIDTH='0'
34+
35+
# Parsing package
36+
pkg_data=$(cat $V_PKG/$package.pkg)
37+
for key in $pkg_data; do
38+
eval ${key%%=*}=${key#*=}
39+
done
40+
41+
# Comparing user data with package
42+
if [ "$WEB_DOMAINS" -lt "$U_WEB_DOMAINS" ] ||\
43+
[ "$WEB_SSL" -lt "$U_WEB_SSL" ] ||\
44+
[ "$DATABASES" -lt "$U_DATABASES" ] ||\
45+
[ "$MAIL_DOMAINS" -lt "$U_MAIL_DOMAINS" ] ||\
46+
[ "$DNS_DOMAINS" -lt "$U_DNS_DOMAINS" ] ||\
47+
[ "$DISK_QUOTA" -lt "$U_DISK" ] ||\
48+
[ "$BANDWIDTH" -lt "$U_BANDWIDTH" ]; then
49+
echo "Error: Upgrade package"
50+
log_event 'debug' "$E_PKG_UPGRADE $v_log"
51+
exit $E_PKG_UPGRADE
52+
fi
53+
}
54+
55+
change_user_package() {
56+
# Parsing user data
57+
usr_data=$(cat $V_USERS/$user/user.conf)
58+
for key in $usr_data; do
59+
eval ${key%%=*}=${key#*=}
60+
done
61+
62+
# Parsing package
63+
pkg_data=$(cat $V_PKG/$package.pkg)
64+
for key in $pkg_data; do
65+
eval ${key%%=*}=${key#*=}
66+
done
67+
68+
echo "FNAME='$FNAME'
69+
LNAME='$LNAME'
70+
PACKAGE='$package'
71+
WEB_DOMAINS='$WEB_DOMAINS'
72+
WEB_SSL='$WEB_SSL'
73+
WEB_ALIASES='$WEB_ALIASES'
74+
DATABASES='$DATABASES'
75+
MAIL_DOMAINS='$MAIL_DOMAINS'
76+
MAIL_BOXES='$MAIL_BOXES'
77+
MAIL_FORWARDERS='$MAIL_FORWARDERS'
78+
DNS_DOMAINS='$DNS_DOMAINS'
79+
DISK_QUOTA='$DISK_QUOTA'
80+
BANDWIDTH='$BANDWIDTH'
81+
NS='$NS'
82+
SHELL='$SHELL'
83+
BACKUPS='$BACKUPS'
84+
WEB_TPL='$WEB_TPL'
85+
SUSPENDED='$SUSPENDED'
86+
CONTACT='$CONTACT'
87+
REPORTS='$REPORTS'
88+
IP_OWNED='$IP_OWNED'
89+
U_DIR_DISK='$U_DIR_DISK'
90+
U_DISK='$U_DISK'
91+
U_BANDWIDTH='$U_BANDWIDTH'
92+
U_WEB_DOMAINS='$U_WEB_DOMAINS'
93+
U_WEB_SSL='$U_WEB_SSL'
94+
U_DNS_DOMAINS='$U_DNS_DOMAINS'
95+
U_DATABASES='$U_DATABASES'
96+
U_MAIL_DOMAINS='$U_MAIL_DOMAINS'
97+
DATE='$DATE'" > $V_USERS/$user/user.conf
98+
}
99+
17100

18101
#----------------------------------------------------------#
19102
# Verifications #

bin/v_change_sys_user_shell

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ is_user_suspended
4040
update_user_value "$user" '$SHELL' "$shell"
4141

4242
# Get shell full path
43-
shell_path=$(get_shell_path)
43+
shell_path=$(/usr/bin/chsh --list-shells | grep -w "$shell" )
4444

4545
# Changing passwd file
4646
/usr/bin/chsh -s "$shell_path" "$user" >/dev/null 2>&1

bin/v_del_sys_user_reports

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ is_user_valid
3131
# Checking user is active
3232
is_user_suspended
3333

34-
# Checking reports existance
35-
is_user_value_exist '$REPORTS'
36-
3734

3835
#----------------------------------------------------------#
3936
# Action #

func/shared.func

Lines changed: 1 addition & 171 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,6 @@ log_history() {
2525
fi
2626
}
2727

28-
# External function result checker
29-
check_func_result() {
30-
31-
return_code="$1"
32-
33-
if [[ "$return_code" -ne "$OK" ]]; then
34-
log_event 'debug' "$return_code $V_EVENT"
35-
exit $return_code
36-
fi
37-
}
38-
3928
# Argument list checker
4029
check_args() {
4130

@@ -432,7 +421,7 @@ is_system_enabled() {
432421
# System user check
433422
is_user_valid() {
434423
search_user="${1-$user}"
435-
check_user=$(cut -f 1 -d : /etc/passwd | grep -w "$search_user" )
424+
check_user=$(grep -w "$search_user" /etc/passwd )
436425
if [ -z "$check_user" ]; then
437426
echo "Error: user not found"
438427
log_event 'debug' "$E_USER_NOTEXIST $V_EVENT"
@@ -553,44 +542,6 @@ is_package_full() {
553542
esac
554543
}
555544

556-
is_package_avalable() {
557-
# Parsing user data
558-
usr_data=$(cat $V_USERS/$user/user.conf)
559-
for key in $usr_data; do
560-
eval ${key%%=*}=${key#*=}
561-
done
562-
563-
# Clearing vars
564-
WEB_DOMAINS='0'
565-
WEB_SSL='0'
566-
DATABASES='0'
567-
MAIL_DOMAINS='0'
568-
MAIL_BOXES='0'
569-
MAIL_FORWARDERS='0'
570-
DNS_DOMAINS='0'
571-
DISK_QUOTA='0'
572-
BANDWIDTH='0'
573-
574-
# Parsing package
575-
pkg_data=$(cat $V_PKG/$package.pkg)
576-
for key in $pkg_data; do
577-
eval ${key%%=*}=${key#*=}
578-
done
579-
580-
# Comparing user data with package
581-
if [ "$WEB_DOMAINS" -lt "$U_WEB_DOMAINS" ] ||\
582-
[ "$WEB_SSL" -lt "$U_WEB_SSL" ] ||\
583-
[ "$DATABASES" -lt "$U_DATABASES" ] ||\
584-
[ "$MAIL_DOMAINS" -lt "$U_MAIL_DOMAINS" ] ||\
585-
[ "$DNS_DOMAINS" -lt "$U_DNS_DOMAINS" ] ||\
586-
[ "$DISK_QUOTA" -lt "$U_DISK" ] ||\
587-
[ "$BANDWIDTH" -lt "$U_BANDWIDTH" ]; then
588-
echo "Error: Upgrade package"
589-
log_event 'debug' "$E_PKG_UPGRADE $v_log"
590-
exit $E_PKG_UPGRADE
591-
fi
592-
}
593-
594545
is_template_valid() {
595546
stype="$1"
596547

@@ -676,18 +627,6 @@ restart_schedule() {
676627
fi
677628
}
678629

679-
is_user_free() {
680-
# Parsing domain values
681-
check_sysuser=$(cut -f 1 -d : /etc/passwd | grep -w "$user" )
682-
683-
# Checking result
684-
if [ ! -z "$check_sysuser" ] || [ -e "$V_USERS/$user" ]; then
685-
echo "Error: user $user exist"
686-
log_event 'debug' "$E_USER_EXIST $V_EVENT"
687-
exit $E_USER_EXIST
688-
fi
689-
}
690-
691630
is_package_valid() {
692631
if [ ! -e "$V_PKG/$package.pkg" ]; then
693632
echo "Error: package is not exist"
@@ -696,28 +635,6 @@ is_package_valid() {
696635
fi
697636
}
698637

699-
is_user_key_empty() {
700-
key="$1"
701-
702-
# Parsing ip
703-
string=$(cat $V_USERS/$user/user.conf )
704-
705-
# Parsing key=value
706-
for keys in $string; do
707-
eval ${keys%%=*}=${keys#*=}
708-
done
709-
710-
# Self reference
711-
eval value="$key"
712-
713-
# Checkng key
714-
if [ ! -z "$value" ] && [ "$value" != 'no' ] && [ "$value" != '0' ]; then
715-
echo "Error: value is not empty = $value "
716-
log_event 'debug' "$E_VALUE_EXIST $V_EVENT"
717-
exit $E_VALUE_EXIST
718-
fi
719-
}
720-
721638
update_user_value() {
722639
USER="$1"
723640
key="$2"
@@ -797,76 +714,6 @@ is_type_valid() {
797714
fi
798715
}
799716

800-
change_user_package() {
801-
# Parsing user data
802-
usr_data=$(cat $V_USERS/$user/user.conf)
803-
for key in $usr_data; do
804-
eval ${key%%=*}=${key#*=}
805-
done
806-
807-
# Parsing package
808-
pkg_data=$(cat $V_PKG/$package.pkg)
809-
for key in $pkg_data; do
810-
eval ${key%%=*}=${key#*=}
811-
done
812-
813-
echo "FNAME='$FNAME'
814-
LNAME='$LNAME'
815-
PACKAGE='$package'
816-
WEB_DOMAINS='$WEB_DOMAINS'
817-
WEB_SSL='$WEB_SSL'
818-
WEB_ALIASES='$WEB_ALIASES'
819-
DATABASES='$DATABASES'
820-
MAIL_DOMAINS='$MAIL_DOMAINS'
821-
MAIL_BOXES='$MAIL_BOXES'
822-
MAIL_FORWARDERS='$MAIL_FORWARDERS'
823-
DNS_DOMAINS='$DNS_DOMAINS'
824-
DISK_QUOTA='$DISK_QUOTA'
825-
BANDWIDTH='$BANDWIDTH'
826-
NS='$NS'
827-
SHELL='$SHELL'
828-
BACKUPS='$BACKUPS'
829-
WEB_TPL='$WEB_TPL'
830-
SUSPENDED='$SUSPENDED'
831-
CONTACT='$CONTACT'
832-
REPORTS='$REPORTS'
833-
IP_OWNED='$IP_OWNED'
834-
U_DIR_DISK='$U_DIR_DISK'
835-
U_DISK='$U_DISK'
836-
U_BANDWIDTH='$U_BANDWIDTH'
837-
U_WEB_DOMAINS='$U_WEB_DOMAINS'
838-
U_WEB_SSL='$U_WEB_SSL'
839-
U_DNS_DOMAINS='$U_DNS_DOMAINS'
840-
U_DATABASES='$U_DATABASES'
841-
U_MAIL_DOMAINS='$U_MAIL_DOMAINS'
842-
DATE='$DATE'" > $V_USERS/$user/user.conf
843-
}
844-
845-
get_shell_path() {
846-
check_shell=$(/usr/bin/chsh --list-shells | grep -w "$shell" )
847-
echo "$check_shell"
848-
}
849-
850-
is_user_value_exist() {
851-
key="$1"
852-
string=$(cat $V_USERS/$user/user.conf )
853-
854-
# Parsing key=value
855-
for keys in $string; do
856-
eval ${keys%%=*}=${keys#*=}
857-
done
858-
859-
# Self reference
860-
eval value="$key"
861-
862-
# Checking result
863-
if [ -z "$value" ] || [ "$value" = 'no' ]; then
864-
echo "Error: ${key//$/} is empty"
865-
log_event 'debug' "$E_VALUE_EMPTY $V_EVENT"
866-
exit $E_VALUE_EMPTY
867-
fi
868-
}
869-
870717
decrease_user_value() {
871718
USER="$1"
872719
key="$2"
@@ -1024,23 +871,6 @@ get_usr_traff() {
1024871
echo "$size"
1025872
}
1026873

1027-
get_config_value() {
1028-
key="$1"
1029-
# Parsing config
1030-
string=$(cat $V_CONF/vesta.conf)
1031-
1032-
# Parsing key=value
1033-
for keys in $string; do
1034-
eval ${keys%%=*}=${keys#*=}
1035-
done
1036-
1037-
# Self reference
1038-
eval value="$key"
1039-
1040-
# Print value
1041-
echo "$value"
1042-
}
1043-
1044874
is_backup_enabled() {
1045875
BACKUPS=$(grep "BACKUPS='" $V_USERS/$user/user.conf |cut -f 2 -d \')
1046876
if [ -z "$BACKUPS" ] || [[ "$BACKUPS" -le '0' ]]; then

0 commit comments

Comments
 (0)