mirror of
https://github.com/myvesta/vesta
synced 2025-08-14 10:37:42 -07:00
removed limit&offset function + faster listings
This commit is contained in:
parent
8a5d155fb4
commit
90da0f8881
35 changed files with 1378 additions and 1530 deletions
|
@ -74,55 +74,3 @@ is_cert_used() {
|
|||
exit $E_CERT_USED
|
||||
fi
|
||||
}
|
||||
|
||||
cert_json_list() {
|
||||
|
||||
# Definigng variables
|
||||
i='1' # iterator
|
||||
j='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Print top bracket
|
||||
echo '['
|
||||
|
||||
# Checking certificates number
|
||||
last=$(ls $V_USERS/$user/cert/|grep '.crt' | wc -l)
|
||||
|
||||
# Listing files by mask
|
||||
for cert in $(ls $V_USERS/$user/cert/|grep '.crt'); do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
if [ "$i" -ne "$last" ] && [ "$j" -ne "$limit" ]; then
|
||||
echo -e "\t\"${cert//.crt/}\","
|
||||
else
|
||||
echo -e "\t\"${cert//.crt/}\""
|
||||
fi
|
||||
j=$(($j + 1))
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
|
||||
# Printing bottom bracket
|
||||
echo -e "]"
|
||||
}
|
||||
|
||||
cert_shell_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Print brief info
|
||||
echo "Certificate"
|
||||
echo "----------"
|
||||
|
||||
# Listing files by mask
|
||||
for cert in $(ls $V_USERS/$user/cert/|grep '.crt'); do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Print result
|
||||
echo "${cert//.crt/}"
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
}
|
||||
|
|
|
@ -72,94 +72,6 @@ del_cron_job() {
|
|||
sed -i "$str d" $V_USERS/$user/cron.conf
|
||||
}
|
||||
|
||||
crn_json_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Reading file line by line
|
||||
while read line ; do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Defining new delimeter
|
||||
IFS=$'\n'
|
||||
# Parsing key=value
|
||||
for key in $(echo $line|sed -e "s/' /'\n/g"); do
|
||||
eval ${key%%=*}="${key#*=}"
|
||||
done
|
||||
|
||||
# Checking !first line to print bracket
|
||||
if [ "$i" -ne "$offset" ]; then
|
||||
echo -e "\t},"
|
||||
fi
|
||||
|
||||
j=1 # local loop iterator
|
||||
last_word=$(echo "$fields" | wc -w)
|
||||
|
||||
# Restoring old delimeter
|
||||
IFS=' '
|
||||
# Print data
|
||||
for field in $fields; do
|
||||
eval value=\"$field\"
|
||||
value=$(echo "$value"|sed -e 's/"/\\"/g' -e "s/%quote%/'/g")
|
||||
|
||||
# Checking parrent key
|
||||
if [ "$j" -eq 1 ]; then
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
if [ "$j" -eq "$last_word" ]; then
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
fi
|
||||
fi
|
||||
j=$(($j + 1))
|
||||
done
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done < $conf
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$value" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
|
||||
# Printing bottom json bracket
|
||||
echo -e "}"
|
||||
}
|
||||
|
||||
crn_shell_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Print brief info
|
||||
echo "${fields//$/}"
|
||||
for a in $(echo ${fields//\~/ /}); do
|
||||
echo -e "-----~\c"
|
||||
done
|
||||
echo
|
||||
|
||||
|
||||
# Reading file line by line
|
||||
while read line ; do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Defining new delimeter
|
||||
IFS=$'\n'
|
||||
# Parsing key=value
|
||||
for key in $(echo $line|sed -e "s/' /'\n/g"); do
|
||||
eval ${key%%=*}="${key#*=}"
|
||||
done
|
||||
# Print result line
|
||||
eval echo "\"$fields\""|sed -e "s/%quote%/'/g"
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done < $conf
|
||||
}
|
||||
|
||||
is_job_suspended() {
|
||||
# Parsing jobs
|
||||
|
|
132
func/db_func.sh
132
func/db_func.sh
|
@ -22,138 +22,6 @@ is_db_new() {
|
|||
fi
|
||||
}
|
||||
|
||||
# Shell list for single database
|
||||
db_shell_single_list() {
|
||||
|
||||
# Reading file line by line
|
||||
line=$(grep "DB='$database'" $conf)
|
||||
|
||||
# Parsing key=value
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Print result line
|
||||
for field in $fields; do
|
||||
eval key="$field"
|
||||
echo "${field//$/}: $key "
|
||||
done
|
||||
}
|
||||
|
||||
# Json single list
|
||||
db_json_single_list() {
|
||||
i=1
|
||||
|
||||
# Define words number
|
||||
last_word=$(echo "$fields" | wc -w)
|
||||
|
||||
# Reading file line by line
|
||||
line=$(grep "DB='$database'" $conf)
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Parsing key=value
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Starting output loop
|
||||
for field in $fields; do
|
||||
|
||||
# Parsing key=value
|
||||
eval value=$field
|
||||
|
||||
# Checking first field
|
||||
if [ "$i" -eq 1 ]; then
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
if [ "$last_word" -eq "$i" ]; then
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
fi
|
||||
fi
|
||||
|
||||
# Updating iterator
|
||||
i=$(( i + 1))
|
||||
done
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$value" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
|
||||
# Printing bottom json bracket
|
||||
echo -e "}"
|
||||
}
|
||||
|
||||
# Shell list for single database host
|
||||
dbhost_shell_single_list() {
|
||||
|
||||
# Reading file line by line
|
||||
line=$(grep "HOST='$host'" $conf)
|
||||
|
||||
# Parsing key=value
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Print result line
|
||||
for field in $fields; do
|
||||
eval key="$field"
|
||||
echo "${field//$/}: $key"
|
||||
done
|
||||
}
|
||||
|
||||
# Json list for single db host
|
||||
dbhost_json_single_list() {
|
||||
|
||||
# Definigng variables
|
||||
i=1 # iterator
|
||||
|
||||
# Define words number
|
||||
last_word=$(echo "$fields" | wc -w)
|
||||
|
||||
# Reading file line by line
|
||||
line=$(grep "HOST='$host'" $conf)
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Parsing key=value
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Starting output loop
|
||||
for field in $fields; do
|
||||
|
||||
# Parsing key=value
|
||||
eval value=$field
|
||||
|
||||
# Checking first field
|
||||
if [ "$i" -eq 1 ]; then
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
if [ "$last_word" -eq "$i" ]; then
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
fi
|
||||
fi
|
||||
|
||||
# Updating iterator
|
||||
i=$(( i + 1))
|
||||
done
|
||||
# If there was any output
|
||||
if [ -n "$value" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
|
||||
# Printing bottom json bracket
|
||||
echo -e "}"
|
||||
}
|
||||
|
||||
# Checking database host existance
|
||||
is_db_host_valid() {
|
||||
|
|
|
@ -498,276 +498,6 @@ del_web_domain() {
|
|||
}
|
||||
|
||||
|
||||
dns_shell_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Print brief info
|
||||
echo "${fields//$/}"
|
||||
for a in $fields; do
|
||||
echo -e "------ \c"
|
||||
done
|
||||
echo
|
||||
|
||||
# Reading file line by line
|
||||
while read line ; do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Defining new delimeter
|
||||
IFS=$'\n'
|
||||
# Parsing key=value
|
||||
for key in $(echo $line|sed -e "s/' /'\n/g"); do
|
||||
eval ${key%%=*}="${key#*=}"
|
||||
done
|
||||
# Print result line
|
||||
eval echo "\"$fields\""|sed -e "s/%quote%/'/g"
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done < $conf
|
||||
}
|
||||
|
||||
dns_json_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Reading file line by line
|
||||
while read line ; do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Defining new delimeter
|
||||
IFS=$'\n'
|
||||
# Parsing key=value
|
||||
for key in $(echo $line|sed -e "s/' /'\n/g"); do
|
||||
eval ${key%%=*}="${key#*=}"
|
||||
done
|
||||
|
||||
# Checking !first line to print bracket
|
||||
if [ "$i" -ne "$offset" ]; then
|
||||
echo -e "\t},"
|
||||
fi
|
||||
|
||||
j=1 # local loop iterator
|
||||
last_word=$(echo "$fields" | wc -w)
|
||||
|
||||
# Restoring old delimeter
|
||||
IFS=' '
|
||||
# Print data
|
||||
for field in $fields; do
|
||||
eval value=\"$field\"
|
||||
value=$(echo "$value"|sed -e 's/"/\\"/g' -e "s/%quote%/'/g")
|
||||
|
||||
# Checking parrent key
|
||||
if [ "$j" -eq 1 ]; then
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
if [ "$j" -eq "$last_word" ]; then
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
fi
|
||||
fi
|
||||
j=$(($j + 1))
|
||||
done
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done < $conf
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$value" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
|
||||
# Printing bottom json bracket
|
||||
echo -e "}"
|
||||
}
|
||||
|
||||
# Shell list for dns domain templates
|
||||
dnstpl_shell_list() {
|
||||
# Definigng variables
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Listing files by mask
|
||||
for template in $(ls $V_DNSTPL/| grep '.descr'); do
|
||||
|
||||
# Defining template name
|
||||
tpl_name="${template//.descr/}"
|
||||
|
||||
# Defining template description
|
||||
tpl_descr=$(cat $V_DNSTPL/$template |grep '#')
|
||||
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Print result
|
||||
echo "----------"
|
||||
echo "TEMPLATE: $tpl_name"
|
||||
echo "${tpl_descr//# /}"
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
}
|
||||
|
||||
# Json list for dns domain templates
|
||||
dnstpl_json_list() {
|
||||
i=1 # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Listing files by mask
|
||||
for template in $(ls $V_DNSTPL/| grep '.descr'); do
|
||||
|
||||
# Defining template description
|
||||
descr=$(cat $V_DNSTPL/$template |grep '#'|sed -e ':a;N;$!ba;s/\n/ /g')
|
||||
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Checking !first line to print bracket
|
||||
if [ "$i" -ne "$offset" ]; then
|
||||
echo -e "\t},"
|
||||
fi
|
||||
|
||||
# Defining template name
|
||||
tpl_name="${template//.descr/}"
|
||||
|
||||
# Print result
|
||||
echo -e "\t\"$tpl_name\": {"
|
||||
echo -e "\t\t\"DESCR\": \"${descr//# /}\""
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$tpl_name" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
|
||||
echo "}"
|
||||
}
|
||||
|
||||
dom_json_single_list() {
|
||||
i=1 # iterator
|
||||
|
||||
# Define words number
|
||||
last_word=$(echo "$fields" | wc -w)
|
||||
|
||||
# Reading file line by line
|
||||
line=$(grep "DOMAIN='$domain'" $conf)
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Parsing key=value
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Starting output loop
|
||||
for field in $fields; do
|
||||
# Parsing key=value
|
||||
eval value=$field
|
||||
|
||||
# Checking first field
|
||||
if [ "$i" -eq 1 ]; then
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
if [ "$last_word" -eq "$i" ]; then
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
fi
|
||||
fi
|
||||
# Updating iterator
|
||||
i=$(( i + 1))
|
||||
done
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$value" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
# Printing bottom json bracket
|
||||
echo -e "}"
|
||||
}
|
||||
|
||||
dom_shell_single_list() {
|
||||
|
||||
# Reading file line by line
|
||||
line=$(grep "DOMAIN='$domain'" $conf)
|
||||
|
||||
# Parsing key=value
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Print result line
|
||||
for field in $fields; do
|
||||
eval key="$field"
|
||||
echo "${field//$/}: $key "
|
||||
done
|
||||
}
|
||||
|
||||
webtpl_json_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Listing files by mask
|
||||
for template in $(echo "$templates" |sed -e "s/,/\n/g"); do
|
||||
# Defining template description
|
||||
descr=$(cat $V_WEBTPL/apache_$template.descr|grep '#'|\
|
||||
sed -e ':a;N;$!ba;s/\n/ /g')
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Checking !first line to print bracket
|
||||
if [ "$i" -ne "$offset" ]; then
|
||||
echo -e "\t},"
|
||||
fi
|
||||
|
||||
# Print result
|
||||
echo -e "\t\"$template\": {"
|
||||
echo -e "\t\t\"DESCR\": \"${descr//# /}\""
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$template" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
echo "}"
|
||||
}
|
||||
|
||||
webtpl_shell_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Listing files by mask
|
||||
for template in $(echo "$templates" |sed -e "s/,/\n/g"); do
|
||||
# Defining template description
|
||||
tpl_descr=$(cat $V_WEBTPL/apache_$template.descr |grep '#')
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Print result
|
||||
echo "----------"
|
||||
echo "TEMPLATE: $template"
|
||||
echo "${tpl_descr//# /}"
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
}
|
||||
|
||||
dom_clear_search(){
|
||||
# Defining delimeter
|
||||
IFS=$'\n'
|
||||
|
|
294
func/ip_func.sh
294
func/ip_func.sh
|
@ -276,272 +276,6 @@ get_current_interface() {
|
|||
echo "$i"
|
||||
}
|
||||
|
||||
ip_json_single_list() {
|
||||
# Definigng variables
|
||||
IP="$ip" # ip
|
||||
i=1 # iterator
|
||||
|
||||
# Define words number
|
||||
last_word=$(echo "$fields" | wc -w)
|
||||
|
||||
# Reading file line by line
|
||||
line=$(cat $V_IPS/$IP)
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Parsing key=value
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Starting output loop
|
||||
for field in $fields; do
|
||||
# Parsing key=value
|
||||
eval value=$field
|
||||
# Checking first field
|
||||
if [ "$i" -eq 1 ]; then
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
if [ "$last_word" -eq "$i" ]; then
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
fi
|
||||
fi
|
||||
# Updating iterator
|
||||
i=$(( i + 1))
|
||||
done
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$value" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
|
||||
# Printing bottom json bracket
|
||||
echo -e "}"
|
||||
}
|
||||
|
||||
ip_shell_single_list() {
|
||||
# Definigng variables
|
||||
IP="$ip" # ip
|
||||
|
||||
# Reading file line by line
|
||||
line=$(cat $V_IPS/$IP)
|
||||
|
||||
# Parsing key=value
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Print result line
|
||||
for field in $fields; do
|
||||
eval key="$field"
|
||||
echo "${field//$/}: $key "
|
||||
done
|
||||
}
|
||||
|
||||
ip_json_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Definining user list
|
||||
ip_list=$(ls $V_IPS/)
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Starting main loop
|
||||
for IP in $ip_list; do
|
||||
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Reading user data
|
||||
ip_data=$(cat $V_IPS/$IP)
|
||||
|
||||
# Parsing key/value config
|
||||
for key in $ip_data; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Checking !first line to print bracket with coma
|
||||
if [ "$i" -ne "$offset" ]; then
|
||||
echo -e "\t},"
|
||||
fi
|
||||
|
||||
# Defining local iterator and words count
|
||||
j='1'
|
||||
last_word=$(echo "$fields" | wc -w)
|
||||
|
||||
# Print data
|
||||
for field in $fields; do
|
||||
eval value=$field
|
||||
# Checking parrent key
|
||||
if [ "$j" -eq 1 ]; then
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
if [ "$j" -eq "$last_word" ]; then
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
fi
|
||||
fi
|
||||
j=$(($j + 1))
|
||||
done
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$value" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
|
||||
# Printing bottom json bracket
|
||||
echo '}'
|
||||
}
|
||||
|
||||
ip_shell_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Definining ip list
|
||||
ip_list=$(ls $V_IPS/)
|
||||
|
||||
# Print brief info
|
||||
echo "${fields//$/}"
|
||||
for a in $fields; do
|
||||
echo -e "--------- \c"
|
||||
done
|
||||
echo # new line
|
||||
|
||||
# Starting main loop
|
||||
for IP in $ip_list; do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Reading user data
|
||||
ip_data=$(cat $V_IPS/$IP)
|
||||
|
||||
# Parsing key/value config
|
||||
for key in $ip_data; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Print result line
|
||||
eval echo "$fields"
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
}
|
||||
|
||||
ip_user_json_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
user_ip=$(grep -l "OWNER='$user'" $V_IPS/*)
|
||||
owner_ip=$(grep -l -A2 "OWNER='vesta'" $V_IPS/*|grep "STATUS='shared'"|\
|
||||
cut -f 1 -d -)
|
||||
|
||||
# Definining ip list
|
||||
ip_list=$(echo -e "$user_ip\n$owner_ip"|sort|uniq)
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Starting main loop
|
||||
for IP in ${ip_list//$V_IPS\//}; do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Reading user data
|
||||
ip_data=$(cat $V_IPS/$IP)
|
||||
|
||||
# Parsing key/value config
|
||||
for key in $ip_data; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Checking !first line to print bracket with coma
|
||||
if [ "$i" -ne "$offset" ]; then
|
||||
echo -e "\t},"
|
||||
fi
|
||||
|
||||
# Defining local iterator and words count
|
||||
j='1'
|
||||
last_word=$(echo "$fields"| wc -w)
|
||||
|
||||
# Print data
|
||||
for field in $fields; do
|
||||
eval value=$field
|
||||
|
||||
# There is outpup
|
||||
if [ ! -z "$value" ]; then
|
||||
tpt='yes'
|
||||
fi
|
||||
|
||||
# Checking parrent key
|
||||
if [ "$j" -eq 1 ]; then
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
if [ "$j" -eq "$last_word" ]; then
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
fi
|
||||
fi
|
||||
j=$(($j + 1))
|
||||
done
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$tpt" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
|
||||
# Printing bottom json bracket
|
||||
echo '}'
|
||||
}
|
||||
|
||||
ip_user_shell_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
user_ip=$(grep -l "OWNER='$user'" $V_IPS/*)
|
||||
owner_ip=$(grep -A2 "OWNER='vesta'" $V_IPS/* |grep "STATUS='shared'" |\
|
||||
cut -f 1 -d -)
|
||||
|
||||
# Definining ip list
|
||||
ip_list=$(echo -e "$user_ip\n$owner_ip"|sort|uniq)
|
||||
|
||||
# Print brief info
|
||||
echo "${fields//$/}"
|
||||
for a in $fields; do
|
||||
echo -e "--------- \c"
|
||||
done
|
||||
echo # new line
|
||||
|
||||
# Starting main loop
|
||||
for IP in ${ip_list//$V_IPS\//}; do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Reading user data
|
||||
ip_data=$(cat $V_IPS/$IP)
|
||||
|
||||
# Parsing key/value config
|
||||
for key in $ip_data; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Print result line
|
||||
eval echo "$fields"
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
}
|
||||
|
||||
ip_add_vesta() {
|
||||
# Filling ip values
|
||||
ip_data="OWNER='$user'"
|
||||
|
@ -569,34 +303,6 @@ ip_add_startup() {
|
|||
echo -e "$ip_data" >$iconf-$iface
|
||||
}
|
||||
|
||||
ipint_json_list() {
|
||||
interfaces=$(cat /proc/net/dev|grep :|cut -f 1 -d :|sed -e "s/ //g")
|
||||
int_counter=$(echo "$interfaces"|wc -l)
|
||||
i=1
|
||||
# Print top bracket
|
||||
echo '['
|
||||
# Listing servers
|
||||
for interface in $interfaces; do
|
||||
if [ "$i" -lt "$int_counter" ]; then
|
||||
echo -e "\t\"$interface\","
|
||||
else
|
||||
echo -e "\t\"$interface\""
|
||||
fi
|
||||
i=$((i + 1))
|
||||
done
|
||||
echo "]"
|
||||
}
|
||||
|
||||
ipint_shell_list() {
|
||||
interfaces=$(cat /proc/net/dev|grep :|cut -f 1 -d :|sed -e "s/ //g")
|
||||
# Print result
|
||||
echo "INTERFACES"
|
||||
echo "----------"
|
||||
for interface in $interfaces; do
|
||||
echo "$interface"
|
||||
done
|
||||
}
|
||||
|
||||
ip_owner_search(){
|
||||
for ip in $(ls $V_IPS/); do
|
||||
check_owner=$(grep "OWNER='$user'" $V_IPS/$ip)
|
||||
|
|
|
@ -355,9 +355,7 @@ format_validation() {
|
|||
mask) format_ip "$v" ;;
|
||||
max_usr) format_int "$v" ;;
|
||||
max_db) format_int "$v" ;;
|
||||
limit) format_int "$v" ;;
|
||||
lname) format_usr "$v" ;;
|
||||
offset) format_int "$v" ;;
|
||||
owner) format_usr "$v" ;;
|
||||
package) format_usr "$v" ;;
|
||||
password) format_pwd "$v" ;;
|
||||
|
@ -375,7 +373,6 @@ format_validation() {
|
|||
|
||||
# Sub system checker
|
||||
is_system_enabled() {
|
||||
|
||||
stype="$1"
|
||||
|
||||
web_function() {
|
||||
|
@ -936,301 +933,82 @@ decrease_user_value() {
|
|||
fi
|
||||
}
|
||||
|
||||
# Json listing function
|
||||
v_json_list() {
|
||||
# Definigng variables
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
value='' # clean start value
|
||||
|
||||
# Json listing function
|
||||
json_list() {
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Reading file line by line
|
||||
while read line ; do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Parsing key=value
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Checking !first line to print bracket
|
||||
if [ "$i" -ne "$offset" ]; then
|
||||
echo -e "\t},"
|
||||
fi
|
||||
|
||||
j=1 # local loop iterator
|
||||
last_word=$(echo "$fields" | wc -w)
|
||||
|
||||
# Print data
|
||||
for field in $fields; do
|
||||
eval value=$field
|
||||
|
||||
# Checking if value exists
|
||||
if [ ! -z "$value" ]; then
|
||||
tpt=yes
|
||||
fi
|
||||
|
||||
# Checking parrent key
|
||||
if [ "$j" -eq 1 ]; then
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
if [ "$j" -eq "$last_word" ]; then
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
fi
|
||||
fi
|
||||
j=$(($j + 1))
|
||||
done
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done < $conf
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$tpt" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
|
||||
# Printing bottom json bracket
|
||||
echo -e "}"
|
||||
}
|
||||
|
||||
# Shell listing function
|
||||
v_shell_list() {
|
||||
|
||||
# Definigng variables
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
# Print brief info
|
||||
echo "${fields//$/}"
|
||||
for a in $fields; do
|
||||
echo -e "------ \c"
|
||||
done
|
||||
echo # new line
|
||||
# Count fields
|
||||
fileds_count=$(echo $fields| wc -w )
|
||||
|
||||
# Reading file line by line
|
||||
while read line ; do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Parsing key=value
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
# Print result line
|
||||
eval echo "$fields"
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done < $conf
|
||||
}
|
||||
while read line; do
|
||||
|
||||
# Clear listing function
|
||||
v_clear_list() {
|
||||
# Reading file line by line
|
||||
while read line ; do
|
||||
|
||||
# Parsing key=value
|
||||
# Assing key=value pair
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Print result line
|
||||
eval echo "$fields"
|
||||
# Closing bracket if there already was output
|
||||
if [ -n "$data" ]; then
|
||||
echo -e ' },'
|
||||
fi
|
||||
i=1
|
||||
for field in $fields; do
|
||||
eval value=$field
|
||||
|
||||
if [ $i -eq 1 ]; then
|
||||
# Printing parrent
|
||||
(( ++i))
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
# Printing child
|
||||
if [ $i -lt $fileds_count ]; then
|
||||
(( ++i))
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
data=1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done < $conf
|
||||
|
||||
# Closing bracket if there was output
|
||||
if [ -n "$data" ]; then
|
||||
echo -e ' }'
|
||||
fi
|
||||
|
||||
# Printing bottom bracket
|
||||
echo -e '}'
|
||||
}
|
||||
|
||||
|
||||
# Shell listing function
|
||||
shell_list() {
|
||||
|
||||
if [ -z "$nohead" ] ; then
|
||||
# Print brief info
|
||||
echo "${fields//$/}"
|
||||
for a in $fields; do
|
||||
echo -e "------ \c"
|
||||
done
|
||||
echo
|
||||
fi
|
||||
|
||||
# Reading file line by line
|
||||
while read line ; do
|
||||
# Assing key=value pair
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Print result
|
||||
eval echo "$fields"
|
||||
done < $conf
|
||||
}
|
||||
|
||||
usr_json_single_list() {
|
||||
# Definigng variables
|
||||
USER="$user" # user
|
||||
i=1 # iterator
|
||||
|
||||
# Define words number
|
||||
last_word=$(echo "$fields" | wc -w)
|
||||
|
||||
# Reading file line by line
|
||||
line=$(cat $V_USERS/$USER/user.conf)
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Parsing key=value
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Starting output loop
|
||||
for field in $fields; do
|
||||
# Parsing key=value
|
||||
eval value=$field
|
||||
|
||||
# Checking first field
|
||||
if [ "$i" -eq 1 ]; then
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
if [ "$last_word" -eq "$i" ]; then
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
fi
|
||||
fi
|
||||
# Updating iterator
|
||||
i=$(( i + 1))
|
||||
done
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$value" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
# Printing bottom json bracket
|
||||
echo -e "}"
|
||||
}
|
||||
|
||||
usr_shell_single_list() {
|
||||
# Definigng variables
|
||||
USER="$user" # user
|
||||
|
||||
# Reading file line by line
|
||||
line=$(cat $V_USERS/$USER/user.conf)
|
||||
|
||||
# Parsing key=value
|
||||
for key in $line; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Print result line
|
||||
for field in $fields; do
|
||||
eval key="$field"
|
||||
echo "${field//$/}: $key "
|
||||
done
|
||||
}
|
||||
|
||||
usr_json_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Definining user list
|
||||
#user_list=$(find $V_USERS/ -maxdepth 1 -mindepth 1 -type d -printf %P\\n )
|
||||
user_list=$(ls $V_USERS/)
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Starting main loop
|
||||
for USER in $user_list; do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Reading user data
|
||||
user_data=$(cat $V_USERS/$USER/user.conf)
|
||||
|
||||
# Parsing key/value config
|
||||
for key in $user_data; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Checking !first line to print bracket with coma
|
||||
if [ "$i" -ne "$offset" ]; then
|
||||
echo -e "\t},"
|
||||
fi
|
||||
|
||||
# Defining local iterator and words count
|
||||
j='1'
|
||||
last_word=$(echo "$fields" | wc -w)
|
||||
|
||||
# Print data
|
||||
for field in $fields; do
|
||||
eval value=$field
|
||||
# Checking parrent key
|
||||
if [ "$j" -eq 1 ]; then
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
if [ "$j" -eq "$last_word" ]; then
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
fi
|
||||
fi
|
||||
j=$(($j + 1))
|
||||
done
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$value" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
|
||||
# Printing bottom json bracket
|
||||
echo '}'
|
||||
}
|
||||
|
||||
usr_shell_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Definining user list
|
||||
#user_list=$(find $V_USERS/ -maxdepth 1 -mindepth 1 -type d -printf %P\\n )
|
||||
user_list=$(ls $V_USERS/)
|
||||
|
||||
# Print brief info
|
||||
echo "${fields//$/}"
|
||||
for a in $fields; do
|
||||
echo -e "--------- \c"
|
||||
done
|
||||
echo # new line
|
||||
|
||||
# Starting main loop
|
||||
for USER in $user_list; do
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Reading user data
|
||||
user_data=$(cat $V_USERS/$USER/user.conf)
|
||||
|
||||
# Parsing key/value config
|
||||
for key in $user_data; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
# Print result line
|
||||
eval echo "$fields"
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
}
|
||||
|
||||
usrns_json_list() {
|
||||
ns=$(grep "^NS='" $V_USERS/$user/user.conf |cut -f 2 -d \')
|
||||
# Print top bracket
|
||||
echo '['
|
||||
i=1
|
||||
nslistc=$(echo -e "${ns//,/\n}"|wc -l)
|
||||
# Listing servers
|
||||
for nameserver in ${ns//,/ };do
|
||||
if [ "$i" -ne "$nslistc" ]; then
|
||||
echo -e "\t\"$nameserver\","
|
||||
else
|
||||
echo -e "\t\"$nameserver\""
|
||||
fi
|
||||
i=$((i + 1))
|
||||
done
|
||||
|
||||
echo "]"
|
||||
}
|
||||
|
||||
usrns_shell_list() {
|
||||
ns=$(grep "^NS='" $V_USERS/$user/user.conf |cut -f 2 -d \')
|
||||
# Print result
|
||||
echo "NAMESERVER"
|
||||
echo "----------"
|
||||
for nameserver in ${ns//,/ };do
|
||||
echo "$nameserver"
|
||||
done
|
||||
}
|
||||
|
||||
get_usr_disk() {
|
||||
size='0'
|
||||
|
@ -1290,94 +1068,6 @@ get_usr_traff() {
|
|||
echo "$size"
|
||||
}
|
||||
|
||||
pkg_json_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Print top bracket
|
||||
echo '{'
|
||||
|
||||
# Starting main loop
|
||||
for package in $(ls $V_DATA/packages); do
|
||||
PACKAGE=${package/.pkg/}
|
||||
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Parsing key/value config
|
||||
pkg_descr=$(cat $V_DATA/packages/$package)
|
||||
for key in $pkg_descr; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
# Checking !first line to print bracket with coma
|
||||
if [ "$i" -ne "$offset" ]; then
|
||||
echo -e "\t},"
|
||||
fi
|
||||
|
||||
# Defining local iterator and words count
|
||||
j='1'
|
||||
last_word=$(echo "$fields" | wc -w)
|
||||
|
||||
# Print data
|
||||
for field in $fields; do
|
||||
eval value=$field
|
||||
# Checking parrent key
|
||||
if [ "$j" -eq 1 ]; then
|
||||
echo -e "\t\"$value\": {"
|
||||
else
|
||||
if [ "$j" -eq "$last_word" ]; then
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\""
|
||||
else
|
||||
echo -e "\t\t\"${field//$/}\": \"${value//,/, }\","
|
||||
fi
|
||||
fi
|
||||
j=$(($j + 1))
|
||||
done
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
|
||||
# If there was any output
|
||||
if [ -n "$value" ]; then
|
||||
echo -e "\t}"
|
||||
fi
|
||||
|
||||
# Printing bottom json bracket
|
||||
echo '}'
|
||||
}
|
||||
|
||||
pkg_shell_list() {
|
||||
i='1' # iterator
|
||||
end=$(($limit + $offset)) # last string
|
||||
|
||||
# Listing pkg files
|
||||
for package in $(ls $V_DATA/packages); do
|
||||
PACKAGE=${package/.pkg/}
|
||||
|
||||
# Checking offset and limit
|
||||
if [ "$i" -ge "$offset" ] && [ "$i" -lt "$end" ] && [ "$offset" -gt 0 ]
|
||||
then
|
||||
# Parsing key=value
|
||||
pkg_descr=$(cat $V_DATA/packages/$package)
|
||||
for key in $pkg_descr; do
|
||||
eval ${key%%=*}=${key#*=}
|
||||
done
|
||||
|
||||
echo "----------"
|
||||
|
||||
# Starting output loop
|
||||
for field in $fields; do
|
||||
# Parsing key=value
|
||||
eval value=$field
|
||||
# Checking first field
|
||||
echo -e "${field//$/}: $value"
|
||||
done
|
||||
fi
|
||||
i=$(($i + 1))
|
||||
done
|
||||
}
|
||||
|
||||
get_config_value() {
|
||||
key="$1"
|
||||
# Parsing config
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue