mirror of
https://github.com/serghey-rodin/vesta.git
synced 2025-08-19 04:50:46 -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
|
#!/bin/bash
|
||||||
# info: add dns domain or dns record based on web domain alias restart
|
# info: add dns domain or dns record based on web domain alias restart
|
||||||
# options: USER DOMAIN
|
# options: USER DOMAIN
|
||||||
|
@ -78,3 +79,92 @@ fi
|
||||||
# No Logging
|
# No Logging
|
||||||
|
|
||||||
exit
|
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
|
#!/bin/bash
|
||||||
# info: add ftp account for web domain.
|
# info: add ftp account for web domain.
|
||||||
# options: USER DOMAIN FTP_USER FTP_PASSWORD
|
# options: USER DOMAIN FTP_USER FTP_PASSWORD
|
||||||
|
@ -69,3 +70,82 @@ log_history "added ftp account $ftp_user for $domain"
|
||||||
log_event "$OK" "$EVENT"
|
log_event "$OK" "$EVENT"
|
||||||
|
|
||||||
exit
|
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
|
#!/bin/bash
|
||||||
# info: rebuild dns domains
|
# info: rebuild dns domains
|
||||||
# options: USER [RESTART]
|
# options: USER [RESTART]
|
||||||
|
@ -310,3 +311,317 @@ fi
|
||||||
log_event "$OK" "$EVENT"
|
log_event "$OK" "$EVENT"
|
||||||
|
|
||||||
exit
|
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
|
#!/bin/bash
|
||||||
# info: update user statistics
|
# info: update user statistics
|
||||||
# options: USER
|
# options: USER
|
||||||
|
@ -167,3 +168,174 @@ fi
|
||||||
log_event "$OK" "$EVENT"
|
log_event "$OK" "$EVENT"
|
||||||
|
|
||||||
exit
|
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
|
SPAMASSASSIN = yes
|
||||||
SPAM_SCORE = 10
|
SPAM_SCORE = 10
|
||||||
CLAMD = yes
|
CLAMD = yes
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
||||||
domainlist local_domains = dsearch;/etc/exim/domains/
|
domainlist local_domains = dsearch;/etc/exim/domains/
|
||||||
domainlist relay_to_domains = dsearch;/etc/exim/domains/
|
domainlist relay_to_domains = dsearch;/etc/exim/domains/
|
||||||
hostlist relay_from_hosts = 127.0.0.1
|
hostlist relay_from_hosts = 127.0.0.1
|
||||||
hostlist spammers = net-iplsearch;/etc/exim/spam-blocks.conf
|
hostlist spammers = net-iplsearch;/etc/exim/spam-blocks.conf
|
||||||
|
|
||||||
acl_smtp_connect = acl_check_spammers
|
acl_smtp_connect = acl_check_spammers
|
||||||
acl_smtp_mail = acl_check_mail
|
acl_smtp_mail = acl_check_mail
|
||||||
acl_smtp_rcpt = acl_check_rcpt
|
acl_smtp_rcpt = acl_check_rcpt
|
||||||
acl_smtp_data = acl_check_data
|
acl_smtp_data = acl_check_data
|
||||||
acl_smtp_mime = acl_check_mime
|
acl_smtp_mime = acl_check_mime
|
||||||
|
|
||||||
.ifdef SPAMASSASSIN
|
.ifdef SPAMASSASSIN
|
||||||
spamd_address = 127.0.0.1 783
|
spamd_address = 127.0.0.1 783
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.ifdef CLAMD
|
.ifdef CLAMD
|
||||||
av_scanner = clamd: /var/run/clamav/clamd.sock
|
av_scanner = clamd: /var/run/clamav/clamd.sock
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
tls_advertise_hosts = *
|
tls_advertise_hosts = *
|
||||||
tls_certificate = /etc/pki/tls/certs/exim.pem
|
tls_certificate = /etc/pki/tls/certs/exim.pem
|
||||||
tls_privatekey = /etc/pki/tls/private/exim.pem
|
tls_privatekey = /etc/pki/tls/private/exim.pem
|
||||||
|
|
||||||
daemon_smtp_ports = 25 : 465 : 587 : 2525
|
daemon_smtp_ports = 25 : 465 : 587 : 2525
|
||||||
tls_on_connect_ports = 465
|
tls_on_connect_ports = 465
|
||||||
never_users = root
|
never_users = root
|
||||||
host_lookup = *
|
host_lookup = *
|
||||||
rfc1413_hosts = *
|
rfc1413_hosts = *
|
||||||
rfc1413_query_timeout = 5s
|
rfc1413_query_timeout = 5s
|
||||||
ignore_bounce_errors_after = 2d
|
ignore_bounce_errors_after = 2d
|
||||||
timeout_frozen_after = 7d
|
timeout_frozen_after = 7d
|
||||||
|
|
||||||
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
|
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
|
||||||
DKIM_FILE = /etc/exim/domains/${lc:${domain:$h_from:}}/dkim.pem
|
DKIM_FILE = /etc/exim/domains/${lc:${domain:$h_from:}}/dkim.pem
|
||||||
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}
|
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}
|
||||||
|
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
begin acl
|
begin acl
|
||||||
##########################################################################
|
##########################################################################
|
||||||
acl_check_spammers:
|
acl_check_spammers:
|
||||||
drop message = Your host in blacklist on this server.
|
drop message = Your host in blacklist on this server.
|
||||||
log_message = Host in blacklist
|
log_message = Host in blacklist
|
||||||
hosts = +spammers
|
hosts = +spammers
|
||||||
deny message = rejected because $sender_host_address is in a black list at $dnslist_domain\\n$dnslist_text
|
deny message = rejected because $sender_host_address is in a black list at $dnslist_domain\\n$dnslist_text
|
||||||
dnslists = ${readfile {/etc/exim/dnsbl.conf}{:}}
|
dnslists = ${readfile {/etc/exim/dnsbl.conf}{:}}
|
||||||
accept
|
accept
|
||||||
|
|
||||||
acl_check_mail:
|
acl_check_mail:
|
||||||
deny
|
deny
|
||||||
condition = ${if eq{$sender_helo_name}{}}
|
condition = ${if eq{$sender_helo_name}{}}
|
||||||
message = HELO required before MAIL
|
message = HELO required before MAIL
|
||||||
drop
|
# drop
|
||||||
condition = ${if isip{$sender_helo_name}}
|
# condition = ${if isip{$sender_helo_name}}
|
||||||
message = Access denied - Invalid HELO name (See RFC2821 4.1.3)
|
# 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
|
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{$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}}
|
condition = ${if match {${lookup dnsdb{>: defer_never,ptr=$sender_host_address}}\}{$sender_helo_name}{no}{yes}}
|
||||||
delay = 45s
|
delay = 45s
|
||||||
# drop
|
# drop
|
||||||
# condition = ${if match{$sender_helo_name}{\N^\[\N}{no}{yes}}
|
# condition = ${if match{$sender_helo_name}{\N^\[\N}{no}{yes}}
|
||||||
# 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)
|
# message = Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
|
||||||
drop
|
drop
|
||||||
condition = ${if isip{$sender_helo_name}}
|
condition = ${if isip{$sender_helo_name}}
|
||||||
message = Access denied - Invalid HELO name (See RFC2821 4.1.3)
|
message = Access denied - Invalid HELO name (See RFC2821 4.1.3)
|
||||||
drop
|
# drop
|
||||||
condition = ${if match{$sender_helo_name}{\N\.$\N}}
|
# condition = ${if match{$sender_helo_name}{\N\.$\N}}
|
||||||
message = Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
|
# message = Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
|
||||||
drop message = "REJECTED - Bad HELO - Host impersonating [$sender_helo_name]"
|
# drop message = "REJECTED - Bad HELO - Host impersonating [$sender_helo_name]"
|
||||||
condition = ${if match{$sender_helo_name}{$primary_hostname}}
|
# condition = ${if match{$sender_helo_name}{$primary_hostname}}
|
||||||
drop condition = ${if eq{[$interface_address]}{$sender_helo_name}}
|
drop condition = ${if eq{[$interface_address]}{$sender_helo_name}}
|
||||||
message = $interface_address is _my_ address
|
message = $interface_address is _my_ address
|
||||||
accept
|
accept
|
||||||
|
|
||||||
|
|
||||||
acl_check_rcpt:
|
acl_check_rcpt:
|
||||||
accept hosts = :
|
accept hosts = :
|
||||||
|
|
||||||
deny message = Restricted characters in address
|
deny message = Restricted characters in address
|
||||||
domains = +local_domains
|
domains = +local_domains
|
||||||
local_parts = ^[.] : ^.*[@%!/|]
|
local_parts = ^[.] : ^.*[@%!/|]
|
||||||
|
|
||||||
deny message = Restricted characters in address
|
deny message = Restricted characters in address
|
||||||
domains = !+local_domains
|
domains = !+local_domains
|
||||||
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
|
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
|
||||||
|
|
||||||
require verify = sender
|
require verify = sender
|
||||||
|
|
||||||
accept hosts = +relay_from_hosts
|
accept hosts = +relay_from_hosts
|
||||||
control = submission
|
control = submission
|
||||||
|
|
||||||
accept local_parts = postmaster
|
accept local_parts = postmaster
|
||||||
domains = +local_domains
|
domains = +local_domains
|
||||||
|
|
||||||
accept authenticated = *
|
accept authenticated = *
|
||||||
control = submission/domain=
|
control = submission/domain=
|
||||||
|
|
||||||
require message = relay not permitted
|
require message = relay not permitted
|
||||||
domains = +local_domains : +relay_to_domains
|
domains = +local_domains : +relay_to_domains
|
||||||
|
|
||||||
deny message = smtp auth requried
|
deny message = smtp auth requried
|
||||||
sender_domains = +local_domains
|
sender_domains = +local_domains
|
||||||
!authenticated = *
|
!authenticated = *
|
||||||
|
|
||||||
require verify = recipient
|
require verify = recipient
|
||||||
|
|
||||||
.ifdef CLAMD
|
.ifdef CLAMD
|
||||||
warn set acl_m0 = no
|
warn set acl_m0 = no
|
||||||
warn condition = ${if exists {/etc/exim/domains/$domain/antivirus}{yes}{no}}
|
warn condition = ${if exists {/etc/exim/domains/$domain/antivirus}{yes}{no}}
|
||||||
set acl_m0 = yes
|
set acl_m0 = yes
|
||||||
.endif
|
.endif
|
||||||
.ifdef SPAMASSASSIN
|
.ifdef SPAMASSASSIN
|
||||||
warn set acl_m1 = no
|
warn set acl_m1 = no
|
||||||
warn condition = ${if exists {/etc/exim/domains/$domain/antispam}{yes}{no}}
|
warn condition = ${if exists {/etc/exim/domains/$domain/antispam}{yes}{no}}
|
||||||
set acl_m1 = yes
|
set acl_m1 = yes
|
||||||
.endif
|
.endif
|
||||||
accept
|
accept
|
||||||
|
|
||||||
|
|
||||||
acl_check_data:
|
acl_check_data:
|
||||||
.ifdef CLAMD
|
.ifdef CLAMD
|
||||||
deny message = Message contains a virus ($malware_name) and has been rejected
|
deny message = Message contains a virus ($malware_name) and has been rejected
|
||||||
malware = *
|
malware = *
|
||||||
condition = ${if eq{$acl_m0}{yes}{yes}{no}}
|
condition = ${if eq{$acl_m0}{yes}{yes}{no}}
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.ifdef SPAMASSASSIN
|
.ifdef SPAMASSASSIN
|
||||||
warn
|
warn
|
||||||
!authenticated = *
|
!authenticated = *
|
||||||
hosts = !+relay_from_hosts
|
hosts = !+relay_from_hosts
|
||||||
condition = ${if < {$message_size}{100K}}
|
condition = ${if < {$message_size}{100K}}
|
||||||
condition = ${if eq{$acl_m1}{yes}{yes}{no}}
|
condition = ${if eq{$acl_m1}{yes}{yes}{no}}
|
||||||
spam = nobody:true/defer_ok
|
spam = nobody:true/defer_ok
|
||||||
add_header = X-Spam-Score: $spam_score_int
|
add_header = X-Spam-Score: $spam_score_int
|
||||||
add_header = X-Spam-Bar: $spam_bar
|
add_header = X-Spam-Bar: $spam_bar
|
||||||
add_header = X-Spam-Report: $spam_report
|
add_header = X-Spam-Report: $spam_report
|
||||||
set acl_m2 = $spam_score_int
|
set acl_m2 = $spam_score_int
|
||||||
warn
|
warn
|
||||||
condition = ${if !eq{$acl_m2}{} {yes}{no}}
|
condition = ${if !eq{$acl_m2}{} {yes}{no}}
|
||||||
condition = ${if >{$acl_m2}{SPAM_SCORE} {yes}{no}}
|
condition = ${if >{$acl_m2}{SPAM_SCORE} {yes}{no}}
|
||||||
add_header = X-Spam-Status: Yes
|
add_header = X-Spam-Status: Yes
|
||||||
message = SpamAssassin detected spam (from $sender_address to $recipients).
|
message = SpamAssassin detected spam (from $sender_address to $recipients).
|
||||||
.endif
|
.endif
|
||||||
accept
|
accept
|
||||||
|
|
||||||
|
|
||||||
acl_check_mime:
|
acl_check_mime:
|
||||||
deny message = Blacklisted file extension detected
|
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}}
|
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
|
accept
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
begin authenticators
|
begin authenticators
|
||||||
##########################################################################
|
##########################################################################
|
||||||
dovecot_plain:
|
dovecot_plain:
|
||||||
driver = dovecot
|
driver = dovecot
|
||||||
public_name = PLAIN
|
public_name = PLAIN
|
||||||
server_socket = /var/run/dovecot/auth-client
|
server_socket = /var/run/dovecot/auth-client
|
||||||
server_set_id = $auth1
|
server_set_id = $auth1
|
||||||
|
|
||||||
dovecot_login:
|
dovecot_login:
|
||||||
driver = dovecot
|
driver = dovecot
|
||||||
public_name = LOGIN
|
public_name = LOGIN
|
||||||
server_socket = /var/run/dovecot/auth-client
|
server_socket = /var/run/dovecot/auth-client
|
||||||
server_set_id = $auth1
|
server_set_id = $auth1
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
begin routers
|
begin routers
|
||||||
##########################################################################
|
##########################################################################
|
||||||
dnslookup:
|
dnslookup:
|
||||||
driver = dnslookup
|
driver = dnslookup
|
||||||
domains = !+local_domains
|
domains = !+local_domains
|
||||||
transport = remote_smtp
|
transport = remote_smtp
|
||||||
# ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
|
# ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
|
||||||
no_more
|
no_more
|
||||||
|
|
||||||
#system_aliases:
|
#system_aliases:
|
||||||
# domains = +local_domains
|
# domains = +local_domains
|
||||||
# driver = redirect
|
# driver = redirect
|
||||||
# allow_fail
|
# allow_fail
|
||||||
# allow_defer
|
# allow_defer
|
||||||
# data = ${lookup{$local_part}lsearch{/etc/aliases}}
|
# data = ${lookup{$local_part}lsearch{/etc/aliases}}
|
||||||
# file_transport = address_file
|
# file_transport = address_file
|
||||||
# pipe_transport = address_pipe
|
# pipe_transport = address_pipe
|
||||||
|
|
||||||
userforward:
|
userforward:
|
||||||
driver = redirect
|
driver = redirect
|
||||||
check_local_user
|
check_local_user
|
||||||
file = $home/.forward
|
file = $home/.forward
|
||||||
allow_filter
|
allow_filter
|
||||||
no_verify
|
no_verify
|
||||||
no_expn
|
no_expn
|
||||||
check_ancestor
|
check_ancestor
|
||||||
file_transport = address_file
|
file_transport = address_file
|
||||||
pipe_transport = address_pipe
|
pipe_transport = address_pipe
|
||||||
reply_transport = address_reply
|
reply_transport = address_reply
|
||||||
|
|
||||||
procmail:
|
procmail:
|
||||||
driver = accept
|
driver = accept
|
||||||
check_local_user
|
check_local_user
|
||||||
require_files = ${local_part}:+${home}/.procmailrc:/usr/bin/procmail
|
require_files = ${local_part}:+${home}/.procmailrc:/usr/bin/procmail
|
||||||
transport = procmail
|
transport = procmail
|
||||||
no_verify
|
no_verify
|
||||||
|
|
||||||
autoreplay:
|
autoreplay:
|
||||||
driver = accept
|
driver = accept
|
||||||
require_files = /etc/exim/domains/$domain/autoreply.${local_part}.msg
|
require_files = /etc/exim/domains/$domain/autoreply.${local_part}.msg
|
||||||
condition = ${if exists{/etc/exim/domains/$domain/autoreply.${local_part}.msg}}{yes}{no}}
|
condition = ${if exists{/etc/exim/domains/$domain/autoreply.${local_part}.msg}}{yes}{no}}
|
||||||
retry_use_local_part
|
retry_use_local_part
|
||||||
transport = userautoreply
|
transport = userautoreply
|
||||||
unseen
|
unseen
|
||||||
|
|
||||||
aliases:
|
aliases:
|
||||||
driver = redirect
|
driver = redirect
|
||||||
headers_add = X-redirected: yes
|
headers_add = X-redirected: yes
|
||||||
data = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}
|
data = ${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}
|
||||||
require_files = /etc/exim/domains/$domain/aliases
|
require_files = /etc/exim/domains/$domain/aliases
|
||||||
redirect_router = dnslookup
|
redirect_router = dnslookup
|
||||||
pipe_transport = address_pipe
|
pipe_transport = address_pipe
|
||||||
unseen
|
unseen
|
||||||
|
|
||||||
|
|
||||||
localuser_spam:
|
localuser_spam:
|
||||||
driver = accept
|
driver = accept
|
||||||
transport = local_spam_delivery
|
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}}}}
|
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:
|
localuser:
|
||||||
driver = accept
|
driver = accept
|
||||||
transport = local_delivery
|
transport = local_delivery
|
||||||
condition = ${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}{true}{false}}
|
condition = ${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}{true}{false}}
|
||||||
|
|
||||||
catchall:
|
catchall:
|
||||||
driver = redirect
|
driver = redirect
|
||||||
headers_add = X-redirected: yes
|
headers_add = X-redirected: yes
|
||||||
require_files = /etc/exim/domains/$domain/aliases
|
require_files = /etc/exim/domains/$domain/aliases
|
||||||
data = ${extract{1}{:}{${lookup{*@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}
|
data = ${extract{1}{:}{${lookup{*@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}
|
||||||
file_transport = local_delivery
|
file_transport = local_delivery
|
||||||
redirect_router = dnslookup
|
redirect_router = dnslookup
|
||||||
|
|
||||||
terminate_alias:
|
terminate_alias:
|
||||||
driver = accept
|
driver = accept
|
||||||
transport = devnull
|
transport = devnull
|
||||||
condition = ${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}{true}{false}}
|
condition = ${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}{true}{false}}
|
||||||
|
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
begin transports
|
begin transports
|
||||||
##########################################################################
|
##########################################################################
|
||||||
remote_smtp:
|
remote_smtp:
|
||||||
driver = smtp
|
driver = smtp
|
||||||
helo_data = $sender_address_domain
|
helo_data = $sender_address_domain
|
||||||
dkim_domain = DKIM_DOMAIN
|
dkim_domain = DKIM_DOMAIN
|
||||||
dkim_selector = mail
|
dkim_selector = mail
|
||||||
dkim_private_key = DKIM_PRIVATE_KEY
|
dkim_private_key = DKIM_PRIVATE_KEY
|
||||||
dkim_canon = relaxed
|
dkim_canon = relaxed
|
||||||
dkim_strict = 0
|
dkim_strict = 0
|
||||||
|
|
||||||
|
|
||||||
procmail:
|
procmail:
|
||||||
driver = pipe
|
driver = pipe
|
||||||
command = "/usr/bin/procmail -d $local_part"
|
command = "/usr/bin/procmail -d $local_part"
|
||||||
return_path_add
|
return_path_add
|
||||||
delivery_date_add
|
delivery_date_add
|
||||||
envelope_to_add
|
envelope_to_add
|
||||||
user = $local_part
|
user = $local_part
|
||||||
initgroups
|
initgroups
|
||||||
return_output
|
return_output
|
||||||
|
|
||||||
local_delivery:
|
local_delivery:
|
||||||
driver = appendfile
|
driver = appendfile
|
||||||
maildir_format
|
maildir_format
|
||||||
maildir_use_size_file
|
maildir_use_size_file
|
||||||
user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}
|
user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}
|
||||||
group = mail
|
group = mail
|
||||||
create_directory
|
create_directory
|
||||||
directory_mode = 770
|
directory_mode = 770
|
||||||
mode = 660
|
mode = 660
|
||||||
use_lockfile = no
|
use_lockfile = no
|
||||||
delivery_date_add
|
delivery_date_add
|
||||||
envelope_to_add
|
envelope_to_add
|
||||||
return_path_add
|
return_path_add
|
||||||
directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}/mail/$domain/$local_part"
|
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 = ${extract{6}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}M
|
||||||
quota_warn_threshold = 75%
|
quota_warn_threshold = 75%
|
||||||
|
|
||||||
local_spam_delivery:
|
local_spam_delivery:
|
||||||
driver = appendfile
|
driver = appendfile
|
||||||
maildir_format
|
maildir_format
|
||||||
maildir_use_size_file
|
maildir_use_size_file
|
||||||
user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}
|
user = ${extract{2}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}
|
||||||
group = mail
|
group = mail
|
||||||
create_directory
|
create_directory
|
||||||
directory_mode = 770
|
directory_mode = 770
|
||||||
mode = 660
|
mode = 660
|
||||||
use_lockfile = no
|
use_lockfile = no
|
||||||
delivery_date_add
|
delivery_date_add
|
||||||
envelope_to_add
|
envelope_to_add
|
||||||
return_path_add
|
return_path_add
|
||||||
directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}/mail/$domain/$local_part/.spam"
|
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 = ${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_directory = "${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim/domains/$domain/passwd}}}}/mail/$domain/$local_part"
|
||||||
quota_warn_threshold = 75%
|
quota_warn_threshold = 75%
|
||||||
|
|
||||||
address_pipe:
|
address_pipe:
|
||||||
driver = pipe
|
driver = pipe
|
||||||
return_output
|
return_output
|
||||||
|
|
||||||
address_file:
|
address_file:
|
||||||
driver = appendfile
|
driver = appendfile
|
||||||
delivery_date_add
|
delivery_date_add
|
||||||
envelope_to_add
|
envelope_to_add
|
||||||
return_path_add
|
return_path_add
|
||||||
|
|
||||||
address_reply:
|
address_reply:
|
||||||
driver = autoreply
|
driver = autoreply
|
||||||
|
|
||||||
userautoreply:
|
userautoreply:
|
||||||
driver = autoreply
|
driver = autoreply
|
||||||
file = /etc/exim/domains/$domain/autoreply.${local_part}.msg
|
file = /etc/exim/domains/$domain/autoreply.${local_part}.msg
|
||||||
from = "${local_part}@${domain}"
|
from = "${local_part}@${domain}"
|
||||||
subject = "${if def:h_Subject: {Autoreply: ${quote:${escape:$h_Subject:}}} {Autoreply Message}}"
|
subject = "${if def:h_Subject: {Autoreply: ${quote:${escape:$h_Subject:}}} {Autoreply Message}}"
|
||||||
to = "${sender_address}"
|
to = "${sender_address}"
|
||||||
|
|
||||||
devnull:
|
devnull:
|
||||||
driver = appendfile
|
driver = appendfile
|
||||||
file = /dev/null
|
file = /dev/null
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
begin retry
|
begin retry
|
||||||
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
|
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
|
||||||
##########################################################################
|
##########################################################################
|
||||||
begin rewrite
|
begin rewrite
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
<<<<<<< HEAD
|
||||||
<?php
|
<?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
|
#!/bin/bash
|
||||||
# Vesta installer
|
# Vesta installer
|
||||||
|
|
||||||
|
@ -636,3 +637,652 @@ cd
|
||||||
bash
|
bash
|
||||||
|
|
||||||
# EOF
|
# 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
|
<?php
|
||||||
// Init
|
// Init
|
||||||
error_reporting(NULL);
|
error_reporting(NULL);
|
||||||
ob_start();
|
ob_start();
|
||||||
session_start();
|
session_start();
|
||||||
$TAB = 'DB';
|
$TAB = 'DB';
|
||||||
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
||||||
|
|
||||||
// Header
|
// Header
|
||||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
|
include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
|
||||||
|
|
||||||
// Panel
|
// Panel
|
||||||
top_panel($user,$TAB);
|
top_panel($user,$TAB);
|
||||||
|
|
||||||
// Are you admin?
|
// Are you admin?
|
||||||
//if ($_SESSION['user'] == 'admin') {
|
//if ($_SESSION['user'] == 'admin') {
|
||||||
if (!empty($_POST['ok'])) {
|
if (!empty($_POST['ok'])) {
|
||||||
// Check input
|
// Check input
|
||||||
if (empty($_POST['v_database'])) $errors[] = _('database');
|
if (empty($_POST['v_database'])) $errors[] = _('database');
|
||||||
if (empty($_POST['v_dbuser'])) $errors[] = _('username');
|
if (empty($_POST['v_dbuser'])) $errors[] = _('username');
|
||||||
if (empty($_POST['v_password'])) $errors[] = _('password');
|
if (empty($_POST['v_password'])) $errors[] = _('password');
|
||||||
if (empty($_POST['v_type'])) $errors[] = _('type');
|
if (empty($_POST['v_type'])) $errors[] = _('type');
|
||||||
if (empty($_POST['v_charset'])) $errors[] = _('charset');
|
if (empty($_POST['v_charset'])) $errors[] = _('charset');
|
||||||
|
|
||||||
// Protect input
|
// Protect input
|
||||||
$v_database = escapeshellarg($_POST['v_database']);
|
$v_database = escapeshellarg($_POST['v_database']);
|
||||||
$v_dbuser = escapeshellarg($_POST['v_dbuser']);
|
$v_dbuser = escapeshellarg($_POST['v_dbuser']);
|
||||||
$v_password = escapeshellarg($_POST['v_password']);
|
$v_password = escapeshellarg($_POST['v_password']);
|
||||||
$v_type = $_POST['v_type'];
|
$v_type = $_POST['v_type'];
|
||||||
$v_charset = $_POST['v_charset'];
|
$v_charset = $_POST['v_charset'];
|
||||||
|
|
||||||
// Check for errors
|
if (empty($_POST['v_notify'])) $v_notify = 'off';
|
||||||
if (!empty($errors[0])) {
|
|
||||||
foreach ($errors as $i => $error) {
|
// Check for errors
|
||||||
if ( $i == 0 ) {
|
if (!empty($errors[0])) {
|
||||||
$error_msg = $error;
|
foreach ($errors as $i => $error) {
|
||||||
} else {
|
if ( $i == 0 ) {
|
||||||
$error_msg = $error_msg.", ".$error;
|
$error_msg = $error;
|
||||||
}
|
} else {
|
||||||
}
|
$error_msg = $error_msg.", ".$error;
|
||||||
$_SESSION['error_msg'] = _('Error: field "%s" can not be blank.',$error_msg);
|
}
|
||||||
} else {
|
}
|
||||||
// Add Database
|
$_SESSION['error_msg'] = _('Error: field "%s" can not be blank.',$error_msg);
|
||||||
$v_type = escapeshellarg($_POST['v_type']);
|
} else {
|
||||||
$v_charset = escapeshellarg($_POST['v_charset']);
|
// Add Database
|
||||||
exec (VESTA_CMD."v-add-database ".$user." ".$v_database." ".$v_dbuser." ".$v_password." ".$v_type." 'default' ".$v_charset, $output, $return_var);
|
$v_type = escapeshellarg($_POST['v_type']);
|
||||||
$v_type = $_POST['v_type'];
|
$v_charset = escapeshellarg($_POST['v_charset']);
|
||||||
$v_charset = $_POST['v_charset'];
|
exec (VESTA_CMD."v-add-database ".$user." ".$v_database." ".$v_dbuser." ".$v_password." ".$v_type." 'default' ".$v_charset, $output, $return_var);
|
||||||
if ($return_var != 0) {
|
$v_type = $_POST['v_type'];
|
||||||
$error = implode('<br>', $output);
|
$v_charset = $_POST['v_charset'];
|
||||||
if (empty($error)) $error = _('Error: vesta did not return any output.');
|
if ($return_var != 0) {
|
||||||
$_SESSION['error_msg'] = $error;
|
$error = implode('<br>', $output);
|
||||||
unset($v_password);
|
if (empty($error)) $error = _('Error: vesta did not return any output.');
|
||||||
unset($output);
|
$_SESSION['error_msg'] = $error;
|
||||||
} else {
|
unset($v_password);
|
||||||
$_SESSION['ok_msg'] = _('DATABASE_CREATED_OK',$user."_".$_POST['v_database'],$user."_".$_POST['v_database']);
|
unset($output);
|
||||||
unset($v_database);
|
} else {
|
||||||
unset($v_dbuser);
|
if (empty($v_notify)) {
|
||||||
unset($v_password);
|
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"]);
|
||||||
unset($v_type);
|
if ($_POST['v_type'] == 'mysql') $db_admin_link = "http://".$http_host."/phpMyAdmin/";
|
||||||
unset($v_charset);
|
if ($_POST['v_type'] == 'pgsql') $db_admin_link = "http://".$http_host."/phpPgAdmin/";
|
||||||
unset($output);
|
|
||||||
}
|
$to = $panel[$user]['CONTACT'];
|
||||||
}
|
$subject = _("Database Credentials");
|
||||||
}
|
$hostname = exec('hostname');
|
||||||
exec (VESTA_CMD."v-list-database-types 'json'", $output, $return_var);
|
$from = _('MAIL_FROM',$hostname);
|
||||||
$db_types = json_decode(implode('', $output), true);
|
$mailtext = _('DATABASE_READY',$panel[$user]['FNAME'],$panel[$user]['LNAME'],$_POST['v_type'],$user,$_POST['v_database'],$user,$_POST['v_dbuser'],$_POST['v_password']);
|
||||||
unset($output);
|
$mailtext .= $db_admin_link."\n\n";
|
||||||
|
|
||||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/add_db.html');
|
$mailtext .= "--\n"._('Vesta Control Panel')."\n";
|
||||||
unset($_SESSION['error_msg']);
|
send_email($to, $subject, $mailtext, $from);
|
||||||
unset($_SESSION['ok_msg']);
|
}
|
||||||
//}
|
$_SESSION['ok_msg'] = _('DATABASE_CREATED_OK',$user."_".$_POST['v_database'],$user."_".$_POST['v_database']);
|
||||||
|
unset($v_database);
|
||||||
// Footer
|
unset($v_dbuser);
|
||||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');
|
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'=>'Код сброса',
|
'Reset Code'=>'Код сброса',
|
||||||
'disk'=>'Место',
|
'disk'=>'Место',
|
||||||
'traffic'=>'Трафик',
|
'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
|
||||||
<?php
|
$back = $_SESSION['back'];
|
||||||
$back = $_SESSION['back'];
|
if (empty($back)) {
|
||||||
if (empty($back)) {
|
$back = "location.href='/list/db/'";
|
||||||
$back = "location.href='/list/db/'";
|
} else {
|
||||||
} else {
|
$back = "location.href='".$back."'";
|
||||||
$back = "location.href='".$back."'";
|
}
|
||||||
}
|
?>
|
||||||
?>
|
|
||||||
|
<table class="sub-menu" style="background: white;">
|
||||||
<table class="sub-menu" style="background: white;">
|
<tr>
|
||||||
<tr>
|
<td style="padding: 10px 2px 10px 0;" ><a class="name"><b><?php print _('Adding database');?></b></a>
|
||||||
<td style="padding: 10px 2px 10px 0;" ><a class="name"><b><?php print _('Adding database');?></b></a>
|
<?php
|
||||||
<?php
|
if (!empty($_SESSION['error_msg'])) {
|
||||||
if (!empty($_SESSION['error_msg'])) {
|
echo "<span class=\"vst-error\"> → ".$_SESSION['error_msg']."</span>";
|
||||||
echo "<span class=\"vst-error\"> → ".$_SESSION['error_msg']."</span>";
|
} else {
|
||||||
} else {
|
if (!empty($_SESSION['ok_msg'])) {
|
||||||
if (!empty($_SESSION['ok_msg'])) {
|
echo "<span class=\"vst-ok\"> → ".$_SESSION['ok_msg']."</span>";
|
||||||
echo "<span class=\"vst-ok\"> → ".$_SESSION['ok_msg']."</span>";
|
}
|
||||||
}
|
}
|
||||||
}
|
?>
|
||||||
?>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
|
||||||
|
<form id="vstobjects" name="v_add_db" method="post">
|
||||||
<form id="vstobjects" name="v_add_db" method="post">
|
<script type="text/javascript">
|
||||||
<script type="text/javascript">
|
function elementHideShow(elementToHideOrShow) {
|
||||||
function elementHideShow(elementToHideOrShow) {
|
var el = document.getElementById(elementToHideOrShow);
|
||||||
var el = document.getElementById(elementToHideOrShow);
|
if (el.style.display == "block") {
|
||||||
if (el.style.display == "block") {
|
el.style.display = "none";
|
||||||
el.style.display = "none";
|
} else {
|
||||||
} else {
|
el.style.display = "block";
|
||||||
el.style.display = "block";
|
}
|
||||||
}
|
}
|
||||||
}
|
function randomString() {
|
||||||
function randomString() {
|
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
|
||||||
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
|
var string_length = 10;
|
||||||
var string_length = 10;
|
var randomstring = '';
|
||||||
var randomstring = '';
|
for (var i=0; i<string_length; i++) {
|
||||||
for (var i=0; i<string_length; i++) {
|
var rnum = Math.floor(Math.random() * chars.length);
|
||||||
var rnum = Math.floor(Math.random() * chars.length);
|
randomstring += chars.substring(rnum,rnum+1);
|
||||||
randomstring += chars.substring(rnum,rnum+1);
|
}
|
||||||
}
|
document.v_add_db.v_password.value = randomstring;
|
||||||
document.v_add_db.v_password.value = randomstring;
|
}
|
||||||
}
|
</script>
|
||||||
</script>
|
|
||||||
|
<table class='data'>
|
||||||
<table class='data'>
|
<tr class="data-add">
|
||||||
<tr class="data-add">
|
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
<table class="data-col1">
|
||||||
<table class="data-col1">
|
<tr><td style="padding: 18 0 4 18;"></td></tr>
|
||||||
<tr><td style="padding: 18 0 4 18;"></td></tr>
|
</table>
|
||||||
</table>
|
</td>
|
||||||
</td>
|
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
<table width="830px">
|
||||||
<table width="830px">
|
<tr>
|
||||||
<tr>
|
<td></td>
|
||||||
<td></td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
<table class="data-col2" width="600px">
|
||||||
<table class="data-col2" width="600px">
|
<tr>
|
||||||
<tr>
|
<td style="padding: 10 0 0 2px; color:99a7af;" >
|
||||||
<td style="padding: 10 0 0 2px; color:99a7af;" >
|
<?php print _('DB_PREFIX_WILL_BE_ADDED',$user."_");?>
|
||||||
<?php print _('DB_PREFIX_WILL_BE_ADDED',$user."_");?>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td class="vst-text" style="padding: 10 0 0 2px;">
|
||||||
<td class="vst-text" style="padding: 10 0 0 2px;">
|
<?php print _('Database');?>
|
||||||
<?php print _('Database');?>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td>
|
||||||
<td>
|
<input type="text" size="20" class="vst-input" name="v_database" <?php if (!empty($v_database)) echo "value=".$v_database; ?>>
|
||||||
<input type="text" size="20" class="vst-input" name="v_database" <?php if (!empty($v_database)) echo "value=".$v_database; ?>>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td class="vst-text" style="padding: 10px 0 0 2px;">
|
||||||
<td class="vst-text" style="padding: 10px 0 0 2px;">
|
<?php print _('Username');?>
|
||||||
<?php print _('Username');?>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td>
|
||||||
<td>
|
<input type="text" size="20" class="vst-input" name="v_dbuser" <?php if (!empty($v_dbuser)) echo "value=".$v_dbuser; ?>>
|
||||||
<input type="text" size="20" class="vst-input" name="v_dbuser" <?php if (!empty($v_dbuser)) echo "value=".$v_dbuser; ?>>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td class="vst-text" style="padding: 10px 0 0 2px;">
|
||||||
<td class="vst-text" style="padding: 10px 0 0 2px;">
|
<?php print _('Password');?> <a href="javascript:randomString();" class="genpass"><?php print _('generate');?></a>
|
||||||
<?php print _('Password');?> <a href="javascript:randomString();" class="genpass"><?php print _('generate');?></a>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td>
|
||||||
<td>
|
<input type="text" size="20" class="vst-input" name="v_password">
|
||||||
<input type="text" size="20" class="vst-input" name="v_password">
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td class="vst-text" style="padding: 10 0 0 2px;">
|
||||||
<td class="vst-text" style="padding: 10 0 0 2px;">
|
<?php print _('Type');?>
|
||||||
<?php print _('Type');?>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td>
|
||||||
<td>
|
<select class="vst-list" name="v_type">
|
||||||
<select class="vst-list" name="v_type">
|
<?php
|
||||||
<?php
|
foreach ($db_types as $key => $value) {
|
||||||
foreach ($db_types as $key => $value) {
|
echo "\t\t\t\t<option value=\"".$value."\"";
|
||||||
echo "\t\t\t\t<option value=\"".$value."\"";
|
if ((!empty($v_type)) && ( $value == $v_type )) echo ' selected';
|
||||||
if ((!empty($v_type)) && ( $value == $v_type )) echo ' selected';
|
echo ">".$value."</option>\n";
|
||||||
echo ">".$value."</option>\n";
|
}
|
||||||
}
|
?>
|
||||||
?>
|
</select>
|
||||||
</select>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td class="vst-text" style="padding: 10 0 0 2px;">
|
||||||
<td class="vst-text" style="padding: 10 0 0 2px;">
|
<?php print _('Charset');?>
|
||||||
<?php print _('Кодировка');?>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td>
|
||||||
<td>
|
<select class="vst-list" name="v_charset">
|
||||||
<select class="vst-list" name="v_charset">
|
<option value=big5 <?php if ((!empty($v_charset)) && ( $v_charset == 'big5')) echo 'selected';?> >big5</option>
|
||||||
<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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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>
|
||||||
<option value=eucjpms <?php if ((!empty($v_charset)) && ( $v_charset == 'eucjpms')) echo 'selected';?> >eucjpms</option>
|
</select>
|
||||||
</select>
|
</td>
|
||||||
</td>
|
<tr>
|
||||||
</tr>
|
<td class="vst-text" style="padding: 10px 0 0 2px;">
|
||||||
<tr>
|
<?php print _('Send credentials to'); echo $panel[$user]['CONTACT'] ?>
|
||||||
<td style="padding: 24px 0 0 0;">
|
</td>
|
||||||
<input type="submit" name="ok" value="<?php print _('Add');?>" class="button">
|
</tr>
|
||||||
<input type="button" class="button" value="<?php print _('Back');?>" onclick="<?php echo $back ?>">
|
<tr>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<input type="checkbox" size="20" class="vst-checkbox" name="v_notify" <?php if (empty($v_notify)) echo "checked=yes"; ?>>
|
||||||
</table>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
</table>
|
<td style="padding: 24px 0 0 0;">
|
||||||
</form>
|
<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;">
|
<table class="sub-menu" style="background: white;">
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding: 12px 0 8px 6px">
|
<td style="padding: 12px 0 8px 6px">
|
||||||
<div style="float:left">
|
<div style="float:left">
|
||||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/'"> Add DNS Domain </button>
|
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/'"> Add DNS Domain </button>
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align: right; float: right;">
|
<div style="text-align: right; float: right;">
|
||||||
<form action="/search/" method="get">
|
<form action="/search/" method="get">
|
||||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
<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;">
|
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div style="float:left; padding-left: 26px;">
|
<div style="float:left; padding-left: 26px;">
|
||||||
<form action="/bulk/dns/" method="post" id="objects">
|
<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>
|
<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">
|
<select style="margin:0 2px 0 0px;" name="action">
|
||||||
<option>apply to selected</option>
|
<option>apply to selected</option>
|
||||||
<option>suspend</option>
|
<option>suspend</option>
|
||||||
<option>unsuspend</option>
|
<option>unsuspend</option>
|
||||||
<option>delete</option>
|
<option>delete</option>
|
||||||
</select>
|
</select>
|
||||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div id="vstobjects">
|
<div id="vstobjects">
|
||||||
<table class="data">
|
<table class="data">
|
||||||
<?php
|
<?php
|
||||||
foreach ($data as $key => $value) {
|
foreach ($data as $key => $value) {
|
||||||
++$i;
|
++$i;
|
||||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||||
$status = 'suspended';
|
$status = 'suspended';
|
||||||
$spnd_action = 'unsuspend' ;
|
$spnd_action = 'unsuspend' ;
|
||||||
} else {
|
} else {
|
||||||
$status = 'active';
|
$status = 'active';
|
||||||
$spnd_action = 'suspend' ;
|
$spnd_action = 'suspend' ;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<tr class="data-row">
|
<tr class="data-row">
|
||||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||||
<table class="data-col1">
|
<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 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><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>
|
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||||
<table width="830px">
|
<table width="830px">
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<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="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="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" 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">
|
<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 ?>">
|
<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>
|
<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 ?>" />
|
<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">
|
<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>
|
<p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <b><?php echo "$key" ?></b> domain?</p>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="data-controls do_delete" width="70px">
|
<td class="data-controls do_delete" width="70px">
|
||||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
<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 ?>" />
|
<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">
|
<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>
|
<p class="counter-value">Are you sure you want to delete <b><?php echo "$key" ?></b> domain?</p>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table class="data-col2" width="830px">
|
<table class="data-col2" width="830px">
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
||||||
<b><?php echo $key ?></b>
|
<b><?php echo $key ?></b>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="vertical-align:top;" >
|
<td style="vertical-align:top;" >
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name" style="padding: 2px 0 0 2px;">
|
<td class="counter-name" style="padding: 2px 0 0 2px;">
|
||||||
<?php echo $data[$key]['IP'] ?>
|
<?php echo $data[$key]['IP'] ?>
|
||||||
</td>
|
</td>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name" style="padding: 0 0 20px 2px">
|
<td class="counter-name" style="padding: 0 0 20px 2px">
|
||||||
[<?php echo $data[$key]['TPL'] ?>] template
|
[<?php echo $data[$key]['TPL'] ?>] template
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td style="vertical-align:top;" width="250">
|
<td style="vertical-align:top;" width="250">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">SOA:</td>
|
<td class="counter-name">SOA:</td>
|
||||||
<td class="counter-value"><?php echo $data[$key]['SOA'] ?></td>
|
<td class="counter-value"><?php echo $data[$key]['SOA'] ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">TTL:</td>
|
<td class="counter-name">TTL:</td>
|
||||||
<td class="counter-value"><?php echo $data[$key]['TTL'] ?></td>
|
<td class="counter-value"><?php echo $data[$key]['TTL'] ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td rowspan=4 style="vertical-align:top;" width="300">
|
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">Expire:</td>
|
<td class="counter-name">Expire:</td>
|
||||||
<td class="counter-value"><?php echo date("Y M d", strtotime($data[$key]['EXP'])) ?></td>
|
<td class="counter-value"><?php echo date("Y M d", strtotime($data[$key]['EXP'])) ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">Records:</td>
|
<td class="counter-name">Records:</td>
|
||||||
<td class="counter-value"><?php echo $data[$key]['RECORDS'] ?></td>
|
<td class="counter-value"><?php echo $data[$key]['RECORDS'] ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<table class="data-count">
|
<table class="data-count">
|
||||||
<tr>
|
<tr>
|
||||||
<td width="160px"></td>
|
<td width="160px"></td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
if ( $i == 1) {
|
if ( $i == 1) {
|
||||||
echo "1 user dns domain ";
|
echo "1 user dns domain ";
|
||||||
} else {
|
} else {
|
||||||
echo "$i dns domains ";
|
echo "$i dns domains ";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,107 +1,115 @@
|
||||||
|
<table class="sub-menu" style="background: white;">
|
||||||
<table class="sub-menu" style="background: white;">
|
<tr>
|
||||||
<tr>
|
<td style="padding: 12px 0 8px 6px">
|
||||||
<td style="padding: 12px 0 8px 6px">
|
<div style="float:left">
|
||||||
<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>
|
||||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/?domain=<?php echo $_GET['domain'] ?>'"> Add DNS Record </button>
|
</div>
|
||||||
</div>
|
<div style="text-align: right; float: right;">
|
||||||
<div style="text-align: right; float: right;">
|
<form action="/search/" method="get">
|
||||||
<form action="/search/" method="get">
|
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||||
<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;">
|
||||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
</form>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
<div style="float:left; padding-left: 26px;">
|
||||||
<div style="float:left; padding-left: 26px;">
|
<form action="/bulk/dns/" method="post" id="objects">
|
||||||
<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>
|
||||||
<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">
|
||||||
<select style="margin:0 2px 0 0px;" name="action">
|
<option>apply to selected</option>
|
||||||
<option>apply to selected</option>
|
<option>suspend</option>
|
||||||
<option>suspend</option>
|
<option>unsuspend</option>
|
||||||
<option>unsuspend</option>
|
<option>delete</option>
|
||||||
<option>delete</option>
|
</select>
|
||||||
</select>
|
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
</div>
|
||||||
</div>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
|
||||||
|
<div id="vstobjects">
|
||||||
<div id="vstobjects">
|
<div style="height:10px; font-size:0;"></div>
|
||||||
<table class="data">
|
<table class="data" style="background: #ebe9dc;">
|
||||||
<?php
|
<tr>
|
||||||
foreach ($data as $key => $value) {
|
<td style="padding: 8px 2px 8px 0;">
|
||||||
++$i;
|
<a class="name" style="color: #555; font-size: 10pt;"><b>Listing <?php echo $_GET['domain'] ?></b></a>
|
||||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
</td>
|
||||||
$status = 'suspended';
|
</tr>
|
||||||
$spnd_action = 'unsuspend' ;
|
</table>
|
||||||
} else {
|
<div style="height:10px; font-size:0;"></div>
|
||||||
$status = 'active';
|
<table class="data">
|
||||||
$spnd_action = 'suspend' ;
|
<?php
|
||||||
}
|
foreach ($data as $key => $value) {
|
||||||
?>
|
++$i;
|
||||||
|
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||||
<tr class="data-row">
|
$status = 'suspended';
|
||||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
$spnd_action = 'unsuspend' ;
|
||||||
<table class="data-col1">
|
} else {
|
||||||
<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>
|
$status = 'active';
|
||||||
<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>
|
$spnd_action = 'suspend' ;
|
||||||
<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;">
|
<tr class="data-row">
|
||||||
<table width="830px">
|
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||||
<tr>
|
<table class="data-col1">
|
||||||
<td></td>
|
<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>
|
||||||
<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>
|
<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>
|
||||||
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
|
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||||
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
|
</table>
|
||||||
<a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="do_<?php echo $spnd_action ?>"> <?php echo $spnd_action ?></a>
|
</td>
|
||||||
<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'] ?>" />
|
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||||
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="Confirmation">
|
<table width="830px">
|
||||||
<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>
|
<tr>
|
||||||
</div>
|
<td></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">
|
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
|
||||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
|
||||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
<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="delete_url" value="/delete/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>" />
|
<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="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
<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 delete <span style="color: #34536A;"><b><?php echo $data[$key]['RECORD'] ?></b></span> record?</p>
|
<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>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
<td class="data-controls do_delete" width="70px">
|
||||||
</table>
|
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||||
<table class="data-col5" width="780px">
|
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||||
<tr>
|
<input type="hidden" name="delete_url" value="/delete/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>" />
|
||||||
<td class="log" style="padding: 0 0 0 4px;" width="200"><b><?php echo $data[$key]['RECORD'] ?></b></td>
|
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||||
<td class="log-counter-value" width="80"><?php echo $data[$key]['TYPE'] ?></td>
|
<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>
|
||||||
<td class="log-counter-value" width="80"><?php echo $data[$key]['PRIORITY'] ?></td>
|
</div>
|
||||||
<td class="log-counter-value" ><?php echo $data[$key]['VALUE'] ?></td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
<table class="data-col5" width="780px">
|
||||||
</tr>
|
<tr>
|
||||||
<?php
|
<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>
|
||||||
</table>
|
<td class="log-counter-value" ><?php echo $data[$key]['VALUE'] ?></td>
|
||||||
</form>
|
</tr>
|
||||||
|
</table>
|
||||||
<table class="data-count">
|
</td>
|
||||||
<tr>
|
</tr>
|
||||||
<td width="160px">
|
<?php
|
||||||
<td>
|
}
|
||||||
<?php
|
?>
|
||||||
if ( $i == 1) {
|
</table>
|
||||||
echo "1 dns record ";
|
</form>
|
||||||
} else {
|
|
||||||
echo "$i dns records ";
|
<table class="data-count">
|
||||||
}
|
<tr>
|
||||||
?>
|
<td width="160px">
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<?php
|
||||||
</table>
|
if ( $i == 1) {
|
||||||
</div>
|
echo "1 dns record ";
|
||||||
|
} else {
|
||||||
|
echo "$i dns records ";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
|
@ -1,173 +1,173 @@
|
||||||
<table class="sub-menu" style="background: white;">
|
<table class="sub-menu" style="background: white;">
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding: 12px 0 8px 6px">
|
<td style="padding: 12px 0 8px 6px">
|
||||||
<div style="float:left">
|
<div style="float:left">
|
||||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/'"> Add Mail Domain </button>
|
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/'"> Add Mail Domain </button>
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align: right; float: right;">
|
<div style="text-align: right; float: right;">
|
||||||
<form action="/search/" method="get" >
|
<form action="/search/" method="get" >
|
||||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
<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;">
|
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div style="float:left; padding-left: 26px;">
|
<div style="float:left; padding-left: 26px;">
|
||||||
<form action="/bulk/mail/" method="post" id="objects">
|
<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>
|
<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">
|
<select style="margin:0 2px 0 0px;" name="action">
|
||||||
<option>apply to selected</option>
|
<option>apply to selected</option>
|
||||||
<option>suspend</option>
|
<option>suspend</option>
|
||||||
<option>unsuspend</option>
|
<option>unsuspend</option>
|
||||||
<option>delete</option>
|
<option>delete</option>
|
||||||
</select>
|
</select>
|
||||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div id="vstobjects">
|
<div id="vstobjects">
|
||||||
<table class="data">
|
<table class="data">
|
||||||
<?php
|
<?php
|
||||||
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"]);
|
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"]);
|
||||||
foreach ($data as $key => $value) {
|
foreach ($data as $key => $value) {
|
||||||
++$i;
|
++$i;
|
||||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||||
$status = 'suspended';
|
$status = 'suspended';
|
||||||
$spnd_action = 'unsuspend' ;
|
$spnd_action = 'unsuspend' ;
|
||||||
} else {
|
} else {
|
||||||
$status = 'active';
|
$status = 'active';
|
||||||
$spnd_action = 'suspend' ;
|
$spnd_action = 'suspend' ;
|
||||||
}
|
}
|
||||||
if (empty($data[$key]['CATCHALL'])) {
|
if (empty($data[$key]['CATCHALL'])) {
|
||||||
$data[$key]['CATCHALL'] = '/dev/null';
|
$data[$key]['CATCHALL'] = '/dev/null';
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<tr class="data-row">
|
<tr class="data-row">
|
||||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||||
<table class="data-col1">
|
<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 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><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>
|
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||||
<table width="830px">
|
<table width="830px">
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<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="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="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="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" 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">
|
<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 ?>">
|
<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>
|
<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 ?>" />
|
<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">
|
<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>
|
<p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <b><?php echo "$key" ?></b> domain?</p>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="data-controls do_delete" width="70px">
|
<td class="data-controls do_delete" width="70px">
|
||||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
<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 ?>" />
|
<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">
|
<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>
|
<p class="counter-value">Are you sure you want to delete <b><?php echo "$key" ?></b> domain?</p>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table class="data-col2" width="830px">
|
<table class="data-col2" width="830px">
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
||||||
<b><?php echo $key ?></b>
|
<b><?php echo $key ?></b>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="vertical-align:top;" >
|
<td style="vertical-align:top;" >
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name" style="padding: 2px 0 2px 0">
|
<td class="counter-name" style="padding: 2px 0 2px 0">
|
||||||
catchall > <?php echo $data[$key]['CATCHALL'] ?>
|
catchall > <?php echo $data[$key]['CATCHALL'] ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="chart1">
|
<td class="chart1">
|
||||||
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
||||||
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
<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 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>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td style="vertical-align:top;" width="250">
|
<td style="vertical-align:top;" width="250">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">
|
<td class="counter-name">
|
||||||
Antivirus:
|
Antivirus:
|
||||||
</td>
|
</td>
|
||||||
<td class="counter-value">
|
<td class="counter-value">
|
||||||
<?php echo $data[$key]['ANTIVIRUS'] ?>
|
<?php echo $data[$key]['ANTIVIRUS'] ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">
|
<td class="counter-name">
|
||||||
Antispam:
|
Antispam:
|
||||||
</td>
|
</td>
|
||||||
<td class="counter-value">
|
<td class="counter-value">
|
||||||
<?php echo $data[$key]['ANTISPAM'] ?>
|
<?php echo $data[$key]['ANTISPAM'] ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td rowspan=4 style="vertical-align:top;" width="300">
|
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">
|
<td class="counter-name">
|
||||||
DKIM:
|
DKIM:
|
||||||
</td>
|
</td>
|
||||||
<td class="counter-value">
|
<td class="counter-value">
|
||||||
<?php echo $data[$key]['DKIM'] ?>
|
<?php echo $data[$key]['DKIM'] ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">
|
<td class="counter-name">
|
||||||
Accounts:
|
Accounts:
|
||||||
</td>
|
</td>
|
||||||
<td class="counter-value">
|
<td class="counter-value">
|
||||||
<?php echo $data[$key]['ACCOUNTS'] ?>
|
<?php echo $data[$key]['ACCOUNTS'] ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<table class="data-count">
|
<table class="data-count">
|
||||||
<tr>
|
<tr>
|
||||||
<td width="160px"></td>
|
<td width="160px"></td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
if ( $i == 1) {
|
if ( $i == 1) {
|
||||||
echo "1 mail domain ";
|
echo "1 mail domain ";
|
||||||
} else {
|
} else {
|
||||||
echo "$i mail domains ";
|
echo "$i mail domains ";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
|
@ -1,155 +1,162 @@
|
||||||
|
<table class="sub-menu" style="background: white;">
|
||||||
<table class="sub-menu" style="background: white;">
|
<tr>
|
||||||
<tr>
|
<td style="padding: 12px 0 8px 6px">
|
||||||
<td style="padding: 12px 0 8px 6px">
|
<div style="float:left">
|
||||||
<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>
|
||||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/?domain=<?php echo $_GET['domain'] ?>'"> Add Mail Account </button>
|
</div>
|
||||||
</div>
|
<div style="text-align: right; float: right;">
|
||||||
<div style="text-align: right; float: right;">
|
<form action="/search/" method="get">
|
||||||
<form action="/search/" method="get">
|
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||||
<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;">
|
||||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
</form>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
<div style="float:left; padding-left: 26px;">
|
||||||
<div style="float:left; padding-left: 26px;">
|
<form action="/bulk/mail/" method="post" id="objects">
|
||||||
<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>
|
||||||
<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">
|
||||||
<select style="margin:0 2px 0 0px;" name="action">
|
<option>apply to selected</option>
|
||||||
<option>apply to selected</option>
|
<option>suspend</option>
|
||||||
<option>suspend</option>
|
<option>unsuspend</option>
|
||||||
<option>unsuspend</option>
|
<option>delete</option>
|
||||||
<option>delete</option>
|
</select>
|
||||||
</select>
|
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
</div>
|
||||||
</div>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
|
||||||
|
<div id="vstobjects">
|
||||||
<div id="vstobjects">
|
<div style="height:10px; font-size:0;"></div>
|
||||||
<table class="data">
|
<table class="data" style="background: #ebe9dc;">
|
||||||
<?php
|
<tr>
|
||||||
foreach ($data as $key => $value) {
|
<td style="padding: 8px 2px 8px 0;">
|
||||||
++$i;
|
<a class="name" style="color: #555; font-size: 10pt;"><b>Listing <?php echo $_GET['domain'] ?></b></a>
|
||||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
</td>
|
||||||
$status = 'suspended';
|
</tr>
|
||||||
$spnd_action = 'unsuspend' ;
|
</table>
|
||||||
} else {
|
<div style="height:10px; font-size:0;"></div>
|
||||||
$status = 'active';
|
<table class="data">
|
||||||
$spnd_action = 'suspend';
|
<?php
|
||||||
}
|
foreach ($data as $key => $value) {
|
||||||
?>
|
++$i;
|
||||||
|
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||||
<tr class="data-row">
|
$status = 'suspended';
|
||||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
$spnd_action = 'unsuspend' ;
|
||||||
<table class="data-col1">
|
} else {
|
||||||
<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>
|
$status = 'active';
|
||||||
<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>
|
$spnd_action = 'suspend';
|
||||||
<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;">
|
<tr class="data-row">
|
||||||
<table width="830px">
|
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||||
<tr>
|
<table class="data-col1">
|
||||||
<td></td>
|
<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>
|
||||||
<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>
|
<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>
|
||||||
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
|
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||||
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
|
</table>
|
||||||
<a id="<?php echo $spnd_action ?>_link_<?php echo $i ?>" class="do_<?php echo $spnd_action ?>"> <?php echo $spnd_action ?></a>
|
</td>
|
||||||
<input type="hidden" name="<?php echo $spnd_action ?>_url" value="/<?php echo $spnd_action ?>/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>" />
|
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||||
<div id="<?php echo $spnd_action ?>_dialog_<?php echo $i ?>" class="confirmation-text-suspention hidden" title="Confirmation">
|
<table width="830px">
|
||||||
<p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <b><?php echo $key ?></b> account?</p>
|
<tr>
|
||||||
</div>
|
<td></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">
|
<td class="data-controls do_<?php echo $spnd_action ?>" width="80px">
|
||||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
<img src="/images/suspend.png" width="7px" height="8px" class="do_<?php echo $spnd_action ?>">
|
||||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
<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="delete_url" value="/delete/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>" />
|
<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="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
<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 delete <b><?php echo $key ?></b> account?</p>
|
<p class="counter-value">Are you sure you want to <?php echo $spnd_action ?> <b><?php echo $key ?></b> account?</p>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
<td class="data-controls do_delete" width="70px">
|
||||||
</table>
|
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||||
|
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||||
<table class="data-col2" width="830px">
|
<input type="hidden" name="delete_url" value="/delete/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>" />
|
||||||
<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>
|
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||||
<tr>
|
<p class="counter-value">Are you sure you want to delete <b><?php echo $key ?></b> account?</p>
|
||||||
<td style="vertical-align:top;" >
|
</div>
|
||||||
<table>
|
</td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class="counter-name" style="padding: 4px 0 0 0;">
|
</table>
|
||||||
<?php echo $data[$key]['IP'] ?>
|
|
||||||
</td>
|
<table class="data-col2" width="830px">
|
||||||
<tr>
|
<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>
|
||||||
<td class="chart1" style="padding: 0 0 2px 0">
|
<tr>
|
||||||
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
<td style="vertical-align:top;" >
|
||||||
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
<table>
|
||||||
<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>
|
<tr>
|
||||||
</div>
|
<td class="counter-name" style="padding: 4px 0 0 0;">
|
||||||
</td>
|
<?php echo $data[$key]['IP'] ?>
|
||||||
</tr>
|
</td>
|
||||||
</table>
|
<tr>
|
||||||
</td>
|
<td class="chart1" style="padding: 0 0 2px 0">
|
||||||
<td style="vertical-align:top;" width="200">
|
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
||||||
<table>
|
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
||||||
<tr>
|
<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>
|
||||||
<td class="counter-name">
|
</div>
|
||||||
Quota:
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
<td class="counter-value">
|
</table>
|
||||||
<?php echo $data[$key]['QUOTA'] ?>
|
</td>
|
||||||
</td>
|
<td style="vertical-align:top;" width="200">
|
||||||
</tr>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">
|
<td class="counter-name">
|
||||||
Autoreply:
|
Quota:
|
||||||
</td>
|
</td>
|
||||||
<td class="counter-value">
|
<td class="counter-value">
|
||||||
<?php echo $data[$key]['AUTOREPLY'] ?>
|
<?php echo $data[$key]['QUOTA'] ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
<tr>
|
||||||
</td>
|
<td class="counter-name">
|
||||||
<td rowspan=4 style="vertical-align:top;" width="350">
|
Autoreply:
|
||||||
<table width="350">
|
</td>
|
||||||
<tr>
|
<td class="counter-value">
|
||||||
<td class="counter-name">
|
<?php echo $data[$key]['AUTOREPLY'] ?>
|
||||||
Forward:
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
<td class="counter-value" style="padding: 0 0 0 8px;" >
|
</table>
|
||||||
<?php echo str_replace(',', ', ', $data[$key]['FWD']) ?>
|
</td>
|
||||||
</td>
|
<td rowspan=4 style="vertical-align:top;" width="350">
|
||||||
</tr>
|
<table width="350">
|
||||||
</table>
|
<tr>
|
||||||
</td>
|
<td class="counter-name">
|
||||||
</tr>
|
Forward:
|
||||||
</table>
|
</td>
|
||||||
</td>
|
<td class="counter-value" style="padding: 0 0 0 8px;" >
|
||||||
</tr>
|
<?php echo str_replace(',', ', ', $data[$key]['FWD']) ?>
|
||||||
|
</td>
|
||||||
<?php
|
</tr>
|
||||||
}
|
</table>
|
||||||
?>
|
</td>
|
||||||
</table>
|
</tr>
|
||||||
</form>
|
</table>
|
||||||
|
</td>
|
||||||
<table class="data-count">
|
</tr>
|
||||||
<tr>
|
|
||||||
<td width="160px"></td>
|
<?php
|
||||||
<td>
|
}
|
||||||
<?php
|
?>
|
||||||
if ( $i == 1) {
|
</table>
|
||||||
echo "1 mail account ";
|
</form>
|
||||||
} else {
|
|
||||||
echo "$i mail accounts ";
|
<table class="data-count">
|
||||||
}
|
<tr>
|
||||||
?>
|
<td width="160px"></td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<?php
|
||||||
</table>
|
if ( $i == 1) {
|
||||||
</div>
|
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;">
|
<table class="sub-menu" style="background: white;">
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding: 12px 0 8px 6px">
|
<td style="padding: 12px 0 8px 6px">
|
||||||
<div style="float:left">
|
<div style="float:left">
|
||||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/'"> Add DNS Domain </button>
|
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/'"> Add DNS Domain </button>
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align: right; float: right;">
|
<div style="text-align: right; float: right;">
|
||||||
<form action="/search/" method="get" >
|
<form action="/search/" method="get" >
|
||||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
<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;">
|
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div style="float:left; padding-left: 26px;">
|
<div style="float:left; padding-left: 26px;">
|
||||||
<form action="/bulk/dns/" method="post" id="objects">
|
<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>
|
<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">
|
<select style="margin:0 2px 0 0px;" name="action">
|
||||||
<option>apply to selected</option>
|
<option>apply to selected</option>
|
||||||
<option>delete</option>
|
<option>delete</option>
|
||||||
</select>
|
</select>
|
||||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div id="vstobjects">
|
<div id="vstobjects">
|
||||||
<table class="data">
|
<table class="data">
|
||||||
<?php
|
<?php
|
||||||
foreach ($data as $key => $value) {
|
foreach ($data as $key => $value) {
|
||||||
++$i;
|
++$i;
|
||||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||||
$status = 'suspended';
|
$status = 'suspended';
|
||||||
$spnd_action = 'unsuspend' ;
|
$spnd_action = 'unsuspend' ;
|
||||||
} else {
|
} else {
|
||||||
$status = 'active';
|
$status = 'active';
|
||||||
$spnd_action = 'suspend' ;
|
$spnd_action = 'suspend' ;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<tr class="data-row">
|
<tr class="data-row">
|
||||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||||
<table class="data-col1">
|
<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 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><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>
|
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||||
<table width="830px">
|
<table width="830px">
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<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="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="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" 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">
|
<td class="data-controls do_delete" width="70px">
|
||||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
<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 ?>" />
|
<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">
|
<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>
|
<p class="counter-value">Are you sure you want to delete <b><?php echo "$key" ?></b> domain?</p>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table class="data-col2" width="830px">
|
<table class="data-col2" width="830px">
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
||||||
<b><?php echo $key ?></b>
|
<b><?php echo $key ?></b>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="vertical-align:top;" >
|
<td style="vertical-align:top;" >
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name" style="padding: 2px 0 0 2px;">
|
<td class="counter-name" style="padding: 2px 0 0 2px;">
|
||||||
<?php echo $data[$key]['IP'] ?>
|
<?php echo $data[$key]['IP'] ?>
|
||||||
</td>
|
</td>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name" style="padding: 0 0 20px 2px">
|
<td class="counter-name" style="padding: 0 0 20px 2px">
|
||||||
[<?php echo $data[$key]['TPL'] ?>] template
|
[<?php echo $data[$key]['TPL'] ?>] template
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td style="vertical-align:top;" width="250">
|
<td style="vertical-align:top;" width="250">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">SOA:</td>
|
<td class="counter-name">SOA:</td>
|
||||||
<td class="counter-value"><?php echo $data[$key]['SOA'] ?></td>
|
<td class="counter-value"><?php echo $data[$key]['SOA'] ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">TTL:</td>
|
<td class="counter-name">TTL:</td>
|
||||||
<td class="counter-value"><?php echo $data[$key]['TTL'] ?></td>
|
<td class="counter-value"><?php echo $data[$key]['TTL'] ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td rowspan=4 style="vertical-align:top;" width="300">
|
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">Expire:</td>
|
<td class="counter-name">Expire:</td>
|
||||||
<td class="counter-value"><?php echo date("Y M d", strtotime($data[$key]['EXP'])) ?></td>
|
<td class="counter-value"><?php echo date("Y M d", strtotime($data[$key]['EXP'])) ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">Records:</td>
|
<td class="counter-name">Records:</td>
|
||||||
<td class="counter-value"><?php echo $data[$key]['RECORDS'] ?></td>
|
<td class="counter-value"><?php echo $data[$key]['RECORDS'] ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<table class="data-count">
|
<table class="data-count">
|
||||||
<tr>
|
<tr>
|
||||||
<td width="160px"></td>
|
<td width="160px"></td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
if ( $i == 1) {
|
if ( $i == 1) {
|
||||||
echo "1 user dns domain ";
|
echo "1 user dns domain ";
|
||||||
} else {
|
} else {
|
||||||
echo "$i dns domains ";
|
echo "$i dns domains ";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,98 +1,105 @@
|
||||||
|
<table class="sub-menu" style="background: white;">
|
||||||
<table class="sub-menu" style="background: white;">
|
<tr>
|
||||||
<tr>
|
<td style="padding: 12px 0 8px 6px">
|
||||||
<td style="padding: 12px 0 8px 6px">
|
<div style="float:left">
|
||||||
<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>
|
||||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/dns/?domain=<?php echo $_GET['domain'] ?>'"> Add DNS Record </button>
|
</div>
|
||||||
</div>
|
<div style="text-align: right; float: right;">
|
||||||
<div style="text-align: right; float: right;">
|
<form action="/search/" method="get">
|
||||||
<form action="/search/" method="get">
|
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||||
<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;">
|
||||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
</form>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
<div style="float:left; padding-left: 26px;">
|
||||||
<div style="float:left; padding-left: 26px;">
|
<form action="/bulk/dns/" method="post" id="objects">
|
||||||
<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>
|
||||||
<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">
|
||||||
<select style="margin:0 2px 0 0px;" name="action">
|
<option>apply to selected</option>
|
||||||
<option>apply to selected</option>
|
<option>delete</option>
|
||||||
<option>delete</option>
|
</select>
|
||||||
</select>
|
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
</div>
|
||||||
</div>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
|
||||||
|
<div id="vstobjects">
|
||||||
<div id="vstobjects">
|
<div style="height:10px; font-size:0;"></div>
|
||||||
<table class="data">
|
<table class="data" style="background: #ebe9dc;">
|
||||||
<?php
|
<tr>
|
||||||
foreach ($data as $key => $value) {
|
<td style="padding: 8px 2px 8px 0;">
|
||||||
++$i;
|
<a class="name" style="color: #555; font-size: 10pt;"><b>Listing <?php echo $_GET['domain'] ?></b></a>
|
||||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
</td>
|
||||||
$status = 'suspended';
|
</tr>
|
||||||
$spnd_action = 'unsuspend' ;
|
</table>
|
||||||
} else {
|
<div style="height:10px; font-size:0;"></div>
|
||||||
$status = 'active';
|
<table class="data">
|
||||||
$spnd_action = 'suspend' ;
|
<?php
|
||||||
}
|
foreach ($data as $key => $value) {
|
||||||
?>
|
++$i;
|
||||||
|
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||||
<tr class="data-row">
|
$status = 'suspended';
|
||||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
$spnd_action = 'unsuspend' ;
|
||||||
<table class="data-col1">
|
} else {
|
||||||
<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>
|
$status = 'active';
|
||||||
<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>
|
$spnd_action = 'suspend' ;
|
||||||
<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;">
|
<tr class="data-row">
|
||||||
<table width="830px">
|
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||||
<tr>
|
<table class="data-col1">
|
||||||
<td></td>
|
<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>
|
||||||
<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>
|
<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>
|
||||||
<td class="data-controls do_delete" width="70px">
|
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
</table>
|
||||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
</td>
|
||||||
<input type="hidden" name="delete_url" value="/delete/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>" />
|
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
<table width="830px">
|
||||||
<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>
|
<tr>
|
||||||
</div>
|
<td></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>
|
||||||
</tr>
|
<td class="data-controls do_delete" width="70px">
|
||||||
</table>
|
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||||
<table class="data-col5" width="780px">
|
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||||
<tr>
|
<input type="hidden" name="delete_url" value="/delete/dns/?domain=<?php echo $_GET['domain'] ?>&record_id=<?php echo $data[$key]['ID'] ?>" />
|
||||||
<td class="log" style="padding: 0 0 0 4px;" width="200"><b><?php echo $data[$key]['RECORD'] ?></b></td>
|
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||||
<td class="log-counter-value" width="80"><?php echo $data[$key]['TYPE'] ?></td>
|
<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>
|
||||||
<td class="log-counter-value" width="80"><?php echo $data[$key]['PRIORITY'] ?></td>
|
</div>
|
||||||
<td class="log-counter-value" ><?php echo $data[$key]['VALUE'] ?></td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
<table class="data-col5" width="780px">
|
||||||
</tr>
|
<tr>
|
||||||
<?php
|
<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>
|
||||||
</table>
|
<td class="log-counter-value" ><?php echo $data[$key]['VALUE'] ?></td>
|
||||||
</form>
|
</tr>
|
||||||
|
</table>
|
||||||
<table class="data-count">
|
</td>
|
||||||
<tr>
|
</tr>
|
||||||
<td width="160px">
|
<?php
|
||||||
<td>
|
}
|
||||||
<?php
|
?>
|
||||||
if ( $i == 1) {
|
</table>
|
||||||
echo "1 dns record ";
|
</form>
|
||||||
} else {
|
|
||||||
echo "$i dns records ";
|
<table class="data-count">
|
||||||
}
|
<tr>
|
||||||
?>
|
<td width="160px">
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<?php
|
||||||
</table>
|
if ( $i == 1) {
|
||||||
</div>
|
echo "1 dns record ";
|
||||||
|
} else {
|
||||||
|
echo "$i dns records ";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
|
@ -1,164 +1,163 @@
|
||||||
<table class="sub-menu" style="background: white;">
|
<table class="sub-menu" style="background: white;">
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding: 12px 0 8px 6px">
|
<td style="padding: 12px 0 8px 6px">
|
||||||
<div style="float:left">
|
<div style="float:left">
|
||||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/'"> Add Mail Domain </button>
|
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/'"> Add Mail Domain </button>
|
||||||
</div>
|
</div>
|
||||||
<div style="text-align: right; float: right;">
|
<div style="text-align: right; float: right;">
|
||||||
<form action="/search/" method="get" >
|
<form action="/search/" method="get" >
|
||||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
<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;">
|
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div style="float:left; padding-left: 26px;">
|
<div style="float:left; padding-left: 26px;">
|
||||||
<form action="/bulk/mail/" method="post" id="objects">
|
<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>
|
<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">
|
<select style="margin:0 2px 0 0px;" name="action">
|
||||||
<option>apply to selected</option>
|
<option>apply to selected</option>
|
||||||
<option>delete</option>
|
<option>delete</option>
|
||||||
</select>
|
</select>
|
||||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div id="vstobjects">
|
<div id="vstobjects">
|
||||||
<table class="data">
|
<table class="data">
|
||||||
<?php
|
<?php
|
||||||
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"]);
|
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"]);
|
||||||
foreach ($data as $key => $value) {
|
foreach ($data as $key => $value) {
|
||||||
++$i;
|
++$i;
|
||||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||||
$status = 'suspended';
|
$status = 'suspended';
|
||||||
$spnd_action = 'unsuspend' ;
|
$spnd_action = 'unsuspend' ;
|
||||||
} else {
|
} else {
|
||||||
$status = 'active';
|
$status = 'active';
|
||||||
$spnd_action = 'suspend' ;
|
$spnd_action = 'suspend' ;
|
||||||
}
|
}
|
||||||
if (empty($data[$key]['CATCHALL'])) {
|
if (empty($data[$key]['CATCHALL'])) {
|
||||||
$data[$key]['CATCHALL'] = '/dev/null';
|
$data[$key]['CATCHALL'] = '/dev/null';
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<tr class="data-row">
|
<tr class="data-row">
|
||||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||||
<table class="data-col1">
|
<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 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><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>
|
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||||
<table width="830px">
|
<table width="830px">
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<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="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="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="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" 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">
|
<td class="data-controls do_delete" width="70px">
|
||||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
<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 ?>" />
|
<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">
|
<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>
|
<p class="counter-value">Are you sure you want to delete <b><?php echo "$key" ?></b> domain?</p>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table class="data-col2" width="830px">
|
<table class="data-col2" width="830px">
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
<td colspan=3 class="domain" style="padding: 0 0 0 4px;">
|
||||||
<b><?php echo $key ?></b>
|
<b><?php echo $key ?></b>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="vertical-align:top;" >
|
<td style="vertical-align:top;" >
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name" style="padding: 2px 0 2px 0">
|
<td class="counter-name" style="padding: 2px 0 2px 0">
|
||||||
catchall > <?php echo $data[$key]['CATCHALL'] ?>
|
catchall > <?php echo $data[$key]['CATCHALL'] ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="chart1">
|
<td class="chart1">
|
||||||
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
||||||
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
<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 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>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td style="vertical-align:top;" width="250">
|
<td style="vertical-align:top;" width="250">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">
|
<td class="counter-name">
|
||||||
Antivirus:
|
Antivirus:
|
||||||
</td>
|
</td>
|
||||||
<td class="counter-value">
|
<td class="counter-value">
|
||||||
<?php echo $data[$key]['ANTIVIRUS'] ?>
|
<?php echo $data[$key]['ANTIVIRUS'] ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">
|
<td class="counter-name">
|
||||||
Antispam:
|
Antispam:
|
||||||
</td>
|
</td>
|
||||||
<td class="counter-value">
|
<td class="counter-value">
|
||||||
<?php echo $data[$key]['ANTISPAM'] ?>
|
<?php echo $data[$key]['ANTISPAM'] ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td rowspan=4 style="vertical-align:top;" width="300">
|
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">
|
<td class="counter-name">
|
||||||
DKIM:
|
DKIM:
|
||||||
</td>
|
</td>
|
||||||
<td class="counter-value">
|
<td class="counter-value">
|
||||||
<?php echo $data[$key]['DKIM'] ?>
|
<?php echo $data[$key]['DKIM'] ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">
|
<td class="counter-name">
|
||||||
Accounts:
|
Accounts:
|
||||||
</td>
|
</td>
|
||||||
<td class="counter-value">
|
<td class="counter-value">
|
||||||
<?php echo $data[$key]['ACCOUNTS'] ?>
|
<?php echo $data[$key]['ACCOUNTS'] ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<table class="data-count">
|
<table class="data-count">
|
||||||
<tr>
|
<tr>
|
||||||
<td width="160px"></td>
|
<td width="160px"></td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
if ( $i == 1) {
|
if ( $i == 1) {
|
||||||
echo "1 mail domain ";
|
echo "1 mail domain ";
|
||||||
} else {
|
} else {
|
||||||
echo "$i mail domains ";
|
echo "$i mail domains ";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,145 +1,152 @@
|
||||||
|
<table class="sub-menu" style="background: white;">
|
||||||
<table class="sub-menu" style="background: white;">
|
<tr>
|
||||||
<tr>
|
<td style="padding: 12px 0 8px 6px">
|
||||||
<td style="padding: 12px 0 8px 6px">
|
<div style="float:left">
|
||||||
<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>
|
||||||
<button style="width:120px; padding: 2px 0px;" onclick="location.href='/add/mail/?domain=<?php echo $_GET['domain'] ?>'"> Add Mail Account </button>
|
</div>
|
||||||
</div>
|
<div style="text-align: right; float: right;">
|
||||||
<div style="text-align: right; float: right;">
|
<form action="/search/" method="get">
|
||||||
<form action="/search/" method="get">
|
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||||
<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;">
|
||||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
</form>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
<div style="float:left; padding-left: 26px;">
|
||||||
<div style="float:left; padding-left: 26px;">
|
<form action="/bulk/mail/" method="post" id="objects">
|
||||||
<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>
|
||||||
<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">
|
||||||
<select style="margin:0 2px 0 0px;" name="action">
|
<option>apply to selected</option>
|
||||||
<option>apply to selected</option>
|
<option>delete</option>
|
||||||
<option>delete</option>
|
</select>
|
||||||
</select>
|
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
</div>
|
||||||
</div>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
</table>
|
||||||
</table>
|
|
||||||
|
<div id="vstobjects">
|
||||||
<div id="vstobjects">
|
<div style="height:10px; font-size:0;"></div>
|
||||||
<table class="data">
|
<table class="data" style="background: #ebe9dc;">
|
||||||
<?php
|
<tr>
|
||||||
foreach ($data as $key => $value) {
|
<td style="padding: 8px 2px 8px 0;">
|
||||||
++$i;
|
<a class="name" style="color: #555; font-size: 10pt;"><b>Listing <?php echo $_GET['domain'] ?></b></a>
|
||||||
if ($data[$key]['SUSPENDED'] == 'yes') {
|
</td>
|
||||||
$status = 'suspended';
|
</tr>
|
||||||
$spnd_action = 'unsuspend' ;
|
</table>
|
||||||
} else {
|
<div style="height:10px; font-size:0;"></div>
|
||||||
$status = 'active';
|
<table class="data">
|
||||||
$spnd_action = 'suspend';
|
<?php
|
||||||
}
|
foreach ($data as $key => $value) {
|
||||||
?>
|
++$i;
|
||||||
|
if ($data[$key]['SUSPENDED'] == 'yes') {
|
||||||
<tr class="data-row">
|
$status = 'suspended';
|
||||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
$spnd_action = 'unsuspend' ;
|
||||||
<table class="data-col1">
|
} else {
|
||||||
<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>
|
$status = 'active';
|
||||||
<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>
|
$spnd_action = 'suspend';
|
||||||
<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;">
|
<tr class="data-row">
|
||||||
<table width="830px">
|
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||||
<tr>
|
<table class="data-col1">
|
||||||
<td></td>
|
<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>
|
||||||
<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>
|
<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>
|
||||||
<td class="data-controls do_delete" width="70px">
|
<tr><td class="data-<?php echo $status ?>"><b><?php echo $status ?></b></td></tr>
|
||||||
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
</table>
|
||||||
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
</td>
|
||||||
<input type="hidden" name="delete_url" value="/delete/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>" />
|
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||||
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
<table width="830px">
|
||||||
<p class="counter-value">Are you sure you want to delete <b><?php echo $key ?></b> account?</p>
|
<tr>
|
||||||
</div>
|
<td></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>
|
||||||
</tr>
|
<td class="data-controls do_delete" width="70px">
|
||||||
</table>
|
<img src="/images/delete.png" width="7px" height="7px" class="do_delete">
|
||||||
|
<a id="delete_link_<?php echo $i ?>" class="do_delete"> delete</a>
|
||||||
<table class="data-col2" width="830px">
|
<input type="hidden" name="delete_url" value="/delete/mail/?domain=<?php echo $_GET['domain'] ?>&account=<?php echo $key ?>" />
|
||||||
<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>
|
<div id="delete_dialog_<?php echo $i ?>" class="confirmation-text-delete hidden" title="Confirmation">
|
||||||
<tr>
|
<p class="counter-value">Are you sure you want to delete <b><?php echo $key ?></b> account?</p>
|
||||||
<td style="vertical-align:top;" >
|
</div>
|
||||||
<table>
|
</td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class="counter-name" style="padding: 4px 0 0 0;">
|
</table>
|
||||||
<?php echo $data[$key]['IP'] ?>
|
|
||||||
</td>
|
<table class="data-col2" width="830px">
|
||||||
<tr>
|
<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>
|
||||||
<td class="chart1" style="padding: 0 0 2px 0">
|
<tr>
|
||||||
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
<td style="vertical-align:top;" >
|
||||||
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
<table>
|
||||||
<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>
|
<tr>
|
||||||
</div>
|
<td class="counter-name" style="padding: 4px 0 0 0;">
|
||||||
</td>
|
<?php echo $data[$key]['IP'] ?>
|
||||||
</tr>
|
</td>
|
||||||
</table>
|
<tr>
|
||||||
</td>
|
<td class="chart1" style="padding: 0 0 2px 0">
|
||||||
<td style="vertical-align:top;" width="200">
|
Disk: <?php echo humanize_usage($data[$key]['U_DISK']) ?>
|
||||||
<table>
|
<div style="width:160px; height:6px; font-size:0;background-color:#c7d5b3;">
|
||||||
<tr>
|
<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>
|
||||||
<td class="counter-name">
|
</div>
|
||||||
Quota:
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
<td class="counter-value">
|
</table>
|
||||||
<?php echo $data[$key]['QUOTA'] ?>
|
</td>
|
||||||
</td>
|
<td style="vertical-align:top;" width="200">
|
||||||
</tr>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="counter-name">
|
<td class="counter-name">
|
||||||
Autoreply:
|
Quota:
|
||||||
</td>
|
</td>
|
||||||
<td class="counter-value">
|
<td class="counter-value">
|
||||||
<?php echo $data[$key]['AUTOREPLY'] ?>
|
<?php echo $data[$key]['QUOTA'] ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
<tr>
|
||||||
</td>
|
<td class="counter-name">
|
||||||
<td rowspan=4 style="vertical-align:top;" width="350">
|
Autoreply:
|
||||||
<table width="350">
|
</td>
|
||||||
<tr>
|
<td class="counter-value">
|
||||||
<td class="counter-name">
|
<?php echo $data[$key]['AUTOREPLY'] ?>
|
||||||
Forward:
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
<td class="counter-value" style="padding: 0 0 0 8px;" >
|
</table>
|
||||||
<?php echo str_replace(',', ', ', $data[$key]['FWD']) ?>
|
</td>
|
||||||
</td>
|
<td rowspan=4 style="vertical-align:top;" width="350">
|
||||||
</tr>
|
<table width="350">
|
||||||
</table>
|
<tr>
|
||||||
</td>
|
<td class="counter-name">
|
||||||
</tr>
|
Forward:
|
||||||
</table>
|
</td>
|
||||||
</td>
|
<td class="counter-value" style="padding: 0 0 0 8px;" >
|
||||||
</tr>
|
<?php echo str_replace(',', ', ', $data[$key]['FWD']) ?>
|
||||||
|
</td>
|
||||||
<?php
|
</tr>
|
||||||
}
|
</table>
|
||||||
?>
|
</td>
|
||||||
</table>
|
</tr>
|
||||||
</form>
|
</table>
|
||||||
|
</td>
|
||||||
<table class="data-count">
|
</tr>
|
||||||
<tr>
|
|
||||||
<td width="160px"></td>
|
<?php
|
||||||
<td>
|
}
|
||||||
<?php
|
?>
|
||||||
if ( $i == 1) {
|
</table>
|
||||||
echo "1 mail account ";
|
</form>
|
||||||
} else {
|
|
||||||
echo "$i mail accounts ";
|
<table class="data-count">
|
||||||
}
|
<tr>
|
||||||
?>
|
<td width="160px"></td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<?php
|
||||||
</table>
|
if ( $i == 1) {
|
||||||
</div>
|
echo "1 mail account ";
|
||||||
|
} else {
|
||||||
|
echo "$i mail accounts ";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
Loading…
Add table
Add a link
Reference in a new issue