v-unsuspend-dns-record 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/bin/bash
  2. # info: unsuspend dns domain record
  3. # options: USER DOMAIN ID [RESTART]
  4. #
  5. # The function unsuspends a certain domain record.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. user=$1
  11. domain=$2
  12. id=$3
  13. restart=$4
  14. # Includes
  15. source $VESTA/func/main.sh
  16. source $VESTA/func/domain.sh
  17. source $VESTA/conf/vesta.conf
  18. # Additional argument formatting
  19. format_domain
  20. format_domain_idn
  21. #----------------------------------------------------------#
  22. # Verifications #
  23. #----------------------------------------------------------#
  24. check_args '3' "$#" 'USER DOMAIN ID [RESTART]'
  25. is_format_valid 'user' 'domain' 'id'
  26. is_system_enabled "$DNS_SYSTEM" 'DNS_SYSTEM'
  27. is_object_valid 'user' 'USER' "$user"
  28. is_object_valid 'dns' 'DOMAIN' "$domain"
  29. is_object_unsuspended 'dns' 'DOMAIN' "$domain"
  30. is_object_valid "dns/$domain" 'ID' "$id"
  31. #----------------------------------------------------------#
  32. # Action #
  33. #----------------------------------------------------------#
  34. line=$(grep "ID='$id'" $USER_DATA/dns/$domain.conf)
  35. eval $line
  36. sed -i "/^ID='$id'/d" $USER_DATA/dns/$domain.conf
  37. # Adding record
  38. dns_rec="ID='$id' RECORD='$RECORD' TYPE='$TYPE' PRIORITY='$PRIORITY'"
  39. dns_rec="$dns_rec VALUE='$VALUE' SUSPENDED='no' TIME='$TIME' DATE='$DATE'"
  40. echo "$dns_rec" >> $USER_DATA/dns/$domain.conf
  41. # Sorting records
  42. sort_dns_records
  43. # Updating zone
  44. if [[ "$DNS_SYSTEM" =~ named|bind ]]; then
  45. update_domain_serial
  46. update_domain_zone
  47. fi
  48. #----------------------------------------------------------#
  49. # Vesta #
  50. #----------------------------------------------------------#
  51. # Logging
  52. log_event "$OK" "$ARGUMENTS"
  53. exit