Serghey Rodin 14 лет назад
Родитель
Сommit
758b5e7a3e
6 измененных файлов с 58 добавлено и 5 удалено
  1. 13 1
      bin/v_add_sys_ip
  2. 26 0
      bin/v_change_sys_ip_owner
  3. 15 0
      bin/v_delete_sys_ip
  4. 2 1
      bin/v_delete_user_ips
  5. 0 1
      bin/v_list_user_ips
  6. 2 2
      bin/v_update_user_counters

+ 13 - 1
bin/v_add_sys_ip

@@ -90,8 +90,20 @@ namehost_ip_support
 #                       Vesta                              #
 #----------------------------------------------------------#
 
-# Updating user conf
+# Updating user counters
 increase_user_value "$user" '$IP_OWNED'
+if [ "$user" = 'admin' ]; then
+    if [ "$ip_status" = 'shared' ]; then
+        for user in $(ls $V_USERS/); do
+            increase_user_value "$user" '$IP_AVAIL'
+        done
+    else
+        increase_user_value 'admin' '$IP_AVAIL'
+    fi
+else
+    increase_user_value "$user" '$IP_AVAIL'
+    increase_user_value 'admin' '$IP_AVAIL'
+fi
 
 # Adding task to the vesta pipe
 if [ "$web_restart" = 'yes' ]; then

+ 26 - 0
bin/v_change_sys_ip_owner

@@ -53,9 +53,35 @@ is_ip_key_empty '$U_SYS_USERS'
 # Changing ip owner
 ip_owner=$(get_sys_ip_value '$OWNER')
 if [ "$ip_owner" != "$user" ]; then
+    ip_status="$(get_sys_ip_value '$STATUS')"
     update_sys_ip_value '$OWNER' "$user"
     decrease_user_value "$ip_owner" '$IP_OWNED'
+    if [ "$ip_owner" = 'admin' ]; then
+        if [ "$ip_status" = 'shared' ]; then
+            for vesta_user in $(ls $V_USERS/); do
+                decrease_user_value "$vesta_user" '$IP_AVAIL'
+            done
+        else
+            decrease_user_value 'admin' '$IP_AVAIL'
+        fi
+    else
+        decrease_user_value "$ip_owner" '$IP_AVAIL'
+        decrease_user_value 'admin' '$IP_AVAIL'
+    fi
+
     increase_user_value "$user" '$IP_OWNED'
+    if [ "$user" = 'admin' ]; then
+        if [ "$ip_status" = 'shared' ]; then
+            for user in $(ls $V_USERS/); do
+                increase_user_value "$user" '$IP_AVAIL'
+            done
+        else
+            increase_user_value 'admin' '$IP_AVAIL'
+        fi
+    else
+        increase_user_value "$user" '$IP_AVAIL'
+        increase_user_value 'admin' '$IP_AVAIL'
+    fi
 fi
 
 

+ 15 - 0
bin/v_delete_sys_ip

@@ -56,6 +56,7 @@ rconf='/etc/httpd/conf.d/rpaf.conf'
 
 # Get ip owner
 user="$(get_sys_ip_value '$OWNER')"
+ip_status="$(get_sys_ip_value '$STATUS')"
 
 # Deleting interface
 /sbin/ifconfig "$interface" down
@@ -82,6 +83,20 @@ if [ ! -z "$user" ]; then
     decrease_user_value "$user" '$IP_OWNED'
 fi
 
+if [ "$user" = 'admin' ]; then
+    if [ "$ip_status" = 'shared' ]; then
+        for user in $(ls $V_USERS/); do
+            decrease_user_value "$user" '$IP_AVAIL'
+        done
+    else
+        decrease_user_value 'admin' '$IP_AVAIL'
+    fi
+else
+    decrease_user_value "$user" '$IP_AVAIL'
+    decrease_user_value 'admin' '$IP_AVAIL'
+fi
+
+
 # Adding task to the vesta pipe
 if [ "$web_restart" = 'yes' ]; then
     restart_schedule 'web'

+ 2 - 1
bin/v_delete_user_ips

@@ -57,7 +57,8 @@ for ip in $ip_list; do
     # Assig ip to main account
     update_sys_ip_value '$OWNER' 'admin'
     update_sys_ip_value '$STATUS' 'exclusive'
-
+    increase_user_value 'admin' '$IP_OWNED'
+    increase_user_value 'admin' '$IP_AVAIL'
 done
 
 

+ 0 - 1
bin/v_list_user_ips

@@ -25,7 +25,6 @@ json_list_user_ips() {
     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 '        },'

+ 2 - 2
bin/v_update_user_counters

@@ -93,15 +93,15 @@ for user in $user_list; do
         source $V_IPS/$ip
         if [ "$OWNER" = "$user" ]; then
             IP_OWNED=$((IP_OWNED + 1))
+            IP_AVAIL=$((IP_AVAIL + 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    
+    fi
 
     # Checking web system
     U_WEB_DOMAINS=0