mirror of
https://github.com/myvesta/vesta
synced 2025-08-14 18:49:21 -07:00
web domain editing
This commit is contained in:
parent
2d12f47a73
commit
89197647fa
30 changed files with 979 additions and 79 deletions
|
@ -15,8 +15,8 @@ user=$1
|
|||
domain=$(idn -t --quiet -u "$2" )
|
||||
domain_idn=$(idn -t --quiet -a "$domain")
|
||||
template=${3-default}
|
||||
default_extentions="jpg,jpeg,gif,png,ico,css,zip,tgz,gz,rar,bz2,doc,xls,exe,\
|
||||
pdf,ppt,txt,tar,wav,bmp,rtf,js,mp3,avi,mpeg,html,htm"
|
||||
default_extentions="jpg,jpeg,gif,png,ico,svg,css,zip,tgz,gz,rar,bz2,doc,xls,\
|
||||
exe,pdf,ppt,txt,odt,ods,odp,odf,tar,wav,bmp,rtf,js,mp3,avi,mpeg,flv,html,htm"
|
||||
extentions=${4-$default_extentions}
|
||||
restart="$5"
|
||||
|
||||
|
|
|
@ -37,7 +37,6 @@ is_object_valid 'user' 'USER' "$user"
|
|||
is_object_unsuspended 'user' 'USER' "$user"
|
||||
is_object_valid 'web' 'DOMAIN' "$domain"
|
||||
is_object_unsuspended 'web' 'DOMAIN' "$domain"
|
||||
is_object_value_exist 'web' 'DOMAIN' "$domain" '$STATS'
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
|
|
@ -14,6 +14,7 @@ user=$1
|
|||
domain=$(idn -t --quiet -u "$2" )
|
||||
domain_idn=$(idn -t --quiet -a "$domain")
|
||||
ip=$3
|
||||
restart=$4
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
|
@ -53,7 +54,9 @@ update_domain_zone
|
|||
#----------------------------------------------------------#
|
||||
|
||||
# Restart named
|
||||
$BIN/v_restart_dns "$EVENT"
|
||||
if [ "$restart" != 'no' ]; then
|
||||
$BIN/v_restart_dns "$EVENT"
|
||||
fi
|
||||
|
||||
# Logging
|
||||
log_history "$EVENT"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
# info: change web domain ip address
|
||||
# options: user domain ip
|
||||
# options: user domain ip [restart]
|
||||
#
|
||||
# The call is used for changing the site ip address. The ip change will be
|
||||
# performed for a virtual apache host and for a configuration nginx file both.
|
||||
|
@ -15,6 +15,7 @@ user=$1
|
|||
domain=$(idn -t --quiet -u "$2" )
|
||||
domain_idn=$(idn -t --quiet -a "$domain")
|
||||
ip=$3
|
||||
restart=$4
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
|
@ -27,7 +28,7 @@ source $VESTA/func/ip.sh
|
|||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '3' "$#" 'user domain ip'
|
||||
check_args '3' "$#" 'user domain ip [restart]'
|
||||
validate_format 'user' 'domain' 'ip'
|
||||
is_system_enabled "$WEB_SYSTEM"
|
||||
is_object_valid 'user' 'USER' "$user"
|
||||
|
@ -84,7 +85,9 @@ decrease_ip_value "$old"
|
|||
update_object_value 'web' 'DOMAIN' "$domain" '$IP' "$ip"
|
||||
|
||||
# Restart web server
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
if [ "$restart" != 'no' ]; then
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
fi
|
||||
|
||||
# Logging
|
||||
log_history "$EVENT"
|
||||
|
|
102
bin/v_change_web_domain_nginx_tpl
Executable file
102
bin/v_change_web_domain_nginx_tpl
Executable file
|
@ -0,0 +1,102 @@
|
|||
#!/bin/bash
|
||||
# info: change web domain nginx template
|
||||
# options: user domain template [extentions] [restart]
|
||||
#
|
||||
# The function changes template of nginx.conf configuration file. The content
|
||||
# of webdomain directories remains untouched.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument defenition
|
||||
user=$1
|
||||
domain=$(idn -t --quiet -u "$2" )
|
||||
domain_idn=$(idn -t --quiet -a "$domain")
|
||||
template=$3
|
||||
default_extentions="jpg,jpeg,gif,png,ico,svg,css,zip,tgz,gz,rar,bz2,doc,xls,\
|
||||
exe,pdf,ppt,txt,odt,ods,odp,odf,tar,wav,bmp,rtf,js,mp3,avi,mpeg,flv,html,htm"
|
||||
extentions=${4-$default_extentions}
|
||||
restart="$5"
|
||||
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
source $VESTA/func/main.sh
|
||||
source $VESTA/func/domain.sh
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '3' "$#" 'user domain template [extentions] [restart]'
|
||||
validate_format 'user' 'domain' 'template'
|
||||
is_system_enabled "$PROXY_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"
|
||||
is_object_value_exist 'web' 'DOMAIN' "$domain" '$NGINX'
|
||||
is_nginx_template_valid
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Parsing domain values
|
||||
get_domain_values 'web'
|
||||
tpl_file="$WEBTPL/ngingx_vhost_$NGINX.tpl"
|
||||
conf="$HOMEDIR/$user/conf/web/nginx.conf"
|
||||
|
||||
# Delete old vhost
|
||||
del_web_config
|
||||
|
||||
# Checking ssl
|
||||
if [ "$SSL" = 'yes' ]; then
|
||||
tpl_file="$WEBTPL/ngingx_vhost_$NGINX.stpl"
|
||||
conf="$HOMEDIR/$user/conf/web/snginx.conf"
|
||||
del_web_config
|
||||
fi
|
||||
|
||||
# Add new vhost
|
||||
NGINX="$template"
|
||||
NGINX_EXT="$extentions"
|
||||
tpl_file="$WEBTPL/ngingx_vhost_$NGINX.tpl"
|
||||
conf="$HOMEDIR/$user/conf/web/nginx.conf"
|
||||
upd_web_domain_values
|
||||
add_web_config
|
||||
chown root:nginx $conf
|
||||
chmod 640 $conf
|
||||
|
||||
# Checking ssl
|
||||
if [ "$SSL" = 'yes' ]; then
|
||||
proxy_string="proxy_pass https://$ip:$WEB_SSL_PORT;"
|
||||
tpl_file="$WEBTPL/ngingx_vhost_$NGINX.stpl"
|
||||
conf="$HOMEDIR/$user/conf/web/snginx.conf"
|
||||
add_web_config
|
||||
chown root:nginx $conf
|
||||
chmod 640 $conf
|
||||
fi
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Update config
|
||||
update_object_value 'web' 'DOMAIN' "$domain" '$NGINX' "$NGINX"
|
||||
update_object_value 'web' 'DOMAIN' "$domain" '$NGINX_EXT' "$extentions"
|
||||
|
||||
# Restart web
|
||||
if [ "$restart" != 'no' ]; then
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
fi
|
||||
|
||||
# Logging
|
||||
log_history "$EVENT"
|
||||
log_event "$OK" "$EVENT"
|
||||
|
||||
exit
|
91
bin/v_change_web_domain_stats
Executable file
91
bin/v_change_web_domain_stats
Executable file
|
@ -0,0 +1,91 @@
|
|||
#!/bin/bash
|
||||
# info: change web domain statistics
|
||||
# options: user domain type
|
||||
#
|
||||
# The function of deleting site's system of statistics. Its type is
|
||||
# automatically chooses from client's configuration file.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument defenition
|
||||
user=$1
|
||||
domain=$(idn -t --quiet -u "$2" )
|
||||
type=$3
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
source $VESTA/func/main.sh
|
||||
source $VESTA/func/domain.sh
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '3' "$#" 'user domain type'
|
||||
validate_format 'user' 'domain'
|
||||
is_system_enabled "$WEB_SYSTEM"
|
||||
is_type_valid "$STATS_SYSTEM" "$type"
|
||||
is_object_valid 'user' 'USER' "$user"
|
||||
is_object_unsuspended 'user' 'USER' "$user"
|
||||
is_object_valid 'web' 'DOMAIN' "$domain"
|
||||
is_object_unsuspended 'web' 'DOMAIN' "$domain"
|
||||
is_object_value_exist 'web' 'DOMAIN' "$domain" '$STATS'
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Defining statistic type
|
||||
get_domain_values 'web'
|
||||
|
||||
# Comparing stats types
|
||||
if [ "$STATS" == $type ]; then
|
||||
log_event "$OK" "$EVENT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Defining statistic dir
|
||||
stats_dir="$HOMEDIR/$user/web/$domain/stats"
|
||||
|
||||
# Deleting dir content
|
||||
rm -rf $stats_dir/*
|
||||
|
||||
# Deleting config
|
||||
rm -f $HOMEDIR/$user/conf/web/$STATS.$domain.conf
|
||||
|
||||
# Preparing domain values for the template substitution
|
||||
upd_web_domain_values
|
||||
|
||||
# Adding statistic config
|
||||
cat $WEBTPL/$type.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/$type.$domain.conf
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Update config
|
||||
update_object_value 'web' 'DOMAIN' "$domain" '$STATS' "$type"
|
||||
|
||||
# Logging
|
||||
log_history "$EVENT"
|
||||
log_event "$OK" "$EVENT"
|
||||
|
||||
exit
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
# info: change web domain template
|
||||
# options: user domain template
|
||||
# options: user domain template [restart]
|
||||
#
|
||||
# The function changes template of httpd.conf configuration file. The content
|
||||
# of webdomain directories remains untouched.
|
||||
|
@ -15,6 +15,7 @@ user=$1
|
|||
domain=$(idn -t --quiet -u "$2" )
|
||||
domain_idn=$(idn -t --quiet -a "$domain")
|
||||
template=$3
|
||||
restart=$4
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
|
@ -26,7 +27,7 @@ source $VESTA/func/domain.sh
|
|||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '3' "$#" 'user domain template'
|
||||
check_args '3' "$#" 'user domain template [restart]'
|
||||
validate_format 'user' 'domain' 'template'
|
||||
is_system_enabled "$WEB_SYSTEM"
|
||||
is_object_valid 'user' 'USER' "$user"
|
||||
|
@ -170,7 +171,9 @@ for keys in $(cat $WEBTPL/apache_$template.descr|grep -v '#'); do
|
|||
done
|
||||
|
||||
# Restart web
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
if [ "$restart" != 'no' ]; then
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
fi
|
||||
|
||||
# Logging
|
||||
log_history "$EVENT"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
# info: delete web domain alias
|
||||
# options: user domain alias
|
||||
# options: user domain alias [restart]
|
||||
#
|
||||
# The function of deleting the alias domain (parked domain). By this call
|
||||
# default www aliase can be removed as well.
|
||||
|
@ -16,6 +16,7 @@ domain=$(idn -t --quiet -u "$2" )
|
|||
domain_idn=$(idn -t --quiet -a "$domain" )
|
||||
dom_alias=$(idn -t --quiet -u "$3" )
|
||||
dom_alias_idn=$(idn -t --quiet -a "$dom_alias" )
|
||||
restart="$4"
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
|
@ -27,7 +28,7 @@ source $VESTA/func/domain.sh
|
|||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '3' "$#" 'user domain dom_alias'
|
||||
check_args '3' "$#" 'user domain dom_alias [restart]'
|
||||
validate_format 'user' 'domain' 'dom_alias'
|
||||
is_system_enabled 'WEB_SYSTEM'
|
||||
is_object_valid 'user' 'USER' "$user"
|
||||
|
@ -97,7 +98,9 @@ update_object_value 'web' 'DOMAIN' "$domain" '$ALIAS' "$ALIAS"
|
|||
decrease_user_value "$user" '$U_WEB_ALIASES'
|
||||
|
||||
# Restart web server
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
if [ "$restart" != 'no' ]; then
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
fi
|
||||
|
||||
# Logging
|
||||
log_history "$EVENT"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
# info: delete web domain error loggin support
|
||||
# options: user domain
|
||||
# options: user domain [restart]
|
||||
#
|
||||
# The function of disabling error logging feature. It comments ErrorLog
|
||||
# direcitve in apache or/and nginx configuration. The data already collected
|
||||
|
@ -15,6 +15,7 @@
|
|||
user=$1
|
||||
domain=$(idn -t --quiet -u "$2" )
|
||||
domain_idn=$(idn -t --quiet -a "$domain")
|
||||
restart=$3
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
|
@ -26,7 +27,7 @@ source $VESTA/func/domain.sh
|
|||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '2' "$#" 'user domain'
|
||||
check_args '2' "$#" 'user domain [restart]'
|
||||
validate_format 'user' 'domain'
|
||||
is_system_enabled "$WEB_SYSTEM"
|
||||
is_object_valid 'user' 'USER' "$user" "$user"
|
||||
|
@ -86,7 +87,9 @@ fi
|
|||
update_object_value 'web' 'DOMAIN' "$domain" '$ELOG' 'no'
|
||||
|
||||
# Restart web server
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
if [ "$restart" != 'no' ]; then
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
fi
|
||||
|
||||
# Logging
|
||||
log_history "$EVENT"
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
user=$1
|
||||
domain=$(idn -t --quiet -u "$2" )
|
||||
domain_idn=$(idn -t --quiet -a "$domain")
|
||||
restart=$3
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
|
@ -75,7 +76,9 @@ if [ -z "$last_nginx" ]; then
|
|||
fi
|
||||
|
||||
# Restart web server
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
if [ "$restart" != 'no' ]; then
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
fi
|
||||
|
||||
# Logging
|
||||
log_history "$EVENT"
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
user=$1
|
||||
domain=$(idn -t --quiet -u "$2" )
|
||||
domain_idn=$(idn -t --quiet -a "$domain")
|
||||
restart=$3
|
||||
|
||||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
|
@ -89,7 +90,9 @@ fi
|
|||
decrease_user_value "$user" '$U_WEB_SSL'
|
||||
|
||||
# Restart web server
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
if [ "$restart" != 'no' ]; then
|
||||
$BIN/v_restart_web "$EVENT"
|
||||
fi
|
||||
|
||||
# Logging
|
||||
log_history "$EVENT"
|
||||
|
|
|
@ -76,7 +76,7 @@ conf=$USER_DATA/web.conf
|
|||
|
||||
# Defining fileds to select
|
||||
fields='$DOMAIN $IP $IP6 $U_DISK $U_BANDWIDTH $TPL $ALIAS $PHP $CGI $ELOG
|
||||
$STATS $STATS_AUTH $SSL $SSL_HOME $NGINX $NGINX_EXT $SUSPENDED $DATE'
|
||||
$STATS $STATS_USER $SSL $SSL_HOME $NGINX $NGINX_EXT $SUSPENDED $TIME $DATE'
|
||||
|
||||
# Listing domains
|
||||
case $format in
|
||||
|
|
|
@ -35,7 +35,7 @@ conf=$USER_DATA/web.conf
|
|||
|
||||
# Defining fileds to select
|
||||
fields="\$DOMAIN \$IP \$IP6 \$U_DISK \$U_BANDWIDTH \$TPL \$ALIAS \$PHP \$CGI"
|
||||
fields="$fields \$ELOG \$STATS \$STATS_AUTH \$SSL \$SSL_HOME \$NGINX"
|
||||
fields="$fields \$ELOG \$STATS \$STATS_USER \$SSL \$SSL_HOME \$NGINX"
|
||||
fields="$fields \$NGINX_EXT \$SUSPENDED \$TIME \$DATE"
|
||||
|
||||
# Listing domains
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
WEB_DOMAINS='100'
|
||||
WEB_ALIASES='100'
|
||||
WEB_TPL='default,phpfcgi,unlim'
|
||||
WEB_TPL='default,phpfcgid,unlim'
|
||||
DNS_DOMAINS='100'
|
||||
DNS_RECORDS='100'
|
||||
MAIL_DOMAINS='100'
|
||||
|
|
|
@ -16,11 +16,6 @@
|
|||
SSLRequireSSL
|
||||
Options +Includes -Indexes %cgi_option%
|
||||
php_admin_value upload_tmp_dir %home%/%user%/tmp
|
||||
php_admin_value upload_max_filesize 60M
|
||||
php_admin_value max_execution_time 60
|
||||
php_admin_value post_max_size 60M
|
||||
php_admin_value memory_limit 60M
|
||||
php_admin_flag mysql.allow_persistent off
|
||||
php_admin_flag safe_mode off
|
||||
php_admin_value session.save_path %home%/%user%/tmp
|
||||
php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f %email%'
|
||||
|
|
|
@ -15,11 +15,6 @@
|
|||
AllowOverride All
|
||||
Options +Includes -Indexes %cgi_option%
|
||||
php_admin_value upload_tmp_dir %home%/%user%/tmp
|
||||
php_admin_value upload_max_filesize 60M
|
||||
php_admin_value max_execution_time 60
|
||||
php_admin_value post_max_size 60M
|
||||
php_admin_value memory_limit 60M
|
||||
php_admin_flag mysql.allow_persistent off
|
||||
php_admin_flag safe_mode off
|
||||
php_admin_value session.save_path %home%/%user%/tmp
|
||||
php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f %email%'
|
||||
|
|
|
@ -17,7 +17,7 @@ is_nginx_template_valid() {
|
|||
d="$WEBTPL/ngingx_vhost_$template.descr"
|
||||
s="$WEBTPL/ngingx_vhost_$template.stpl"
|
||||
if [ ! -e $t ] || [ ! -e $d ] || [ ! -e $s ]; then
|
||||
echo "Error: $template not found"
|
||||
echo "Error: nginx $template not found"
|
||||
log_event "$E_NOTEXIST" "$EVENT"
|
||||
exit $E_NOTEXIST
|
||||
fi
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
// Init
|
||||
//error_reporting(NULL);
|
||||
error_reporting(NULL);
|
||||
ob_start();
|
||||
session_start();
|
||||
$TAB = 'WEB';
|
||||
|
@ -20,15 +20,15 @@ if ($_SESSION['user'] == 'admin') {
|
|||
header("Location: /list/web/");
|
||||
}
|
||||
|
||||
// OK
|
||||
// Action
|
||||
if (!empty($_POST['ok'])) {
|
||||
// Check input
|
||||
if (empty($_POST['v_domain'])) $errors[] = 'domain';
|
||||
if (empty($_POST['v_ip'])) $errors[] = 'ip';
|
||||
if (empty($_POST['v_template'])) $errors[] = 'template';
|
||||
if ((!empty($_POST['v_ssl'])) && (empty($_POST['v_ssl_cert']))) $errors[] = 'ssl certificate';
|
||||
if ((!empty($_POST['v_ssl'])) && (empty($_POST['v_ssl_crt']))) $errors[] = 'ssl certificate';
|
||||
if ((!empty($_POST['v_ssl'])) && (empty($_POST['v_ssl_key']))) $errors[] = 'ssl key';
|
||||
if ((!empty($_POST['v_aliases'])) || (!empty($_POST['v_elog'])) || (!empty($_POST['v_ssl'])) || (!empty($_POST['v_ssl_cert'])) || (!empty($_POST['v_ssl_key'])) || (!empty($_POST['v_ssl_pem'])) || ($_POST['v_stats'] != 'none')) $v_adv = 'yes';
|
||||
if ((!empty($_POST['v_aliases'])) || (!empty($_POST['v_elog'])) || (!empty($_POST['v_ssl'])) || (!empty($_POST['v_ssl_crt'])) || (!empty($_POST['v_ssl_key'])) || (!empty($_POST['v_ssl_ca'])) || ($_POST['v_stats'] != 'none')) $v_adv = 'yes';
|
||||
|
||||
// Protect input
|
||||
$v_domain = preg_replace("/^www./i", "", $_POST['v_domain']);
|
||||
|
@ -41,9 +41,9 @@ if ($_SESSION['user'] == 'admin') {
|
|||
$v_elog = $_POST['v_elog'];
|
||||
$v_nginx = $_POST['v_nginx'];
|
||||
$v_ssl = $_POST['v_ssl'];
|
||||
$v_ssl_cert = $_POST['v_ssl_cert'];
|
||||
$v_ssl_crt = $_POST['v_ssl_crt'];
|
||||
$v_ssl_key = $_POST['v_ssl_key'];
|
||||
$v_ssl_pem = $_POST['v_ssl_pem'];
|
||||
$v_ssl_ca = $_POST['v_ssl_ca'];
|
||||
$v_stats = escapeshellarg($_POST['v_stats']);
|
||||
|
||||
// Check for errors
|
||||
|
@ -57,6 +57,7 @@ if ($_SESSION['user'] == 'admin') {
|
|||
}
|
||||
$_SESSION['error_msg'] = "Error: field ".$error_msg." can not be blank.";
|
||||
} else {
|
||||
// Add WEB
|
||||
exec (VESTA_CMD."v_add_web_domain ".$user." ".$v_domain." ".$v_ip." ".$v_template." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
|
@ -92,7 +93,7 @@ if ($_SESSION['user'] == 'admin') {
|
|||
$valiases = preg_replace("/\n/", " ", $_POST['v_aliases']);
|
||||
$valiases = preg_replace("/,/", " ", $valiases);
|
||||
$valiases = preg_replace('/\s+/', ' ',$valiases);
|
||||
|
||||
$valiases = trim($valiases);
|
||||
$aliases = explode(" ", $valiases);
|
||||
foreach ($aliases as $alias) {
|
||||
$alias = escapeshellarg($alias);
|
||||
|
@ -146,23 +147,23 @@ if ($_SESSION['user'] == 'admin') {
|
|||
$tmpdir = $output[0];
|
||||
|
||||
// Certificate
|
||||
if (!empty($_POST['v_ssl_cert'])) {
|
||||
if (!empty($_POST['v_ssl_crt'])) {
|
||||
$fp = fopen($tmpdir."/".$_POST['v_domain'].".crt", 'w');
|
||||
fwrite($fp, $_POST['v_ssl_cert']."\n");
|
||||
fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_crt']));
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
// Key
|
||||
if (!empty($_POST['v_ssl_key'])) {
|
||||
$fp = fopen($tmpdir."/".$_POST['v_domain'].".key", 'w');
|
||||
fwrite($fp, $_POST['v_ssl_key']."\n");
|
||||
fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_key']));
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
// Pem
|
||||
if (!empty($_POST['v_ssl_pem'])) {
|
||||
$fp = fopen($tmpdir."/".$_POST['v_domain'].".pem", 'w');
|
||||
fwrite($fp, $_POST['v_ssl_pem']."\n");
|
||||
// CA
|
||||
if (!empty($_POST['v_ssl_ca'])) {
|
||||
$fp = fopen($tmpdir."/".$_POST['v_domain'].".ca", 'w');
|
||||
fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_ca']));
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
|
@ -199,9 +200,9 @@ if ($_SESSION['user'] == 'admin') {
|
|||
unset($v_domain);
|
||||
unset($v_aliases);
|
||||
unset($v_ssl);
|
||||
unset($v_ssl_cert);
|
||||
unset($v_ssl_crt);
|
||||
unset($v_ssl_key);
|
||||
unset($v_ssl_pem);
|
||||
unset($v_ssl_ca);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
// Init
|
||||
//error_reporting(NULL);
|
||||
error_reporting(NULL);
|
||||
ob_start();
|
||||
session_start();
|
||||
|
||||
|
@ -34,6 +34,7 @@ if ($_SESSION['user'] == 'admin') {
|
|||
$_SESSION['error_msg'] = $error;
|
||||
} else {
|
||||
$data = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
$v_username = $_GET['user'];
|
||||
$v_password = "••••••••";
|
||||
$v_email = $data[$v_username]['CONTACT'];
|
||||
|
@ -56,8 +57,6 @@ if ($_SESSION['user'] == 'admin') {
|
|||
$v_time = $data[$v_username]['TIME'];
|
||||
$v_date = $data[$v_username]['DATE'];
|
||||
|
||||
unset($output);
|
||||
|
||||
exec (VESTA_CMD."v_list_user_packages json", $output, $return_var);
|
||||
$packages = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
|
@ -67,9 +66,11 @@ if ($_SESSION['user'] == 'admin') {
|
|||
unset($output);
|
||||
}
|
||||
|
||||
// Action
|
||||
if (!empty($_POST['save'])) {
|
||||
$v_username = escapeshellarg($_POST['v_username']);
|
||||
|
||||
// Change password
|
||||
if (($v_password != $_POST['v_password']) && (empty($_SESSION['error_msg']))) {
|
||||
$v_password = escapeshellarg($_POST['v_password']);
|
||||
exec (VESTA_CMD."v_change_user_password ".$v_username." ".$v_password, $output, $return_var);
|
||||
|
@ -82,6 +83,7 @@ if ($_SESSION['user'] == 'admin') {
|
|||
unset($output);
|
||||
}
|
||||
|
||||
// Change package
|
||||
if (($v_package != $_POST['v_package']) && (empty($_SESSION['error_msg']))) {
|
||||
$v_package = escapeshellarg($_POST['v_package']);
|
||||
exec (VESTA_CMD."v_change_user_package ".$v_username." ".$v_package, $output, $return_var);
|
||||
|
@ -93,6 +95,7 @@ if ($_SESSION['user'] == 'admin') {
|
|||
unset($output);
|
||||
}
|
||||
|
||||
// Change shell
|
||||
if (($v_shell != $_POST['v_shell']) && (empty($_SESSION['error_msg']))) {
|
||||
$v_shell = escapeshellarg($_POST['v_shell']);
|
||||
exec (VESTA_CMD."v_change_user_shell ".$v_username." ".$v_shell, $output, $return_var);
|
||||
|
@ -104,6 +107,7 @@ if ($_SESSION['user'] == 'admin') {
|
|||
unset($output);
|
||||
}
|
||||
|
||||
// Change contact email
|
||||
if (($v_email != $_POST['v_email']) && (empty($_SESSION['error_msg']))) {
|
||||
$v_email = escapeshellarg($_POST['v_email']);
|
||||
exec (VESTA_CMD."v_change_user_contact ".$v_username." ".$v_email, $output, $return_var);
|
||||
|
@ -115,6 +119,7 @@ if ($_SESSION['user'] == 'admin') {
|
|||
unset($output);
|
||||
}
|
||||
|
||||
// Change Name
|
||||
if (($v_fname != $_POST['v_fname']) || ($v_lname != $_POST['v_lname']) && (empty($_SESSION['error_msg']))) {
|
||||
$v_fname = escapeshellarg($_POST['v_fname']);
|
||||
$v_lname = escapeshellarg($_POST['v_lname']);
|
||||
|
@ -127,12 +132,12 @@ if ($_SESSION['user'] == 'admin') {
|
|||
unset($output);
|
||||
}
|
||||
|
||||
// Change NameServers
|
||||
if (($v_ns1 != $_POST['v_ns1']) || ($v_ns2 != $_POST['v_ns2']) || ($v_ns3 != $_POST['v_ns3']) || ($v_ns4 != $_POST['v_ns4']) && (empty($_SESSION['error_msg']))) {
|
||||
$v_ns1 = escapeshellarg($_POST['v_ns1']);
|
||||
$v_ns2 = escapeshellarg($_POST['v_ns2']);
|
||||
$v_ns3 = escapeshellarg($_POST['v_ns3']);
|
||||
$v_ns4 = escapeshellarg($_POST['v_ns4']);
|
||||
|
||||
$ns_cmd = VESTA_CMD."v_change_user_ns ".$v_username." ".$v_ns1." ".$v_ns2;
|
||||
if (!empty($_POST['v_ns3'])) $ns_cmd = $ns_cmd." ".$v_ns3;
|
||||
if (!empty($_POST['v_ns4'])) $ns_cmd = $ns_cmd." ".$v_ns4;
|
||||
|
@ -153,8 +158,6 @@ if ($_SESSION['user'] == 'admin') {
|
|||
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/edit_user.html');
|
||||
unset($_SESSION['error_msg']);
|
||||
unset($_SESSION['ok_msg']);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Footer
|
||||
|
|
522
web/edit/web/index.php
Normal file
522
web/edit/web/index.php
Normal file
|
@ -0,0 +1,522 @@
|
|||
<?php
|
||||
// Init
|
||||
//error_reporting(NULL);
|
||||
ob_start();
|
||||
session_start();
|
||||
|
||||
$TAB = 'WEB';
|
||||
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
||||
|
||||
// Header
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
|
||||
|
||||
// Panel
|
||||
top_panel($user,$TAB);
|
||||
|
||||
// Are you admin?
|
||||
if ($_SESSION['user'] == 'admin') {
|
||||
|
||||
// Check user argument?
|
||||
if (empty($_GET['domain'])) {
|
||||
header("Location: /list/web/");
|
||||
}
|
||||
|
||||
if (!empty($_POST['cancel'])) {
|
||||
header("Location: /list/web/");
|
||||
}
|
||||
|
||||
// Check domain
|
||||
$v_domain = escapeshellarg($_GET['domain']);
|
||||
exec (VESTA_CMD."v_list_web_domain ".$user." ".$v_domain." json", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
} else {
|
||||
$data = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
$v_username = $user;
|
||||
$v_domain = $_GET['domain'];
|
||||
$v_ip = $data[$v_domain]['IP'];
|
||||
$v_template = $data[$v_domain]['TPL'];
|
||||
$v_aliases = str_replace(',', "\n", $data[$v_domain]['ALIAS']);
|
||||
$valiases = explode(",", $data[$v_domain]['ALIAS']);
|
||||
$v_tpl = $data[$v_domain]['IP'];
|
||||
$v_cgi = $data[$v_domain]['CGI'];
|
||||
$v_elog = $data[$v_domain]['ELOG'];
|
||||
$v_ssl = $data[$v_domain]['SSL'];
|
||||
if ( $v_ssl == 'yes' ) {
|
||||
exec (VESTA_CMD."v_list_web_domain_ssl ".$user." '".$v_domain."' json", $output, $return_var);
|
||||
$ssl_str = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
$v_ssl_crt = $ssl_str[$v_domain]['CRT'];
|
||||
$v_ssl_key = $ssl_str[$v_domain]['KEY'];
|
||||
$v_ssl_ca = $ssl_str[$v_domain]['CA'];
|
||||
}
|
||||
$v_ssl_home = $data[$v_domain]['SSL_HOME'];
|
||||
$v_nginx = $data[$v_domain]['NGINX'];
|
||||
$v_nginx_ext = str_replace(',', ', ', $data[$v_domain]['NGINX_EXT']);
|
||||
$v_stats = $data[$v_domain]['STATS'];
|
||||
$v_stats_user = $data[$v_domain]['STATS_USER'];
|
||||
if (!empty($v_stats_user)) $v_stats_password = "••••••••";
|
||||
$v_suspended = $data[$v_domain]['SUSPENDED'];
|
||||
if ( $v_suspended == 'yes' ) {
|
||||
$v_status = 'suspended';
|
||||
} else {
|
||||
$v_status = 'active';
|
||||
}
|
||||
$v_time = $data[$v_domain]['TIME'];
|
||||
$v_date = $data[$v_domain]['DATE'];
|
||||
|
||||
exec (VESTA_CMD."v_list_user_ips ".$user." json", $output, $return_var);
|
||||
$ips = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
|
||||
exec (VESTA_CMD."v_list_web_templates ".$user." json", $output, $return_var);
|
||||
$templates = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
|
||||
exec (VESTA_CMD."v_list_web_stats json", $output, $return_var);
|
||||
$stats = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
}
|
||||
|
||||
// Action
|
||||
if (!empty($_POST['save'])) {
|
||||
$v_domain = escapeshellarg($_POST['v_domain']);
|
||||
|
||||
// IP
|
||||
if (($v_ip != $_POST['v_ip']) && (empty($_SESSION['error_msg']))) {
|
||||
$v_ip = escapeshellarg($_POST['v_ip']);
|
||||
exec (VESTA_CMD."v_change_web_domain_ip ".$v_username." ".$v_domain." ".$v_ip." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
$restart_web = 'yes';
|
||||
unset($output);
|
||||
exec (VESTA_CMD."v_list_dns_domain ".$v_username." ".$v_domain." json", $output, $return_var);
|
||||
if ((empty($_SESSION['error_msg'])) && ($return_var == 0 )) {
|
||||
exec (VESTA_CMD."v_change_dns_domain_ip ".$v_username." ".$v_domain." ".$v_ip." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
$restart_dns = 'yes';
|
||||
}
|
||||
unset($output);
|
||||
foreach($valiases as $v_alias ){
|
||||
exec (VESTA_CMD."v_list_dns_domain ".$v_username." '".$v_alias."' json", $output, $return_var);
|
||||
if ((empty($_SESSION['error_msg'])) && ($return_var == 0 )) {
|
||||
exec (VESTA_CMD."v_change_dns_domain_ip ".$v_username." '".$v_alias."' ".$v_ip, $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
$restart_dns = 'yes';
|
||||
}
|
||||
unset($output);
|
||||
}
|
||||
}
|
||||
|
||||
// Template
|
||||
if (($v_template != $_POST['v_template']) && (empty($_SESSION['error_msg']))) {
|
||||
$v_template = escapeshellarg($_POST['v_template']);
|
||||
exec (VESTA_CMD."v_change_web_domain_tpl ".$v_username." ".$v_domain." ".$v_template." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
$restart_web = 'yes';
|
||||
}
|
||||
|
||||
// Aliases
|
||||
if (empty($_SESSION['error_msg'])) {
|
||||
$waliases = preg_replace("/\n/", " ", $_POST['v_aliases']);
|
||||
$waliases = preg_replace("/,/", " ", $waliases);
|
||||
$waliases = preg_replace('/\s+/', ' ',$waliases);
|
||||
$waliases = trim($waliases);
|
||||
$aliases = explode(" ", $waliases);
|
||||
$v_aliases = str_replace(' ', "\n", $waliases);
|
||||
$result = array_diff($valiases, $aliases);
|
||||
foreach ($result as $alias) {
|
||||
if (empty($_SESSION['error_msg'])) {
|
||||
$restart_web = 'yes';
|
||||
$v_template = escapeshellarg($_POST['v_template']);
|
||||
exec (VESTA_CMD."v_delete_web_domain_alias ".$v_username." ".$v_domain." '".$alias."' 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
exec (VESTA_CMD."v_list_dns_domain ".$v_username." '".$alias."' json", $output, $return_var);
|
||||
if ((empty($_SESSION['error_msg'])) && ($return_var == 0 )) {
|
||||
exec (VESTA_CMD."v_delete_dns_domain ".$v_username." '".$alias."'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
$restart_dns = 'yes';
|
||||
}
|
||||
unset($output);
|
||||
}
|
||||
}
|
||||
|
||||
$result = array_diff($aliases, $valiases);
|
||||
foreach ($result as $alias) {
|
||||
if (empty($_SESSION['error_msg'])) {
|
||||
$restart_web = 'yes';
|
||||
$v_template = escapeshellarg($_POST['v_template']);
|
||||
exec (VESTA_CMD."v_add_web_domain_alias ".$v_username." ".$v_domain." '".$alias."' 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
exec (VESTA_CMD."v_list_dns_domain ".$v_username." '".$alias."' json", $output, $return_var);
|
||||
if ((empty($_SESSION['error_msg'])) && ($return_var == 0 )) {
|
||||
exec (VESTA_CMD."v_add_dns_domain ".$v_username." '".$alias."' ".$v_ip, $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
$restart_dns = 'yes';
|
||||
}
|
||||
unset($output);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Elog
|
||||
if (($v_elog == 'yes') && (empty($_POST['v_elog'])) && (empty($_SESSION['error_msg']))) {
|
||||
exec (VESTA_CMD."v_delete_web_domain_elog ".$v_username." ".$v_domain." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
$restart_web = 'yes';
|
||||
$v_elog = 'no';
|
||||
}
|
||||
if (($v_elog == 'no') && (!empty($_POST['v_elog'])) && (empty($_SESSION['error_msg'])) ) {
|
||||
exec (VESTA_CMD."v_add_web_domain_elog ".$v_username." ".$v_domain." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
$restart_web = 'yes';
|
||||
$v_elog = 'yes';
|
||||
}
|
||||
|
||||
// Nginx
|
||||
if ((!empty($v_nginx)) && (empty($_POST['v_nginx'])) && (empty($_SESSION['error_msg']))) {
|
||||
exec (VESTA_CMD."v_delete_web_domain_nginx ".$v_username." ".$v_domain." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
unset($v_nginx);
|
||||
$restart_web = 'yes';
|
||||
}
|
||||
if ((!empty($v_nginx)) && (!empty($_POST['v_nginx'])) && (empty($_SESSION['error_msg']))) {
|
||||
$ext = preg_replace("/\n/", " ", $_POST['v_nginx_ext']);
|
||||
$ext = preg_replace("/,/", " ", $ext);
|
||||
$ext = preg_replace('/\s+/', ' ',$ext);
|
||||
$ext = trim($ext);
|
||||
$ext = str_replace(' ', ", ", $ext);
|
||||
if ( $v_nginx_ext != $ext ) {
|
||||
$ext = str_replace(', ', ",", $ext);
|
||||
exec (VESTA_CMD."v_change_web_domain_nginx_tpl ".$v_username." ".$v_domain." 'default' ".escapeshellarg($ext)." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
$v_nginx_ext = str_replace(',', ', ', $ext);
|
||||
unset($output);
|
||||
$restart_web = 'yes';
|
||||
}
|
||||
}
|
||||
if ((empty($v_nginx)) && (!empty($_POST['v_nginx'])) && (empty($_SESSION['error_msg']))) {
|
||||
$nginx_ext = "'jpg,jpeg,gif,png,ico,css,zip,tgz,gz,rar,bz2,doc,xls,exe,pdf,ppt,txt,tar,wav,bmp,rtf,js,mp3,avi,mpeg,html,htm'";
|
||||
if (!empty($_POST['v_nginx_ext'])) {
|
||||
$ext = preg_replace("/\n/", " ", $_POST['v_nginx_ext']);
|
||||
$ext = preg_replace("/,/", " ", $ext);
|
||||
$ext = preg_replace('/\s+/', ' ',$ext);
|
||||
$ext = trim($ext);
|
||||
$ext = str_replace(' ', ",", $ext);
|
||||
$v_nginx_ext = str_replace(',', ', ', $ext);
|
||||
}
|
||||
exec (VESTA_CMD."v_add_web_domain_nginx ".$v_username." ".$v_domain." 'default' ".escapeshellarg($ext)." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
$v_nginx = 'default';
|
||||
$restart_web = 'yes';
|
||||
}
|
||||
|
||||
// SSL
|
||||
if (( $v_ssl == 'yes' ) && (empty($_POST['v_ssl'])) && (empty($_SESSION['error_msg']))) {
|
||||
exec (VESTA_CMD."v_delete_web_domain_ssl ".$v_username." ".$v_domain." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
$v_ssl = 'no';
|
||||
$restart_web = 'yes';
|
||||
}
|
||||
if (($v_ssl == 'yes') && (!empty($_POST['v_ssl'])) && (empty($_SESSION['error_msg']))) {
|
||||
if (( $v_ssl_crt != str_replace("\r\n", "\n", $_POST['v_ssl_crt'])) || ( $v_ssl_key != str_replace("\r\n", "\n", $_POST['v_ssl_key'])) || ( $v_ssl_ca != str_replace("\r\n", "\n", $_POST['v_ssl_ca']))) {
|
||||
exec ('mktemp -d', $mktemp_output, $return_var);
|
||||
$tmpdir = $mktemp_output[0];
|
||||
|
||||
// Certificate
|
||||
if (!empty($_POST['v_ssl_crt'])) {
|
||||
$fp = fopen($tmpdir."/".$_POST['v_domain'].".crt", 'w');
|
||||
fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_crt']));
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
// Key
|
||||
if (!empty($_POST['v_ssl_key'])) {
|
||||
$fp = fopen($tmpdir."/".$_POST['v_domain'].".key", 'w');
|
||||
fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_key']));
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
// CA
|
||||
if (!empty($_POST['v_ssl_ca'])) {
|
||||
$fp = fopen($tmpdir."/".$_POST['v_domain'].".ca", 'w');
|
||||
fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_ca']));
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
exec (VESTA_CMD."v_change_web_domain_sslcert ".$user." ".$v_domain." ".$tmpdir." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
$restart_web = 'yes';
|
||||
$v_ssl_crt = $_POST['v_ssl_crt'];
|
||||
$v_ssl_key = $_POST['v_ssl_key'];
|
||||
$v_ssl_ca = $_POST['v_ssl_ca'];
|
||||
}
|
||||
}
|
||||
if (( $v_ssl == 'yes') && (!empty($_POST['v_ssl'])) && (empty($_SESSION['error_msg']))) {
|
||||
if ( $v_ssl_home != $_POST['v_ssl_home'] ) {
|
||||
$v_ssl_home = escapeshellarg($_POST['v_ssl_home']);
|
||||
exec (VESTA_CMD."v_change_web_domain_sslhome ".$user." ".$v_domain." ".$v_ssl_home." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
$v_ssl_home = $_POST['v_ssl_home'];
|
||||
unset($output);
|
||||
}
|
||||
}
|
||||
if (( $v_ssl == 'no') && (!empty($_POST['v_ssl'])) && (empty($_SESSION['error_msg']))) {
|
||||
if ((!empty($_POST['v_ssl'])) && (empty($_POST['v_ssl_crt']))) $errors[] = 'ssl certificate';
|
||||
if ((!empty($_POST['v_ssl'])) && (empty($_POST['v_ssl_key']))) $errors[] = 'ssl key';
|
||||
if ((!empty($_POST['v_ssl'])) && (empty($_POST['v_ssl_home']))) $errors[] = 'ssl home';
|
||||
$v_ssl_home = escapeshellarg($_POST['v_ssl_home']);
|
||||
if (!empty($errors[0])) {
|
||||
foreach ($errors as $i => $error) {
|
||||
if ( $i == 0 ) {
|
||||
$error_msg = $error;
|
||||
} else {
|
||||
$error_msg = $error_msg.", ".$error;
|
||||
}
|
||||
}
|
||||
$_SESSION['error_msg'] = "Error: field ".$error_msg." can not be blank.";
|
||||
} else {
|
||||
exec ('mktemp -d', $mktemp_output, $return_var);
|
||||
$tmpdir = $mktemp_output[0];
|
||||
|
||||
// Certificate
|
||||
if (!empty($_POST['v_ssl_crt'])) {
|
||||
$fp = fopen($tmpdir."/".$_POST['v_domain'].".crt", 'w');
|
||||
fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_crt']));
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
// Key
|
||||
if (!empty($_POST['v_ssl_key'])) {
|
||||
$fp = fopen($tmpdir."/".$_POST['v_domain'].".key", 'w');
|
||||
fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_key']));
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
// CA
|
||||
if (!empty($_POST['v_ssl_ca'])) {
|
||||
$fp = fopen($tmpdir."/".$_POST['v_domain'].".ca", 'w');
|
||||
fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_ca']));
|
||||
fclose($fp);
|
||||
}
|
||||
exec (VESTA_CMD."v_add_web_domain_ssl ".$user." ".$v_domain." ".$tmpdir." ".$v_ssl_home." 'no'", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
$v_ssl = 'yes';
|
||||
$restart_web = 'yes';
|
||||
$v_ssl_crt = $_POST['v_ssl_crt'];
|
||||
$v_ssl_key = $_POST['v_ssl_key'];
|
||||
$v_ssl_ca = $_POST['v_ssl_ca'];
|
||||
$v_ssl_home = $_POST['v_ssl_home'];
|
||||
}
|
||||
}
|
||||
|
||||
// Web Stats
|
||||
if ((!empty($v_stats)) && ($_POST['v_stats'] == 'none') && (empty($_SESSION['error_msg']))) {
|
||||
exec (VESTA_CMD."v_delete_web_domain_stats ".$v_username." ".$v_domain, $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
$v_stats = '';
|
||||
}
|
||||
if ((!empty($v_stats)) && ($_POST['v_stats'] != $v_stats) && (empty($_SESSION['error_msg']))) {
|
||||
$v_stats = escapeshellarg($_POST['v_stats']);
|
||||
exec (VESTA_CMD."v_change_web_domain_stats ".$v_username." ".$v_domain." ".$v_stats, $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
}
|
||||
if ((empty($v_stats)) && ($_POST['v_stats'] != 'none') && (empty($_SESSION['error_msg']))) {
|
||||
$v_stats = escapeshellarg($_POST['v_stats']);
|
||||
exec (VESTA_CMD."v_add_web_domain_stats ".$v_username." ".$v_domain." ".$v_stats, $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
}
|
||||
|
||||
// Web Stats Auth
|
||||
if ((!empty($v_stats_user)) && (empty($_POST['v_stats_auth'])) && (empty($_SESSION['error_msg']))) {
|
||||
exec (VESTA_CMD."v_delete_web_domain_stats_user ".$v_username." ".$v_domain, $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
$v_stats_user = '';
|
||||
$v_stats_password = '';
|
||||
}
|
||||
if ((empty($v_stats_user)) && (!empty($_POST['v_stats_auth'])) && (empty($_SESSION['error_msg']))) {
|
||||
if (empty($_POST['v_stats_user'])) $errors[] = 'stats username';
|
||||
if (empty($_POST['v_stats_password'])) $errors[] = 'stats password';
|
||||
if (!empty($errors[0])) {
|
||||
foreach ($errors as $i => $error) {
|
||||
if ( $i == 0 ) {
|
||||
$error_msg = $error;
|
||||
} else {
|
||||
$error_msg = $error_msg.", ".$error;
|
||||
}
|
||||
}
|
||||
$_SESSION['error_msg'] = "Error: field ".$error_msg." can not be blank.";
|
||||
} else {
|
||||
$v_stats_user = escapeshellarg($_POST['v_stats_user']);
|
||||
$v_stats_password = escapeshellarg($_POST['v_stats_password']);
|
||||
exec (VESTA_CMD."v_add_web_domain_stats_user ".$v_username." ".$v_domain." ".$v_stats_user." ".$v_stats_password, $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
$v_stats_password = "••••••••";
|
||||
}
|
||||
}
|
||||
if ((!empty($v_stats_user)) && (!empty($_POST['v_stats_auth'])) && (empty($_SESSION['error_msg']))) {
|
||||
if (empty($_POST['v_stats_user'])) $errors[] = 'stats user';
|
||||
if (empty($_POST['v_stats_password'])) $errors[] = 'stats password';
|
||||
if (!empty($errors[0])) {
|
||||
foreach ($errors as $i => $error) {
|
||||
if ( $i == 0 ) {
|
||||
$error_msg = $error;
|
||||
} else {
|
||||
$error_msg = $error_msg.", ".$error;
|
||||
}
|
||||
}
|
||||
$_SESSION['error_msg'] = "Error: field ".$error_msg." can not be blank.";
|
||||
}
|
||||
if (($v_stats_user != $_POST['v_stats_user']) || ($_POST['v_stats_password'] != "••••••••" ) && (empty($_SESSION['error_msg']))) {
|
||||
$v_stats_user = escapeshellarg($_POST['v_stats_user']);
|
||||
$v_stats_password = escapeshellarg($_POST['v_stats_password']);
|
||||
exec (VESTA_CMD."v_add_web_domain_stats_user ".$v_username." ".$v_domain." ".$v_stats_user." ".$v_stats_password, $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
$v_stats_password = "••••••••";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Restart web
|
||||
if (!empty($restart_web) && (empty($_SESSION['error_msg']))) {
|
||||
exec (VESTA_CMD."v_restart_web", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
}
|
||||
|
||||
// Restart dns
|
||||
if (!empty($restart_dns) && (empty($_SESSION['error_msg']))) {
|
||||
exec (VESTA_CMD."v_restart_dns", $output, $return_var);
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: vesta did not return any output.';
|
||||
$_SESSION['error_msg'] = $error;
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($_SESSION['error_msg'])) {
|
||||
$_SESSION['ok_msg'] = "OK: changes has been saved.";
|
||||
}
|
||||
|
||||
}
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/menu_edit_web.html');
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/edit_web.html');
|
||||
unset($_SESSION['error_msg']);
|
||||
unset($_SESSION['ok_msg']);
|
||||
}
|
||||
|
||||
// Footer
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');
|
|
@ -27,7 +27,7 @@ document.v_add_user.v_password.value = randomstring;
|
|||
<tr><td class="add-text" style="padding: 10 0 0 2px;">Username</td></tr>
|
||||
<tr><td><input type="text" size="20" class="add-input" name="v_username" <?php if (!empty($v_username)) echo "value=".$v_username; ?> ></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">
|
||||
Password <a href="#" onclick="randomString();" class="genpass">generate</a></td></tr>
|
||||
Password <a onclick="randomString();" class="genpass">generate</a></td></tr>
|
||||
<tr><td><input type="text" size="20" class="add-input" name="v_password"</tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Email</td></tr>
|
||||
<tr><td><input type="text" size="20" class="add-input" name="v_email" <?php if (!empty($v_email)) echo "value=".$v_email; ?>></tr>
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<tr><td><select class="add-list" name="v_ip">
|
||||
<?php
|
||||
foreach ($ips as $key => $value) {
|
||||
echo "\t\t\t\t<option value=\"".$key."\"";
|
||||
echo "\t\t\t\t<option value=\"".$key."\"";
|
||||
if ((!empty($v_ip)) && ( $key == $_POST['v_ip'])){
|
||||
echo ' selected';
|
||||
}
|
||||
|
@ -51,16 +51,16 @@
|
|||
}
|
||||
?>
|
||||
</select></td></tr>
|
||||
<tr><td class="add-text" style="padding: 10 0 0 2px;">DNS support</td></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">DNS support</td></tr>
|
||||
<tr><td><input type="checkbox" size="20" class="add-checkbox" name="v_dns" <?php if (empty($v_dns)) echo "checked=yes"; ?>></tr>
|
||||
|
||||
<tr><td class="add-text" style="padding: 10 0 0 2px;">Mail support</td></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Mail support</td></tr>
|
||||
<tr><td><input type="checkbox" size="20" class="add-checkbox" name="v_mail" <?php if (empty($v_mail)) echo "checked=yes"; ?>></tr>
|
||||
<tr><td class="add-text" style="padding: 10 0 0 2px;"><a href="javascript:elementHideShow('advtable');" class="add-advanced">Advanced Options ⇢</a></td></tr>
|
||||
<tr><td class="add-text" style="padding: 10 0 0 0px;">
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;"><a href="javascript:elementHideShow('advtable');" class="add-advanced">Advanced Options ⇢</a></td></tr>
|
||||
<tr><td class="add-text" style="padding: 9px 0 0 0px;">
|
||||
<table style="display:<?php if (empty($v_adv)) echo 'none';?> ;" id="advtable">
|
||||
<tr><td class="add-text" style="padding: 0 0 0 2px;">Aliases</td></tr>
|
||||
<tr><td><textarea size="20" class="add-input" name="v_aliases"><?php if (!empty($v_aliases)) echo $v_aliases; ?></textarea></td></tr>
|
||||
<tr><td><textarea size="20" class="add-textinput" name="v_aliases"><?php if (!empty($v_aliases)) echo $v_aliases; ?></textarea></td></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Error Logging</td></tr>
|
||||
<tr><td><input type="checkbox" size="20" class="add-checkbox" name="v_elog" <?php if (!empty($v_elog)) echo "checked=yes" ?>></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Nginx Support</td></tr>
|
||||
|
@ -68,11 +68,11 @@
|
|||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">SSL Support</td></tr>
|
||||
<tr><td><input type="checkbox" size="20" class="add-checkbox" name="v_ssl" <?php if (!empty($v_ssl)) echo "checked=yes" ?>></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">SSL Certificate</td></tr>
|
||||
<tr><td><textarea size="20" class="add-input" name="v_ssl_cert"><?php if (!empty($v_ssl_cert)) echo $v_ssl_cert; ?></textarea></tr>
|
||||
<tr><td><textarea size="20" class="add-textinput" name="v_ssl_crt"><?php if (!empty($v_ssl_crt)) echo $v_ssl_crt; ?></textarea></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">SSL Key</td></tr>
|
||||
<tr><td><textarea size="20" class="add-input" name="v_ssl_key"><?php if (!empty($v_ssl_key)) echo $v_ssl_key; ?></textarea></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">SSL PEM</td></tr>
|
||||
<tr><td><textarea size="20" class="add-input" name="v_ssl_pem"><?php if (!empty($v_ssl_pem)) echo $v_ssl_pem; ?></textarea></tr>
|
||||
<tr><td><textarea size="20" class="add-textinput" name="v_ssl_key"><?php if (!empty($v_ssl_key)) echo $v_ssl_key; ?></textarea></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">SSL Certificate Authority <span style="padding:0 0 0 6px; font-size: 10pt; color:#555;">(optional)</span></td></tr>
|
||||
<tr><td><textarea size="20" class="add-textinput" name="v_ssl_ca"><?php if (!empty($v_ssl_ca)) echo $v_ssl_ca; ?></textarea></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Web Statistics</td></tr>
|
||||
<tr><td><select class="add-list" name="v_stats">
|
||||
<?php
|
||||
|
|
121
web/templates/admin/edit_web.html
Normal file
121
web/templates/admin/edit_web.html
Normal file
|
@ -0,0 +1,121 @@
|
|||
<script type="text/javascript">
|
||||
function elementHideShow(elementToHideOrShow)
|
||||
{
|
||||
var el = document.getElementById(elementToHideOrShow);
|
||||
if (el.style.display == "block") {
|
||||
el.style.display = "none";
|
||||
} else {
|
||||
el.style.display = "block";
|
||||
}
|
||||
}
|
||||
function randomString() {
|
||||
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
|
||||
var string_length = 10;
|
||||
var randomstring = '';
|
||||
for (var i=0; i<string_length; i++) {
|
||||
var rnum = Math.floor(Math.random() * chars.length);
|
||||
randomstring += chars.substring(rnum,rnum+1);
|
||||
}
|
||||
document.getElementById('v_password').value = randomstring;
|
||||
}
|
||||
</script>
|
||||
<table class='data'>
|
||||
<tr class="data-add">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 20px 0 4px 4px;"><a class="data-date" ?><?php echo date("d M Y", strtotime($v_date))?></a></td></tr>
|
||||
<tr><td style="padding: 0 0 6px 4px;"><a class="data-date" ?><?php echo $v_time?></a></td></tr>
|
||||
<tr><td style="padding: 0 0 0 24px;" class="data-<?php echo $v_status ?>"><i><b><?php echo $v_status ?></b></i></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px"><tr>
|
||||
<td></td>
|
||||
</tr></table>
|
||||
<form method="post" name="v_edit_user">
|
||||
<table class="data-col2" width="830px">
|
||||
<tr><td class="add-text" style="padding: 10 0 0 2px;">Domain</td></tr>
|
||||
<tr><td><input type="text" size="20" class="add-input" name="v_domain" <?php if (!empty($v_domain)) echo "value=".$v_domain; ?> disabled> <input type="hidden" name="v_domain" <?php if (!empty($v_domain)) echo "value=".$v_domain; ?>></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">IP address</td></tr>
|
||||
<tr><td><select class="add-list" name="v_ip">
|
||||
<?php
|
||||
foreach ($ips as $key => $value) {
|
||||
echo "\t\t\t\t<option value=\"".$key."\"";
|
||||
$skey = "'".$key."'";
|
||||
if ((!empty($v_ip)) && ( $key == $v_ip ) || ( $skey == $v_ip )){
|
||||
echo ' selected';
|
||||
}
|
||||
echo ">".$key."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select></td></tr>
|
||||
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Template</td></tr>
|
||||
<tr><td><select class="add-list" name="v_template">
|
||||
<?php
|
||||
foreach ($templates as $key => $value) {
|
||||
echo "\t\t\t\t<option value=\"".$key."\"";
|
||||
$skey = "'".$key."'";
|
||||
if ((!empty($v_template)) && ( $key == $v_template ) || ($skey == $v_template)){
|
||||
echo ' selected' ;
|
||||
}
|
||||
echo ">".$key."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select></td></tr>
|
||||
<tr><td class="add-text" style="padding: 10 0 0 2px;">Aliases</td></tr>
|
||||
<tr><td><textarea size="20" class="add-textinput" name="v_aliases"><?php if (!empty($v_aliases)) echo $v_aliases; ?></textarea></td></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Error Logging</td></tr>
|
||||
<tr><td><input type="checkbox" size="20" class="add-checkbox" name="v_elog" <?php if ($v_elog == 'yes') echo "checked=yes" ?>></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Nginx Support</td></tr>
|
||||
<tr><td><input type="checkbox" size="20" class="add-checkbox" name="v_nginx" <?php if (!empty($v_nginx)) echo "checked=yes" ?> onclick="javascript:elementHideShow('nginxtable');"></tr>
|
||||
<tr><td><table style="display:<?php if (empty($v_nginx)) { echo 'none';} else {echo 'block';}?> ;" id="nginxtable"><tr>
|
||||
<tr><td class="add-text" style="padding: 9px 0 0 2px;">Nginx Supported Extentions</td></tr>
|
||||
<tr><td><textarea size="20" class="add-textinput" name="v_nginx_ext"><?php if (!empty($v_nginx_ext)) { echo $v_nginx_ext;} else { echo 'jpg, jpeg, gif, png, ico, svg, css, zip, tgz, gz, rar, bz2, exe, pdf, doc, xls, ppt, txt, odt, ods, odp, odf, tar, bmp, rtf, js, mp3, avi, mpeg, flv, html, htm'; } ?></textarea></tr>
|
||||
</td></tr></tr></table>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">SSL Support</td></tr>
|
||||
<tr><td><input type="checkbox" size="20" class="add-checkbox" name="v_ssl" <?php if ($v_ssl == 'yes') echo "checked=yes" ?> onclick="javascript:elementHideShow('ssltable');"></tr>
|
||||
<tr><td><table style="display:<?php if ($v_ssl == 'no' ) { echo 'none';} else {echo 'block';}?> ;" id="ssltable"><tr>
|
||||
<tr><td class="add-text" style="padding: 9px 0 0 2px;">SSL HomeDirectory</td></tr>
|
||||
<tr><td><select class="add-list" name="v_ssl_home">
|
||||
<option value='same' <?php if ($v_ssl_home == 'same') echo "selected";?> >public_html</option>
|
||||
<option value='single' <?php if ($v_ssl_home == 'single') echo "selected";?>>public_shtml</option>
|
||||
</select></td></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">SSL Certificate</td></tr>
|
||||
<tr><td><textarea size="20" class="add-textinput" name="v_ssl_crt"><?php if (!empty($v_ssl_crt)) echo $v_ssl_crt; ?></textarea></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">SSL Key</td></tr>
|
||||
<tr><td><textarea size="20" class="add-textinput" name="v_ssl_key"><?php if (!empty($v_ssl_key)) echo $v_ssl_key; ?></textarea></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">SSL Certificate Authority <span style="padding:0 0 0 6px; font-size: 10pt; color:#555;">(optional)</span></td></tr>
|
||||
<tr><td><textarea size="20" class="add-textinput" name="v_ssl_ca"><?php if (!empty($v_ssl_ca)) echo $v_ssl_ca; ?></textarea></tr>
|
||||
</td></tr></tr></table>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Web Statistics</td></tr>
|
||||
<tr><td><select class="add-list" name="v_stats">
|
||||
<?php
|
||||
foreach ($stats as $key => $value) {
|
||||
$svalue = "'".$value."'";
|
||||
echo "\t\t\t\t<option value=\"".$value."\"";
|
||||
if (empty($v_stats)) $v_stats = 'none';
|
||||
if (( $value == $v_stats ) || ($svalue == $v_stats )){
|
||||
echo ' selected' ;
|
||||
}
|
||||
echo ">".$value."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select></td></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Web Statistic Authorization</td></tr>
|
||||
<tr><td><input type="checkbox" size="20" class="add-checkbox" name="v_stats_auth" <?php if (!empty($v_stats_user)) echo "checked=yes" ?> onclick="javascript:elementHideShow('statstable');"> </tr>
|
||||
<tr><td><table style="display:<?php if (empty($v_stats_user)) { echo 'none';} else {echo 'block';}?> ;" id="statstable" name="v_add_web_domain_stats_user"><tr>
|
||||
<tr><td class="add-text" style="padding: 9px 0 0 2px;">Web Statistics Username</td></tr>
|
||||
<tr><td><input type="text" size="20" class="add-input" name="v_stats_user" <?php if (!empty($v_stats_user)) echo "value=".$v_stats_user; ?>></tr>
|
||||
<tr><td class="add-text" style="padding: 10px 0 0 2px;">Web Statistics Password <a onclick="randomString();" class="genpass">generate</a></td></tr>
|
||||
<tr><td><input type="text" size="20" class="add-input" name="v_stats_password" <?php if (!empty($v_stats_password)) echo "value=".$v_stats_password; ?> id="v_password"></tr>
|
||||
</td></tr></tr></table>
|
||||
<tr><td style="padding: 24px 0 0 0;">
|
||||
<input type="submit" class="add-button" name="save" value="Save">
|
||||
<input type="submit" class="add-button" name="cancel" value="Cancel">
|
||||
</td></tr>
|
||||
</form>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
|
@ -28,7 +28,7 @@ foreach ($data as $key => $value) {
|
|||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px"><tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="118px"><img src="/images/new_window.png" width="8px" height="8px"><a href="#"> open web admin</a></td>
|
||||
<td class="data-controls" width="120px"><img src="/images/new_window.png" width="8px" height="8px"><a href="#"> open web admin</a></td>
|
||||
<td class="data-controls" width="50px"><img src="/images/edit.png" width="8px" height="8px"><a href="#"> edit</a></td>
|
||||
<td class="data-controls" width="80px"><img src="/images/suspend.png" width="7px" height="8px"><a href="#"> <?php echo $spnd_action ?></a></td>
|
||||
<td class="data-controls" width="70px"><img src="/images/delete.png" width="7px" height="7px"><a href="#"> delete</a></td>
|
||||
|
|
|
@ -28,8 +28,8 @@ foreach ($data as $key => $value) {
|
|||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px"><tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="96px"><img src="/images/more.png" width="8px" height="8px"><a href="?domain=<?php echo $key ?>"> list accounts</a></td>
|
||||
<td class="data-controls" width="92px"><img src="/images/add.png" width="8px" height="8px"><a href="?domain=<?php echo $key ?>"> add account</a></td>
|
||||
<td class="data-controls" width="100px"><img src="/images/more.png" width="8px" height="8px"><a href="?domain=<?php echo $key ?>"> list accounts</a></td>
|
||||
<td class="data-controls" width="98px"><img src="/images/add.png" width="8px" height="8px"><a href="?domain=<?php echo $key ?>"> add account</a></td>
|
||||
<td class="data-controls" width="50px"><img src="/images/edit.png" width="8px" height="8px"><a href="#"> edit</a></td>
|
||||
<td class="data-controls" width="80px"><img src="/images/suspend.png" width="7px" height="8px"><a href="#"> <?php echo $spnd_action ?></a></td>
|
||||
<td class="data-controls" width="70px"><img src="/images/delete.png" width="7px" height="7px"><a href="#"> delete</a></td>
|
||||
|
|
|
@ -10,6 +10,16 @@ foreach ($data as $key => $value) {
|
|||
$status = 'active';
|
||||
$spnd_action = 'suspend' ;
|
||||
}
|
||||
|
||||
if (!empty($data[$key]['SSL_HOME'])) {
|
||||
if ($data[$key]['SSL_HOME'] == 'same') {
|
||||
$ssl_home = 'public_html';
|
||||
} else {
|
||||
$ssl_home = 'public_shtml';
|
||||
}
|
||||
} else {
|
||||
$ssl_home = '';
|
||||
}
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
|
@ -24,7 +34,7 @@ foreach ($data as $key => $value) {
|
|||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px"><tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="50px"><img src="/images/edit.png" width="8px" height="8px"><a href="#"> edit</a></td>
|
||||
<td class="data-controls" width="50px"><img src="/images/edit.png" width="8px" height="8px"><a href="/edit/web/?domain=<?php echo "$key" ?>"> edit</a></td>
|
||||
<td class="data-controls" width="80px"><img src="/images/suspend.png" width="7px" height="8px"><a href="#"> <?php echo $spnd_action ?></a></td>
|
||||
<td class="data-controls" width="70px"><img src="/images/delete.png" width="7px" height="7px"><a href="#"> delete</a></td>
|
||||
</tr></table>
|
||||
|
@ -54,7 +64,7 @@ foreach ($data as $key => $value) {
|
|||
<td rowspan=4 style="vertical-align:top;" width="300">
|
||||
<table width="300">
|
||||
<tr><td class="counter-name" width="40%">SSL Support:</td><td class="counter-value"><?php echo $data[$key]['SSL'] ?></td></tr>
|
||||
<tr><td class="counter-name">SSL Home:</td><td class="counter-value"><?php echo $data[$key]['SSL_HOME'] ?></td></tr>
|
||||
<tr><td class="counter-name">SSL Home:</td><td class="counter-value"><?php echo $ssl_home ?></td></tr>
|
||||
<tr><td class="counter-name">Nginx Template:</td><td class="counter-value"><?php echo $data[$key]['NGINX'] ?></td></tr>
|
||||
<tr><td colspan="2" class="counter-name">Nginx Extentions: <a class="nginx-ext" style="padding: 0 12 0 12"><?php echo str_replace(',', ', ', $data[$key]['NGINX_EXT']) ?></td></tr>
|
||||
</table>
|
||||
|
|
15
web/templates/admin/menu_edit_web.html
Normal file
15
web/templates/admin/menu_edit_web.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
<table class="sub-menu">
|
||||
<tr>
|
||||
<td style="padding: 10px 2px 28px 0;" ><a class="add-name"><i>Editing Domain</i></a>
|
||||
<?php
|
||||
if (!empty($_SESSION['error_msg'])) {
|
||||
echo "<a class=\"add-error\"><i> → ".$_SESSION['error_msg']."</i></a>";
|
||||
} else {
|
||||
if (!empty($_SESSION['ok_msg'])) {
|
||||
echo "<a class=\"add-ok\"><i> → ".$_SESSION['ok_msg']."</i></a>";
|
||||
}
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
|
@ -1,11 +1,12 @@
|
|||
<table class="main"><tr><td>
|
||||
<table class="top">
|
||||
<tr>
|
||||
<td width="154px"><p class="hostname"><?php echo exec('hostname') ?></p></td>
|
||||
<td><a class="top-<?php if($TAB == 'IP' ) echo 's' ?>link" href="/list/ip/">IP Adresses </a></td>
|
||||
<td><a class="top-<?php if($TAB == 'RRD' ) echo 's' ?>link" href="/list/rrd/">RRD Graphics</a></td>
|
||||
<td><a class="top-<?php if($TAB == 'STATS' ) echo 's' ?>link" href="/list/stats/">Statistics</a></td>
|
||||
<td><a class="top-<?php if($TAB == 'LOG' ) echo 's' ?>link" href="/list/log/">History Log</a></td>
|
||||
<td width="188px"><p class="hostname"><?php echo exec('hostname') ?></p></td>
|
||||
<td width="100px"><a class="top-<?php if($TAB == 'IP' ) echo 's' ?>link" href="/list/ip/">IP Adresses </a></td>
|
||||
<td width="100px"><a class="top-<?php if($TAB == 'RRD' ) echo 's' ?>link" href="/list/rrd/">RRD Graphics</a></td>
|
||||
<td width="84px"><a class="top-<?php if($TAB == 'STATS' ) echo 's' ?>link" href="/list/stats/">Statistics</a></td>
|
||||
<td width="90px"><a class="top-<?php if($TAB == 'LOG' ) echo 's' ?>link" href="/list/log/">History Log</a></td>
|
||||
<td></td>
|
||||
<td width="260px"><b><?php if($user != $_SESSION['user']) echo 'admin / ' ?><?php echo $user ?></b><a class="top-link" style="padding: 0 0 0 6" href="/logout/">Log out</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
|
@ -27,7 +27,7 @@ if (!empty($_SESSION['look'])) {
|
|||
?>
|
||||
}
|
||||
.top {
|
||||
background: #484243;
|
||||
background: #574f51;
|
||||
color: #ebe2ae;
|
||||
padding: 0 10 0 0;
|
||||
margin-left: auto;
|
||||
|
@ -36,9 +36,11 @@ if (!empty($_SESSION['look'])) {
|
|||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 10pt;
|
||||
text-align: right;
|
||||
line-height: 1.4em;
|
||||
}
|
||||
|
||||
.top-link {
|
||||
font-family: 'Trebuchet MS';
|
||||
text-decoration: none;
|
||||
color: #dbdbdb;
|
||||
}
|
||||
|
@ -395,7 +397,7 @@ if (!empty($_SESSION['look'])) {
|
|||
|
||||
.counter-name {
|
||||
vertical-align:top;
|
||||
line-height: 1em;
|
||||
line-height: 1.2em;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 10pt;
|
||||
color: #484243;
|
||||
|
@ -459,6 +461,15 @@ if (!empty($_SESSION['look'])) {
|
|||
font-size: 12pt;
|
||||
}
|
||||
|
||||
.add-textinput {
|
||||
width: 280px;
|
||||
height: 120px;
|
||||
padding: 4px;
|
||||
font-size: 12pt;
|
||||
color: #555;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
.add-input {
|
||||
width: 280px;
|
||||
padding: 4px;
|
||||
|
@ -490,6 +501,7 @@ if (!empty($_SESSION['look'])) {
|
|||
font-family: Arial, Helvetica, sans-serif;
|
||||
padding: 0 5px 0 8px;
|
||||
letter-spacing: 0.1em;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.genpass:hover {
|
||||
|
|
16
web/test.php
16
web/test.php
|
@ -1,3 +1,15 @@
|
|||
<?php
|
||||
<br>
|
||||
<form method="post">
|
||||
<textarea size="20" class="add-input" name="v_ssl_cert"><?php if (!empty($v_ssl_cert)) echo $v_ssl_cert; ?></textarea>
|
||||
<br>
|
||||
<input type="submit" name="ok" value="OK" class="add-button">
|
||||
|
||||
echo $_SERVER['REQUEST_URI'];
|
||||
<br>
|
||||
<?php
|
||||
if (!empty($_POST['v_ssl_cert'])) {
|
||||
$fp = fopen("/tmp/test.crt", 'w');
|
||||
fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_cert']));
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue