Serghey Rodin 14 лет назад
Родитель
Сommit
20f200fbff

+ 3 - 0
bin/v_add_mail_domain

@@ -109,6 +109,9 @@ chmod 660 $USER_DATA/mail/$domain.conf
 
 # Increasing domain value
 increase_user_value "$user" '$U_MAIL_DOMAINS'
+if [ "$dkim" = 'yes' ]; then
+    increase_user_value "$user" '$U_MAIL_DKMI'
+fi
 
 # Logging
 log_history "$EVENT"

+ 1 - 0
bin/v_add_mail_domain_dkim

@@ -72,6 +72,7 @@ fi
 
 # Adding dkim in config
 update_object_value 'mail' 'DOMAIN' "$domain" '$DKIM' 'yes'
+increase_user_value "$user" '$U_MAIL_DKMI'
 
 # Logging
 log_history "$EVENT"

+ 1 - 0
bin/v_add_user

@@ -191,6 +191,7 @@ U_WEB_ALIASES='0'
 U_DNS_DOMAINS='0'
 U_DNS_RECORDS='0'
 U_MAIL_DOMAINS='0'
+U_MAIL_DKIM='0'
 U_MAIL_ACCOUNTS='0'
 U_DATABASES='0'
 U_CRON_JOBS='0'

+ 4 - 0
bin/v_delete_mail_domain

@@ -59,8 +59,12 @@ rm -f $USER_DATA/mail/*@$domain.msg
 
 # Decreasing domain value
 decrease_user_value "$user" '$U_MAIL_DOMAINS'
+if [ "$DKIM" = 'yes' ]; then
+    decrease_user_value "$user" '$U_MAIL_DKMI'
+fi
 decrease_user_value "$user" '$U_MAIL_ACCOUNTS' "$accounts"
 
+
 # Logging
 log_history "$EVENT"
 log_event "$OK" "$EVENT"

+ 1 - 0
bin/v_delete_mail_domain_dkim

@@ -60,6 +60,7 @@ fi
 
 # Updatoing config
 update_object_value 'mail' 'DOMAIN' "$domain" '$DKIM' 'no'
+decrease_user_value "$user" '$U_MAIL_DKMI'
 
 # Logging
 log_history "$EVENT"

+ 3 - 3
bin/v_list_user

@@ -72,15 +72,15 @@ is_object_valid 'user' 'USER' "$user"
 conf=$USER_DATA/user.conf
 
 # Defining fileds to select
-fields='$USER $FNAME $LNAME $PACKAGE $WEB_DOMAINS $WEB_ALIASES $WEB_TPL 
+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
     $CRON_REPORTS $RKEY $SUSPENDED $SUSPENDED_USERS $SUSPENDED_WEB
     $SUSPENDED_DNS $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
-    $U_BACKUPS $TIME $DATE'
+    $U_DNS_RECORDS $U_MAIL_DOMAINS $U_MAIL_DKIM $U_MAIL_ACCOUNTS $U_DATABASES
+    $U_CRON_JOBS $U_BACKUPS $TIME $DATE'
 
 # Listing user
 case $format in 

+ 2 - 2
bin/v_list_users

@@ -82,8 +82,8 @@ 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 \$U_BACKUPS \$TIME \$DATE"
+fields="$fields \$U_MAIL_DOMAINS \$U_MAIL_DKIM \$U_MAIL_ACCOUNTS \$U_DATABASES"
+fields="$fields \$U_CRON_JOBS \$U_BACKUPS \$TIME \$DATE"
 
 # Listing domains
 case $format in 

+ 8 - 4
bin/v_rebuild_mail_domains

@@ -34,10 +34,11 @@ is_object_unsuspended 'user' 'USER' "$user"
 #----------------------------------------------------------#
 
 # Reset counters
-U_MAIL_DOMAINS='0'
-U_MAIL_ACCOUNTS='0'
-SUSPENDED_MAIL='0'
-U_DISK_MAIL='0'
+U_MAIL_DOMAINS=0
+U_MAIL_DKMI=0
+U_MAIL_ACCOUNTS=0
+SUSPENDED_MAIL=0
+U_DISK_MAIL=0
 
 # Checking mail folder
 if [ ! -d "$USER_DATA/mail" ]; then
@@ -78,6 +79,7 @@ for domain in $(search_objects 'mail' 'SUSPENDED' "*" 'DOMAIN'); do
 
     # Adding dkim
     if [ "$DKIM" = 'yes' ]; then
+        U_MAIL_DKMI=$((U_MAIL_DKMI + 1))
         pem="$USER_DATA/mail/$domain.pem"
         pub="$USER_DATA/mail/$domain.pub"
         openssl genrsa -out $pem 512 &>/dev/null
@@ -169,9 +171,11 @@ done
 
 # Updating counters
 update_user_value "$user" '$U_MAIL_DOMAINS' "$U_MAIL_DOMAINS"
+update_user_value "$user" '$U_MAIL_DKMI' "$U_MAIL_DKMI"
 update_user_value "$user" '$U_MAIL_ACCOUNTS' "$U_MAIL_ACCOUNTS"
 update_user_value "$user" '$SUSPENDED_MAIL' "$SUSPENDED_MAIL"
 update_user_value "$user" '$U_DISK_MAIL' "$U_DISK_MAIL"
+
 recalc_user_disk_usage
 
 # Logging

+ 15 - 0
bin/v_update_user_counters

@@ -69,6 +69,7 @@ for user in $user_list; do
     U_DNS_DOMAINS=0
     U_DNS_RECORDS=0
     U_MAIL_DOMAINS=0
+    U_MAIL_DKMI=0
     U_MAIL_ACCOUNTS=0
     U_DATABASES=0
     U_CRON_JOBS=0
@@ -132,6 +133,19 @@ for user in $user_list; do
     done
 
     # Checking mail system
+    for domain_str in $(cat $USER_DATA/mail.conf); do
+        eval $domain_str
+        U_DISK_MAIL=$((U_DISK_MAIL + U_DISK))
+        U_MAIL_DOMAINS=$((U_MAIL_DOMAINS + 1))
+        accounts=$(wc -l $USER_DATA/mail/$DOMAIN.conf| cut -f 1 -d ' ')
+        U_MAIL_ACCOUNTS=$((U_MAIL_ACCOUNTS + accounts))
+        if [ "$DKIM" = 'yes' ]; then
+            U_MAIL_DKIM=$((U_MAIL_DKIM + 1))
+        fi
+        if [ "$SUSPENDED" = 'yes' ]; then
+            SUSPENDED_MAIL=$((SUSPENDED_MAIL + 1))
+        fi
+    done
     SUSPENDED_MAIL=0
     DISK=$((DISK + U_DISK_MAIL))
 
@@ -178,6 +192,7 @@ for user in $user_list; do
     update_user_value "$user" '$U_DNS_DOMAINS' "$U_DNS_DOMAINS"
     update_user_value "$user" '$U_DNS_RECORDS' "$U_DNS_RECORDS"
     update_user_value "$user" '$U_MAIL_DOMAINS' "$U_MAIL_DOMAINS"
+    update_user_value "$user" '$U_MAIL_DKIM' "$U_MAIL_DKIM"
     update_user_value "$user" '$U_MAIL_ACCOUNTS' "$U_MAIL_ACCOUNTS"
     update_user_value "$user" '$U_DATABASES' "$U_DATABASES"
     update_user_value "$user" '$U_CRON_JOBS' "$U_CRON_JOBS"