diff --git a/install/autoupdate.php b/install/autoupdate.php index de53b241f69be9036df03cfdffd07a84d6970d67..52cab345d579b8dbf0c1c0b44b8fcb0111cda2f3 100644 --- a/install/autoupdate.php +++ b/install/autoupdate.php @@ -303,30 +303,32 @@ $inst->install_crontab(); //** Restart services: swriteln('Restarting services ...'); -if($conf['mysql']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mysql']['init_script'])) system($conf['init_scripts'].'/'.$conf['mysql']['init_script'].' reload'); +if($conf['mysql']['installed'] == true && $conf['mysql']['init_script'] != '') system($inst->getinitcommand($conf['mysql']['init_script'], 'reload')); if($conf['services']['mail']) { - if($conf['postfix']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['postfix']['init_script'])) system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart'); - if($conf['saslauthd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'])) system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart'); - if($conf['amavis']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['amavis']['init_script'])) system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart'); - if($conf['clamav']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['clamav']['init_script'])) system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart'); - if($conf['courier']['courier-authdaemon'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart'); - if($conf['courier']['courier-imap'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart'); - if($conf['courier']['courier-imap-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart'); - if($conf['courier']['courier-pop'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart'); - if($conf['courier']['courier-pop-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart'); - if($conf['dovecot']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['dovecot']['init_script'])) system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart'); - if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script'])) system($conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart'); + if($conf['postfix']['installed'] == true && $conf['postfix']['init_script'] != '') system($inst->getinitcommand($conf['postfix']['init_script'], 'restart')); + if($conf['saslauthd']['installed'] == true && $conf['saslauthd']['init_script'] != '') system($inst->getinitcommand($conf['saslauthd']['init_script'], 'restart')); + if($conf['amavis']['installed'] == true && $conf['amavis']['init_script'] != '') system($inst->getinitcommand($conf['amavis']['init_script'], 'restart')); + if($conf['clamav']['installed'] == true && $conf['clamav']['init_script'] != '') system($inst->getinitcommand($conf['clamav']['init_script'], 'restart')); + if($conf['courier']['installed'] == true){ + if($conf['courier']['courier-authdaemon'] != '') system($inst->getinitcommand($conf['courier']['courier-authdaemon'], 'restart')); + if($conf['courier']['courier-imap'] != '') system($inst->getinitcommand($conf['courier']['courier-imap'], 'restart')); + if($conf['courier']['courier-imap-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-imap-ssl'], 'restart')); + if($conf['courier']['courier-pop'] != '') system($inst->getinitcommand($conf['courier']['courier-pop'], 'restart')); + if($conf['courier']['courier-pop-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-pop-ssl'], 'restart')); + } + if($conf['dovecot']['installed'] == true && $conf['dovecot']['init_script'] != '') system($inst->getinitcommand($conf['dovecot']['init_script'], 'restart')); + if($conf['mailman']['installed'] == true && $conf['mailman']['init_script'] != '') system($inst->getinitcommand($conf['mailman']['init_script'], 'restart')); } if($conf['services']['web']) { - if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart'); + if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '') system($inst->getinitcommand($conf['apache']['init_script'], 'restart')); //* Reload is enough for nginx - if($conf['webserver']['server_type'] == 'nginx' && $conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' reload'); - if($conf['pureftpd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'])) system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart'); + if($conf['webserver']['server_type'] == 'nginx' && $conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'reload')); + if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart')); } if($conf['services']['dns']) { - if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mydns']['init_script'])) system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null'); - if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['powerdns']['init_script'])) system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null'); - if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['bind']['init_script'])) system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null'); + if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '') system($inst->getinitcommand($conf['mydns']['init_script'], 'restart').' &> /dev/null'); + if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '') system($inst->getinitcommand($conf['powerdns']['init_script'], 'restart').' &> /dev/null'); + if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '') system($inst->getinitcommand($conf['bind']['init_script'], 'restart').' &> /dev/null'); } echo "Update finished.\n"; diff --git a/install/install.php b/install/install.php index cbdf5d1c55df492f279009452470aaab3420b359..170cbdcea1c777fc4fcd5b28af9efc09e3507f33 100644 --- a/install/install.php +++ b/install/install.php @@ -314,32 +314,33 @@ if($install_mode == 'standard') { $inst->install_crontab(); swriteln('Restarting services ...'); - if($conf['mysql']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mysql']['init_script'])) system($conf['init_scripts'].'/'.$conf['mysql']['init_script'].' restart'); - if($conf['postfix']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['postfix']['init_script'])) system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart'); - if($conf['saslauthd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'])) system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart'); - if($conf['amavis']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['amavis']['init_script'])) system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart'); - if($conf['clamav']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['clamav']['init_script'])) system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart'); - if($conf['courier']['courier-authdaemon'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart'); - if($conf['courier']['courier-imap'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart'); - if($conf['courier']['courier-imap-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart'); - if($conf['courier']['courier-pop'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart'); - if($conf['courier']['courier-pop-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart'); - if($conf['dovecot']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['dovecot']['init_script'])) system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart'); - if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script'])) system('nohup '.$conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart >/dev/null 2>&1 &'); - if($conf['apache']['installed'] == true && $conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart'); + if($conf['mysql']['installed'] == true && $conf['mysql']['init_script'] != '') system($inst->getinitcommand($conf['mysql']['init_script'], 'restart')); + if($conf['postfix']['installed'] == true && $conf['postfix']['init_script'] != '') system($inst->getinitcommand($conf['postfix']['init_script'], 'restart')); + if($conf['saslauthd']['installed'] == true && $conf['saslauthd']['init_script'] != '') system($inst->getinitcommand($conf['saslauthd']['init_script'], 'restart')); + if($conf['amavis']['installed'] == true && $conf['amavis']['init_script'] != '') system($inst->getinitcommand($conf['amavis']['init_script'], 'restart')); + if($conf['clamav']['installed'] == true && $conf['clamav']['init_script'] != '') system($inst->getinitcommand($conf['clamav']['init_script'], 'restart')); + if($conf['courier']['installed'] == true){ + if($conf['courier']['courier-authdaemon'] != '') system($inst->getinitcommand($conf['courier']['courier-authdaemon'], 'restart')); + if($conf['courier']['courier-imap'] != '') system($inst->getinitcommand($conf['courier']['courier-imap'], 'restart')); + if($conf['courier']['courier-imap-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-imap-ssl'], 'restart')); + if($conf['courier']['courier-pop'] != '') system($inst->getinitcommand($conf['courier']['courier-pop'], 'restart')); + if($conf['courier']['courier-pop-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-pop-ssl'], 'restart')); + } + if($conf['dovecot']['installed'] == true && $conf['dovecot']['init_script'] != '') system($inst->getinitcommand($conf['dovecot']['init_script'], 'restart')); + if($conf['mailman']['installed'] == true && $conf['mailman']['init_script'] != '') system('nohup '.$inst->getinitcommand($conf['mailman']['init_script'], 'restart').' >/dev/null 2>&1 &'); + if($conf['apache']['installed'] == true && $conf['apache']['init_script'] != '') system($inst->getinitcommand($conf['apache']['init_script'], 'restart')); //* Reload is enough for nginx if($conf['nginx']['installed'] == true){ - if($conf['nginx']['php_fpm_init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'].' reload'); - if($conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' reload'); + if($conf['nginx']['php_fpm_init_script'] != '') system($inst->getinitcommand($conf['nginx']['php_fpm_init_script'], 'reload')); + if($conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'reload')); } - if($conf['pureftpd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'])) system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart'); - if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mydns']['init_script'])) system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null'); - if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['powerdns']['init_script'])) system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null'); - if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['bind']['init_script'])) system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null'); + if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart')); + if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '') system($inst->getinitcommand($conf['mydns']['init_script'], 'restart').' &> /dev/null'); + if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '') system($inst->getinitcommand($conf['powerdns']['init_script'], 'restart').' &> /dev/null'); + if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '') system($inst->getinitcommand($conf['bind']['init_script'], 'restart').' &> /dev/null'); //if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['squid']['init_script'])) system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null'); - if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' restart &> /dev/null'); - if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null'); -}else{ + if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'restart').' &> /dev/null'); + if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '') system($inst->getinitcommand($conf['ufw']['init_script'], 'restart').' &> /dev/null'); //* In expert mode, we select the services in the following steps, only db is always available $conf['services']['mail'] = false; @@ -453,17 +454,19 @@ if($install_mode == 'standard') { swriteln('Configuring Getmail'); $inst->configure_getmail(); - if($conf['postfix']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['postfix']['init_script'])) system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart'); - if($conf['saslauthd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'])) system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart'); - if($conf['amavis']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['amavis']['init_script'])) system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart'); - if($conf['clamav']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['clamav']['init_script'])) system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart'); - if($conf['courier']['courier-authdaemon'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart'); - if($conf['courier']['courier-imap'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart'); - if($conf['courier']['courier-imap-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart'); - if($conf['courier']['courier-pop'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart'); - if($conf['courier']['courier-pop-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart'); - if($conf['dovecot']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['dovecot']['init_script'])) system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart'); - if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script'])) system('nohup '.$conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart >/dev/null 2>&1 &'); + if($conf['postfix']['installed'] == true && $conf['postfix']['init_script'] != '') system($inst->getinitcommand($conf['postfix']['init_script'], 'restart')); + if($conf['saslauthd']['installed'] == true && $conf['saslauthd']['init_script'] != '') system($inst->getinitcommand($conf['saslauthd']['init_script'], 'restart')); + if($conf['amavis']['installed'] == true && $conf['amavis']['init_script'] != '') system($inst->getinitcommand($conf['amavis']['init_script'], 'restart')); + if($conf['clamav']['installed'] == true && $conf['clamav']['init_script'] != '') system($inst->getinitcommand($conf['clamav']['init_script'], 'restart')); + if($conf['courier']['installed'] == true){ + if($conf['courier']['courier-authdaemon'] != '') system($inst->getinitcommand($conf['courier']['courier-authdaemon'], 'restart')); + if($conf['courier']['courier-imap'] != '') system($inst->getinitcommand($conf['courier']['courier-imap'], 'restart')); + if($conf['courier']['courier-imap-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-imap-ssl'], 'restart')); + if($conf['courier']['courier-pop'] != '') system($inst->getinitcommand($conf['courier']['courier-pop'], 'restart')); + if($conf['courier']['courier-pop-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-pop-ssl'], 'restart')); + } + if($conf['dovecot']['installed'] == true && $conf['dovecot']['init_script'] != '') system($inst->getinitcommand($conf['dovecot']['init_script'], 'restart')); + if($conf['mailman']['installed'] == true && $conf['mailman']['init_script'] != '') system('nohup '.$inst->getinitcommand($conf['mailman']['init_script'], 'restart').' >/dev/null 2>&1 &'); } //** Configure Jailkit @@ -476,7 +479,7 @@ if($install_mode == 'standard') { if(strtolower($inst->simple_query('Configure FTP Server', array('y','n'),'y') ) == 'y') { swriteln('Configuring Pureftpd'); $inst->configure_pureftpd(); - if($conf['pureftpd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'])) system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart'); + if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart')); } //** Configure DNS @@ -486,15 +489,15 @@ if($install_mode == 'standard') { if($conf['powerdns']['installed'] == true) { swriteln('Configuring PowerDNS'); $inst->configure_powerdns(); - if($conf['powerdns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['powerdns']['init_script'])) system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null'); + if($conf['powerdns']['init_script'] != '') system($inst->getinitcommand($conf['powerdns']['init_script'], 'restart').' &> /dev/null'); } elseif($conf['bind']['installed'] == true) { swriteln('Configuring BIND'); $inst->configure_bind(); - if($conf['bind']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['bind']['init_script'])) system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null'); + if($conf['bind']['init_script'] != '') system($inst->getinitcommand($conf['bind']['init_script'], 'restart').' &> /dev/null'); } else { swriteln('Configuring MyDNS'); $inst->configure_mydns(); - if($conf['mydns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mydns']['init_script'])) system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null'); + if($conf['mydns']['init_script'] != '') system($inst->getinitcommand($conf['mydns']['init_script'], 'restart').' &> /dev/null'); } } @@ -617,11 +620,11 @@ if($install_mode == 'standard') { //* Configure ISPConfig swriteln('Installing ISPConfig crontab'); $inst->install_crontab(); - if($conf['apache']['installed'] == true && $conf['apache']['init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart'); + if($conf['apache']['installed'] == true && $conf['apache']['init_script'] != '') system($inst->getinitcommand($conf['apache']['init_script'], 'restart')); //* Reload is enough for nginx if($conf['nginx']['installed'] == true){ - if($conf['nginx']['php_fpm_init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'].' reload'); - if($conf['nginx']['init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' reload'); + if($conf['nginx']['php_fpm_init_script'] != '') system($inst->getinitcommand($conf['nginx']['php_fpm_init_script'], 'reload')); + if($conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'reload')); } diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index d77ab2170c0d11490b219de7cc1ab903c874a2f9..e46d977829f4e14679b4ce77d856d6e64a7d34a1 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -1131,7 +1131,8 @@ class installer_base { if(is_file('/etc/inetd.conf')) { replaceLine('/etc/inetd.conf','/usr/sbin/pure-ftpd-wrapper','#ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper',0,0); - if(is_file($conf['init_scripts'].'/'.'openbsd-inetd')) exec($conf['init_scripts'].'/'.'openbsd-inetd restart'); + exec($this->getinitcommand('openbsd-inetd', 'restart')); + //if(is_file($conf['init_scripts'].'/'.'openbsd-inetd')) exec($conf['init_scripts'].'/'.'openbsd-inetd restart'); } if(!is_file('/etc/pure-ftpd/conf/DontResolve')) exec('echo "yes" > /etc/pure-ftpd/conf/DontResolve'); @@ -2164,6 +2165,23 @@ class installer_base { chmod($conf['ispconfig_log_dir'].'/cron.log', 0660); } + + public function getinitcommand($servicename, $action, $init_script_directory = ''){ + global $conf; + // systemd + if(is_executable('/bin/systemd')){ + return 'systemctl '.$action.' '.$servicename.'.service'; + } + // upstart + if(is_executable('/sbin/initctl')){ + exec('/sbin/initctl version 2>/dev/null | /bin/grep -q upstart', $retval['output'], $retval['retval']); + if(intval($retval['retval']) == 0) return 'service '.$servicename.' '.$action; + } + // sysvinit + if($init_script_directory == '') $init_script_directory = $conf['init_scripts']; + if(substr($init_script_directory, -1) === '/') $init_script_directory = substr($init_script_directory, 0, -1); + return $init_script_directory.'/'.$servicename.' '.$action; + } /** * Helper function - get the path to a template file based on diff --git a/install/sql/incremental/upd_0059.sql b/install/sql/incremental/upd_0059.sql new file mode 100644 index 0000000000000000000000000000000000000000..247bb474cbbfcfe0a272a6b8c586293027765131 --- /dev/null +++ b/install/sql/incremental/upd_0059.sql @@ -0,0 +1 @@ +ALTER TABLE `client` CHANGE `company_id` `company_id` VARCHAR( 255 ) NULL DEFAULT NULL ; \ No newline at end of file diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index eb0d1992c4fbb54fb9ddfbe00abe8097fd0317ff..f97cba0ac0077de6da8a312b0c4ebcb693f238f7 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -144,7 +144,7 @@ CREATE TABLE `client` ( `sys_perm_group` varchar(5) DEFAULT NULL, `sys_perm_other` varchar(5) DEFAULT NULL, `company_name` varchar(64) DEFAULT NULL, - `company_id` varchar(30) DEFAULT NULL, + `company_id` varchar(255) DEFAULT NULL, `gender` enum('','m','f') NOT NULL DEFAULT '', `contact_name` varchar(64) DEFAULT NULL, `customer_no` varchar(64) DEFAULT NULL, diff --git a/install/update.php b/install/update.php index 3fd346a78b827abcc2f9ac6f4ef876344816cc3e..a7c8a931222e8184db1bfe75c3be176abcd2d8a8 100644 --- a/install/update.php +++ b/install/update.php @@ -369,7 +369,12 @@ if($reconfigure_services_answer == 'yes') { //** Configure ISPConfig swriteln('Updating ISPConfig'); - +if($conf['apache']['installed'] == true){ + if(!is_file($conf['apache']['vhost_conf_dir'].'/ispconfig.vhost')) $inst->install_ispconfig_interface = false; +} +if($conf['nginx']['installed'] == true){ + if(!is_file($conf['nginx']['vhost_conf_dir'].'/ispconfig.vhost')) $inst->install_ispconfig_interface = false; +} if ($conf['services']['web'] && $inst->install_ispconfig_interface) { //** Customise the port ISPConfig runs on @@ -399,38 +404,40 @@ if($update_crontab_answer == 'yes') { //** Restart services: if($reconfigure_services_answer == 'yes') { swriteln('Restarting services ...'); - if($conf['mysql']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mysql']['init_script'])) system($conf['init_scripts'].'/'.$conf['mysql']['init_script'].' restart'); + if($conf['mysql']['installed'] == true && $conf['mysql']['init_script'] != '') system($inst->getinitcommand($conf['mysql']['init_script'], 'restart')); if($conf['services']['mail']) { - if($conf['postfix']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['postfix']['init_script'])) system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart'); - if($conf['saslauthd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'])) system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart'); - if($conf['amavis']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['amavis']['init_script'])) system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart'); - if($conf['clamav']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['clamav']['init_script'])) system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart'); - if($conf['courier']['courier-authdaemon'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart'); - if($conf['courier']['courier-imap'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart'); - if($conf['courier']['courier-imap-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart'); - if($conf['courier']['courier-pop'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart'); - if($conf['courier']['courier-pop-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart'); - if($conf['dovecot']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['dovecot']['init_script'])) system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart'); - if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script'])) system('nohup '.$conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart >/dev/null 2>&1 &'); + if($conf['postfix']['installed'] == true && $conf['postfix']['init_script'] != '') system($inst->getinitcommand($conf['postfix']['init_script'], 'restart')); + if($conf['saslauthd']['installed'] == true && $conf['saslauthd']['init_script'] != '') system($inst->getinitcommand($conf['saslauthd']['init_script'], 'restart')); + if($conf['amavis']['installed'] == true && $conf['amavis']['init_script'] != '') system($inst->getinitcommand($conf['amavis']['init_script'], 'restart')); + if($conf['clamav']['installed'] == true && $conf['clamav']['init_script'] != '') system($inst->getinitcommand($conf['clamav']['init_script'], 'restart')); + if($conf['courier']['installed'] == true){ + if($conf['courier']['courier-authdaemon'] != '') system($inst->getinitcommand($conf['courier']['courier-authdaemon'], 'restart')); + if($conf['courier']['courier-imap'] != '') system($inst->getinitcommand($conf['courier']['courier-imap'], 'restart')); + if($conf['courier']['courier-imap-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-imap-ssl'], 'restart')); + if($conf['courier']['courier-pop'] != '') system($inst->getinitcommand($conf['courier']['courier-pop'], 'restart')); + if($conf['courier']['courier-pop-ssl'] != '') system($inst->getinitcommand($conf['courier']['courier-pop-ssl'], 'restart')); + } + if($conf['dovecot']['installed'] == true && $conf['dovecot']['init_script'] != '') system($inst->getinitcommand($conf['dovecot']['init_script'], 'restart')); + if($conf['mailman']['installed'] == true && $conf['mailman']['init_script'] != '') system('nohup '.$inst->getinitcommand($conf['mailman']['init_script'], 'restart').' >/dev/null 2>&1 &'); } if($conf['services']['web']) { - if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart'); + if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '') system($inst->getinitcommand($conf['apache']['init_script'], 'restart')); //* Reload is enough for nginx if($conf['webserver']['server_type'] == 'nginx'){ - if($conf['nginx']['php_fpm_init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'].' reload'); - if($conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' reload'); + if($conf['nginx']['php_fpm_init_script'] != '') system($inst->getinitcommand($conf['nginx']['php_fpm_init_script'], 'reload')); + if($conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'reload')); } - if($conf['pureftpd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'])) system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart'); + if($conf['pureftpd']['installed'] == true && $conf['pureftpd']['init_script'] != '') system($inst->getinitcommand($conf['pureftpd']['init_script'], 'restart')); } if($conf['services']['dns']) { - if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mydns']['init_script'])) system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null'); - if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['powerdns']['init_script'])) system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null'); - if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['bind']['init_script'])) system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null'); + if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '') system($inst->getinitcommand($conf['mydns']['init_script'], 'restart').' &> /dev/null'); + if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '') system($inst->getinitcommand($conf['powerdns']['init_script'], 'restart').' &> /dev/null'); + if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '') system($inst->getinitcommand($conf['bind']['init_script'], 'restart').' &> /dev/null'); } if($conf['services']['proxy']) { // if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['squid']['init_script'])) system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null'); - if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' restart &> /dev/null'); + if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '') system($inst->getinitcommand($conf['nginx']['init_script'], 'restart').' &> /dev/null'); } if($conf['services']['firewall']) { diff --git a/interface/lib/classes/aps_guicontroller.inc.php b/interface/lib/classes/aps_guicontroller.inc.php index ddb570aad8f0f824b5e50442429a878436e258ac..453caef0062b0ff321f6233936176827de453d74 100644 --- a/interface/lib/classes/aps_guicontroller.inc.php +++ b/interface/lib/classes/aps_guicontroller.inc.php @@ -728,9 +728,8 @@ class ApsGUIController extends ApsBase // Using parse_url() to filter malformed URLs $path = dirname(parse_url($_SERVER['PHP_SELF'], PHP_URL_PATH)).'/'. basename($this->interface_pkg_dir).'/'.$pkg['path'].'/'.basename((string)$icon); - // nginx: if $_SERVER['PHP_SELF'] is doubled, remove /sites/aps_packagedetails_show.php from beginning of path - $path = preg_replace('@^/sites/aps_packagedetails_show.php(.*)@', '$1', $path); - + // nginx: if $_SERVER['PHP_SELF'] is doubled, remove /sites/aps_packagedetails_show.php from beginning of path + $path = preg_replace('@^/sites/aps_packagedetails_show.php(.*)@', '$1', $path); $pkg['Icon'] = $path; } else $pkg['Icon'] = ''; @@ -744,8 +743,8 @@ class ApsGUIController extends ApsBase // Using parse_url() to filter malformed URLs $path = dirname(parse_url($_SERVER['PHP_SELF'], PHP_URL_PATH)).'/'. basename($this->interface_pkg_dir).'/'.$pkg['path'].'/'.basename((string)$screen['path']); - // nginx: if $_SERVER['PHP_SELF'] is doubled, remove /sites/aps_packagedetails_show.php from beginning of path - $path = preg_replace('@^/sites/aps_packagedetails_show.php(.*)@', '$1', $path); + // nginx: if $_SERVER['PHP_SELF'] is doubled, remove /sites/aps_packagedetails_show.php from beginning of path + $path = preg_replace('@^/sites/aps_packagedetails_show.php(.*)@', '$1', $path); $pkg['Screenshots'][] = array('ScreenPath' => $path, 'ScreenDescription' => htmlspecialchars(trim((string)$screen->description))); diff --git a/interface/lib/classes/custom_datasource.inc.php b/interface/lib/classes/custom_datasource.inc.php index 35bf7d55dc29f63b30cb6cf0f0b3bf40cd1607a1..44fee19d9171cd26b846ccbcf36c852f962d91a6 100644 --- a/interface/lib/classes/custom_datasource.inc.php +++ b/interface/lib/classes/custom_datasource.inc.php @@ -63,6 +63,28 @@ class custom_datasource { return $records_new; } + function slave_dns_servers($field, $record) { + global $app, $conf; + + if($_SESSION["s"]["user"]["typ"] == 'user') { + // Get the limits of the client + $client_group_id = $_SESSION["s"]["user"]["default_group"]; + $client = $app->db->queryOneRecord("SELECT default_slave_dnsserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); + $sql = "SELECT server_id,server_name FROM server WHERE server_id = ".$client['default_slave_dnsserver']; + } else { + $sql = "SELECT server_id,server_name FROM server WHERE dns_server = 1 ORDER BY server_name"; + } + $records = $app->db->queryAllRecords($sql); + $records_new = array(); + if(is_array($records)) { + foreach($records as $rec) { + $key = $rec['server_id']; + $records_new[$key] = $rec['server_name']; + } + } + return $records_new; + } + function webdav_domains($field, $record) { global $app, $conf; @@ -77,13 +99,13 @@ class custom_datasource { } if(count($server_ids) == 0) return array(); $server_ids = implode(',', $server_ids); - $records = $app->db->queryAllRecords("SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND server_id IN (".$server_ids.") AND ".$app->tform->getAuthSQL('r')." ORDER BY domain"); + $records = $app->db->queryAllRecords("SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id IN (".$server_ids.") AND web_domain.server_id = server.server_id AND ".$app->tform->getAuthSQL('r', 'web_domain')." ORDER BY web_domain.domain"); $records_new = array(); if(is_array($records)) { foreach($records as $rec) { $key = $rec['domain_id']; - $records_new[$key] = $rec['domain']; + $records_new[$key] = $rec['parent_domain']; } } return $records_new; diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php index 5b98c20c8d27ce742cd9cafd90bfcb28f01cdbd1..0028b3974be50bf36c25fddbaf766e97c8a9bca2 100644 --- a/interface/lib/classes/functions.inc.php +++ b/interface/lib/classes/functions.inc.php @@ -83,6 +83,20 @@ class functions { return number_format((double)$number, $number_format_decimals, $number_format_dec_point, $number_format_thousands_sep); } + //* convert currency formatted number back to floating number + public function currency_unformat($number) { + global $app; + + $number_format_dec_point = $app->lng('number_format_dec_point'); + $number_format_thousands_sep = $app->lng('number_format_thousands_sep'); + if($number_format_thousands_sep == 'number_format_thousands_sep') $number_format_thousands_sep = ''; + + if($number_format_thousands_sep != '') $number = str_replace($number_format_thousands_sep, '', $number); + if($number_format_dec_point != '.' && $number_format_dec_point != '') $number = str_replace($number_format_dec_point, '.', $number); + + return (double)$number; + } + public function get_ispconfig_url() { global $app; @@ -177,12 +191,24 @@ class functions { // IPv6 $regex = "/^(\:\:([a-f0-9]{1,4}\:){0,6}?[a-f0-9]{0,4}|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){0,6}?\:\:|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){1,6}?\:\:([a-f0-9]{1,4}\:){1,6}?[a-f0-9]{1,4})(\/\d{1,3})?$/i"; } + + $server_by_id = array(); + $server_by_ip = array(); + $servers = $app->db->queryAllRecords("SELECT * FROM server"); + if(is_array($servers) && !empty($servers)){ + foreach($servers as $server){ + $server_by_id[$server['server_id']] = $server['server_name']; + } + } $ips = array(); - $results = $app->db->queryAllRecords("SELECT ip_address AS ip FROM server_ip WHERE ip_type = '".$type."'"); + $results = $app->db->queryAllRecords("SELECT ip_address AS ip, server_id FROM server_ip WHERE ip_type = '".$type."'"); if(!empty($results) && is_array($results)){ foreach($results as $result){ - if(preg_match($regex, $result['ip'])) $ips[] = $result['ip']; + if(preg_match($regex, $result['ip'])){ + $ips[] = $result['ip']; + $server_by_ip[$result['ip']] = $server_by_id[$result['server_id']]; + } } } $results = $app->db->queryAllRecords("SELECT ip_address AS ip FROM openvz_ip"); @@ -257,7 +283,7 @@ class functions { foreach($ips as $ip){ $result_array['cdata'][] = array( 'title' => $ip, - 'description' => $type, + 'description' => $type.($server_by_ip[$ip] != ''? ' > '.$server_by_ip[$ip] : ''), 'onclick' => '', 'fill_text' => $ip ); diff --git a/interface/lib/classes/listform.inc.php b/interface/lib/classes/listform.inc.php index ef3a52f868dc2d11c1c4e53df14399d0baba4279..cf8f6410f415b18acc94e713735c9719db4086f7 100644 --- a/interface/lib/classes/listform.inc.php +++ b/interface/lib/classes/listform.inc.php @@ -181,15 +181,68 @@ class listform { foreach($this->listDef['item'] as $i) { $field = $i['field']; $table = $i['table']; + + $searchval = $_SESSION['search'][$list_name][$search_prefix.$field]; + // format user date format to MySQL date format 0000-00-00 + if($i['datatype'] == 'DATE' && $this->lng('conf_format_dateshort') != 'Y-m-d'){ + $dateformat = preg_replace("@[^Ymd]@", "", $this->lng('conf_format_dateshort')); + $yearpos = strpos($dateformat, 'Y') + 1; + $monthpos = strpos($dateformat, 'm') + 1; + $daypos = strpos($dateformat, 'd') + 1; + + $full_date_trans = array ('Y' => '((?:19|20)\d\d)', + 'm' => '(0[1-9]|1[012])', + 'd' => '(0[1-9]|[12][0-9]|3[01])' + ); + // d.m.Y Y/m/d + $full_date_regex = strtr(preg_replace("@[^Ymd]@", "[^0-9]", $this->lng('conf_format_dateshort')), $full_date_trans); + //echo $full_date_regex; + + if (preg_match("@^\d+$@", $_SESSION['search'][$list_name][$search_prefix.$field])) { // we just have digits + $searchval = $_SESSION['search'][$list_name][$search_prefix.$field]; + } elseif(preg_match("@^[^0-9]?\d+[^0-9]?$@", $_SESSION['search'][$list_name][$search_prefix.$field])){ // 10. or .10. + $searchval = preg_replace("@[^0-9]@", "", $_SESSION['search'][$list_name][$search_prefix.$field]); + } elseif(preg_match("@^[^0-9]?(\d{1,2})[^0-9]((?:19|20)\d\d)$@", $_SESSION['search'][$list_name][$search_prefix.$field], $matches)){ // 10.2013 + $month = $matches[1]; + $year = $matches[2]; + $searchval = $year.'-'.$month; + } elseif(preg_match("@^((?:19|20)\d\d)[^0-9](\d{1,2})[^0-9]?$@", $_SESSION['search'][$list_name][$search_prefix.$field], $matches)){ // 2013-10 + $month = $matches[2]; + $year = $matches[1]; + $searchval = $year.'-'.$month; + } elseif(preg_match("@^[^0-9]?(\d{1,2})[^0-9](\d{1,2})[^0-9]?$@", $_SESSION['search'][$list_name][$search_prefix.$field], $matches)){ // 04.10. + if($monthpos < $daypos){ + $month = $matches[1]; + $day = $matches[2]; + } else { + $month = $matches[2]; + $day = $matches[1]; + } + $searchval = $month.'-'.$day; + } elseif (preg_match("@^".$full_date_regex."$@", $_SESSION['search'][$list_name][$search_prefix.$field], $matches)) { + //print_r($matches); + $day = $matches[$daypos]; + $month = $matches[$monthpos]; + $year = $matches[$yearpos]; + $searchval = $year.'-'.$month.'-'.$day; + } + } + // if($_REQUEST[$search_prefix.$field] != '') $sql_where .= " $field ".$i["op"]." '".$i["prefix"].$_REQUEST[$search_prefix.$field].$i["suffix"]."' and"; - if(isset($_SESSION['search'][$list_name][$search_prefix.$field]) && $_SESSION['search'][$list_name][$search_prefix.$field] != ''){ - $sql_where .= " ".($table != ''? $table.'.' : $this->listDef['table'].'.')."$field ".$i['op']." '".$app->db->quote($i['prefix'].$_SESSION['search'][$list_name][$search_prefix.$field].$i['suffix'])."' and"; + if(isset($searchval) && $searchval != ''){ + $sql_where .= " ".($table != ''? $table.'.' : $this->listDef['table'].'.')."$field ".$i['op']." '".$app->db->quote($i['prefix'].$searchval.$i['suffix'])."' and"; } } } return ( $sql_where != '' ) ? $sql_where = substr($sql_where,0,-3) : '1'; } - + + public function getPagingValue($key) { + if(!is_array($this->pagingValues)) return null; + if(!array_key_exists($key, $this->pagingValues)) return null; + return $this->pagingValues[$key]; + } + public function getPagingSQL($sql_where = '1') { global $app, $conf; @@ -234,6 +287,8 @@ class listform { $vars['max_pages'] = $pages + 1; $vars['records_gesamt'] = $record_count['anzahl']; $vars['page_params'] = (isset($this->listDef['page_params'])) ? $this->listDef['page_params'] : ''; + $vars['offset'] = $sql_von; + $vars['records_per_page'] = $records_per_page; //$vars['module'] = $_SESSION['s']['module']['name']; if($_SESSION['search'][$list_name]['page'] > 0) $vars['show_page_back'] = 1; diff --git a/interface/lib/classes/listform_actions.inc.php b/interface/lib/classes/listform_actions.inc.php index acb0b96d1a6ca3895ed5b94724b70f1ce2917196..fe167a90a59ca70641c8d68e836f921f98209444 100644 --- a/interface/lib/classes/listform_actions.inc.php +++ b/interface/lib/classes/listform_actions.inc.php @@ -125,8 +125,10 @@ class listform_actions { } } + if($_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order_in_php']) $php_sort = true; + // Getting Datasets from DB - $records = $app->db->queryAllRecords($this->getQueryString()); + $records = $app->db->queryAllRecords($this->getQueryString($php_sort)); $this->DataRowColor = "#FFFFFF"; $records_new = ''; @@ -147,6 +149,9 @@ class listform_actions { $this->sortKeys = array($order_by => $order_dir); uasort($records_new, array($this, '_sort')); } + if($php_sort) { + $records_new = array_slice($records_new, $app->listform->getPagingValue('offset'), $app->listform->getPagingValue('records_per_page')); + } $app->tpl->setLoop('records',$records_new); @@ -185,7 +190,7 @@ class listform_actions { return $rec; } - public function getQueryString() { + public function getQueryString($no_limit = false) { global $app; $sql_where = ''; @@ -231,7 +236,8 @@ class listform_actions { } $select = implode(', ', $table_selects); - $sql = 'SELECT '.$select.$extselect.' FROM '.$app->listform->listDef['table'].($app->listform->listDef['additional_tables'] != ''? ','.$app->listform->listDef['additional_tables'] : '')."$join WHERE $sql_where $order_by_sql $limit_sql"; + $sql = 'SELECT '.$select.$extselect.' FROM '.$app->listform->listDef['table'].($app->listform->listDef['additional_tables'] != ''? ','.$app->listform->listDef['additional_tables'] : '')."$join WHERE $sql_where $order_by_sql"; + if($no_limit == false) $sql .= " $limit_sql"; //echo $sql; return $sql; } diff --git a/interface/lib/classes/plugin_backuplist.inc.php b/interface/lib/classes/plugin_backuplist.inc.php index a527f233ee31a8170417e79c079d5f66b0423630..1f90496142764792f74927646484e1e636ad2e93 100644 --- a/interface/lib/classes/plugin_backuplist.inc.php +++ b/interface/lib/classes/plugin_backuplist.inc.php @@ -108,7 +108,8 @@ class plugin_backuplist extends plugin_base { } //* Get the data - $sql = "SELECT * FROM web_backup WHERE parent_domain_id = ".$this->form->id." ORDER BY tstamp DESC, backup_type ASC"; + $web = $app->db->queryOneRecord("SELECT server_id FROM web_domain WHERE domain_id = ".$this->form->id); + $sql = "SELECT * FROM web_backup WHERE parent_domain_id = ".$this->form->id." AND server_id = ".$web['server_id']." ORDER BY tstamp DESC, backup_type ASC"; $records = $app->db->queryAllRecords($sql); $bgcolor = "#FFFFFF"; diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php index b181be01989cf2a90f3608a329c26cf15b54ccdf..4db3157e53da50e9bca54f0ab97fd76fac6254e3 100644 --- a/interface/lib/classes/tform_actions.inc.php +++ b/interface/lib/classes/tform_actions.inc.php @@ -313,7 +313,8 @@ class tform_actions { $this->dataRecord = $app->tform->getDataRecord($this->id); $this->onBeforeDelete(); - + $app->plugin->raiseEvent($_SESSION['s']['module']['name'].':'.$app->tform->formDef['name'].':'.'on_before_delete',$this); + // Saving record to datalog when db_history enabled if($app->tform->formDef["db_history"] == 'yes') { //$old_data_record = $app->tform->getDataRecord($this->id); diff --git a/interface/lib/lang/de.lng b/interface/lib/lang/de.lng index 8a1a971d15edec0bfec16bce1a33ebec579e5f52..6c3b0d0a8c861eeab4b5124247b00e49b07e6ad0 100644 --- a/interface/lib/lang/de.lng +++ b/interface/lib/lang/de.lng @@ -136,4 +136,7 @@ $wb['no_destination_perm'] = 'Sie haben keine Berechtigung für dieses Ziel.'; $wb['client_you_are_locked'] = 'Sie haben keine Berechtigung, Einstellungen zu verändern.'; $wb['gender_m_txt'] = 'Herr'; $wb['gender_f_txt'] = 'Frau'; +$wb['client_cannot_be_deleted_because_of_billing_module_txt'] = 'Für den Kunden existieren Einträge im Billing-Modul, daher kann er nicht gelöscht werden.'; +$wb['yes_txt'] = 'Ja'; +$wb['no_txt'] = 'Nein'; ?> diff --git a/interface/lib/lang/en.lng b/interface/lib/lang/en.lng index 1d689f01040a726f4b5ac3c29e0db1e811712b3c..a8939b997a97031656f09245269443bb512f9b9a 100644 --- a/interface/lib/lang/en.lng +++ b/interface/lib/lang/en.lng @@ -138,4 +138,7 @@ $wb["no_destination_perm"] = 'You have no permission for this destination.'; $wb['client_you_are_locked'] = 'You have no permission to change any settings.'; $wb['gender_m_txt'] = 'Mr.'; $wb['gender_f_txt'] = 'Ms.'; +$wb['client_cannot_be_deleted_because_of_billing_module_txt'] = 'This client has records in the billing module, therefore he cannot be deleted.'; +$wb['yes_txt'] = 'Yes'; +$wb['no_txt'] = 'No'; ?> diff --git a/interface/web/admin/lib/lang/de_language_import.lng b/interface/web/admin/lib/lang/de_language_import.lng index 2c3eff543cc2b53cbf5e5bdbf7f62c40d8b7d6be..af829a3623518bdb1ac73d489b4161e58642833a 100644 --- a/interface/web/admin/lib/lang/de_language_import.lng +++ b/interface/web/admin/lib/lang/de_language_import.lng @@ -5,5 +5,5 @@ $wb['btn_save_txt'] = 'Ausgewählte Sprache importieren'; $wb['language_overwrite_txt'] = 'Datei überschreiben, falls diese schon existiert.'; $wb['btn_cancel_txt'] = 'Abbrechen'; $wb['ignore_version_txt'] = 'ISPConfig Versionsüberprüfung überspringen'; -$wb['list_desc_txt'] = 'WARNING: Do not import language files from untrustworthy sources.'; +$wb['list_desc_txt'] = 'WARNUNG: Importieren Sie keine Sprachdateien aus nicht-vertrauenswürdigen Quellen.'; ?> diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index e919ce4daf3aa31b5bc4a1e56618776a49cc1299..6ae048bf0a5a32fb20f13bca34c3b829217922b7 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -174,21 +174,21 @@ $wb['web_folder_protection_txt'] = 'Webverzeichnis unveränderlich machen (erwei $wb['overtraffic_notify_admin_txt'] = 'Überschreiten des Datentransfer Limits an den Administrator senden'; $wb['overtraffic_notify_client_txt'] = 'Überschreiten des Datentransfer Limits an den Kunden senden'; $wb['rbl_error_regex'] = 'Bitte geben Sie gültige RBL-Hostnamen an.'; -$wb['overquota_notify_admin_txt'] = 'Warung bei Erreichen einer Beschränkung per E-Mail an den Administrator senden'; -$wb['overquota_notify_client_txt'] = 'Warnung bei Erreichen einer Beschränkung per E-Mail an den Kunden senden'; -$wb['overquota_notify_onok_txt'] = 'Meldung an den Kunden senden, wenn Beschränkung wieder OK ist'; -$wb['overquota_notify_freq_txt'] = 'Warnung der Beschränkung alle X Tage versenden'; +$wb['overquota_notify_admin_txt'] = 'Quota-Warnungen an den Administrator senden'; +$wb['overquota_notify_client_txt'] = 'Quota-Warnungen an den Kunden senden'; +$wb['overquota_notify_onok_txt'] = 'Meldung an den Kunden senden, wenn Belegung wieder ok'; +$wb['overquota_notify_freq_txt'] = 'Quota-Warnung alle X Tage versenden'; $wb['overquota_notify_freq_note_txt'] = '0 = Meldung nur einmalig versenden, keine Wiederholung'; $wb['admin_notify_events_txt'] = 'Sende E-Mail an Administrator ab folgendem Level'; $wb['no_notifications_txt'] = 'Keine Benachrichtigungen'; -$wb['monit_url_txt'] = 'Monit URL'; -$wb['monit_user_txt'] = 'Monit Benutzer'; -$wb['monit_password_txt'] = 'Monit Passwort'; -$wb['monit_url_error_regex'] = 'Ungültige Monit URL'; +$wb['monit_url_txt'] = 'Monit-URL'; +$wb['monit_user_txt'] = 'Monit-Benutzer'; +$wb['monit_password_txt'] = 'Monit-Passwort'; +$wb['monit_url_error_regex'] = 'Ungültige Monit-URL'; $wb['monit_url_note_txt'] = 'Platzhalter:'; -$wb['munin_url_txt'] = 'Munin URL'; -$wb['munin_user_txt'] = 'Munin Benutzer'; -$wb['munin_password_txt'] = 'Munin Passwort'; -$wb['munin_url_error_regex'] = 'Ungültige Munin URL'; +$wb['munin_url_txt'] = 'Munin-URL'; +$wb['munin_user_txt'] = 'Munin-Benutzer'; +$wb['munin_password_txt'] = 'Munin-Passwort'; +$wb['munin_url_error_regex'] = 'Ungültige Munin-URL'; $wb['munin_url_note_txt'] = 'Platzhalter:'; ?> diff --git a/interface/web/admin/lib/lang/de_software_package_install.lng b/interface/web/admin/lib/lang/de_software_package_install.lng index f8ef069cae0978bd5788b630fdccb2fec5963df5..1ef69d13d32b0fd9cebc50cefc2e3b7b61623513 100644 --- a/interface/web/admin/lib/lang/de_software_package_install.lng +++ b/interface/web/admin/lib/lang/de_software_package_install.lng @@ -1,6 +1,6 @@ diff --git a/interface/web/admin/lib/lang/de_software_package_list.lng b/interface/web/admin/lib/lang/de_software_package_list.lng index b68e7d93888fc5f9bbb3f4544ecd6bf9da53bbf9..75b7504390489492a4d84de033807463aaef0540 100644 --- a/interface/web/admin/lib/lang/de_software_package_list.lng +++ b/interface/web/admin/lib/lang/de_software_package_list.lng @@ -1,13 +1,13 @@ diff --git a/interface/web/admin/lib/lang/de_software_repo.lng b/interface/web/admin/lib/lang/de_software_repo.lng index ec672430be0ed328b6627000c3a6d6a8c4392bc3..242611cd08616fc1159c5dca536282ce672098f8 100644 --- a/interface/web/admin/lib/lang/de_software_repo.lng +++ b/interface/web/admin/lib/lang/de_software_repo.lng @@ -1,5 +1,5 @@ diff --git a/interface/web/client/form/client.tform.php b/interface/web/client/form/client.tform.php index 03624809510ccc2b82089258bd0b51d06025edec..37d51bdd8a17ee05fea2420a3f4854df946978fd 100644 --- a/interface/web/client/form/client.tform.php +++ b/interface/web/client/form/client.tform.php @@ -356,7 +356,7 @@ $form["tabs"]['address'] = array ( 'value' => '', 'separator' => '', 'width' => '30', - 'maxlength' => '20', + 'maxlength' => '255', 'rows' => '', 'cols' => '' ), diff --git a/interface/web/client/lib/lang/de.lng b/interface/web/client/lib/lang/de.lng index fea2cee39fa320969a5cbaa51584ece42240ecd6..ba66401d9ed70d257fa914a9ff424f1d01dc4de8 100644 --- a/interface/web/client/lib/lang/de.lng +++ b/interface/web/client/lib/lang/de.lng @@ -1,7 +1,7 @@ db->queryAllRecords("SELECT * FROM web_domain WHERE active = 'y'".$sql_where); + $sites = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE active = 'y' AND type = 'vhost'".$sql_where); //print_r($sites); if(is_array($sites) && !empty($sites)){ for($i=0;$i diff --git a/interface/web/designer/lib/lang/de_form_show.lng b/interface/web/designer/lib/lang/de_form_show.lng index c4b2c1d19570174d24699db67ed6b346e1d52134..02a81627f708fef8c6e47b3069649612bb59a5a0 100644 --- a/interface/web/designer/lib/lang/de_form_show.lng +++ b/interface/web/designer/lib/lang/de_form_show.lng @@ -15,5 +15,4 @@ $wb['description_txt'] = 'Beschreibung'; $wb['module_del_txt'] = 'Modul und alle Unterverzeichnisse löschen?'; $wb['menu_del_txt'] = 'Menü samt Menüeinträgen löschen?'; $wb['item_del_txt'] = 'Menüeintrag löschen?'; -?> - +?> \ No newline at end of file diff --git a/interface/web/dns/list/dns_slave.list.php b/interface/web/dns/list/dns_slave.list.php index 5276557170899fa471b7be1ba46e62745e09f745..f00d33baf5b77bcb808f0f0c36945f6e3593beec 100644 --- a/interface/web/dns/list/dns_slave.list.php +++ b/interface/web/dns/list/dns_slave.list.php @@ -64,9 +64,9 @@ $liste["item"][] = array( 'field' => "server_id", 'op' => "like", 'prefix' => "%", 'suffix' => "%", - 'datasource'=> array ( 'type' => 'CUSTOM', - 'class'=> 'custom_datasource', - 'function'=> 'dns_servers' + 'datasource'=> array ( 'type' => 'CUSTOM', + 'class' => 'custom_datasource', + 'function' => 'slave_dns_servers' ), 'width' => "", 'value' => ""); diff --git a/interface/web/mail/lib/lang/de_mail_domain.lng b/interface/web/mail/lib/lang/de_mail_domain.lng index 3d1b1505655647a9215c09169524e29a58e4f058..6d057288739d2abe58fad279fb55964437643c36 100644 --- a/interface/web/mail/lib/lang/de_mail_domain.lng +++ b/interface/web/mail/lib/lang/de_mail_domain.lng @@ -3,7 +3,7 @@ $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['type_txt'] = 'Typ'; $wb['active_txt'] = 'Aktiv'; -$wb["dkim_txt"] = 'DKIM aktivieren +$wb["dkim_txt"] = 'DKIM aktivieren'; $wb["dkim_private_txt"] = 'DKIM Private-key'; $wb["dkim_public_txt"] = 'DKIM Public-key\nfor information only'; $wb["dkim_generate_txt"] = 'erstelle DKIM Private-key'; diff --git a/interface/web/monitor/show_monit.php b/interface/web/monitor/show_monit.php index 3dd8f0364b6fd242cbb554dda277b3c14c15ba83..0121a688464411e9b6af6efaa5e99ab22ad3fe73 100644 --- a/interface/web/monitor/show_monit.php +++ b/interface/web/monitor/show_monit.php @@ -58,10 +58,10 @@ if($_SESSION["s"]["user"]["typ"] == 'admin'){ $monit_password = trim($server_config['monit_password']); $auth_string = ''; if($monit_user != ''){ - $auth_string = $monit_user; + $auth_string = rawurlencode($monit_user); } if($monit_user != '' && $monit_password != ''){ - $auth_string .= ':'.$monit_password; + $auth_string .= ':'.rawurlencode($monit_password); } if($auth_string != '') $auth_string .= '@'; diff --git a/interface/web/monitor/show_munin.php b/interface/web/monitor/show_munin.php index b193d587c1577d10e12252d4704ae463946b2f0d..5db6adf6f153368d7aa6e71f91f55a1db3121b05 100644 --- a/interface/web/monitor/show_munin.php +++ b/interface/web/monitor/show_munin.php @@ -58,10 +58,10 @@ if($_SESSION["s"]["user"]["typ"] == 'admin'){ $munin_password = trim($server_config['munin_password']); $auth_string = ''; if($munin_user != ''){ - $auth_string = $munin_user; + $auth_string = rawurlencode($munin_user); } if($munin_user != '' && $munin_password != ''){ - $auth_string .= ':'.$munin_password; + $auth_string .= ':'.rawurlencode($munin_password); } if($auth_string != '') $auth_string .= '@'; diff --git a/interface/web/sites/form/cron.tform.php b/interface/web/sites/form/cron.tform.php index 3a7bd6deccb11e4ddca58508c3df6c3d274e7271..41c2a3199c001ebf659ececd3be1220a9e8ec875 100644 --- a/interface/web/sites/form/cron.tform.php +++ b/interface/web/sites/form/cron.tform.php @@ -79,9 +79,9 @@ $form["tabs"]['cron'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain", + 'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain", 'keyfield'=> 'domain_id', - 'valuefield'=> 'domain' + 'valuefield'=> 'parent_domain' ), 'value' => '' ), diff --git a/interface/web/sites/form/database.tform.php b/interface/web/sites/form/database.tform.php index 2a9da3fafb194ecc35e2487b6d05a1885ced5848..e458e066d6954d3384cb1d8852bf34ca45be6095 100644 --- a/interface/web/sites/form/database.tform.php +++ b/interface/web/sites/form/database.tform.php @@ -79,9 +79,9 @@ $form["tabs"]['database'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain", + 'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain", 'keyfield'=> 'domain_id', - 'valuefield'=> 'domain' + 'valuefield'=> 'parent_domain' ), 'value' => array('0' => 'select_site_txt') ), diff --git a/interface/web/sites/form/ftp_user.tform.php b/interface/web/sites/form/ftp_user.tform.php index 543d863a9d84d140a58c9a90bb996934ddd042fd..7dece14fae99661f2aaecd7d0828940fb3355b1a 100644 --- a/interface/web/sites/form/ftp_user.tform.php +++ b/interface/web/sites/form/ftp_user.tform.php @@ -79,9 +79,9 @@ $form["tabs"]['ftp'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain", + 'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain", 'keyfield'=> 'domain_id', - 'valuefield'=> 'domain' + 'valuefield'=> 'parent_domain' ), 'value' => '' ), diff --git a/interface/web/sites/form/shell_user.tform.php b/interface/web/sites/form/shell_user.tform.php index 61d92b3a52ddfccc57a2e9b565a9d12fa14c6e48..1ae077d286d58f3b1862fdd8d8a8ab64820a49b8 100644 --- a/interface/web/sites/form/shell_user.tform.php +++ b/interface/web/sites/form/shell_user.tform.php @@ -79,9 +79,9 @@ $form["tabs"]['shell'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain", + 'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain", 'keyfield'=> 'domain_id', - 'valuefield'=> 'domain' + 'valuefield'=> 'parent_domain' ), 'value' => '' ), diff --git a/interface/web/sites/form/web_aliasdomain.tform.php b/interface/web/sites/form/web_aliasdomain.tform.php index e815034bda6a00df61fd8a416c45217518cfc5b4..528234a6d58a630b7376a0bd0cd509f61c7f64f7 100644 --- a/interface/web/sites/form/web_aliasdomain.tform.php +++ b/interface/web/sites/form/web_aliasdomain.tform.php @@ -106,9 +106,9 @@ $form["tabs"]['domain'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain", + 'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain", 'keyfield'=> 'domain_id', - 'valuefield'=> 'domain' + 'valuefield'=> 'parent_domain' ), 'value' => '' ), diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php index 233b464b8a960bf9666a07b95060f8c5a55b77d5..861a3d5defe1ff447c478ecb63af5ee49485ad39 100644 --- a/interface/web/sites/form/web_domain.tform.php +++ b/interface/web/sites/form/web_domain.tform.php @@ -346,7 +346,7 @@ $form["tabs"]['ssl'] = array ( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'validators' => array ( 0 => array ( 'type' => 'REGEX', - 'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/', + 'regex' => '/^(([\.]{0})|([-a-zA-Z0-9._,&äöüÄÖÜ ]{1,255}))$/', 'errmsg'=> 'ssl_state_error_regex'), ), 'default' => '', @@ -358,7 +358,7 @@ $form["tabs"]['ssl'] = array ( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'validators' => array ( 0 => array ( 'type' => 'REGEX', - 'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/', + 'regex' => '/^(([\.]{0})|([-a-zA-Z0-9._,&äöüÄÖÜ ]{1,255}))$/', 'errmsg'=> 'ssl_locality_error_regex'), ), 'default' => '', @@ -370,7 +370,7 @@ $form["tabs"]['ssl'] = array ( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'validators' => array ( 0 => array ( 'type' => 'REGEX', - 'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/', + 'regex' => '/^(([\.]{0})|([-a-zA-Z0-9._,&äöüÄÖÜ ]{1,255}))$/', 'errmsg'=> 'ssl_organisation_error_regex'), ), 'default' => '', @@ -382,7 +382,7 @@ $form["tabs"]['ssl'] = array ( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', 'validators' => array ( 0 => array ( 'type' => 'REGEX', - 'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/', + 'regex' => '/^(([\.]{0})|([-a-zA-Z0-9._,&äöüÄÖÜ ]{1,255}))$/', 'errmsg'=> 'ssl_organistaion_unit_error_regex'), ), 'default' => '', diff --git a/interface/web/sites/form/web_folder.tform.php b/interface/web/sites/form/web_folder.tform.php index 5a6e565883b6cd8479622b83012301f07114d1a7..2cef461dcc3c576acbe0dd4869d25ad867003224 100644 --- a/interface/web/sites/form/web_folder.tform.php +++ b/interface/web/sites/form/web_folder.tform.php @@ -74,9 +74,9 @@ $form["tabs"]['folder'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE (type = 'vhost' OR type = 'vhostsubdomain') AND {AUTHSQL} ORDER BY domain", + 'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE (web_domain.type = 'vhost' OR web_domain.type = 'vhostsubdomain') AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain", 'keyfield'=> 'domain_id', - 'valuefield'=> 'domain' + 'valuefield'=> 'parent_domain' ), 'value' => '' ), diff --git a/interface/web/sites/form/web_folder_user.tform.php b/interface/web/sites/form/web_folder_user.tform.php index 187bd54ff2fed0934161e84fbba6f7d323d7de00..1a034dfaa27ee2c32e43ed8171803b1368acc381 100644 --- a/interface/web/sites/form/web_folder_user.tform.php +++ b/interface/web/sites/form/web_folder_user.tform.php @@ -50,8 +50,6 @@ $form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete $form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete -$auth_sql = (isset($app->tform) ? $app->tform->getAuthSQL('r', 'web_domain') : '1'); - $form["tabs"]['user'] = array ( 'title' => "Folder", 'width' => 100, @@ -76,7 +74,7 @@ $form["tabs"]['user'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => "Select concat(web_domain.domain,' ',web_folder.path) as name, web_folder.web_folder_id from web_domain, web_folder WHERE web_domain.domain_id = web_folder.parent_domain_id AND ".$auth_sql." ORDER BY web_domain.domain", + 'querystring' => "Select concat(web_domain.domain,' ',web_folder.path, ' :: ', server.server_name) as name, web_folder.web_folder_id from web_domain, web_folder, server WHERE web_domain.domain_id = web_folder.parent_domain_id AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain", 'keyfield'=> 'web_folder_id', 'valuefield'=> 'name' ), diff --git a/interface/web/sites/form/web_subdomain.tform.php b/interface/web/sites/form/web_subdomain.tform.php index 0205c56d40e6a60f9205d74de26bf54148016880..385945c8daf3abf89b0b4ae62ef6a90f0f2e292a 100644 --- a/interface/web/sites/form/web_subdomain.tform.php +++ b/interface/web/sites/form/web_subdomain.tform.php @@ -106,9 +106,9 @@ $form["tabs"]['domain'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain", + 'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain", 'keyfield'=> 'domain_id', - 'valuefield'=> 'domain' + 'valuefield'=> 'parent_domain' ), 'value' => '', 'searchable' => 2 diff --git a/interface/web/sites/form/web_vhost_subdomain.tform.php b/interface/web/sites/form/web_vhost_subdomain.tform.php index e71d5809f2eb5effe963f2e611b7defaa819abe7..7c123d0f69a9204b57cf330a8427519b50c074ce 100644 --- a/interface/web/sites/form/web_vhost_subdomain.tform.php +++ b/interface/web/sites/form/web_vhost_subdomain.tform.php @@ -143,9 +143,9 @@ $form["tabs"]['domain'] = array ( 'formtype' => 'SELECT', 'default' => '', 'datasource' => array ( 'type' => 'SQL', - 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain", + 'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain", 'keyfield'=> 'domain_id', - 'valuefield'=> 'domain' + 'valuefield'=> 'parent_domain' ), 'value' => '' ), diff --git a/interface/web/sites/lib/lang/de.lng b/interface/web/sites/lib/lang/de.lng index 544824a5a59da74dc09cf2f67c3a4f4b719f31e0..48e0a9a9a77432462558a73e0e1b1f5cf5be2c09 100644 --- a/interface/web/sites/lib/lang/de.lng +++ b/interface/web/sites/lib/lang/de.lng @@ -23,7 +23,7 @@ $wb['Webdav'] = 'WebDAV'; $wb['FTP'] = 'FTP'; $wb['Options'] = 'Optionen'; $wb['Domain'] = 'Domain'; -$wb['Redirect'] = 'Weiterleitung'; +$wb['Redirect'] = 'Umleitung'; $wb['SSL'] = 'SSL'; $wb['Sites'] = 'Seiten'; $wb['APS Installer'] = 'APS Installationsassistent'; diff --git a/interface/web/sites/lib/lang/de_cron.lng b/interface/web/sites/lib/lang/de_cron.lng index 57d8ca3fc205c3ed6b60072a64eb248cfb1804d9..e9fed6846dd810ed1c5404c64e462b27e0381634 100644 --- a/interface/web/sites/lib/lang/de_cron.lng +++ b/interface/web/sites/lib/lang/de_cron.lng @@ -18,4 +18,5 @@ $wb['run_month_error_format'] = 'Das Format für Monate ist nicht korrekt.'; $wb['run_wday_error_format'] = 'Das Format für Wochentage ist nicht korrekt.'; $wb['command_error_format'] = 'Das Format für den Befehl ist nicht korrekt. Beachten Sie, dass bei einem URL Aufruf nur http und https erlaubt ist.'; $wb['unknown_fieldtype_error'] = 'Es wurde ein unbekanntes Feld verwendet.'; +$wb['server_id_error_empty'] = 'Die Server-ID ist leer.'; ?> diff --git a/interface/web/sites/lib/lang/de_database.lng b/interface/web/sites/lib/lang/de_database.lng index 2108673feda3aaa7ea64213a042b139e1f819811..0136d5a81a1a38e837ce0924981371d9182a8b00 100644 --- a/interface/web/sites/lib/lang/de_database.lng +++ b/interface/web/sites/lib/lang/de_database.lng @@ -1,33 +1,33 @@ alle)'; -$wb['database_remote_error_ips'] = 'Mindestens eine der angegebenen IP Adressen ist ungültig.'; +$wb['database_remote_error_ips'] = 'Mindestens eine der angegebenen IP-Adressen ist ungültig.'; $wb['client_txt'] = 'Kunde'; $wb['active_txt'] = 'Aktiv'; -$wb['database_client_differs_txt'] = 'Der Kunde dieser Datenbank passt nicht zum Kunden des Datenbankbenutzers.'; -$wb['database_name_error_empty'] = 'Datenbankname ist leer.'; -$wb['database_name_error_unique'] = 'Es existiert bereits eine Datenbank mit diesem Namen am Server. Um einen eindeutigen Namen zu erhalten können sie z.B. den Domainnamen vor dem Datenbanknamen verwenden.'; -$wb['database_name_error_regex'] = 'Ungültiger Datenbankname. Der Datenbank Name darf die Zeichen: a-z, A-Z, 0-9 und den Unterstrich beinhalten. Länge: 2 - 64 Zeichen.'; -$wb['database_user_error_empty'] = 'Datenbankbenutzer ist leer.'; +$wb['database_client_differs_txt'] = 'Der Kunde dieser Datenbank passt nicht zum Kunden des Datenbank-Benutzers.'; +$wb['database_name_error_empty'] = 'Datenbank-Name ist leer.'; +$wb['database_name_error_unique'] = 'Es existiert bereits eine Datenbank mit diesem Namen am Server. Um einen eindeutigen Namen zu erhalten können sie z.B. den Domainnamen vor dem Datenbank-Namen verwenden.'; +$wb['database_name_error_regex'] = 'Ungültiger Datenbank-Name. Der Datenbank-Name darf die Zeichen: a-z, A-Z, 0-9 und den Unterstrich beinhalten. Länge: 2 - 64 Zeichen.'; +$wb['database_user_error_empty'] = 'Datenbank-Benutzer ist leer.'; $wb['database_user_error_unique'] = 'Es existiert bereits ein Benutzer mit diesem Namen am Server. Um einen eindeutigen Namen zu erhalten können sie z.B. den Domainnamen vor dem Benutzernamen verwenden.'; $wb['database_user_error_regex'] = 'Ungültiger Benutzername. Der Benutzername darf die Zeichen: a-z, A-Z, 0-9 und den Unterstrich beinhalten. Länge: 2 - 64 Zeichen.'; $wb['limit_database_txt'] = 'Die max. Anzahl an Datenbanken wurde erreicht.'; -$wb['database_name_change_txt'] = 'Der Datenbankname kann nicht geändert werden.'; -$wb['database_user_missing_txt'] = 'Bitte wählen Sie einen Datenbankbennutzer für die Datenbank aus.'; +$wb['database_name_change_txt'] = 'Der Datenbank-Name kann nicht geändert werden.'; +$wb['database_user_missing_txt'] = 'Bitte wählen Sie einen Datenbank-Bennutzer für die Datenbank aus.'; $wb['database_charset_change_txt'] = 'Der Zeichensatz der Datenbank kann nicht geändert werden.'; $wb['password_strength_txt'] = 'Passwortkomplexität'; -$wb['database_name_error_len'] = 'Datenbankname - {db} - zu lang. Die max. Datenbanknamen Länge inkl. Präfix ist 64 Zeichen.'; -$wb['database_user_error_len'] = 'Datenbankbenutzername - {user} - zu lang. Die max. Datenbankbenutzernamen Länge inkl. Präfix ist 16 Zeichen.'; +$wb['database_name_error_len'] = 'Datenbank-Name - {db} - zu lang. Die max. Datenbank-Namen-Länge inkl. Präfix ist 64 Zeichen.'; +$wb['database_user_error_len'] = 'Datenbank-Benutzername - {user} - zu lang. Die max. Datenbank-Benutzernamen-Länge inkl. Präfix ist 16 Zeichen.'; $wb['generate_password_txt'] = 'Passwort erzeugen'; $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; diff --git a/interface/web/sites/lib/lang/de_database_admin_list.lng b/interface/web/sites/lib/lang/de_database_admin_list.lng index b479d06cff0a238531eb4f884719391316dc6b06..d15d2583c13c136e832d1ae4d263c2312ccba04e 100644 --- a/interface/web/sites/lib/lang/de_database_admin_list.lng +++ b/interface/web/sites/lib/lang/de_database_admin_list.lng @@ -1,10 +1,10 @@ diff --git a/interface/web/sites/lib/lang/de_database_user.lng b/interface/web/sites/lib/lang/de_database_user.lng index ab4601720d797f720fe0eb5c8c5f7a67aaadf2f1..dc175f1a40405eb70c9ecf229c60ff1f8fc2b484 100644 --- a/interface/web/sites/lib/lang/de_database_user.lng +++ b/interface/web/sites/lib/lang/de_database_user.lng @@ -1,13 +1,13 @@ diff --git a/interface/web/sites/lib/lang/de_database_user_list.lng b/interface/web/sites/lib/lang/de_database_user_list.lng index 7ee8222dcb17df2eab716dbe7c6b8b06a48d578f..a2fef7c7b697e65e2994c0cd31209fca90adcca0 100644 --- a/interface/web/sites/lib/lang/de_database_user_list.lng +++ b/interface/web/sites/lib/lang/de_database_user_list.lng @@ -1,5 +1,5 @@ diff --git a/interface/web/sites/lib/lang/de_ftp_user.lng b/interface/web/sites/lib/lang/de_ftp_user.lng index 2a3a98b21f904b1c8785eeaec144bf54bd94975e..829b8ff9d18920910b3510ad3907b001843d3973 100644 --- a/interface/web/sites/lib/lang/de_ftp_user.lng +++ b/interface/web/sites/lib/lang/de_ftp_user.lng @@ -12,13 +12,13 @@ $wb['server_id_txt'] = 'Server'; $wb['parent_domain_id_txt'] = 'Domain'; $wb['username_txt'] = 'Benutzername'; $wb['password_txt'] = 'Passwort'; -$wb['quota_size_txt'] = 'Speicherplatz Beschränkung'; +$wb['quota_size_txt'] = 'Speicherplatz-Beschränkung'; $wb['active_txt'] = 'Aktiv'; $wb['limit_ftp_user_txt'] = 'Die max. Anzahl an FTP Benutzern für Ihr Konto wurde erreicht.'; $wb['username_error_empty'] = 'Benutzername ist leer.'; $wb['username_error_unique'] = 'Der Benutzername muss einzigartig sein.'; $wb['username_error_regex'] = 'Der Benutzername enthält nicht erlaubte Zeichen.'; -$wb['quota_size_error_empty'] = 'Speicherplatz Beschränkung ist leer.'; +$wb['quota_size_error_empty'] = 'Speicherplatz-Beschränkung ist leer.'; $wb['uid_error_empty'] = 'GID ist leer.'; $wb['directory_error_empty'] = 'Verzeichnis ist leer.'; $wb['password_strength_txt'] = 'Passwortkomplexität'; diff --git a/interface/web/sites/lib/lang/de_shell_user.lng b/interface/web/sites/lib/lang/de_shell_user.lng index 4f04562f7469ec49908b0fd04a3481fba36b370d..33d71a5eb4460463c0240c42ab846722aa84b441 100644 --- a/interface/web/sites/lib/lang/de_shell_user.lng +++ b/interface/web/sites/lib/lang/de_shell_user.lng @@ -6,20 +6,20 @@ $wb['parent_domain_id_txt'] = 'Webseite'; $wb['username_txt'] = 'Benutzername'; $wb['password_txt'] = 'Passwort'; $wb['chroot_txt'] = 'Chroot Shell'; -$wb['quota_size_txt'] = 'Beschränkung'; +$wb['quota_size_txt'] = 'Quota'; $wb['active_txt'] = 'Aktiv'; $wb['username_error_empty'] = 'Benutzername ist leer.'; $wb['username_error_unique'] = 'Der Benutzername muss eindeutig sein.'; $wb['username_error_regex'] = 'Der Benutzername enthält ungültige Zeichen.'; -$wb['quota_size_error_empty'] = 'Beschränkung ist leer'; +$wb['quota_size_error_empty'] = 'Quota ist leer'; $wb['uid_error_empty'] = 'GID ist leer.'; $wb['directory_error_empty'] = 'Verzeichnis ist leer.'; -$wb['limit_shell_user_txt'] = 'Die max. Anzahl an Shell Benutzer wurde erreicht.'; +$wb['limit_shell_user_txt'] = 'Die maximale Anzahl an Shell Benutzer wurde erreicht.'; $wb['password_strength_txt'] = 'Passwortkomplexität'; $wb['parent_domain_id_error_empty'] = 'Keine Webseite ausgewählt.'; $wb['puser_txt'] = 'Web Benutzername'; $wb['pgroup_txt'] = 'Web Gruppe'; -$wb['ssh_rsa_txt'] = 'SSH RSA öffentlicher Schlüssel (Für Schlüssel basierte Logins)'; +$wb['ssh_rsa_txt'] = 'SSH RSA Public Key (für key-basierte Logins)'; $wb['dir_dot_error'] = 'Kein .. im Pfad erlaubt.'; $wb['dir_slashdot_error'] = 'Kein ./ im Pfad erlaubt.'; $wb['generate_password_txt'] = 'Passwort erzeugen'; diff --git a/interface/web/sites/lib/lang/de_user_quota_stats_list.lng b/interface/web/sites/lib/lang/de_user_quota_stats_list.lng index 679e16ad7b9cda358dbff2ace9001ce2c576a734..acede01d2680c3a132b458458576761cc1824b3c 100644 --- a/interface/web/sites/lib/lang/de_user_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/de_user_quota_stats_list.lng @@ -1,7 +1,7 @@ www'; $wb['www_to_non_www_txt'] = 'www -> non-www'; @@ -93,23 +93,23 @@ $wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children muss ein positiver $wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers muss ein positiver integer Wert sein.'; $wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers muss ein positiver integer Wert sein.'; $wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers muss ein positiver integer Wert sein.'; -$wb['hd_quota_error_regex'] = 'Speicherplatz Beschränkung ist ungültig.'; -$wb['traffic_quota_error_regex'] = 'Datentransfer Beschränkung ist ungültig.'; -$wb['fastcgi_php_version_txt'] = 'PHP Version'; +$wb['hd_quota_error_regex'] = 'Speicherplatz-Beschränkung ist ungültig.'; +$wb['traffic_quota_error_regex'] = 'Datentransfer-Beschränkung ist ungültig.'; +$wb['fastcgi_php_version_txt'] = 'PHP-Version'; $wb['pm_txt'] = 'PHP-FPM Prozess Manager'; $wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout'; $wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests'; -$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout muss eine positiver integer Wert sein.'; -$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests muss ein integer Wert >= 0 sein.'; -$wb['pm_ondemand_hint_txt'] = 'Bitte beachte Sie, dass Sie mindesten PHP Version >= 5.3.9 verwenden um den Ondemand Prozess Manager zu verwenden. Wenn Sie Ondemand für eine ältere PHP Version aktivieren wird PHP nicht mehr funktionieren!'; +$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout muss ein positiver Integer-Wert sein.'; +$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests muss ein Integer-Wert >= 0 sein.'; +$wb['pm_ondemand_hint_txt'] = 'Bitte beachten Sie, dass Sie mindestens PHP Version >= 5.3.9 verwenden um den Ondemand Prozess Manager zu verwenden. Wenn Sie Ondemand für eine ältere PHP Version aktivieren wird PHP nicht mehr funktionieren!'; $wb['generate_password_txt'] = 'Passwort generieren'; $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmer nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmer überein.'; -$wb['available_php_directive_snippets_txt'] = 'Verfügbare PHP Direktiven Schnipsel:'; -$wb['available_apache_directive_snippets_txt'] = 'Verfügbare Apache Direktiven Schnipsel:'; -$wb['available_nginx_directive_snippets_txt'] = 'Verfügbare nginx Direktiven Schnipsel:'; -$wb['proxy_directives_txt'] = 'Proxy Direktiven'; -$wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy Direktiven Schnipsel:'; +$wb['available_php_directive_snippets_txt'] = 'Verfügbare PHP-Direktiven-Schnipsel:'; +$wb['available_apache_directive_snippets_txt'] = 'Verfügbare Apache-Direktiven-Schnipsel:'; +$wb['available_nginx_directive_snippets_txt'] = 'Verfügbare nginx-Direktiven-Schnipsel:'; +$wb['proxy_directives_txt'] = 'Proxy-Direktiven'; +$wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy-Direktiven-Schnipsel:'; $wb['Domain'] = 'Aliasdomain'; ?> diff --git a/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng b/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng index 9e27e3cef9057955f71e0c3a8627e721d056ef1c..2f47883c1ca13fd8a094d2fc0cee98e2c78f2b98 100644 --- a/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng +++ b/interface/web/sites/lib/lang/de_web_aliasdomain_list.lng @@ -6,7 +6,7 @@ $wb['parent_domain_id_txt'] = 'Domain'; $wb['domain_txt'] = 'Aliasdomain'; $wb['add_new_record_txt'] = 'Neue Aliasdomain hinzufügen'; $wb['domain_error_empty'] = 'Domain ist leer.'; -$wb['domain_error_unique'] = 'Domain ist schon als Webdomain in Verwendung.'; +$wb['domain_error_unique'] = 'Domain muss eindeutig sein.'; $wb['domain_error_regex'] = 'Domain Name ist ungültig.'; $wb['no_redirect_txt'] = 'Keine Weiterleitung'; $wb['no_flag_txt'] = 'Keine Optionen'; diff --git a/interface/web/sites/lib/lang/de_web_backup_list.lng b/interface/web/sites/lib/lang/de_web_backup_list.lng index 5d39ebec65125c2eaf6f5fd5ea7e374dccc85975..316743aea54a81cf83796ca100f92207ba6d8ffa 100644 --- a/interface/web/sites/lib/lang/de_web_backup_list.lng +++ b/interface/web/sites/lib/lang/de_web_backup_list.lng @@ -2,15 +2,15 @@ $wb['list_head_txt'] = 'Bestehende Backups'; $wb['date_txt'] = 'Datum'; $wb['backup_type_txt'] = 'Typ'; -$wb['filename_txt'] = 'Backup Datei'; +$wb['filename_txt'] = 'Backup-Datei'; $wb['restore_backup_txt'] = 'Backup wiederherstellen'; $wb['download_backup_txt'] = 'Backup herunterladen'; -$wb['download_info_txt'] = 'Die Backup Datei steht in ein paar Minuten als Download im Backup Verzeichnis zur Verfügung.'; +$wb['download_info_txt'] = 'Die Backup-Datei steht in ein paar Minuten als Download im Backup-Verzeichnis zur Verfügung.'; $wb['restore_info_txt'] = 'Die Wiederherstellung des Backups hat begonnen. Diese Aktion kann bis zur Fertigstellung einige Minuten dauern.'; $wb['restore_confirm_txt'] = 'Die Wiederherstellung wird existierende Dateien in Ihrer Website überschreiben. Möchten Sie dieses Backup wirklich wiederherstellen?'; -$wb['download_pending_txt'] = 'Es liegt bereits ein Backup Download Job an.'; -$wb['restore_pending_txt'] = 'Es liegt bereits ein Backup Wiederherstellungs Job an.'; $wb['backup_type_mongodb'] = 'MongoDB Datenbank'; -$wb['backup_type_mysql'] = 'MySQL Datenbank'; -$wb['backup_type_web'] = 'Webseiten Dateien'; +$wb['download_pending_txt'] = 'Es liegt bereits ein Backup-Download-Job an.'; +$wb['restore_pending_txt'] = 'Es liegt bereits ein Backup-Wiederherstellungs-Job an.'; +$wb['backup_type_mysql'] = 'MySQL-Datenbank'; +$wb['backup_type_web'] = 'Webseiten-Dateien'; ?> diff --git a/interface/web/sites/lib/lang/de_web_domain.lng b/interface/web/sites/lib/lang/de_web_domain.lng index 79fe72614dc3f0b535be5d635fb7542a89fb3314..d5e32d0b6abb23f868c6742b3fbf597884c86f77 100644 --- a/interface/web/sites/lib/lang/de_web_domain.lng +++ b/interface/web/sites/lib/lang/de_web_domain.lng @@ -4,65 +4,65 @@ $wb['ssl_locality_txt'] = 'Ort'; $wb['ssl_organisation_txt'] = 'Firma'; $wb['ssl_organisation_unit_txt'] = 'Abteilung'; $wb['ssl_country_txt'] = 'Land'; -$wb['ssl_key_txt'] = 'SSL Schlüssel'; -$wb['ssl_request_txt'] = 'SSL Anfrage'; -$wb['ssl_cert_txt'] = 'SSL Zertifikat'; -$wb['ssl_bundle_txt'] = 'SSL Bundle'; -$wb['ssl_action_txt'] = 'SSL Aktion'; +$wb['ssl_key_txt'] = 'SSL-Key'; +$wb['ssl_request_txt'] = 'SSL-Request'; +$wb['ssl_cert_txt'] = 'SSL-Zertifikat'; +$wb['ssl_bundle_txt'] = 'SSL-Bundle'; +$wb['ssl_action_txt'] = 'SSL-Aktion'; $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['type_txt'] = 'Typ'; $wb['parent_domain_id_txt'] = 'Zugehörige Webseite'; -$wb['web_folder_error_regex'] = 'Ungültige Ordnerangabe, bitte keinen / eingeben.'; +$wb['web_folder_error_regex'] = 'Ungültige Verzeichnisangabe, bitte keinen / eingeben.'; $wb['redirect_type_txt'] = 'Weiterleitungstyp'; $wb['redirect_path_txt'] = 'Weiterleitungspfad'; $wb['active_txt'] = 'Aktiv'; $wb['document_root_txt'] = 'Documentroot'; -$wb['system_user_txt'] = 'System Benutzer'; -$wb['system_group_txt'] = 'System Gruppe'; -$wb['ip_address_txt'] = 'IP Adresse'; -$wb['vhost_type_txt'] = 'vHost Type'; -$wb['hd_quota_txt'] = 'Speicherplatz Beschränkung'; -$wb['traffic_quota_txt'] = 'Datentransfer Beschränkung'; +$wb['system_user_txt'] = 'Linux-Benutzer'; +$wb['system_group_txt'] = 'Linux-Gruppe'; +$wb['ip_address_txt'] = 'IP-Adresse'; +$wb['vhost_type_txt'] = 'vHost-Typ'; +$wb['hd_quota_txt'] = 'Speicherplatzbeschränkung'; +$wb['traffic_quota_txt'] = 'Transfervolumenbeschränkung'; $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; $wb['ssl_txt'] = 'SSL'; $wb['suexec_txt'] = 'SuEXEC'; $wb['php_txt'] = 'PHP'; $wb['client_txt'] = 'Kunde'; -$wb['limit_web_domain_txt'] = 'Die max. Anzahl an Webdomains für Ihr Konto wurde erreicht.'; -$wb['limit_web_aliasdomain_txt'] = 'Die max. Anzahl an Aliasdomains für Ihr Konto wurde erreicht.'; -$wb['limit_web_subdomain_txt'] = 'Die max. Anzahl an Subdomains für Ihr Konto wurde erreicht.'; +$wb['limit_web_domain_txt'] = 'Die maximale Anzahl an Webdomains für Ihr Konto wurde erreicht.'; +$wb['limit_web_aliasdomain_txt'] = 'Die maximale Anzahl an Aliasdomains für Ihr Konto wurde erreicht.'; +$wb['limit_web_subdomain_txt'] = 'Die maximale Anzahl an Subdomains für Ihr Konto wurde erreicht.'; $wb['apache_directives_txt'] = 'Apache Direktiven'; $wb['domain_error_empty'] = 'Domain ist leer.'; -$wb['domain_error_unique'] = 'Domain ist schon als Aliasdomain in Verwendung'; +$wb['domain_error_unique'] = 'Domain muss eindeutig sein'; $wb['domain_error_regex'] = 'Domain Name ungültig.'; $wb['domain_error_autosub'] = 'Es existiert bereits eine Subdomain mit diesen Einstellungen.'; -$wb['hd_quota_error_empty'] = 'Speicherplatz Beschränkung ist leer.'; -$wb['traffic_quota_error_empty'] = 'Datentransfer Beschränkung ist leer.'; +$wb['hd_quota_error_empty'] = 'Speicherplatzbeschränkung ist leer.'; +$wb['traffic_quota_error_empty'] = 'Transfervolumenbeschränkung ist leer.'; $wb['errordocs_txt'] = 'Eigene Fehlerseiten'; -$wb['error_ssl_state_empty'] = 'SSL Bundesland ist leer.'; -$wb['error_ssl_locality_empty'] = 'SSL Ort ist leer.'; -$wb['error_ssl_organisation_empty'] = 'SSL Firma ist leer.'; -$wb['error_ssl_organisation_unit_empty'] = 'SSL Abteilung ist leer.'; -$wb['error_ssl_country_empty'] = 'SSL Land ist leer.'; +$wb['error_ssl_state_empty'] = 'Bundesland (SSL) ist leer.'; +$wb['error_ssl_locality_empty'] = 'Ort (SSL) ist leer.'; +$wb['error_ssl_organisation_empty'] = 'Organisation (SSL) ist leer.'; +$wb['error_ssl_organisation_unit_empty'] = 'Abteilung (SSL) ist leer.'; +$wb['error_ssl_country_empty'] = 'Land (SSL) ist leer.'; $wb['subdomain_txt'] = 'Auto Subdomain'; $wb['client_group_id_txt'] = 'Kunde'; $wb['stats_password_txt'] = 'Webstatistik Passwort'; $wb['ssl_domain_txt'] = 'SSL Domain'; $wb['allow_override_txt'] = 'Allow Override'; -$wb['limit_web_quota_free_txt'] = 'Max. möglicher Speicherplatz'; -$wb['ssl_state_error_regex'] = 'Ungültiges SSL Bundesland. Gültige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_locality_error_regex'] = 'Ungültiger SSL Ort. Gülige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_organisation_error_regex'] = 'Ungültige SSL Firma. Gültige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL Abteilung. Gültige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_country_error_regex'] = 'Ungültiges SSL Land. Gültige Zeichen sind: A-Z'; -$wb['limit_traffic_quota_free_txt'] = 'Max. möglicher Datentransfer'; +$wb['limit_web_quota_free_txt'] = 'Max. mögliche Speicherplatzbeschränkung'; +$wb['ssl_state_error_regex'] = 'Ungültiges SSL-Bundesland. Gültige Zeichen sind: a-z, 0-9 und .,-_&äöüÄÖÜ'; +$wb['ssl_locality_error_regex'] = 'Ungültiger SSL-Ort. Gülige Zeichen sind: a-z, 0-9 und .,-_&äöüÄÖÜ'; +$wb['ssl_organisation_error_regex'] = 'Ungültige SSL-Firma. Gültige Zeichen sind: a-z, 0-9 und .,-_&äöüÄÖÜ'; +$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL-Abteilung. Gültige Zeichen sind: a-z, 0-9 und .,-_&äöüÄÖÜ'; +$wb['ssl_country_error_regex'] = 'Ungültiges SSL-Land. Gültige Zeichen sind: A-Z'; +$wb['limit_traffic_quota_free_txt'] = 'Max. mögliche Transfervolumenbeschränkung'; $wb['redirect_error_regex'] = 'Ungültiger Weiterleitungspfad. Gültige Angaben sind beispielsweise: /test/ oder http://www.domain.tld/test/'; $wb['php_open_basedir_txt'] = 'PHP open_basedir'; $wb['backup_interval_txt'] = 'Backup Intervall'; $wb['backup_copies_txt'] = 'Anzahl an Backups'; -$wb['traffic_quota_exceeded_txt'] = 'Das Datentransfervolumen ist verbraucht.'; +$wb['traffic_quota_exceeded_txt'] = 'Transfervolumen verbraucht.'; $wb['ruby_txt'] = 'Ruby'; $wb['stats_user_txt'] = 'Webstatistik Benutzername'; $wb['stats_type_txt'] = 'Webstatistik Programm'; @@ -70,13 +70,13 @@ $wb['custom_php_ini_txt'] = 'Individuelle php.ini Einstellungen'; $wb['error_ssl_cert_empty'] = 'SSL Zertifikat Feld ist leer.'; $wb['none_txt'] = 'Keine'; $wb['disabled_txt'] = 'Deaktiviert'; -$wb['no_redirect_txt'] = 'Keine Weiterleitung'; -$wb['no_flag_txt'] = 'Keine Option'; +$wb['no_redirect_txt'] = 'Kein Redirect'; +$wb['no_flag_txt'] = 'Kein Flag'; $wb['save_certificate_txt'] = 'Zertifikat speichern'; $wb['create_certificate_txt'] = 'Zertifikat erstellen'; $wb['delete_certificate_txt'] = 'Zertifikat löschen'; $wb['nginx_directives_txt'] = 'nginx Direktiven'; -$wb['seo_redirect_txt'] = 'SEO Weiterleitung'; +$wb['seo_redirect_txt'] = 'SEO Redirect'; $wb['non_www_to_www_txt'] = 'Nicht-www -> www'; $wb['www_to_non_www_txt'] = 'www -> Nicht-www'; $wb['php_fpm_use_socket_txt'] = 'Benutze Socket für PHP-FPM'; @@ -93,8 +93,8 @@ $wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children muß eine positive $wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers muß eine positive ganze Zahl sein.'; $wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers muß eine positive ganze Zahl sein.'; $wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers muß eine positive ganze Zahl sein.'; -$wb['hd_quota_error_regex'] = 'Speicherplatz Beschränkung ist ungültig.'; -$wb['traffic_quota_error_regex'] = 'Datentransfer Beschränkung ist ungültig.'; +$wb['hd_quota_error_regex'] = 'Speicherplatzbeschränkung ist ungültig.'; +$wb['traffic_quota_error_regex'] = 'Transfervolumenbeschränkung ist ungültig.'; $wb['fastcgi_php_version_txt'] = 'PHP Version'; $wb['pm_txt'] = 'PHP-FPM FastCGI Prozess Manager'; $wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout'; diff --git a/interface/web/sites/lib/lang/de_web_sites_stats_list.lng b/interface/web/sites/lib/lang/de_web_sites_stats_list.lng index 611b8297d4385ebf129821069ba69c81421763bf..c834793ce116e091ef256d56ecbc29f7001cbc19 100644 --- a/interface/web/sites/lib/lang/de_web_sites_stats_list.lng +++ b/interface/web/sites/lib/lang/de_web_sites_stats_list.lng @@ -1,8 +1,8 @@ diff --git a/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng b/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng index 9dc798f43543cd7cc78dba5ac3076249486fa5f4..311a68bec1da934b80e80f8a59798e47f023ec26 100644 --- a/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng +++ b/interface/web/sites/lib/lang/de_web_vhost_subdomain.lng @@ -8,26 +8,26 @@ $wb['ssl_locality_txt'] = 'Ort'; $wb['ssl_organisation_txt'] = 'Firma'; $wb['ssl_organisation_unit_txt'] = 'Abteilung'; $wb['ssl_country_txt'] = 'Land'; -$wb['ssl_key_txt'] = 'SSL Schlüssel'; -$wb['ssl_request_txt'] = 'SSL Anfrage'; -$wb['ssl_cert_txt'] = 'SSL Zertifikat'; -$wb['ssl_bundle_txt'] = 'SSL Bundle'; -$wb['ssl_action_txt'] = 'SSL Aktion'; +$wb['ssl_key_txt'] = 'SSL-Key'; +$wb['ssl_request_txt'] = 'SSL-Request'; +$wb['ssl_cert_txt'] = 'SSL-Zertifikat'; +$wb['ssl_bundle_txt'] = 'SSL-Bundle'; +$wb['ssl_action_txt'] = 'SSL-Aktion'; $wb['server_id_txt'] = 'Server'; $wb['domain_txt'] = 'Domain'; $wb['host_txt'] = 'Host'; $wb['type_txt'] = 'Typ'; $wb['web_folder_error_regex'] = 'Ungültige Ordnerangabe, bitte keinen / eingeben.'; -$wb['redirect_type_txt'] = 'WeiterleitungsTyp'; -$wb['redirect_path_txt'] = 'Weiterleitungsziel'; +$wb['redirect_type_txt'] = 'Redirect-Typ'; +$wb['redirect_path_txt'] = 'Redirect-Pfad'; $wb['active_txt'] = 'Aktiv'; $wb['document_root_txt'] = 'Documentroot'; -$wb['system_user_txt'] = 'Linux Benutzer'; -$wb['system_group_txt'] = 'Linux Gruppe'; +$wb['system_user_txt'] = 'Linux-Benutzer'; +$wb['system_group_txt'] = 'Linux-Gruppe'; $wb['ip_address_txt'] = 'IP Adresse'; -$wb['vhost_type_txt'] = 'vHost Type'; -$wb['hd_quota_txt'] = 'Speicherplatz Beschränkung'; -$wb['traffic_quota_txt'] = 'Datentransfer Beschränkung'; +$wb['vhost_type_txt'] = 'vHost-Typ'; +$wb['hd_quota_txt'] = 'Festplatten-Quota'; +$wb['traffic_quota_txt'] = 'Traffic-Quota'; $wb['cgi_txt'] = 'CGI'; $wb['ssi_txt'] = 'SSI'; $wb['ssl_txt'] = 'SSL'; @@ -37,55 +37,55 @@ $wb['client_txt'] = 'Kunde'; $wb['limit_web_domain_txt'] = 'Die max. Anzahl an Webdomains für Ihr Konto wurde erreicht.'; $wb['limit_web_aliasdomain_txt'] = 'Die max. Anzahl an Aliasdomains für Ihr Konto wurde erreicht.'; $wb['limit_web_subdomain_txt'] = 'Die max. Anzahl an Subdomains für Ihr Konto wurde erreicht.'; -$wb['apache_directives_txt'] = 'Apache Direktiven'; +$wb['apache_directives_txt'] = 'Apache-Direktiven'; $wb['domain_error_empty'] = 'Domain ist leer.'; -$wb['domain_error_unique'] = 'Domain ist schon in Verwendung'; -$wb['domain_error_regex'] = 'Domain Name ungültig.'; -$wb['domain_error_wildcard'] = 'Wildcard Subdomains sind nicht erlaubt.'; -$wb['hd_quota_error_empty'] = 'Speicherplatz Beschränkung ist leer.'; -$wb['traffic_quota_error_empty'] = 'Datentransfer Beschränkung ist leer.'; +$wb['domain_error_unique'] = 'Domain muss eindeutig sein'; +$wb['domain_error_regex'] = 'Domain-Name ungültig.'; +$wb['domain_error_wildcard'] = 'Wildcard-Subdomains sind nicht erlaubt.'; +$wb['hd_quota_error_empty'] = 'Harddisk-Quota ist leer.'; +$wb['traffic_quota_error_empty'] = 'Traffic-Quota ist leer.'; $wb['errordocs_txt'] = 'Eigene Fehlerseiten'; -$wb['error_ssl_state_empty'] = 'SSL Status ist leer.'; +$wb['error_ssl_state_empty'] = 'Bundesland (SSL) ist leer.'; $wb['error_ssl_locality_empty'] = 'Ort (SSL) ist leer.'; $wb['error_ssl_organisation_empty'] = 'Organisation (SSL) ist leer.'; $wb['error_ssl_organisation_unit_empty'] = 'Abteilung (SSL) ist leer.'; $wb['error_ssl_country_empty'] = 'Land (SSL) ist leer.'; -$wb['subdomain_txt'] = 'Auto Subdomain'; +$wb['subdomain_txt'] = 'Auto-Subdomain'; $wb['client_group_id_txt'] = 'Kunde'; -$wb['stats_password_txt'] = 'Webstatistik Passwort'; -$wb['ssl_domain_txt'] = 'SSL Domain'; +$wb['stats_password_txt'] = 'Webstatistik-Passwort'; +$wb['ssl_domain_txt'] = 'SSL-Domain'; $wb['allow_override_txt'] = 'Allow Override'; -$wb['limit_web_quota_free_txt'] = 'Max. mögliche Festplattenspeicher Beschränkung'; -$wb['ssl_state_error_regex'] = 'Ungültiges SSL Bundesland. Gültige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_locality_error_regex'] = 'Ungültiger SSL Ort. Gülige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_organisation_error_regex'] = 'Ungültige SSL Firma. Gültige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL Abteilung. Gültige Zeichen sind: a-z, 0-9 und .,-_'; -$wb['ssl_country_error_regex'] = 'Ungültiges SSL Land. Gültige Zeichen sind: A-Z'; -$wb['limit_traffic_quota_free_txt'] = 'Max. mögliche Datentransfer Beschränkung'; -$wb['redirect_error_regex'] = 'Ungültiger redirect Pfad. Gültige Angaben sind beispielsweise: /test/ oder http://www.domain.tld/test/'; +$wb['limit_web_quota_free_txt'] = 'Max. mögliches Festplatten-Quota'; +$wb['ssl_state_error_regex'] = 'Ungültiges SSL-Bundesland. Gültige Zeichen sind: a-z, 0-9 und .,-_'; +$wb['ssl_locality_error_regex'] = 'Ungültiger SSL-Ort. Gülige Zeichen sind: a-z, 0-9 und .,-_'; +$wb['ssl_organisation_error_regex'] = 'Ungültige SSL-Firma. Gültige Zeichen sind: a-z, 0-9 und .,-_'; +$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL-Abteilung. Gültige Zeichen sind: a-z, 0-9 und .,-_'; +$wb['ssl_country_error_regex'] = 'Ungültiges SSL-Land. Gültige Zeichen sind: A-Z'; +$wb['limit_traffic_quota_free_txt'] = 'Max. mögliches Traffic-Quota'; +$wb['redirect_error_regex'] = 'Ungültiger Redirect-Pfad. Gültige Angaben sind beispielsweise: /test/ oder http://www.domain.tld/test/'; $wb['php_open_basedir_txt'] = 'PHP open_basedir'; -$wb['backup_interval_txt'] = 'Backup Intervall'; +$wb['backup_interval_txt'] = 'Backup-Intervall'; $wb['backup_copies_txt'] = 'Anzahl an Backups'; $wb['traffic_quota_exceeded_txt'] = 'Max. Datentransfer verbraucht.'; $wb['ruby_txt'] = 'Ruby'; -$wb['stats_user_txt'] = 'Webstatistik Benutzername'; -$wb['stats_type_txt'] = 'Webstatistik Programm'; -$wb['custom_php_ini_txt'] = 'Individuelle php.ini Einstellungen'; -$wb['error_ssl_cert_empty'] = 'SSL Zertifikat Feld ist leer.'; +$wb['stats_user_txt'] = 'Webstatistik-Benutzername'; +$wb['stats_type_txt'] = 'Webstatistik-Programm'; +$wb['custom_php_ini_txt'] = 'Individuelle php.ini-Einstellungen'; +$wb['error_ssl_cert_empty'] = 'SSL-Zertifikat-Feld ist leer.'; $wb['none_txt'] = 'Keine'; $wb['disabled_txt'] = 'Deaktiviert'; -$wb['no_redirect_txt'] = 'Keine Weiterleitung'; -$wb['no_flag_txt'] = 'Keine Option'; +$wb['no_redirect_txt'] = 'Kein Redirect'; +$wb['no_flag_txt'] = 'Kein Flag'; $wb['save_certificate_txt'] = 'Zertifikat speichern'; $wb['create_certificate_txt'] = 'Zertifikat erstellen'; $wb['delete_certificate_txt'] = 'Zertifikat löschen'; -$wb['nginx_directives_txt'] = 'nginx Direktiven'; -$wb['seo_redirect_txt'] = 'SEO Weiterleitung'; +$wb['nginx_directives_txt'] = 'nginx-Direktiven'; +$wb['seo_redirect_txt'] = 'SEO-Redirect'; $wb['non_www_to_www_txt'] = 'Nicht-www -> www'; $wb['www_to_non_www_txt'] = 'www -> Nicht-www'; $wb['php_fpm_use_socket_txt'] = 'Benutze Socket für PHP-FPM'; -$wb['ipv6_address_txt'] = 'IPv6 Adresse'; -$wb['error_no_sni_txt'] = 'SNI für SSL ist auf diesem Server nicht aktiviert. Sie können daher nur ein SSL Zertifikat pro IP Adresse eintragen.'; +$wb['ipv6_address_txt'] = 'IPv6-Adresse'; +$wb['error_no_sni_txt'] = 'SNI für SSL ist auf diesem Server nicht aktiviert. Sie können daher nur ein SSL-Zertifikat pro IP-Adresse eintragen.'; $wb['python_txt'] = 'Python'; $wb['perl_txt'] = 'Perl'; $wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children'; @@ -97,24 +97,24 @@ $wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children muß eine positive $wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers muß eine positive ganze Zahl sein.'; $wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers muß eine positive ganze Zahl sein.'; $wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers muß eine positive ganze Zahl sein.'; -$wb['hd_quota_error_regex'] = 'Festplattenspeicher Beschränkung ist ungültig.'; -$wb['traffic_quota_error_regex'] = 'Datentransfer Beschränkung ist ungültig.'; -$wb['fastcgi_php_version_txt'] = 'PHP Version'; +$wb['hd_quota_error_regex'] = 'Harddisk-Quota ist ungültig.'; +$wb['traffic_quota_error_regex'] = 'Traffic-Quota ist ungültig.'; +$wb['fastcgi_php_version_txt'] = 'PHP-Version'; $wb['pm_txt'] = 'PHP-FPM Prozess Manager'; $wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout'; $wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests'; $wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout muß eine positive ganze Zahl sein.'; $wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests muß eine ganze Zahl >= 0 sein.'; -$wb['pm_ondemand_hint_txt'] = 'Bitte beachten Sie, daß Ihre PHP Version >= 5.3.9 sein muß, wenn Sie den ondemand Prozess Manager nutzen möchten. Wenn Sie ondemand für eine ältere PHP Version auswählen, wird PHP nicht mehr starten!'; +$wb['pm_ondemand_hint_txt'] = 'Bitte beachten Sie, daß Ihre PHP Version >= 5.3.9 sein muß, wenn Sie den ondemand Prozess Manager nutzen möchten. Wenn Sie ondemand für eine ältere PHP-Version auswählen, wird PHP nicht mehr starten!'; $wb['generate_password_txt'] = 'Passwort erzeugen'; $wb['repeat_password_txt'] = 'Passwort wiederholen'; $wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.'; $wb['password_match_txt'] = 'Die Passwörter stimmen überein.'; -$wb['available_php_directive_snippets_txt'] = 'Verfügbare PHP Direktiven Schnipsel:'; -$wb['available_apache_directive_snippets_txt'] = 'Verfügbare Apache Direktiven Schnipsel:'; -$wb['available_nginx_directive_snippets_txt'] = 'Verfügbare nginx Direktiven Schnipsel:'; -$wb['proxy_directives_txt'] = 'Proxy Direktiven'; -$wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy Direktiven Schnipsel:'; +$wb['available_php_directive_snippets_txt'] = 'Verfügbare PHP-Direktiven-Schnipsel:'; +$wb['available_apache_directive_snippets_txt'] = 'Verfügbare Apache-Direktiven-Schnipsel:'; +$wb['available_nginx_directive_snippets_txt'] = 'Verfügbare nginx-Direktiven-Schnipsel:'; +$wb['proxy_directives_txt'] = 'Proxy-Direktiven'; +$wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy-Direktiven-Schnipsel:'; $wb['rewrite_rules_txt'] = 'Rewrite Rules'; $wb['invalid_rewrite_rules_txt'] = 'Unzulässige Rewrite Rules'; $wb['allowed_rewrite_rule_directives_txt'] = 'Erlaubte Direktiven:'; diff --git a/interface/web/sites/lib/lang/en_cron.lng b/interface/web/sites/lib/lang/en_cron.lng index 8cb7f08e6d54bea35b9da3d9a60f4479fe786c45..e6ba8ad3dc1a4133cf728403d6d883c63767f978 100644 --- a/interface/web/sites/lib/lang/en_cron.lng +++ b/interface/web/sites/lib/lang/en_cron.lng @@ -18,4 +18,5 @@ $wb['run_month_error_format'] = 'Invalid format for months.'; $wb['run_wday_error_format'] = 'Invalid format for days of the week.'; $wb['command_error_format'] = 'Invalid command format. Please note that in case of an url call only http/https is allowed.'; $wb['unknown_fieldtype_error'] = 'An unknown field type has been used.'; +$wb['server_id_error_empty'] = 'The server ID is empty.'; ?> \ No newline at end of file diff --git a/interface/web/sites/lib/lang/en_web_domain.lng b/interface/web/sites/lib/lang/en_web_domain.lng index 6f5647b344599cb90cb709f7c23f071ca834d192..e4fb30e8b6ea8093cb0252f53eab4c0d0131a9e4 100644 --- a/interface/web/sites/lib/lang/en_web_domain.lng +++ b/interface/web/sites/lib/lang/en_web_domain.lng @@ -56,10 +56,10 @@ $wb["client_group_id_txt"] = 'Client'; $wb["stats_password_txt"] = 'Set Webstatistics password'; $wb["allow_override_txt"] = 'Apache AllowOverride'; $wb["limit_web_quota_free_txt"] = 'Max. available Harddisk Quota'; -$wb["ssl_state_error_regex"] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_'; -$wb["ssl_locality_error_regex"] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_'; -$wb["ssl_organisation_error_regex"] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_'; -$wb["ssl_organistaion_unit_error_regex"] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_'; +$wb["ssl_state_error_regex"] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_&äöüÄÖÜ'; +$wb["ssl_locality_error_regex"] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_&äöüÄÖÜ'; +$wb["ssl_organisation_error_regex"] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_&äöüÄÖÜ'; +$wb["ssl_organistaion_unit_error_regex"] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_&äöüÄÖÜ'; $wb["ssl_country_error_regex"] = 'Invalid SSL Country. Valid characters are: A-Z'; $wb["limit_traffic_quota_free_txt"] = 'Max. available Traffic Quota'; $wb["redirect_error_regex"] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/'; diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php index 062529fda339b15d151f38d882a795c15cabf18b..ee3b2558e94dfae4ed9613cb9823e56735343480 100644 --- a/interface/web/sites/web_domain_edit.php +++ b/interface/web/sites/web_domain_edit.php @@ -572,9 +572,16 @@ class page_action extends tform_actions { if($client['limit_hterror'] != 'y') $this->dataRecord['errordocs'] = '-'; if($client['limit_wildcard'] != 'y' && $this->dataRecord['subdomain'] == '*') $this->dataRecord['subdomain'] = '-'; if($client['limit_ssl'] != 'y') $this->dataRecord['ssl'] = '-'; + + // only generate quota and traffic warnings if value has changed + if($this->id > 0) { + $old_web_values = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id)); + } else { + $old_web_values = $_POST; + } //* Check the website quota of the client - if(isset($_POST["hd_quota"]) && $client["limit_web_quota"] >= 0) { + if(isset($_POST["hd_quota"]) && $client["limit_web_quota"] >= 0 && $_POST["hd_quota"] != $old_web_values["hd_quota"]) { $tmp = $app->db->queryOneRecord("SELECT sum(hd_quota) as webquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND type = 'vhost' AND ".$app->tform->getAuthSQL('u')); $webquota = $tmp["webquota"]; $new_web_quota = $app->functions->intval($this->dataRecord["hd_quota"]); @@ -590,7 +597,7 @@ class page_action extends tform_actions { } //* Check the traffic quota of the client - if(isset($_POST["traffic_quota"]) && $client["limit_traffic_quota"] > 0) { + if(isset($_POST["traffic_quota"]) && $client["limit_traffic_quota"] > 0 && $_POST["traffic_quota"] != $old_web_values["traffic_quota"]) { $tmp = $app->db->queryOneRecord("SELECT sum(traffic_quota) as trafficquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u')); $trafficquota = $tmp["trafficquota"]; $new_traffic_quota = $app->functions->intval($this->dataRecord["traffic_quota"]); @@ -610,7 +617,7 @@ class page_action extends tform_actions { $reseller = $app->db->queryOneRecord("SELECT limit_traffic_quota, limit_web_domain, default_webserver, limit_web_quota FROM client WHERE client_id = ".$client['parent_client_id']); //* Check the website quota of the client - if(isset($_POST["hd_quota"]) && $reseller["limit_web_quota"] >= 0) { + if(isset($_POST["hd_quota"]) && $reseller["limit_web_quota"] >= 0 && $_POST["hd_quota"] != $old_web_values["hd_quota"]) { $tmp = $app->db->queryOneRecord("SELECT sum(hd_quota) as webquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND type = 'vhost' AND ".$app->tform->getAuthSQL('u')); $webquota = $tmp["webquota"]; $new_web_quota = $app->functions->intval($this->dataRecord["hd_quota"]); @@ -626,7 +633,7 @@ class page_action extends tform_actions { } //* Check the traffic quota of the client - if(isset($_POST["traffic_quota"]) && $reseller["limit_traffic_quota"] > 0) { + if(isset($_POST["traffic_quota"]) && $reseller["limit_traffic_quota"] > 0 && $_POST["traffic_quota"] != $old_web_values["traffic_quota"]) { $tmp = $app->db->queryOneRecord("SELECT sum(traffic_quota) as trafficquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u')); $trafficquota = $tmp["trafficquota"]; $new_traffic_quota = $app->functions->intval($this->dataRecord["traffic_quota"]); diff --git a/interface/web/sites/web_vhost_subdomain_edit.php b/interface/web/sites/web_vhost_subdomain_edit.php index a2c9da0b739e1419cf85655b2b0883c5c46de1dc..27a4d398713b0a1859680356b2100088cbb41a8d 100644 --- a/interface/web/sites/web_vhost_subdomain_edit.php +++ b/interface/web/sites/web_vhost_subdomain_edit.php @@ -440,9 +440,16 @@ class page_action extends tform_actions { if($client['limit_hterror'] != 'y') $this->dataRecord['errordocs'] = '-'; if($client['limit_wildcard'] != 'y' && $this->dataRecord['subdomain'] == '*') $this->dataRecord['subdomain'] = '-'; if($client['limit_ssl'] != 'y') $this->dataRecord['ssl'] = '-'; + + // only generate quota and traffic warnings if value has changed + if($this->id > 0) { + $old_web_values = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id)); + } else { + $old_web_values = $_POST; + } //* Check the traffic quota of the client - if(isset($_POST["traffic_quota"]) && $client["limit_traffic_quota"] > 0) { + if(isset($_POST["traffic_quota"]) && $client["limit_traffic_quota"] > 0 && $_POST["traffic_quota"] != $old_web_values["traffic_quota"]) { $tmp = $app->db->queryOneRecord("SELECT sum(traffic_quota) as trafficquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u')); $trafficquota = $tmp["trafficquota"]; $new_traffic_quota = $app->functions->intval($this->dataRecord["traffic_quota"]); @@ -462,7 +469,7 @@ class page_action extends tform_actions { $reseller = $app->db->queryOneRecord("SELECT limit_traffic_quota, limit_web_subdomain, default_webserver, limit_web_quota FROM client WHERE client_id = ".$client['parent_client_id']); //* Check the traffic quota of the client - if(isset($_POST["traffic_quota"]) && $reseller["limit_traffic_quota"] > 0) { + if(isset($_POST["traffic_quota"]) && $reseller["limit_traffic_quota"] > 0 && $_POST["traffic_quota"] != $old_web_values["traffic_quota"]) { $tmp = $app->db->queryOneRecord("SELECT sum(traffic_quota) as trafficquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u')); $trafficquota = $tmp["trafficquota"]; $new_traffic_quota = $app->functions->intval($this->dataRecord["traffic_quota"]); diff --git a/interface/web/vm/lib/lang/de.lng b/interface/web/vm/lib/lang/de.lng index cc6559f2204463355b516f9129f29c468cc4c2c2..474d2ac7b7c2a68a8f00f3841440390f21e3eac5 100644 --- a/interface/web/vm/lib/lang/de.lng +++ b/interface/web/vm/lib/lang/de.lng @@ -1,7 +1,7 @@ diff --git a/server/cron_daily.php b/server/cron_daily.php index 1e0f238212357517bc8433f6655820d453aa3d2e..19fe2ad5b3b143c482347cc68dd3590fba46c19f 100644 --- a/server/cron_daily.php +++ b/server/cron_daily.php @@ -2,4 +2,4 @@ # the cron daily file is no longer used and was replaced by cron.php -?> \ No newline at end of file +?> diff --git a/server/lib/classes/aps_installer.inc.php b/server/lib/classes/aps_installer.inc.php index a0d79baeb9c207f20c17eaf0b6f15e2305f3312a..baf6e47f94a381baa016a2ec58e87dc6dc32a410 100644 --- a/server/lib/classes/aps_installer.inc.php +++ b/server/lib/classes/aps_installer.inc.php @@ -445,11 +445,11 @@ class ApsInstaller extends ApsBase $this->file_owner_user = $owner_res['system_user']; $this->file_owner_group = $owner_res['system_group']; exec('chown -R '.$this->file_owner_user.':'.$this->file_owner_group.' '.escapeshellarg($this->local_installpath)); - - //* Chown stats directory back - if(is_dir($this->local_installpath.'stats')) { - exec('chown -R root:root '.escapeshellarg($this->local_installpath.'stats')); - } + + //* Chown stats directory back + if(is_dir($this->local_installpath.'stats')) { + exec('chown -R root:root '.escapeshellarg($this->local_installpath.'stats')); + } } } catch(Exception $e) diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php index 57b1e1fae0f0ecbe419e6d2b4b0368563b673c99..a1e7c000d28ccfe249a982f4bd91e788b6f4131f 100644 --- a/server/lib/classes/system.inc.php +++ b/server/lib/classes/system.inc.php @@ -1597,6 +1597,23 @@ class system{ exec($cmd, $output, $return_var); return $return_var == 0 ? true : false; } + + function getinitcommand($servicename, $action, $init_script_directory = ''){ + global $conf; + // systemd + if(is_executable('/bin/systemd')){ + return 'systemctl '.$action.' '.$servicename.'.service'; + } + // upstart + if(is_executable('/sbin/initctl')){ + exec('/sbin/initctl version 2>/dev/null | /bin/grep -q upstart', $retval['output'], $retval['retval']); + if(intval($retval['retval']) == 0) return 'service '.$servicename.' '.$action; + } + // sysvinit + if($init_script_directory == '') $init_script_directory = $conf['init_scripts']; + if(substr($init_script_directory, -1) === '/') $init_script_directory = substr($init_script_directory, 0, -1); + return $init_script_directory.'/'.$servicename.' '.$action; + } } ?> diff --git a/server/mods-available/dns_module.inc.php b/server/mods-available/dns_module.inc.php index 2a06361e6b1d1b3d639870f8392debf598d6ec20..9bab96e15e5b518c2b6646cce3c4392cfcb054be 100644 --- a/server/mods-available/dns_module.inc.php +++ b/server/mods-available/dns_module.inc.php @@ -121,6 +121,8 @@ class dns_module { function restartBind($action = 'restart') { global $app,$conf; + $app->uses('system'); + $daemon = ''; if(is_file($conf['init_scripts'] . '/' . 'bind9')) { $daemon = 'bind9'; @@ -130,9 +132,9 @@ class dns_module { $retval = array('output' => '', 'retval' => 0); if($action == 'restart') { - exec($conf['init_scripts'] . '/' . $daemon . ' restart 2>&1', $retval['output'], $retval['retval']); + exec($app->system->getinitcommand($daemon, 'restart').' 2>&1', $retval['output'], $retval['retval']); } else { - exec($conf['init_scripts'] . '/' . $daemon . ' reload 2>&1', $retval['output'], $retval['retval']); + exec($app->system->getinitcommand($daemon, 'reload').' 2>&1', $retval['output'], $retval['retval']); } return $retval; } @@ -140,6 +142,7 @@ class dns_module { function restartPowerDNS($action = 'restart') { global $app,$conf; + $app->uses('system'); $app->log("restartPDNS called.",LOGLEVEL_DEBUG); /** Since PowerDNS does not currently allow to limit AXFR for specific zones to specific @@ -179,7 +182,7 @@ class dns_module { } $retval = array('output' => '', 'retval' => 0); - exec($conf['init_scripts'] . '/' . $daemon . ' restart 2>&1', $retval['output'], $retval['retval']); + exec($app->system->getinitcommand($daemon, 'restart').' 2>&1', $retval['output'], $retval['retval']); // unset $tmps; return $retval; diff --git a/server/mods-available/rescue_core_module.inc.php b/server/mods-available/rescue_core_module.inc.php index 050d32fd3bf2373f30852a01ca73277c040bceed..f1b25bda4bdb71be79d14c3b6821ef0ba8fbd40e 100644 --- a/server/mods-available/rescue_core_module.inc.php +++ b/server/mods-available/rescue_core_module.inc.php @@ -433,7 +433,8 @@ class rescue_core_module { */ private function _rescueDaemon($daemon){ global $conf; - + + $app->uses('system'); // if you need to find all restarts search for "['init_scripts']" /* * First we stop the running service "normally" @@ -445,8 +446,8 @@ class rescue_core_module { * So we have to try to stop but if this will not work, we have to kill the stopping * of the service */ - exec($conf['init_scripts'] . '/' . $daemon . ' stop && (sleep 3; kill $!; sleep 2; kill -9 $!) &> /dev/null'); - + exec($app->system->getinitcommand($daemon, 'stop').' && (sleep 3; kill $!; sleep 2; kill -9 $!) &> /dev/null'); + /* * OK, we tryed to stop it normally, maybe this worked maybe not. So we have to look * if the service is already running or not. If so, we have to kill them hard @@ -456,7 +457,7 @@ class rescue_core_module { /* * There are no more zombies left. Lets start the service.. */ - exec($conf['init_scripts'] . '/' . $daemon . ' start'); + exec($app->system->getinitcommand($daemon, 'start')); } } ?> diff --git a/server/mods-available/web_module.inc.php b/server/mods-available/web_module.inc.php index 868cf9e20c1249894196f792ed302b858b434e87..5d7fe66a09c31714d5b8d4f759f07192575ab1e9 100644 --- a/server/mods-available/web_module.inc.php +++ b/server/mods-available/web_module.inc.php @@ -194,7 +194,7 @@ class web_module { global $app,$conf; // load the server configuration options - $app->uses('getconf'); + $app->uses('getconf,system'); $web_config = $app->getconf->get_server_config($conf['server_id'], 'web'); $daemon = ''; @@ -212,9 +212,10 @@ class web_module { $retval = array('output' => '', 'retval' => 0); if($action == 'restart') { - exec($conf['init_scripts'] . '/' . $daemon . ' restart 2>&1', $retval['output'], $retval['retval']); + exec($app->system->getinitcommand($daemon, 'restart').' 2>&1', $retval['output'], $retval['retval']); + } else { - exec($conf['init_scripts'] . '/' . $daemon . ' reload 2>&1', $retval['output'], $retval['retval']); + exec($app->system->getinitcommand($daemon, 'reload').' 2>&1', $retval['output'], $retval['retval']); } return $retval; } @@ -223,15 +224,21 @@ class web_module { global $app,$conf; // load the server configuration options - $app->uses('getconf'); + $app->uses('getconf,system'); $web_config = $app->getconf->get_server_config($conf['server_id'], 'web'); list($action, $init_script) = explode(':', $action); - if(!$init_script) $init_script = $conf['init_scripts'].'/'.$web_config['php_fpm_init_script']; + if(!$init_script){ + //$init_script = $conf['init_scripts'].'/'.$web_config['php_fpm_init_script']; + $initcommand = $app->system->getinitcommand($web_config['php_fpm_init_script'], $action); + } else { + $path_parts = pathinfo($init_script); + $initcommand = $app->system->getinitcommand($path_parts['basename'], $action, $path_parts['dirname']); + } $retval = array('output' => '', 'retval' => 0); - exec($init_script.' '.$action.' 2>&1', $retval['output'], $retval['retval']); + exec($initcommand.' 2>&1', $retval['output'], $retval['retval']); return $retval; } diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index 62beafb4276cb806bf581bf379e69c4223905b06..3cd366363f69beef7beb06ed215b5365c365bf3f 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -2490,6 +2490,7 @@ class nginx_plugin { private function nginx_replace($matches){ $location = 'location'.($matches[1] != '' ? ' '.$matches[1] : '').' '.$matches[2].' '.$matches[3]; if($matches[4] == '##merge##' || $matches[7] == '##merge##') $location .= ' ##merge##'; + if($matches[4] == '##delete##' || $matches[7] == '##delete##') $location .= ' ##delete##'; $location .= "\n"; $location .= $matches[5]."\n"; $location .= $matches[6]; @@ -2528,7 +2529,7 @@ class nginx_plugin { } } */ - $pattern = '/^[^\S\n]*location[^\S\n]+(?:(.+)[^\S\n]+)?(.+)[^\S\n]*(\{)[^\S\n]*(##merge##)?[^\S\n]*(.+)[^\S\n]*(\})[^\S\n]*(##merge##)?[^\S\n]*$/'; + $pattern = '/^[^\S\n]*location[^\S\n]+(?:(.+)[^\S\n]+)?(.+)[^\S\n]*(\{)[^\S\n]*(##merge##|##delete##)?[^\S\n]*(.+)[^\S\n]*(\})[^\S\n]*(##merge##|##delete##)?[^\S\n]*$/'; $lines[$h] = preg_replace_callback($pattern, array($this, 'nginx_replace') ,$lines[$h]); } } @@ -2540,6 +2541,7 @@ class nginx_plugin { if(is_array($lines) && !empty($lines)){ $locations = array(); + $locations_to_delete = array(); $islocation = false; $linecount = sizeof($lines); $server_count = 0; @@ -2566,12 +2568,12 @@ class nginx_plugin { unset($loc_parts); if(!isset($locations[$location]['action'])) $locations[$location]['action'] = 'replace'; - if(substr($l, -9) == '##merge##'){ - $locations[$location]['action'] = 'merge'; - } + if(substr($l, -9) == '##merge##') $locations[$location]['action'] = 'merge'; + if(substr($l, -10) == '##delete##') $locations[$location]['action'] = 'delete'; if(!isset($locations[$location]['open_tag'])) $locations[$location]['open_tag'] = ' location '.$location.' {'; if(!isset($locations[$location]['location']) || $locations[$location]['action'] == 'replace') $locations[$location]['location'] = ''; + if($locations[$location]['action'] == 'delete') $locations_to_delete[] = $location; if(!isset($locations[$location]['end_tag'])) $locations[$location]['end_tag'] = ' }'; if(!isset($locations[$location]['start_line'])) $locations[$location]['start_line'] = $i; @@ -2598,6 +2600,12 @@ class nginx_plugin { } if(is_array($locations) && !empty($locations)){ + if(is_array($locations_to_delete) && !empty($locations_to_delete)){ + foreach($locations_to_delete as $location_to_delete){ + if(isset($locations[$location_to_delete])) unset($locations[$location_to_delete]); + } + } + foreach($locations as $key => $val){ $new_location = $val['open_tag']."\n".$val['location'].$val['end_tag']; $lines[$val['start_line']] = $new_location;