|
|
@@ -20,7 +20,8 @@
|
|
|
|
|
|
# Argument definition
|
|
|
user=$1
|
|
|
-domain=$(idn -t --quiet -a "$2" )
|
|
|
+domain=$2
|
|
|
+domain_idn=$2
|
|
|
ip=$3
|
|
|
restart=$4 # will be moved to the end soon
|
|
|
aliases=$5
|
|
|
@@ -32,22 +33,11 @@ source $HESTIA/func/domain.sh
|
|
|
source $HESTIA/func/ip.sh
|
|
|
source $HESTIA/conf/hestia.conf
|
|
|
|
|
|
-# Rewrite all aliases as puni code
|
|
|
-aliases_list=$(echo $aliases | tr "," "\n")
|
|
|
-aliases=''
|
|
|
-for alias in $aliases_list
|
|
|
-do
|
|
|
- if [ -z "$aliases" ]; then
|
|
|
- aliases=$(idn -t --quiet -a "$alias" )
|
|
|
- else
|
|
|
- aliases=$aliases,$(idn -t --quiet -a "$alias" )
|
|
|
- fi
|
|
|
-done
|
|
|
-
|
|
|
# Additional argument formatting
|
|
|
format_domain
|
|
|
format_domain_idn
|
|
|
format_aliases
|
|
|
+domain_utf=$(idn -t --quiet -u "$domain_idn")
|
|
|
|
|
|
#----------------------------------------------------------#
|
|
|
# Verifications #
|
|
|
@@ -59,7 +49,16 @@ is_format_valid 'user' 'domain' 'aliases' 'ip' 'proxy_ext'
|
|
|
is_object_valid 'user' 'USER' "$user"
|
|
|
is_object_unsuspended 'user' 'USER' "$user"
|
|
|
is_package_full 'WEB_DOMAINS' 'WEB_ALIASES'
|
|
|
-is_domain_new 'web' "$domain,$aliases"
|
|
|
+
|
|
|
+if [ "$($BIN/v-list-web-domain $user $domain_utf plain |cut -f 1) " != "$domain" ]; then
|
|
|
+ is_domain_new 'web' "$domain_utf,$aliases"
|
|
|
+fi
|
|
|
+if [ "$($BIN/v-list-web-domain $user $domain_idn plain |cut -f 1) " != "$domain" ]; then
|
|
|
+ is_domain_new 'web' "$domain_idn,$aliases"
|
|
|
+else
|
|
|
+ is_domain_new 'web' "$domain,$aliases"
|
|
|
+fi
|
|
|
+
|
|
|
is_dir_symlink "$HOMEDIR/$user/web"
|
|
|
is_dir_symlink "$HOMEDIR/$user/web/$domain"
|
|
|
|