v-delete-dns-on-web-alias 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #!/bin/bash
  2. # info: delete dns domain or dns record based on web domain alias
  3. # options: USER DOMAIN
  4. #
  5. # The function deletes dns domain or dns record based on web domain alias.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. user=$1
  11. domain=$2
  12. dom_alias=$(idn -t --quiet -u "$3" )
  13. dom_alias=$(echo $dom_alias |sed -e 's/\.*$//g' -e 's/^\.*//g')
  14. dom_alias=$(echo $dom_alias |tr '[:upper:]' '[:lower:]')
  15. dom_alias_idn=$(idn -t --quiet -a "$dom_alias" )
  16. restart="$4"
  17. # Includes
  18. source $VESTA/func/main.sh
  19. source $VESTA/func/domain.sh
  20. source $VESTA/conf/vesta.conf
  21. # Additional argument formatting
  22. format_domain
  23. format_domain_idn
  24. #----------------------------------------------------------#
  25. # Verifications #
  26. #----------------------------------------------------------#
  27. check_args '3' "$#" 'USER DOMAIN ALIAS'
  28. is_format_valid 'user' 'domain'
  29. is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
  30. is_system_enabled "$DNS_SYSTEM" 'DNS_SYSTEM'
  31. is_object_valid 'user' 'USER' "$user"
  32. is_object_unsuspended 'user' 'USER' "$user"
  33. is_object_valid 'web' 'DOMAIN' "$domain"
  34. is_object_unsuspended 'web' 'DOMAIN' "$domain"
  35. #----------------------------------------------------------#
  36. # Action #
  37. #----------------------------------------------------------#
  38. # Parsing domain values
  39. get_domain_values 'web'
  40. # Check if it a simple domain
  41. if [ $(echo -e "${dom_alias//\./\n}" | wc -l) -le 2 ]; then
  42. if [ -e "$USER_DATA/dns/$dom_alias.conf" ]; then
  43. $BIN/v-delete-dns-domain $user $dom_alias $IP $restart
  44. fi
  45. else
  46. # Check subdomain
  47. sub=$(echo "$dom_alias" | cut -f1 -d . -s)
  48. root=$(echo "$dom_alias" | sed "s/^$sub.//" )
  49. if [ -e "$USER_DATA/dns/$root.conf" ]; then
  50. if [ "$sub" == '*' ]; then
  51. rec=$(grep -w "RECORD='\*'" $USER_DATA/dns/$root.conf)
  52. else
  53. rec=$(grep -w "RECORD='$sub'" $USER_DATA/dns/$root.conf)
  54. fi
  55. if [ ! -z "$rec" ]; then
  56. eval "$rec"
  57. $BIN/v-delete-dns-record $user "$root" "$ID" $restart
  58. fi
  59. fi
  60. fi
  61. #----------------------------------------------------------#
  62. # Vesta #
  63. #----------------------------------------------------------#
  64. # Logging
  65. log_event "$OK" "$ARGUMENTS"
  66. exit