mirror of
https://github.com/myvesta/vesta
synced 2025-08-19 21:04:07 -07:00
manually merged
This commit is contained in:
commit
8ef6558b3d
22 changed files with 559 additions and 244 deletions
145
bin/v-add-backup-sftp-host
Executable file
145
bin/v-add-backup-sftp-host
Executable file
|
@ -0,0 +1,145 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# info: add backup sftp host
|
||||||
|
# options: HOST USERNAME [PASSWORD] [PATH] [PORT]
|
||||||
|
#
|
||||||
|
# The function adds sftp host for system backups
|
||||||
|
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
# Variable&Function #
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
|
# Argument defenition
|
||||||
|
sftp_host=$1
|
||||||
|
sftp_user=$2
|
||||||
|
sftp_password=${3-******}
|
||||||
|
sftp_path=${4-backup}
|
||||||
|
sftp_port=${5-22}
|
||||||
|
|
||||||
|
A3='******'
|
||||||
|
|
||||||
|
# Includes
|
||||||
|
source $VESTA/func/main.sh
|
||||||
|
source $VESTA/conf/vesta.conf
|
||||||
|
|
||||||
|
# Replace password with ******
|
||||||
|
if [[ $A3 != '******' ]]
|
||||||
|
then
|
||||||
|
EVENT="${EVENT/$sftp_password/******}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# sftp command function
|
||||||
|
sftpc() {
|
||||||
|
expect -f "-" <<EOF "$@"
|
||||||
|
set count 0
|
||||||
|
spawn /usr/bin/sftp -o StrictHostKeyChecking=no -o Port=$sftp_port $sftp_user@$sftp_host
|
||||||
|
expect {
|
||||||
|
"password:" {
|
||||||
|
send "$sftp_password\r"
|
||||||
|
exp_continue
|
||||||
|
}
|
||||||
|
|
||||||
|
-re "Couldn't|(.*)disconnect|(.*)stalled|(.*)not found" {
|
||||||
|
set count \$argc
|
||||||
|
set output "Disconnected."
|
||||||
|
set rc $E_FTP
|
||||||
|
exp_continue
|
||||||
|
}
|
||||||
|
|
||||||
|
-re ".*denied.*(publickey|password)." {
|
||||||
|
set output "Permission denied, wrong publickey or password."
|
||||||
|
set rc $E_CONNECT
|
||||||
|
}
|
||||||
|
|
||||||
|
"sftp>" {
|
||||||
|
if {\$count < \$argc} {
|
||||||
|
set arg [lindex \$argv \$count]
|
||||||
|
send "\$arg\r"
|
||||||
|
incr count
|
||||||
|
} else {
|
||||||
|
send "exit\r"
|
||||||
|
set output "Disconnected."
|
||||||
|
if {[info exists rc] != 1} {
|
||||||
|
set rc $OK
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exp_continue
|
||||||
|
}
|
||||||
|
|
||||||
|
timeout {
|
||||||
|
set output "Connection timeout."
|
||||||
|
set rc $E_CONNECT
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if {[info exists output] == 1} {
|
||||||
|
puts "\$output"
|
||||||
|
}
|
||||||
|
|
||||||
|
exit \$rc
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
# Verifications #
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
|
check_expect=$(which expect)
|
||||||
|
if [[ ! -n $check_expect ]]
|
||||||
|
then
|
||||||
|
echo "Error: \"expect\" utility not found"
|
||||||
|
log_event "$E_NOTEXIST" "$EVENT"
|
||||||
|
exit $E_NOTEXIST
|
||||||
|
fi
|
||||||
|
|
||||||
|
check_args '2' "$#" "HOST USERNAME [PASSWORD] [PATH] [PORT]"
|
||||||
|
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
# Action #
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
|
# Checking network connection and write permissions
|
||||||
|
sftmpdir="$sftp_path/vst.bK76A9SUkt"
|
||||||
|
sftpc "mkdir $sftp_path" > /dev/null 2>&1
|
||||||
|
sftpc "mkdir $sftmpdir" "rmdir $sftmpdir"
|
||||||
|
rc=$?
|
||||||
|
if [[ "$rc" != 0 ]]
|
||||||
|
then
|
||||||
|
case $rc in
|
||||||
|
$E_CONNECT) echo "Error: can't login to sftp host";;
|
||||||
|
$E_FTP) echo "Error: can't create temp folder on the sftp host";;
|
||||||
|
esac
|
||||||
|
log_event "$rc" "$EVENT"
|
||||||
|
exit "$rc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Adding sftp backup config file
|
||||||
|
echo "HOST='$sftp_host'
|
||||||
|
USERNAME='$sftp_user'
|
||||||
|
PASSWORD='$sftp_password'
|
||||||
|
BPATH='$sftp_path'
|
||||||
|
PORT='$sftp_port'
|
||||||
|
TIME='$TIME'
|
||||||
|
DATE='$DATE'" > $VESTA/conf/sftp.backup.conf
|
||||||
|
chmod 660 $VESTA/conf/sftp.backup.conf
|
||||||
|
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
# Vesta #
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
|
# Update vesta.conf
|
||||||
|
if [ -z "$(grep LANGUAGE $VESTA/conf/vesta.conf)" ]; then
|
||||||
|
echo "BACKUP_SYSTEM='ftp'" >> $VESTA/conf/vesta.conf
|
||||||
|
else
|
||||||
|
bckp=$(echo "$BACKUP_SYSTEM,sftp" |\
|
||||||
|
sed "s/,/\n/g"|\
|
||||||
|
sort -r -u |\
|
||||||
|
sed "/^$/d"|\
|
||||||
|
sed ':a;N;$!ba;s/\n/,/g')
|
||||||
|
sed -i "s/BACKUP_SYSTEM=.*/BACKUP_SYSTEM='$bckp'/g" $VESTA/conf/vesta.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
echo "$sftp_host/$sftp_path successfully added as backup destination"
|
||||||
|
log_event "$OK" "$EVENT"
|
||||||
|
|
||||||
|
exit
|
|
@ -687,6 +687,158 @@ ftp_backup() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# sftp command function
|
||||||
|
sftpc() {
|
||||||
|
expect -f "-" <<EOF "$@"
|
||||||
|
set timeout 60
|
||||||
|
set count 0
|
||||||
|
spawn /usr/bin/sftp -o StrictHostKeyChecking=no -o Port=$PORT $USERNAME@$HOST
|
||||||
|
expect {
|
||||||
|
"password:" {
|
||||||
|
send "$PASSWORD\r"
|
||||||
|
exp_continue
|
||||||
|
}
|
||||||
|
|
||||||
|
-re "Couldn't|(.*)disconnect|(.*)stalled|(.*)not found" {
|
||||||
|
set count \$argc
|
||||||
|
set output "Disconnected."
|
||||||
|
set rc $E_FTP
|
||||||
|
exp_continue
|
||||||
|
}
|
||||||
|
|
||||||
|
-re ".*denied.*(publickey|password)." {
|
||||||
|
set output "Permission denied, wrong publickey or password."
|
||||||
|
set rc $E_CONNECT
|
||||||
|
}
|
||||||
|
|
||||||
|
-re "\[0-9]*%" {
|
||||||
|
exp_continue
|
||||||
|
}
|
||||||
|
|
||||||
|
"sftp>" {
|
||||||
|
if {\$count < \$argc} {
|
||||||
|
set arg [lindex \$argv \$count]
|
||||||
|
send "\$arg\r"
|
||||||
|
incr count
|
||||||
|
} else {
|
||||||
|
send "exit\r"
|
||||||
|
set output "Disconnected."
|
||||||
|
if {[info exists rc] != 1} {
|
||||||
|
set rc $OK
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exp_continue
|
||||||
|
}
|
||||||
|
|
||||||
|
timeout {
|
||||||
|
set output "Connection timeout."
|
||||||
|
set rc $E_CONNECT
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if {[info exists output] == 1} {
|
||||||
|
puts "\$output"
|
||||||
|
}
|
||||||
|
|
||||||
|
exit \$rc
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
sftp_backup() {
|
||||||
|
#Checking expect installation
|
||||||
|
check_expect=$(which expect)
|
||||||
|
if [[ ! -n $check_expect ]]
|
||||||
|
then
|
||||||
|
echo "Error: \"expect\" utility not found"
|
||||||
|
log_event "$E_NOTEXIST" "$EVENT"
|
||||||
|
exit $E_NOTEXIST
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Checking config
|
||||||
|
if [ ! -e "$VESTA/conf/sftp.backup.conf" ]; then
|
||||||
|
sftp_conf_error="Can't open $VESTA/conf/sftp.backup.conf"
|
||||||
|
echo "$sftp_conf_error" | $send_mail -s "$subj" $email
|
||||||
|
echo "Error: $VESTA/conf/sftp.backup.conf doesn't exist"
|
||||||
|
sed -i "/ $user /d" $VESTA/data/queue/backup.pipe
|
||||||
|
log_event "$E_NOTEXIST" "$EVENT"
|
||||||
|
exit $E_NOTEXIST
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Parse config
|
||||||
|
source $VESTA/conf/sftp.backup.conf
|
||||||
|
|
||||||
|
# Set current data
|
||||||
|
DATE=$(date +%F)
|
||||||
|
TIME=$(date +%T)
|
||||||
|
|
||||||
|
# Set default port
|
||||||
|
if [ -z "$(grep 'PORT=' $VESTA/conf/sftp.backup.conf)" ]; then
|
||||||
|
PORT='22'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Checking variables
|
||||||
|
if [ -z "$HOST" ] || [ -z "$USERNAME" ] || [ -z "$PASSWORD" ]; then
|
||||||
|
rm -rf $tmpdir
|
||||||
|
echo "Can't parse sftp backup configuration" |\
|
||||||
|
$send_mail -s "$subj" $email
|
||||||
|
echo "Error: Parsing error"
|
||||||
|
sed -i "/ $user /d" $VESTA/data/queue/backup.pipe
|
||||||
|
log_event "$E_PARSING" "$EVENT"
|
||||||
|
exit $E_PARSING
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Debug info
|
||||||
|
echo -e "$(date "+%F %T") Remote: $HOST/$BPATH/$user.$DATE.tar"
|
||||||
|
|
||||||
|
# Checking network connection and write permissions
|
||||||
|
echo -e "$(date "+%F %T") Checking network connection and write permissions ..."
|
||||||
|
sftmpdir="$BPATH/vst.bK76A9SUkt"
|
||||||
|
sftpc "mkdir $BPATH" > /dev/null 2>&1
|
||||||
|
sftpc "mkdir $sftmpdir" "rmdir $sftmpdir" > /dev/null 2>&1
|
||||||
|
rc=$?
|
||||||
|
if [[ "$rc" != 0 ]]
|
||||||
|
then
|
||||||
|
rm -rf $tmpdir
|
||||||
|
case $rc in
|
||||||
|
$E_CONNECT) echo "Error: can't login to sftp host" | $send_mail -s "$subj" $email;;
|
||||||
|
$E_FTP) echo "Error: can't create temp folder on the sftp host" | $send_mail -s "$subj" $email;;
|
||||||
|
esac
|
||||||
|
sed -i "/ $user /d" $VESTA/data/queue/backup.pipe
|
||||||
|
log_event "$rc" "$EVENT"
|
||||||
|
exit "$rc"
|
||||||
|
fi
|
||||||
|
echo -e "$(date "+%F %T") Connection established"
|
||||||
|
|
||||||
|
# Checking retention
|
||||||
|
echo -e "$(date "+%F %T") Checking retention ..."
|
||||||
|
backup_list=$(sftpc "cd $BPATH" "ls -l" |awk '{print $9}' |grep "^$user\.")
|
||||||
|
backups_count=$(echo "$backup_list" | wc -l)
|
||||||
|
if [ "$backups_count" -ge "$BACKUPS" ]; then
|
||||||
|
backups_rm_number=$((backups_count - BACKUPS + 1))
|
||||||
|
for backup in $(echo "$backup_list" | head -n $backups_rm_number); do
|
||||||
|
backup_date=$(echo $backup | sed -e "s/$user.//" -e "s/.tar.*$//")
|
||||||
|
if [ -z $deprecated ]; then deprecated="$backup_date"; else deprecated="$deprecated $backup_date"; fi
|
||||||
|
echo -e "$(date "+%F %T") Roated sftp backup: $backup_date"
|
||||||
|
msg="$msg\n$(date "+%F %T") Roated sftp backup: $backup_date"
|
||||||
|
sftpc "cd $BPATH" "rm $backup" > /dev/null 2>&1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Uploading backup archive
|
||||||
|
echo -e "$(date "+%F %T") Uploading $user.$DATE.tar ..."
|
||||||
|
if [ "$localbackup" = 'yes' ]; then
|
||||||
|
cd $BACKUP
|
||||||
|
sftpc "cd $BPATH" "put $user.$DATE.tar" > /dev/null 2>&1
|
||||||
|
else
|
||||||
|
cd $tmpdir
|
||||||
|
tar -cf $BACKUP/$user.$DATE.tar .
|
||||||
|
cd $BACKUP/
|
||||||
|
sftpc "cd $BPATH" "put $user.$DATE.tar" > /dev/null 2>&1
|
||||||
|
rm -f $user.$DATE.tar
|
||||||
|
fi
|
||||||
|
echo -e "$(date "+%F %T") Upload complete"
|
||||||
|
}
|
||||||
|
|
||||||
echo "-- SUMMARY --"
|
echo "-- SUMMARY --"
|
||||||
msg="$msg\n-- SUMMARY --"
|
msg="$msg\n-- SUMMARY --"
|
||||||
|
|
||||||
|
@ -695,6 +847,7 @@ for backup_type in $(echo -e "${BACKUP_SYSTEM//,/\\n}"); do
|
||||||
case $backup_type in
|
case $backup_type in
|
||||||
local) local_backup ;;
|
local) local_backup ;;
|
||||||
ftp) ftp_backup ;;
|
ftp) ftp_backup ;;
|
||||||
|
sftp) sftp_backup ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
46
bin/v-delete-backup-sftp-host
Normal file
46
bin/v-delete-backup-sftp-host
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# info: delete backup sftp server
|
||||||
|
# options: NONE
|
||||||
|
#
|
||||||
|
# The function deletes sftp backup host
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
# Variable&Function #
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
|
# Includes
|
||||||
|
source $VESTA/func/main.sh
|
||||||
|
source $VESTA/conf/vesta.conf
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
# Verifications #
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
# Action #
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
|
# Delete configuration file
|
||||||
|
rm -f $VESTA/conf/sftp.backup.conf
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
# Vesta #
|
||||||
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
|
# Update vesta.conf
|
||||||
|
bckp=$(echo "$BACKUP_SYSTEM" |\
|
||||||
|
sed "s/,/\n/g"|\
|
||||||
|
sed "s/sftp//" |\
|
||||||
|
sed "/^$/d"|\
|
||||||
|
sed ':a;N;$!ba;s/\n/,/g')
|
||||||
|
sed -i "s/BACKUP_SYSTEM=.*/BACKUP_SYSTEM='$bckp'/g" $VESTA/conf/vesta.conf
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
echo "sftp host successfulle removed from configuration"
|
||||||
|
log_event "$OK" "$EVENT"
|
||||||
|
|
||||||
|
exit
|
|
@ -12,6 +12,7 @@
|
||||||
# Defining absolute path for iptables and modprobe
|
# Defining absolute path for iptables and modprobe
|
||||||
iptables="/sbin/iptables"
|
iptables="/sbin/iptables"
|
||||||
modprobe="/sbin/modprobe"
|
modprobe="/sbin/modprobe"
|
||||||
|
sysctl="/sbin/sysctl"
|
||||||
|
|
||||||
# Includes
|
# Includes
|
||||||
source /etc/profile.d/vesta.sh
|
source /etc/profile.d/vesta.sh
|
||||||
|
@ -38,11 +39,16 @@ if [ ! -e "$rules" ]; then
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
$sysctl net.netfilter.nf_conntrack_max >/dev/null 2>&1
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
conntrack='no'
|
||||||
|
fi
|
||||||
|
|
||||||
# Checking conntrack module avaiabilty
|
# Checking conntrack module avaiabilty
|
||||||
$modprobe nf_conntrack >/dev/null 2>&1
|
$modprobe nf_conntrack >/dev/null 2>&1
|
||||||
$modprobe nf_conntrack_ftp >/dev/null 2>&1
|
$modprobe nf_conntrack_ftp >/dev/null 2>&1
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
stateful='no'
|
conntrack_ftp='no'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Creating temporary file
|
# Creating temporary file
|
||||||
|
@ -75,7 +81,7 @@ for line in $(sort -r -n -k 2 -t \' $rules); do
|
||||||
|
|
||||||
# Checking FTP for contrack module
|
# Checking FTP for contrack module
|
||||||
if [ "$TYPE" = "FTP" ] || [ "$PORT" = '21' ]; then
|
if [ "$TYPE" = "FTP" ] || [ "$PORT" = '21' ]; then
|
||||||
if [ "$stateful" != 'no' ]; then
|
if [ "$conntrack_ftp" != 'no' ]; then
|
||||||
state="-m conntrack --ctstate NEW"
|
state="-m conntrack --ctstate NEW"
|
||||||
else
|
else
|
||||||
port="-m multiport --dports 20,21,12000:12100"
|
port="-m multiport --dports 20,21,12000:12100"
|
||||||
|
@ -101,7 +107,7 @@ for p_rule in $(cat $ports); do
|
||||||
done
|
done
|
||||||
|
|
||||||
# Enabling stateful support
|
# Enabling stateful support
|
||||||
if [ "$stateful" != 'no' ]; then
|
if [ "$conntrack" != 'no' ]; then
|
||||||
str="$iptables -A INPUT -p tcp -m state"
|
str="$iptables -A INPUT -p tcp -m state"
|
||||||
str="$str --state ESTABLISHED,RELATED -j ACCEPT"
|
str="$str --state ESTABLISHED,RELATED -j ACCEPT"
|
||||||
echo "$str" >> $tmp
|
echo "$str" >> $tmp
|
||||||
|
|
|
@ -2,3 +2,27 @@ protocols = imap pop3
|
||||||
listen = *, ::
|
listen = *, ::
|
||||||
base_dir = /var/run/dovecot/
|
base_dir = /var/run/dovecot/
|
||||||
!include conf.d/*.conf
|
!include conf.d/*.conf
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
type = private
|
||||||
|
separator = /
|
||||||
|
prefix =
|
||||||
|
inbox = yes
|
||||||
|
|
||||||
|
mailbox Sent {
|
||||||
|
auto = subscribe
|
||||||
|
special_use = \Sent
|
||||||
|
}
|
||||||
|
mailbox Drafts {
|
||||||
|
auto = subscribe
|
||||||
|
special_use = \Drafts
|
||||||
|
}
|
||||||
|
mailbox Trash {
|
||||||
|
auto = subscribe
|
||||||
|
special_use = \Trash
|
||||||
|
}
|
||||||
|
mailbox Junk {
|
||||||
|
auto = subscribe
|
||||||
|
special_use = \Junk
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ ServerName "FTP"
|
||||||
ServerIdent on "FTP Server ready."
|
ServerIdent on "FTP Server ready."
|
||||||
ServerAdmin root@localhost
|
ServerAdmin root@localhost
|
||||||
DefaultServer on
|
DefaultServer on
|
||||||
VRootEngine on
|
VRootEngine off
|
||||||
DefaultRoot ~ !adm
|
DefaultRoot ~ !adm
|
||||||
AuthPAMConfig proftpd
|
AuthPAMConfig proftpd
|
||||||
AuthOrder mod_auth_pam.c* mod_auth_unix.c
|
AuthOrder mod_auth_pam.c* mod_auth_unix.c
|
||||||
|
|
|
@ -3,51 +3,18 @@
|
||||||
##
|
##
|
||||||
|
|
||||||
protocol imap {
|
protocol imap {
|
||||||
# Maximum IMAP command line length. Some clients generate very long command
|
mail_plugins = $mail_plugins autocreate
|
||||||
# lines with huge mailboxes, so you may need to raise this if you get
|
}
|
||||||
# "Too long argument" or "IMAP command line too large" errors often.
|
|
||||||
#imap_max_line_length = 64k
|
plugin {
|
||||||
|
autocreate = Trash
|
||||||
# Maximum number of IMAP connections allowed for a user from each IP address.
|
autocreate2 = Spam
|
||||||
# NOTE: The username is compared case-sensitively.
|
autocreate3 = Sent
|
||||||
#mail_max_userip_connections = 10
|
autocreate4 = Drafts
|
||||||
|
#autocreate5 = Custom
|
||||||
# Space separated list of plugins to load (default is global mail_plugins).
|
autosubscribe = Trash
|
||||||
#mail_plugins = $mail_plugins
|
autosubscribe2 = Spam
|
||||||
|
autosubscribe3 = Sent
|
||||||
# IMAP logout format string:
|
autosubscribe4 = Drafts
|
||||||
# %i - total number of bytes read from client
|
#autosubscribe5 = Custom
|
||||||
# %o - total number of bytes sent to client
|
|
||||||
#imap_logout_format = bytes=%i/%o
|
|
||||||
|
|
||||||
# Override the IMAP CAPABILITY response. If the value begins with '+',
|
|
||||||
# add the given capabilities on top of the defaults (e.g. +XFOO XBAR).
|
|
||||||
#imap_capability =
|
|
||||||
|
|
||||||
# How long to wait between "OK Still here" notifications when client is
|
|
||||||
# IDLEing.
|
|
||||||
#imap_idle_notify_interval = 2 mins
|
|
||||||
|
|
||||||
# ID field names and values to send to clients. Using * as the value makes
|
|
||||||
# Dovecot use the default value. The following fields have default values
|
|
||||||
# currently: name, version, os, os-version, support-url, support-email.
|
|
||||||
#imap_id_send =
|
|
||||||
|
|
||||||
# ID fields sent by client to log. * means everything.
|
|
||||||
#imap_id_log =
|
|
||||||
|
|
||||||
# Workarounds for various client bugs:
|
|
||||||
# delay-newmail:
|
|
||||||
# Send EXISTS/RECENT new mail notifications only when replying to NOOP
|
|
||||||
# and CHECK commands. Some clients ignore them otherwise, for example OSX
|
|
||||||
# Mail (<v2.1). Outlook Express breaks more badly though, without this it
|
|
||||||
# may show user "Message no longer in server" errors. Note that OE6 still
|
|
||||||
# breaks even with this workaround if synchronization is set to
|
|
||||||
# "Headers Only".
|
|
||||||
# tb-extra-mailbox-sep:
|
|
||||||
# With mbox storage a mailbox can contain either mails or submailboxes,
|
|
||||||
# but not both. Thunderbird separates these two by forcing server to
|
|
||||||
# accept '/' suffix in mailbox names in subscriptions list.
|
|
||||||
# The list is space-separated.
|
|
||||||
#imap_client_workarounds =
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,56 +3,18 @@
|
||||||
##
|
##
|
||||||
|
|
||||||
protocol imap {
|
protocol imap {
|
||||||
# Maximum IMAP command line length. Some clients generate very long command
|
mail_plugins = $mail_plugins autocreate
|
||||||
# lines with huge mailboxes, so you may need to raise this if you get
|
}
|
||||||
# "Too long argument" or "IMAP command line too large" errors often.
|
|
||||||
#imap_max_line_length = 64k
|
plugin {
|
||||||
|
autocreate = Trash
|
||||||
# Maximum number of IMAP connections allowed for a user from each IP address.
|
autocreate2 = Spam
|
||||||
# NOTE: The username is compared case-sensitively.
|
autocreate3 = Sent
|
||||||
#mail_max_userip_connections = 10
|
autocreate4 = Drafts
|
||||||
|
#autocreate5 = Custom
|
||||||
# Space separated list of plugins to load (default is global mail_plugins).
|
autosubscribe = Trash
|
||||||
#mail_plugins = $mail_plugins
|
autosubscribe2 = Spam
|
||||||
|
autosubscribe3 = Sent
|
||||||
# IMAP logout format string:
|
autosubscribe4 = Drafts
|
||||||
# %i - total number of bytes read from client
|
#autosubscribe5 = Custom
|
||||||
# %o - total number of bytes sent to client
|
|
||||||
#imap_logout_format = bytes=%i/%o
|
|
||||||
|
|
||||||
# Override the IMAP CAPABILITY response. If the value begins with '+',
|
|
||||||
# add the given capabilities on top of the defaults (e.g. +XFOO XBAR).
|
|
||||||
#imap_capability =
|
|
||||||
|
|
||||||
# How long to wait between "OK Still here" notifications when client is
|
|
||||||
# IDLEing.
|
|
||||||
#imap_idle_notify_interval = 2 mins
|
|
||||||
|
|
||||||
# ID field names and values to send to clients. Using * as the value makes
|
|
||||||
# Dovecot use the default value. The following fields have default values
|
|
||||||
# currently: name, version, os, os-version, support-url, support-email.
|
|
||||||
#imap_id_send =
|
|
||||||
|
|
||||||
# ID fields sent by client to log. * means everything.
|
|
||||||
#imap_id_log =
|
|
||||||
|
|
||||||
# Workarounds for various client bugs:
|
|
||||||
# delay-newmail:
|
|
||||||
# Send EXISTS/RECENT new mail notifications only when replying to NOOP
|
|
||||||
# and CHECK commands. Some clients ignore them otherwise, for example OSX
|
|
||||||
# Mail (<v2.1). Outlook Express breaks more badly though, without this it
|
|
||||||
# may show user "Message no longer in server" errors. Note that OE6 still
|
|
||||||
# breaks even with this workaround if synchronization is set to
|
|
||||||
# "Headers Only".
|
|
||||||
# tb-extra-mailbox-sep:
|
|
||||||
# Thunderbird gets somehow confused with LAYOUT=fs (mbox and dbox) and
|
|
||||||
# adds extra '/' suffixes to mailbox names. This option causes Dovecot to
|
|
||||||
# ignore the extra '/' instead of treating it as invalid mailbox name.
|
|
||||||
# tb-lsub-flags:
|
|
||||||
# Show \Noselect flags for LSUB replies with LAYOUT=fs (e.g. mbox).
|
|
||||||
# This makes Thunderbird realize they aren't selectable and show them
|
|
||||||
# greyed out, instead of only later giving "not selectable" popup error.
|
|
||||||
#
|
|
||||||
# The list is space-separated.
|
|
||||||
#imap_client_workarounds =
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -533,6 +533,7 @@ wget $CHOST/$VERSION/sudoers.conf -O /etc/sudoers
|
||||||
wget $CHOST/$VERSION/sudoers.admin.conf -O /etc/sudoers.d/admin
|
wget $CHOST/$VERSION/sudoers.admin.conf -O /etc/sudoers.d/admin
|
||||||
chmod 440 /etc/sudoers
|
chmod 440 /etc/sudoers
|
||||||
chmod 440 /etc/sudoers.d/admin
|
chmod 440 /etc/sudoers.d/admin
|
||||||
|
echo 'Defaults:admin !syslog' >>/etc/sudoers.d/admin
|
||||||
|
|
||||||
# NTP Synchronization
|
# NTP Synchronization
|
||||||
echo '#!/bin/sh' > /etc/cron.daily/ntpdate
|
echo '#!/bin/sh' > /etc/cron.daily/ntpdate
|
||||||
|
|
|
@ -534,6 +534,7 @@ wget $CHOST/$VERSION/sudoers.vestacp.conf -O /etc/sudoers.d/vestacp
|
||||||
wget $CHOST/$VERSION/sudoers.admin.conf -O /etc/sudoers.d/admin
|
wget $CHOST/$VERSION/sudoers.admin.conf -O /etc/sudoers.d/admin
|
||||||
chmod 440 /etc/sudoers.d/vestacp
|
chmod 440 /etc/sudoers.d/vestacp
|
||||||
chmod 440 /etc/sudoers.d/admin
|
chmod 440 /etc/sudoers.d/admin
|
||||||
|
echo 'Defaults:admin !syslog' >>/etc/sudoers.d/admin
|
||||||
|
|
||||||
# NTP Synchronization
|
# NTP Synchronization
|
||||||
echo '#!/bin/sh' > /etc/cron.daily/ntpdate
|
echo '#!/bin/sh' > /etc/cron.daily/ntpdate
|
||||||
|
|
|
@ -1291,11 +1291,11 @@ label:active {
|
||||||
|
|
||||||
.toggle-psw-visibility-icon {
|
.toggle-psw-visibility-icon {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
opacity: 0.4;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-passwords-enabled-action {
|
.show-passwords-enabled-action {
|
||||||
opacity: 1;
|
opacity: 0.4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
BIN
web/images/toggle_password.png
Normal file
BIN
web/images/toggle_password.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 311 B |
BIN
web/images/unlim.png
Normal file
BIN
web/images/unlim.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 225 B |
|
@ -26,7 +26,7 @@ $LANG['ua'] = array(
|
||||||
'CRON' => 'CRON',
|
'CRON' => 'CRON',
|
||||||
'BACKUP' => 'BACKUP',
|
'BACKUP' => 'BACKUP',
|
||||||
|
|
||||||
'Add User' => 'Додати акаунт',
|
'Add User' => 'Додати користувача',
|
||||||
'Add Domain' => 'Додати домен',
|
'Add Domain' => 'Додати домен',
|
||||||
'Add Web Domain' => 'Додати WEB домен',
|
'Add Web Domain' => 'Додати WEB домен',
|
||||||
'Add DNS Domain' => 'Додати DNS домен',
|
'Add DNS Domain' => 'Додати DNS домен',
|
||||||
|
@ -45,10 +45,10 @@ $LANG['ua'] = array(
|
||||||
'Add one more FTP Account' => 'Додати ще один FTP акаунт',
|
'Add one more FTP Account' => 'Додати ще один FTP акаунт',
|
||||||
'Search' => 'Пошук',
|
'Search' => 'Пошук',
|
||||||
'Overall Statistics' => 'Загальна статистика',
|
'Overall Statistics' => 'Загальна статистика',
|
||||||
'Daily' => 'Щоденні',
|
'Daily' => 'Щоденний',
|
||||||
'Weekly' => 'Щотижневі',
|
'Weekly' => 'Щотижневий',
|
||||||
'Monthly' => 'Щомісячні',
|
'Monthly' => 'Щомісячний',
|
||||||
'Yearly' => 'Щорічні',
|
'Yearly' => 'Щорічний',
|
||||||
'Add' => 'Додати',
|
'Add' => 'Додати',
|
||||||
'Back' => 'Назад',
|
'Back' => 'Назад',
|
||||||
'Save' => 'Зберегти',
|
'Save' => 'Зберегти',
|
||||||
|
@ -56,21 +56,21 @@ $LANG['ua'] = array(
|
||||||
|
|
||||||
'toggle all' => 'виділити все',
|
'toggle all' => 'виділити все',
|
||||||
'apply to selected' => 'застосувати до вибраних',
|
'apply to selected' => 'застосувати до вибраних',
|
||||||
'rebuild' => 'перестворити',
|
'rebuild' => 'перебудувати',
|
||||||
'rebuild web' => 'перестворити WEB',
|
'rebuild web' => 'перебудувати WEB',
|
||||||
'rebuild dns' => 'перестворити DNS',
|
'rebuild dns' => 'перебудувати DNS',
|
||||||
'rebuild mail' => 'перестворити MAIL',
|
'rebuild mail' => 'перебудувати MAIL',
|
||||||
'rebuild db' => 'перестворити DB',
|
'rebuild db' => 'перебудувати DB',
|
||||||
'rebuild cron' => 'перестворити CRON',
|
'rebuild cron' => 'перебудувати CRON',
|
||||||
'update counters' => 'оновити лічильники',
|
'update counters' => 'оновити лічильники',
|
||||||
'suspend' => 'заблокувати',
|
'suspend' => 'заблокувати',
|
||||||
'unsuspend' => 'розблокувати',
|
'unsuspend' => 'розблокувати',
|
||||||
'delete' => 'видалити',
|
'delete' => 'видалити',
|
||||||
'show per user' => 'вибрати користувача',
|
'show per user' => 'по користувачам',
|
||||||
'login as' => 'увійти як',
|
'login as' => 'увійти як',
|
||||||
'logout' => 'вийти',
|
'logout' => 'вийти',
|
||||||
'edit' => 'редагувати',
|
'edit' => 'редагувати',
|
||||||
'open webstats' => 'відкрити звіт веб-аналітики',
|
'open webstats' => 'відкрити веб-статистику',
|
||||||
'view logs' => 'переглянути логи',
|
'view logs' => 'переглянути логи',
|
||||||
'list records' => 'показати записи: %s',
|
'list records' => 'показати записи: %s',
|
||||||
'add record' => 'додати запис',
|
'add record' => 'додати запис',
|
||||||
|
@ -88,14 +88,14 @@ $LANG['ua'] = array(
|
||||||
'update' => 'оновити',
|
'update' => 'оновити',
|
||||||
'generate' => 'згенерувати',
|
'generate' => 'згенерувати',
|
||||||
'Generate CSR' => 'Згенерувати CSR запит',
|
'Generate CSR' => 'Згенерувати CSR запит',
|
||||||
'reread IP' => 'оновити IP',
|
'reread IP' => 'перечитати IP',
|
||||||
'enable autoupdate' => 'увімкнути автооновлення',
|
'enable autoupdate' => 'увімкнути автооновлення',
|
||||||
'disable autoupdate' => 'вимкнути автооновлення',
|
'disable autoupdate' => 'вимкнути автооновлення',
|
||||||
'turn on notifications' => 'увімкнути сповіщення',
|
'turn on notifications' => 'увімкнути сповіщення',
|
||||||
'turn off notifications' => 'вимкнути сповіщення',
|
'turn off notifications' => 'вимкнути сповіщення',
|
||||||
|
|
||||||
'Adding User' => 'Додавання акаунту',
|
'Adding User' => 'Додавання користувача',
|
||||||
'Editing User' => 'Редагування акаунту',
|
'Editing User' => 'Редагування користувача',
|
||||||
'Adding Domain' => 'Додавання домену',
|
'Adding Domain' => 'Додавання домену',
|
||||||
'Editing Domain' => 'Редагування домену',
|
'Editing Domain' => 'Редагування домену',
|
||||||
'Adding DNS Domain' => 'Додавання DNS домену',
|
'Adding DNS Domain' => 'Додавання DNS домену',
|
||||||
|
@ -114,7 +114,7 @@ $LANG['ua'] = array(
|
||||||
'Editing Package' => 'Редагування пакету',
|
'Editing Package' => 'Редагування пакету',
|
||||||
'Adding IP address' => 'Додавання IP адреси',
|
'Adding IP address' => 'Додавання IP адреси',
|
||||||
'Editing IP Address' => 'Редагування IP адреси',
|
'Editing IP Address' => 'Редагування IP адреси',
|
||||||
'Editing Backup Exclusions' => 'Налаштування вийнятків',
|
'Editing Backup Exclusions' => 'Налаштування вийнятків архіву',
|
||||||
'Generating CSR' => 'Генерування CSR запиту',
|
'Generating CSR' => 'Генерування CSR запиту',
|
||||||
'Listing' => 'Список',
|
'Listing' => 'Список',
|
||||||
'Search Results' => 'Результати пошуку',
|
'Search Results' => 'Результати пошуку',
|
||||||
|
@ -150,7 +150,7 @@ $LANG['ua'] = array(
|
||||||
'Web' => 'Веб',
|
'Web' => 'Веб',
|
||||||
'Mail' => 'Пошта',
|
'Mail' => 'Пошта',
|
||||||
'Databases' => 'Бази даних',
|
'Databases' => 'Бази даних',
|
||||||
'User Directories' => 'Теки Користувача',
|
'User Directories' => 'Теки користувача',
|
||||||
'Template' => 'Шаблон',
|
'Template' => 'Шаблон',
|
||||||
'Web Template' => 'Шаблон Apache',
|
'Web Template' => 'Шаблон Apache',
|
||||||
'Proxy Template' => 'Шаблон Nginx',
|
'Proxy Template' => 'Шаблон Nginx',
|
||||||
|
@ -161,7 +161,7 @@ $LANG['ua'] = array(
|
||||||
'per domain' => 'на домен',
|
'per domain' => 'на домен',
|
||||||
'DNS Domains' => 'DNS домени',
|
'DNS Domains' => 'DNS домени',
|
||||||
'DNS Domains' => 'DNS домени',
|
'DNS Domains' => 'DNS домени',
|
||||||
'DNS records' => 'DNS запису',
|
'DNS records' => 'DNS записи',
|
||||||
'Name Servers' => 'Сервери імен',
|
'Name Servers' => 'Сервери імен',
|
||||||
'Mail Domains' => 'Поштові домени',
|
'Mail Domains' => 'Поштові домени',
|
||||||
'Mail Accounts' => 'Поштові акаунти',
|
'Mail Accounts' => 'Поштові акаунти',
|
||||||
|
@ -173,19 +173,19 @@ $LANG['ua'] = array(
|
||||||
'backup exclusions' => 'вийнятки архіву',
|
'backup exclusions' => 'вийнятки архіву',
|
||||||
'template' => 'шаблон',
|
'template' => 'шаблон',
|
||||||
'SSL Support' => 'Підтримка SSL',
|
'SSL Support' => 'Підтримка SSL',
|
||||||
'SSL Home Directory' => 'Тека SSL',
|
'SSL Home Directory' => 'Домашня тека SSL',
|
||||||
'Proxy Support' => 'Підтримка Nginx',
|
'Proxy Support' => 'Підтримка Nginx',
|
||||||
'Proxy Extensions' => 'Опрацювання Nginx',
|
'Proxy Extensions' => 'Розширення Nginx',
|
||||||
'Web Statistics' => 'Статистика сайту',
|
'Web Statistics' => 'Веб статистика',
|
||||||
'Additional FTP Account' => 'Додатковий FTP',
|
'Additional FTP Account' => 'Додатковий FTP акаунт',
|
||||||
'SOA' => 'SOA',
|
'SOA' => 'SOA',
|
||||||
'TTL' => 'TTL',
|
'TTL' => 'TTL',
|
||||||
'Expire' => 'Спливає',
|
'Expire' => 'Спливає',
|
||||||
'Records' => 'DNS записи',
|
'Records' => 'Записи',
|
||||||
'Catchall email' => 'Пастка пошти',
|
'Catchall email' => 'Пастка пошти',
|
||||||
'AntiVirus Support' => 'Антивірус',
|
'AntiVirus Support' => 'Підтримка антивірусу',
|
||||||
'AntiSpam Support' => 'Антиспам',
|
'AntiSpam Support' => 'Підтримка антиспаму',
|
||||||
'DKIM Support' => 'DKIM',
|
'DKIM Support' => 'Підтримка DKIM',
|
||||||
'Accounts' => 'Акаунти',
|
'Accounts' => 'Акаунти',
|
||||||
'Quota' => 'Квота',
|
'Quota' => 'Квота',
|
||||||
'Autoreply' => 'Автовідповідач',
|
'Autoreply' => 'Автовідповідач',
|
||||||
|
@ -201,8 +201,8 @@ $LANG['ua'] = array(
|
||||||
'Month' => 'Місяць',
|
'Month' => 'Місяць',
|
||||||
'Day of week' => 'День тижня',
|
'Day of week' => 'День тижня',
|
||||||
'local' => 'локальний',
|
'local' => 'локальний',
|
||||||
'Run Time' => 'Виконаний за',
|
'Run Time' => 'Виконано за',
|
||||||
'Backup Size' => 'Розмір',
|
'Backup Size' => 'Розмір архіву',
|
||||||
'SYS' => 'Системний',
|
'SYS' => 'Системний',
|
||||||
'Domains' => 'Домени',
|
'Domains' => 'Домени',
|
||||||
'Status' => 'Статус',
|
'Status' => 'Статус',
|
||||||
|
@ -211,14 +211,14 @@ $LANG['ua'] = array(
|
||||||
'Owner' => 'Власник',
|
'Owner' => 'Власник',
|
||||||
'Users' => 'Користувачі',
|
'Users' => 'Користувачі',
|
||||||
'Load Average' => 'Загальне Навантаження',
|
'Load Average' => 'Загальне Навантаження',
|
||||||
'Memory Usage' => 'Використання Пам`яті',
|
'Memory Usage' => 'Використання Пам\'яті',
|
||||||
'HTTPD Usage' => 'Web сервер',
|
'HTTPD Usage' => 'Використання HTTPd',
|
||||||
'NGINX Usage' => 'Nginx',
|
'NGINX Usage' => 'Використання Nginx',
|
||||||
'MySQL Usage on localhost' => 'Сервер бази даних MySQL',
|
'MySQL Usage on localhost' => 'Локальний сервер бази даних MySQL',
|
||||||
'PostgreSQL Usage on localhost' => 'Сервер бази даних PostgreSQL',
|
'PostgreSQL Usage on localhost' => 'Локальний сервер бази даних PostgreSQL',
|
||||||
'Bandwidth Usage eth0' => 'Використання мережі: eth0',
|
'Bandwidth Usage eth0' => 'Використання мережі eth0',
|
||||||
'FTP Usage' => 'FTP сервер',
|
'FTP Usage' => 'Використання FTP',
|
||||||
'SSH Usage' => 'SSH сервер',
|
'SSH Usage' => 'Використання SSH',
|
||||||
'reverse proxy' => 'зворотній проксі',
|
'reverse proxy' => 'зворотній проксі',
|
||||||
'web server' => 'Web сервер',
|
'web server' => 'Web сервер',
|
||||||
'dns server' => 'DNS сервер ',
|
'dns server' => 'DNS сервер ',
|
||||||
|
@ -230,7 +230,7 @@ $LANG['ua'] = array(
|
||||||
'ftp server' => 'FTP сервер',
|
'ftp server' => 'FTP сервер',
|
||||||
'job scheduler' => 'планувальник завдань',
|
'job scheduler' => 'планувальник завдань',
|
||||||
'CPU' => 'Процесор',
|
'CPU' => 'Процесор',
|
||||||
'Memory' => 'Пам`ять',
|
'Memory' => 'Пам\'ять',
|
||||||
'Uptime' => 'Запущений',
|
'Uptime' => 'Запущений',
|
||||||
'core package' => 'головний пакет',
|
'core package' => 'головний пакет',
|
||||||
'php interpreter' => 'PHP інтерпретатор',
|
'php interpreter' => 'PHP інтерпретатор',
|
||||||
|
@ -238,14 +238,14 @@ $LANG['ua'] = array(
|
||||||
'Version' => 'Версія',
|
'Version' => 'Версія',
|
||||||
'Release' => 'Реліз',
|
'Release' => 'Реліз',
|
||||||
'Architecture' => 'Архітектура',
|
'Architecture' => 'Архітектура',
|
||||||
'Object' => 'Об`єкт',
|
'Object' => 'Об\'єкт',
|
||||||
'Owner' => 'Власник',
|
'Owner' => 'Власник',
|
||||||
'Username' => 'Акаунт',
|
'Username' => 'Акаунт',
|
||||||
'Password' => 'Пароль',
|
'Password' => 'Пароль',
|
||||||
'Email' => 'Поштова скринька',
|
'Email' => 'Поштова скринька',
|
||||||
'Package' => 'Пакет',
|
'Package' => 'Пакет',
|
||||||
'Language' => 'Мова',
|
'Language' => 'Мова',
|
||||||
'First Name' => 'Ім`я',
|
'First Name' => 'Ім\'я',
|
||||||
'Last Name' => 'Прізвище',
|
'Last Name' => 'Прізвище',
|
||||||
'Send login credentials to email address' => 'Відправити дані акаунту за адресою',
|
'Send login credentials to email address' => 'Відправити дані акаунту за адресою',
|
||||||
'Default Template' => 'Шаблон за замовчуванням',
|
'Default Template' => 'Шаблон за замовчуванням',
|
||||||
|
@ -257,12 +257,12 @@ $LANG['ua'] = array(
|
||||||
'Aliases' => 'Аліаси',
|
'Aliases' => 'Аліаси',
|
||||||
'SSL Certificate' => 'SSL сертификат',
|
'SSL Certificate' => 'SSL сертификат',
|
||||||
'SSL Key' => 'Ключ SSL сертифікату',
|
'SSL Key' => 'Ключ SSL сертифікату',
|
||||||
'SSL Certificate Authority / Intermediate' => 'Центр сертифікації SSL / Intermediate',
|
'SSL Certificate Authority / Intermediate' => 'Центр сертифікації SSL / Проміжний',
|
||||||
'SSL CSR' => 'SSL CSR запит',
|
'SSL CSR' => 'SSL CSR запит',
|
||||||
'optional' => 'опційно',
|
'optional' => 'опційно',
|
||||||
'internal' => 'внутрішній',
|
'internal' => 'внутрішній',
|
||||||
'Statistics Authorization' => 'Обмежений доступ до статистики',
|
'Statistics Authorization' => 'Обмежений доступ до статистики',
|
||||||
'Statistics Auth' => 'Авторизація Статистики',
|
'Statistics Auth' => 'Авторизація перегляду статистики',
|
||||||
'Account' => 'Акаунт',
|
'Account' => 'Акаунт',
|
||||||
'Prefix will be automaticaly added to username' => 'Префікс %s буде автоматично додано до назви акаунту',
|
'Prefix will be automaticaly added to username' => 'Префікс %s буде автоматично додано до назви акаунту',
|
||||||
'Send FTP credentials to email' => 'Відправити дані FTP акаунту за адресою',
|
'Send FTP credentials to email' => 'Відправити дані FTP акаунту за адресою',
|
||||||
|
@ -272,7 +272,7 @@ $LANG['ua'] = array(
|
||||||
'Record' => 'Запис / Піддомен',
|
'Record' => 'Запис / Піддомен',
|
||||||
'IP or Value' => 'IP адреса або Значення',
|
'IP or Value' => 'IP адреса або Значення',
|
||||||
'Priority' => 'Пріоритет',
|
'Priority' => 'Пріоритет',
|
||||||
'Record Number' => 'Порядковий номер',
|
'Record Number' => 'Порядковий номер запису',
|
||||||
'in megabytes' => 'в мегабайтах',
|
'in megabytes' => 'в мегабайтах',
|
||||||
'Message' => 'Повідомлення',
|
'Message' => 'Повідомлення',
|
||||||
'use local-part' => 'використовуйте тільки імена акаунтів',
|
'use local-part' => 'використовуйте тільки імена акаунтів',
|
||||||
|
@ -286,12 +286,12 @@ $LANG['ua'] = array(
|
||||||
'Netmask' => 'Маска підмережі',
|
'Netmask' => 'Маска підмережі',
|
||||||
'Interface' => 'Інтерфейс',
|
'Interface' => 'Інтерфейс',
|
||||||
'Shared' => 'Загальний',
|
'Shared' => 'Загальний',
|
||||||
'Assigned user' => 'Назначити користувачу',
|
'Assigned user' => 'Призначений користувач',
|
||||||
'Assigned domain' => 'Домен',
|
'Assigned domain' => 'Призначений домен',
|
||||||
'NAT IP association' => 'Асоційований NAT IP',
|
'NAT IP association' => 'Асоційований NAT IP',
|
||||||
'shell' => 'SSH доступ',
|
'shell' => 'оболонка',
|
||||||
'web domains' => 'Web домени',
|
'web domains' => 'Web домени',
|
||||||
'web aliases' => 'аліаси хостів',
|
'web aliases' => 'Web аліаси',
|
||||||
'dns records' => 'DNS записи',
|
'dns records' => 'DNS записи',
|
||||||
'mail domains' => 'поштові домени',
|
'mail domains' => 'поштові домени',
|
||||||
'mail accounts' => 'поштові акаунти',
|
'mail accounts' => 'поштові акаунти',
|
||||||
|
@ -299,7 +299,7 @@ $LANG['ua'] = array(
|
||||||
'databases' => 'бази даних',
|
'databases' => 'бази даних',
|
||||||
'cron jobs' => 'cron завдання',
|
'cron jobs' => 'cron завдання',
|
||||||
'backups' => 'архіви',
|
'backups' => 'архіви',
|
||||||
'quota' => 'квота диску',
|
'quota' => 'квота',
|
||||||
'day of week' => 'день тижня',
|
'day of week' => 'день тижня',
|
||||||
'cmd' => 'командний рядок',
|
'cmd' => 'командний рядок',
|
||||||
'users' => 'користувачі',
|
'users' => 'користувачі',
|
||||||
|
@ -317,26 +317,26 @@ $LANG['ua'] = array(
|
||||||
'IP address' => 'IP адреса',
|
'IP address' => 'IP адреса',
|
||||||
'netmask' => 'маска підмережі',
|
'netmask' => 'маска підмережі',
|
||||||
'interface' => 'інтерфейс',
|
'interface' => 'інтерфейс',
|
||||||
'assigned user' => 'обраний користувач',
|
'assigned user' => 'призначений користувач',
|
||||||
'ns1' => 'сервер імен #1',
|
'ns1' => 'сервер імен #1',
|
||||||
'ns2' => 'сервер імен #2',
|
'ns2' => 'сервер імен #2',
|
||||||
'user' => 'користувач',
|
'user' => 'користувач',
|
||||||
'email' => 'пошта',
|
'email' => 'пошта',
|
||||||
'first name' => 'ім`я',
|
'first name' => 'Ім\'я',
|
||||||
'last name' => 'прізвище',
|
'last name' => 'Прізвище',
|
||||||
'account' => 'акаунт',
|
'account' => 'акаунт',
|
||||||
'ssl certificate' => 'SSL сертификат',
|
'ssl certificate' => 'SSL сертификат',
|
||||||
'ssl key' => 'ключ SSL сертифікату',
|
'ssl key' => 'ключ SSL сертифікату',
|
||||||
'stats user password' => 'пароль доступу до статистики',
|
'stats user password' => 'пароль користувача статистики',
|
||||||
'stats username' => 'ім`я користувача статистики',
|
'stats username' => 'ім\'я користувача статистики',
|
||||||
'stats password' => 'пароль користувача статистики',
|
'stats password' => 'пароль статистики',
|
||||||
'ftp user password' => 'пароль доступу до FTP',
|
'ftp user password' => 'пароль доступу до FTP',
|
||||||
'ftp user' => 'користувач FTP',
|
'ftp user' => 'користувач FTP',
|
||||||
'Last 70 lines of %s.%s.log' => 'Останні 70 рядків файлу %s.%s.log',
|
'Last 70 lines of %s.%s.log' => 'Останні 70 рядків файлу %s.%s.log',
|
||||||
'Download AccessLog' => 'Завантажити AccessLog',
|
'Download AccessLog' => 'Завантажити AccessLog',
|
||||||
'Download ErrorLog' => 'Завантажити ErrorLog',
|
'Download ErrorLog' => 'Завантажити ErrorLog',
|
||||||
'Country' => 'Країна',
|
'Country' => 'Країна',
|
||||||
'2 letter code' => 'двобуквений код',
|
'2 letter code' => 'Двобуквений код',
|
||||||
'State / Province' => 'Область',
|
'State / Province' => 'Область',
|
||||||
'City / Locality' => 'Місто / Населений пункт',
|
'City / Locality' => 'Місто / Населений пункт',
|
||||||
'Organization' => 'Організація',
|
'Organization' => 'Організація',
|
||||||
|
@ -348,52 +348,52 @@ $LANG['ua'] = array(
|
||||||
'ranges are acceptable' => 'дозволені діапазони',
|
'ranges are acceptable' => 'дозволені діапазони',
|
||||||
'CIDR format is supported' => 'формат CIDR підтримується',
|
'CIDR format is supported' => 'формат CIDR підтримується',
|
||||||
|
|
||||||
'1 account' => ' користувачів на сторінці: 1',
|
'1 account' => ' 1 акаунт',
|
||||||
'%s accounts' => 'користувачів на сторінці: %s',
|
'%s accounts' => '%s акаунтів',
|
||||||
'1 domain' => 'доменів на сторінці: 1',
|
'1 domain' => '1 домен',
|
||||||
'%s domains' => 'доменів на сторінці: %s',
|
'%s domains' => '%s доменів',
|
||||||
'1 record' => 'записів на сторінці: 1',
|
'1 record' => '1 запис',
|
||||||
'%s records' => 'записів на сторінці: %s',
|
'%s records' => '%s записів',
|
||||||
'1 mail account' => 'акаунтів на сторінці: 1',
|
'1 mail account' => '1 поштовий акаунт',
|
||||||
'%s mail accounts' => 'акаунтів на сторінці: %s',
|
'%s mail accounts' => '%s поштових акаунтів',
|
||||||
'1 database' => 'баз даних на сторінці: 1',
|
'1 database' => '1 база даних',
|
||||||
'%s databases' => 'баз даних на сторінці: %s',
|
'%s databases' => '%s баз даних',
|
||||||
'1 cron job' => 'завдань на сторінці: 1',
|
'1 cron job' => '1 завдання',
|
||||||
'%s cron jobs' => 'завдань на сторінці: %s',
|
'%s cron jobs' => '%s завдань',
|
||||||
'1 archive' => 'архівів на сторінці: 1',
|
'1 archive' => '1 архів',
|
||||||
'%s archives' => 'архівів на сторінці: %s',
|
'%s archives' => '%s архівів',
|
||||||
'1 package' => 'пакетів на сторінці: 1',
|
'1 package' => '1 пакет',
|
||||||
'%s packages' => 'пакетів на сторінці: %s',
|
'%s packages' => '%s пакет',
|
||||||
'1 IP address' => 'IP адрес на сторінці: 1',
|
'1 IP address' => '1 IP адреса',
|
||||||
'%s IP addresses' => 'IP адрес на сторінці: %s',
|
'%s IP addresses' => '%s IP адрес',
|
||||||
'1 month' => 'місяців на сторінці: 1',
|
'1 month' => '1 місяць',
|
||||||
'%s months' => 'місяців на сторінці: %s',
|
'%s months' => '%s місяців',
|
||||||
'1 log record' => 'записів на сторінці: 1',
|
'1 log record' => '1 журнальний запис',
|
||||||
'%s log records' => 'записів на сторінці %s',
|
'%s log records' => '%s журнальних записів',
|
||||||
'1 object' => 'об`єктів на сторінці: 1',
|
'1 object' => '1 об\'єкт',
|
||||||
'%s objects' => 'об`єктів на сторінці: %s',
|
'%s objects' => '%s об\'єктів',
|
||||||
'no exclusions' => 'немає виключень',
|
'no exclusions' => 'немає виключень',
|
||||||
'1 rule' => 'правил на сторінці: 1',
|
'1 rule' => '1 правило',
|
||||||
'%s rules' => 'правил на сторінці: %s',
|
'%s rules' => '%s правил',
|
||||||
'There are no currently banned IP' => 'Немає заблокованих IP',
|
'There are no currently banned IP' => 'Немає заблокованих IP',
|
||||||
|
|
||||||
'USER_CREATED_OK' => 'Аккаунт <a href="/edit/user/?user=%s"><b>%s</b></a> успішно створено',
|
'USER_CREATED_OK' => 'Аккаунт <a href="/edit/user/?user=%s"><b>%s</b></a> успішно створено',
|
||||||
'WEB_DOMAIN_CREATED_OK' => 'Домен <a href="/edit/web/?domain=%s"><b>%s</b></a> успішно створено.',
|
'WEB_DOMAIN_CREATED_OK' => 'WEB домен <a href="/edit/web/?domain=%s"><b>%s</b></a> успішно створено.',
|
||||||
'DNS_DOMAIN_CREATED_OK' => 'Домен <a href="/list/dns/?domain=%s"><b>%s</b></a> успішно створено.',
|
'DNS_DOMAIN_CREATED_OK' => 'DNS домен <a href="/list/dns/?domain=%s"><b>%s</b></a> успішно створено.',
|
||||||
'DNS_RECORD_CREATED_OK' => 'Запис <b>%s.%s</b> успішно створено.',
|
'DNS_RECORD_CREATED_OK' => 'DNS запис <b>%s.%s</b> успішно створено.',
|
||||||
'MAIL_DOMAIN_CREATED_OK' => 'Домен <a href="/list/mail/?domain=%s"><b>%s</b></a> успішно створено.',
|
'MAIL_DOMAIN_CREATED_OK' => 'Поштовий домен <a href="/list/mail/?domain=%s"><b>%s</b></a> успішно створено.',
|
||||||
'MAIL_ACCOUNT_CREATED_OK' => 'Аккаунт <a href="/edit/mail/?account=%s&domain=%s"><b>%s@%s</b></a> успішно створено',
|
'MAIL_ACCOUNT_CREATED_OK' => 'Поштову скриньку <a href="/edit/mail/?account=%s&domain=%s"><b>%s@%s</b></a> успішно створено',
|
||||||
'DATABASE_CREATED_OK' => 'Базу даних <a href="/edit/db/?database=%s"><b>%s</b></a> успішно створено',
|
'DATABASE_CREATED_OK' => 'Базу даних <a href="/edit/db/?database=%s"><b>%s</b></a> успішно створено',
|
||||||
'CRON_CREATED_OK' => 'Завдання успішно додано',
|
'CRON_CREATED_OK' => 'Cron завдання успішно додано',
|
||||||
'IP_CREATED_OK' => '"IP адресу <a href="/edit/ip/?ip=%s"><b>%s</b></a> успішно створено.',
|
'IP_CREATED_OK' => '"IP адресу <a href="/edit/ip/?ip=%s"><b>%s</b></a> успішно створено.',
|
||||||
'PACKAGE_CREATED_OK' => 'Пакет <a href="/edit/package/?package=%s"><b>%s</b></a> успішно створено.',
|
'PACKAGE_CREATED_OK' => 'Пакет <a href="/edit/package/?package=%s"><b>%s</b></a> успішно створено.',
|
||||||
'SSL_GENERATED_OK' => 'SSL cертификат успішно створено.',
|
'SSL_GENERATED_OK' => 'SSL cертификат успішно згенеровано.',
|
||||||
'RULE_CREATED_OK' => 'Правило успішно створено.',
|
'RULE_CREATED_OK' => 'Правило успішно створено.',
|
||||||
'Autoupdate has been successfully enabled' => 'Aвтооновлення було успішно увімкнено',
|
'Autoupdate has been successfully enabled' => 'Aвтооновлення було успішно увімкнено',
|
||||||
'Autoupdate has been successfully disabled' => 'Aвтооновлення було успішно вимкнено',
|
'Autoupdate has been successfully disabled' => 'Aвтооновлення було успішно вимкнено',
|
||||||
'Cronjob email reporting has been successfully enabled' => 'Cronjob звітування було успішно увімкнено',
|
'Cronjob email reporting has been successfully enabled' => 'Cronjob звітування було успішно увімкнено',
|
||||||
'Cronjob email reporting has been successfully disabled' => 'Cronjob звітування було успішно вимкнено',
|
'Cronjob email reporting has been successfully disabled' => 'Cronjob звітування було успішно вимкнено',
|
||||||
'Changes has been saved.' => 'Зміни збережені.',
|
'Changes has been saved.' => 'Зміни збережено.',
|
||||||
'Confirmation' => 'Підтвердження',
|
'Confirmation' => 'Підтвердження',
|
||||||
'DELETE_USER_CONFIRMATION' => 'Ви впевнені, що хочете видалити користувача %s?',
|
'DELETE_USER_CONFIRMATION' => 'Ви впевнені, що хочете видалити користувача %s?',
|
||||||
'SUSPEND_USER_CONFIRMATION' => 'Ви впевнені, що хочете заблокувати користувача %s?',
|
'SUSPEND_USER_CONFIRMATION' => 'Ви впевнені, що хочете заблокувати користувача %s?',
|
||||||
|
@ -434,9 +434,9 @@ $LANG['ua'] = array(
|
||||||
'SERVICE_ACTION_FAILED' => 'Не вдалось "%s" "%s"',
|
'SERVICE_ACTION_FAILED' => 'Не вдалось "%s" "%s"',
|
||||||
'IP address is in use' => 'IP адреса використовується',
|
'IP address is in use' => 'IP адреса використовується',
|
||||||
'BACKUP_SCHEDULED' => 'Завдання успішно додано в чергу. Після виконання ви отримаєте повний звіт по пошті.',
|
'BACKUP_SCHEDULED' => 'Завдання успішно додано в чергу. Після виконання ви отримаєте повний звіт по пошті.',
|
||||||
'BACKUP_EXISTS' => 'Резервне копіювання вже виконується, будь-ласка дочекайтесь закінчення.',
|
'BACKUP_EXISTS' => 'Резервне копіювання вже виконується, будь-ласка, дочекайтесь закінчення.',
|
||||||
'RESTORE_SCHEDULED' => 'Завдання успішно додано в чергу. Після виконання ви отримаєте повний звіт по пошті.',
|
'RESTORE_SCHEDULED' => 'Завдання успішно додано в чергу. Після виконання ви отримаєте повний звіт по пошті.',
|
||||||
'RESTORE_EXISTS' => 'Завдання вже виконується, будь-ласка дочекайтесь закінчення.',
|
'RESTORE_EXISTS' => 'Завдання вже виконується, будь-ласка, дочекайтесь закінчення.',
|
||||||
|
|
||||||
'WEB_EXCLUSIONS' => "Вкажіть домени по одному на рядок. Для того, щоб виключити всі, використовуйте *. Щоб виключити тільки деякі теки, використовуйте наступний формат: domain.com:public_html/cache:public_html/tmp",
|
'WEB_EXCLUSIONS' => "Вкажіть домени по одному на рядок. Для того, щоб виключити всі, використовуйте *. Щоб виключити тільки деякі теки, використовуйте наступний формат: domain.com:public_html/cache:public_html/tmp",
|
||||||
'DNS_EXCLUSIONS' => "Вкажіть домени по одному на рядок. Для того, щоб виключити всі, використовуйте *",
|
'DNS_EXCLUSIONS' => "Вкажіть домени по одному на рядок. Для того, щоб виключити всі, використовуйте *",
|
||||||
|
@ -449,20 +449,20 @@ $LANG['ua'] = array(
|
||||||
'MAIL_FROM' => 'Vesta Control Panel <noreply@%s>',
|
'MAIL_FROM' => 'Vesta Control Panel <noreply@%s>',
|
||||||
'GREETINGS_GORDON_FREEMAN' => "Вітаємо, %s %s,\n",
|
'GREETINGS_GORDON_FREEMAN' => "Вітаємо, %s %s,\n",
|
||||||
'GREETINGS' => "Вітаємо,\n",
|
'GREETINGS' => "Вітаємо,\n",
|
||||||
'ACCOUNT_READY' => "Ваш аккаунт успішно створений і готовий до використання.\n\nhttps://%s/login/\nІм`я користувача: %s\nПароль: %s\n\n--\nПанель керування Vesta\n",
|
'ACCOUNT_READY' => "Ваш аккаунт успішно створено і готовий до використання.\n\nhttps://%s/login/\nІм`я користувача: %s\nПароль: %s\n\n--\nПанель керування Vesta\n",
|
||||||
|
|
||||||
'FTP login credentials' => 'Дані доступу до FTP',
|
'FTP login credentials' => 'Дані доступу до FTP',
|
||||||
'FTP_ACCOUNT_READY' => "FTP аккаунт успішно створений і готовий до використання.\n\nХост: %s\nІм`я користувача: %s_%s\nПароль: %s\n\n--\nПанель керування Vesta\n",
|
'FTP_ACCOUNT_READY' => "FTP аккаунт успішно створено і готовий до використання.\n\nХост: %s\nІм`я користувача: %s_%s\nПароль: %s\n\n--\nПанель керування Vesta\n",
|
||||||
|
|
||||||
'Database Credentials' => 'Дані доступу до БД',
|
'Database Credentials' => 'Дані доступу до БД',
|
||||||
'DATABASE_READY' => "База даних успішно створена.\n\nБаза даних: %s\nКористувач: %s\nПароль: %s\n%s\n\n--\nПанель керування Vesta\n",
|
'DATABASE_READY' => "База даних успішно створена.\n\nБаза даних: %s\nКористувач: %s\nПароль: %s\n%s\n\n--\nПанель керування Vesta\n",
|
||||||
|
|
||||||
'forgot password' => 'нагадати',
|
'forgot password' => 'нагадати пароль',
|
||||||
'Confirm' => 'Підтвердити',
|
'Confirm' => 'Підтвердити',
|
||||||
'New Password' => 'Новий пароль',
|
'New Password' => 'Новий пароль',
|
||||||
'Confirm Password' => 'Підтвердження паролю',
|
'Confirm Password' => 'Підтвердження паролю',
|
||||||
'Reset' => 'Скинути',
|
'Reset' => 'Скинути',
|
||||||
'Reset Code' => 'Код відновлення',
|
'Reset Code' => 'Код скидання',
|
||||||
'RESET_NOTICE' => '',
|
'RESET_NOTICE' => '',
|
||||||
'RESET_CODE_SENT' => 'Код для відновлення паролю успішно відправлено на вашу електронну пошту.<br>',
|
'RESET_CODE_SENT' => 'Код для відновлення паролю успішно відправлено на вашу електронну пошту.<br>',
|
||||||
'MAIL_RESET_SUBJECT' => 'Відновлення паролю %s',
|
'MAIL_RESET_SUBJECT' => 'Відновлення паролю %s',
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
if (isset($_SESSION['user'])) {
|
if (isset($_SESSION['user'])) {
|
||||||
header("Location: /list/user");
|
header("Location: /list/user/");
|
||||||
} else {
|
} else {
|
||||||
header("Location: /login/");
|
header("Location: /login/");
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,7 +142,7 @@ VE.helpers.initAdditionalPasswordFieldElements = function(ref) {
|
||||||
$(ref).prop('autocomplete', 'off');
|
$(ref).prop('autocomplete', 'off');
|
||||||
|
|
||||||
var enabled_html = enabled ? '' : 'show-passwords-enabled-action';
|
var enabled_html = enabled ? '' : 'show-passwords-enabled-action';
|
||||||
var html = '<span class="hide-password"><img class="toggle-psw-visibility-icon ' + enabled_html + '" onClick="VE.helpers.toggleHiddenPasswordText(\'' + ref + '\', this)" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAANlJREFUOI3d0UtKA0EQBuBP0eQCitkJLiXiSSTkUCKIIPg8SJCouDELrxDRCxi3SUQimXFhjRSDZq8/FE3/jyqqm3+JXVziGbOoJ1xgZ1GwiXMUKDFBH1cYB1fgBI16uIG7MJW4x1rS1zFIeh8rucFREicR7mKEV3SwgWnyHVThLXzUuotwxY2Cu0ncDJvLccko4lxKXPkL9509TMQ4du7E5BfsoYW35NvPU1dxncRB7FyhhYek99Qeka+fOMU8TNPY+TZNnuP4p3BGG2d4xHvUMJpvLwr+UXwCQghNMl5Zo0AAAAAASUVORK5CYII=" /></span>';
|
var html = '<span class="hide-password"><img class="toggle-psw-visibility-icon ' + enabled_html + '" onClick="VE.helpers.toggleHiddenPasswordText(\'' + ref + '\', this)" src="/images/toggle_password.png" /></span>';
|
||||||
$(ref).after(html);
|
$(ref).after(html);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -172,7 +172,7 @@
|
||||||
var c = f.get.clicks(p,o,$(this));
|
var c = f.get.clicks(p,o,$(this));
|
||||||
|
|
||||||
var ref = $(e.target);
|
var ref = $(e.target);
|
||||||
if (ref.parents('.data-row').hasClass('selected') && $('.selected').length == 1) {console.warn(1);
|
if (ref.parents('.data-row').hasClass('selected') && $('.selected').length == 1) {
|
||||||
ref.parents('.data-row').removeClass('selected');
|
ref.parents('.data-row').removeClass('selected');
|
||||||
ref.parents('.data-row').find('.ch-toggle').attr('checked', false);
|
ref.parents('.data-row').find('.ch-toggle').attr('checked', false);
|
||||||
return;
|
return;
|
||||||
|
@ -203,7 +203,7 @@
|
||||||
p.on('mouseout', function(){
|
p.on('mouseout', function(){
|
||||||
d.off("keydown", turnOff);
|
d.off("keydown", turnOff);
|
||||||
});
|
});
|
||||||
|
|
||||||
function turnOff(e) {
|
function turnOff(e) {
|
||||||
if (f.detect.ctrl(e)) {
|
if (f.detect.ctrl(e)) {
|
||||||
if (e.keyCode == 65) {
|
if (e.keyCode == 65) {
|
||||||
|
@ -562,6 +562,7 @@
|
||||||
hAll: function(p,o) {
|
hAll: function(p,o) {
|
||||||
f.h.on(p.find(o.children), o);
|
f.h.on(p.find(o.children), o);
|
||||||
f.t.update(p, o);
|
f.t.update(p, o);
|
||||||
|
o.toggleAllHook && o.toggleAllHook();
|
||||||
},
|
},
|
||||||
unHExist: function(bool,el,o) {
|
unHExist: function(bool,el,o) {
|
||||||
if(bool) {
|
if(bool) {
|
||||||
|
|
|
@ -41,7 +41,6 @@ App.Listeners.PACKAGE.init = function() {
|
||||||
if ($(ref).val().trim() == App.Constants.UNLIM_VALUE || $(ref).val().trim() == App.Constants.UNLIM_TRANSLATED_VALUE) {
|
if ($(ref).val().trim() == App.Constants.UNLIM_VALUE || $(ref).val().trim() == App.Constants.UNLIM_TRANSLATED_VALUE) {
|
||||||
$(ref).val('0');
|
$(ref).val('0');
|
||||||
App.Actions.PACKAGE.enable_unlimited(ref, elm);
|
App.Actions.PACKAGE.enable_unlimited(ref, elm);
|
||||||
//$(elm).attr('checked', true);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
App.Actions.PACKAGE.disable_unlimited(ref, elm);
|
App.Actions.PACKAGE.disable_unlimited(ref, elm);
|
||||||
|
@ -54,7 +53,7 @@ App.Listeners.PACKAGE.init = function() {
|
||||||
// Trigger listeners
|
// Trigger listeners
|
||||||
App.Listeners.PACKAGE.init();
|
App.Listeners.PACKAGE.init();
|
||||||
App.Listeners.PACKAGE.checkbox_unlimited_feature();
|
App.Listeners.PACKAGE.checkbox_unlimited_feature();
|
||||||
$('form[name="v_edit_package"]').bind('submit', function(evt) {
|
$('form[name="v_add_package"]').bind('submit', function(evt) {
|
||||||
$('input:disabled').each(function(i, elm) {
|
$('input:disabled').each(function(i, elm) {
|
||||||
$(elm).attr('disabled', false);
|
$(elm).attr('disabled', false);
|
||||||
});
|
});
|
||||||
|
|
|
@ -41,7 +41,6 @@ App.Listeners.PACKAGE.init = function() {
|
||||||
if ($(ref).val().trim() == App.Constants.UNLIM_VALUE || $(ref).val().trim() == App.Constants.UNLIM_TRANSLATED_VALUE) {
|
if ($(ref).val().trim() == App.Constants.UNLIM_VALUE || $(ref).val().trim() == App.Constants.UNLIM_TRANSLATED_VALUE) {
|
||||||
$(ref).val('0');
|
$(ref).val('0');
|
||||||
App.Actions.PACKAGE.enable_unlimited(ref, elm);
|
App.Actions.PACKAGE.enable_unlimited(ref, elm);
|
||||||
//$(elm).attr('checked', true);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
App.Actions.PACKAGE.disable_unlimited(ref, elm);
|
App.Actions.PACKAGE.disable_unlimited(ref, elm);
|
||||||
|
|
|
@ -146,7 +146,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_web_domains" <?php if (isset($v_web_domains)) echo "value=".$v_web_domains; ?>>
|
<input type="text" size="20" class="vst-input" name="v_web_domains" <?php if (isset($v_web_domains)) echo "value=".$v_web_domains; ?>>
|
||||||
<img class="unlim-trigger" id="unlim-web-domains" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img class="unlim-trigger" id="unlim-web-domains" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -157,7 +157,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_web_aliases" <?php if (isset($v_web_aliases)) echo "value=".$v_web_aliases; ?>>
|
<input type="text" size="20" class="vst-input" name="v_web_aliases" <?php if (isset($v_web_aliases)) echo "value=".$v_web_aliases; ?>>
|
||||||
<img id="unlim-web-aliases" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-web-aliases" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -168,7 +168,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_dns_domains" <?php if (isset($v_dns_domains)) echo "value=".$v_dns_domains; ?>>
|
<input type="text" size="20" class="vst-input" name="v_dns_domains" <?php if (isset($v_dns_domains)) echo "value=".$v_dns_domains; ?>>
|
||||||
<img id="unlim-dns-domain" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-dns-domain" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -179,7 +179,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_dns_records" <?php if (isset($v_dns_records)) echo "value=".$v_dns_records; ?>>
|
<input type="text" size="20" class="vst-input" name="v_dns_records" <?php if (isset($v_dns_records)) echo "value=".$v_dns_records; ?>>
|
||||||
<img id="unlim-dns-records" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-dns-records" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -190,7 +190,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_mail_domains" <?php if (isset($v_mail_domains)) echo "value=".$v_mail_domains; ?>>
|
<input type="text" size="20" class="vst-input" name="v_mail_domains" <?php if (isset($v_mail_domains)) echo "value=".$v_mail_domains; ?>>
|
||||||
<img id="unlim-mail-domains" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-mail-domains" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -201,7 +201,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_mail_accounts" <?php if (isset($v_mail_accounts)) echo "value=".$v_mail_accounts; ?>>
|
<input type="text" size="20" class="vst-input" name="v_mail_accounts" <?php if (isset($v_mail_accounts)) echo "value=".$v_mail_accounts; ?>>
|
||||||
<img id="unlim-mail-accounts" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-mail-accounts" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -212,7 +212,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_databases" <?php if (isset($v_databases)) echo "value=".$v_databases; ?>>
|
<input type="text" size="20" class="vst-input" name="v_databases" <?php if (isset($v_databases)) echo "value=".$v_databases; ?>>
|
||||||
<img id="unlim-databases" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-databases" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -223,7 +223,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_cron_jobs" <?php if (isset($v_cron_jobs)) echo "value=".$v_cron_jobs; ?>>
|
<input type="text" size="20" class="vst-input" name="v_cron_jobs" <?php if (isset($v_cron_jobs)) echo "value=".$v_cron_jobs; ?>>
|
||||||
<img id="unlim-cron-jobs" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-cron-jobs" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -244,7 +244,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_disk_quota" <?php if (isset($v_disk_quota)) echo "value=".$v_disk_quota; ?>>
|
<input type="text" size="20" class="vst-input" name="v_disk_quota" <?php if (isset($v_disk_quota)) echo "value=".$v_disk_quota; ?>>
|
||||||
<img id="unlim-disk-quota" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-disk-quota" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -255,7 +255,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_bandwidth" <?php if (isset($v_bandwidth)) echo "value=".$v_bandwidth; ?>>
|
<input type="text" size="20" class="vst-input" name="v_bandwidth" <?php if (isset($v_bandwidth)) echo "value=".$v_bandwidth; ?>>
|
||||||
<img name="unlim-bandwidth" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img name="unlim-bandwidth" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
|
@ -152,7 +152,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_web_domains" <?php if (isset($v_web_domains)) echo "value=".$v_web_domains; ?>>
|
<input type="text" size="20" class="vst-input" name="v_web_domains" <?php if (isset($v_web_domains)) echo "value=".$v_web_domains; ?>>
|
||||||
<img class="unlim-trigger" id="unlim-web-domains" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img class="unlim-trigger" id="unlim-web-domains" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -163,7 +163,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_web_aliases" <?php if (isset($v_web_aliases)) echo "value=".$v_web_aliases; ?>>
|
<input type="text" size="20" class="vst-input" name="v_web_aliases" <?php if (isset($v_web_aliases)) echo "value=".$v_web_aliases; ?>>
|
||||||
<img id="unlim-web-aliases" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-web-aliases" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -174,7 +174,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_dns_domains" <?php if (isset($v_dns_domains)) echo "value=".$v_dns_domains; ?>>
|
<input type="text" size="20" class="vst-input" name="v_dns_domains" <?php if (isset($v_dns_domains)) echo "value=".$v_dns_domains; ?>>
|
||||||
<img id="unlim-dns-domain" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-dns-domain" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_dns_records" <?php if (isset($v_dns_records)) echo "value=".$v_dns_records; ?>>
|
<input type="text" size="20" class="vst-input" name="v_dns_records" <?php if (isset($v_dns_records)) echo "value=".$v_dns_records; ?>>
|
||||||
<img id="unlim-dns-records" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-dns-records" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -196,7 +196,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_mail_domains" <?php if (isset($v_mail_domains)) echo "value=".$v_mail_domains; ?>>
|
<input type="text" size="20" class="vst-input" name="v_mail_domains" <?php if (isset($v_mail_domains)) echo "value=".$v_mail_domains; ?>>
|
||||||
<img id="unlim-mail-domains" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-mail-domains" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -207,7 +207,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_mail_accounts" <?php if (isset($v_mail_accounts)) echo "value=".$v_mail_accounts; ?>>
|
<input type="text" size="20" class="vst-input" name="v_mail_accounts" <?php if (isset($v_mail_accounts)) echo "value=".$v_mail_accounts; ?>>
|
||||||
<img id="unlim-mail-accounts" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-mail-accounts" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
<td>
|
<td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -218,7 +218,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_databases" <?php if (isset($v_databases)) echo "value=".$v_databases; ?>>
|
<input type="text" size="20" class="vst-input" name="v_databases" <?php if (isset($v_databases)) echo "value=".$v_databases; ?>>
|
||||||
<img id="unlim-databases" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-databases" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -229,7 +229,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_cron_jobs" <?php if (isset($v_cron_jobs)) echo "value=".$v_cron_jobs; ?>>
|
<input type="text" size="20" class="vst-input" name="v_cron_jobs" <?php if (isset($v_cron_jobs)) echo "value=".$v_cron_jobs; ?>>
|
||||||
<img id="unlim-cron-jobs" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-cron-jobs" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -250,7 +250,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_disk_quota" <?php if (isset($v_disk_quota)) echo "value=".$v_disk_quota; ?>>
|
<input type="text" size="20" class="vst-input" name="v_disk_quota" <?php if (isset($v_disk_quota)) echo "value=".$v_disk_quota; ?>>
|
||||||
<img id="unlim-disk-quota" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img id="unlim-disk-quota" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -261,7 +261,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" size="20" class="vst-input" name="v_bandwidth" <?php if (isset($v_bandwidth)) echo "value=".$v_bandwidth; ?>>
|
<input type="text" size="20" class="vst-input" name="v_bandwidth" <?php if (isset($v_bandwidth)) echo "value=".$v_bandwidth; ?>>
|
||||||
<img name="unlim-bandwidth" class="unlim-trigger" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAQAAACMnYaxAAAAAmJLR0QA/4ePzL8AAACaSURBVBgZxcExasJQAADQBwkIujhGXHSxB3ArDg4u0lkE8TRCZwvFC2Rzq2fQOCpY0EO4qoNgftEM9gTte/y9CJG6spOnRNVZoOlbEOyN3I0dBMFOgy9LLW0frj7NXE21vcgsOBoodFycvSoMnWI3kUIiRqIQuzG30dWTyk28y6V6urbm1GWCXKbv7s1aEKzUPFSU/FZS8U9+AP5iKrZ4my0HAAAAAElFTkSuQmCC" />
|
<img name="unlim-bandwidth" class="unlim-trigger" src="/images/unlim.png" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
|
@ -5,28 +5,39 @@
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
VE.core.register($('.data'));
|
VE.core.register($('.data'));
|
||||||
var shift_select_ref = $('#vstobjects').finderSelect({children: '.data-row',
|
if (location.href.search(/list/) != -1) {
|
||||||
'onFinish': function(evt) {
|
var shift_select_ref = $('body').finderSelect({children: '.data-row',
|
||||||
var ref = $(evt.target);
|
'onFinish': function(evt) {
|
||||||
if (ref.hasClass('ch-toggle')) {
|
var ref = $(evt.target);
|
||||||
if (!ref.prop('checked')) {
|
if (ref.hasClass('ch-toggle')) {
|
||||||
ref.parents('.data-row').addClass('selected');
|
if (!ref.prop('checked')) {
|
||||||
|
ref.parents('.data-row').addClass('selected');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ref.parents('.data-row').removeClass('selected');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ref.parents('.data-row').removeClass('selected');
|
$('#vstobjects').find('.data-row .ch-toggle').attr('checked', false);
|
||||||
|
$('#vstobjects').find('.data-row.selected .ch-toggle').attr('checked', true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'toggleAllHook': function() {
|
||||||
|
if ($('.data-row').length == $('.ch-toggle:checked').length) {
|
||||||
|
$('.data-row.selected').removeClass('selected');
|
||||||
|
$('.ch-toggle').attr('checked', false);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$('.ch-toggle').attr('checked', true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
});
|
||||||
$('#vstobjects').find('.data-row .ch-toggle').attr('checked', false);
|
$('table').on('mousedown', 'td', function(e) {
|
||||||
$('#vstobjects').find('.data-row.selected .ch-toggle').attr('checked', true);
|
if (e.ctrlKey) {
|
||||||
|
e.preventDefault();
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
});
|
}
|
||||||
$('table').on('mousedown', 'td', function(e) {
|
|
||||||
if (e.ctrlKey) {
|
|
||||||
e.preventDefault();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue