#!/bin/bash # info: list web domain # options: USER DOMAIN [FORMAT] # # The function of obtaining the list of domain parameters. This call, just as # all v_list_* calls, supports 3 formats - json, shell and plain. #----------------------------------------------------------# # Variable&Function # #----------------------------------------------------------# # Argument defenition user=$1 domain=$2 format=${3-shell} # Includes source $VESTA/func/main.sh # Json function json_list_domain() { i=1 fileds_count=$(echo "$fields" | wc -w) line=$(grep "DOMAIN='$domain'" $conf) echo '{' eval $line for field in $fields; do eval value=$field if [ "$i" -eq 1 ]; then echo -e "\t\"$value\": {" else if [ "$fileds_count" -eq "$i" ]; then echo -e "\t\t\"${field//$/}\": \"$value\"" else echo -e "\t\t\"${field//$/}\": \"$value\"," fi fi (( ++i)) done if [ -n "$value" ]; then echo -e ' }' fi echo -e "}" } # Shell function shell_list_domain() { line=$(grep "DOMAIN='$domain'" $conf) eval $line for field in $fields; do eval key="$field" if [ -z "$key" ]; then key='NULL' fi echo "${field//$/}: $key " done } #----------------------------------------------------------# # Verifications # #----------------------------------------------------------# check_args '2' "$#" 'USER DOMAIN [FORMAT]' is_object_valid 'user' 'USER' "$user" is_object_valid 'web' 'DOMAIN' "$domain" #----------------------------------------------------------# # Action # #----------------------------------------------------------# # Defining config conf=$USER_DATA/web.conf # Defining fileds to select fields='$DOMAIN $IP $IP6 $U_DISK $U_BANDWIDTH $TPL $ALIAS $STATS $STATS_USER $SSL $SSL_HOME $FTP_USER $FTP_PATH $BACKEND $PROXY $PROXY_EXT $AUTH_USER $DOCUMENT_ROOT $SUSPENDED $TIME $DATE' # Defining document root DOCUMENT_ROOT="$HOMEDIR/$user/web/$domain/public_html" # Listing domains case $format in json) json_list_domain ;; plain) nohead=1; shell_list_domain ;; shell) shell_list_domain |column -t;; *) check_args '2' '0' 'USER DOMAIN [FORMAT]' esac #----------------------------------------------------------# # Vesta # #----------------------------------------------------------# exit