mirror of
https://github.com/myvesta/vesta
synced 2025-08-14 02:28:05 -07:00
Added IP_AVAIL key. Issue #50
This commit is contained in:
parent
69006da61a
commit
0bab5ef8f9
6 changed files with 82 additions and 70 deletions
|
@ -165,6 +165,14 @@ if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'no' ]; then
|
|||
fi
|
||||
|
||||
# Filling user config
|
||||
if [ "$user" != 'admin' ]; then
|
||||
ip_avail=$($V_BIN/v_list_user_ips admin plain |grep -w shared|wc -l)
|
||||
u_users=0
|
||||
else
|
||||
ip_avail=0
|
||||
u_users=1
|
||||
fi
|
||||
|
||||
echo "FNAME='$fname'
|
||||
LNAME='$lname'
|
||||
PACKAGE='$package'
|
||||
|
@ -179,8 +187,9 @@ SUSPENDED_DNS='0'
|
|||
SUSPENDED_MAIL='0'
|
||||
SUSPENDED_DB='0'
|
||||
SUSPENDED_CRON='0'
|
||||
IP_AVAIL='$ip_avail'
|
||||
IP_OWNED='0'
|
||||
U_USERS='0'
|
||||
U_USERS='$u_users'
|
||||
U_DISK='0'
|
||||
U_DISK_DIRS='0'
|
||||
U_DISK_WEB='0'
|
||||
|
|
|
@ -90,6 +90,7 @@ SUSPENDED_DNS='$SUSPENDED_DNS'
|
|||
SUSPENDED_MAIL='$SUSPENDED_MAIL'
|
||||
SUSPENDED_DB='$SUSPENDED_DB'
|
||||
SUSPENDED_CRON='$SUSPENDED_CRON'
|
||||
IP_AVAIL='$IP_AVAIL'
|
||||
IP_OWNED='$IP_OWNED'
|
||||
U_USERS='$U_USERS'
|
||||
U_DISK='$U_DISK'
|
||||
|
|
|
@ -91,7 +91,7 @@ fields='$USER $FNAME $LNAME $PACKAGE $WEB_DOMAINS $WEB_ALIASES $WEB_TPL
|
|||
$DNS_DOMAINS $DNS_RECORDS $MAIL_DOMAINS $MAIL_ACCOUNTS $DATABASES
|
||||
$CRON_JOBS $DISK_QUOTA $BANDWIDTH $NS $SHELL $BACKUPS $CONTACT $REPORTS
|
||||
$RKEY $SUSPENDED $SUSPENDED_USERS $SUSPENDED_WEB $SUSPENDED_DNS
|
||||
$SUSPENDED_MAIL $SUSPENDED_DB $SUSPENDED_CRON $IP_OWNED $U_USERS
|
||||
$SUSPENDED_MAIL $SUSPENDED_DB $SUSPENDED_CRON $IP_AVAIL $IP_OWNED $U_USERS
|
||||
$U_DISK $U_DISK_DIRS $U_DISK_WEB $U_DISK_MAIL $U_DISK_DB $U_BANDWIDTH
|
||||
$U_WEB_DOMAINS $U_WEB_SSL $U_WEB_ALIASES $U_DNS_DOMAINS $U_DNS_RECORDS
|
||||
$U_MAIL_DOMAINS $U_MAIL_ACCOUNTS $U_DATABASES $U_CRON_JOBS $DATE'
|
||||
|
|
|
@ -21,46 +21,55 @@ source $V_FUNC/shared.func
|
|||
json_list_user_ips() {
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
owned_ips=$(grep -l "OWNER='$user'" $V_IPS/*)
|
||||
shared_ips=$(grep -H -A5 "OWNER='admin'" $V_IPS/* |\
|
||||
grep "STATUS='shared'"|\
|
||||
cut -f 1 -d - )
|
||||
|
||||
ip_list="$owned_ips\n$shared_ips"
|
||||
fileds_count=$(echo "$fields" | wc -w)
|
||||
|
||||
# Starting main loop
|
||||
for IP in $(echo -e "$ip_list" | sort -u); do
|
||||
IP=$(basename $IP)
|
||||
ip_data=$(cat $V_IPS/$IP)
|
||||
|
||||
# Assing key=value
|
||||
eval $ip_data
|
||||
|
||||
# Closing bracket if there already was output
|
||||
if [ -n "$data" ]; then
|
||||
echo -e ' },'
|
||||
fi
|
||||
i=1
|
||||
for field in $fields; do
|
||||
eval value=$field
|
||||
|
||||
if [ $i -eq 1 ]; then
|
||||
# Printing parrent
|
||||
(( ++i))
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
# Printing child
|
||||
if [ $i -lt $fileds_count ]; then
|
||||
(( ++i))
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
data=1
|
||||
fi
|
||||
for IP in $(ls $V_IPS/); do
|
||||
source $V_IPS/$IP
|
||||
if [ "$OWNER" = "$user" ]; then
|
||||
eval echo "$fields"
|
||||
# Closing bracket if there already was output
|
||||
if [ -n "$data" ]; then
|
||||
echo -e ' },'
|
||||
fi
|
||||
done
|
||||
i=1
|
||||
for field in $fields; do
|
||||
eval value=$field
|
||||
if [ $i -eq 1 ]; then
|
||||
# Printing parrent
|
||||
(( ++i))
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
# Printing child
|
||||
if [ $i -lt $fileds_count ]; then
|
||||
(( ++i))
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
data=1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
else
|
||||
if [ "$OWNER" = 'admin' ] && [ "$STATUS" = 'shared' ]; then
|
||||
i=1
|
||||
for field in $fields; do
|
||||
eval value=$field
|
||||
if [ $i -eq 1 ]; then
|
||||
# Printing parrent
|
||||
(( ++i))
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
# Printing child
|
||||
if [ $i -lt $fileds_count ]; then
|
||||
(( ++i))
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
data=1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Closing bracket if there was output
|
||||
|
@ -70,35 +79,20 @@ json_list_user_ips() {
|
|||
|
||||
# Printing bottom bracket
|
||||
echo -e '}'
|
||||
|
||||
}
|
||||
|
||||
# Shell function
|
||||
shell_list_user_ips() {
|
||||
owned_ips=$(grep -l "OWNER='$user'" $V_IPS/*)
|
||||
shared_ips=$(grep -H -A5 "OWNER='admin'" $V_IPS/* |\
|
||||
grep "STATUS='shared'"|\
|
||||
cut -f 1 -d - )
|
||||
|
||||
ip_list="$owned_ips\n$shared_ips"
|
||||
if [ -z "$nohead" ]; then
|
||||
# Print brief info
|
||||
echo "${fields//$/}"
|
||||
for a in $fields; do
|
||||
echo -e "--------- \c"
|
||||
done
|
||||
echo
|
||||
fi
|
||||
|
||||
# Starting main loop
|
||||
for IP in $(echo -e "$ip_list" | sort -u); do
|
||||
IP=$(basename $IP)
|
||||
ip_data=$(cat $V_IPS/$IP)
|
||||
|
||||
# Assign key/value config
|
||||
eval $ip_data
|
||||
|
||||
# Print result line
|
||||
eval echo "$fields"
|
||||
for IP in $(ls $V_IPS/); do
|
||||
source $V_IPS/$IP
|
||||
if [ "$OWNER" = "$user" ]; then
|
||||
eval echo "$fields"
|
||||
else
|
||||
if [ "$OWNER" = 'admin' ] && [ "$STATUS" = 'shared' ]; then
|
||||
eval echo "$fields"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
|
|
@ -87,10 +87,10 @@ fields="$fields \$DNS_DOMAINS \$DNS_RECORDS \$MAIL_DOMAINS \$MAIL_ACCOUNTS"
|
|||
fields="$fields \$DATABASES \$CRON_JOBS \$DISK_QUOTA \$BANDWIDTH \$NS \$SHELL"
|
||||
fields="$fields \$BACKUPS \$CONTACT \$REPORTS \$RKEY \$SUSPENDED"
|
||||
fields="$fields \$SUSPENDED_USERS \$SUSPENDED_WEB \$SUSPENDED_DNS"
|
||||
fields="$fields \$SUSPENDED_MAIL \$SUSPENDED_DB \$SUSPENDED_CRON \$IP_OWNED"
|
||||
fields="$fields \$U_USERS \$U_DISK \$U_DISK_DIRS \$U_DISK_WEB \$U_DISK_MAIL"
|
||||
fields="$fields \$U_DISK_DB \$U_BANDWIDTH \$U_WEB_DOMAINS \$U_WEB_SSL"
|
||||
fields="$fields \$U_WEB_ALIASES \$U_DNS_DOMAINS \$U_DNS_RECORDS "
|
||||
fields="$fields \$SUSPENDED_MAIL \$SUSPENDED_DB \$SUSPENDED_CRON \$IP_AVAIL"
|
||||
fields="$fields \$IP_OWNED \$U_USERS \$U_DISK \$U_DISK_DIRS \$U_DISK_WEB"
|
||||
fields="$fields \$U_DISK_MAIL \$U_DISK_DB \$U_BANDWIDTH \$U_WEB_DOMAINS"
|
||||
fields="$fields \$U_WEB_SSL \$U_WEB_ALIASES \$U_DNS_DOMAINS \$U_DNS_RECORDS"
|
||||
fields="$fields \$U_MAIL_DOMAINS \$U_MAIL_ACCOUNTS \$U_DATABASES \$U_CRON_JOBS"
|
||||
fields="$fields \$DATE"
|
||||
|
||||
|
|
|
@ -55,6 +55,7 @@ for user in $user_list; do
|
|||
SUSPENDED_MAIL=0
|
||||
SUSPENDED_DB=0
|
||||
SUSPENDED_CRON=0
|
||||
IP_AVAIL=0
|
||||
IP_OWNED=0
|
||||
U_USERS=0
|
||||
DISK=0
|
||||
|
@ -85,7 +86,6 @@ for user in $user_list; do
|
|||
if [ "$user" = 'admin' ]; then
|
||||
SUSPENDED_USERS=$(grep "SUSPENDED='yes'" $V_USERS/*/user.conf|wc -l)
|
||||
U_USERS=$(ls $V_USERS/|wc -l)
|
||||
U_USERS=$((U_USERS - 1))
|
||||
fi
|
||||
|
||||
# Checking ip
|
||||
|
@ -94,7 +94,14 @@ for user in $user_list; do
|
|||
if [ "$OWNER" = "$user" ]; then
|
||||
IP_OWNED=$((IP_OWNED + 1))
|
||||
fi
|
||||
if [ "$OWNER" = 'admin' ] && [ "$STATUS" = 'shared' ]; then
|
||||
IP_AVAIL=$((IP_AVAIL + IP_OWNED))
|
||||
IP_AVAIL=$((IP_AVAIL + 1))
|
||||
fi
|
||||
done
|
||||
if [ "$user" = 'admin' ]; then
|
||||
IP_AVAIL=$(ls $V_IPS | wc -l)
|
||||
fi
|
||||
|
||||
# Checking web system
|
||||
for domain_str in $(cat $V_USERS/$user/web.conf) ;do
|
||||
|
@ -159,6 +166,7 @@ for user in $user_list; do
|
|||
update_user_value "$user" '$SUSPENDED_MAIL' "$SUSPENDED_MAIL"
|
||||
update_user_value "$user" '$SUSPENDED_DB' "$SUSPENDED_DB"
|
||||
update_user_value "$user" '$SUSPENDED_CRON' "$SUSPENDED_CRON"
|
||||
update_user_value "$user" '$IP_AVAIL' "$IP_AVAIL"
|
||||
update_user_value "$user" '$IP_OWNED' "$IP_OWNED"
|
||||
update_user_value "$user" '$U_USERS' "$U_USERS"
|
||||
update_user_value "$user" '$U_DISK' "$U_DISK"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue