mirror of
https://github.com/myvesta/vesta
synced 2025-08-14 02:28:05 -07:00
Merge changes from upstream & more
This commit is contained in:
parent
c20998b1ac
commit
a2ac36b676
22 changed files with 5760 additions and 4261 deletions
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
#!/bin/bash
|
||||
# info: add dns domain or dns record based on web domain alias restart
|
||||
# options: USER DOMAIN
|
||||
|
@ -78,3 +79,92 @@ fi
|
|||
# No Logging
|
||||
|
||||
exit
|
||||
=======
|
||||
#!/bin/bash
|
||||
# info: add dns domain or dns record based on web domain alias restart
|
||||
# options: USER DOMAIN
|
||||
#
|
||||
# The function adds dns domain or dns record based on web domain alias.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument defenition
|
||||
user=$1
|
||||
domain=$(echo $2 | sed -e 's/\.*$//g' -e 's/^\.*//g')
|
||||
domain_idn=$(idn -t --quiet -a "$domain")
|
||||
dom_alias=$(idn -t --quiet -u "$3" )
|
||||
dom_alias=$(echo $dom_alias | sed -e 's/\.*$//g' -e 's/^\.*//g')
|
||||
dom_alias=$(echo $dom_alias | tr '[:upper:]' '[:lower:]')
|
||||
dom_alias_idn=$(idn -t --quiet -a "$dom_alias" )
|
||||
restart="$4"
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
source $VESTA/func/main.sh
|
||||
source $VESTA/func/domain.sh
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '3' "$#" 'USER DOMAIN ALIAS'
|
||||
validate_format 'user' 'domain'
|
||||
is_system_enabled "$WEB_SYSTEM"
|
||||
is_system_enabled "$DNS_SYSTEM"
|
||||
is_object_valid 'user' 'USER' "$user"
|
||||
is_object_unsuspended 'user' 'USER' "$user"
|
||||
is_object_valid 'web' 'DOMAIN' "$domain"
|
||||
is_object_unsuspended 'web' 'DOMAIN' "$domain"
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Parsing domain values
|
||||
get_domain_values 'web'
|
||||
|
||||
# Check if it a simple domain
|
||||
if [ $(echo -e "${dom_alias//\./\n}" | wc -l) -le 2 ]; then
|
||||
if [ ! -e "$USER_DATA/dns/$dom_alias.conf" ]; then
|
||||
$BIN/v-add-dns-domain \
|
||||
$user $dom_alias $IP '' '' '' '' '' $restart > /dev/null
|
||||
fi
|
||||
else
|
||||
# Check subdomain
|
||||
sub=$(echo "$dom_alias" | cut -f1 -d . -s)
|
||||
dom=$(echo "$dom_alias" | sed -e "s/^$sub.//" )
|
||||
if [ ! -e "$USER_DATA/dns/$dom.conf" ]; then
|
||||
$BIN/v-add-dns-domain \
|
||||
$user $dom $IP '' '' '' '' '' $restart > /dev/null
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
$BIN/v-add-dns-domain-record \
|
||||
$user $dom "$sub" A $IP '' '' $restart
|
||||
fi
|
||||
else
|
||||
if [ "$sub" == '*' ]; then
|
||||
rec=$(grep -w "RECORD='\*'" $USER_DATA/dns/$dom.conf)
|
||||
else
|
||||
rec=$(grep -w "RECORD='$sub'" $USER_DATA/dns/$dom.conf)
|
||||
fi
|
||||
if [ -z "$rec" ]; then
|
||||
$BIN/v-add-dns-domain-record \
|
||||
$user $dom "$sub" A $IP '' '' $restart > /dev/null
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# No Logging
|
||||
|
||||
exit
|
||||
>>>>>>> 994c40901078e48fe939536f7b366e29c2e44a1d
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
#!/bin/bash
|
||||
# info: add ftp account for web domain.
|
||||
# options: USER DOMAIN FTP_USER FTP_PASSWORD
|
||||
|
@ -69,3 +70,82 @@ log_history "added ftp account $ftp_user for $domain"
|
|||
log_event "$OK" "$EVENT"
|
||||
|
||||
exit
|
||||
=======
|
||||
#!/bin/bash
|
||||
# info: add ftp account for web domain.
|
||||
# options: USER DOMAIN FTP_USER FTP_PASSWORD
|
||||
#
|
||||
# The function creates addutional ftp account for web domain.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument defenition
|
||||
user=$1
|
||||
domain=$(idn -t --quiet -u "$2" )
|
||||
domain_idn=$(idn -t --quiet -a "$domain")
|
||||
ftp_user=${1}_${3}
|
||||
ftp_password=$4
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
source $VESTA/func/main.sh
|
||||
source $VESTA/func/domain.sh
|
||||
|
||||
# Hiding password
|
||||
A4='******'
|
||||
EVENT="DATE='$DATE' TIME='$TIME' CMD='$SCRIPT' A1='$A1' A2='$A2' A3='$A3'"
|
||||
EVENT="$EVENT A4='$A4' A5='$A5' A6='$A6' A7='$A7' A8='$A8' A9='$A9'"
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '4' "$#" 'USER DOMAIN FTP_USER FTP_PASSWORD'
|
||||
validate_format 'user' 'domain' 'ftp_user' 'ftp_password'
|
||||
is_system_enabled "$WEB_SYSTEM"
|
||||
is_object_valid 'user' 'USER' "$user"
|
||||
is_object_unsuspended 'user' 'USER' "$user"
|
||||
is_object_valid 'web' 'DOMAIN' "$domain"
|
||||
is_object_unsuspended 'web' 'DOMAIN' "$domain"
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
get_domain_values 'web'
|
||||
check_ftp_user=$(grep "^$ftp_user:" /etc/passwd)
|
||||
if [ ! -z "$check_ftp_user" ] && [ "$FTP_USER" != "$ftp_user" ]; then
|
||||
echo "Error: ftp user $ftp_user already exists"
|
||||
log_event "$E_EXISTS $EVENT"
|
||||
exit $E_EXISTS
|
||||
fi
|
||||
|
||||
if [ ! -z "$FTP_USER" ]; then
|
||||
/usr/sbin/userdel $FTP_USER
|
||||
fi
|
||||
|
||||
# Adding user
|
||||
/usr/sbin/adduser $ftp_user -g $user -s /sbin/nologin -M \
|
||||
-d "$HOMEDIR/$user/web/$domain" > /dev/null 2>&1
|
||||
echo "$ftp_password" | /usr/bin/passwd "$ftp_user" --stdin &>/dev/null
|
||||
ftp_md5="$(awk -v user=$ftp_user -F : 'user == $1 {print $2}' /etc/shadow)"
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Update config
|
||||
update_object_value 'web' 'DOMAIN' "$domain" '$FTP_USER' "$ftp_user"
|
||||
update_object_value 'web' 'DOMAIN' "$domain" '$FTP_MD5' "$ftp_md5"
|
||||
|
||||
# Logging
|
||||
log_history "added ftp account $ftp_user for $domain"
|
||||
log_event "$OK" "$EVENT"
|
||||
|
||||
exit
|
||||
>>>>>>> 994c40901078e48fe939536f7b366e29c2e44a1d
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
#!/bin/bash
|
||||
# info: rebuild dns domains
|
||||
# options: USER [RESTART]
|
||||
|
@ -310,3 +311,317 @@ fi
|
|||
log_event "$OK" "$EVENT"
|
||||
|
||||
exit
|
||||
=======
|
||||
#!/bin/bash
|
||||
# info: rebuild dns domains
|
||||
# options: USER [RESTART]
|
||||
#
|
||||
# The function rebuilds BIND configuration files for all dns domains.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument defenition
|
||||
user=$1
|
||||
restart=$2
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
source $VESTA/func/main.sh
|
||||
source $VESTA/func/domain.sh
|
||||
source $VESTA/func/ip.sh
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '1' "$#" 'USER [RESTART]'
|
||||
validate_format 'user'
|
||||
is_system_enabled "$WEB_SYSTEM"
|
||||
is_object_valid 'user' 'USER' "$user"
|
||||
is_object_unsuspended 'user' 'USER' "$user"
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
user_domains=0
|
||||
user_ssl=0
|
||||
user_aliases=0
|
||||
suspended_web=0
|
||||
|
||||
# Clean up old config
|
||||
rm -f $HOMEDIR/$user/conf/tmp_*.conf
|
||||
|
||||
# Defining config
|
||||
conf=$USER_DATA/web.conf
|
||||
fields='$DOMAIN'
|
||||
nohead=1
|
||||
|
||||
# Starting loop
|
||||
for domain in $(shell_list) ; do
|
||||
|
||||
# Rebuilding directories
|
||||
mkdir -p $HOMEDIR/$user/web/$domain \
|
||||
$HOMEDIR/$user/web/$domain/public_html \
|
||||
$HOMEDIR/$user/web/$domain/public_shtml \
|
||||
$HOMEDIR/$user/web/$domain/document_errors \
|
||||
$HOMEDIR/$user/web/$domain/cgi-bin \
|
||||
$HOMEDIR/$user/web/$domain/private \
|
||||
$HOMEDIR/$user/web/$domain/stats \
|
||||
$HOMEDIR/$user/web/$domain/logs
|
||||
if [ ! -e "$HOMEDIR/$user/web/$domain/logs/$domain.log" ]; then
|
||||
ln -s /var/log/httpd/domains/$domain.error.log \
|
||||
$HOMEDIR/$user/web/$domain/logs/$domain.log
|
||||
fi
|
||||
if [ ! -e "$HOMEDIR/$user/web/$domain/logs/$domain.error.log" ]; then
|
||||
ln -s /var/log/httpd/domains/$domain.error.log \
|
||||
$HOMEDIR/$user/web/$domain/logs/$domain.error.log
|
||||
fi
|
||||
if [ -e "$WEBTPL/skel/document_errors/" ]; then
|
||||
cp -r $WEBTPL/skel/document_errors/ $HOMEDIR/$user/web/$domain/
|
||||
fi
|
||||
|
||||
touch /var/log/httpd/domains/$domain.bytes \
|
||||
/var/log/httpd/domains/$domain.log \
|
||||
/var/log/httpd/domains/$domain.error.log
|
||||
|
||||
chmod 551 $HOMEDIR/$user/web/$domain
|
||||
chmod 771 $HOMEDIR/$user/web/$domain/private
|
||||
chmod 751 $HOMEDIR/$user/web/$domain/cgi-bin
|
||||
chmod 771 $HOMEDIR/$user/web/$domain/public_html
|
||||
chmod 771 $HOMEDIR/$user/web/$domain/public_shtml
|
||||
chmod 771 $HOMEDIR/$user/web/$domain/document_errors
|
||||
chmod 551 $HOMEDIR/$user/web/$domain/stats
|
||||
chmod 551 $HOMEDIR/$user/web/$domain/logs
|
||||
chmod 640 /var/log/httpd/domains/$domain.*
|
||||
|
||||
chown $user:$user $HOMEDIR/$user/web/$domain
|
||||
chown $user:$user $HOMEDIR/$user/web/$domain/private
|
||||
chown $user:$user $HOMEDIR/$user/web/$domain/cgi-bin
|
||||
chown $user:$user $HOMEDIR/$user/web/$domain/public_html
|
||||
chown $user:$user $HOMEDIR/$user/web/$domain/public_shtml
|
||||
chown -R $user:$user $HOMEDIR/$user/web/$domain/document_errors
|
||||
chown root:$user /var/log/httpd/domains/$domain.*
|
||||
chown root:apache $conf
|
||||
|
||||
# Parsing domain values
|
||||
domain_idn=$(idn -t --quiet -a "$domain")
|
||||
get_domain_values 'web'
|
||||
|
||||
# Preparing domain values for the template substitution
|
||||
upd_web_domain_values
|
||||
|
||||
# Adding domain to the tmp_httpd.conf
|
||||
tpl_file="$WEBTPL/apache_$TPL.tpl"
|
||||
conf="$HOMEDIR/$user/conf/web/tmp_httpd.conf"
|
||||
add_web_config
|
||||
chown root:apache $conf
|
||||
chmod 640 $conf
|
||||
|
||||
# Running template trigger
|
||||
if [ -x $WEBTPL/apache_$TPL.sh ]; then
|
||||
$WEBTPL/apache_$TPL.sh $user $domain $ip $HOMEDIR $docroot
|
||||
fi
|
||||
|
||||
# Checking aliases
|
||||
if [ ! -z "$ALIAS" ]; then
|
||||
aliases=$(echo "$ALIAS"|tr ',' '\n'| wc -l)
|
||||
user_aliases=$((user_aliases + aliases))
|
||||
fi
|
||||
|
||||
# Checking stats
|
||||
if [ ! -z "$STATS" ]; then
|
||||
cat $WEBTPL/$STATS.tpl |\
|
||||
sed -e "s/%ip%/$ip/g" \
|
||||
-e "s/%web_port%/$WEB_PORT/g" \
|
||||
-e "s/%web_ssl_port%/$WEB_SSL_PORT/g" \
|
||||
-e "s/%proxy_port%/$PROXY_PORT/g" \
|
||||
-e "s/%proxy_ssl_port%/$PROXY_SSL_PORT/g" \
|
||||
-e "s/%domain_idn%/$domain_idn/g" \
|
||||
-e "s/%domain%/$domain/g" \
|
||||
-e "s/%user%/$user/g" \
|
||||
-e "s/%home%/${HOMEDIR////\/}/g" \
|
||||
-e "s/%alias%/${aliases//,/ }/g" \
|
||||
-e "s/%alias_idn%/${aliases_idn//,/ }/g" \
|
||||
> $HOMEDIR/$user/conf/web/$STATS.$domain.conf
|
||||
|
||||
if [ "$STATS" == 'awstats' ]; then
|
||||
if [ ! -e "/etc/awstats/$STATS.$domain.conf" ]; then
|
||||
ln -s $HOMEDIR/$user/conf/web/$STATS.$domain.conf /etc/awstats/
|
||||
fi
|
||||
fi
|
||||
|
||||
webstats="$BIN/v-update-web-domain-stat $user $domain"
|
||||
check_webstats=$(grep "$webstats" $VESTA/data/queue/webstats.pipe)
|
||||
if [ -z "$check_webstats" ]; then
|
||||
echo "$webstats" >> $VESTA/data/queue/webstats.pipe
|
||||
fi
|
||||
|
||||
if [ ! -z "$STATS_USER" ]; then
|
||||
# Definining statistic dir
|
||||
stats_dir="$HOMEDIR/$user/web/$domain/stats"
|
||||
|
||||
# Adding htaccess file
|
||||
echo "AuthUserFile $stats_dir/.htpasswd" > $stats_dir/.htaccess
|
||||
echo "AuthName \"Web Statistics\"" >> $stats_dir/.htaccess
|
||||
echo "AuthType Basic" >> $stats_dir/.htaccess
|
||||
echo "Require valid-user" >> $stats_dir/.htaccess
|
||||
|
||||
# Generating htaccess user and password
|
||||
echo "$STATS_USER:$STATS_CRYPT" > $stats_dir/.htpasswd
|
||||
fi
|
||||
fi
|
||||
|
||||
# Checking ssl
|
||||
if [ "$SSL" = 'yes' ]; then
|
||||
# Adding domain to the shttpd.conf
|
||||
conf="$HOMEDIR/$user/conf/web/tmp_shttpd.conf"
|
||||
tpl_file="$WEBTPL/apache_$TPL.stpl"
|
||||
add_web_config
|
||||
chown root:apache $conf
|
||||
chmod 640 $conf
|
||||
|
||||
cp -f $USER_DATA/ssl/$domain.crt \
|
||||
$HOMEDIR/$user/conf/web/ssl.$domain.crt
|
||||
cp -f $USER_DATA/ssl/$domain.key \
|
||||
$HOMEDIR/$user/conf/web/ssl.$domain.key
|
||||
cp -f $USER_DATA/ssl/$domain.pem \
|
||||
$HOMEDIR/$user/conf/web/ssl.$domain.pem
|
||||
if [ -e "$USER_DATA/ssl/$domain.ca" ]; then
|
||||
cp -f $USER_DATA/ssl/$domain.ca \
|
||||
$HOMEDIR/$user/conf/web/ssl.$domain.ca
|
||||
fi
|
||||
|
||||
# Running template trigger
|
||||
if [ -x $WEBTPL/apache_$TPL.sh ]; then
|
||||
$WEBTPL/apache_$TPL.sh $user $domain $ip $HOMEDIR $sdocroot
|
||||
fi
|
||||
|
||||
user_ssl=$((user_ssl + 1))
|
||||
ssl_change='yes'
|
||||
fi
|
||||
|
||||
# Checking nginx
|
||||
if [ ! -z "$NGINX" ]; then
|
||||
tpl_file="$WEBTPL/nginx_$NGINX.tpl"
|
||||
conf="$HOMEDIR/$user/conf/web/tmp_nginx.conf"
|
||||
add_web_config
|
||||
chown root:nginx $conf
|
||||
chmod 640 $conf
|
||||
|
||||
if [ "$SSL" = 'yes' ]; then
|
||||
tpl_file="$WEBTPL/nginx_$NGINX.stpl"
|
||||
conf="$HOMEDIR/$user/conf/web/tmp_snginx.conf"
|
||||
add_web_config
|
||||
chown root:nginx $conf
|
||||
chmod 640 $conf
|
||||
fi
|
||||
ngix_change='yes'
|
||||
fi
|
||||
if [ "$SUSPENDED" = 'yes' ]; then
|
||||
suspended_web=$((suspended_web + 1))
|
||||
fi
|
||||
user_domains=$((user_domains + 1))
|
||||
|
||||
# Checking ftp
|
||||
if [ ! -z "$FTP_USER" ]; then
|
||||
if [ -z "$(grep ^$FTP_USER: /etc/passwd)" ]; then
|
||||
/usr/sbin/adduser $FTP_USER -g $user -s /sbin/nologin -M \
|
||||
-d "$HOMEDIR/$user/web/$domain" > /dev/null 2>&1
|
||||
|
||||
shadow='/etc/shadow'
|
||||
shdw=$(grep "^$FTP_USER:" $shadow)
|
||||
shdw3=$(echo "$shdw" | cut -f3 -d :)
|
||||
shdw4=$(echo "$shdw" | cut -f4 -d :)
|
||||
shdw5=$(echo "$shdw" | cut -f5 -d :)
|
||||
shdw6=$(echo "$shdw" | cut -f6 -d :)
|
||||
shdw7=$(echo "$shdw" | cut -f7 -d :)
|
||||
shdw8=$(echo "$shdw" | cut -f8 -d :)
|
||||
shdw9=$(echo "$shdw" | cut -f9 -d :)
|
||||
chmod u+w $shadow
|
||||
sed -i "/^$FTP_USER:*/d" $shadow
|
||||
shdw_str="$FTP_USER:$FTP_MD5:$shdw3:$shdw4:$shdw5:$shdw6"
|
||||
shdw_str="$shdw_str:$shdw7:$shdw8:$shdw9"
|
||||
echo "$shdw_str" >> $shadow
|
||||
chmod u-w $shadow
|
||||
fi
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
# Renaming tmp config
|
||||
tmp_conf="$HOMEDIR/$user/conf/web/tmp_httpd.conf"
|
||||
conf="$HOMEDIR/$user/conf/web/httpd.conf"
|
||||
if [ -e "$tmp_conf" ]; then
|
||||
mv $tmp_conf $conf
|
||||
fi
|
||||
|
||||
# Checking include in main httpd.conf
|
||||
main_conf='/etc/httpd/conf.d/vesta.conf'
|
||||
main_conf_check=$(grep "$conf" $main_conf )
|
||||
if [ ! -z "$domain" ] && [ -z "$main_conf_check" ]; then
|
||||
echo "Include $conf" >>$main_conf
|
||||
fi
|
||||
|
||||
# Checking ssl
|
||||
if [ "$ssl_change" = 'yes' ]; then
|
||||
tmp_conf="$HOMEDIR/$user/conf/web/tmp_shttpd.conf"
|
||||
conf="$HOMEDIR/$user/conf/web/shttpd.conf"
|
||||
mv $tmp_conf $conf
|
||||
|
||||
# Checking include in main httpd.conf
|
||||
main_conf_check=$(grep "$conf" $main_conf )
|
||||
if [ -z "$main_conf_check" ]; then
|
||||
echo "Include $conf" >>$main_conf
|
||||
fi
|
||||
fi
|
||||
|
||||
# Checking nginx
|
||||
if [ "$ngix_change" = 'yes' ]; then
|
||||
nginx_conf='/etc/nginx/conf.d/vesta_users.conf'
|
||||
tmp_conf="$HOMEDIR/$user/conf/web/tmp_nginx.conf"
|
||||
conf="$HOMEDIR/$user/conf/web/nginx.conf"
|
||||
mv $tmp_conf $conf
|
||||
|
||||
nginx_conf_check=$(grep "$conf" $nginx_conf )
|
||||
if [ -z "$nginx_conf_check" ]; then
|
||||
echo "include $conf;" >>$nginx_conf
|
||||
fi
|
||||
|
||||
# Checking ssl for nginx
|
||||
if [ "$ssl_change" = 'yes' ]; then
|
||||
tmp_conf="$HOMEDIR/$user/conf/web/tmp_snginx.conf"
|
||||
conf="$HOMEDIR/$user/conf/web/snginx.conf"
|
||||
mv $tmp_conf $conf
|
||||
nginx_conf_check=$(grep "$conf" $nginx_conf )
|
||||
if [ -z "$nginx_conf_check" ]; then
|
||||
echo "include $conf;" >>$nginx_conf
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Updating counters
|
||||
update_user_value "$user" '$SUSPENDED_WEB' "$suspended_web"
|
||||
update_user_value "$user" '$U_WEB_DOMAINS' "$user_domains"
|
||||
update_user_value "$user" '$U_WEB_SSL' "$user_ssl"
|
||||
update_user_value "$user" '$U_WEB_ALIASES' "$user_aliases"
|
||||
|
||||
# Restart web server
|
||||
if [ "$restart" != 'no' ]; then
|
||||
$BIN/v-restart-web "$EVENT"
|
||||
fi
|
||||
|
||||
# Logging
|
||||
log_event "$OK" "$EVENT"
|
||||
|
||||
exit
|
||||
>>>>>>> 994c40901078e48fe939536f7b366e29c2e44a1d
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
#!/bin/bash
|
||||
# info: update user statistics
|
||||
# options: USER
|
||||
|
@ -167,3 +168,174 @@ fi
|
|||
log_event "$OK" "$EVENT"
|
||||
|
||||
exit
|
||||
=======
|
||||
#!/bin/bash
|
||||
# info: update user statistics
|
||||
# options: USER
|
||||
#
|
||||
# Function logs user parameters into statistics database.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument defenition
|
||||
user=$1
|
||||
|
||||
# Importing system enviroment as we run this script
|
||||
# mostly by cron wich not read it by itself
|
||||
source /etc/profile
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
source $VESTA/func/main.sh
|
||||
source $VESTA/func/domain.sh
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '0' "$#" 'USER'
|
||||
if [ ! -z "$user" ]; then
|
||||
validate_format 'user'
|
||||
is_object_valid 'user' 'USER' "$user"
|
||||
fi
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Creating user_list
|
||||
if [ -z "$user" ]; then
|
||||
user_list=$(ls $VESTA/data/users)
|
||||
else
|
||||
user_list="$user"
|
||||
fi
|
||||
|
||||
# Reset overal statistics
|
||||
TOTAL_IP_OWNED=0
|
||||
TOTAL_U_DISK=0
|
||||
TOTAL_U_DISK_DIRS=0
|
||||
TOTAL_U_DISK_WEB=0
|
||||
TOTAL_U_DISK_MAIL=0
|
||||
TOTAL_U_DISK_DB=0
|
||||
TOTAL_U_BANDWIDTH=0
|
||||
TOTAL_U_WEB_DOMAINS=0
|
||||
TOTAL_U_WEB_SSL=0
|
||||
TOTAL_U_WEB_ALIASES=0
|
||||
TOTAL_U_DNS_DOMAINS=0
|
||||
TOTAL_U_DNS_RECORDS=0
|
||||
TOTAL_U_MAIL_DOMAINS=0
|
||||
TOTAL_U_MAIL_DKIM=0
|
||||
TOTAL_U_MAIL_ACCOUNTS=0
|
||||
TOTAL_U_DATABASES=0
|
||||
TOTAL_U_CRON_JOBS=0
|
||||
TOTAL_U_BACKUPS=0
|
||||
|
||||
# Updating user stats
|
||||
for user in $user_list; do
|
||||
USER_DATA=$VESTA/data/users/$user
|
||||
source $USER_DATA/user.conf
|
||||
next_month=$(date +'%m/01/%y' -d '+ 1 month')
|
||||
DATE=$(date -d "$next_month -1day" +%F)
|
||||
|
||||
# Compiling report string
|
||||
s="DATE='$DATE' TIME='$TIME' PACKAGE='$PACKAGE' IP_OWNED='$IP_OWNED'"
|
||||
s="$s DISK_QUOTA='$DISK_QUOTA' U_DISK='$U_DISK' U_DISK_DIRS='$U_DISK_DIRS'"
|
||||
s="$s U_DISK_WEB='$U_DISK_WEB' U_DISK_MAIL='$U_DISK_MAIL'"
|
||||
s="$s U_DISK_DB='$U_DISK_DB' BANDWIDTH='$BANDWIDTH'"
|
||||
s="$s U_BANDWIDTH='$U_BANDWIDTH' U_WEB_DOMAINS='$U_WEB_DOMAINS'"
|
||||
s="$s U_WEB_SSL='$U_WEB_SSL' U_WEB_ALIASES='$U_WEB_ALIASES'"
|
||||
s="$s U_DNS_DOMAINS='$U_DNS_DOMAINS' U_DNS_RECORDS='$U_DNS_RECORDS'"
|
||||
s="$s U_MAIL_DOMAINS='$U_MAIL_DOMAINS' U_MAIL_DKIM='$U_MAIL_DKIM'"
|
||||
s="$s U_MAIL_ACCOUNTS='$U_MAIL_ACCOUNTS' U_DATABASES='$U_DATABASES'"
|
||||
s="$s U_CRON_JOBS='$U_CRON_JOBS' U_BACKUPS='$U_BACKUPS'"
|
||||
|
||||
# Updating user stats log
|
||||
stats="$USER_DATA/stats.log"
|
||||
if [ -e "$stats" ]; then
|
||||
# Checking dublicates
|
||||
check_month=$(grep -n "DATE='$DATE'" $stats|cut -f 1 -d :)
|
||||
if [ -z "$check_month" ]; then
|
||||
# Updating as there no dublicates
|
||||
echo "$s" >> $stats
|
||||
chmod 660 $stats
|
||||
else
|
||||
# Replacing string with new data
|
||||
sed -i "$check_month s/.*/$s/" $stats
|
||||
fi
|
||||
else
|
||||
# Creating stats log
|
||||
echo "$s" >$stats
|
||||
chmod 660 $stats
|
||||
fi
|
||||
|
||||
# Increase overall counters
|
||||
TOTAL_IP_OWNED=$((TOTAL_IP_OWNED + IP_OWNED))
|
||||
TOTAL_U_DISK=$((TOTAL_U_DISK + U_DISK))
|
||||
TOTAL_U_DISK_DIRS=$((TOTAL_U_DISK_DIRS + U_DISK_DIRS))
|
||||
TOTAL_U_DISK_WEB=$((TOTAL_U_DISK_WEB + U_DISK_WEB))
|
||||
TOTAL_U_DISK_MAIL=$((TOTAL_U_DISK_MAIL + U_DISK_MAIL))
|
||||
TOTAL_U_DISK_DB=$((TOTAL_U_DISK_DB + U_DISK_DB))
|
||||
TOTAL_U_BANDWIDTH=$((TOTAL_U_BANDWIDTH + U_BANDWIDTH))
|
||||
TOTAL_U_WEB_DOMAINS=$((TOTAL_U_WEB_DOMAINS + U_WEB_DOMAINS))
|
||||
TOTAL_U_WEB_SSL=$((TOTAL_U_WEB_SSL + U_WEB_SSL))
|
||||
TOTAL_U_WEB_ALIASES=$((TOTAL_U_WEB_ALIASES + U_WEB_ALIASES))
|
||||
TOTAL_U_DNS_DOMAINS=$((TOTAL_U_DNS_DOMAINS + U_DNS_DOMAINS))
|
||||
TOTAL_U_DNS_RECORDS=$((TOTAL_U_DNS_RECORDS + U_DNS_RECORDS))
|
||||
TOTAL_U_MAIL_DOMAINS=$((TOTAL_U_MAIL_DOMAINS + U_MAIL_DOMAINS))
|
||||
TOTAL_U_MAIL_DKIM=$((TOTAL_U_MAIL_DKIM + U_MAIL_DKIM))
|
||||
TOTAL_U_MAIL_ACCOUNTS=$((TOTAL_U_MAIL_ACCOUNTS + U_MAIL_ACCOUNTS))
|
||||
TOTAL_U_DATABASES=$((TOTAL_U_DATABASES + U_DATABASES))
|
||||
TOTAL_U_CRON_JOBS=$((TOTAL_U_CRON_JOBS + U_CRON_JOBS))
|
||||
TOTAL_U_BACKUPS=$((TOTAL_U_BACKUPS + U_BACKUPS))
|
||||
|
||||
done
|
||||
|
||||
# Updating overall stats
|
||||
stats="$VESTA/data/users/admin/overall_stats.log"
|
||||
|
||||
s="DATE='$DATE' TIME='$TIME' PACKAGE='default' IP_OWNED='$TOTAL_IP_OWNED'"
|
||||
s="$s DISK_QUOTA='0' U_DISK='$TOTAL_U_DISK' U_DISK_DIRS='$TOTAL_U_DISK_DIRS'"
|
||||
s="$s U_DISK_WEB='$TOTAL_U_DISK_WEB' U_DISK_MAIL='$TOTAL_U_DISK_MAIL'"
|
||||
s="$s U_DISK_DB='$TOTAL_U_DISK_DB' BANDWIDTH='0'"
|
||||
s="$s U_BANDWIDTH='$TOTAL_U_BANDWIDTH' U_WEB_DOMAINS='$TOTAL_U_WEB_DOMAINS'"
|
||||
s="$s U_WEB_SSL='$TOTAL_U_WEB_SSL' U_WEB_ALIASES='$TOTAL_U_WEB_ALIASES'"
|
||||
s="$s U_DNS_DOMAINS='$TOTAL_U_DNS_DOMAINS'"
|
||||
s="$s U_DNS_RECORDS='$TOTAL_U_DNS_RECORDS'"
|
||||
s="$s U_MAIL_DOMAINS='$TOTAL_U_MAIL_DOMAINS' U_MAIL_DKIM='$TOTAL_U_MAIL_DKIM'"
|
||||
s="$s U_MAIL_ACCOUNTS='$TOTAL_U_MAIL_ACCOUNTS'"
|
||||
s="$s U_DATABASES='$TOTAL_U_DATABASES'"
|
||||
s="$s U_CRON_JOBS='$TOTAL_U_CRON_JOBS' U_BACKUPS='$TOTAL_U_BACKUPS'"
|
||||
|
||||
if [ -e "$stats" ]; then
|
||||
# Checking dublicates
|
||||
check_month=$(grep -n "DATE='$DATE'" $stats|cut -f 1 -d :)
|
||||
if [ -z "$check_month" ]; then
|
||||
# Updating as there no dublicates
|
||||
echo "$s" >> $stats
|
||||
chmod 660 $stats
|
||||
else
|
||||
# Replacing string with new data
|
||||
sed -i "$check_month s/.*/$s/" $stats
|
||||
fi
|
||||
else
|
||||
# Creating stats log
|
||||
echo "$s" >$stats
|
||||
chmod 660 $stats
|
||||
fi
|
||||
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Logging
|
||||
log_event "$OK" "$EVENT"
|
||||
|
||||
exit
|
||||
>>>>>>> 994c40901078e48fe939536f7b366e29c2e44a1d
|
||||
|
|
1004
func/domain.sh
1004
func/domain.sh
File diff suppressed because it is too large
Load diff
1544
func/main.sh
1544
func/main.sh
File diff suppressed because it is too large
Load diff
|
@ -1,340 +1,340 @@
|
|||
##########################################################################
|
||||
SPAMASSASSIN = yes
|
||||
SPAM_SCORE = 10
|
||||
CLAMD = yes
|
||||
##########################################################################
|
||||
|
||||
domainlist local_domains = dsearch;/etc/exim/domains/
|
||||
domainlist relay_to_domains = dsearch;/etc/exim/domains/
|
||||
hostlist relay_from_hosts = 127.0.0.1
|
||||
hostlist spammers = net-iplsearch;/etc/exim/spam-blocks.conf
|
||||
|
||||
acl_smtp_connect = acl_check_spammers
|
||||
acl_smtp_mail = acl_check_mail
|
||||
acl_smtp_rcpt = acl_check_rcpt
|
||||
acl_smtp_data = acl_check_data
|
||||
acl_smtp_mime = acl_check_mime
|
||||
|
||||
.ifdef SPAMASSASSIN
|
||||
spamd_address = 127.0.0.1 783
|
||||
.endif
|
||||
|
||||
.ifdef CLAMD
|
||||
av_scanner = clamd: /var/run/clamav/clamd.sock
|
||||
.endif
|
||||
|
||||
tls_advertise_hosts = *
|
||||
tls_certificate = /etc/pki/tls/certs/exim.pem
|
||||
tls_privatekey = /etc/pki/tls/private/exim.pem
|
||||
|
||||
daemon_smtp_ports = 25 : 465 : 587 : 2525
|
||||
tls_on_connect_ports = 465
|
||||
never_users = root
|
||||
host_lookup = *
|
||||
rfc1413_hosts = *
|
||||
rfc1413_query_timeout = 5s
|
||||
ignore_bounce_errors_after = 2d
|
||||
timeout_frozen_after = 7d
|
||||
|
||||
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
|
||||
DKIM_FILE = /etc/exim/domains/${lc:${domain:$h_from:}}/dkim.pem
|
||||
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}
|
||||
|
||||
|
||||
##########################################################################
|
||||
begin acl
|
||||
##########################################################################
|
||||
acl_check_spammers:
|
||||
drop message = Your host in blacklist on this server.
|
||||
log_message = Host in blacklist
|
||||
hosts = +spammers
|
||||
deny message = rejected because $sender_host_address is in a black list at $dnslist_domain\\n$dnslist_text
|
||||
dnslists = ${readfile {/etc/exim/dnsbl.conf}{:}}
|
||||
accept
|
||||
|
||||
acl_check_mail:
|
||||
deny
|
||||
condition = ${if eq{$sender_helo_name}{}}
|
||||
message = HELO required before MAIL
|
||||
drop
|
||||
condition = ${if isip{$sender_helo_name}}
|
||||
message = Access denied - Invalid HELO name (See RFC2821 4.1.3)
|
||||
drop message = Helo name contains a ip address (HELO was $sender_helo_name) and not is valid
|
||||
condition = ${if match{$sender_helo_name}{\N((\d{1,3}[.-]\d{1,3}[.-]\d{1,3}[.-]\d{1,3})|([0-9a-f]{8})|([0-9A-F]{8}))\N}{yes}{no}}
|
||||
condition = ${if match {${lookup dnsdb{>: defer_never,ptr=$sender_host_address}}\}{$sender_helo_name}{no}{yes}}
|
||||
delay = 45s
|
||||
# drop
|
||||
# condition = ${if match{$sender_helo_name}{\N^\[\N}{no}{yes}}
|
||||
# condition = ${if match{$sender_helo_name}{\N\.\N}{no}{yes}}
|
||||
# message = Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
|
||||
drop
|
||||
condition = ${if isip{$sender_helo_name}}
|
||||
message = Access denied - Invalid HELO name (See RFC2821 4.1.3)
|
||||
drop
|
||||
condition = ${if match{$sender_helo_name}{\N\.$\N}}
|
||||
message = Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
|
||||
drop message = "REJECTED - Bad HELO - Host impersonating [$sender_helo_name]"
|
||||
condition = ${if match{$sender_helo_name}{$primary_hostname}}
|
||||
drop condition = ${if eq{[$interface_address]}{$sender_helo_name}}
|
||||
message = $interface_address is _my_ address
|
||||
accept
|
||||
|
||||
|
||||
acl_check_rcpt:
|
||||
accept hosts = :
|
||||
|
||||
deny message = Restricted characters in address
|
||||
domains = +local_domains
|
||||
local_parts = ^[.] : ^.*[@%!/|]
|
||||
|
||||
deny message = Restricted characters in address
|
||||
domains = !+local_domains
|
||||
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
|
||||
|
||||
require verify = sender
|
||||
|
||||
accept hosts = +relay_from_hosts
|
||||
control = submission
|
||||
|
||||
accept local_parts = postmaster
|
||||
domains = +local_domains
|
||||
|
||||
accept authenticated = *
|
||||
control = submission/domain=
|
||||
|
||||
require message = relay not permitted
|
||||
domains = +local_domains : +relay_to_domains
|
||||
|
||||
deny message = smtp auth requried
|
||||
sender_domains = +local_domains
|
||||
!authenticated = *
|
||||
|
||||
require verify = recipient
|
||||
|
||||
.ifdef CLAMD
|
||||
warn set acl_m0 = no
|
||||
warn condition = ${if exists {/etc/exim/domains/$domain/antivirus}{yes}{no}}
|
||||
set acl_m0 = yes
|
||||
.endif
|
||||
.ifdef SPAMASSASSIN
|
||||
warn set acl_m1 = no
|
||||
warn condition = ${if exists {/etc/exim/domains/$domain/antispam}{yes}{no}}
|
||||
set acl_m1 = yes
|
||||
.endif
|
||||
accept
|
||||
|
||||
|
||||
acl_check_data:
|
||||
.ifdef CLAMD
|
||||
deny message = Message contains a virus ($malware_name) and has been rejected
|
||||
malware = *
|
||||
condition = ${if eq{$acl_m0}{yes}{yes}{no}}
|
||||
.endif
|
||||
|
||||
.ifdef SPAMASSASSIN
|
||||
warn
|
||||
!authenticated = *
|
||||
hosts = !+relay_from_hosts
|
||||
condition = ${if < {$message_size}{100K}}
|
||||
condition = ${if eq{$acl_m1}{yes}{yes}{no}}
|
||||
spam = nobody:true/defer_ok
|
||||
add_header = X-Spam-Score: $spam_score_int
|
||||
add_header = X-Spam-Bar: $spam_bar
|
||||
add_header = X-Spam-Report: $spam_report
|
||||
set acl_m2 = $spam_score_int
|
||||
warn
|
||||
condition = ${if !eq{$acl_m2}{} {yes}{no}}
|
||||
condition = ${if >{$acl_m2}{SPAM_SCORE} {yes}{no}}
|
||||
add_header = X-Spam-Status: Yes
|
||||
message = SpamAssassin detected spam (from $sender_address to $recipients).
|
||||
.endif
|
||||
accept
|
||||
|
||||
|
||||
acl_check_mime:
|
||||
deny message = Blacklisted file extension detected
|
||||
condition = ${if match {${lc:$mime_filename}}{\N(\.ade|\.adp|\.bat|\.chm|\.cmd|\.com|\.cpl|\.exe|\.hta|\.ins|\.isp|\.jse|\.lib|\.lnk|\.mde|\.msc|\.msp|\.mst|\.pif|\.scr|\.sct|\.shb|\.sys|\.vb|\.vbe|\.vbs|\.vxd|\.wsc|\.wsf|\.wsh)$\N}{1}{0}}
|
||||
accept
|
||||
|
||||
##########################################################################
|
||||
begin authenticators
|
||||
##########################################################################
|
||||
dovecot_plain:
|
||||
driver = dovecot
|
||||
public_name = PLAIN
|
||||
server_socket = /var/run/dovecot/auth-client
|
||||
server_set_id = $auth1
|
||||
|
||||
dovecot_login:
|
||||
driver = dovecot
|
||||
public_name = LOGIN
|
||||
server_socket = /var/run/dovecot/auth-client
|
||||
server_set_id = $auth1
|
||||
|
||||
##########################################################################
|
||||
begin routers
|
||||
##########################################################################
|
||||
dnslookup:
|
||||
driver = dnslookup
|
||||
domains = !+local_domains
|
||||
transport = remote_smtp
|
||||
# ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
|
||||
no_more
|
||||
|
||||
#system_aliases:
|
||||
# domains = +local_domains
|
||||
# driver = redirect
|
||||
# allow_fail
|
||||
# allow_defer
|
||||
# data = ${lookup{$local_part}lsearch{/etc/aliases}}
|
||||
# file_transport = address_file
|
||||
# pipe_transport = address_pipe
|
||||
|
||||
userforward:
|
||||
driver = redirect
|
||||
check_local_user
|
||||
file = $home/.forward
|
||||
allow_filter
|
||||
no_verify
|
||||
no_expn
|
||||
check_ancestor
|
||||
file_transport = address_file
|
||||
pipe_transport = address_pipe
|
||||
reply_transport = address_reply
|
||||
|
||||
procmail:
|
||||
driver = accept
|
||||
check_local_user
|
||||
require_files = ${local_part}:+${home}/.procmailrc:/usr/bin/procmail
|
||||
transport = procmail
|
||||
no_verify
|
||||
|
||||
autoreplay:
|
||||
driver = accept
|
||||
require_files = /etc/exim/domains/$domain/autoreply.${local_part}.msg
|
||||
condition = ${if exists{/etc/exim/domains/$domain/autoreply.${local_part}.msg}}{yes}{no}}
|
||||
retry_use_local_part
|
||||
transport = userautoreply
|
||||
unseen
|
||||
|
||||
aliases:
|
||||
driver = redirect
|
||||
headers_add = X-redirected: yes
|
||||
data = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}
|
||||
require_files = /etc/exim/domains/$domain/aliases
|
||||
redirect_router = dnslookup
|
||||
pipe_transport = address_pipe
|
||||
unseen
|
||||
|
||||
|
||||
localuser_spam:
|
||||
driver = accept
|
||||
transport = local_spam_delivery
|
||||
condition = ${if eq {${if match{$h_X-Spam-Status:}{\N^Yes\N}{yes}{no}}} {${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}{yes}{no_such_user}}}}
|
||||
|
||||
localuser:
|
||||
driver = accept
|
||||
transport = local_delivery
|
||||
condition = ${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}{true}{false}}
|
||||
|
||||
catchall:
|
||||
driver = redirect
|
||||
headers_add = X-redirected: yes
|
||||
require_files = /etc/exim/domains/$domain/aliases
|
||||
data = ${extract{1}{:}{${lookup{*@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}
|
||||
file_transport = local_delivery
|
||||
redirect_router = dnslookup
|
||||
|
||||
terminate_alias:
|
||||
driver = accept
|
||||
transport = devnull
|
||||
condition = ${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}{true}{false}}
|
||||
|
||||
|
||||
##########################################################################
|
||||
begin transports
|
||||
##########################################################################
|
||||
remote_smtp:
|
||||
driver = smtp
|
||||
helo_data = $sender_address_domain
|
||||
dkim_domain = DKIM_DOMAIN
|
||||
dkim_selector = mail
|
||||
dkim_private_key = DKIM_PRIVATE_KEY
|
||||
dkim_canon = relaxed
|
||||
dkim_strict = 0
|
||||
|
||||
|
||||
procmail:
|
||||
driver = pipe
|
||||
command = "/usr/bin/procmail -d $local_part"
|
||||
return_path_add
|
||||
delivery_date_add
|
||||
envelope_to_add
|
||||
user = $local_part
|
||||
initgroups
|
||||
return_output
|
||||
|
||||
local_delivery:
|
||||
driver = appendfile
|
||||
maildir_format
|
||||
maildir_use_size_file
|
||||
user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}
|
||||
group = mail
|
||||
create_directory
|
||||
directory_mode = 770
|
||||
mode = 660
|
||||
use_lockfile = no
|
||||
delivery_date_add
|
||||
envelope_to_add
|
||||
return_path_add
|
||||
directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}/mail/$domain/$local_part"
|
||||
quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}M
|
||||
quota_warn_threshold = 75%
|
||||
|
||||
local_spam_delivery:
|
||||
driver = appendfile
|
||||
maildir_format
|
||||
maildir_use_size_file
|
||||
user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}
|
||||
group = mail
|
||||
create_directory
|
||||
directory_mode = 770
|
||||
mode = 660
|
||||
use_lockfile = no
|
||||
delivery_date_add
|
||||
envelope_to_add
|
||||
return_path_add
|
||||
directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}/mail/$domain/$local_part/.spam"
|
||||
quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}M
|
||||
quota_directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}/mail/$domain/$local_part"
|
||||
quota_warn_threshold = 75%
|
||||
|
||||
address_pipe:
|
||||
driver = pipe
|
||||
return_output
|
||||
|
||||
address_file:
|
||||
driver = appendfile
|
||||
delivery_date_add
|
||||
envelope_to_add
|
||||
return_path_add
|
||||
|
||||
address_reply:
|
||||
driver = autoreply
|
||||
|
||||
userautoreply:
|
||||
driver = autoreply
|
||||
file = /etc/exim/domains/$domain/autoreply.${local_part}.msg
|
||||
from = "${local_part}@${domain}"
|
||||
subject = "${if def:h_Subject: {Autoreply: ${quote:${escape:$h_Subject:}}} {Autoreply Message}}"
|
||||
to = "${sender_address}"
|
||||
|
||||
devnull:
|
||||
driver = appendfile
|
||||
file = /dev/null
|
||||
|
||||
##########################################################################
|
||||
begin retry
|
||||
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
|
||||
##########################################################################
|
||||
begin rewrite
|
||||
##########################################################################
|
||||
SPAMASSASSIN = yes
|
||||
SPAM_SCORE = 10
|
||||
CLAMD = yes
|
||||
##########################################################################
|
||||
|
||||
domainlist local_domains = dsearch;/etc/exim/domains/
|
||||
domainlist relay_to_domains = dsearch;/etc/exim/domains/
|
||||
hostlist relay_from_hosts = 127.0.0.1
|
||||
hostlist spammers = net-iplsearch;/etc/exim/spam-blocks.conf
|
||||
|
||||
acl_smtp_connect = acl_check_spammers
|
||||
acl_smtp_mail = acl_check_mail
|
||||
acl_smtp_rcpt = acl_check_rcpt
|
||||
acl_smtp_data = acl_check_data
|
||||
acl_smtp_mime = acl_check_mime
|
||||
|
||||
.ifdef SPAMASSASSIN
|
||||
spamd_address = 127.0.0.1 783
|
||||
.endif
|
||||
|
||||
.ifdef CLAMD
|
||||
av_scanner = clamd: /var/run/clamav/clamd.sock
|
||||
.endif
|
||||
|
||||
tls_advertise_hosts = *
|
||||
tls_certificate = /etc/pki/tls/certs/exim.pem
|
||||
tls_privatekey = /etc/pki/tls/private/exim.pem
|
||||
|
||||
daemon_smtp_ports = 25 : 465 : 587 : 2525
|
||||
tls_on_connect_ports = 465
|
||||
never_users = root
|
||||
host_lookup = *
|
||||
rfc1413_hosts = *
|
||||
rfc1413_query_timeout = 5s
|
||||
ignore_bounce_errors_after = 2d
|
||||
timeout_frozen_after = 7d
|
||||
|
||||
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
|
||||
DKIM_FILE = /etc/exim/domains/${lc:${domain:$h_from:}}/dkim.pem
|
||||
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}
|
||||
|
||||
|
||||
##########################################################################
|
||||
begin acl
|
||||
##########################################################################
|
||||
acl_check_spammers:
|
||||
drop message = Your host in blacklist on this server.
|
||||
log_message = Host in blacklist
|
||||
hosts = +spammers
|
||||
deny message = rejected because $sender_host_address is in a black list at $dnslist_domain\\n$dnslist_text
|
||||
dnslists = ${readfile {/etc/exim/dnsbl.conf}{:}}
|
||||
accept
|
||||
|
||||
acl_check_mail:
|
||||
deny
|
||||
condition = ${if eq{$sender_helo_name}{}}
|
||||
message = HELO required before MAIL
|
||||
# drop
|
||||
# condition = ${if isip{$sender_helo_name}}
|
||||
# message = Access denied - Invalid HELO name (See RFC2821 4.1.3)
|
||||
drop message = Helo name contains a ip address (HELO was $sender_helo_name) and not is valid
|
||||
condition = ${if match{$sender_helo_name}{\N((\d{1,3}[.-]\d{1,3}[.-]\d{1,3}[.-]\d{1,3})|([0-9a-f]{8})|([0-9A-F]{8}))\N}{yes}{no}}
|
||||
condition = ${if match {${lookup dnsdb{>: defer_never,ptr=$sender_host_address}}\}{$sender_helo_name}{no}{yes}}
|
||||
delay = 45s
|
||||
# drop
|
||||
# condition = ${if match{$sender_helo_name}{\N^\[\N}{no}{yes}}
|
||||
# condition = ${if match{$sender_helo_name}{\N\.\N}{no}{yes}}
|
||||
# message = Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
|
||||
drop
|
||||
condition = ${if isip{$sender_helo_name}}
|
||||
message = Access denied - Invalid HELO name (See RFC2821 4.1.3)
|
||||
# drop
|
||||
# condition = ${if match{$sender_helo_name}{\N\.$\N}}
|
||||
# message = Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
|
||||
# drop message = "REJECTED - Bad HELO - Host impersonating [$sender_helo_name]"
|
||||
# condition = ${if match{$sender_helo_name}{$primary_hostname}}
|
||||
drop condition = ${if eq{[$interface_address]}{$sender_helo_name}}
|
||||
message = $interface_address is _my_ address
|
||||
accept
|
||||
|
||||
|
||||
acl_check_rcpt:
|
||||
accept hosts = :
|
||||
|
||||
deny message = Restricted characters in address
|
||||
domains = +local_domains
|
||||
local_parts = ^[.] : ^.*[@%!/|]
|
||||
|
||||
deny message = Restricted characters in address
|
||||
domains = !+local_domains
|
||||
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
|
||||
|
||||
require verify = sender
|
||||
|
||||
accept hosts = +relay_from_hosts
|
||||
control = submission
|
||||
|
||||
accept local_parts = postmaster
|
||||
domains = +local_domains
|
||||
|
||||
accept authenticated = *
|
||||
control = submission/domain=
|
||||
|
||||
require message = relay not permitted
|
||||
domains = +local_domains : +relay_to_domains
|
||||
|
||||
deny message = smtp auth requried
|
||||
sender_domains = +local_domains
|
||||
!authenticated = *
|
||||
|
||||
require verify = recipient
|
||||
|
||||
.ifdef CLAMD
|
||||
warn set acl_m0 = no
|
||||
warn condition = ${if exists {/etc/exim/domains/$domain/antivirus}{yes}{no}}
|
||||
set acl_m0 = yes
|
||||
.endif
|
||||
.ifdef SPAMASSASSIN
|
||||
warn set acl_m1 = no
|
||||
warn condition = ${if exists {/etc/exim/domains/$domain/antispam}{yes}{no}}
|
||||
set acl_m1 = yes
|
||||
.endif
|
||||
accept
|
||||
|
||||
|
||||
acl_check_data:
|
||||
.ifdef CLAMD
|
||||
deny message = Message contains a virus ($malware_name) and has been rejected
|
||||
malware = *
|
||||
condition = ${if eq{$acl_m0}{yes}{yes}{no}}
|
||||
.endif
|
||||
|
||||
.ifdef SPAMASSASSIN
|
||||
warn
|
||||
!authenticated = *
|
||||
hosts = !+relay_from_hosts
|
||||
condition = ${if < {$message_size}{100K}}
|
||||
condition = ${if eq{$acl_m1}{yes}{yes}{no}}
|
||||
spam = nobody:true/defer_ok
|
||||
add_header = X-Spam-Score: $spam_score_int
|
||||
add_header = X-Spam-Bar: $spam_bar
|
||||
add_header = X-Spam-Report: $spam_report
|
||||
set acl_m2 = $spam_score_int
|
||||
warn
|
||||
condition = ${if !eq{$acl_m2}{} {yes}{no}}
|
||||
condition = ${if >{$acl_m2}{SPAM_SCORE} {yes}{no}}
|
||||
add_header = X-Spam-Status: Yes
|
||||
message = SpamAssassin detected spam (from $sender_address to $recipients).
|
||||
.endif
|
||||
accept
|
||||
|
||||
|
||||
acl_check_mime:
|
||||
deny message = Blacklisted file extension detected
|
||||
condition = ${if match {${lc:$mime_filename}}{\N(\.ade|\.adp|\.bat|\.chm|\.cmd|\.com|\.cpl|\.exe|\.hta|\.ins|\.isp|\.jse|\.lib|\.lnk|\.mde|\.msc|\.msp|\.mst|\.pif|\.scr|\.sct|\.shb|\.sys|\.vb|\.vbe|\.vbs|\.vxd|\.wsc|\.wsf|\.wsh)$\N}{1}{0}}
|
||||
accept
|
||||
|
||||
##########################################################################
|
||||
begin authenticators
|
||||
##########################################################################
|
||||
dovecot_plain:
|
||||
driver = dovecot
|
||||
public_name = PLAIN
|
||||
server_socket = /var/run/dovecot/auth-client
|
||||
server_set_id = $auth1
|
||||
|
||||
dovecot_login:
|
||||
driver = dovecot
|
||||
public_name = LOGIN
|
||||
server_socket = /var/run/dovecot/auth-client
|
||||
server_set_id = $auth1
|
||||
|
||||
##########################################################################
|
||||
begin routers
|
||||
##########################################################################
|
||||
dnslookup:
|
||||
driver = dnslookup
|
||||
domains = !+local_domains
|
||||
transport = remote_smtp
|
||||
# ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
|
||||
no_more
|
||||
|
||||
#system_aliases:
|
||||
# domains = +local_domains
|
||||
# driver = redirect
|
||||
# allow_fail
|
||||
# allow_defer
|
||||
# data = ${lookup{$local_part}lsearch{/etc/aliases}}
|
||||
# file_transport = address_file
|
||||
# pipe_transport = address_pipe
|
||||
|
||||
userforward:
|
||||
driver = redirect
|
||||
check_local_user
|
||||
file = $home/.forward
|
||||
allow_filter
|
||||
no_verify
|
||||
no_expn
|
||||
check_ancestor
|
||||
file_transport = address_file
|
||||
pipe_transport = address_pipe
|
||||
reply_transport = address_reply
|
||||
|
||||
procmail:
|
||||
driver = accept
|
||||
check_local_user
|
||||
require_files = ${local_part}:+${home}/.procmailrc:/usr/bin/procmail
|
||||
transport = procmail
|
||||
no_verify
|
||||
|
||||
autoreplay:
|
||||
driver = accept
|
||||
require_files = /etc/exim/domains/$domain/autoreply.${local_part}.msg
|
||||
condition = ${if exists{/etc/exim/domains/$domain/autoreply.${local_part}.msg}}{yes}{no}}
|
||||
retry_use_local_part
|
||||
transport = userautoreply
|
||||
unseen
|
||||
|
||||
aliases:
|
||||
driver = redirect
|
||||
headers_add = X-redirected: yes
|
||||
data = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}
|
||||
require_files = /etc/exim/domains/$domain/aliases
|
||||
redirect_router = dnslookup
|
||||
pipe_transport = address_pipe
|
||||
unseen
|
||||
|
||||
|
||||
localuser_spam:
|
||||
driver = accept
|
||||
transport = local_spam_delivery
|
||||
condition = ${if eq {${if match{$h_X-Spam-Status:}{\N^Yes\N}{yes}{no}}} {${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}{yes}{no_such_user}}}}
|
||||
|
||||
localuser:
|
||||
driver = accept
|
||||
transport = local_delivery
|
||||
condition = ${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}{true}{false}}
|
||||
|
||||
catchall:
|
||||
driver = redirect
|
||||
headers_add = X-redirected: yes
|
||||
require_files = /etc/exim/domains/$domain/aliases
|
||||
data = ${extract{1}{:}{${lookup{*@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}
|
||||
file_transport = local_delivery
|
||||
redirect_router = dnslookup
|
||||
|
||||
terminate_alias:
|
||||
driver = accept
|
||||
transport = devnull
|
||||
condition = ${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}{true}{false}}
|
||||
|
||||
|
||||
##########################################################################
|
||||
begin transports
|
||||
##########################################################################
|
||||
remote_smtp:
|
||||
driver = smtp
|
||||
helo_data = $sender_address_domain
|
||||
dkim_domain = DKIM_DOMAIN
|
||||
dkim_selector = mail
|
||||
dkim_private_key = DKIM_PRIVATE_KEY
|
||||
dkim_canon = relaxed
|
||||
dkim_strict = 0
|
||||
|
||||
|
||||
procmail:
|
||||
driver = pipe
|
||||
command = "/usr/bin/procmail -d $local_part"
|
||||
return_path_add
|
||||
delivery_date_add
|
||||
envelope_to_add
|
||||
user = $local_part
|
||||
initgroups
|
||||
return_output
|
||||
|
||||
local_delivery:
|
||||
driver = appendfile
|
||||
maildir_format
|
||||
maildir_use_size_file
|
||||
user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}
|
||||
group = mail
|
||||
create_directory
|
||||
directory_mode = 770
|
||||
mode = 660
|
||||
use_lockfile = no
|
||||
delivery_date_add
|
||||
envelope_to_add
|
||||
return_path_add
|
||||
directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}/mail/$domain/$local_part"
|
||||
quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}M
|
||||
quota_warn_threshold = 75%
|
||||
|
||||
local_spam_delivery:
|
||||
driver = appendfile
|
||||
maildir_format
|
||||
maildir_use_size_file
|
||||
user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}
|
||||
group = mail
|
||||
create_directory
|
||||
directory_mode = 770
|
||||
mode = 660
|
||||
use_lockfile = no
|
||||
delivery_date_add
|
||||
envelope_to_add
|
||||
return_path_add
|
||||
directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}/mail/$domain/$local_part/.spam"
|
||||
quota = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}M
|
||||
quota_directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}/mail/$domain/$local_part"
|
||||
quota_warn_threshold = 75%
|
||||
|
||||
address_pipe:
|
||||
driver = pipe
|
||||
return_output
|
||||
|
||||
address_file:
|
||||
driver = appendfile
|
||||
delivery_date_add
|
||||
envelope_to_add
|
||||
return_path_add
|
||||
|
||||
address_reply:
|
||||
driver = autoreply
|
||||
|
||||
userautoreply:
|
||||
driver = autoreply
|
||||
file = /etc/exim/domains/$domain/autoreply.${local_part}.msg
|
||||
from = "${local_part}@${domain}"
|
||||
subject = "${if def:h_Subject: {Autoreply: ${quote:${escape:$h_Subject:}}} {Autoreply Message}}"
|
||||
to = "${sender_address}"
|
||||
|
||||
devnull:
|
||||
driver = appendfile
|
||||
file = /dev/null
|
||||
|
||||
##########################################################################
|
||||
begin retry
|
||||
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
|
||||
##########################################################################
|
||||
begin rewrite
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
@ -52,3 +53,65 @@ class rcube_vesta_password
|
|||
|
||||
}
|
||||
}
|
||||
=======
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Vesta Control Panel Password Driver
|
||||
*
|
||||
* @version 1.0
|
||||
* @author Serghey Rodin <skid@vestacp.com>
|
||||
*/
|
||||
|
||||
class rcube_vesta_password
|
||||
{
|
||||
function save($curpass, $passwd)
|
||||
{
|
||||
$rcmail = rcmail::get_instance();
|
||||
$vesta_host = $rcmail->config->get('password_vesta_host');
|
||||
|
||||
if (empty($vesta_host))
|
||||
{
|
||||
$vesta_host = 'localhost';
|
||||
}
|
||||
|
||||
$vesta_port = $rcmail->config->get('password_vesta_port');
|
||||
if (empty($vesta_port))
|
||||
{
|
||||
$vesta_port = '8083';
|
||||
}
|
||||
|
||||
$postvars = array(
|
||||
'email' => $_SESSION['username'],
|
||||
'password' => $curpass,
|
||||
'new' => $passwd
|
||||
);
|
||||
|
||||
$postdata = http_build_query($postvars);
|
||||
|
||||
$send = 'POST /reset/mail/ HTTP/1.1' . PHP_EOL;
|
||||
$send .= 'Host: ' . $vesta_host . PHP_EOL;
|
||||
$send .= 'User-Agent: PHP Script' . PHP_EOL;
|
||||
$send .= 'Content-length: ' . strlen($postdata) . PHP_EOL;
|
||||
$send .= 'Content-type: application/x-www-form-urlencoded' . PHP_EOL;
|
||||
$send .= 'Connection: close' . PHP_EOL;
|
||||
$send .= PHP_EOL;
|
||||
$send .= $postdata . PHP_EOL . PHP_EOL;
|
||||
|
||||
$fp = fsockopen('ssl://' . $vesta_host, $vesta_port);
|
||||
fputs($fp, $send);
|
||||
$result = fread($fp, 2048);
|
||||
fclose($fp);
|
||||
|
||||
|
||||
if(strpos($result, 'ok') && !strpos($html, 'error'))
|
||||
{
|
||||
return PASSWORD_SUCCESS;
|
||||
}
|
||||
else {
|
||||
return PASSWORD_ERROR;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
>>>>>>> 994c40901078e48fe939536f7b366e29c2e44a1d
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
#!/bin/bash
|
||||
# Vesta installer
|
||||
|
||||
|
@ -636,3 +637,652 @@ cd
|
|||
bash
|
||||
|
||||
# EOF
|
||||
=======
|
||||
#!/bin/bash
|
||||
# Vesta installer
|
||||
|
||||
# Define Variables
|
||||
RHOST='r.vestacp.com'
|
||||
CHOST='c.vestacp.com'
|
||||
|
||||
REPO='cmmnt'
|
||||
VERSION='0.9.7'
|
||||
YUM_REPO='/etc/yum.repos.d/vesta.repo'
|
||||
arch=$(uname -i)
|
||||
|
||||
tools="screen mc libpng libjpeg curl libmcrypt mhash zip unzip freetype ntp
|
||||
openssl flex libxml2 ImageMagick sqlite pcre sudo bc jwhois mailx lsof
|
||||
tar telnet rsync"
|
||||
|
||||
rpms="nginx httpd mod_ssl mod_ruid2 mod_extract_forwarded mod_fcgid ftp
|
||||
webalizer awstats mysql mysql-server php php-bcmath php-cli php-common
|
||||
php-gd php-imap php-mbstring php-mcrypt php-mysql php-pdo php-soap php-tidy
|
||||
php-xml php-xmlrpc phpMyAdmin exim dovecot clamd spamassassin roundcubemail
|
||||
bind bind-utils bind-libs vsftpd rrdtool GeoIP vesta vesta-nginx vesta-php"
|
||||
|
||||
# Am I root?
|
||||
if [ "x$(id -u)" != 'x0' ]; then
|
||||
echo 'Error: this script can only be executed by root'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check supported version
|
||||
if [ ! -e '/etc/redhat-release' ]; then
|
||||
echo 'Error: sorry, we currently support RHEL and CentOS only'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
os=$(cut -f 1 -d ' ' /etc/redhat-release)
|
||||
if [ $os != 'CentOS' ] && [ $os != 'Red' ]; then
|
||||
echo 'Error: sorry, we currently support RHEL and CentOS only'
|
||||
fi
|
||||
release=$(grep -o "[0-9]" /etc/redhat-release |head -n1)
|
||||
|
||||
help() {
|
||||
echo "usage: $0 [OPTIONS]
|
||||
-d, --disable-remi Disable remi
|
||||
-e, --email Define email address
|
||||
-h, --help Print this help and exit
|
||||
-f, --force Force installation"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Translating argument to --gnu-long-options
|
||||
for arg; do
|
||||
delim=""
|
||||
case "$arg" in
|
||||
--help) args="${args}-h " ;;
|
||||
--disable-remi) args="${args}-d " ;;
|
||||
--force) args="${args}-f " ;;
|
||||
--email) args="${args}-e " ;;
|
||||
*) [[ "${arg:0:1}" == "-" ]] || delim="\""
|
||||
args="${args}${delim}${arg}${delim} ";;
|
||||
esac
|
||||
done
|
||||
eval set -- "$args"
|
||||
|
||||
# Getopt
|
||||
while getopts "dhfe:" Option; do
|
||||
case $Option in
|
||||
d) disable_remi='yes' ;; # Disable remi repo
|
||||
h) help ;; # Help
|
||||
e) email=$OPTARG ;; # Contact email
|
||||
f) force=yes ;; # Force install
|
||||
*) help ;; # Default
|
||||
esac
|
||||
done
|
||||
|
||||
# Are you sure ?
|
||||
if [ -z $email ]; then
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo ' ***********************************************************'
|
||||
echo
|
||||
echo ' _| _| _|_|_|_| _|_|_| _|_|_|_|_| _|_| '
|
||||
echo ' _| _| _| _| _| _| _| '
|
||||
echo ' _| _| _|_|_| _|_| _| _|_|_|_| '
|
||||
echo ' _| _| _| _| _| _| _| '
|
||||
echo ' _| _|_|_|_| _|_|_| _| _| _| '
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo ' ***********************************************************'
|
||||
echo
|
||||
echo
|
||||
read -n 1 -p 'Do you want to install Vesta Control Panel? [y/n]): ' answer
|
||||
if [ "$answer" != 'y' ] && [ "$answer" != 'Y' ]; then
|
||||
echo 'Goodbye'
|
||||
exit 1
|
||||
fi
|
||||
echo
|
||||
|
||||
# Check email
|
||||
read -p 'Please enter valid email address: ' email
|
||||
fi
|
||||
|
||||
# Validate email
|
||||
local_part=$(echo $email | cut -s -f1 -d\@)
|
||||
remote_host=$(echo $email | cut -s -f2 -d\@)
|
||||
mx_failed=1
|
||||
if [ ! -z "$remote_host" ] && [ ! -z "$local_part" ]; then
|
||||
/usr/bin/host -t mx "$remote_host" &> /dev/null
|
||||
mx_failed="$?"
|
||||
fi
|
||||
|
||||
if [ "$mx_failed" -eq 1 ]; then
|
||||
echo "Error: email $email is not valid"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo 'Installation will take about 15 minutes ...'
|
||||
echo
|
||||
sleep 2
|
||||
|
||||
# Check wget
|
||||
if [ ! -e '/usr/bin/wget' ]; then
|
||||
yum -y install wget
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: can't install wget"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check repo availability
|
||||
wget "$RHOST/$REPO/vesta.conf" -O /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: no access to $REPO repository"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check installed packages
|
||||
tmpfile=$(mktemp -p /tmp)
|
||||
rpm -qa > $tmpfile
|
||||
for rpm in $rpms; do
|
||||
if [ ! -z "$(grep ^$rpm. $tmpfile)" ]; then
|
||||
conflicts="$rpm $conflicts"
|
||||
fi
|
||||
done
|
||||
rm -f $tmpfile
|
||||
|
||||
if [ ! -z "$conflicts" ] && [ -z "$force" ]; then
|
||||
echo
|
||||
echo '!!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!'
|
||||
echo
|
||||
echo 'Following rpm packages aleady installed:'
|
||||
echo "$conflicts"
|
||||
echo
|
||||
echo 'It is highly recommended to remove them before proceeding.'
|
||||
echo
|
||||
echo 'If you want to force installation run this script with -f option:'
|
||||
echo "Example: bash $0 --force"
|
||||
echo
|
||||
echo '!!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!'
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Password generator
|
||||
gen_pass() {
|
||||
MATRIX='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
|
||||
LENGTH=10
|
||||
while [ ${n:=1} -le $LENGTH ]; do
|
||||
PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
|
||||
let n+=1
|
||||
done
|
||||
echo "$PASS"
|
||||
}
|
||||
|
||||
# Update system
|
||||
yum -y update
|
||||
if [ $? -ne 0 ]; then
|
||||
echo 'Error: yum update failed'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Install additional packages
|
||||
yum -y install $tools
|
||||
if [ $? -ne 0 ]; then
|
||||
echo 'Error: yum install failed'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Install EPEL repo
|
||||
if [ ! -e '/etc/yum.repos.d/epel.repo' ]; then
|
||||
if [ "$release" -eq '5' ]; then
|
||||
epel="5/$arch/epel-release-5-4.noarch.rpm"
|
||||
fi
|
||||
|
||||
if [ "$release" -eq '6' ]; then
|
||||
epel="6/$arch/epel-release-6-8.noarch.rpm"
|
||||
fi
|
||||
|
||||
rpm -ivh http://dl.fedoraproject.org/pub/epel/$epel
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: can't install EPEL repository"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Install remi repo
|
||||
if [ ! -e '/etc/yum.repos.d/remi.repo' ]; then
|
||||
if [ "$release" -eq '5' ]; then
|
||||
remi="remi-release-5.rpm"
|
||||
fi
|
||||
|
||||
if [ "$release" -eq '6' ]; then
|
||||
remi="remi-release-6.rpm"
|
||||
fi
|
||||
|
||||
rpm -ivh http://rpms.famillecollet.com/enterprise/$remi
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: can't install remi repository"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Install vesta repo
|
||||
echo "[vesta]
|
||||
name=Vesta - $REPO
|
||||
baseurl=http://$RHOST/$REPO/$release/\$basearch/
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-VESTA" > $YUM_REPO
|
||||
wget $CHOST/GPG.txt -O /etc/pki/rpm-gpg/RPM-GPG-KEY-VESTA
|
||||
|
||||
# Checking if old MySQL stuff exists
|
||||
if [ -e '/var/lib/mysql' ]; then
|
||||
mv -f /var/lib/mysql /var/lib/mysql_old
|
||||
fi
|
||||
if [ -e '/etc/my.cnf' ]; then
|
||||
mv -f /etc/my.cnf /etc/my.cnf_old
|
||||
fi
|
||||
if [ -e '/root/.my.cnf' ]; then
|
||||
mv -f /root/.my.cnf
|
||||
fi
|
||||
|
||||
# Install Vesta packages
|
||||
if [ -z "$disable_remi" ]; then
|
||||
yum -y --enablerepo=remi install $rpms
|
||||
else
|
||||
yum -y install $rpms
|
||||
fi
|
||||
if [ $? -ne 0 ]; then
|
||||
echo 'Error: yum install failed'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Configuring run levels
|
||||
chkconfig iptables off
|
||||
if [ -e /etc/init.d/sendmail ]; then
|
||||
chkconfig sendmail off
|
||||
fi
|
||||
if [ -e /etc/init.d/postfix ]; then
|
||||
chkconfig postfix off
|
||||
fi
|
||||
chkconfig vesta on
|
||||
chkconfig httpd on
|
||||
chkconfig nginx on
|
||||
chkconfig mysqld on
|
||||
chkconfig vsftpd on
|
||||
chkconfig named on
|
||||
chkconfig exim on
|
||||
chkconfig clamd on
|
||||
chkconfig spamassassin on
|
||||
chkconfig dovecot on
|
||||
|
||||
# Make dirs more visible
|
||||
echo 'LS_COLORS="$LS_COLORS:di=00;33"' >> /etc/profile
|
||||
|
||||
# Vesta does not support SELINUX for now
|
||||
if [ -e '/etc/sysconfig/selinux' ]; then
|
||||
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
|
||||
setenforce 0
|
||||
fi
|
||||
if [ -e '/etc/selinux/config' ]; then
|
||||
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
|
||||
setenforce 0
|
||||
fi
|
||||
|
||||
# Vesta use own webalizer routine
|
||||
rm -f /etc/cron.daily/00webalizer
|
||||
|
||||
# NTP Synchronization
|
||||
echo '#!/bin/sh' > /etc/cron.daily/ntpdate
|
||||
echo "$(which ntpdate) -s pool.ntp.org" >> /etc/cron.daily/ntpdate
|
||||
chmod 775 /etc/cron.daily/ntpdate
|
||||
ntpdate -s pool.ntp.org
|
||||
|
||||
# Vesta Environment
|
||||
echo "export VESTA='/usr/local/vesta'" > /etc/profile.d/vesta.sh
|
||||
chmod 755 /etc/profile.d/vesta.sh
|
||||
source /etc/profile.d/vesta.sh
|
||||
echo 'PATH=$PATH:/usr/local/vesta/bin' >> /root/.bash_profile
|
||||
echo 'export PATH' >> /root/.bash_profile
|
||||
source /root/.bash_profile
|
||||
mkdir -p $VESTA/conf
|
||||
mkdir -p $VESTA/log
|
||||
mkdir -p $VESTA/data
|
||||
mkdir -p $VESTA/ssl
|
||||
chmod 770 $VESTA/conf
|
||||
|
||||
# Make backup directory
|
||||
vst_backups="/root/vst_install_backups/$(date +%s)"
|
||||
mkdir -p $vst_backups
|
||||
mkdir -p $vst_backups/nginx
|
||||
mkdir -p $vst_backups/httpd
|
||||
mkdir -p $vst_backups/mysql
|
||||
mkdir -p $vst_backups/exim
|
||||
mkdir -p $vst_backups/dovecot
|
||||
mkdir -p $vst_backups/clamd
|
||||
mkdir -p $vst_backups/vsftpd
|
||||
mkdir -p $vst_backups/named
|
||||
|
||||
wget $RHOST/$REPO/vesta.conf -O $VESTA/conf/vesta.conf
|
||||
if [ -e '/etc/sudoers' ]; then
|
||||
mv /etc/sudoers $vst_backups/
|
||||
fi
|
||||
wget $CHOST/$VERSION/sudoers.conf -O /etc/sudoers
|
||||
chmod 0440 /etc/sudoers
|
||||
wget $CHOST/$VERSION/vesta.log -O /etc/logrotate.d/vesta
|
||||
|
||||
sed -i "s/umask 022/umask 002/g" /etc/profile
|
||||
|
||||
# Create backup directory
|
||||
adduser backup
|
||||
ln -s /home/backup /backup
|
||||
chmod a+x /backup
|
||||
|
||||
# Configuring data templates
|
||||
cd /usr/local/vesta/data
|
||||
mkdir ips
|
||||
mkdir queue
|
||||
mkdir users
|
||||
touch queue/backup.pipe
|
||||
touch queue/disk.pipe
|
||||
touch queue/webstats.pipe
|
||||
touch queue/restart.pipe
|
||||
touch queue/traffic.pipe
|
||||
chmod 750 users
|
||||
chmod 750 ips
|
||||
chmod -R 750 queue
|
||||
wget $CHOST/$VERSION/packages.tar.gz -O packages.tar.gz
|
||||
tar -xzf packages.tar.gz
|
||||
rm -f packages.tar.gz
|
||||
cd /usr/local/vesta/data
|
||||
wget $CHOST/$VERSION/templates.tar.gz -O templates.tar.gz
|
||||
tar -xzf templates.tar.gz
|
||||
rm -f templates.tar.gz
|
||||
chmod -R 755 /usr/local/vesta/data/templates
|
||||
|
||||
cp templates/web/skel/public_html/index.html /var/www/html/
|
||||
sed -i 's/%domain%/It worked!/g' /var/www/html/index.html
|
||||
|
||||
# Configuring ssl keys
|
||||
cd /usr/local/vesta/ssl
|
||||
wget $CHOST/$VERSION/certificate.crt -O certificate.crt
|
||||
wget $CHOST/$VERSION/certificate.key -O certificate.key
|
||||
|
||||
# Adding admin user
|
||||
vpass=$(gen_pass)
|
||||
$VESTA/bin/v-add-user admin $vpass $email default System Administrator
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: can't create admin user"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Set shell
|
||||
$VESTA/bin/v-change-user-shell admin bash
|
||||
|
||||
# Apache
|
||||
if [ -e '/etc/httpd/conf/httpd.conf' ]; then
|
||||
mv /etc/httpd/conf/httpd.conf $vst_backups/httpd/
|
||||
fi
|
||||
if [ -e '/etc/httpd/conf.d/ssl.conf' ]; then
|
||||
mv /etc/httpd/conf.d/ssl.conf $vst_backups/httpd/
|
||||
fi
|
||||
if [ -e '/etc/httpd/conf.d/proxy_ajp.conf' ]; then
|
||||
mv /etc/httpd/conf.d/proxy_ajp.conf $vst_backups/httpd/
|
||||
fi
|
||||
wget $CHOST/$VERSION/httpd.conf -O /etc/httpd/conf/httpd.conf
|
||||
wget $CHOST/$VERSION/httpd-status.conf -O /etc/httpd/conf.d/status.conf
|
||||
wget $CHOST/$VERSION/httpd-ssl.conf -O /etc/httpd/conf.d/ssl.conf
|
||||
wget $CHOST/$VERSION/httpd.log -O /etc/logrotate.d/httpd
|
||||
echo "MEFaccept 127.0.0.1" >> /etc/httpd/conf.d/mod_extract_forwarded.conf
|
||||
echo > /etc/httpd/conf.d/proxy_ajp.conf
|
||||
echo > /etc/httpd/conf.d/vesta.conf
|
||||
touch /var/log/httpd/access_log
|
||||
touch /var/log/httpd/error_log
|
||||
touch /var/log/httpd/suexec.log
|
||||
mkdir -p /var/log/httpd/domains
|
||||
chmod a+x /var/log/httpd
|
||||
chmod 640 /var/log/httpd/access_log
|
||||
chmod 640 /var/log/httpd/error_log
|
||||
chmod 640 /var/log/httpd/suexec.log
|
||||
chmod 751 /var/log/httpd/domains
|
||||
|
||||
# Nginx
|
||||
if [ -e '/etc/nginx/nginx.conf' ]; then
|
||||
mv /etc/nginx/nginx.conf $vst_backups/nginx/
|
||||
fi
|
||||
if [ -f '/etc/nginx/conf.d/default.conf' ]; then
|
||||
mv /etc/nginx/conf.d/default.conf $vst_backups/nginx/
|
||||
fi
|
||||
if [ -e '/etc/nginx/conf.d/example_ssl.conf' ]; then
|
||||
mv /etc/nginx/conf.d/example_ssl.conf $vst_backups/nginx/
|
||||
fi
|
||||
|
||||
wget $CHOST/$VERSION/nginx.conf -O /etc/nginx/nginx.conf
|
||||
wget $CHOST/$VERSION/nginx-status.conf -O /etc/nginx/conf.d/status.conf
|
||||
touch /etc/nginx/conf.d/vesta_ip.conf
|
||||
touch /etc/nginx/conf.d/vesta_users.conf
|
||||
|
||||
# VsFTP
|
||||
if [ -e '/etc/vsftpd/vsftpd.conf' ]; then
|
||||
mv /etc/vsftpd/vsftpd.conf $vst_backups/vsftpd/
|
||||
fi
|
||||
wget $CHOST/$VERSION/vsftpd.conf -O /etc/vsftpd/vsftpd.conf
|
||||
|
||||
# MySQL
|
||||
if [ -e '/etc/my.cnf' ]; then
|
||||
mv /etc/my.cnf $vst_backups/mysql/
|
||||
fi
|
||||
|
||||
if [ -e '/root/.my.cnf' ]; then
|
||||
mv /root/.my.cnf $vst_backups/mysql/
|
||||
fi
|
||||
mpass=$(gen_pass)
|
||||
server_memory="$(grep 'MemTotal' /proc/meminfo |tr ' ' '\n' |grep [0-9])"
|
||||
if [ "$server_memory" -gt '1000000' ]; then
|
||||
wget $CHOST/$VERSION/mysql.cnf -O /etc/my.cnf
|
||||
else
|
||||
wget $CHOST/$VERSION/mysql-512.cnf -O /etc/my.cnf
|
||||
fi
|
||||
service mysqld start
|
||||
mysqladmin -u root password $mpass
|
||||
echo -e "[client]\npassword='$mpass'\n" >/root/.my.cnf
|
||||
$VESTA/bin/v-add-database-server mysql localhost 3306 root $mpass
|
||||
$VESTA/bin/v-add-database admin default default $(gen_pass) mysql
|
||||
|
||||
# Bind
|
||||
if [ -e '/etc/named.conf' ]; then
|
||||
mv /etc/named.conf $vst_backups/named/
|
||||
fi
|
||||
wget $CHOST/$VERSION/named.conf -O /etc/named.conf
|
||||
chown root:named /etc/named.conf
|
||||
chmod 640 /etc/named.conf
|
||||
|
||||
# Exim
|
||||
if [ -e '/etc/exim/exim.conf' ]; then
|
||||
mv /etc/exim/exim.conf $vst_backups/exim/
|
||||
fi
|
||||
if [ -e '/etc/clamd.conf' ]; then
|
||||
mv /etc/clamd.conf $vst_backups/clamd/
|
||||
fi
|
||||
wget $CHOST/$VERSION/exim.conf -O /etc/exim/exim.conf
|
||||
wget $CHOST/$VERSION/dnsbl.conf -O /etc/exim/dnsbl.conf
|
||||
wget $CHOST/$VERSION/spam-blocks.conf -O /etc/exim/spam-blocks.conf
|
||||
wget $CHOST/$VERSION/clamd.conf -O /etc/clamd.conf
|
||||
mkdir /etc/exim/domains
|
||||
chmod 640 /etc/exim/exim.conf
|
||||
gpasswd -a clam exim
|
||||
gpasswd -a exim mail
|
||||
gpasswd -a clam mail
|
||||
gpasswd -a dovecot mail
|
||||
/usr/bin/freshclam
|
||||
|
||||
# Dovecot config
|
||||
if [ "$release" -eq '5' ]; then
|
||||
if -e [ '/etc/dovecot.conf' ]; then
|
||||
mv /etc/dovecot.conf $vst_backups/dovecot/
|
||||
fi
|
||||
wget $CHOST/$VERSION/dovecot.conf -O /etc/dovecot.conf
|
||||
|
||||
else
|
||||
if [ -e '/etc/dovecot' ]; then
|
||||
mv /etc/dovecot/* $vst_backups/dovecot/
|
||||
fi
|
||||
wget $CHOST/$VERSION/dovecot.tar.gz -O /etc/dovecot.tar.gz
|
||||
cd /etc/
|
||||
tar -xzf dovecot.tar.gz
|
||||
rm -f dovecot.tar.gz
|
||||
fi
|
||||
|
||||
# PMA
|
||||
wget $CHOST/$VERSION/httpd-pma.conf -O /etc/httpd/conf.d/phpMyAdmin.conf
|
||||
wget $CHOST/$VERSION/pma.conf -O /etc/phpMyAdmin/config.inc.php
|
||||
sed -i "s/%blowfish_secret%/$(gen_pass)/g" /etc/phpMyAdmin/config.inc.php
|
||||
|
||||
# Roundcube setup
|
||||
wget $CHOST/$VERSION/httpd-webmail.conf -O /etc/httpd/conf.d/roundcubemail.conf
|
||||
wget $CHOST/$VERSION/roundcube-main.conf -O /etc/roundcubemail/main.inc.php
|
||||
wget $CHOST/$VERSION/roundcube-db.conf -O /etc/roundcubemail/db.inc.php
|
||||
wget $CHOST/$VERSION/roundcube-driver.php -O /usr/share/roundcubemail/plugins/password/vesta.php
|
||||
wget $CHOST/$VERSION/roundcube-pw.conf -O /usr/share/roundcubemail/plugins/password/config.inc.php
|
||||
|
||||
r="$(gen_pass)"
|
||||
mysql -e "CREATE DATABASE roundcube"
|
||||
mysql -e "GRANT ALL ON roundcube.* TO roundcube@localhost IDENTIFIED BY '$r'"
|
||||
sed -i "s/%password%/$r/g" /etc/roundcubemail/db.inc.php
|
||||
mysql roundcube < /usr/share/doc/roundcubemail-*/SQL/mysql.initial.sql
|
||||
|
||||
# Configuring ip
|
||||
$VESTA/bin/v-update-sys-ip
|
||||
|
||||
# Get main ip
|
||||
main_ip=$(ifconfig |grep 'inet addr:' |grep -v 127.0.0.1 |head -n1 |\
|
||||
cut -f2 -d: | cut -f1 -d ' ')
|
||||
|
||||
# Add default web domain on main ip
|
||||
$VESTA/bin/v-add-web-domain admin default.domain $main_ip
|
||||
|
||||
# Add default dns domain on main ip
|
||||
$VESTA/bin/v-add-dns-domain admin default.domain $main_ip
|
||||
|
||||
# Add default mail domain
|
||||
$VESTA/bin/v-add-mail-domain admin default.domain
|
||||
|
||||
# Configuring crond
|
||||
command='sudo /usr/local/vesta/bin/v-update-sys-queue disk'
|
||||
$VESTA/bin/v-add-cron-job 'admin' '15' '02' '*' '*' '*' "$command"
|
||||
command='sudo /usr/local/vesta/bin/v-update-sys-queue traffic'
|
||||
$VESTA/bin/v-add-cron-job 'admin' '10' '00' '*' '*' '*' "$command"
|
||||
command='sudo /usr/local/vesta/bin/v-update-sys-queue webstats'
|
||||
$VESTA/bin/v-add-cron-job 'admin' '30' '03' '*' '*' '*' "$command"
|
||||
command='sudo /usr/local/vesta/bin/v-update-sys-queue backup'
|
||||
$VESTA/bin/v-add-cron-job 'admin' '*/30' '*' '*' '*' '*' "$command"
|
||||
command='sudo /usr/local/vesta/bin/v-backup-users'
|
||||
$VESTA/bin/v-add-cron-job 'admin' '10' '05' '*' '*' '*' "$command"
|
||||
command='sudo /usr/local/vesta/bin/v-update-user-stats'
|
||||
$VESTA/bin/v-add-cron-job 'admin' '20' '00' '01' '*' '*' "$command"
|
||||
command='sudo /usr/local/vesta/bin/v-update-sys-rrd'
|
||||
$VESTA/bin/v-add-cron-job 'admin' '*/5' '*' '*' '*' '*' "$command"
|
||||
|
||||
# Creating symlink
|
||||
ln -s /usr/local/vesta/log /var/log/vesta
|
||||
|
||||
# Stop unused services
|
||||
services='iptables sendmail postfix'
|
||||
for srv in $services; do
|
||||
service $srv status > /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
service $srv stop
|
||||
fi
|
||||
done
|
||||
|
||||
# Start system service
|
||||
services='vesta httpd nginx vsftpd exim dovecot clamd spamassassin named crond'
|
||||
for srv in $services; do
|
||||
service $srv status > /dev/null
|
||||
if [ $? -gt 0 ]; then
|
||||
service $srv start
|
||||
else
|
||||
service $srv restart
|
||||
fi
|
||||
done
|
||||
|
||||
# Change sendmail client
|
||||
rm -f /etc/alternatives/mta
|
||||
ln -s /usr/sbin/sendmail.exim /etc/alternatives/mta
|
||||
|
||||
# Build inititall rrd images
|
||||
$VESTA/bin/v-update-sys-rrd
|
||||
|
||||
# Send notification to vestacp.com
|
||||
wget vestacp.com/notify/?$REPO -O /dev/null
|
||||
|
||||
# Get server ip
|
||||
vst_ip=$(wget vestacp.com/what-is-my-ip/ -O - 2>/dev/null)
|
||||
if [ ! -z "$vst_ip" ] && [ "$vst_ip" != "$main_ip" ]; then
|
||||
# Assign passive ip address
|
||||
echo "pasv_address=$vst_ip" >> /etc/vsftpd/vsftpd.conf
|
||||
fi
|
||||
|
||||
if [ -z "$vst_ip" ]; then
|
||||
vst_ip=$main_ip
|
||||
fi
|
||||
|
||||
# Send email
|
||||
echo -e "Congratulations, you have just successfully installed \
|
||||
the Vesta Control Panel
|
||||
|
||||
You can login in Vesta with following credentials:
|
||||
username: admin
|
||||
password: $vpass
|
||||
https://$vst_ip:8083
|
||||
|
||||
We hope that you enjoy your installation of Vesta. Please \
|
||||
feel free to contact us anytime if you have any questions.
|
||||
Thank you.
|
||||
|
||||
--
|
||||
Sincerely yours
|
||||
vestacp.com team
|
||||
" > $tmpfile
|
||||
|
||||
cat $tmpfile | mail -s "Vesta Control Panel" $email
|
||||
rm -f $tmpfile
|
||||
|
||||
# Congrats
|
||||
echo
|
||||
echo
|
||||
echo ' ***********************************************************'
|
||||
echo
|
||||
echo ' _| _| _|_|_|_| _|_|_| _|_|_|_|_| _|_| '
|
||||
echo ' _| _| _| _| _| _| _| '
|
||||
echo ' _| _| _|_|_| _|_| _| _|_|_|_| '
|
||||
echo ' _| _| _| _| _| _| _| '
|
||||
echo ' _| _|_|_|_| _|_|_| _| _| _| '
|
||||
echo
|
||||
echo ' Congratulations, you have just successfully installed'
|
||||
echo ' the Vesta Control Panel!'
|
||||
echo
|
||||
echo ' Now you can login in Vesta with following credentials:'
|
||||
echo ' username: admin'
|
||||
echo " password: $vpass"
|
||||
echo " https://$vst_ip:8083/"
|
||||
echo
|
||||
echo
|
||||
echo ' Thank you for using our product.'
|
||||
echo
|
||||
echo ' ***********************************************************'
|
||||
echo
|
||||
echo
|
||||
|
||||
# Tricky way to get new PATH variable
|
||||
cd
|
||||
bash
|
||||
|
||||
# EOF
|
||||
>>>>>>> 994c40901078e48fe939536f7b366e29c2e44a1d
|
||||
|
|
|
@ -1,76 +1,93 @@
|
|||
<?php
|
||||
// Init
|
||||
error_reporting(NULL);
|
||||
ob_start();
|
||||
session_start();
|
||||
$TAB = 'DB';
|
||||
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
||||
|
||||
// Header
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
|
||||
|
||||
// Panel
|
||||
top_panel($user,$TAB);
|
||||
|
||||
// Are you admin?
|
||||
//if ($_SESSION['user'] == 'admin') {
|
||||
if (!empty($_POST['ok'])) {
|
||||
// Check input
|
||||
if (empty($_POST['v_database'])) $errors[] = _('database');
|
||||
if (empty($_POST['v_dbuser'])) $errors[] = _('username');
|
||||
if (empty($_POST['v_password'])) $errors[] = _('password');
|
||||
if (empty($_POST['v_type'])) $errors[] = _('type');
|
||||
if (empty($_POST['v_charset'])) $errors[] = _('charset');
|
||||
|
||||
// Protect input
|
||||
$v_database = escapeshellarg($_POST['v_database']);
|
||||
$v_dbuser = escapeshellarg($_POST['v_dbuser']);
|
||||
$v_password = escapeshellarg($_POST['v_password']);
|
||||
$v_type = $_POST['v_type'];
|
||||
$v_charset = $_POST['v_charset'];
|
||||
|
||||
// Check for errors
|
||||
if (!empty($errors[0])) {
|
||||
foreach ($errors as $i => $error) {
|
||||
if ( $i == 0 ) {
|
||||
$error_msg = $error;
|
||||
} else {
|
||||
$error_msg = $error_msg.", ".$error;
|
||||
}
|
||||
}
|
||||
$_SESSION['error_msg'] = _('Error: field "%s" can not be blank.',$error_msg);
|
||||
} else {
|
||||
// Add Database
|
||||
$v_type = escapeshellarg($_POST['v_type']);
|
||||
$v_charset = escapeshellarg($_POST['v_charset']);
|
||||
exec (VESTA_CMD."v-add-database ".$user." ".$v_database." ".$v_dbuser." ".$v_password." ".$v_type." 'default' ".$v_charset, $output, $return_var);
|
||||
$v_type = $_POST['v_type'];
|
||||
$v_charset = $_POST['v_charset'];
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = _('Error: vesta did not return any output.');
|
||||
$_SESSION['error_msg'] = $error;
|
||||
unset($v_password);
|
||||
unset($output);
|
||||
} else {
|
||||
$_SESSION['ok_msg'] = _('DATABASE_CREATED_OK',$user."_".$_POST['v_database'],$user."_".$_POST['v_database']);
|
||||
unset($v_database);
|
||||
unset($v_dbuser);
|
||||
unset($v_password);
|
||||
unset($v_type);
|
||||
unset($v_charset);
|
||||
unset($output);
|
||||
}
|
||||
}
|
||||
}
|
||||
exec (VESTA_CMD."v-list-database-types 'json'", $output, $return_var);
|
||||
$db_types = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_db.html');
|
||||
unset($_SESSION['error_msg']);
|
||||
unset($_SESSION['ok_msg']);
|
||||
//}
|
||||
|
||||
// Footer
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');
|
||||
<?php
|
||||
// Init
|
||||
error_reporting(NULL);
|
||||
ob_start();
|
||||
session_start();
|
||||
$TAB = 'DB';
|
||||
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
||||
|
||||
// Header
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
|
||||
|
||||
// Panel
|
||||
top_panel($user,$TAB);
|
||||
|
||||
// Are you admin?
|
||||
//if ($_SESSION['user'] == 'admin') {
|
||||
if (!empty($_POST['ok'])) {
|
||||
// Check input
|
||||
if (empty($_POST['v_database'])) $errors[] = _('database');
|
||||
if (empty($_POST['v_dbuser'])) $errors[] = _('username');
|
||||
if (empty($_POST['v_password'])) $errors[] = _('password');
|
||||
if (empty($_POST['v_type'])) $errors[] = _('type');
|
||||
if (empty($_POST['v_charset'])) $errors[] = _('charset');
|
||||
|
||||
// Protect input
|
||||
$v_database = escapeshellarg($_POST['v_database']);
|
||||
$v_dbuser = escapeshellarg($_POST['v_dbuser']);
|
||||
$v_password = escapeshellarg($_POST['v_password']);
|
||||
$v_type = $_POST['v_type'];
|
||||
$v_charset = $_POST['v_charset'];
|
||||
|
||||
if (empty($_POST['v_notify'])) $v_notify = 'off';
|
||||
|
||||
// Check for errors
|
||||
if (!empty($errors[0])) {
|
||||
foreach ($errors as $i => $error) {
|
||||
if ( $i == 0 ) {
|
||||
$error_msg = $error;
|
||||
} else {
|
||||
$error_msg = $error_msg.", ".$error;
|
||||
}
|
||||
}
|
||||
$_SESSION['error_msg'] = _('Error: field "%s" can not be blank.',$error_msg);
|
||||
} else {
|
||||
// Add Database
|
||||
$v_type = escapeshellarg($_POST['v_type']);
|
||||
$v_charset = escapeshellarg($_POST['v_charset']);
|
||||
exec (VESTA_CMD."v-add-database ".$user." ".$v_database." ".$v_dbuser." ".$v_password." ".$v_type." 'default' ".$v_charset, $output, $return_var);
|
||||
$v_type = $_POST['v_type'];
|
||||
$v_charset = $_POST['v_charset'];
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = _('Error: vesta did not return any output.');
|
||||
$_SESSION['error_msg'] = $error;
|
||||
unset($v_password);
|
||||
unset($output);
|
||||
} else {
|
||||
if (empty($v_notify)) {
|
||||
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"]);
|
||||
if ($_POST['v_type'] == 'mysql') $db_admin_link = "http://".$http_host."/phpMyAdmin/";
|
||||
if ($_POST['v_type'] == 'pgsql') $db_admin_link = "http://".$http_host."/phpPgAdmin/";
|
||||
|
||||
$to = $panel[$user]['CONTACT'];
|
||||
$subject = _("Database Credentials");
|
||||
$hostname = exec('hostname');
|
||||
$from = _('MAIL_FROM',$hostname);
|
||||
$mailtext = _('DATABASE_READY',$panel[$user]['FNAME'],$panel[$user]['LNAME'],$_POST['v_type'],$user,$_POST['v_database'],$user,$_POST['v_dbuser'],$_POST['v_password']);
|
||||
$mailtext .= $db_admin_link."\n\n";
|
||||
|
||||
$mailtext .= "--\n"._('Vesta Control Panel')."\n";
|
||||
send_email($to, $subject, $mailtext, $from);
|
||||
}
|
||||
$_SESSION['ok_msg'] = _('DATABASE_CREATED_OK',$user."_".$_POST['v_database'],$user."_".$_POST['v_database']);
|
||||
unset($v_database);
|
||||
unset($v_dbuser);
|
||||
unset($v_password);
|
||||
unset($v_type);
|
||||
unset($v_charset);
|
||||
unset($output);
|
||||
}
|
||||
}
|
||||
}
|
||||
exec (VESTA_CMD."v-list-database-types 'json'", $output, $return_var);
|
||||
$db_types = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_db.html');
|
||||
unset($_SESSION['error_msg']);
|
||||
unset($_SESSION['ok_msg']);
|
||||
//}
|
||||
|
||||
// Footer
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');
|
File diff suppressed because it is too large
Load diff
|
@ -147,5 +147,8 @@ $LANG = array(
|
|||
'Reset Code'=>'Код сброса',
|
||||
'disk'=>'Место',
|
||||
'traffic'=>'Трафик',
|
||||
'Database Credentials'=>'Данные для доступа к БД',
|
||||
'DATABASE_READY'=>"Здравствуйте %s %s,\nВаша %s база данных создана успешно.\n\nИмя БД: %s_%s\nПользователь: %s_%s\nПароль: %s\n\n",
|
||||
'Send credentials to'=>'Отправить данные для доступа к '
|
||||
|
||||
);
|
|
@ -1,176 +1,184 @@
|
|||
|
||||
<?php
|
||||
$back = $_SESSION['back'];
|
||||
if (empty($back)) {
|
||||
$back = "location.href='/list/db/'";
|
||||
} else {
|
||||
$back = "location.href='".$back."'";
|
||||
}
|
||||
?>
|
||||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 10px 2px 10px 0;" ><a class="name"><b><?php print _('Adding database');?></b></a>
|
||||
<?php
|
||||
if (!empty($_SESSION['error_msg'])) {
|
||||
echo "<span class=\"vst-error\"> → ".$_SESSION['error_msg']."</span>";
|
||||
} else {
|
||||
if (!empty($_SESSION['ok_msg'])) {
|
||||
echo "<span class=\"vst-ok\"> → ".$_SESSION['ok_msg']."</span>";
|
||||
}
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<form id="vstobjects" name="v_add_db" method="post">
|
||||
<script type="text/javascript">
|
||||
function elementHideShow(elementToHideOrShow) {
|
||||
var el = document.getElementById(elementToHideOrShow);
|
||||
if (el.style.display == "block") {
|
||||
el.style.display = "none";
|
||||
} else {
|
||||
el.style.display = "block";
|
||||
}
|
||||
}
|
||||
function randomString() {
|
||||
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
|
||||
var string_length = 10;
|
||||
var randomstring = '';
|
||||
for (var i=0; i<string_length; i++) {
|
||||
var rnum = Math.floor(Math.random() * chars.length);
|
||||
randomstring += chars.substring(rnum,rnum+1);
|
||||
}
|
||||
document.v_add_db.v_password.value = randomstring;
|
||||
}
|
||||
</script>
|
||||
|
||||
<table class='data'>
|
||||
<tr class="data-add">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="data-col2" width="600px">
|
||||
<tr>
|
||||
<td style="padding: 10 0 0 2px; color:99a7af;" >
|
||||
<?php print _('DB_PREFIX_WILL_BE_ADDED',$user."_");?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="vst-text" style="padding: 10 0 0 2px;">
|
||||
<?php print _('Database');?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="text" size="20" class="vst-input" name="v_database" <?php if (!empty($v_database)) echo "value=".$v_database; ?>>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="vst-text" style="padding: 10px 0 0 2px;">
|
||||
<?php print _('Username');?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="text" size="20" class="vst-input" name="v_dbuser" <?php if (!empty($v_dbuser)) echo "value=".$v_dbuser; ?>>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="vst-text" style="padding: 10px 0 0 2px;">
|
||||
<?php print _('Password');?> <a href="javascript:randomString();" class="genpass"><?php print _('generate');?></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="text" size="20" class="vst-input" name="v_password">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="vst-text" style="padding: 10 0 0 2px;">
|
||||
<?php print _('Type');?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<select class="vst-list" name="v_type">
|
||||
<?php
|
||||
foreach ($db_types as $key => $value) {
|
||||
echo "\t\t\t\t<option value=\"".$value."\"";
|
||||
if ((!empty($v_type)) && ( $value == $v_type )) echo ' selected';
|
||||
echo ">".$value."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="vst-text" style="padding: 10 0 0 2px;">
|
||||
<?php print _('Кодировка');?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<select class="vst-list" name="v_charset">
|
||||
<option value=big5 <?php if ((!empty($v_charset)) && ( $v_charset == 'big5')) echo 'selected';?> >big5</option>
|
||||
<option value=dec8 <?php if ((!empty($v_charset)) && ( $v_charset == 'dec8')) echo 'selected';?> >dec8</option>
|
||||
<option value=cp850 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp850')) echo 'selected';?> >cp850</option>
|
||||
<option value=hp8 <?php if ((!empty($v_charset)) && ( $v_charset == 'hp8')) echo 'selected';?> >hp8</option>
|
||||
<option value=koi8r <?php if ((!empty($v_charset)) && ( $v_charset == 'koi8r')) echo 'selected';?> >koi8r</option>
|
||||
<option value=latin1 <?php if ((!empty($v_charset)) && ( $v_charset == 'latin1')) echo 'selected';?> >latin1</option>
|
||||
<option value=latin2 <?php if ((!empty($v_charset)) && ( $v_charset == 'latin2')) echo 'selected';?> >latin2</option>
|
||||
<option value=swe7 <?php if ((!empty($v_charset)) && ( $v_charset == 'swe7')) echo 'selected';?> >swe7</option>
|
||||
<option value=ascii <?php if ((!empty($v_charset)) && ( $v_charset == 'ascii')) echo 'selected';?> >ascii</option>
|
||||
<option value=ujis <?php if ((!empty($v_charset)) && ( $v_charset == 'ujis')) echo 'selected';?> >ujis</option>
|
||||
<option value=sjis <?php if ((!empty($v_charset)) && ( $v_charset == 'sjis')) echo 'selected';?> >sjis</option>
|
||||
<option value=hebrew <?php if ((!empty($v_charset)) && ( $v_charset == 'hebrew')) echo 'selected';?> >hebrew</option>
|
||||
<option value=tis620 <?php if ((!empty($v_charset)) && ( $v_charset == 'tis620')) echo 'selected';?> >tis620</option>
|
||||
<option value=euckr <?php if ((!empty($v_charset)) && ( $v_charset == 'euckr')) echo 'selected';?> >euckr</option>
|
||||
<option value=koi8u <?php if ((!empty($v_charset)) && ( $v_charset == 'koi8u')) echo 'selected';?> >koi8u</option>
|
||||
<option value=gb2312 <?php if ((!empty($v_charset)) && ( $v_charset == 'gb2312')) echo 'selected';?> >gb2312</option>
|
||||
<option value=greek <?php if ((!empty($v_charset)) && ( $v_charset == 'greek')) echo 'selected';?> >greek</option>
|
||||
<option value=cp1250 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp1250')) echo 'selected';?> >cp1250</option>
|
||||
<option value=gbk <?php if ((!empty($v_charset)) && ( $v_charset == 'gbk')) echo 'selected';?> >gbk</option>
|
||||
<option value=latin5 <?php if ((!empty($v_charset)) && ( $v_charset == 'latin5')) echo 'selected';?> >latin5</option>
|
||||
<option value=armscii8 <?php if ((!empty($v_charset)) && ( $v_charset == 'armscii8')) echo 'selected';?> >armscii8</option>
|
||||
<option value=utf8 <?php if ((!empty($v_charset)) && ( $v_charset == 'utf8')) echo 'selected';?> <?php if (empty($v_charset)) echo 'selected';?> >utf8</option>
|
||||
<option value=ucs2 <?php if ((!empty($v_charset)) && ( $v_charset == 'ucs2')) echo 'selected';?> >ucs2</option>
|
||||
<option value=cp866 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp866')) echo 'selected';?> >cp866</option>
|
||||
<option value=keybcs2 <?php if ((!empty($v_charset)) && ( $v_charset == 'keybcs2')) echo 'selected';?> >keybcs2</option>
|
||||
<option value=macce <?php if ((!empty($v_charset)) && ( $v_charset == 'macce')) echo 'selected';?> >macce</option>
|
||||
<option value=macroman <?php if ((!empty($v_charset)) && ( $v_charset == 'macroman')) echo 'selected';?> >macroman</option>
|
||||
<option value=cp852 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp852')) echo 'selected';?> >cp852</option>
|
||||
<option value=latin7 <?php if ((!empty($v_charset)) && ( $v_charset == 'latin7')) echo 'selected';?> >latin7</option>
|
||||
<option value=cp1251 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp1251')) echo 'selected';?> >cp1251</option>
|
||||
<option value=cp1256 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp1256')) echo 'selected';?> >cp1256</option>
|
||||
<option value=cp1257 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp1257')) echo 'selected';?> >cp1257</option>
|
||||
<option value=binary <?php if ((!empty($v_charset)) && ( $v_charset == 'binary')) echo 'selected';?> >binary</option>
|
||||
<option value=geostd8 <?php if ((!empty($v_charset)) && ( $v_charset == 'geostd8')) echo 'selected';?> >geostd8</option>
|
||||
<option value=cp932 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp932')) echo 'selected';?> >cp932</option>
|
||||
<option value=eucjpms <?php if ((!empty($v_charset)) && ( $v_charset == 'eucjpms')) echo 'selected';?> >eucjpms</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 24px 0 0 0;">
|
||||
<input type="submit" name="ok" value="<?php print _('Add');?>" class="button">
|
||||
<input type="button" class="button" value="<?php print _('Back');?>" onclick="<?php echo $back ?>">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<?php
|
||||
$back = $_SESSION['back'];
|
||||
if (empty($back)) {
|
||||
$back = "location.href='/list/db/'";
|
||||
} else {
|
||||
$back = "location.href='".$back."'";
|
||||
}
|
||||
?>
|
||||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 10px 2px 10px 0;" ><a class="name"><b><?php print _('Adding database');?></b></a>
|
||||
<?php
|
||||
if (!empty($_SESSION['error_msg'])) {
|
||||
echo "<span class=\"vst-error\"> → ".$_SESSION['error_msg']."</span>";
|
||||
} else {
|
||||
if (!empty($_SESSION['ok_msg'])) {
|
||||
echo "<span class=\"vst-ok\"> → ".$_SESSION['ok_msg']."</span>";
|
||||
}
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<form id="vstobjects" name="v_add_db" method="post">
|
||||
<script type="text/javascript">
|
||||
function elementHideShow(elementToHideOrShow) {
|
||||
var el = document.getElementById(elementToHideOrShow);
|
||||
if (el.style.display == "block") {
|
||||
el.style.display = "none";
|
||||
} else {
|
||||
el.style.display = "block";
|
||||
}
|
||||
}
|
||||
function randomString() {
|
||||
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
|
||||
var string_length = 10;
|
||||
var randomstring = '';
|
||||
for (var i=0; i<string_length; i++) {
|
||||
var rnum = Math.floor(Math.random() * chars.length);
|
||||
randomstring += chars.substring(rnum,rnum+1);
|
||||
}
|
||||
document.v_add_db.v_password.value = randomstring;
|
||||
}
|
||||
</script>
|
||||
|
||||
<table class='data'>
|
||||
<tr class="data-add">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="data-col2" width="600px">
|
||||
<tr>
|
||||
<td style="padding: 10 0 0 2px; color:99a7af;" >
|
||||
<?php print _('DB_PREFIX_WILL_BE_ADDED',$user."_");?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="vst-text" style="padding: 10 0 0 2px;">
|
||||
<?php print _('Database');?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="text" size="20" class="vst-input" name="v_database" <?php if (!empty($v_database)) echo "value=".$v_database; ?>>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="vst-text" style="padding: 10px 0 0 2px;">
|
||||
<?php print _('Username');?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="text" size="20" class="vst-input" name="v_dbuser" <?php if (!empty($v_dbuser)) echo "value=".$v_dbuser; ?>>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="vst-text" style="padding: 10px 0 0 2px;">
|
||||
<?php print _('Password');?> <a href="javascript:randomString();" class="genpass"><?php print _('generate');?></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="text" size="20" class="vst-input" name="v_password">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="vst-text" style="padding: 10 0 0 2px;">
|
||||
<?php print _('Type');?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<select class="vst-list" name="v_type">
|
||||
<?php
|
||||
foreach ($db_types as $key => $value) {
|
||||
echo "\t\t\t\t<option value=\"".$value."\"";
|
||||
if ((!empty($v_type)) && ( $value == $v_type )) echo ' selected';
|
||||
echo ">".$value."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="vst-text" style="padding: 10 0 0 2px;">
|
||||
<?php print _('Charset');?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<select class="vst-list" name="v_charset">
|
||||
<option value=big5 <?php if ((!empty($v_charset)) && ( $v_charset == 'big5')) echo 'selected';?> >big5</option>
|
||||
<option value=dec8 <?php if ((!empty($v_charset)) && ( $v_charset == 'dec8')) echo 'selected';?> >dec8</option>
|
||||
<option value=cp850 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp850')) echo 'selected';?> >cp850</option>
|
||||
<option value=hp8 <?php if ((!empty($v_charset)) && ( $v_charset == 'hp8')) echo 'selected';?> >hp8</option>
|
||||
<option value=koi8r <?php if ((!empty($v_charset)) && ( $v_charset == 'koi8r')) echo 'selected';?> >koi8r</option>
|
||||
<option value=latin1 <?php if ((!empty($v_charset)) && ( $v_charset == 'latin1')) echo 'selected';?> >latin1</option>
|
||||
<option value=latin2 <?php if ((!empty($v_charset)) && ( $v_charset == 'latin2')) echo 'selected';?> >latin2</option>
|
||||
<option value=swe7 <?php if ((!empty($v_charset)) && ( $v_charset == 'swe7')) echo 'selected';?> >swe7</option>
|
||||
<option value=ascii <?php if ((!empty($v_charset)) && ( $v_charset == 'ascii')) echo 'selected';?> >ascii</option>
|
||||
<option value=ujis <?php if ((!empty($v_charset)) && ( $v_charset == 'ujis')) echo 'selected';?> >ujis</option>
|
||||
<option value=sjis <?php if ((!empty($v_charset)) && ( $v_charset == 'sjis')) echo 'selected';?> >sjis</option>
|
||||
<option value=hebrew <?php if ((!empty($v_charset)) && ( $v_charset == 'hebrew')) echo 'selected';?> >hebrew</option>
|
||||
<option value=tis620 <?php if ((!empty($v_charset)) && ( $v_charset == 'tis620')) echo 'selected';?> >tis620</option>
|
||||
<option value=euckr <?php if ((!empty($v_charset)) && ( $v_charset == 'euckr')) echo 'selected';?> >euckr</option>
|
||||
<option value=koi8u <?php if ((!empty($v_charset)) && ( $v_charset == 'koi8u')) echo 'selected';?> >koi8u</option>
|
||||
<option value=gb2312 <?php if ((!empty($v_charset)) && ( $v_charset == 'gb2312')) echo 'selected';?> >gb2312</option>
|
||||
<option value=greek <?php if ((!empty($v_charset)) && ( $v_charset == 'greek')) echo 'selected';?> >greek</option>
|
||||
<option value=cp1250 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp1250')) echo 'selected';?> >cp1250</option>
|
||||
<option value=gbk <?php if ((!empty($v_charset)) && ( $v_charset == 'gbk')) echo 'selected';?> >gbk</option>
|
||||
<option value=latin5 <?php if ((!empty($v_charset)) && ( $v_charset == 'latin5')) echo 'selected';?> >latin5</option>
|
||||
<option value=armscii8 <?php if ((!empty($v_charset)) && ( $v_charset == 'armscii8')) echo 'selected';?> >armscii8</option>
|
||||
<option value=utf8 <?php if ((!empty($v_charset)) && ( $v_charset == 'utf8')) echo 'selected';?> <?php if (empty($v_charset)) echo 'selected';?> >utf8</option>
|
||||
<option value=ucs2 <?php if ((!empty($v_charset)) && ( $v_charset == 'ucs2')) echo 'selected';?> >ucs2</option>
|
||||
<option value=cp866 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp866')) echo 'selected';?> >cp866</option>
|
||||
<option value=keybcs2 <?php if ((!empty($v_charset)) && ( $v_charset == 'keybcs2')) echo 'selected';?> >keybcs2</option>
|
||||
<option value=macce <?php if ((!empty($v_charset)) && ( $v_charset == 'macce')) echo 'selected';?> >macce</option>
|
||||
<option value=macroman <?php if ((!empty($v_charset)) && ( $v_charset == 'macroman')) echo 'selected';?> >macroman</option>
|
||||
<option value=cp852 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp852')) echo 'selected';?> >cp852</option>
|
||||
<option value=latin7 <?php if ((!empty($v_charset)) && ( $v_charset == 'latin7')) echo 'selected';?> >latin7</option>
|
||||
<option value=cp1251 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp1251')) echo 'selected';?> >cp1251</option>
|
||||
<option value=cp1256 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp1256')) echo 'selected';?> >cp1256</option>
|
||||
<option value=cp1257 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp1257')) echo 'selected';?> >cp1257</option>
|
||||
<option value=binary <?php if ((!empty($v_charset)) && ( $v_charset == 'binary')) echo 'selected';?> >binary</option>
|
||||
<option value=geostd8 <?php if ((!empty($v_charset)) && ( $v_charset == 'geostd8')) echo 'selected';?> >geostd8</option>
|
||||
<option value=cp932 <?php if ((!empty($v_charset)) && ( $v_charset == 'cp932')) echo 'selected';?> >cp932</option>
|
||||
<option value=eucjpms <?php if ((!empty($v_charset)) && ( $v_charset == 'eucjpms')) echo 'selected';?> >eucjpms</option>
|
||||
</select>
|
||||
</td>
|
||||
<tr>
|
||||
<td class="vst-text" style="padding: 10px 0 0 2px;">
|
||||
<?php print _('Send credentials to'); echo $panel[$user]['CONTACT'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="checkbox" size="20" class="vst-checkbox" name="v_notify" <?php if (empty($v_notify)) echo "checked=yes"; ?>>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 24px 0 0 0;">
|
||||
<input type="submit" name="ok" value="<?php print _('Add');?>" class="button">
|
||||
<input type="button" class="button" value="<?php print _('Back');?>" onclick="<?php echo $back ?>">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
|
@ -1,147 +1,146 @@
|
|||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/'"> Add DNS Domain </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get">
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/dns/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>suspend</option>
|
||||
<option>unsuspend</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class="data">
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="domain[]" value="<?php echo "$key" ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="96px"><a href="/list/dns/?domain=<?php echo $key ?>"><img src="/images/more.png" width="8px" height="8px"> list records</a></td>
|
||||
<td class="data-controls" width="92px"><a href="/add/dns/?domain=<?php echo $key ?>"><img src="/images/add.png" width="8px" height="8px"> add record</a></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/dns/?domain=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
|
||||
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
|
||||
<a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="do_<?php echo $spnd_action ?>"> <?php echo $spnd_action ?></a>
|
||||
<input type="hidden" name="<?php echo $spnd_action ?>_url" value="/<?php echo $spnd_action ?>/dns/?domain=<?php echo $key ?>" />
|
||||
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <b><?php echo "$key" ?></b> domain?</p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/dns/?domain=<?php echo $key ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <b><?php echo "$key" ?></b> domain?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="data-col2" width="830px">
|
||||
<tr>
|
||||
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
||||
<b><?php echo $key ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 2px 0 0 2px;">
|
||||
<?php echo $data[$key]['IP'] ?>
|
||||
</td>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 0 0 20px 2px">
|
||||
[<?php echo $data[$key]['TPL'] ?>] template
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="250">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">SOA:</td>
|
||||
<td class="counter-value"><?php echo $data[$key]['SOA'] ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">TTL:</td>
|
||||
<td class="counter-value"><?php echo $data[$key]['TTL'] ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">Expire:</td>
|
||||
<td class="counter-value"><?php echo date("Y M d", strtotime($data[$key]['EXP'])) ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">Records:</td>
|
||||
<td class="counter-value"><?php echo $data[$key]['RECORDS'] ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px"></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 user dns domain ";
|
||||
} else {
|
||||
echo "$i dns domains ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/'"> Add DNS Domain </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get">
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/dns/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>suspend</option>
|
||||
<option>unsuspend</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class="data">
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="domain[]" value="<?php echo "$key" ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="108px"><a href="/list/dns/?domain=<?php echo $key ?>"><img src="/images/more.png" width="8px" height="8px"> list <?php echo $data[$key]['RECORDS'] ?> records</a></td>
|
||||
<td class="data-controls" width="92px"><a href="/add/dns/?domain=<?php echo $key ?>"><img src="/images/add.png" width="8px" height="8px"> add record</a></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/dns/?domain=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
|
||||
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
|
||||
<a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="do_<?php echo $spnd_action ?>"> <?php echo $spnd_action ?></a>
|
||||
<input type="hidden" name="<?php echo $spnd_action ?>_url" value="/<?php echo $spnd_action ?>/dns/?domain=<?php echo $key ?>" />
|
||||
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <b><?php echo "$key" ?></b> domain?</p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/dns/?domain=<?php echo $key ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <b><?php echo "$key" ?></b> domain?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="data-col2" width="830px">
|
||||
<tr>
|
||||
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
||||
<b><?php echo $key ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 2px 0 0 2px;">
|
||||
<?php echo $data[$key]['IP'] ?>
|
||||
</td>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 0 0 20px 2px">
|
||||
[<?php echo $data[$key]['TPL'] ?>] template
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="250">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">SOA:</td>
|
||||
<td class="counter-value"><?php echo $data[$key]['SOA'] ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">TTL:</td>
|
||||
<td class="counter-value"><?php echo $data[$key]['TTL'] ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">Expire:</td>
|
||||
<td class="counter-value"><?php echo date("Y M d", strtotime($data[$key]['EXP'])) ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">Records:</td>
|
||||
<td class="counter-value"><?php echo $data[$key]['RECORDS'] ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px"></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 user dns domain ";
|
||||
} else {
|
||||
echo "$i dns domains ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
|
@ -1,107 +1,115 @@
|
|||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/?domain=<?php echo $_GET['domain'] ?>'"> Add DNS Record </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get">
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/dns/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>suspend</option>
|
||||
<option>unsuspend</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class="data">
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="record[]" value="<?php echo $data[$key]['ID']?>" > <input type="hidden" name="domain" value="<?php echo $_GET['domain'] ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
|
||||
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
|
||||
<a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="do_<?php echo $spnd_action ?>"> <?php echo $spnd_action ?></a>
|
||||
<input type="hidden" name="<?php echo $spnd_action ?>_url" value="/<?php echo $spnd_action ?>/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>" />
|
||||
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <span style="color: #34536A;"><b><?php echo $data[$key]['RECORD'] ?></b></span> record?</p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <span style="color: #34536A;"><b><?php echo $data[$key]['RECORD'] ?></b></span> record?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="data-col5" width="780px">
|
||||
<tr>
|
||||
<td class="log" style="padding: 0 0 0 4px;" width="200"><b><?php echo $data[$key]['RECORD'] ?></b></td>
|
||||
<td class="log-counter-value" width="80"><?php echo $data[$key]['TYPE'] ?></td>
|
||||
<td class="log-counter-value" width="80"><?php echo $data[$key]['PRIORITY'] ?></td>
|
||||
<td class="log-counter-value" ><?php echo $data[$key]['VALUE'] ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px">
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 dns record ";
|
||||
} else {
|
||||
echo "$i dns records ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/?domain=<?php echo $_GET['domain'] ?>'"> Add DNS Record </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get">
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/dns/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>suspend</option>
|
||||
<option>unsuspend</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<div style="height:10px; font-size:0;"></div>
|
||||
<table class="data" style="background: #ebe9dc;">
|
||||
<tr>
|
||||
<td style="padding: 8px 2px 8px 0;">
|
||||
<a class="name" style="color: #555; font-size: 10pt;"><b>Listing <?php echo $_GET['domain'] ?></b></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div style="height:10px; font-size:0;"></div>
|
||||
<table class="data">
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="record[]" value="<?php echo $data[$key]['ID']?>" > <input type="hidden" name="domain" value="<?php echo $_GET['domain'] ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
|
||||
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
|
||||
<a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="do_<?php echo $spnd_action ?>"> <?php echo $spnd_action ?></a>
|
||||
<input type="hidden" name="<?php echo $spnd_action ?>_url" value="/<?php echo $spnd_action ?>/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>" />
|
||||
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <span style="color: #34536A;"><b><?php echo $data[$key]['RECORD'] ?></b></span> record?</p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <span style="color: #34536A;"><b><?php echo $data[$key]['RECORD'] ?></b></span> record?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="data-col5" width="780px">
|
||||
<tr>
|
||||
<td class="log" style="padding: 0 0 0 4px;" width="200"><b><?php echo $data[$key]['RECORD'] ?></b></td>
|
||||
<td class="log-counter-value" width="80"><?php echo $data[$key]['TYPE'] ?></td>
|
||||
<td class="log-counter-value" width="80"><?php echo $data[$key]['PRIORITY'] ?></td>
|
||||
<td class="log-counter-value" ><?php echo $data[$key]['VALUE'] ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px">
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 dns record ";
|
||||
} else {
|
||||
echo "$i dns records ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
|
@ -1,173 +1,173 @@
|
|||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/'"> Add Mail Domain </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get" >
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/mail/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>suspend</option>
|
||||
<option>unsuspend</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class="data">
|
||||
<?php
|
||||
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"]);
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
if (empty($data[$key]['CATCHALL'])) {
|
||||
$data[$key]['CATCHALL'] = '/dev/null';
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="domain[]" value="<?php echo "$key" ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="100px"><a href="?domain=<?php echo $key ?>"><img src="/images/more.png" width="8px" height="8px"> list accounts</a></td>
|
||||
<td class="data-controls" width="98px"><a href="/add/mail/?domain=<?php echo $key ?>"><img src="/images/add.png" width="8px" height="8px"> add account</a></td>
|
||||
<td class="data-controls" width="104px"><a href="<?php echo "http://".$http_host."/webmail/"; ?>" target="_blank"><img src="/images/new_window.png" width="8px" height="8px"> open webmail</a></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/mail/?domain=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
|
||||
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
|
||||
<a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="do_<?php echo $spnd_action ?>"> <?php echo $spnd_action ?></a>
|
||||
<input type="hidden" name="<?php echo $spnd_action ?>_url" value="/<?php echo $spnd_action ?>/mail/?domain=<?php echo $key ?>" />
|
||||
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <b><?php echo "$key" ?></b> domain?</p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/mail/?domain=<?php echo $key ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <b><?php echo "$key" ?></b> domain?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="data-col2" width="830px">
|
||||
<tr>
|
||||
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
||||
<b><?php echo $key ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 2px 0 2px 0">
|
||||
catchall > <?php echo $data[$key]['CATCHALL'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="chart1">
|
||||
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
||||
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
||||
<div style="width:<?php echo get_percentage($data[$key]['U_DISK'],$panel[$user]['DISK_QUOTA']) ?>%; height:6px; background-color:#9bbb62; border-right:1px #9bbb62 solid;"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="250">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Antivirus:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['ANTIVIRUS'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Antispam:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['ANTISPAM'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
DKIM:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['DKIM'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Accounts:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['ACCOUNTS'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px"></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 mail domain ";
|
||||
} else {
|
||||
echo "$i mail domains ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/'"> Add Mail Domain </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get" >
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/mail/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>suspend</option>
|
||||
<option>unsuspend</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class="data">
|
||||
<?php
|
||||
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"]);
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
if (empty($data[$key]['CATCHALL'])) {
|
||||
$data[$key]['CATCHALL'] = '/dev/null';
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="domain[]" value="<?php echo "$key" ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="112px"><a href="?domain=<?php echo $key ?>"><img src="/images/more.png" width="8px" height="8px"> list <?php echo $data[$key]['ACCOUNTS'] ?> accounts</a></td>
|
||||
<td class="data-controls" width="98px"><a href="/add/mail/?domain=<?php echo $key ?>"><img src="/images/add.png" width="8px" height="8px"> add account</a></td>
|
||||
<td class="data-controls" width="104px"><a href="<?php echo "http://".$http_host."/webmail/"; ?>" target="_blank"><img src="/images/new_window.png" width="8px" height="8px"> open webmail</a></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/mail/?domain=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
|
||||
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
|
||||
<a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="do_<?php echo $spnd_action ?>"> <?php echo $spnd_action ?></a>
|
||||
<input type="hidden" name="<?php echo $spnd_action ?>_url" value="/<?php echo $spnd_action ?>/mail/?domain=<?php echo $key ?>" />
|
||||
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <b><?php echo "$key" ?></b> domain?</p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/mail/?domain=<?php echo $key ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <b><?php echo "$key" ?></b> domain?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="data-col2" width="830px">
|
||||
<tr>
|
||||
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
||||
<b><?php echo $key ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 2px 0 2px 0">
|
||||
catchall > <?php echo $data[$key]['CATCHALL'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="chart1">
|
||||
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
||||
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
||||
<div style="width:<?php echo get_percentage($data[$key]['U_DISK'],$panel[$user]['DISK_QUOTA']) ?>%; height:6px; background-color:#9bbb62; border-right:1px #9bbb62 solid;"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="250">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Antivirus:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['ANTIVIRUS'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Antispam:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['ANTISPAM'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
DKIM:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['DKIM'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Accounts:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['ACCOUNTS'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px"></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 mail domain ";
|
||||
} else {
|
||||
echo "$i mail domains ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
|
@ -1,155 +1,162 @@
|
|||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/?domain=<?php echo $_GET['domain'] ?>'"> Add Mail Account </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get">
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/mail/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>suspend</option>
|
||||
<option>unsuspend</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class="data">
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend';
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="account[]" value="<?php echo $key?>" ><input type="hidden" name="domain" value="<?php echo $_GET['domain'] ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
|
||||
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
|
||||
<a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="do_<?php echo $spnd_action ?>"> <?php echo $spnd_action ?></a>
|
||||
<input type="hidden" name="<?php echo $spnd_action ?>_url" value="/<?php echo $spnd_action ?>/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>" />
|
||||
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <b><?php echo $key ?></b> account?</p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <b><?php echo $key ?></b> account?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="data-col2" width="830px">
|
||||
<tr><td colspan=3 class="domain" style="padding: 0 0 0 4px;"><b><?php echo $key."@".$_GET['domain'] ?></b> <a class="aliases" style="padding: 0 20px 0 4px"><?php echo str_replace(',', ', ', $data[$key]['ALIAS']) ?></a></td></tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 4px 0 0 0;">
|
||||
<?php echo $data[$key]['IP'] ?>
|
||||
</td>
|
||||
<tr>
|
||||
<td class="chart1" style="padding: 0 0 2px 0">
|
||||
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
||||
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
||||
<div style="width:<?php echo get_percentage($data[$key]['U_DISK'],$data[$key]['QUOTA']) ?>%; height:6px; background-color:#9bbb62; border-right:1px #9bbb62 solid;"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="200">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Quota:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['QUOTA'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Autoreply:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['AUTOREPLY'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan=4 style="vertical-align:top;" width="350">
|
||||
<table width="350">
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Forward:
|
||||
</td>
|
||||
<td class="counter-value" style="padding: 0 0 0 8px;" >
|
||||
<?php echo str_replace(',', ', ', $data[$key]['FWD']) ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px"></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 mail account ";
|
||||
} else {
|
||||
echo "$i mail accounts ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/?domain=<?php echo $_GET['domain'] ?>'"> Add Mail Account </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get">
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/mail/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>suspend</option>
|
||||
<option>unsuspend</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<div style="height:10px; font-size:0;"></div>
|
||||
<table class="data" style="background: #ebe9dc;">
|
||||
<tr>
|
||||
<td style="padding: 8px 2px 8px 0;">
|
||||
<a class="name" style="color: #555; font-size: 10pt;"><b>Listing <?php echo $_GET['domain'] ?></b></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div style="height:10px; font-size:0;"></div>
|
||||
<table class="data">
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend';
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="account[]" value="<?php echo $key?>" ><input type="hidden" name="domain" value="<?php echo $_GET['domain'] ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
|
||||
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
|
||||
<a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="do_<?php echo $spnd_action ?>"> <?php echo $spnd_action ?></a>
|
||||
<input type="hidden" name="<?php echo $spnd_action ?>_url" value="/<?php echo $spnd_action ?>/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>" />
|
||||
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <b><?php echo $key ?></b> account?</p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <b><?php echo $key ?></b> account?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="data-col2" width="830px">
|
||||
<tr><td colspan=3 class="domain" style="padding: 0 0 0 4px;"><b><?php echo $key."@".$_GET['domain'] ?></b> <a class="aliases" style="padding: 0 20px 0 4px"><?php echo str_replace(',', ', ', $data[$key]['ALIAS']) ?></a></td></tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 4px 0 0 0;">
|
||||
<?php echo $data[$key]['IP'] ?>
|
||||
</td>
|
||||
<tr>
|
||||
<td class="chart1" style="padding: 0 0 2px 0">
|
||||
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
||||
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
||||
<div style="width:<?php echo get_percentage($data[$key]['U_DISK'],$data[$key]['QUOTA']) ?>%; height:6px; background-color:#9bbb62; border-right:1px #9bbb62 solid;"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="200">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Quota:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['QUOTA'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Autoreply:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['AUTOREPLY'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan=4 style="vertical-align:top;" width="350">
|
||||
<table width="350">
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Forward:
|
||||
</td>
|
||||
<td class="counter-value" style="padding: 0 0 0 8px;" >
|
||||
<?php echo str_replace(',', ', ', $data[$key]['FWD']) ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px"></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 mail account ";
|
||||
} else {
|
||||
echo "$i mail accounts ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
File diff suppressed because it is too large
Load diff
|
@ -1,137 +1,136 @@
|
|||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/'"> Add DNS Domain </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get" >
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/dns/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class="data">
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="domain[]" value="<?php echo "$key" ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="96px"><a href="/list/dns/?domain=<?php echo $key ?>"><img src="/images/more.png" width="8px" height="8px"> list records</a></td>
|
||||
<td class="data-controls" width="92px"><a href="/add/dns/?domain=<?php echo $key ?>"><img src="/images/add.png" width="8px" height="8px"> add record</a></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/dns/?domain=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/dns/?domain=<?php echo $key ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <b><?php echo "$key" ?></b> domain?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="data-col2" width="830px">
|
||||
<tr>
|
||||
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
||||
<b><?php echo $key ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 2px 0 0 2px;">
|
||||
<?php echo $data[$key]['IP'] ?>
|
||||
</td>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 0 0 20px 2px">
|
||||
[<?php echo $data[$key]['TPL'] ?>] template
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="250">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">SOA:</td>
|
||||
<td class="counter-value"><?php echo $data[$key]['SOA'] ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">TTL:</td>
|
||||
<td class="counter-value"><?php echo $data[$key]['TTL'] ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">Expire:</td>
|
||||
<td class="counter-value"><?php echo date("Y M d", strtotime($data[$key]['EXP'])) ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">Records:</td>
|
||||
<td class="counter-value"><?php echo $data[$key]['RECORDS'] ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px"></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 user dns domain ";
|
||||
} else {
|
||||
echo "$i dns domains ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/'"> Add DNS Domain </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get" >
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/dns/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class="data">
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="domain[]" value="<?php echo "$key" ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="108px"><a href="/list/dns/?domain=<?php echo $key ?>"><img src="/images/more.png" width="8px" height="8px"> list <?php echo $data[$key]['RECORDS'] ?> records</a></td>
|
||||
<td class="data-controls" width="92px"><a href="/add/dns/?domain=<?php echo $key ?>"><img src="/images/add.png" width="8px" height="8px"> add record</a></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/dns/?domain=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/dns/?domain=<?php echo $key ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <b><?php echo "$key" ?></b> domain?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="data-col2" width="830px">
|
||||
<tr>
|
||||
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
||||
<b><?php echo $key ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 2px 0 0 2px;">
|
||||
<?php echo $data[$key]['IP'] ?>
|
||||
</td>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 0 0 20px 2px">
|
||||
[<?php echo $data[$key]['TPL'] ?>] template
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="250">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">SOA:</td>
|
||||
<td class="counter-value"><?php echo $data[$key]['SOA'] ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">TTL:</td>
|
||||
<td class="counter-value"><?php echo $data[$key]['TTL'] ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">Expire:</td>
|
||||
<td class="counter-value"><?php echo date("Y M d", strtotime($data[$key]['EXP'])) ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">Records:</td>
|
||||
<td class="counter-value"><?php echo $data[$key]['RECORDS'] ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px"></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 user dns domain ";
|
||||
} else {
|
||||
echo "$i dns domains ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
|
@ -1,98 +1,105 @@
|
|||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/?domain=<?php echo $_GET['domain'] ?>'"> Add DNS Record </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get">
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/dns/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class="data">
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="record[]" value="<?php echo $data[$key]['ID']?>" ><input type="hidden" name="domain" value="<?php echo $_GET['domain'] ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <span style="color: #34536A;"><b><?php echo $data[$key]['RECORD'] ?></b></span> record?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="data-col5" width="780px">
|
||||
<tr>
|
||||
<td class="log" style="padding: 0 0 0 4px;" width="200"><b><?php echo $data[$key]['RECORD'] ?></b></td>
|
||||
<td class="log-counter-value" width="80"><?php echo $data[$key]['TYPE'] ?></td>
|
||||
<td class="log-counter-value" width="80"><?php echo $data[$key]['PRIORITY'] ?></td>
|
||||
<td class="log-counter-value" ><?php echo $data[$key]['VALUE'] ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px">
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 dns record ";
|
||||
} else {
|
||||
echo "$i dns records ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/?domain=<?php echo $_GET['domain'] ?>'"> Add DNS Record </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get">
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/dns/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<div style="height:10px; font-size:0;"></div>
|
||||
<table class="data" style="background: #ebe9dc;">
|
||||
<tr>
|
||||
<td style="padding: 8px 2px 8px 0;">
|
||||
<a class="name" style="color: #555; font-size: 10pt;"><b>Listing <?php echo $_GET['domain'] ?></b></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div style="height:10px; font-size:0;"></div>
|
||||
<table class="data">
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="record[]" value="<?php echo $data[$key]['ID']?>" ><input type="hidden" name="domain" value="<?php echo $_GET['domain'] ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <span style="color: #34536A;"><b><?php echo $data[$key]['RECORD'] ?></b></span> record?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="data-col5" width="780px">
|
||||
<tr>
|
||||
<td class="log" style="padding: 0 0 0 4px;" width="200"><b><?php echo $data[$key]['RECORD'] ?></b></td>
|
||||
<td class="log-counter-value" width="80"><?php echo $data[$key]['TYPE'] ?></td>
|
||||
<td class="log-counter-value" width="80"><?php echo $data[$key]['PRIORITY'] ?></td>
|
||||
<td class="log-counter-value" ><?php echo $data[$key]['VALUE'] ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px">
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 dns record ";
|
||||
} else {
|
||||
echo "$i dns records ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
|
@ -1,164 +1,163 @@
|
|||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/'"> Add Mail Domain </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get" >
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/mail/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class="data">
|
||||
<?php
|
||||
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"]);
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
if (empty($data[$key]['CATCHALL'])) {
|
||||
$data[$key]['CATCHALL'] = '/dev/null';
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="domain[]" value="<?php echo "$key" ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="100px"><a href="?domain=<?php echo $key ?>"><img src="/images/more.png" width="8px" height="8px"> list accounts</a></td>
|
||||
<td class="data-controls" width="98px"><a href="/add/mail/?domain=<?php echo $key ?>"><img src="/images/add.png" width="8px" height="8px"> add account</a></td>
|
||||
<td class="data-controls" width="104px"><a href="<?php echo "http://".$http_host."/webmail/"; ?>" target="_blank"><img src="/images/new_window.png" width="8px" height="8px"> open webmail</a></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/mail/?domain=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/mail/?domain=<?php echo $key ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <b><?php echo "$key" ?></b> domain?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="data-col2" width="830px">
|
||||
<tr>
|
||||
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
||||
<b><?php echo $key ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 2px 0 2px 0">
|
||||
catchall > <?php echo $data[$key]['CATCHALL'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="chart1">
|
||||
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
||||
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
||||
<div style="width:<?php echo get_percentage($data[$key]['U_DISK'],$panel[$user]['DISK_QUOTA']) ?>%; height:6px; background-color:#9bbb62; border-right:1px #9bbb62 solid;"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="250">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Antivirus:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['ANTIVIRUS'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Antispam:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['ANTISPAM'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
DKIM:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['DKIM'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Accounts:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['ACCOUNTS'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px"></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 mail domain ";
|
||||
} else {
|
||||
echo "$i mail domains ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/'"> Add Mail Domain </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get" >
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/mail/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class="data">
|
||||
<?php
|
||||
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"]);
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
if (empty($data[$key]['CATCHALL'])) {
|
||||
$data[$key]['CATCHALL'] = '/dev/null';
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="domain[]" value="<?php echo "$key" ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="112px"><a href="?domain=<?php echo $key ?>"><img src="/images/more.png" width="8px" height="8px"> list <?php echo $data[$key]['ACCOUNTS'] ?> accounts</a></td>
|
||||
<td class="data-controls" width="98px"><a href="/add/mail/?domain=<?php echo $key ?>"><img src="/images/add.png" width="8px" height="8px"> add account</a></td>
|
||||
<td class="data-controls" width="104px"><a href="<?php echo "http://".$http_host."/webmail/"; ?>" target="_blank"><img src="/images/new_window.png" width="8px" height="8px"> open webmail</a></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/mail/?domain=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/mail/?domain=<?php echo $key ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <b><?php echo "$key" ?></b> domain?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="data-col2" width="830px">
|
||||
<tr>
|
||||
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
||||
<b><?php echo $key ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 2px 0 2px 0">
|
||||
catchall > <?php echo $data[$key]['CATCHALL'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="chart1">
|
||||
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
||||
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
||||
<div style="width:<?php echo get_percentage($data[$key]['U_DISK'],$panel[$user]['DISK_QUOTA']) ?>%; height:6px; background-color:#9bbb62; border-right:1px #9bbb62 solid;"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="250">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Antivirus:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['ANTIVIRUS'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Antispam:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['ANTISPAM'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
DKIM:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['DKIM'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Accounts:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['ACCOUNTS'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px"></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 mail domain ";
|
||||
} else {
|
||||
echo "$i mail domains ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
|
@ -1,145 +1,152 @@
|
|||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/?domain=<?php echo $_GET['domain'] ?>'"> Add Mail Account </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get">
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/mail/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class="data">
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend';
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="account[]" value="<?php echo $key?>" ><input type="hidden" name="domain" value="<?php echo $_GET['domain'] ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <b><?php echo $key ?></b> account?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="data-col2" width="830px">
|
||||
<tr><td colspan=3 class="domain" style="padding: 0 0 0 4px;"><b><?php echo $key."@".$_GET['domain'] ?></b> <a class="aliases" style="padding: 0 20px 0 4px"><?php echo str_replace(',', ', ', $data[$key]['ALIAS']) ?></a></td></tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 4px 0 0 0;">
|
||||
<?php echo $data[$key]['IP'] ?>
|
||||
</td>
|
||||
<tr>
|
||||
<td class="chart1" style="padding: 0 0 2px 0">
|
||||
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
||||
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
||||
<div style="width:<?php echo get_percentage($data[$key]['U_DISK'],$data[$key]['QUOTA']) ?>%; height:6px; background-color:#9bbb62; border-right:1px #9bbb62 solid;"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="200">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Quota:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['QUOTA'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Autoreply:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['AUTOREPLY'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan=4 style="vertical-align:top;" width="350">
|
||||
<table width="350">
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Forward:
|
||||
</td>
|
||||
<td class="counter-value" style="padding: 0 0 0 8px;" >
|
||||
<?php echo str_replace(',', ', ', $data[$key]['FWD']) ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px"></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 mail account ";
|
||||
} else {
|
||||
echo "$i mail accounts ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="float:left">
|
||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/?domain=<?php echo $_GET['domain'] ?>'"> Add Mail Account </button>
|
||||
</div>
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get">
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 26px;">
|
||||
<form action="/bulk/mail/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<div style="height:10px; font-size:0;"></div>
|
||||
<table class="data" style="background: #ebe9dc;">
|
||||
<tr>
|
||||
<td style="padding: 8px 2px 8px 0;">
|
||||
<a class="name" style="color: #555; font-size: 10pt;"><b>Listing <?php echo $_GET['domain'] ?></b></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div style="height:10px; font-size:0;"></div>
|
||||
<table class="data">
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||
$status = 'suspended';
|
||||
$spnd_action = 'unsuspend' ;
|
||||
} else {
|
||||
$status = 'active';
|
||||
$spnd_action = 'suspend';
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="account[]" value="<?php echo $key?>" ><input type="hidden" name="domain" value="<?php echo $_GET['domain'] ?>" ></td></tr>
|
||||
<tr><td><a class="data-date" title="<?php echo $data[$key]['DATE']." ".$data[$key]['TIME'] ?>"><?php echo date("d M Y", strtotime($data[$key]['DATE'])) ?></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="50px"><a href="/edit/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>"><img src="/images/edit.png" width="8px" height="8px"> edit</a></td>
|
||||
<td class="data-controls do_delete" width="70px">
|
||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||
<input type="hidden" name="delete_url" value="/delete/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>" />
|
||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||
<p class="counter-value">Are you sure you want to delete <b><?php echo $key ?></b> account?</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="data-col2" width="830px">
|
||||
<tr><td colspan=3 class="domain" style="padding: 0 0 0 4px;"><b><?php echo $key."@".$_GET['domain'] ?></b> <a class="aliases" style="padding: 0 20px 0 4px"><?php echo str_replace(',', ', ', $data[$key]['ALIAS']) ?></a></td></tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 4px 0 0 0;">
|
||||
<?php echo $data[$key]['IP'] ?>
|
||||
</td>
|
||||
<tr>
|
||||
<td class="chart1" style="padding: 0 0 2px 0">
|
||||
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
||||
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
||||
<div style="width:<?php echo get_percentage($data[$key]['U_DISK'],$data[$key]['QUOTA']) ?>%; height:6px; background-color:#9bbb62; border-right:1px #9bbb62 solid;"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="200">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Quota:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['QUOTA'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Autoreply:
|
||||
</td>
|
||||
<td class="counter-value">
|
||||
<?php echo $data[$key]['AUTOREPLY'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan=4 style="vertical-align:top;" width="350">
|
||||
<table width="350">
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Forward:
|
||||
</td>
|
||||
<td class="counter-value" style="padding: 0 0 0 8px;" >
|
||||
<?php echo str_replace(',', ', ', $data[$key]['FWD']) ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<table class="data-count">
|
||||
<tr>
|
||||
<td width="160px"></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $i == 1) {
|
||||
echo "1 mail account ";
|
||||
} else {
|
||||
echo "$i mail accounts ";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
Loading…
Add table
Add a link
Reference in a new issue