removed limit&offset function + faster listings

This commit is contained in:
Serghey Rodin 2011-11-01 11:45:57 +02:00
commit 90da0f8881
35 changed files with 1378 additions and 1530 deletions

View file

@ -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
}

View file

@ -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

View file

@ -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() {

View file

@ -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'

View file

@ -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)

View file

@ -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