mirror of
https://github.com/myvesta/vesta
synced 2025-08-14 18:49:21 -07:00
i18n backend support
This commit is contained in:
parent
003036434c
commit
def0f35141
19 changed files with 347 additions and 23 deletions
|
@ -202,6 +202,7 @@ U_MAIL_ACCOUNTS='0'
|
|||
U_DATABASES='0'
|
||||
U_CRON_JOBS='0'
|
||||
U_BACKUPS='0'
|
||||
LANGUAGE=''
|
||||
TIME='$TIME'
|
||||
DATE='$DATE'" > $USER_DATA/user.conf
|
||||
chmod 660 $USER_DATA/user.conf
|
||||
|
|
57
bin/v-change-sys-language
Executable file
57
bin/v-change-sys-language
Executable file
|
@ -0,0 +1,57 @@
|
|||
#!/bin/bash
|
||||
# info: change sys language
|
||||
# options: LANGUAGE
|
||||
#
|
||||
# The function for changing system language.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument defenition
|
||||
language=$1
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
source $VESTA/func/main.sh
|
||||
|
||||
|
||||
is_language_valid() {
|
||||
if [ ! -e "$VESTA/web/inc/i18n/$language.php" ]; then
|
||||
echo "Error: language $language not exist"
|
||||
log_event "$E_NOTEXIST $EVENT"
|
||||
exit $E_NOTEXIST
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '1' "$#" 'LANGUAGE'
|
||||
validate_format 'language'
|
||||
is_language_valid $language
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Change language
|
||||
if [ -z "$(grep LANGUAGE $VESTA/conf/vesta.conf)" ]; then
|
||||
echo "LANGUAGE='$language'" >> $VESTA/conf/vesta.conf
|
||||
else
|
||||
sed -i "s/LANGUAGE=.*/LANGUAGE='$language'/g" $VESTA/conf/vesta.conf
|
||||
fi
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Logging
|
||||
log_event "$OK" "$EVENT"
|
||||
|
||||
exit
|
71
bin/v-change-user-language
Executable file
71
bin/v-change-user-language
Executable file
|
@ -0,0 +1,71 @@
|
|||
#!/bin/bash
|
||||
# info: change user language
|
||||
# options: USER LANGUAGE
|
||||
#
|
||||
# The function for changing language.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument defenition
|
||||
user=$1
|
||||
language=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
source $VESTA/func/main.sh
|
||||
|
||||
|
||||
is_language_valid() {
|
||||
if [ ! -e "$VESTA/web/inc/i18n/$language.php" ]; then
|
||||
echo "Error: language $language not exist"
|
||||
log_event "$E_NOTEXIST $EVENT"
|
||||
exit $E_NOTEXIST
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '2' "$#" 'USER LANGUAGE'
|
||||
validate_format 'user' 'language'
|
||||
is_object_valid 'user' 'USER' "$user"
|
||||
is_object_unsuspended 'user' 'USER' "$user"
|
||||
is_language_valid $language
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Change language
|
||||
if [ -z "$(grep LANGUAGE $USER_DATA/user.conf)" ]; then
|
||||
echo "adding LANG"
|
||||
sed -i "s/^TIME/LANGUAGE='$language'\nTIME/g" $USER_DATA/user.conf
|
||||
else
|
||||
update_user_value "$user" '$LANGUAGE' "$language"
|
||||
echo "changinx LANG"
|
||||
fi
|
||||
|
||||
exit
|
||||
# Changing user contact email
|
||||
old_email=$(get_user_value '$CONTACT')
|
||||
update_user_value "$user" '$CONTACT' "$email"
|
||||
pw_str=$(grep -n "^$user:" /etc/passwd)
|
||||
str=$(echo "$pw_str" | cut -f 1 -d :)
|
||||
sed -i "$str s/$old_email/$email/g" /etc/passwd
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Logging
|
||||
log_history "changed contact email to $email"
|
||||
log_event "$OK" "$EVENT"
|
||||
|
||||
exit
|
|
@ -107,6 +107,7 @@ U_MAIL_ACCOUNTS='$U_MAIL_ACCOUNTS'
|
|||
U_DATABASES='$U_DATABASES'
|
||||
U_CRON_JOBS='$U_CRON_JOBS'
|
||||
U_BACKUPS='$U_BACKUPS'
|
||||
LANGUAGE='$LANGUAGE'
|
||||
TIME='$TIME'
|
||||
DATE='$DATE'" > $USER_DATA/user.conf
|
||||
}
|
||||
|
|
67
bin/v-list-sys-languages
Executable file
67
bin/v-list-sys-languages
Executable file
|
@ -0,0 +1,67 @@
|
|||
#!/bin/bash
|
||||
# info: list system users
|
||||
# options: [FORMAT]
|
||||
#
|
||||
# The function for obtaining the list of system users without
|
||||
# detailed information.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument defenition
|
||||
format=${1-shell}
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
||||
# Json function
|
||||
json_list_lang() {
|
||||
int_counter=$(echo "$languages" | wc -l)
|
||||
i=1
|
||||
echo '['
|
||||
for lang in $languages; do
|
||||
if [ "$i" -lt "$int_counter" ]; then
|
||||
echo -e "\t\"$lang\","
|
||||
else
|
||||
echo -e "\t\"$lang\""
|
||||
fi
|
||||
(( ++i))
|
||||
done
|
||||
echo "]"
|
||||
}
|
||||
|
||||
# Shell function
|
||||
shell_list_lang() {
|
||||
if [ -z "$nohead" ]; then
|
||||
echo "LANGUAGES"
|
||||
echo "----------"
|
||||
fi
|
||||
for lang in $languages; do
|
||||
echo "$lang"
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Check languages
|
||||
languages=$(ls $VESTA/web/inc/i18n/|cut -f 1 -d .)
|
||||
|
||||
# Listing domains
|
||||
case $format in
|
||||
json) json_list_lang ;;
|
||||
plain) nohead=1; shell_list_lang ;;
|
||||
shell) shell_list_lang ;;
|
||||
*) check_args '1' '0' '[FORMAT]' ;;
|
||||
esac
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
exit
|
|
@ -80,7 +80,7 @@ fields='$USER $FNAME $LNAME $PACKAGE $TEMPLATE $WEB_DOMAINS $WEB_ALIASES
|
|||
$IP_OWNED $U_USERS $U_DISK $U_DISK_DIRS $U_DISK_WEB $U_DISK_MAIL $U_DISK_DB
|
||||
$U_BANDWIDTH $U_WEB_DOMAINS $U_WEB_SSL $U_WEB_ALIASES $U_DNS_DOMAINS
|
||||
$U_DNS_RECORDS $U_MAIL_DOMAINS $U_MAIL_DKIM $U_MAIL_ACCOUNTS $U_DATABASES
|
||||
$U_CRON_JOBS $U_BACKUPS $TIME $DATE'
|
||||
$U_CRON_JOBS $U_BACKUPS $LANGUAGE $TIME $DATE'
|
||||
|
||||
# Listing user
|
||||
case $format in
|
||||
|
|
|
@ -84,7 +84,8 @@ fields="$fields \$U_USERS \$U_DISK \$U_DISK_DIRS \$U_DISK_WEB \$U_DISK_MAIL"
|
|||
fields="$fields \$U_DISK_DB \$U_BANDWIDTH \$U_WEB_DOMAINS \$U_WEB_SSL"
|
||||
fields="$fields \$U_WEB_ALIASES \$U_DNS_DOMAINS \$U_DNS_RECORDS"
|
||||
fields="$fields \$U_MAIL_DOMAINS \$U_MAIL_DKIM \$U_MAIL_ACCOUNTS"
|
||||
fields="$fields \$U_DATABASES \$U_CRON_JOBS \$U_BACKUPS \$TIME \$DATE"
|
||||
fields="$fields \$U_DATABASES \$U_CRON_JOBS \$U_BACKUPS \$LANGUAGE"
|
||||
fields="$fields \$TIME \$DATE"
|
||||
|
||||
# Listing domains
|
||||
case $format in
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue