|
| 1 | +<<<<<<< HEAD |
1 | 2 | #!/bin/bash |
2 | 3 | # info: add dns domain or dns record based on web domain alias restart |
3 | 4 | # options: USER DOMAIN |
|
78 | 79 | # No Logging |
79 | 80 |
|
80 | 81 | exit |
| 82 | +======= |
| 83 | +#!/bin/bash |
| 84 | +# info: add dns domain or dns record based on web domain alias restart |
| 85 | +# options: USER DOMAIN |
| 86 | +# |
| 87 | +# The function adds dns domain or dns record based on web domain alias. |
| 88 | + |
| 89 | + |
| 90 | +#----------------------------------------------------------# |
| 91 | +# Variable&Function # |
| 92 | +#----------------------------------------------------------# |
| 93 | + |
| 94 | +# Argument defenition |
| 95 | +user=$1 |
| 96 | +domain=$(echo $2 | sed -e 's/\.*$//g' -e 's/^\.*//g') |
| 97 | +domain_idn=$(idn -t --quiet -a "$domain") |
| 98 | +dom_alias=$(idn -t --quiet -u "$3" ) |
| 99 | +dom_alias=$(echo $dom_alias | sed -e 's/\.*$//g' -e 's/^\.*//g') |
| 100 | +dom_alias=$(echo $dom_alias | tr '[:upper:]' '[:lower:]') |
| 101 | +dom_alias_idn=$(idn -t --quiet -a "$dom_alias" ) |
| 102 | +restart="$4" |
| 103 | + |
| 104 | +# Includes |
| 105 | +source $VESTA/conf/vesta.conf |
| 106 | +source $VESTA/func/main.sh |
| 107 | +source $VESTA/func/domain.sh |
| 108 | + |
| 109 | + |
| 110 | +#----------------------------------------------------------# |
| 111 | +# Verifications # |
| 112 | +#----------------------------------------------------------# |
| 113 | + |
| 114 | +check_args '3' "$#" 'USER DOMAIN ALIAS' |
| 115 | +validate_format 'user' 'domain' |
| 116 | +is_system_enabled "$WEB_SYSTEM" |
| 117 | +is_system_enabled "$DNS_SYSTEM" |
| 118 | +is_object_valid 'user' 'USER' "$user" |
| 119 | +is_object_unsuspended 'user' 'USER' "$user" |
| 120 | +is_object_valid 'web' 'DOMAIN' "$domain" |
| 121 | +is_object_unsuspended 'web' 'DOMAIN' "$domain" |
| 122 | + |
| 123 | + |
| 124 | +#----------------------------------------------------------# |
| 125 | +# Action # |
| 126 | +#----------------------------------------------------------# |
| 127 | + |
| 128 | +# Parsing domain values |
| 129 | +get_domain_values 'web' |
| 130 | + |
| 131 | +# Check if it a simple domain |
| 132 | +if [ $(echo -e "${dom_alias//\./\n}" | wc -l) -le 2 ]; then |
| 133 | + if [ ! -e "$USER_DATA/dns/$dom_alias.conf" ]; then |
| 134 | + $BIN/v-add-dns-domain \ |
| 135 | + $user $dom_alias $IP '' '' '' '' '' $restart > /dev/null |
| 136 | + fi |
| 137 | +else |
| 138 | + # Check subdomain |
| 139 | + sub=$(echo "$dom_alias" | cut -f1 -d . -s) |
| 140 | + dom=$(echo "$dom_alias" | sed -e "s/^$sub.//" ) |
| 141 | + if [ ! -e "$USER_DATA/dns/$dom.conf" ]; then |
| 142 | + $BIN/v-add-dns-domain \ |
| 143 | + $user $dom $IP '' '' '' '' '' $restart > /dev/null |
| 144 | + |
| 145 | + if [ $? -eq 0 ]; then |
| 146 | + $BIN/v-add-dns-domain-record \ |
| 147 | + $user $dom "$sub" A $IP '' '' $restart |
| 148 | + fi |
| 149 | + else |
| 150 | + if [ "$sub" == '*' ]; then |
| 151 | + rec=$(grep -w "RECORD='\*'" $USER_DATA/dns/$dom.conf) |
| 152 | + else |
| 153 | + rec=$(grep -w "RECORD='$sub'" $USER_DATA/dns/$dom.conf) |
| 154 | + fi |
| 155 | + if [ -z "$rec" ]; then |
| 156 | + $BIN/v-add-dns-domain-record \ |
| 157 | + $user $dom "$sub" A $IP '' '' $restart > /dev/null |
| 158 | + fi |
| 159 | + fi |
| 160 | +fi |
| 161 | + |
| 162 | + |
| 163 | +#----------------------------------------------------------# |
| 164 | +# Vesta # |
| 165 | +#----------------------------------------------------------# |
| 166 | + |
| 167 | +# No Logging |
| 168 | + |
| 169 | +exit |
| 170 | +>>>>>>> 994c40901078e48fe939536f7b366e29c2e44a1d |
0 commit comments